⌘K
EventCatalogAcme Inc
HomeDocs
Browse
CatalogSchemas & APIs
Organization
TeamsUsers

Settings
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 OrderFlow•v1.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 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.

Flow map

Happy path

  1. The customer checks out through Cart APICart APIService•v1.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 CartCommand•v1.0.0Command to check out a shopping cart. Ownershopping-platformSchemaMapView docs.
  2. Cart APICart APIService•v1.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 OutEvent•v1.0.0Published when a customer has checked out their cart. Ownershopping-platformSchemaMapView docs.
  3. Checkout APICheckout APIService•v1.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 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 start checkout orchestration.
  4. 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 reserves inventory with Reserve InventoryReserve InventoryCommand•v1.0.0Command to reserve stock for the items in a checked-out cart. Ownerordering-platformSchemaMapView docs.
  5. It authorizes payment with Authorize PaymentAuthorize PaymentCommand•v1.0.0Command to authorize payment for the total of a checked-out cart. Ownerordering-platformSchemaMapView docs.
  6. It creates the order with Create OrderCreate OrderCommand•v1.0.0Command to create a new order from a checked-out cart. Ownerordering-platformSchemaMapView docs.
  7. Order ServiceOrder ServiceService•v1.0.0The system of record for orders. Creates and cancels orders, serves order lookups, and publishes events as orders move t...Publishesorder-created, order-completed +1Subscribescreate-order, cancel-order +1APIsAsyncAPIOwnerordering-platformMapRepoView docs publishes Order CreatedOrder CreatedEvent•v1.0.0Published when a new order has been created. Ownerordering-platformSchemaMapView docs and eventually Order CompletedOrder CompletedEvent•v1.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 InventoryCommand•v1.0.0Command to reserve stock for the items in a checked-out cart. Ownerordering-platformSchemaMapView docs or Authorize PaymentAuthorize PaymentCommand•v1.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
Review the Acme place-an-order flow and identify the operational impact of a checkout change. Focus on cart checkout,
inventory reservation, payment authorization, order creation, fulfilment handoff, compensation behavior and teams that
need to review the change. Return a concise impact checklist with risks and required catalog updates.

Review the Acme place-an-order flow and identify the operational impact of a checkout change. Focus on cart checkout, inventory reservation, payment authorization, order creation, fulfilment handoff, compensation behavior and teams that need to review the change. Return a concise impact checklist with risks and required catalog updates.

Use 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 for the detailed orchestration view.

PreviousReviews and ratingsNextCheckout saga

On this page

Flow mapHappy pathImportant boundariesFailure points

Document Owners (1)

Ordering Platform

EventCatalog Backstage Integration

Missing license key for backstage integration.

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

Configure backstage plugin →