Flows

Place an order

The end-to-end customer purchase journey from cart checkout to confirmed order and downstream fulfilment.

Flow

Place an OrderPlace an OrderFlowv1.0.0The end-to-end journey from a customer checking out their cart to a confirmed order — spanning the Shopping and Ordering...Ownerordering-platformView flowView docs is the highest-value customer journey in the catalog. It spans ShoppingShoppingDomainv1.0.0The Shopping domain owns the customer's path to purchase — building a cart, applying promotions, and checking out. It co...Ownershopping-platformMapView docs, OrderingOrderingDomainv1.0.0The Ordering domain turns a checked-out cart into a confirmed order. It orchestrates checkout — reserving inventory, aut...Ownerordering-platformMapView docs, PaymentsPaymentsDomainv1.0.0The Payments domain takes payment for orders and processes refunds. It orchestrates authorization and capture through an...Ownerpayments-platformMapView docs and FulfilmentFulfilmentDomainv1.0.0The Fulfilment domain gets a confirmed order to the customer. It reserves stock, picks and packs orders in the warehouse...Ownerfulfilment-platformMapView docs.

Flow map

Happy path

  1. The customer checks out through Cart APICart APIServicev1.0.0The public-facing API for shopping carts. Handles commands to add and remove items and to check out, and publishes an ev...Publishescart-checked-out, calculate-discountSubscribesadd-item-to-cart, remove-item-from-cart +1APIsOpenAPIOwnershopping-platformMapRepoView docs using Checkout CartCheckout CartCommandv1.0.0Command to check out a shopping cart. Ownershopping-platformSchemaMapView docs.
  2. Cart APICart APIServicev1.0.0The public-facing API for shopping carts. Handles commands to add and remove items and to check out, and publishes an ev...Publishescart-checked-out, calculate-discountSubscribesadd-item-to-cart, remove-item-from-cart +1APIsOpenAPIOwnershopping-platformMapRepoView docs publishes Cart Checked OutCart Checked OutEventv1.0.0Published when a customer has checked out their cart. Ownershopping-platformSchemaMapView docs.
  3. Checkout APICheckout APIServicev1.0.0The entry point to the Checkout System. Receives the checkout command from the Shopping domain and starts the checkout f...Subscribescheckout-cartOwnerordering-platformMapRepoView docs and Checkout OrchestratorCheckout OrchestratorServicev1.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 start checkout orchestration.
  4. Checkout OrchestratorCheckout OrchestratorServicev1.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 reserves inventory with Reserve InventoryReserve InventoryCommandv1.0.0Command to reserve stock for the items in a checked-out cart. Ownerordering-platformSchemaMapView docs.
  5. It authorizes payment with Authorize PaymentAuthorize PaymentCommandv1.0.0Command to authorize payment for the total of a checked-out cart. Ownerordering-platformSchemaMapView docs.
  6. It creates the order with Create OrderCreate OrderCommandv1.0.0Command to create a new order from a checked-out cart. Ownerordering-platformSchemaMapView docs.
  7. Order ServiceOrder ServiceServicev1.0.0The system of record for orders. Creates and cancels orders, serves order lookups, and publishes events as orders move t...Publishesorder-created, order-confirmed +9Subscribescreate-order, cancel-order +1APIsAsyncAPIOwnerordering-platformMapRepoView docs publishes Order CreatedOrder CreatedEventv1.0.0Published when a new order has been created. Ownerordering-platformSchemaMapView docs and eventually Order CompletedOrder CompletedEventv1.0.0Published when an order has been fulfilled and completed. Ownerordering-platformSchemaMapView docs.
  8. Fulfilment consumes completed orders and prepares shipment.

Important boundaries

The flow crosses several ownership boundaries. Shopping owns the cart, Ordering owns the order, Payments owns payment outcome, and Fulfilment owns stock and shipping. Each handoff is a contract boundary.

Failure points

The two most important failure points are inventory and payment. If Reserve InventoryReserve InventoryCommandv1.0.0Command to reserve stock for the items in a checked-out cart. Ownerordering-platformSchemaMapView docs or Authorize PaymentAuthorize PaymentCommandv1.0.0Command to authorize payment for the total of a checked-out cart. Ownerordering-platformSchemaMapView docs fails, checkout must compensate and avoid creating an order.

Analyze checkout impact
Open in Cursor

Use Checkout SagaCheckout SagaFlowv1.0.0How the Checkout Orchestrator turns a checked-out cart into an order — reserving inventory, authorizing payment and crea...Ownerordering-platformView flowView docs for the detailed orchestration view.