# UC-BoK — Complete Knowledge Bundle > Generated: 2026-07-18 | Version: 1.2.0-alpha > UC-BoK is a model-driven Unified Commerce Knowledge Platform built on a formal ontology, > executable schemas, canonical catalogs and a queryable knowledge graph. ## Domains (10) - **customer** — Manage customer identity profile consent and engagement. - **commerce** — Manage basket checkout and commercial interaction. - **order** — Manage commercial commitments and order lifecycle. - **inventory** — Manage visibility reservation and allocation of stock. - **fulfillment** — Manage picking shipping pickup returns and exchanges. - **pricing** — Determine selling price and markdowns. - **promotion** — Manage promotions coupons and vouchers. - **loyalty** — Manage membership points benefits and rewards. - **payment** — Manage authorization capture refund and settlement. - **store** — Manage store operations and store execution. ## Business Objects (51) ### Commerce - **basket-line** (entity) — Line-level item entry within a basket. - **basket** (aggregate-root) — Commerce container holding intended purchases before order creation. - **catalogue** (aggregate-root) — Curated collection of products made available for sale in one or more channels. Controls product assortment per channel and context. - **channel** (entity) — A defined commerce touchpoint through which customers can discover, select, and purchase products. The fundamental unit of omnichannel identity. - **product** (entity) — Sellable item defined by a SKU. The atomic unit of commerce — referenced by every basket line, order line, and inventory item. - **receipt** (aggregate-root) — Customer-facing transaction proof created from a completed sale, payment, return, or exchange. - **subscription** (aggregate-root) — A recurring purchase agreement between a customer and the retailer, automatically generating orders at a defined frequency without customer intervention. ### Customer - **address** (value-object) — Structured postal address used for shipping, billing, and customer identification. - **clienteling-session** (aggregate-root) — A recorded in-store or digital interaction between a store associate and a customer. - **consent** (entity) — Customer declaration of agreement or refusal for a specific data processing purpose. - **customer-profile** (entity) — Collection of descriptive customer information maintained by the Customer Domain. - **customer-segment** (entity) — A named group of customers sharing common behavioural, demographic, or value-based characteristics used to personalise offers, communications, and pricing. - **customer** (aggregate-root) — Canonical party recognized by the enterprise as a customer. - **decision-record** (aggregate-root) — Auditable record of an automated or assisted recommendation, decision, approval, override, and execution outcome. - **sentiment-insight** (aggregate-root) — Purpose-bound, aggregated insight derived from approved customer feedback and social engagement evidence. ### Fulfillment - **delivery-slot** (entity) — A time-bounded window during which a customer's order can be delivered to a nominated address or collected from a designated location. - **exchange** (aggregate-root) — Exchange request and execution record for replacing returned merchandise with alternative merchandise. - **fulfillment-order** (aggregate-root) — Fulfillment-oriented grouping derived from an order for execution. - **picking-task** (aggregate-root) — An instruction to locate and collect specific items from a location to fulfil an order. - **return** (aggregate-root) — Return request and execution record for merchandise or order value moving back from a customer. - **service-order** (aggregate-root) — Customer commitment for repair, installation, maintenance, or other service associated with a product order. - **shipment-line** (entity) — Line-level item entry within a shipment. - **shipment** (aggregate-root) — Fulfillment movement or collection unit used to complete customer delivery or pickup. ### Inventory - **allocation** (aggregate-root) — Assignment of inventory to demand for fulfillment execution. - **inventory-item** (entity) — Item-level inventory reference used by basket, order, shipment, reservation, and allocation records. - **inventory** (aggregate-root) — Availability and stock state used to support selling, reservation, allocation, transfer, and fulfillment. - **reservation** (aggregate-root) — Temporary hold on inventory for a customer, basket, order, or fulfillment flow. - **stock-movement** (entity) — An immutable record of a physical inventory quantity change at a location. ### Loyalty - **loyalty-account** (aggregate-root) — Account used to track loyalty participation state, balances, benefits, and point activity. - **loyalty-member** (aggregate-root) — A customer enrolled in a loyalty programme who accumulates and redeems points and benefits. - **loyalty-transaction** (entity) — Transaction-level activity that changes or evaluates loyalty account state. ### Order - **invoice** (aggregate-root) — Commercial billing document associated with an order or payment obligation. - **order-line** (entity) — Line-level item entry within an order. - **order** (aggregate-root) — Confirmed commercial commitment created from checkout or assisted selling. ### Payment - **gift-card** (aggregate-root) — Stored-value instrument usable as part of payment. - **payment-transaction** (entity) — Transaction-level record for payment authorization, capture, void, refund, or settlement activity. - **payment** (aggregate-root) — Payment obligation and state associated with a basket, order, return, or exchange. - **refund** (aggregate-root) — Payment reversal or credit associated with a return, exchange, or payment correction. ### Pricing - **price-list** (aggregate-root) — Collection or context of prices applied for pricing decisions. - **price** (entity) — Monetary value used to sell, calculate, or present an item or basket. - **tax-rate** (entity) — Tax percentage or calculation parameter applied to basket, order, or line values. ### Promotion - **coupon** (aggregate-root) — Promotion-related entitlement or code validated and redeemed during selling or checkout. - **promotion** (aggregate-root) — Promotional rule or offer evaluated during basket, checkout, pricing, or selling interactions. - **sponsored-offer** (aggregate-root) — Governed retail-media offer with approved audience, placement, timing, and closed-loop attribution rules. - **voucher** (aggregate-root) — Value or benefit instrument issued, validated, redeemed, or cancelled. ### Store - **employee** (aggregate-root) — Store or enterprise worker participating in operational processes. - **loss-prevention-case** (aggregate-root) — Investigable case created from item-identification, transaction, or refund anomaly evidence that may indicate retail loss. - **store-day** (aggregate-root) — The operational trading period for a physical store on a given date. - **store-task** (entity) — An operational task assigned to store staff during a trading day. - **store** (aggregate-root) — Physical retail location participating in selling, fulfillment, returns, exchanges, and store operations. - **terminal** (entity) — Store endpoint used for point-of-sale or store transaction execution. ## Capabilities (33) ### Commerce - **basket-management** — Customers can build, modify and calculate a basket of intended purchases before checkout. - **checkout** — A basket can be converted into a confirmed order by applying promotions, totals and payment authorisation. - **catalogue-management** — Product catalogues can be created, enriched, published, and scoped to channels so that customers see the correct assortment per touchpoint. - **channel-management** — Commerce channels can be configured, activated, and assigned catalogues and price lists so that each touchpoint operates with the correct assortment and pricing rules. - **subscription-management** — Customers can create, manage, pause and cancel recurring purchase subscriptions that automatically generate orders at a defined frequency. ### Customer - **customer-identity** — Customers can be registered, authenticated and uniquely resolved across channels. - **customer-profile** — Customer profile, preferences and contact data can be retrieved and maintained. - **customer-consent** — Customer consent records can be created, updated and revoked in compliance with regulations. - **customer-segmentation** — Customers can be segmented based on behaviour and attributes for targeting and personalisation. - **clienteling** — Store associates can access customer history and record personalised interactions. - **guided-selling** — Associates can deliver explainable, context-aware recommendations that improve the assisted selling experience. - **decision-intelligence** — Material automated decisions can be proposed, reviewed, overridden, executed, and audited. - **social-intelligence** — Consent-aware sentiment and engagement insights can inform customer experience decisions without becoming customer source data. ### Fulfillment - **fulfillment-execution** — Orders can be picked, packed, shipped, delivered and collected through the physical fulfilment chain. - **returns-management** — Customer returns can be requested, authorised, received, inspected and processed to completion. - **exchange-management** — Product exchanges can be requested, authorised and processed within the return and fulfilment flow. - **service-order-management** — Service and repair commitments can be created, scheduled, fulfilled, and tracked alongside product orders. ### Inventory - **inventory-visibility** — Available-to-promise stock can be calculated and queried by location, SKU and channel in real time. - **inventory-reservation** — Inventory can be soft-reserved, confirmed and released across the order and fulfilment lifecycle. - **inventory-allocation** — Inventory can be hard-allocated, reallocated and released to fulfil specific order commitments. - **store-inventory** — Physical store stock levels can be adjusted, counted and transferred between locations. - **automated-item-identification** — Items and identification anomalies can be resolved in real time at store touchpoints. ### Loyalty - **loyalty** — Members can be enrolled, earn points and benefits, and redeem rewards across channels. - **loyalty-management** — The loyalty programme configuration, tier definitions, accrual rules, and member lifecycle are managed. ### Order - **order-management** — Orders can be created, validated, confirmed, modified, tracked and closed through their full lifecycle. - **order-orchestration** — Orders can be split, routed and reassigned to optimal fulfilment locations based on inventory and constraints. ### Payment - **payment-processing** — Payments can be authorised, captured, voided and refunded independently of payment provider. ### Pricing - **pricing** — Selling price can be determined and applied based on price lists, rules and markdown schedules. ### Promotion - **promotions** — Promotions and coupons can be evaluated and applied to a basket or order to deliver discounts. - **voucher-management** — Gift vouchers and store credits can be issued, validated, redeemed and cancelled. - **retail-media-management** — Sponsored offers can be activated, served, and attributed using consent-aware first-party commerce signals. ### Store - **store-operations** — Store trading days can be opened and closed and daily operational tasks can be assigned and completed. - **loss-prevention** — Potential retail loss events can be investigated and resolved with auditable, proportionate intervention. ## Domain Events (216) ### Address - **AddressAdded** (`address-added`) - **AddressUpdated** (`address-updated`) - **AddressValidated** (`address-validated`) ### Allocation - **InventoryAllocated** (`inventory-allocated`) - **InventoryReallocated** (`inventory-reallocated`) - **InventoryAllocationReleased** (`inventory-allocation-released`) - **AllocationActivated** (`allocation-activated`) - **AllocationUpdated** (`allocation-updated`) - **AllocationFulfilled** (`allocation-fulfilled`) - **AllocationReallocated** (`allocation-reallocated`) - **AllocationCancelled** (`allocation-cancelled`) ### Basket - **BasketCreated** (`basket-created`) - **BasketUpdated** (`basket-updated`) - **BasketCalculated** (`basket-calculated`) - **BasketCheckedOut** (`basket-checked-out`) - **BasketCheckoutStarted** (`basket-checkout-started`) - **BasketConverted** (`basket-converted`) - **BasketAbandoned** (`basket-abandoned`) - **BasketMerged** (`basket-merged`) - **CheckoutStarted** (`checkout-started`) - **CheckoutCancelled** (`checkout-cancelled`) ### Basket-Line - **BasketLineAdded** (`basket-line-added`) ### Catalogue - **CataloguePublished** (`catalogue-published`) - **CatalogueUpdated** (`catalogue-updated`) - **CatalogueArchived** (`catalogue-archived`) - **CatalogueSubmitted** (`catalogue-submitted`) - **CatalogueApproved** (`catalogue-approved`) - **CatalogueRejected** (`catalogue-rejected`) - **CataloguePublished** (`catalogue-published`) - **CatalogueUnpublished** (`catalogue-unpublished`) - **CatalogueArchived** (`catalogue-archived`) - **CatalogueRetired** (`catalogue-retired`) ### Channel - **ChannelActivated** (`channel-activated`) - **ChannelUpdated** (`channel-updated`) - **ChannelDeactivated** (`channel-deactivated`) ### Clienteling-Session - **ClientelingSessionCreated** (`clienteling-session-created`) - **ClientelingInteractionRecorded** (`clienteling-interaction-recorded`) ### Consent - **CustomerConsentUpdated** (`customer-consent-updated`) - **CustomerConsentRevoked** (`customer-consent-revoked`) - **ConsentRecorded** (`consent-recorded`) - **ConsentUpdated** (`consent-updated`) - **ConsentWithdrawn** (`consent-withdrawn`) - **ConsentDeclined** (`consent-declined`) - **ConsentExpired** (`consent-expired`) ### Coupon - **CouponValidated** (`coupon-validated`) - **CouponRedeemed** (`coupon-redeemed`) ### Customer - **CustomerRegistered** (`customer-registered`) - **CustomerIdentified** (`customer-identified`) - **CustomerMerged** (`customer-merged`) - **CustomerUpdated** (`customer-updated`) - **CustomerPreferencesUpdated** (`customer-preferences-updated`) - **CustomerSegmentCalculated** (`customer-segment-calculated`) - **CustomerSegmentAssigned** (`customer-segment-assigned`) - **CustomerCreated** (`customer-created`) - **CustomerProfileUpdated** (`customer-profile-updated`) - **CustomerProfileViewed** (`customer-profile-viewed`) - **CustomerInteractionLogged** (`customer-interaction-logged`) - **CustomerCommunicationSent** (`customer-communication-sent`) - **CustomerConsentUpdated** (`customer-consent-updated`) ### Customer-Segment - **CustomerSegmentCreated** (`customer-segment-created`) - **CustomerSegmentUpdated** (`customer-segment-updated`) - **CustomerSegmentArchived** (`customer-segment-archived`) ### Decision-Record - **RecommendationGenerated** (`recommendation-generated`) - **RecommendationResponded** (`recommendation-responded`) - **DecisionProposed** (`decision-proposed`) - **DecisionApproved** (`decision-approved`) - **DecisionOverridden** (`decision-overridden`) - **DecisionExecuted** (`decision-executed`) ### Delivery-Slot - **DeliverySlotReserved** (`delivery-slot-reserved`) - **DeliverySlotConfirmed** (`delivery-slot-confirmed`) - **DeliverySlotReleased** (`delivery-slot-released`) - **DeliverySlotExpired** (`delivery-slot-expired`) ### Employee - **EmployeeActivated** (`employee-activated`) - **EmployeeDeactivated** (`employee-deactivated`) - **EmployeeOffboarded** (`employee-offboarded`) - **EmployeeArchived** (`employee-archived`) ### Exchange - **ExchangeRequested** (`exchange-requested`) - **ExchangeAuthorized** (`exchange-authorized`) - **ExchangeCompleted** (`exchange-completed`) - **ExchangeValidated** (`exchange-validated`) - **ExchangeRefused** (`exchange-refused`) - **ExchangeStarted** (`exchange-started`) - **ExchangeBalanceRequired** (`exchange-balance-required`) - **ExchangeBalanceSettled** (`exchange-balance-settled`) - **ExchangeCompleted** (`exchange-completed`) - **ExchangeCancelled** (`exchange-cancelled`) ### Fulfillment-Order - **FulfillmentOrderCreated** (`fulfillment-order-created`) - **FulfillmentOrderDispatched** (`fulfillment-order-dispatched`) ### Gift-Card - **GiftCardActivated** (`gift-card-activated`) - **GiftCardRedeemed** (`gift-card-redeemed`) - **GiftCardToppedUp** (`gift-card-topped-up`) - **GiftCardExpired** (`gift-card-expired`) - **GiftCardCancelled** (`gift-card-cancelled`) - **GiftCardRefunded** (`gift-card-refunded`) ### Inventory - **AtpCalculated** (`atp-calculated`) - **InventoryAdjusted** (`inventory-adjusted`) - **InventoryCounted** (`inventory-counted`) - **InventoryChecked** (`inventory-checked`) - **StockCountOpened** (`stock-count-opened`) - **StockCountStarted** (`stock-count-started`) - **StockCountCompleted** (`stock-count-completed`) - **StockCountReconciled** (`stock-count-reconciled`) - **StockCountClosed** (`stock-count-closed`) - **StockCountRecountRequested** (`stock-count-recount-requested`) - **StockCountCancelled** (`stock-count-cancelled`) - **ItemIdentified** (`item-identified`) ### Loss-Prevention-Case - **ItemIdentificationAnomalyDetected** (`item-identification-anomaly-detected`) - **TransactionAnomalyDetected** (`transaction-anomaly-detected`) - **LossPreventionCaseOpened** (`loss-prevention-case-opened`) - **LossPreventionCaseResolved** (`loss-prevention-case-resolved`) ### Loyalty-Account - **LoyaltyPointsCalculated** (`loyalty-points-calculated`) - **LoyaltyPointsIssued** (`loyalty-points-issued`) - **LoyaltyPointsRedeemed** (`loyalty-points-redeemed`) - **LoyaltyBenefitsCalculated** (`loyalty-benefits-calculated`) - **PointsIssued** (`points-issued`) - **PointsRedeemed** (`points-redeemed`) - **LoyaltyPointsEarned** (`loyalty-points-earned`) ### Loyalty-Member - **LoyaltyMemberEnrolled** (`loyalty-member-enrolled`) - **LoyaltyCardActivated** (`loyalty-card-activated`) - **LoyaltyPointsAccrued** (`loyalty-points-accrued`) ### Order - **OrderCreated** (`order-created`) - **OrderValidated** (`order-validated`) - **OrderConfirmed** (`order-confirmed`) - **OrderModified** (`order-modified`) - **OrderCancelled** (`order-cancelled`) - **OrderClosed** (`order-closed`) - **OrderSplit** (`order-split`) - **OrderRouted** (`order-routed`) - **FulfillmentLocationReassigned** (`fulfillment-location-reassigned`) ### Payment - **PaymentAuthorized** (`payment-authorized`) - **PaymentCaptured** (`payment-captured`) - **PaymentVoided** (`payment-voided`) - **PaymentRefunded** (`payment-refunded`) - **PaymentSettled** (`payment-settled`) ### Picking-Task - **PickingStarted** (`picking-started`) - **PickingCompleted** (`picking-completed`) - **PickingTaskCreated** (`picking-task-created`) - **PickingTaskCompleted** (`picking-task-completed`) ### Price - **PriceCalculated** (`price-calculated`) - **PriceListApplied** (`price-list-applied`) - **MarkdownCalculated** (`markdown-calculated`) ### Price-List - **PriceListSubmitted** (`price-list-submitted`) - **PriceListApproved** (`price-list-approved`) - **PriceListRejected** (`price-list-rejected`) - **PriceListActivated** (`price-list-activated`) - **PriceListExpired** (`price-list-expired`) - **PriceListSuperseded** (`price-list-superseded`) - **PriceListCancelled** (`price-list-cancelled`) ### Product - **ProductCreated** (`product-created`) - **ProductActivated** (`product-activated`) - **ProductUpdated** (`product-updated`) - **ProductDeactivated** (`product-deactivated`) - **ProductSearchPerformed** (`product-search-performed`) ### Promotion - **PromotionApplied** (`promotion-applied`) - **PromotionEvaluated** (`promotion-evaluated`) ### Receipt - **ReceiptIssued** (`receipt-issued`) - **ReceiptAmended** (`receipt-amended`) - **ReceiptVoided** (`receipt-voided`) - **ReceiptArchived** (`receipt-archived`) ### Refund - **RefundCreated** (`refund-created`) - **RefundInitiated** (`refund-initiated`) - **RefundProcessed** (`refund-processed`) - **RefundFailed** (`refund-failed`) - **RefundConvertedToCredit** (`refund-converted`) - **RefundCancelled** (`refund-cancelled`) ### Reservation - **InventoryReserved** (`inventory-reserved`) - **ReservationConfirmed** (`reservation-confirmed`) - **InventoryReleased** (`inventory-released`) - **ReservationExpired** (`reservation-expired`) - **ReservationCreated** (`reservation-created`) - **ReservationReleased** (`reservation-released`) ### Return - **ReturnRequested** (`return-requested`) - **ReturnAuthorized** (`return-authorized`) - **ReturnReceived** (`return-received`) - **ReturnInspected** (`return-inspected`) - **ReturnAccepted** (`return-accepted`) - **ReturnApproved** (`return-approved`) - **ReturnRejected** (`return-rejected`) - **ReturnDispatched** (`return-dispatched`) - **ReturnRefunded** (`return-refunded`) - **ReturnExchanged** (`return-exchanged`) - **ReturnCreated** (`return-created`) ### Sentiment-Insight - **SentimentInsightProduced** (`sentiment-insight-produced`) ### Service-Order - **ServiceOrderCreated** (`service-order-created`) - **ServiceOrderScheduled** (`service-order-scheduled`) - **ServiceOrderCompleted** (`service-order-completed`) ### Shipment - **ShipmentPacked** (`shipment-packed`) - **ShipmentDispatched** (`shipment-dispatched`) - **ShipmentDelivered** (`shipment-delivered`) - **ShipmentCreated** (`shipment-created`) - **ShipmentLabelGenerated** (`shipment-label-generated`) ### Sponsored-Offer - **SponsoredOfferActivated** (`sponsored-offer-activated`) - **SponsoredOfferExposed** (`sponsored-offer-exposed`) - **SponsoredOfferAttributed** (`sponsored-offer-attributed`) ### Stock-Movement - **InventoryTransferred** (`inventory-transferred`) ### Store-Day - **StoreDayOpened** (`store-day-opened`) - **StoreDayClosed** (`store-day-closed`) - **StoreDayPreOpeningStarted** (`store-day-pre-opening-started`) - **StoreDayOpened** (`store-day-opened`) - **StoreDayClosingStarted** (`store-day-closing-started`) - **StoreDayReconciliationStarted** (`store-day-reconciliation-started`) - **StoreDayClosed** (`store-day-closed`) - **StoreDayReopened** (`store-day-reopened`) - **StoreDayExceptionDeclared** (`store-day-exception-declared`) ### Store-Task - **StoreTaskAssigned** (`store-task-assigned`) - **StoreTaskCompleted** (`store-task-completed`) ### Subscription - **SubscriptionCreated** (`subscription-created`) - **SubscriptionActivated** (`subscription-activated`) - **SubscriptionRenewed** (`subscription-renewed`) - **SubscriptionPaused** (`subscription-paused`) - **SubscriptionCancelled** (`subscription-cancelled`) - **SubscriptionExpired** (`subscription-expired`) ### Voucher - **VoucherIssued** (`voucher-issued`) - **VoucherValidated** (`voucher-validated`) - **VoucherRedeemed** (`voucher-redeemed`) - **VoucherCancelled** (`voucher-cancelled`) ## Business Processes (26) - **checkout** (transactional) — Checkout - **bopis** (transactional) — BOPIS - **endless-aisle** (transactional) — Endless Aisle - **clienteling-sale** (transactional) — Clienteling Sale - **voucher-redemption** (transactional) — Voucher Redemption - **ship-from-store** (fulfilment) — Ship From Store - **ship-to-store** (fulfilment) — Ship To Store - **reserve-and-collect** (fulfilment) — Reserve and Collect - **boris** (post-sale) — BORIS - **return-anywhere** (post-sale) — Return Anywhere - **exchange-anywhere** (post-sale) — Exchange Anywhere - **loyalty-enrollment** (engagement) — Loyalty Enrollment - **self-checkout** (transactional) — Self-Checkout - **customer-registration** (engagement) — Customer Registration - **scan-and-go** (transactional) — Scan and Go - **price-list-update** (management) — Price List Update - **promotional-campaign-launch** (management) — Promotional Campaign Launch - **loyalty-tier-upgrade** (management) — Loyalty Tier Upgrade - **subscription-renewal** (transactional) — Subscription Renewal - **catalogue-publish** (management) — Catalogue Publish - **store-day-open** (management) — Store Day Open - **customer-consent-update** (management) — Customer Consent Update - **decision-review-and-execution** (management) — Decision Review and Execution - **loss-prevention-case-handling** (management) — Loss Prevention Case Handling - **service-and-repair-management** (post-sale) — Service and Repair Management - **retail-media-attribution** (management) — Retail Media Attribution ## Reference Architectures ### Fashion Retail Reference Architecture End-to-end unified commerce reference architecture for multi-brand fashion retailers operating across online, in-store, and mobile channels. Models the full capability stack required for seasonal assortment, clienteling, omnichannel fulfilment, and high-volume returns. ### Grocery Retail Reference Architecture End-to-end unified commerce reference architecture for grocery and food retailers operating across in-store, click & collect, and home delivery channels. Models the capability stack for high-frequency low-value transactions, fresh/perishable inventory, age verification, multi-buy promotions, and personalised loyalty programmes. ### RA-003 Unified Commerce reference architecture for specialty retail — knowledge-intensive, service-augmented retail formats where expert selling, product configuration, and post-purchase service are primary revenue and differentiation levers. ### Tier 2 Non-food Retail Reference Architecture Vendor-neutral reference architecture for multichannel non-food and softline retailers with a material physical-store estate. POS is an intelligent engagement endpoint within a composable commerce ecosystem; authoritative customer, order, payment, inventory, pricing, and promotion responsibilities remain separated. ## UCMI Maturity Levels