
🛒 Retail & E-commerce · C4 Architecture · Pro
A retail system that connects in-store POS, the online store and the warehouse: one customer, one stock pool, click-and-collect and returns anywhere.
C4 Architecture diagrams are part of Pro. Anyone can view this one; generating and editing it needs Pro.
Drawing diagram…
An omnichannel retail system: store staff use POS terminals that work offline and sync with a store server; online customers use the web store. Both use central services: product and price, inventory (stock per store and warehouse), orders (including click-and-collect), customer and loyalty. The ERP handles finance and purchasing; payment terminals and the online payment gateway are external.
C4Container
title Omnichannel Retail
Person(cashier, "Store Cashier", "Bills customers")
Person(shopper, "Online Shopper", "Buys online")
System_Boundary(retail, "Retail Platform") {
Container(pos, "POS Terminal", "Windows / Android", "Billing, works offline")
Container(store, "Store Server", "Node.js", "Syncs stores with central")
Container(web, "Web Store", "Next.js", "Online shopping")
Container(price, "Product and Price", "Java", "Catalog and offers")
Container(inv, "Inventory Service", "Java", "Stock per location")
Container(orders, "Order Service", "Java", "Online and click-and-collect")
Container(loyalty, "Customer and Loyalty", "Node.js", "Points and profiles")
}
System_Ext(erp, "ERP", "Finance and purchasing")
System_Ext(pay, "Payments", "Card terminals and gateway")
Rel(cashier, pos, "Uses")
Rel(shopper, web, "Uses")
Rel(pos, store, "Syncs")
Rel(store, inv, "Stock updates")
Rel(store, loyalty, "Points")
Rel(web, price, "Browses")
Rel(web, orders, "Places orders")
Rel(orders, inv, "Reserves")
Rel(pos, pay, "Card payments")
Rel(inv, erp, "Purchase needs")An online store split into microservices: catalog, cart, orders, payments and search, with Kafka events connecting them to shipping and notifications.
What happens when a shopper clicks Pay: stock is reserved, the payment is authorised, the order is created and stock is released again if payment fails.
Every status an online order moves through, from placed to delivered, including cancellations, returns and refunds.
A flexible product catalog: categories, products with variants (size, colour), prices, stock per warehouse and images.
How stock stays in sync across stores, warehouses and marketplaces so the same item isn't sold twice.
How an online store handles a return: eligibility, pickup, quality check at the warehouse and the refund or replacement.