# Acme Inc EventCatalog Documentation > Discover, Explore and Document your Event Driven Architectures. ## Events - [Campaign Offer Sent - campaign-offer-sent - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/campaign-offer-sent/1.0.0.mdx) - Published when a campaign offer has been sent to a customer. - [Cart Checked Out - cart-checked-out - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/cart-checked-out/1.0.0.mdx) - Published when a customer has checked out their cart. - [Customer Authenticated - customer-authenticated - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/customer-authenticated/1.0.0.mdx) - Published when a customer has successfully authenticated. - [Customer Notified - customer-notified - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/customer-notified/1.0.0.mdx) - Published after a notification has been sent to a customer on one of their preferred channels. - [Customer Registered - customer-registered - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/customer-registered/1.0.0.mdx) - Published when a new customer has registered. - [Customer Updated - customer-updated - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/customer-updated/1.0.0.mdx) - Published when an existing customer's profile has changed. - [Discount Calculated - discount-calculated - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/discount-calculated/1.0.0.mdx) - Published when a discount has been calculated for a cart. - [Fraud Check Failed - fraud-check-failed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/fraud-check-failed/1.0.0.mdx) - Published when a payment fails fraud screening. - [Fraud Check Passed - fraud-check-passed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/fraud-check-passed/1.0.0.mdx) - Published when a payment passes fraud screening. - [Inventory Reserved - inventory-reserved - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/inventory-reserved/1.0.0.mdx) - Published when stock has been successfully reserved for an order. - [Inventory Unavailable - inventory-unavailable - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/inventory-unavailable/1.0.0.mdx) - Published when stock could not be reserved for an order. - [Loyalty Points Earned - loyalty-points-earned - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/loyalty-points-earned/1.0.0.mdx) - Published when a customer earns loyalty points for a completed order. - [Loyalty Points Reversed - loyalty-points-reversed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/loyalty-points-reversed/1.0.0.mdx) - Published when loyalty points are removed from a customer because the order that earned them was cancelled. - [Order Amended - order-amended - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-amended/1.0.0.mdx) - Published when an accepted order is changed before fulfilment begins. - [Order Archived - order-archived - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-archived/1.0.0.mdx) - Published when a terminal order is moved from operational storage to the long-term archive. - [Order Cancelled - order-cancelled - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-cancelled/1.0.0.mdx) - Published when an order has been cancelled. - [Order Completed - order-completed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-completed/1.0.0.mdx) - Published when an order has been fulfilled and completed. - [Order Confirmed - order-confirmed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-confirmed/1.0.0.mdx) - Published when payment, inventory, and order validation have succeeded and the order is ready for fulfilment. - [Order Created - order-created - 0.3.0 ](https://demo.eventcatalog.dev/docs/events/order-created/0.3.0.mdx) - Published when a new order has been created. This early contract only included identifiers and the creation timestamp. - [Order Created - order-created - 0.6.0 ](https://demo.eventcatalog.dev/docs/events/order-created/0.6.0.mdx) - Published when a new order has been created. This version added the order total and currency for payment reconciliation. - [Order Created - order-created - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-created/1.0.0.mdx) - Published when a new order has been created. - [Order Delivery Address Changed - order-delivery-address-changed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-delivery-address-changed/1.0.0.mdx) - Published when the validated delivery address changes before dispatch. - [Order Fulfilment Started - order-fulfilment-started - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-fulfilment-started/1.0.0.mdx) - Published when an order is released to a fulfilment location for picking and packing. - [Order Hold Released - order-hold-released - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-hold-released/1.0.0.mdx) - Published when an operational hold is resolved and the order can continue. - [Order Packed - order-packed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-packed/1.0.0.mdx) - Published when an order has been picked and packed in the warehouse. - [Order Placed On Hold - order-placed-on-hold - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-placed-on-hold/1.0.0.mdx) - Published when order progression is paused for a review or dependency check. - [Order Ready For Shipping - order-ready-for-shipping - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-ready-for-shipping/1.0.0.mdx) - Published when a packed order is ready to be handed to a carrier for shipping. - [Order Status Changed - order-status-changed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/order-status-changed/1.0.0.mdx) - Published for every accepted transition in the order lifecycle state machine. - [Payment Failed - payment-failed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/payment-failed/1.0.0.mdx) - Published by Stripe when a charge fails. - [Payment Requested - payment-requested - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/payment-requested/1.0.0.mdx) - Published when the Payment Processing System requests a charge from the payment processor. - [Payment Succeeded - payment-succeeded - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/payment-succeeded/1.0.0.mdx) - Published by Stripe when a charge succeeds. - [Product Created - product-created - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/product-created/1.0.0.mdx) - Published when a new product has been added to the catalog. - [Product Deleted - product-deleted - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/product-deleted/1.0.0.mdx) - Published when a product has been removed from the catalog. - [Product Updated - product-updated - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/product-updated/1.0.0.mdx) - Published when an existing product's data has changed. - [Rating Updated - rating-updated - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/rating-updated/1.0.0.mdx) - Published when a product's aggregate rating changes as a result of a newly published review. - [Refund Processed - refund-processed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/refund-processed/1.0.0.mdx) - Published by Stripe when a refund has been processed. - [Refund Requested - refund-requested - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/refund-requested/1.0.0.mdx) - Published when the Payment Processing System requests a refund from the payment processor. - [Return Approved - return-approved - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/return-approved/1.0.0.mdx) - Published when a return request passes the returns policy and the customer can send the items back. - [Return Received - return-received - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/return-received/1.0.0.mdx) - Published when returned items have arrived at the warehouse and been inspected. - [Return Requested - return-requested - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/return-requested/1.0.0.mdx) - Published when a customer has requested to return items from an order. - [Review Flagged - review-flagged - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/review-flagged/1.0.0.mdx) - Published when a published review is flagged and needs to be screened again. - [Review Helpful Voted - review-helpful-voted - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/review-helpful-voted/1.0.0.mdx) - Published when a review's helpful count changes as a result of a customer vote. - [Review Published - review-published - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/review-published/1.0.0.mdx) - Published when a submitted review passes moderation and becomes visible on the storefront. - [Review Rejected - review-rejected - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/review-rejected/1.0.0.mdx) - Published when a submitted review fails moderation (spam, abuse or policy violation) and will not be shown. - [Review Submitted - review-submitted - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/review-submitted/1.0.0.mdx) - Published when a customer submits a review. The review is stored but not yet visible — it awaits moderation. - [Shipment Created - shipment-created - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/shipment-created/1.0.0.mdx) - Published by the carrier when a shipment has been created and dispatched. - [Shipment Delivered - shipment-delivered - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/shipment-delivered/1.0.0.mdx) - Published by the carrier when a shipment has been delivered to the customer. - [Shipment Failed - shipment-failed - 1.0.0 ](https://demo.eventcatalog.dev/docs/events/shipment-failed/1.0.0.mdx) - Published by the carrier when a shipment could not be delivered. ## Commands - [Add Item To Cart - add-item-to-cart - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/add-item-to-cart/1.0.0.mdx) - Command to add an item to a shopping cart. - [Authenticate Customer - authenticate-customer - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/authenticate-customer/1.0.0.mdx) - Command to authenticate a customer with their credentials. - [Authorize Payment - authorize-payment - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/authorize-payment/1.0.0.mdx) - Command to authorize payment for the total of a checked-out cart. - [Calculate Discount - calculate-discount - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/calculate-discount/1.0.0.mdx) - Command to calculate the discount that applies to a cart. - [Cancel Order - cancel-order - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/cancel-order/1.0.0.mdx) - Command to cancel an existing order. - [Checkout Cart - checkout-cart - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/checkout-cart/1.0.0.mdx) - Command to check out a shopping cart. - [Create Order - create-order - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/create-order/1.0.0.mdx) - Command to create a new order from a checked-out cart. - [Create Product - create-product - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/create-product/1.0.0.mdx) - Command to add a new product to the catalog. - [Create Shipment - create-shipment - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/create-shipment/1.0.0.mdx) - Command to create a shipment with a carrier for a packed order. - [Delete Product - delete-product - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/delete-product/1.0.0.mdx) - Command to remove a product from the catalog. - [Flag Review - flag-review - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/flag-review/1.0.0.mdx) - Command issued by a customer or moderator to flag a published review for re-moderation. - [Register Customer - register-customer - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/register-customer/1.0.0.mdx) - Command to register a new customer. - [Release Inventory - release-inventory - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/release-inventory/1.0.0.mdx) - Command to release a previously held inventory reservation. - [Remove Item From Cart - remove-item-from-cart - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/remove-item-from-cart/1.0.0.mdx) - Command to remove an item from a shopping cart. - [Request Return - request-return - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/request-return/1.0.0.mdx) - Command sent by a customer to return one or more items from a delivered order. - [Reserve Inventory - reserve-inventory - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/reserve-inventory/1.0.0.mdx) - Command to reserve stock for the items in a checked-out cart. - [Submit Review - submit-review - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/submit-review/1.0.0.mdx) - Command issued by a customer to submit a review and rating for a product. - [Update Customer - update-customer - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/update-customer/1.0.0.mdx) - Command to update an existing customer's profile. - [Update Product - update-product - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/update-product/1.0.0.mdx) - Command to update an existing product in the catalog. - [Vote Review Helpful - vote-review-helpful - 1.0.0 ](https://demo.eventcatalog.dev/docs/commands/vote-review-helpful/1.0.0.mdx) - Command issued by a customer to mark a published review as helpful (or remove their vote). ## Queries - [Get Customer - get-customer - 1.0.0 ](https://demo.eventcatalog.dev/docs/queries/get-customer/1.0.0.mdx) - Query to fetch a single customer by their identifier. - [Get Order - get-order - 1.0.0 ](https://demo.eventcatalog.dev/docs/queries/get-order/1.0.0.mdx) - Query to fetch a single order by its identifier. - [Get Product - get-product - 1.0.0 ](https://demo.eventcatalog.dev/docs/queries/get-product/1.0.0.mdx) - Query to fetch a single product by its identifier. - [Get Product Reviews - get-product-reviews - 1.0.0 ](https://demo.eventcatalog.dev/docs/queries/get-product-reviews/1.0.0.mdx) - Query to fetch the published reviews and aggregate rating for a product. - [Get Stock Level - get-stock-level - 1.0.0 ](https://demo.eventcatalog.dev/docs/queries/get-stock-level/1.0.0.mdx) - Query to fetch the current available stock level for a product. - [Search Products - search-products - 1.0.0 ](https://demo.eventcatalog.dev/docs/queries/search-products/1.0.0.mdx) - Query to search the catalog for products matching a term, with optional filters and pagination. ## Agents ## Services - [Campaign Service - campaign-service - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/campaign-service/1.0.0.mdx) - Runs the welcome campaign and sends customers campaign offers. - [Carrier Adapter - carrier-adapter - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/carrier-adapter/1.0.0.mdx) - Translates Acme Inc shipment requests into the external carrier's format and sends them to create a shipment. - [Shipping API - carrier-shipping-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/carrier-shipping-api/1.0.0.mdx) - The carrier's API for creating shipments. Acme Inc's Shipping System calls it to dispatch packed orders. - [Tracking API - carrier-tracking-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/carrier-tracking-api/1.0.0.mdx) - The carrier's API for reporting delivery progress. It notifies Acme Inc when a shipment is created, delivered, or fails. - [Cart API - cart-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/cart-api/1.0.0.mdx) - The public-facing API for shopping carts. Handles commands to add and remove items and to check out, and publishes an event when a cart is checked out. - [Checkout API - checkout-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/checkout-api/1.0.0.mdx) - The entry point to the Checkout System. Receives the checkout command from the Shopping domain and starts the checkout flow. - [Checkout Orchestrator - checkout-orchestrator - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/checkout-orchestrator/1.0.0.mdx) - Runs the checkout saga. Reserves inventory, authorizes payment and creates the order, coordinating the steps that turn a checked-out cart into a confirmed order. - [Customer API - customer-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/customer-api/1.0.0.mdx) - The public-facing API for customer profiles. Handles commands to register and update customers, serves customer reads, and publishes customer change events. - [Fraud API - fraud-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/fraud-api/1.0.0.mdx) - External fraud screening API. It consumes payment requests and returns a pass or fail verdict for each. - [Inventory Service - inventory-service - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/inventory-service/1.0.0.mdx) - The system of record for stock. Reserves and releases inventory, serves stock-level queries, and publishes events when stock is reserved or unavailable. - [Ledger Exporter - ledger-exporter - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/ledger-exporter/1.0.0.mdx) - Builds the month-end ledger export used for finance reporting. It runs on a schedule and doesn't send or receive any messages. - [Loyalty Service - loyalty-service - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/loyalty-service/1.0.0.mdx) - Awards loyalty points when orders complete and reverses them when orders are cancelled. Owns the points ledger and customer balances. - [Notification Service - notification-service - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/notification-service/1.0.0.mdx) - Sends customers email, SMS and push notifications in response to events from across Acme Inc, honouring each customer's channel preferences. - [OAuth API - oauth-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/oauth-api/1.0.0.mdx) - OAuth-style authentication API for the Identity Provider. Verifies customer credentials and publishes an event when a customer successfully authenticates. - [Offer Service - offer-service - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/offer-service/1.0.0.mdx) - Builds follow-up offers for customers after they order, priced with the Shopping domain's promotions. - [Order Service - order-service - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/order-service/1.0.0.mdx) - The system of record for orders. Creates and cancels orders, serves order lookups, and publishes events as orders move through their lifecycle. - [Payment API - payment-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/payment-api/1.0.0.mdx) - Receives payment authorization requests from the Ordering domain and records the payment intent, kicking off the charge against the payment processor. - [Payment Worker - payment-worker - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/payment-worker/1.0.0.mdx) - Drives charges and refunds against the external payment processor and records the outcomes. It requests payments and refunds, and consumes the success/failure events Stripe returns. - [Picking Worker - picking-worker - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/picking-worker/1.0.0.mdx) - Works through picking jobs on the warehouse floor and signals when an order has been picked and packed. - [Product API - product-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/product-api/1.0.0.mdx) - The public-facing API for the product catalog. Handles commands to create, update and delete products, serves product reads, and is the entry point into the Product Catalog System. - [Product Search Publisher - product-search-publisher - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/product-search-publisher/1.0.0.mdx) - Reads product changes from the product database (outbox) and reliably publishes product-created, product-updated and product-deleted events for the Search System to consume. - [Product Worker - product-worker - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/product-worker/1.0.0.mdx) - Background worker that handles long-running and asynchronous catalog work off the request path, such as enrichment, image processing and bulk imports. - [Promotion Service - promotion-service - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/promotion-service/1.0.0.mdx) - Evaluates promotion rules and calculates the discount that applies to a cart. Receives discount requests and publishes the calculated result. - [Rating Aggregator - rating-aggregator - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/rating-aggregator/1.0.0.mdx) - Keeps each product's aggregate star rating up to date as reviews are published, and serves it fast from a cache. - [Returns API - returns-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/returns-api/1.0.0.mdx) - Public API customers use to start a return. Validates the request against the original order and records it. - [Returns Processor - returns-processor - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/returns-processor/1.0.0.mdx) - Applies the returns policy to new requests and tracks returned parcels until they arrive back at the warehouse. - [Review API - review-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/review-api/1.0.0.mdx) - The public-facing API for product reviews. Accepts review submissions, serves published reviews, and is the entry point into the Reviews & Ratings domain. - [Review Moderation Worker - review-moderation-worker - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/review-moderation-worker/1.0.0.mdx) - Asynchronous worker that screens submitted reviews for spam, abuse and policy violations, then publishes or rejects them. - [Search API - search-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/search-api/1.0.0.mdx) - Public-facing API that serves fast, relevant product search to the rest of the business, reading from the search index. - [Search Indexer - search-indexer - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/search-indexer/1.0.0.mdx) - Consumes product change events from the Product Catalog System and keeps the search index up to date so products are discoverable. - [Shipping API - shipping-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/shipping-api/1.0.0.mdx) - Receives ready-for-shipping orders, selects a carrier, and kicks off shipment creation. - [Payments API - stripe-payments-api - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/stripe-payments-api/1.0.0.mdx) - Stripe's API for charging cards and issuing refunds. Acme Inc's Payment Processing System calls it to request payments and refunds. - [Webhook Endpoint - stripe-webhook-endpoint - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/stripe-webhook-endpoint/1.0.0.mdx) - Stripe's webhook delivery for payment and refund outcomes. It notifies Acme Inc whether a charge succeeded or failed, and when a refund is processed. - [Warehouse Service - warehouse-service - 1.0.0 ](https://demo.eventcatalog.dev/docs/services/warehouse-service/1.0.0.mdx) - Orchestrates picking and packing in the warehouse. It reacts to completed orders, creates picking jobs, and signals when an order is ready to ship. ## Data Products ## Domains - [Catalog - catalog - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/catalog/1.0.0.mdx) - The Catalog domain owns everything about products — how they are created, maintained and made discoverable across Acme Inc. It is the source of truth for product data and powers product search across the business. - [Customer - customer - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/customer/1.0.0.mdx) - The Customer domain owns who our customers are — how they register, how their profile is maintained, and how they are authenticated across Acme Inc. It is the source of truth for customer identity and profile data. - [Fulfilment - fulfilment - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/fulfilment/1.0.0.mdx) - The Fulfilment domain gets a confirmed order to the customer. It reserves stock, picks and packs orders in the warehouse, and hands them to carriers for delivery. - [Loyalty - loyalty - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/loyalty/1.0.0.mdx) - The Loyalty subdomain rewards customers for shopping with Acme Inc. It awards points when orders complete, reverses them when orders are cancelled, and keeps each customer's points balance. - [Marketing - marketing - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/marketing/1.0.0.mdx) - The Marketing domain runs campaigns and personalised offers. It listens for new customers and confirmed orders, prices offers with the Shopping domain's promotions and looks up products in the Catalog. - [Customer Notifications - notifications - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/notifications/1.0.0.mdx) - The Customer Notifications subdomain keeps customers informed. It listens to key moments across Ordering, Fulfilment, Payments, Reviews, Loyalty and Returns and sends the customer an email, SMS or push notification on their preferred channel. - [Ordering - ordering - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/ordering/1.0.0.mdx) - The Ordering domain turns a checked-out cart into a confirmed order. It orchestrates checkout — reserving inventory, authorizing payment and creating the order — and owns the lifecycle of every order. - [Payments - payments - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/payments/1.0.0.mdx) - The Payments domain takes payment for orders and processes refunds. It orchestrates authorization and capture through an external payment processor, and screens payments for fraud. - [Returns - returns - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/returns/1.0.0.mdx) - The Returns subdomain handles items customers send back. It accepts return requests, approves them against the returns policy, and confirms when returned items arrive at the warehouse so they can be refunded and restocked. - [Reviews & Ratings - reviews - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/reviews/1.0.0.mdx) - The Reviews & Ratings domain owns customer feedback on products — how reviews are submitted, moderated, published and aggregated into the star ratings shown across the storefront. - [Shopping - shopping - 1.0.0 ](https://demo.eventcatalog.dev/docs/domains/shopping/1.0.0.mdx) - The Shopping domain owns the customer's path to purchase — building a cart, applying promotions, and checking out. It coordinates the cart and the discounts that apply to it. ## Flows - [Checkout Saga - checkout-saga - 1.0.0 ](https://demo.eventcatalog.dev/docs/flows/checkout-saga/1.0.0.mdx) - How the Checkout Orchestrator turns a checked-out cart into an order — reserving inventory, authorizing payment and creating the order, with compensation when a step fails. - [Order Cancellation - order-cancellation - 1.0.0 ](https://demo.eventcatalog.dev/docs/flows/order-cancellation/1.0.0.mdx) - How an order is cancelled — whether requested by the customer or triggered by a failure — and the events that tell the rest of the business to unwind it. - [Order to Doorstep - order-to-doorstep - 1.0.0 ](https://demo.eventcatalog.dev/docs/flows/order-to-doorstep/1.0.0.mdx) - The end-to-end journey of an order, from a shopper finding a product to the parcel arriving at their door — and what happens when payment fails, stock runs out, delivery goes wrong or the customer sends it back. Crosses every business domain in the catalog. - [Place an Order - place-an-order - 1.0.0 ](https://demo.eventcatalog.dev/docs/flows/place-an-order/1.0.0.mdx) - The end-to-end journey from a customer checking out their cart to a confirmed order — spanning the Shopping and Ordering domains, including the checkout saga and its failure path. - [Product Launch - product-launch - 1.0.0 ](https://demo.eventcatalog.dev/docs/flows/product-launch/1.0.0.mdx) - How a new product goes from a merchandiser's draft to live on the storefront — enriched, indexed for search, stocked, given a launch offer and announced to customers — and how it's pulled if customers report a fault. - [Product Search Indexing - product-search-indexing - 1.0.0 ](https://demo.eventcatalog.dev/docs/flows/product-search-indexing/1.0.0.mdx) - How a change to a product in the catalog reliably flows into the search index — via the outbox, product events and the indexer — so search stays in sync without coupling to the catalog database. - [Review Submission - review-submission - 1.0.0 ](https://demo.eventcatalog.dev/docs/flows/review-submission/1.0.0.mdx) - How a customer's product review travels from submission, through moderation, to being published and folded into the product's aggregate rating. ## Channels - [Product Events - catalog.product-events - 1.0.0 - protocol - kafka](https://demo.eventcatalog.dev/docs/channels/catalog.product-events/1.0.0.mdx) - Kafka topic that carries product lifecycle events from the Product Catalog System. - [Search Product Events - catalog.product-events.search - 1.0.0 - protocol - kafka](https://demo.eventcatalog.dev/docs/channels/catalog.product-events.search/1.0.0.mdx) - Filtered Kafka topic containing product changes that must be applied to the search index. - [Search Indexer Queue - catalog.search-indexer.queue - 1.0.0 - protocol - sqs](https://demo.eventcatalog.dev/docs/channels/catalog.search-indexer.queue/1.0.0.mdx) - SQS queue from which the Search Indexer consumes product lifecycle events. - [Loyalty Events - customer.loyalty-events - 1.0.0 - protocol - kafka](https://demo.eventcatalog.dev/docs/channels/customer.loyalty-events/1.0.0.mdx) - Kafka topic that carries loyalty points events from the Loyalty System. - [Returns - fulfilment.returns - 1.0.0 - protocol - kafka](https://demo.eventcatalog.dev/docs/channels/fulfilment.returns/1.0.0.mdx) - Kafka topic that carries return events from the Returns System as a return moves from request to receipt. - [Order Events - ordering.order-events - 1.0.0 - protocol - kafka](https://demo.eventcatalog.dev/docs/channels/ordering.order-events/1.0.0.mdx) - Kafka topic that carries order lifecycle events from the Order Management System to the rest of Acme Inc. - [Payment Outcomes - payments.outcomes - 1.0.0 - protocol - http](https://demo.eventcatalog.dev/docs/channels/payments.outcomes/1.0.0.mdx) - HTTP webhook channel used to deliver payment and refund outcomes from Stripe. - [Discount Commands - shopping.discount-commands - 1.0.0 - protocol - sqs](https://demo.eventcatalog.dev/docs/channels/shopping.discount-commands/1.0.0.mdx) - SQS queue used to send discount calculation commands to the Promotion Service. ## Ubiquitous Language - Catalog Domain - [Product: - A single item Acme Inc sells, with a name, price, category and lifecycle status.](https://demo.eventcatalog.dev/docs/domains/catalog/language.mdx) - [SKU: - Stock Keeping Unit — the unique, human-meaningful code that identifies a product.](https://demo.eventcatalog.dev/docs/domains/catalog/language.mdx) - [Catalog: - The complete, authoritative collection of products Acme Inc offers.](https://demo.eventcatalog.dev/docs/domains/catalog/language.mdx) - [Search Index: - A denormalised, search-optimised copy of the catalog that powers product search.](https://demo.eventcatalog.dev/docs/domains/catalog/language.mdx) - [Lifecycle Status: - Where a product sits in its life: DRAFT, ACTIVE or ARCHIVED.](https://demo.eventcatalog.dev/docs/domains/catalog/language.mdx) - [Outbox: - A table where product changes are recorded in the same transaction, then published as events.](https://demo.eventcatalog.dev/docs/domains/catalog/language.mdx) - Customer Domain - [Customer: - A person with an account at Acme Inc, identified by a unique customer id and email.](https://demo.eventcatalog.dev/docs/domains/customer/language.mdx) - [Identity: - The credentials and login information used to prove a customer is who they say they are.](https://demo.eventcatalog.dev/docs/domains/customer/language.mdx) - [Authentication: - Verifying that a sign-in attempt belongs to a real customer.](https://demo.eventcatalog.dev/docs/domains/customer/language.mdx) - [Credential: - A secret (such as a password) a customer uses to authenticate. Never stored in plain text.](https://demo.eventcatalog.dev/docs/domains/customer/language.mdx) - [Account Status: - Where a customer account sits: ACTIVE, SUSPENDED or CLOSED.](https://demo.eventcatalog.dev/docs/domains/customer/language.mdx) - [User Directory: - The authoritative store of customer credentials and login identities.](https://demo.eventcatalog.dev/docs/domains/customer/language.mdx) - Fulfilment Domain - [Fulfilment: - Everything that gets a confirmed order physically to the customer — stock, packing and shipping.](https://demo.eventcatalog.dev/docs/domains/fulfilment/language.mdx) - [Stock: - The quantity of a product physically available to sell.](https://demo.eventcatalog.dev/docs/domains/fulfilment/language.mdx) - [Reservation: - A temporary hold on stock for a specific order, taken during checkout.](https://demo.eventcatalog.dev/docs/domains/fulfilment/language.mdx) - [Picking: - Collecting an order's items from the warehouse shelves.](https://demo.eventcatalog.dev/docs/domains/fulfilment/language.mdx) - [Packing: - Boxing up a picked order into one or more parcels ready for shipping.](https://demo.eventcatalog.dev/docs/domains/fulfilment/language.mdx) - [Shipment: - A packed order handed to a carrier for delivery, tracked from dispatch to delivery.](https://demo.eventcatalog.dev/docs/domains/fulfilment/language.mdx) - [Carrier: - The external delivery company that transports shipments to customers.](https://demo.eventcatalog.dev/docs/domains/fulfilment/language.mdx) - [Tracking Number: - A code from the carrier that lets the customer follow a shipment's progress.](https://demo.eventcatalog.dev/docs/domains/fulfilment/language.mdx) - Ordering Domain - [Order: - A confirmed intent to purchase, created from a checked-out cart and owned for its whole lifecycle.](https://demo.eventcatalog.dev/docs/domains/ordering/language.mdx) - [Checkout: - The flow that turns a checked-out cart into a confirmed order.](https://demo.eventcatalog.dev/docs/domains/ordering/language.mdx) - [Saga: - A multi-step process with compensating actions, used to coordinate checkout across systems.](https://demo.eventcatalog.dev/docs/domains/ordering/language.mdx) - [Reservation: - A temporary hold on stock for the items in a cart, taken during checkout.](https://demo.eventcatalog.dev/docs/domains/ordering/language.mdx) - [Authorization: - A hold placed on a customer's payment method for the order total, captured when the order is created.](https://demo.eventcatalog.dev/docs/domains/ordering/language.mdx) - [Order Item: - A single product line within an order: a product, a quantity and the price paid per unit.](https://demo.eventcatalog.dev/docs/domains/ordering/language.mdx) - [Order Status: - Where an order sits in its life: CREATED, COMPLETED or CANCELLED.](https://demo.eventcatalog.dev/docs/domains/ordering/language.mdx) - Payments Domain - [Payment: - A charge taken from a customer to pay for an order.](https://demo.eventcatalog.dev/docs/domains/payments/language.mdx) - [Authorization: - A hold placed on a customer's payment method, confirming funds are available before capture.](https://demo.eventcatalog.dev/docs/domains/payments/language.mdx) - [Capture: - Taking the held funds from an authorized payment — turning an authorization into an actual charge.](https://demo.eventcatalog.dev/docs/domains/payments/language.mdx) - [Refund: - Returning money to a customer for a previous payment, in full or in part.](https://demo.eventcatalog.dev/docs/domains/payments/language.mdx) - [Payment Processor: - The external provider (Stripe) that charges cards and issues refunds on Acme Inc's behalf.](https://demo.eventcatalog.dev/docs/domains/payments/language.mdx) - [Fraud Screening: - Checking a payment for signs of fraud before allowing the charge to proceed.](https://demo.eventcatalog.dev/docs/domains/payments/language.mdx) - [Webhook: - A callback the payment processor sends to report the outcome of a charge or refund.](https://demo.eventcatalog.dev/docs/domains/payments/language.mdx) - Shopping Domain - [Cart: - A customer's in-progress collection of items they intend to buy.](https://demo.eventcatalog.dev/docs/domains/shopping/language.mdx) - [Cart Item: - A single product line within a cart: a product, a quantity and a unit price.](https://demo.eventcatalog.dev/docs/domains/shopping/language.mdx) - [Checkout: - The act of finalising a cart — pricing it and committing to purchase.](https://demo.eventcatalog.dev/docs/domains/shopping/language.mdx) - [Promotion: - A rule that reduces the price of a cart, such as a percentage off or a fixed amount.](https://demo.eventcatalog.dev/docs/domains/shopping/language.mdx) - [Discount: - The actual amount taken off a specific cart after evaluating the applicable promotions.](https://demo.eventcatalog.dev/docs/domains/shopping/language.mdx) - [Subtotal: - The total value of a cart's items before any discounts are applied.](https://demo.eventcatalog.dev/docs/domains/shopping/language.mdx) - [Promotion Code: - A code a customer enters at checkout to apply a specific promotion.](https://demo.eventcatalog.dev/docs/domains/shopping/language.mdx) ## Containers (Databases, External Systems) - [Cart Database - cart-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/cart-database/1.0.0.mdx) - PostgreSQL database that is the system of record for shopping carts and their items. - [Customer Database - customer-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/customer-database/1.0.0.mdx) - PostgreSQL database that is the system of record for all customer profile data. - [Inventory Database - inventory-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/inventory-database/1.0.0.mdx) - PostgreSQL database that is the system of record for stock levels and reservations. - [Loyalty Database - loyalty-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/loyalty-database/1.0.0.mdx) - PostgreSQL database that holds the loyalty points ledger and each customer's points balance. - [Notification Preferences - notification-preferences - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/notification-preferences/1.0.0.mdx) - PostgreSQL database holding each customer's notification channels, opt-ins and quiet hours. - [Order Database - order-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/order-database/1.0.0.mdx) - PostgreSQL database that is the system of record for orders and their items. - [Payment Database - payment-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/payment-database/1.0.0.mdx) - PostgreSQL database that is the system of record for payments and refunds. - [Product Database - product-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/product-database/1.0.0.mdx) - PostgreSQL database that is the system of record for all product data. - [Promotion Database - promotion-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/promotion-database/1.0.0.mdx) - PostgreSQL store of promotion and discount rules. - [Rating Cache - rating-cache - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/rating-cache/1.0.0.mdx) - Redis cache that serves each product's aggregate star rating with low latency. - [Returns Database - returns-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/returns-database/1.0.0.mdx) - PostgreSQL database that is the system of record for return requests and their status. - [Review Database - review-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/review-database/1.0.0.mdx) - PostgreSQL database that is the system of record for reviews and their moderation state. - [Search Index - search-index - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/search-index/1.0.0.mdx) - The denormalised, search-optimised index of products that powers product search. - [User Directory - user-directory - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/user-directory/1.0.0.mdx) - The directory of customer credentials and identities — the source of truth for authentication. - [Warehouse Database - warehouse-database - 1.0.0 ](https://demo.eventcatalog.dev/docs/containers/warehouse-database/1.0.0.mdx) - PostgreSQL database that stores picking jobs and their status. ## Entities - Catalog Domain - [Product](https://demo.eventcatalog.dev/docs/entities/product/1.0.0.mdx) - The sellable item Acme manages in the product catalog. - [Product Variant](https://demo.eventcatalog.dev/docs/entities/product-variant/1.0.0.mdx) - A purchasable variation of a product, such as size or color. - [Category](https://demo.eventcatalog.dev/docs/entities/category/1.0.0.mdx) - A merchandising grouping used to organize products for discovery. - [Search Document](https://demo.eventcatalog.dev/docs/entities/search-document/1.0.0.mdx) - The denormalized representation of product data indexed by Search. - Customer Domain - [Customer Profile](https://demo.eventcatalog.dev/docs/entities/customer-profile/1.0.0.mdx) - The customer details Acme uses for commerce interactions. - [Customer Account](https://demo.eventcatalog.dev/docs/entities/customer-account/1.0.0.mdx) - The identity account used to authenticate a customer. - [Authentication Session](https://demo.eventcatalog.dev/docs/entities/authentication-session/1.0.0.mdx) - A successful customer authentication session. - [Customer Address](https://demo.eventcatalog.dev/docs/entities/customer-address/1.0.0.mdx) - A saved address attached to a customer profile. - Fulfilment Domain - [Stock Item](https://demo.eventcatalog.dev/docs/entities/stock-item/1.0.0.mdx) - The inventory record for a product variant at a location. - [Inventory Reservation](https://demo.eventcatalog.dev/docs/entities/inventory-reservation/1.0.0.mdx) - Stock held for a checkout or order before fulfilment. - [Warehouse Pick](https://demo.eventcatalog.dev/docs/entities/warehouse-pick/1.0.0.mdx) - A warehouse task to pick items for a completed order. - [Shipment](https://demo.eventcatalog.dev/docs/entities/shipment/1.0.0.mdx) - A carrier delivery for a packed customer order. - Ordering Domain - [Checkout Session](https://demo.eventcatalog.dev/docs/entities/checkout-session/1.0.0.mdx) - The orchestration state for turning a checked-out cart into an order. - [Order](https://demo.eventcatalog.dev/docs/entities/order/1.0.0.mdx) - The durable customer order created after successful checkout. - [Order Line](https://demo.eventcatalog.dev/docs/entities/order-line/1.0.0.mdx) - A purchased product and quantity within an order. - [Order Status History](https://demo.eventcatalog.dev/docs/entities/order-status-history/1.0.0.mdx) - Audit history of order lifecycle state changes. - Payments Domain - [Payment](https://demo.eventcatalog.dev/docs/entities/payment/1.0.0.mdx) - Acme's internal record of payment intent and outcome for an order. - [Payment Authorization](https://demo.eventcatalog.dev/docs/entities/payment-authorization/1.0.0.mdx) - Approval from a payment provider to reserve funds for an order. - [Refund](https://demo.eventcatalog.dev/docs/entities/refund/1.0.0.mdx) - A request to return money to a customer after payment. - [Fraud Check](https://demo.eventcatalog.dev/docs/entities/fraud-check/1.0.0.mdx) - Fraud screening result associated with a payment attempt. - Reviews & Ratings Domain - [Review](https://demo.eventcatalog.dev/docs/entities/review/1.0.0.mdx) - A customer's review and rating of a product, including its moderation lifecycle. - [Moderation Decision](https://demo.eventcatalog.dev/docs/entities/moderation-decision/1.0.0.mdx) - The outcome of reviewing submitted customer feedback. - [Rating Summary](https://demo.eventcatalog.dev/docs/entities/rating-summary/1.0.0.mdx) - Aggregated review statistics for a product. - [Review Vote](https://demo.eventcatalog.dev/docs/entities/review-vote/1.0.0.mdx) - A customer's helpfulness vote on a product review. - [Review Flag](https://demo.eventcatalog.dev/docs/entities/review-flag/1.0.0.mdx) - A customer report that a review may violate policy. - Shopping Domain - [Cart](https://demo.eventcatalog.dev/docs/entities/cart/1.0.0.mdx) - The customer's active collection of items before an order exists. - [Cart Item](https://demo.eventcatalog.dev/docs/entities/cart-item/1.0.0.mdx) - A product variant and quantity inside a cart. - [Promotion](https://demo.eventcatalog.dev/docs/entities/promotion/1.0.0.mdx) - A commercial offer evaluated against a cart. - [Discount](https://demo.eventcatalog.dev/docs/entities/discount/1.0.0.mdx) - The calculated benefit applied to a cart or cart item. ## Teams - [customer-platform](https://demo.eventcatalog.dev/docs/teams/customer-platform.mdx) - Customer Platform - [fulfilment-platform](https://demo.eventcatalog.dev/docs/teams/fulfilment-platform.mdx) - Fulfilment Platform - [ordering-platform](https://demo.eventcatalog.dev/docs/teams/ordering-platform.mdx) - Ordering Platform - [payments-platform](https://demo.eventcatalog.dev/docs/teams/payments-platform.mdx) - Payments Platform - [product-platform](https://demo.eventcatalog.dev/docs/teams/product-platform.mdx) - Product Platform - [reviews-platform](https://demo.eventcatalog.dev/docs/teams/reviews-platform.mdx) - Reviews Platform - [search-platform](https://demo.eventcatalog.dev/docs/teams/search-platform.mdx) - Search Platform - [shopping-platform](https://demo.eventcatalog.dev/docs/teams/shopping-platform.mdx) - Shopping Platform ## Users - [dboyne](https://demo.eventcatalog.dev/docs/users/dboyne.mdx) - David Boyne ## Custom Docs - [Catalog and search](https://demo.eventcatalog.dev/docs/custom/domains/01-catalog-and-search.mdx) - How product data is owned by the Product Catalog System and projected into Search for customer discovery. - [Shopping and promotions](https://demo.eventcatalog.dev/docs/custom/domains/02-shopping-and-promotions.mdx) - How carts, checkout intent and discount calculation are modelled in the Shopping domain. - [Ordering and checkout](https://demo.eventcatalog.dev/docs/custom/domains/03-ordering-and-checkout.mdx) - How the Ordering domain coordinates checkout and owns the order lifecycle. - [Payments and fraud](https://demo.eventcatalog.dev/docs/custom/domains/04-payments-and-fraud.mdx) - How payment authorization, Stripe integration, refunds and fraud screening are represented in the Payments domain. - [Fulfilment and shipping](https://demo.eventcatalog.dev/docs/custom/domains/05-fulfilment-and-shipping.mdx) - How stock reservation, warehouse packing and carrier handoff work after an order is completed. - [Customer and identity](https://demo.eventcatalog.dev/docs/custom/domains/06-customer-and-identity.mdx) - How customer profiles and authentication are separated across Customer Management and Identity Provider systems. - [Reviews and ratings](https://demo.eventcatalog.dev/docs/custom/domains/07-reviews-and-ratings.mdx) - How the Reviews domain accepts, moderates, publishes and aggregates product feedback. - [Place an order](https://demo.eventcatalog.dev/docs/custom/flows/01-place-an-order.mdx) - The end-to-end customer purchase journey from cart checkout to confirmed order and downstream fulfilment. - [Checkout saga](https://demo.eventcatalog.dev/docs/custom/flows/02-checkout-saga.mdx) - The orchestration pattern used by checkout to coordinate inventory reservation, payment authorization and order creation. - [Product search indexing](https://demo.eventcatalog.dev/docs/custom/flows/03-product-search-indexing.mdx) - How product catalog changes are projected into the Search System for customer-facing search. - [Review submission](https://demo.eventcatalog.dev/docs/custom/flows/04-review-submission.mdx) - How product reviews are submitted, moderated, published and aggregated into ratings. - [Team ownership](https://demo.eventcatalog.dev/docs/custom/operations/01-team-ownership.mdx) - Which platform teams own the major Acme Inc domains and systems documented in the default catalog. - [Change management](https://demo.eventcatalog.dev/docs/custom/operations/02-change-management.mdx) - How to safely change contracts, schemas, systems and cross-domain flows in the Acme Inc catalog. - [Governance model](https://demo.eventcatalog.dev/docs/custom/operations/03-governance-model.mdx) - The operating model Acme teams use to keep domain ownership, catalog quality and cross-team decisions clear. - [Contract standards](https://demo.eventcatalog.dev/docs/custom/operations/04-contract-standards.mdx) - The rules Acme teams follow when defining, versioning and changing commands, events and queries. - [Event design standards](https://demo.eventcatalog.dev/docs/custom/operations/05-event-design-standards.mdx) - How Acme teams name, publish, consume and operate business events across the commerce platform. - [Operational readiness](https://demo.eventcatalog.dev/docs/custom/operations/06-operational-readiness.mdx) - The launch and support standards Acme applies before a system or contract is considered production-ready. - [Review and change workflow](https://demo.eventcatalog.dev/docs/custom/operations/07-review-and-change-workflow.mdx) - The standard workflow Acme teams use to make catalog-backed architecture and integration changes. - [Architecture overview](https://demo.eventcatalog.dev/docs/custom/platform/01-architecture-overview.mdx) - How Acme Inc's commerce platform is organised across domains, systems, services, messages, data stores and teams. - [Domain map](https://demo.eventcatalog.dev/docs/custom/platform/02-domain-map.mdx) - The bounded contexts in the Acme Inc catalog and how their responsibilities connect across the commerce journey. - [Systems map](https://demo.eventcatalog.dev/docs/custom/platform/03-systems-map.mdx) - The system-level view of Acme Inc's commerce platform and the responsibilities of each major system. - [Data ownership](https://demo.eventcatalog.dev/docs/custom/platform/04-data-ownership.mdx) - The source-of-truth data stores in the default catalog and the rules for reading and writing business state. - [Eventing model](https://demo.eventcatalog.dev/docs/custom/platform/05-eventing-model.mdx) - How commands, events and queries are used across Acme Inc's event-driven commerce platform. ## Resource Docs ### [catalog](https://demo.eventcatalog.dev/docs/domains/catalog/1.0.0.mdx) (domains) - [Event versioning](https://demo.eventcatalog.dev/docs/domains/catalog/1.0.0/guides/event-versioning.mdx) - How product events evolve, what counts as a breaking change, and how long old versions are supported. - [Integrating with the Catalog](https://demo.eventcatalog.dev/docs/domains/catalog/1.0.0/guides/integrating-with-the-catalog.mdx) - How other teams read product data and react to product changes without coupling to the catalog database. - [Product data model](https://demo.eventcatalog.dev/docs/domains/catalog/1.0.0/guides/product-data-model.mdx) - The entities behind a product, how they relate, and which one you should key on. - [On-call checklist](https://demo.eventcatalog.dev/docs/domains/catalog/1.0.0/runbooks/on-call.mdx) - What the Catalog on-call engineer checks at handover and how to triage a page. - [Reindexing products](https://demo.eventcatalog.dev/docs/domains/catalog/1.0.0/runbooks/reindexing-products.mdx) - Rebuild the search index from the product system of record. - [Search index lag](https://demo.eventcatalog.dev/docs/domains/catalog/1.0.0/runbooks/search-index-lag.mdx) - What to do when product changes stop showing up in search results. ### [customer](https://demo.eventcatalog.dev/docs/domains/customer/1.0.0.mdx) (domains) - [Account status lifecycle](https://demo.eventcatalog.dev/docs/domains/customer/1.0.0/guides/account-status-lifecycle.mdx) - What ACTIVE, SUSPENDED and CLOSED mean, who can move a customer between them, and how each state should be treated downstream. - [Customer data model](https://demo.eventcatalog.dev/docs/domains/customer/1.0.0/guides/customer-data-model.mdx) - The entities behind a customer, how profile and identity are kept apart, and which id you should key on. - [Integrating with Customers](https://demo.eventcatalog.dev/docs/domains/customer/1.0.0/guides/integrating-with-customers.mdx) - How other teams read customer data and react to customer changes without coupling to the customer database. - [Customer events lag](https://demo.eventcatalog.dev/docs/domains/customer/1.0.0/runbooks/customer-events-lag.mdx) - What to do when customer registrations and profile changes stop showing up downstream. - [Login failures](https://demo.eventcatalog.dev/docs/domains/customer/1.0.0/runbooks/login-failures.mdx) - What to do when customers cannot sign in or the login success rate drops. - [On-call checklist](https://demo.eventcatalog.dev/docs/domains/customer/1.0.0/runbooks/on-call.mdx) - What the Customer on-call engineer checks at handover and how to triage a page. ### [fulfilment](https://demo.eventcatalog.dev/docs/domains/fulfilment/1.0.0.mdx) (domains) - [From order to doorstep](https://demo.eventcatalog.dev/docs/domains/fulfilment/1.0.0/guides/order-lifecycle.mdx) - How the four fulfilment systems hand an order between them, and where each handoff can go wrong. - [Fulfilment data model](https://demo.eventcatalog.dev/docs/domains/fulfilment/1.0.0/guides/fulfilment-data-model.mdx) - The four entities behind fulfilment, the states they move through, and which identifier to key on. - [Integrating with Fulfilment](https://demo.eventcatalog.dev/docs/domains/fulfilment/1.0.0/guides/integrating-with-fulfilment.mdx) - How to reserve stock, check availability and follow an order from the warehouse to the customer's door. - [On-call checklist](https://demo.eventcatalog.dev/docs/domains/fulfilment/1.0.0/runbooks/on-call.mdx) - What the Fulfilment on-call engineer checks at handover and how to triage a page. - [Shipments not dispatching](https://demo.eventcatalog.dev/docs/domains/fulfilment/1.0.0/runbooks/shipments-not-dispatching.mdx) - What to do when orders are packed but no shipment is being created with the carrier. ### [ordering](https://demo.eventcatalog.dev/docs/domains/ordering/1.0.0.mdx) (domains) - [Checkout saga and compensation](https://demo.eventcatalog.dev/docs/domains/ordering/1.0.0/guides/checkout-saga-and-compensation.mdx) - How checkout is coordinated across inventory, payments and order management, and what it means for the teams on the other end of each step. - [Integrating with Ordering](https://demo.eventcatalog.dev/docs/domains/ordering/1.0.0/guides/integrating-with-ordering.mdx) - How other teams look up orders and react to the order lifecycle without coupling to the order database or the checkout saga. - [Order lifecycle](https://demo.eventcatalog.dev/docs/domains/ordering/1.0.0/guides/order-lifecycle.mdx) - The order state machine — every status, which event announces each transition, and what consumers should do at each step. - [On-call checklist](https://demo.eventcatalog.dev/docs/domains/ordering/1.0.0/runbooks/on-call.mdx) - What the Ordering on-call engineer checks at handover, how to triage a page, and when to escalate. - [Stuck checkout sessions](https://demo.eventcatalog.dev/docs/domains/ordering/1.0.0/runbooks/stuck-checkout-sessions.mdx) - What to do when checkout sagas stop completing — customers see a spinner, and no order is created. ### [payments](https://demo.eventcatalog.dev/docs/domains/payments/1.0.0.mdx) (domains) - [Payment and fraud model](https://demo.eventcatalog.dev/docs/domains/payments/1.0.0/guides/payment-and-fraud-model.mdx) - The four entities behind a payment, how they relate, and how a fraud verdict changes what a payment is allowed to do. - [PCI: what you must never log](https://demo.eventcatalog.dev/docs/domains/payments/1.0.0/guides/pci-what-you-must-never-log.mdx) - The data-handling rules every consumer of payment events must follow to keep Acme's PCI-DSS scope where it is. - [Reacting to payment events](https://demo.eventcatalog.dev/docs/domains/payments/1.0.0/guides/reacting-to-payment-events.mdx) - How other teams find out whether an order was paid, refunded or blocked, without calling Stripe or touching the payment database. - [Fraud review backlog](https://demo.eventcatalog.dev/docs/domains/payments/1.0.0/runbooks/fraud-review-backlog.mdx) - Clearing a growing queue of payments held in manual fraud review, and what to do if the fraud provider stops responding. - [Payments stuck in REQUESTED](https://demo.eventcatalog.dev/docs/domains/payments/1.0.0/runbooks/payments-stuck-in-requested.mdx) - What to do when charges are being requested but Stripe outcomes stop arriving and orders pile up unpaid. ### [reviews](https://demo.eventcatalog.dev/docs/domains/reviews/1.0.0.mdx) (domains) - [Integrating with Reviews](https://demo.eventcatalog.dev/docs/domains/reviews/1.0.0/guides/integrating-with-reviews.mdx) - How other teams show ratings and reviews on their surfaces, and react to review activity without coupling to our data stores. - [Moderation lifecycle](https://demo.eventcatalog.dev/docs/domains/reviews/1.0.0/guides/moderation-lifecycle.mdx) - How a review moves from submitted to published or rejected, what the automated screen checks, and when a human gets involved. - [Rating aggregation](https://demo.eventcatalog.dev/docs/domains/reviews/1.0.0/guides/rating-aggregation.mdx) - How a product's star rating is calculated, where it is served from, and what to expect when it is out of date. - [Moderation queue stuck](https://demo.eventcatalog.dev/docs/domains/reviews/1.0.0/runbooks/moderation-queue-stuck.mdx) - What to do when submitted reviews stop being published or rejected and the moderation backlog grows. - [On-call checklist](https://demo.eventcatalog.dev/docs/domains/reviews/1.0.0/runbooks/on-call.mdx) - What the Reviews on-call engineer checks at handover, how to triage a page, and how to rebuild the rating cache safely. ### [shopping](https://demo.eventcatalog.dev/docs/domains/shopping/1.0.0.mdx) (domains) - [Cart and promotion model](https://demo.eventcatalog.dev/docs/domains/shopping/1.0.0/guides/cart-and-promotion-model.mdx) - The four entities behind a purchase, how they relate, and which identifiers to key on. - [How discounts are calculated](https://demo.eventcatalog.dev/docs/domains/shopping/1.0.0/guides/how-discounts-are-calculated.mdx) - What happens between a customer entering a promotion code and the discount appearing on their total. - [Integrating with Shopping](https://demo.eventcatalog.dev/docs/domains/shopping/1.0.0/guides/integrating-with-shopping.mdx) - Which cart commands other teams may call, which ones are internal, and how to react to a checkout. - [Abandoned cart backlog](https://demo.eventcatalog.dev/docs/domains/shopping/1.0.0/runbooks/abandoned-cart-backlog.mdx) - What to do when abandoned carts stop being pruned and the cart database starts to grow. - [Discounts not applying](https://demo.eventcatalog.dev/docs/domains/shopping/1.0.0/runbooks/discounts-not-applying.mdx) - What to do when customers report a valid promotion code is being ignored, or checkouts are failing with 409.