Skip to content

Ship To Store

domain event fulfilment


Outcome

Warehouse or supplier stock can be transferred to a store and made available for customer collection.

Service Flow

flowchart LR
    S0["Route Order"]
    S1["Allocate Inventory"]
    S0 --> S1
    S2["Transfer Inventory"]
    S1 --> S2
    S3["Generate Picking"]
    S2 --> S3
    S4["Collect Order"]
    S3 --> S4

Capabilities

Order Orchestration Inventory Allocation Store Inventory Fulfillment Execution

Domains

order inventory fulfillment store

Business Objects

Object Classification Domain
order aggregate-root order
inventory aggregate-root inventory
shipment aggregate-root fulfillment
store aggregate-root store

Business Services

  • route-order
  • allocate-inventory
  • transfer-inventory
  • generate-picking
  • collect-order

Applications

Application Classification
OMS oms system-of-record
Inventory Service inventory-service system-of-intelligence
WMS wms system-of-record
SIM sim system-of-record
POS pos system-of-engagement

Trigger Event

This process is triggered by the order-routed domain event.

Event Classification Object Terminal
OrderSplit transitioned order
OrderRouted transitioned order
FulfillmentLocationReassigned transitioned order
InventoryAllocated created allocation
InventoryReallocated transitioned allocation
InventoryAllocationReleased transitioned allocation
InventoryAdjusted updated inventory
InventoryCounted transitioned inventory
InventoryTransferred created stock-movement
PickingStarted transitioned picking-task
PickingCompleted transitioned picking-task
ShipmentPacked transitioned shipment
ShipmentDispatched transitioned shipment
ShipmentDelivered transitioned shipment
AddressValidated transitioned address
FulfillmentOrderCreated created fulfillment-order
FulfillmentOrderDispatched transitioned fulfillment-order
DeliverySlotReserved transitioned delivery-slot
DeliverySlotConfirmed transitioned delivery-slot
DeliverySlotReleased transitioned delivery-slot
DeliverySlotExpired transitioned delivery-slot
ShipmentCreated created shipment
AllocationActivated transitioned allocation
AllocationUpdated updated allocation
AllocationFulfilled transitioned allocation
AllocationReallocated transitioned allocation
AllocationCancelled transitioned allocation
StockCountOpened created inventory
StockCountStarted transitioned inventory
StockCountCompleted transitioned inventory
StockCountReconciled transitioned inventory
StockCountClosed transitioned inventory
StockCountRecountRequested updated inventory
StockCountCancelled transitioned inventory
PickingTaskCreated created picking-task
PickingTaskCompleted transitioned picking-task
ShipmentLabelGenerated updated shipment
Endpoint Method Service Description
/orders/{id}/route POST route-order Executes routing logic to assign the optimal fulfillmen…
/fulfillment/orders/{id} GET track-order Retrieves the current state of a Fulfillment Order incl…
/fulfillment/orders/{id}/dispatch POST ship-order Dispatches a Fulfillment Order after all picking tasks …
/picking-orders POST generate-picking Creates a warehouse picking order from a Fulfillment Or…
/picking-orders/{id}/status PUT confirm-picking Updates the status of a picking order as a warehouse as…
/stock/{sku}/locations GET retrieve-location-stock Returns all warehouse locations holding a given SKU, in…
/inventory/allocate POST allocate-inventory Soft-allocates inventory for an order line, reducing AT…
/shipments/{id}/tracking GET track-order Returns the current carrier tracking status and estimat…
/shipments/{id}/label POST ship-order Generates a carrier shipping label for a dispatched ful…

Validation Rules

Rule Type Severity Condition
ship-to-store-requires-routed-order pre-condition invariant order.lifecycle = confirmed AND fulfillment-order.lifec…

← Back to Process Catalog