Skip to content

Exchange

aggregate-root fulfillment


Exchange request and execution record for replacing returned merchandise with alternative merchandise.

Business Purpose: Coordinate return-like intake with replacement demand, reservation, and fulfillment.

Identity

Type Field Description
global exchange-id Globally unique identifier for the exchange request, stable across its execution lifecycle.

Attributes

Attribute Description
exchange-id Exchange ID Stable exchange identifier.
order-id Order ID Related order reference.
customer-id Customer ID Related customer reference.
status Status Current exchange state.
requested-at Requested At Date and time when the exchange was requested.

Lifecycle

requestedauthorizedreservedprocessedcompletedcancelled

Invariants

  • stable-exchange-id — Exchange ID must remain stable for the lifetime of the exchange.
  • return-reference-required — An exchange must reference a source return or return-equivalent.

Relationships

Type Target
references order order
references customer customer
uses reservation reservation
creates order order

Events

Event Classification Terminal
ExchangeRequested created
ExchangeAuthorized transitioned
ExchangeCompleted transitioned

Used by Capabilities

  • exchange-management Exchange Management

Used by Processes

Used by Applications

  • POS pos
  • OMS oms

Semantic Constraints

Constraint Type Rule
exchange-belongs-to-order association An Exchange must reference the original Order it is replacing.

Note

Aligned with existing exchange object and exchange-management capability.


← Back to Fulfillment Domain