Skip to content

Reserve and Collect

customer action fulfilment


Outcome

Customers can reserve items online and collect them in store without full payment at reservation time.

Service Flow

flowchart LR
    S0["Search Customer"]
    S1["Reserve Inventory"]
    S0 --> S1
    S2["Generate Picking"]
    S1 --> S2
    S3["Confirm Picking"]
    S2 --> S3
    S4["Collect Order"]
    S3 --> S4

Capabilities

Inventory Reservation Inventory Visibility Fulfillment Execution Store Operations

Domains

customer commerce inventory fulfillment store

Business Objects

Object Classification Domain
customer aggregate-root customer
reservation aggregate-root inventory
inventory aggregate-root inventory
picking-task aggregate-root fulfillment
shipment aggregate-root fulfillment
store aggregate-root store

Business Services

  • search-customer
  • reserve-inventory
  • generate-picking
  • confirm-picking
  • collect-order

Applications

Application Classification
eCommerce Platform ecommerce-platform system-of-engagement
Inventory Service inventory-service system-of-intelligence
SIM sim system-of-record
POS pos system-of-engagement
Event Classification Object Terminal
AtpCalculated calculated inventory
InventoryReserved created reservation
ReservationConfirmed transitioned reservation
InventoryReleased transitioned reservation
ReservationExpired transitioned reservation
PickingStarted transitioned picking-task
PickingCompleted transitioned picking-task
ShipmentPacked transitioned shipment
ShipmentDispatched transitioned shipment
ShipmentDelivered transitioned shipment
StoreDayOpened created store-day
StoreDayClosed transitioned store-day
StoreTaskAssigned created store-task
StoreTaskCompleted transitioned store-task
AddressValidated transitioned address
FulfillmentOrderDispatched transitioned fulfillment-order
ReservationCreated created reservation
ReservationReleased transitioned reservation
DeliverySlotReserved transitioned delivery-slot
DeliverySlotConfirmed transitioned delivery-slot
DeliverySlotReleased transitioned delivery-slot
DeliverySlotExpired transitioned delivery-slot
InventoryChecked updated inventory
ShipmentCreated created shipment
EmployeeActivated transitioned employee
EmployeeDeactivated transitioned employee
EmployeeOffboarded transitioned employee
EmployeeArchived transitioned employee
ReceiptIssued created receipt
ReceiptAmended updated receipt
ReceiptVoided transitioned receipt
ReceiptArchived transitioned receipt
StoreDayPreOpeningStarted transitioned store-day
StoreDayOpened transitioned store-day
StoreDayClosingStarted transitioned store-day
StoreDayReconciliationStarted transitioned store-day
StoreDayClosed transitioned store-day
StoreDayReopened updated store-day
StoreDayExceptionDeclared transitioned store-day
PickingTaskCreated created picking-task
PickingTaskCompleted transitioned picking-task
ShipmentLabelGenerated updated shipment
Endpoint Method Service Description
/inventory/items/{sku} GET retrieve-location-stock Returns available, reserved, and allocated quantities f…
/inventory/reservations POST reserve-inventory Creates a timed Reservation for one or more SKUs at a s…
/inventory/reservations/{id}/confirm POST confirm-reservation Confirms a Reservation, converting it to a firm commitm…
/inventory/reservations/{id} DELETE release-reservation Releases an existing Reservation, returning the quantit…
/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…
/inventory/{sku}/availability GET check-availability Returns real-time ATP (Available-to-Promise) quantity f…
/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
reserve-and-collect-requires-reservation pre-condition invariant reservation.lifecycle = confirmed AND reservation.expir…

← Back to Process Catalog