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¶
requested → authorized → reserved → processed → completed → cancelled
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.