⌘K
EventCatalogAcme Inc
HomeDocs
Browse
CatalogSchemas & APIs
Organization
TeamsUsers

Settings
Platform

Domain map

The bounded contexts in the Acme Inc catalog and how their responsibilities connect across the commerce journey.

Architecture

The domain map shows where business language changes. A cart, an order, a payment and a shipment are different concepts with different owners, lifecycles and consistency rules.

Core domains

ShoppingShoppingDomain•v1.0.0The Shopping domain owns the customer's path to purchase — building a cart, applying promotions, and checking out. It co...Ownershopping-platformMapView docs, OrderingOrderingDomain•v1.0.0The Ordering domain turns a checked-out cart into a confirmed order. It orchestrates checkout — reserving inventory, aut...Ownerordering-platformMapView docs, PaymentsPaymentsDomain•v1.0.0The Payments domain takes payment for orders and processes refunds. It orchestrates authorization and capture through an...Ownerpayments-platformMapView docs and FulfilmentFulfilmentDomain•v1.0.0The Fulfilment domain gets a confirmed order to the customer. It reserves stock, picks and packs orders in the warehouse...Ownerfulfilment-platformMapView docs form the core purchase path. A failure in any of these domains can block revenue or customer delivery, so their contracts should be reviewed together when changing checkout behavior.

DomainOwnsPublishes or handles
ShoppingShoppingDomain•v1.0.0The Shopping domain owns the customer's path to purchase — building a cart, applying promotions, and checking out. It co...Ownershopping-platformMapView docsCart contents, checkout intent and discountsCheckout CartCheckout CartCommand•v1.0.0Command to check out a shopping cart. Ownershopping-platformSchemaMapView docs, Cart Checked OutCart Checked OutEvent•v1.0.0Published when a customer has checked out their cart. Ownershopping-platformSchemaMapView docs, Calculate DiscountCalculate DiscountCommand•v1.0.0Command to calculate the discount that applies to a cart. Ownershopping-platformSchemaMapView docs
OrderingOrderingDomain•v1.0.0The Ordering domain turns a checked-out cart into a confirmed order. It orchestrates checkout — reserving inventory, aut...Ownerordering-platformMapView docsCheckout orchestration and order stateReserve InventoryReserve InventoryCommand•v1.0.0Command to reserve stock for the items in a checked-out cart. Ownerordering-platformSchemaMapView docs, Authorize PaymentAuthorize PaymentCommand•v1.0.0Command to authorize payment for the total of a checked-out cart. Ownerordering-platformSchemaMapView docs, Create OrderCreate OrderCommand•v1.0.0Command to create a new order from a checked-out cart. Ownerordering-platformSchemaMapView docs, Order CreatedOrder CreatedEvent•v1.0.0Published when a new order has been created. Ownerordering-platformSchemaMapView docs
PaymentsPaymentsDomain•v1.0.0The Payments domain takes payment for orders and processes refunds. It orchestrates authorization and capture through an...Ownerpayments-platformMapView docsPayment intent, payment outcome and refundsPayment RequestedPayment RequestedEvent•v1.0.0Published when the Payment Processing System requests a charge from the payment processor. Ownerpayments-platformSchemaMapView docs, Payment SucceededPayment SucceededEvent•v1.0.0Published by Stripe when a charge succeeds. Ownerpayments-platformSchemaMapView docs, Payment FailedPayment FailedEvent•v1.0.0Published by Stripe when a charge fails. Ownerpayments-platformSchemaMapView docs, Refund RequestedRefund RequestedEvent•v1.0.0Published when the Payment Processing System requests a refund from the payment processor. Ownerpayments-platformSchemaMapView docs
FulfilmentFulfilmentDomain•v1.0.0The Fulfilment domain gets a confirmed order to the customer. It reserves stock, picks and packs orders in the warehouse...Ownerfulfilment-platformMapView docsStock reservation, warehouse packing and shippingInventory ReservedInventory ReservedEvent•v1.0.0Published when stock has been successfully reserved for an order. Ownerfulfilment-platformSchemaMapView docs, Order Ready For ShippingOrder Ready For ShippingEvent•v1.0.0Published when a packed order is ready to be handed to a carrier for shipping. Ownerfulfilment-platformSchemaMapView docs, Create ShipmentCreate ShipmentCommand•v1.0.0Command to create a shipment with a carrier for a packed order. Ownerfulfilment-platformSchemaMapView docs

Supporting domains

CatalogCatalogDomain•v1.0.0The Catalog domain owns everything about products — how they are created, maintained and made discoverable across Acme I...Ownerproduct-platformMapView docs, CustomerCustomerDomain•v1.0.0The Customer domain owns who our customers are — how they register, how their profile is maintained, and how they are au...Ownercustomer-platformMapView docs and Reviews & RatingsReviews & RatingsDomain•v1.0.0The Reviews & Ratings domain owns customer feedback on products — how reviews are submitted, moderated, published and ag...Ownerreviews-platformMapView docs support the buying experience. They are still product-critical, but their change cadence and runtime failure modes are different from checkout orchestration.

Catalog and Search keep product data discoverable. Customer and Identity keep profiles and authentication separate from order state. Reviews and Ratings feed product trust signals back into the storefront.

Integration boundaries

External systems are modelled explicitly so ownership and failure handling are visible. StripeStripeSystem•v1.0.0External payment processor used by Acme Inc to charge cards and issue refunds. It receives payment and refund requests a...Ownerpayments-platformMapView docs, Fraud DetectionFraud DetectionSystem•v1.0.0External provider that screens payments for fraud. It consumes payment requests and returns a pass or fail verdict. Ownerpayments-platformMapView docs and CarrierCarrierSystem•v1.0.0External carrier that delivers shipments to customers. It accepts shipment requests and reports delivery progress back. Ownerfulfilment-platformMapView docs are outside Acme’s control. Internal services should treat these integrations as unreliable boundaries and persist enough state to retry safely.

Change guidance

When a change crosses a domain boundary, update both sides of the contract. For example, changing checkout payloads requires reviewing Cart Checked OutCart Checked OutEvent•v1.0.0Published when a customer has checked out their cart. Ownershopping-platformSchemaMapView docs, the Checkout SagaCheckout SagaFlow•v1.0.0How the Checkout Orchestrator turns a checked-out cart into an order — reserving inventory, authorizing payment and crea...Ownerordering-platformView flowView docs, and any commands sent by Checkout OrchestratorCheckout OrchestratorService•v1.0.0Runs the checkout saga. Reserves inventory, authorizes payment and creates the order, coordinating the steps that turn a...Publishesreserve-inventory, authorize-payment +1Ownerordering-platformMapRepoView docs.

PreviousArchitecture overviewNextSystems map

On this page

Core domainsSupporting domainsIntegration boundariesChange guidance

Document Owners (1)

David Boyne

EventCatalog Backstage Integration

Missing license key for backstage integration.

Please configure the backstage plugin to embed this page into Backstage.

Configure backstage plugin →