Skip to content

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 Connect

Order Statuses

StatusDescription
pendingOrder placed, payment not yet captured
payment_authorisedCard authorised, funds held
confirmedSupplier has accepted the order
in_productionSupplier is fabricating the blinds
dispatchedOrder shipped to customer
deliveredCustomer confirmed delivery
cancelledOrder cancelled (before dispatch)
refundedFull 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

  1. Customer enters card details on the Retailer storefront.
  2. The Payment Service creates a Stripe PaymentIntent.
  3. Funds are authorised but not captured.
  4. The Supply Chain Service confirms the order is fulfillable (inventory check via Redis lock).
  5. Payment is captured.
  6. 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:

EventCustomer 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):

  1. Go to Orders → [Order ID] → Cancel Order.
  2. 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:

  1. Go to Orders → [Order ID] → Issue Refund.
  2. Select full or partial refund.
  3. 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.

Blindstrader Platform Documentation