Skip to content

Commerce Domain

Manage basket checkout and commercial interaction.


At a Glance

Count
Business Objects 7
Capabilities 5
Processes 16
Events 34
APIs 6
Validation Rules 12

Object Relationships

erDiagram
    BASKET_LINE }o--|| BASKET : "belongs-to"
    BASKET ||--o{ BASKET_LINE : "contains"
    CATALOGUE ||--o{ PRODUCT : "contains"
    CATALOGUE }o..o{ CHANNEL : "references"
    CHANNEL ||--o{ CATALOGUE : "contains"
    CHANNEL ||..o{ BASKET : "creates"
    PRODUCT }o--|| CATALOGUE : "belongs-to"
    PRODUCT }o..o{ BASKET_LINE : "references"
    SUBSCRIPTION ||--o{ BASKET : "contains"

Business Objects

Object Classification Description
Basket basket aggregate-root Commerce container holding intended purchases before order creation.
Basket Line basket-line entity Line-level item entry within a basket.
Catalogue catalogue aggregate-root Curated collection of products made available for sale in one or more channels. Controls p…
Channel channel entity A defined commerce touchpoint through which customers can discover, select, and purchase p…
Product product entity Sellable item defined by a SKU. The atomic unit of commerce — referenced by every basket l…
Receipt receipt aggregate-root Customer-facing transaction proof created from a completed sale, payment, return, or excha…
Subscription subscription aggregate-root A recurring purchase agreement between a customer and the retailer, automatically generati…

Capabilities

Capability Archetype Outcome
Catalogue Management catalogue-management management Product catalogues can be created, enriched, published, and scoped to channels s…
Channel Management channel-management management Commerce channels can be configured, activated, and assigned catalogues and pric…
Subscription Management subscription-management management Customers can create, manage, pause and cancel recurring purchase subscriptions …
Basket Management basket-management operational Customers can build, modify and calculate a basket of intended purchases before …
Checkout checkout operational A basket can be converted into a confirmed order by applying promotions, totals …

Events

Created (4):
BasketCreated ProductCreated SubscriptionCreated BasketLineAdded

Transitioned (21):
BasketCheckedOut BasketCheckoutStarted BasketAbandoned BasketMerged ProductActivated ProductDeactivated CataloguePublished CatalogueArchived ChannelActivated ChannelDeactivated SubscriptionActivated SubscriptionRenewed SubscriptionPaused SubscriptionCancelled SubscriptionExpired CataloguePublished CatalogueUnpublished CatalogueArchived CatalogueRetired CheckoutStarted CheckoutCancelled

Updated (8):
BasketUpdated ProductUpdated CatalogueUpdated ChannelUpdated ProductSearchPerformed CatalogueSubmitted CatalogueApproved CatalogueRejected

Calculated (1):
BasketCalculated

Processes

  • Checkout checkoutA confirmed order is created with payment authorised, promotions applied and loy
  • BOPIS bopisA customer can place an order online and collect it from a physical store on the
  • Endless Aisle endless-aisleA store associate can sell items not physically present in-store and fulfil them
  • Clienteling Sale clienteling-saleA store associate can complete a personalised assisted sale using customer histo
  • Voucher Redemption voucher-redemptionA customer can redeem a gift voucher or store credit as full or partial payment
  • Reserve and Collect reserve-and-collectCustomers can reserve items online and collect them in store without full paymen
  • Self-Checkout self-checkoutA customer can scan, bag, and pay for items independently at a self-service term
  • Scan and Go scan-and-goCustomer completes payment on their device or at an exit terminal without queuin
  • Price List Update price-list-updateA new price list is published and effective prices are propagated to all active
  • Promotional Campaign Launch promotional-campaign-launchA promotional campaign is activated across targeted customer segments and channe
  • Subscription Renewal subscription-renewalA subscription is renewed automatically, a new order is generated, payment is ca
  • Catalogue Publish catalogue-publishA product catalogue update is validated, enriched with media assets, and publish
  • Store Day Open store-day-openA store trading day is opened with cash float confirmed, staff tasks assigned, a
  • Customer Consent Update customer-consent-updateA customer's marketing and data-processing consent preferences are updated acros
  • Loss Prevention Case Handling loss-prevention-case-handlingAn item or transaction anomaly is triaged and resolved with policy-controlled in
  • Retail Media Attribution retail-media-attributionA sponsored offer is activated for eligible audiences and has its approved close

APIs

Endpoint Method Service Capability
/transactions POST checkout-basket checkout
/transactions/{id}/void POST cancel-order checkout
/baskets POST create-basket basket-management
/baskets/{id}/lines POST add-basket-item basket-management
/baskets/{id}/checkout POST checkout-basket checkout
/products/{id} GET publish-catalogue catalogue-management

Applications

  • POS pos (system of engagement)
  • eCommerce Platform ecommerce-platform (system of engagement)
  • Clienteling App clienteling-app (system of engagement)
  • Associate Workspace associate-workspace (system of engagement)

Validation Rules

Rule Type Applies To Severity
checkout-requires-active-basket pre-condition checkout invariant
checkout-requires-active-product pre-condition checkout invariant
bopis-requires-store-inventory pre-condition bopis invariant
bopis-requires-channel pre-condition bopis invariant
reserve-and-collect-requires-reservation pre-condition reserve-and-collect invariant
voucher-redemption-requires-valid-voucher pre-condition voucher-redemption invariant
endless-aisle-requires-active-channel pre-condition endless-aisle invariant
self-checkout-requires-active-terminal pre-condition self-checkout invariant
loss-prevention-intervention-requires-policy pre-condition loss-prevention-case-handling invariant
retail-media-requires-consent-aware-audience pre-condition retail-media-attribution invariant
checkout-creates-order post-condition checkout invariant
checkout-clears-basket post-condition checkout invariant

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-line-references-product association Every Basket Line must reference exactly one Product.
catalogue-must-have-products association A published Catalogue must contain at least one active Product.
channel-must-have-catalogue association An active Channel must have at least one Catalogue assigned. A channel…
product-owned-by-ecommerce-platform ownership Product catalogue management is typically owned by the eCommerce Platf…
product-in-commerce-domain domain-containment The Product Business Object is owned by the Commerce domain.
channel-in-commerce-domain domain-containment The Channel Business Object is owned by the Commerce domain.
basket-cannot-convert-abandoned lifecycle-gate An abandoned basket cannot be directly converted to an order. It must …

← Back to Domain Catalog