Skip to content

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

createdactivecalculatedchecked-outabandonedexpired

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

← Back to Commerce Domain