Skip to content

Inventory Domain

Manage visibility reservation and allocation of stock.


At a Glance

Count
Business Objects 5
Capabilities 5
Processes 12
Events 28
APIs 7
Validation Rules 9

Object Relationships

erDiagram
    ALLOCATION ||--o{ INVENTORY : "allocates"
    INVENTORY_ITEM }o--|| INVENTORY : "belongs-to"
    INVENTORY ||--o{ INVENTORY_ITEM : "contains"
    RESERVATION ||--o{ INVENTORY : "reserves"
    STOCK_MOVEMENT }o--|| INVENTORY : "belongs-to"

Business Objects

Object Classification Description
Allocation allocation aggregate-root Assignment of inventory to demand for fulfillment execution.
Inventory inventory aggregate-root Availability and stock state used to support selling, reservation, allocation, transfer, a…
Inventory Item inventory-item entity Item-level inventory reference used by basket, order, shipment, reservation, and allocatio…
Reservation reservation aggregate-root Temporary hold on inventory for a customer, basket, order, or fulfillment flow.
Stock Movement stock-movement entity An immutable record of a physical inventory quantity change at a location.

Capabilities

Capability Archetype Outcome
Inventory Visibility inventory-visibility intelligence Available-to-promise stock can be calculated and queried by location, SKU and ch…
Automated Item Identification automated-item-identification intelligence Items and identification anomalies can be resolved in real time at store touchpo…
Inventory Reservation inventory-reservation management Inventory can be soft-reserved, confirmed and released across the order and fulf…
Inventory Allocation inventory-allocation management Inventory can be hard-allocated, reallocated and released to fulfil specific ord…
Store Inventory store-inventory management Physical store stock levels can be adjusted, counted and transferred between loc…

Events

Created (6):
InventoryReserved InventoryAllocated InventoryTransferred ReservationCreated StockCountOpened ItemIdentificationAnomalyDetected

Transitioned (16):
ReservationConfirmed InventoryReleased ReservationExpired InventoryReallocated InventoryAllocationReleased InventoryCounted ReservationReleased AllocationActivated AllocationFulfilled AllocationReallocated AllocationCancelled StockCountStarted StockCountCompleted StockCountReconciled StockCountClosed StockCountCancelled

Updated (5):
InventoryAdjusted InventoryChecked AllocationUpdated StockCountRecountRequested ItemIdentified

Calculated (1):
AtpCalculated

Processes

  • BOPIS bopisA customer can place an order online and collect it from a physical store on the
  • Endless Aisle endless-aisleA store associate can sell items not physically present in-store and fulfil them
  • Ship From Store ship-from-storeStore stock can be used to pick, pack and ship online orders directly to the cus
  • Ship To Store ship-to-storeWarehouse or supplier stock can be transferred to a store and made available for
  • Reserve and Collect reserve-and-collectCustomers can reserve items online and collect them in store without full paymen
  • Exchange Anywhere exchange-anywhereCustomers can exchange items at any store regardless of the original purchase ch
  • Self-Checkout self-checkoutA customer can scan, bag, and pay for items independently at a self-service term
  • Subscription Renewal subscription-renewalA subscription is renewed automatically, a new order is generated, payment is ca
  • Catalogue Publish catalogue-publishA product catalogue update is validated, enriched with media assets, and publish
  • Store Day Open store-day-openA store trading day is opened with cash float confirmed, staff tasks assigned, a
  • Decision Review and Execution decision-review-and-executionA material automated decision is approved, overridden, expired, or executed by t
  • Loss Prevention Case Handling loss-prevention-case-handlingAn item or transaction anomaly is triaged and resolved with policy-controlled in

APIs

Endpoint Method Service Capability
/inventory/items/{sku} GET retrieve-location-stock inventory-visibility
/inventory/reservations POST reserve-inventory inventory-reservation
/inventory/reservations/{id}/confirm POST confirm-reservation inventory-reservation
/inventory/reservations/{id} DELETE release-reservation inventory-reservation
/stock/{sku}/locations GET retrieve-location-stock store-inventory
/inventory/{sku}/availability GET check-availability inventory-visibility
/inventory/allocate POST allocate-inventory inventory-allocation

Applications

  • SIM sim (system of record)
  • WMS wms (system of record)
  • Inventory Service inventory-service (system of intelligence)
  • Loss Prevention Service loss-prevention-service (system of intelligence)

Validation Rules

Rule Type Applies To Severity
bopis-requires-store-inventory pre-condition bopis invariant
bopis-requires-channel pre-condition bopis invariant
ship-from-store-requires-routed-order pre-condition ship-from-store invariant
ship-to-store-requires-routed-order pre-condition ship-to-store invariant
reserve-and-collect-requires-reservation pre-condition reserve-and-collect invariant
exchange-anywhere-requires-closed-order pre-condition exchange-anywhere invariant
endless-aisle-requires-active-channel pre-condition endless-aisle invariant
self-checkout-requires-active-terminal pre-condition self-checkout invariant
loss-prevention-intervention-requires-policy pre-condition loss-prevention-case-handling invariant

Semantic Constraints

Constraint Type Rule
order-line-references-product association Every Order Line must reference exactly one Product. An order line wit…
basket-line-references-product association Every Basket Line must reference exactly one Product.
reservation-references-inventory association A Reservation must reserve a specific Inventory Item. Reservations wit…
inventory-owned-by-sim ownership Inventory state for store locations is exclusively owned by the SIM.
inventory-in-inventory-domain domain-containment The Inventory Business Object is owned by the Inventory domain.
reservation-cannot-confirm-expired lifecycle-gate An expired reservation cannot be confirmed. A new reservation must be …

← Back to Domain Catalog