Basket¶
aggregate-root commerce
Commerce container holding intended purchases before order creation.
Business Purpose: Support item selection, pricing, promotion evaluation, checkout, and conversion into an order.
Identity¶
| Type | Field | Description |
|---|---|---|
global |
basket-id |
Globally unique identifier assigned at basket creation. |
Attributes¶
| Attribute | Description |
|---|---|
basket-id Basket ID |
Stable basket identifier. |
customer-id Customer ID |
Optional customer reference. |
status Status |
Current basket state. |
created-at Created At |
Date and time when the basket was created. |
updated-at Updated At |
Date and time when the basket was last updated. |
Lifecycle¶
created → active → calculated → checked-out → abandoned → expired
Invariants¶
stable-basket-id— Basket ID must remain stable for the lifetime of the basket.non-empty-lines— A basket in checked-out state must have at least one line.
Relationships¶
| Type | Target |
|---|---|
belongs-to |
customer customer |
contains |
basket-line basket-line |
uses |
promotion promotion |
uses |
coupon coupon |
uses |
voucher voucher |
results-in |
order order |
Events¶
| Event | Classification | Terminal |
|---|---|---|
BasketCreated |
created | — |
BasketUpdated |
updated | — |
BasketCalculated |
calculated | — |
BasketCheckedOut |
transitioned | ✓ |
Used by Capabilities¶
- basket-management Basket Management
- checkout Checkout
Used by Processes¶
Used by Applications¶
- POS
pos - eCommerce Platform
ecommerce-platform
Semantic Constraints¶
| Constraint | Type | Rule |
|---|---|---|
basket-may-have-lines |
association |
A Basket may contain zero or more Basket Lines. An empty basket is val… |
basket-cannot-convert-abandoned |
lifecycle-gate |
An abandoned basket cannot be directly converted to an order. It must … |
Note
Aligned with existing basket object; basket-line replaces legacy basket-item naming in this catalog.
Referenced by APIs¶
| Endpoint | Method | Role | Capability |
|---|---|---|---|
/orders |
POST | request-body |
order-management |
/inventory/reservations |
POST | request-body |
inventory-reservation |
/loyalty/accounts/{id}/redemptions |
POST | request-body |
loyalty |
/promotions/evaluate |
POST | request-body |
promotions |
/baskets |
POST | response |
basket-management |
/baskets/{id}/lines |
POST | response |
basket-management |
/baskets/{id}/checkout |
POST | request-body |
checkout |
/members/{id}/redeem |
POST | request-body |
loyalty |