Appearance
Ordering Flow
This page describes what happens from the moment a customer places an order on your storefront to the point of fulfillment and payment settlement.
Order Lifecycle
Customer places order
└── Supply Chain Service orchestrates fulfillment
├── Payment Service: captures payment (Stripe)
├── Supplier: receives fulfillment task
└── Payment splits distributed via Stripe ConnectOrder Statuses
| Status | Description |
|---|---|
pending | Order placed, payment not yet captured |
payment_authorised | Card authorised, funds held |
confirmed | Supplier has accepted the order |
in_production | Supplier is fabricating the blinds |
dispatched | Order shipped to customer |
delivered | Customer confirmed delivery |
cancelled | Order cancelled (before dispatch) |
refunded | Full or partial refund issued |
Order Routing
When a customer orders, the Supply Chain Service determines the correct Supplier based on the product's origin (which Supplier the Retailer adopted the product from). The order is automatically routed — Retailers do not need to manually route orders.
Payment Flow
- Customer enters card details on the Retailer storefront.
- The Payment Service creates a Stripe PaymentIntent.
- Funds are authorised but not captured.
- The Supply Chain Service confirms the order is fulfillable (inventory check via Redis lock).
- Payment is captured.
- Stripe Connect distributes the split to Brand / Supplier / Retailer / Platform.
If any step fails (inventory unavailable, payment declined), the order is rolled back via the Saga Pattern — all partial state changes are compensated automatically.
Viewing Orders
All orders appear under Orders in the Retailer dashboard:
- Filter by status, date range, Supplier, or product.
- Export to CSV for accounting.
- Click an order to view the full breakdown: customer info, line items, pricing split, fulfillment status.
Communicating with Customers
When an order status changes, the Notification Service automatically sends:
| Event | Customer notification |
|---|---|
confirmed | "Your order is confirmed" email |
in_production | "Your blinds are being made" email |
dispatched | "Your order has been dispatched" email + tracking link |
delivered | "How was your order?" email (review prompt) |
Notification templates can be customised under Settings → Notifications.
Cancellations and Refunds
Customer-initiated cancellation (before in_production):
- Go to Orders → [Order ID] → Cancel Order.
- The order is cancelled, Stripe issues a full refund, and the reserved inventory is released.
After production starts:
Contact the Supplier directly through Orders → [Order ID] → Message Supplier to arrange a cancellation. Refunds at this stage are subject to the Supplier's cancellation policy.
Issuing a Refund:
- Go to Orders → [Order ID] → Issue Refund.
- Select full or partial refund.
- The Payment Service processes the Stripe refund automatically.
WARNING
Partial refunds affect the payment split — the platform adjusts each recipient's portion proportionally.
Dispute Resolution
For disputes (e.g. damaged goods, wrong product), go to Orders → [Order ID] → Raise Dispute. The Platform Ops team mediates between Retailer, Supplier, and customer.