Receive your first order
When a customer places an order, you're notified instantly and the order moves through a state machine you control from the dashboard. This page walks through the full flow — what the customer sees, what you do, and how the order ends up at the customer's door.
🎬 Video — order flow walkthrough
What the customer does
- Lands on your storefront (
{your-slug}.dzbuild.appor your custom domain). - Picks a product, picks variants if any, and adds to cart.
- Proceeds to checkout, fills in name, phone, wilaya and address.
- Picks a delivery type — home delivery or stop desk — and confirms.
- Sees a "thank you" page with their order number.
That's it from the customer's side. They don't need an account to place an order.
The order lifecycle
pending → confirmed → processing → shipped → delivered
↓
cancelled (any non-terminal state)
↑
returned (after delivered)
| Status | What it means | Who triggers it |
|---|---|---|
pending | Order placed, not yet confirmed | Customer at checkout |
confirmed | You called the customer and verified | You (dashboard) |
processing | You're packing the order | You (dashboard) |
shipped | Handed over to the courier; tracking issued | You or courier API |
delivered | Customer received it | Courier API or you |
cancelled | Order cancelled before delivery | You or customer |
returned | Customer returned after delivery | Courier API or you |
Stock decrements at confirmed, not at pending — so you don't lose inventory to fake or spam orders. Cancelling a confirmed order restores stock automatically.
What you do
1. You get notified
When an order comes in:
- Dashboard bell — instantly, with optional sound.
- Email — to the store owner's email.
- PWA push — if you've installed the dashboard PWA on your phone.
- Webhook — if you've registered one. See Webhooks.
2. Open the order
Dashboard → Orders (/dashboard/orders) → click the new order.
3. Call-confirm
Most Algerian stores run a call-confirm flow: pending orders sit until you call the customer, verify they actually meant to order, then move the order to confirmed. This is the single most important habit to build — it cuts return rates dramatically.
For a CRM-style call-confirm UI with sub-statuses (no answer, busy, postponed, fake, …), install the Advanced Orders addon and use /dashboard/orders/advanced.
4. Send to courier
- Click the order in the dashboard.
- Scroll to the Shipping section → pick a courier.
- The courier API generates a tracking number; your customer is notified by SMS automatically.
- The order's status moves to
shipped.
See Couriers overview for setting up Yalidine, EcoTrack, ZR Express, Maystro, Noest or Procolis.
5. Watch it through to delivered
Most courier integrations sync the delivery status back automatically — you'll see the order flip from shipped to delivered in the dashboard once the courier marks it as delivered. For couriers without auto-sync, mark it manually when you get the SMS confirmation.
Order timeline
Every state change is logged with a timestamp and the actor (you, the customer, the courier API). Click an order → Timeline tab to see the full history. This is also exposed via the API (GET /v1/orders/{id} includes a timeline[] array).