Serialized Form

  • Package com.broadleafcommerce.inventory.domain

    • Class com.broadleafcommerce.inventory.domain.Address

      class Address extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • addressLine1
          String addressLine1
          Address 1
        • addressLine2
          String addressLine2
          Address 2
        • addressLine3
          String addressLine3
          Address 3
        • city
          String city
          City
        • country
          String country
          Typically 2 or 3 character country code (e.g. US, CA, GB; or USA, CAN, GBR)
        • latitude
          Double latitude
          Latitude portion of GPS coordinates.
        • longitude
          Double longitude
          Longitude portion of GPS coordinates.
        • postalCode
          String postalCode
          Postal code (or Zip code in the US, usually excluding a 4 digit Zip code extension).
        • stateProvinceRegion
          String stateProvinceRegion
          State / Province / Region (e.g. in the US: TX, CA, NY; in Canada: AB, BC, ON)
    • Class com.broadleafcommerce.inventory.domain.ConsolidatedInventoryAvailability

      class ConsolidatedInventoryAvailability extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • applicationId
          String applicationId
          The application ID to which this inventory availability belongs. This may be null if the inventory belongs to the tenant, and not an application.
        • available
          boolean available
          Indicates if this inventory is available or not. Availability will be based on what is requested (e.g. for shipment, for pickup, in store, or a combination of 2 or more).
        • skuCode
          String skuCode
          The SKU code.
        • tenantId
          String tenantId
          The tenant ID to which this inventory availability belongs.
    • Class com.broadleafcommerce.inventory.domain.InventoryLocation

      class InventoryLocation extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • address
          Address address
          Physical address of this location.
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
        • id
          String id
          The InventoryLocation contextId.
        • locationNumber
          String locationNumber
          Arbitrary location number, which could be an external ID, store number, etc.
        • name
          String name
          Arbitrary name of the location.
        • pickupLocation
          boolean pickupLocation
          Indicates if this location is available for pickup. Default is false.
        • shippingLocation
          boolean shippingLocation
          Indicates if this location is available for shipping. Default is true.
        • storeLocation
          boolean storeLocation
          Indicates if this inventory location is also a store, meaning that it is a location that customers can come to shop. Default is false.
        • vendorRef
          String vendorRef
          Soft reference to the vendor associated with this inventory location. This value can be null, in which case, no vendor is associated.
    • Class com.broadleafcommerce.inventory.domain.ReleaseSkuInventoryReservationRequest

      class ReleaseSkuInventoryReservationRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • additionalAttributes
          Map<String,Object> additionalAttributes
          Additional attributes that can be declared for this request.
        • reservationReferenceNumbers
          Set<String> reservationReferenceNumbers
          The reservation numbers to identify the reservations by.

          This should be the same value as SkuInventoryAdjustmentRequestItem.getReferenceNumber() from the original requests to create the reservations.

    • Class com.broadleafcommerce.inventory.domain.ReleaseSkuInventoryReservationResponse

      class ReleaseSkuInventoryReservationResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • additionalAttributes
          Map<String,Object> additionalAttributes
          Additional attributes that can be declared for this request.
    • Class com.broadleafcommerce.inventory.domain.SkuInventory

      class SkuInventory extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • archivalReason
          String archivalReason
          Stores the reason why a particular sku_inventory was deleted/archived. Used to identify the records that have been deleted/archived as a result of their inventory_location being archived. For such records, the archivalReason would be DefaultSkuInventoryArchivalReasons.LOCATION_ARCHIVED. In other cases, it would be null by default.
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
        • hasChildren
          boolean hasChildren
          Informs the system that this sku inventory is a parent.

          Consider stadium suites at a football game, there may be 10 gold suites, represented with SKU FOOTBALL-GM1-GOLD-SUITE. A parent sku inventory is used to represent the inventory for all the gold suites, without specifying any suite number. This is useful when selling suites without assigning a specific suite number to a given order, defers the suite assignment till closer to the event date.

        • id
          String id
          This is the contextId of the Sku Inventory record.
        • inventoryLocationContextId
          String inventoryLocationContextId
          The ID of the InventoryLocation associated with this SkuInventory record.
        • parentSkuInventoryId
          String parentSkuInventoryId
          The parent sku inventory id.

          Serialized records must have a parent representing a non-serialized SkuInventory.

          See Also:
          • SkuInventory.serialized
        • quantityAvailable
          Integer quantityAvailable
          Summary field to indicate how many are available at this location. This is a calculated field (quantityOnHand - quantityReserved - safetyStock) set upon creation and update, this should not be manually set.
          See Also:
        • quantityOnHand
          Integer quantityOnHand
          Number of physical items that are expected to be available if an inventory count was done.
          See Also:
        • quantityOnOrder
          Integer quantityOnOrder
          Number of items that have been ordered and are expected to arrive in the warehouse.
        • quantityReserved
          Integer quantityReserved
          Number of items that have been reserved but that have not been fulfilled.
          See Also:
        • safetyStock
          Integer safetyStock
          A value that indicates a desired amount of the item that is not for sale.
          See Also:
        • serializationValue
          String serializationValue
          The value of the serialized sku inventory.

          For example, this can be "100" when representing inventory for suite 100 in a stadium.

          This value is required for records where SkuInventory.isSerialized() is true.

          See Also:
          • SkuInventory.serialized
        • serialized
          boolean serialized
          Informs the system that this is a serialized (aka detail) record.

          Consider stadium suites at a football game, there may be 10 gold suites, represented with SKU FOOTBALL-GM1-GOLD-SUITE. Serialized sku inventories are used to represent each individual suite (suite 1-10), in which case the SkuInventory.getSerializationValue() would be 1, 2, and so on.

        • skuRef
          SkuRef skuRef
          A soft reference to the SKU for which this inventory is managed.
        • vendorRef
          String vendorRef
          Soft reference to the vendor associated with this sku inventory. This value can be null, in which case, no vendor is associated.
    • Class com.broadleafcommerce.inventory.domain.SkuInventoryAdjustmentRequest

      class SkuInventoryAdjustmentRequest extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.inventory.domain.SkuInventoryAvailabilityRequest

      class SkuInventoryAvailabilityRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • additionalAttributes
          Map<String,Object> additionalAttributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • quantityRequested
          Integer quantityRequested
          Quantity that is being requested (i.e. the number to check). These must always be positive numbers.
        • referenceNumber
          String referenceNumber
          The reference number used to identify any existing soft inventory reservations.

          Existing soft reservations are excluded if this field is passed in. For example, if a SKU has total of 2 available and 1 is reserved for userA, and userA checks inventory availability for a quantity of 2 for the same SKU. The existing soft reservation is excluded from the check in this case, effectively making this request to check for an additional quantity of 1 to be available. However, if userB sends the same request to check availability for a quantity of 2 for the same SKU, it would return unavailable since only 1 is available as the other one is reserved for userA.

        • skuCode
          String skuCode
          The value of the SKU reference. This will be one of SKU contextId, SKU external ID, arbitrary SKU code, UPC, EAN, or GTIN.
          See Also:
    • Class com.broadleafcommerce.inventory.domain.SkuInventoryAvailabilitySummary

      class SkuInventoryAvailabilitySummary extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • available
          boolean available
        • inventoryLocationId
          String inventoryLocationId
        • skuRef
          SkuRef skuRef
        • vendorRef
          String vendorRef
          Soft reference to the vendor associated with this sku inventory. This value can be null, in which case, no vendor is associated.
    • Class com.broadleafcommerce.inventory.domain.SkuInventoryReservationRequest

      class SkuInventoryReservationRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • reservationRequestGroups
          List<SkuInventoryReservationRequestGroup> reservationRequestGroups
          Logically separate groups into pickup or ship groups, along with items to be adjusted. Each SkuInventoryReservationRequestGroup is loosely correlated with a Fulfillment Group in the Cart domain.
        • reservationRequestType
          String reservationRequestType
          Indicates if the Inventory Reservation Request is a HARD or SOFT request. Soft requests are temporary and may be reversed if a HARD reservation is not eventually created. SOFT requests typically happen prior to payment or finalizing checkout. HARD requests are typically done after payment or finalizing checkout.
        • skuReferenceFieldType
          String skuReferenceFieldType
          Indicates how we should be looking up SkuInventory (by which field) with respect to skuReferenceValue. Default allowed values are:

          SKU_CODE (default)

          SKU_EXTERNAL_ID

          UPC

          EAN

          GTIN

    • Class com.broadleafcommerce.inventory.domain.SkuRef

      class SkuRef extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • ean
          String ean
          Meant to hold EAN, or European Article Number (a.k.a. International Article Number). EAN is a subset of GTIN-8 and GTIN-13. EAN-13 is essentially the same as UPC-A, except that it contains an additional digit representing the country code.
        • externalId
          String externalId
          External (1st or 3rd party) system reference to a unique SKU. For example, ERP or 3rd party inventory system primary key for a SKU reference.
        • gtin
          String gtin
          GTIN (Global Trade Item Number) This holds all GTIN formats. GTIN-14 is 14 digits. This is a superset that generally includes:

          GTIN-12 (UPC-A)

          GTIN-8 (EAN/UCC-8)

          GTIN-13 (EAN/UCC-13)

          GTIN-14 (EAN/UCC-14 or ITF-14)

        • skuCode
          String skuCode
          This is the default way that Broadleaf uses for accessing SkuInventory, especially when doing inventory reservations (soft and hard). In most cases, this field should, at least, be populated.
        • skuName
          String skuName
          Optional field to store a human readable name for the SKU. Especially useful when administering inventory via the Broadleaf Admin, or when looking at inventory data in the database.
        • upc
          String upc
          Meant to hold UPC, or Universal Product Code. UPC is a subset of GTIN-12, GTIN-13, and GTIN-14. UPC-A is most common and contains 12 digits. UPC-A and EAN-13 are essentially the same, except for a country code. Less common UPC formats include UPC-B, UPC-C, UPC-D, UPC-E, UPC-2, and UPC-5. We hold it here to allow us to store a particular UPC in addition to a different EAN and a GTIN-14, for example, assuming that a single SKU can have multiple such references.
  • Package com.broadleafcommerce.inventory.exception

  • Package com.broadleafcommerce.inventory.provider.jpa.domain

    • Class com.broadleafcommerce.inventory.provider.jpa.domain.JpaInventoryLocation

      class JpaInventoryLocation extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • addressLine1
          String addressLine1
          Address 1
        • addressLine2
          String addressLine2
          Address 2
        • addressLine3
          String addressLine3
          Address 3
        • city
          String city
          City
        • contextId
          String contextId
          The jpa primary key.
        • country
          String country
          Country code
        • latitude
          Double latitude
          Latitude, in terms of Earth's coordinates.
        • locationNumber
          String locationNumber
          Arbitrary inventory location number. Could be store number, warehouse number, or some soft foreign key reference to another system.
        • longitude
          Double longitude
          Longitude, in terms of Earth's coordinates.
        • name
          String name
          Arbitrary name of the location. Could be a store name, or warehouse name, or other name.
        • pickupLocation
          boolean pickupLocation
          Indicates if this location is a pickup location. Typically (but not always), warehouses are not pickup locations. Rather, typically, warehouses are shipping locations and stores are pickup locations. Some locations are both (i.e. warehouses can allow customer pickup and stores can allow shipping).
        • postalCode
          String postalCode
          The postal code, or Zip code (US). These are not necessarily unique from country to country, so care should be taken to include country when querying for postal code.
        • shippingLocation
          boolean shippingLocation
          Indicates if this location is a shipping location. Typically (but not always), retail stores are not shipping locations. Rather, typically, warehouses are shipping locations. Some locations are both (i.e. warehouses can allow customer pickup and stores can allow shipping).
        • stateProvinceRegion
          String stateProvinceRegion
          Typically two or three character State, Province, or Region code (e.g. TX, NY, CA in the US; AB, ON, BC in CA)
        • storeLocation
          boolean storeLocation
          Indicates if this location is a "Store" location, or a place where customers can go to shop. Store locations are InventoryLocations since they likely contain inventory. They may or may not also be shipping locations and/or pickup locations.
        • timestamp
          Instant timestamp
          Temporal state describing the time at which this item was last updated. Relates to the Temporal interface and is primarily used during consumption of messages regarding changes in state to this domain. For example, a service consuming a change notification for this domain can compare the current persisted timestamp to this timestamp to determine if it already has a newer version, in which case, it can ignore. This is primarily a measure to ensure that ordering is not required for messages related to state change.
        • tracking
          com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking
          See Also:
          • ApplicationJpaTracking
        • vendorRef
          String vendorRef
          See Also:
    • Class com.broadleafcommerce.inventory.provider.jpa.domain.JpaInventoryTransaction

      class JpaInventoryTransaction extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • batchId
          String batchId
          When creating multiple of these records, it's sometimes necessary to do this outside of transactional boundaries. This property is a property that should be the same for all records being created as part of the same logical transaction.
        • contextId
          String contextId
          The JPA primary key.
        • dateCreated
          Instant dateCreated
          The date that the transaction was created.
        • dateProcessed
          Instant dateProcessed
          Optional timestamp to indicate when this transaction was processed, or when
        • quantity
          Integer quantity
          The quanity associated with this transaction.
        • referenceNumber
          String referenceNumber
          Typically a sales order number or a PO number, depending on the transaction type. Reference number can be anything, but should be consistent (e.g. {orderNumber}-{lineItemNumber}, {orderId}, etc.).
        • skuInventoryId
          String skuInventoryId
          Soft foreign key reference to the JpaSkuInventory.getContextId().
        • tracking
          com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking
          See Also:
          • ApplicationJpaTracking
        • transactionType
          String transactionType
          This indicates what type of transaction this is. Depending on the type of transaction, fields like quantity, expectedDateProcessed, dateProcessed, referenceNumber, and completed will have slightly different meanings. For example, for a type like DefaultInventoryTransactionType.SOFT_RESERVED, the referenceNumber will be a sales order ID or number. However, for a DefaultInventoryTransactionType.ORDERED, the referenceNumber will likely be a purchase order number or ID. For DefaultInventoryTransactionType.SHRINKAGE, the referenceNumber could be null or could reference a different number or system. All DefaultInventoryTransactionType values are associated with an AccountingTransactionType, which is either a DEBIT or a CREDIT. Various transactions can be looked at in sequence of the dateCreated or
          See Also:
    • Class com.broadleafcommerce.inventory.provider.jpa.domain.JpaSkuInventory

      class JpaSkuInventory extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • archivalReason
          String archivalReason
          See Also:
        • contextId
          String contextId
          The jpa primary key.
        • ean
          String ean
          Meant to hold EAN, or European Article Number (a.k.a. International Article Number). EAN is a subset of GTIN-8 and GTIN-13. EAN-13 is essentially the same as UPC-A, except that it contains an additional digit representing the country code.
        • externalId
          String externalId
          External (1st or 3rd party) system reference to a unique SKU. For example, ERP or 3rd party inventory system primary key for a SKU reference. This is essentially a soft foreign key to a non-Broadleaf system..
        • gtin
          String gtin
          GTIN (Global Trade Item Number) This holds all GTIN formats. GTIN-14 is 14 digits. This is a GS1 superset that generally includes:

          GTIN-12 (UPC-A)

          GTIN-8 (EAN/UCC-8)

          GTIN-13 (EAN/UCC-13)

          GTIN-14 (EAN/UCC-14 or ITF-14)

        • hasChildren
          boolean hasChildren
        • inventoryLocationContextId
          String inventoryLocationContextId
          This is a soft foreign key reference to JpaInventoryLocation.
        • parentSkuInventoryId
          String parentSkuInventoryId
        • quantityAvailable
          Integer quantityAvailable
          This is really a calculated field. It should be (quantityOnHand - quantityReserved - safetyStock). We store it to conveniently query for available items.
        • quantityOnHand
          Integer quantityOnHand
          Physical count of items available.
        • quantityOnOrder
          Integer quantityOnOrder
          Optional number of items that are expected to arrive in the warehouse in the near term. This does not affect availability, but allows for backorder capabilities.
        • quantityReserved
          Integer quantityReserved
          Quantity of items that are reserved (i.e. been sold but not fulfilled).
        • safetyStock
          Integer safetyStock
          An optional field that indicates how many should be reserved in the count or calculation of availability.
        • serializationValue
          String serializationValue
        • serialized
          boolean serialized
        • skuCode
          String skuCode
          Arbitrary code or identifier for a unique SKU. This is mot necessarily a primary key nor a reference to an external system's primary key. Rather, this is an arbitrary SKU code, or additional reference. For example this could be a customer-facing SKU reference code.
        • skuName
          String skuName
          Optional convenience field to store a human readable name for the SKU. Especially useful when administering inventory via the Broadleaf Admin, or when looking at inventory data in the database.
        • tracking
          com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking
          See Also:
          • ApplicationJpaTracking
        • upc
          String upc
          Meant to hold UPC, or Universal Product Code. UPC is a subset of GTIN-12, GTIN-13, and GTIN-14. UPC-A is most common and contains 12 digits. UPC-A and EAN-13 are essentially the same, except for a country code. Less common UPC formats include UPC-B, UPC-C, UPC-D, UPC-E, UPC-2, and UPC-5. We hold it here to allow us to store a particular UPC in addition to a different EAN and a GTIN-14, for example.
        • vendorRef
          String vendorRef
          See Also:
  • Package com.broadleafcommerce.inventory.service

  • Package com.broadleafcommerce.inventory.service.datafeed

  • Package com.broadleafcommerce.inventory.web.endpoint