The delivery cycle
In one sentence
For each delivery day, MsgBuddy creates a cycle that moves through clear stages — scheduled, locked, out for delivery, delivered — with a WhatsApp reminder early on and a wallet charge at the cutoff.
One day, one cycle
Every scheduled delivery date becomes its own cycle. Think of it as that day’s ticket, moving down an assembly line:
| Stage | What’s happening | Can the customer still skip? |
|---|---|---|
| Scheduled | Reminder sent; delivery planned | ✅ Yes |
| Locked | Cutoff passed; wallet charged; it’s fixed | ❌ No |
| Out for delivery | On the way | ❌ No |
| Delivered | Completed | — |
| Skipped | Customer opted out in time (no charge) | — |
The timeline of a typical day
Say reminders go at 8 p.m. and the cutoff is 10 p.m., for tomorrow morning’s delivery:
- 8:00 p.m. — Customer gets a WhatsApp reminder: “Milk arrives tomorrow 6–8 a.m. Tap to skip if you don’t need it.” The cycle is Scheduled.
- Any time before 10 p.m. — If they tap skip, the cycle becomes Skipped and no money is taken.
- 10:00 p.m. (cutoff) — The cycle locks: the wallet is debited and the delivery is final. Now Locked.
- 6–8 a.m. — Out for delivery, then Delivered.
The cutoff is the point of no return. Before it, skipping is free and easy. At it, the wallet is charged and the delivery is committed — which is exactly what lets you finalise your delivery round with confidence.
Why “lock at cutoff” is the clever bit
It balances both sides:
- Customers get a fair chance to skip (before cutoff) without being charged.
- You get a final, paid list at a predictable time, so you know exactly what to load and deliver.
Choose your cutoff to sit after most customers know their plans but before you prep the round. Too early frustrates customers; too late leaves you guessing. The evening before works well for morning deliveries.
How this connects
- The charge at lock-time is a debit on the wallet.
- Reminder and cutoff times come from settings.
- Customers skip/pause via managing.
Next: the money side — the prepaid wallet →.