Every box is one part of the system: the people who use it, the apps they open, the shop's server, and the outside services it relies on. The flows play one after another every 10 seconds. Pick a flow to stay on it, or click any box to see what it does.
Click any box in the map, or any row in the table below, to see what it does.
| Part | What it does | Where it is |
|---|
Every online order moves through these steps. Customers see each change in the app or on the website.
| Status | Who moves it there | What the customer is told |
|---|---|---|
| Confirmed | System when payment succeeds | "Order confirmed. Your delivery OTP is 4821." |
| Packed | Staff and sets the delivery date | "Packed. Arriving by 12 Oct." |
| Out for delivery | Staff member leaving with the order | "Out for delivery. Your delivery OTP is 4821." |
| Delivered | Staff member types the customer's OTP | "Delivered." |
| Delivery attempt failed | Staff member, with a reason | "We couldn't deliver today. The shop will set a new date." |
| Ready for pickup → Collected | Staff (store pickup orders) | "Ready for pickup on 12 Oct." then "Collected." |
| Cancelled → Refunded | Admin only, with a reason | "Cancelled: reason. ₹X refunded in 5–7 working days." |
Order A-124 is confirmed. Your delivery OTP is 4821.
Order A-124 is on its way. Your delivery OTP is 4821.
| Event | Customer (app and website) | Branch staff (admin website) |
|---|---|---|
| Order confirmed | Yes, with OTP | Yes, with a sound |
| Late payment needs review | "Being reviewed" | Admins |
| Packed, delivery date set or changed | Yes | — |
| Out for delivery | Yes, with OTP again | — |
| Delivered or collected | Yes | — |
| Delivery attempt failed | Yes | Yes |
| Order not packed after 2 hours | — | Reminder |
| Cancelled or refunded | Yes | — |
No SMS. Website customers get browser notifications once they allow them (on iPhone, only when the website is added to the home screen). The order page always shows the latest status and the OTP.
Every online order is paid through Razorpay before it is placed. There is no cash on delivery.
Only an admin can refund, and always the full amount. Customers call the shop to cancel.
The shop sets an estimated delivery date when packing. There is no live tracking.
Online orders and the counter sell from the same stock, so the numbers always match the shelf.
Stock entries, price changes, refunds and status overrides all record who did them and why.
Staff deliver and bill from a phone. If the printer is down, bills go out on WhatsApp.
Online vs counter, and totals for Cash, UPI, Card and online payments.
Kilograms sold and money taken per product.
Current stock, and what was thrown away in kg and ₹.
Orders at each stage, and which ones are stuck.
Who refunded what, when and why.
Deliveries and failed attempts per staff member.
Every report can be filtered by branch and dates, and downloaded for Excel.