Skip to content

Exchange Anywhere

customer action post-sale


Outcome

Customers can exchange items at any store regardless of the original purchase channel.

Service Flow

flowchart LR
    S0["Track Order"]
    S1["Request Exchange"]
    S0 --> S1
    S2["Authorize Exchange"]
    S1 --> S2
    S3["Reserve Inventory"]
    S2 --> S3
    S4["Process Exchange"]
    S3 --> S4

Capabilities

Order Management Exchange Management Inventory Reservation

Domains

customer order fulfillment inventory payment store

Business Objects

Object Classification Domain
customer aggregate-root customer
order aggregate-root order
exchange aggregate-root fulfillment
reservation aggregate-root inventory
inventory aggregate-root inventory
store aggregate-root store

Business Services

  • track-order
  • request-exchange
  • authorize-exchange
  • reserve-inventory
  • process-exchange

Applications

Application Classification
POS pos system-of-engagement
OMS oms system-of-record
Inventory Service inventory-service system-of-intelligence
SIM sim system-of-record
Event Classification Object Terminal
BasketConverted transitioned basket
OrderCreated created order
OrderValidated transitioned order
OrderConfirmed transitioned order
OrderModified updated order
OrderCancelled transitioned order
OrderClosed transitioned order
InventoryReserved created reservation
ReservationConfirmed transitioned reservation
InventoryReleased transitioned reservation
ReservationExpired transitioned reservation
ReturnExchanged transitioned return
ExchangeRequested created exchange
ExchangeAuthorized transitioned exchange
ExchangeCompleted transitioned exchange
ReservationCreated created reservation
ReservationReleased transitioned reservation
ExchangeValidated transitioned exchange
ExchangeRefused transitioned exchange
ExchangeStarted transitioned exchange
ExchangeBalanceRequired updated exchange
ExchangeBalanceSettled transitioned exchange
ExchangeCompleted transitioned exchange
ExchangeCancelled transitioned exchange
Endpoint Method Service Description
/orders POST create-order Creates a new Order from a validated Basket, transition…
/orders/{id} GET track-order Retrieves the full state of an Order including lines, p…
/orders/{id}/cancel POST cancel-order Cancels a confirmed Order, triggering reversal of payme…
/orders/{id}/confirm POST confirm-order Confirms a validated Order once payment is authorised, …
/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…

Validation Rules

Rule Type Severity Condition
exchange-anywhere-requires-closed-order pre-condition invariant order.lifecycle = closed AND order.count(order-line) >=…

← Back to Process Catalog