The spreadsheet plans the week. Running the day takes a system — for the dispatcher, the salesperson, and the driver. This is the operating design that sits on top of the optimized schedule.
Customer reschedules, traffic delays, no-shows, and instant quotes can't wait for next week's planning cycle. The design below closes that gap.
+----------------------------------------------------------+ | DELIVERY OPERATIONS | +----------------------------------------------------------+ | | | +----------+ +----------+ +----------+ | | | PLANNING | | DISPATCH | | SALES | | | | (weekly) |----->| (daily) |<---->| (quote) | | | +----------+ +----------+ +----------+ | | | | | | | +-----------------+------------------+ | | | | | v | | +--------------------------------------------------+ | | | SHARED DATABASE | | | | orders · truck GPS · buffer remaining | | | | pricing rules · reschedule history | | | +--------------------------------------------------+ | +----------------------------------------------------------+
iPad/POS plugin for instant delivery quotes. Salesperson enters cubic feet — gets the price. No phone calls to operations.
Surcharges: stairs +$50 · expedited +$150 · assembly +$100
Real-time route status and buffer monitoring. When a customer calls to reschedule, the dispatcher sees which days have capacity and moves them with one click.
Live truck locations · one-click reschedule · overtime alerts
Navigation plus three exception buttons — the driver taps, the system handles the logic.
Traffic Delay → updates ETAs · No Answer → starts wait timer · Customer Reschedule → logs & finds slot
Every rule below is embedded in the tools above. The judgment is made once, at design time.
1st time → FREE
→ Find a day with buffer > 60 min
2nd time → $75
→ Find a day with buffer > 30 min
3rd+ time → $75
→ Moved to the end of the queue
If driver waited ≥ 15 min and no contact:
→ Mark as no-show
→ Charge $75 fee
→ Log wasted trip: 2 hrs × $104/hr = $208
→ Auto-reschedule to next available window
If current time + remaining work > 5:00 PM:
→ Alert dispatch
→ Options: (a) skip last stop and reschedule · (b) authorize OT at 1.5× rate · (c) call customer, reduce scope
When the driver taps "Traffic Delay":
1. Recalculate ETAs for all remaining stops
2. Check if the new timeline passes 5 PM
3. If yes → trigger overtime prevention
4. Notify affected customers by SMS
| Stop | Customer | ETA | Status | Volume | Action |
|---|---|---|---|---|---|
| 1 | CUST2424 | 9:30 AM | ✓ Done | 1,305 | — |
| 2 | CUST2508 | 11:15 AM | En route | 276 | — |
| 3 | CUST1946 | 1:30 PM | Pending | 2,282 | Reschedule |
| 4 | CUST7395 | 2:45 PM | Pending | 406 | Reschedule |
| 5 | CUST6446 | 4:00 PM | Pending | 2,229 | Reschedule |
Days 1–3 run on buffers under 30 minutes. When something breaks there, this is the flow.
DISRUPTION OCCURS (customer not home, traffic, access issue)
|
v
+----------------------+
| Can we still |
| finish by 5 PM? |
+----------+-----------+
|
+-------+-------+
| |
YES NO
| |
v v
Continue +---------------------+
route | Skip this stop |
| Reschedule to |
| SAME-CLUSTER day |
| with buffer |
+----------+----------+
|
v
+---------------------+
| Notify customer |
| via SMS (auto) |
| within 2 minutes |
+---------------------+
Situation: CUST1946 (Alameda, 2,282 cu ft) isn't home at 1:30 PM on Day 1. Buffer is only 3 minutes. The crew is already behind.
| Step | Who | Action | Time |
|---|---|---|---|
| 1 | Driver | Taps "No Answer" in the app, waits 15 min | 1:30 PM |
| 2 | System | Starts timer, alerts dispatch | Auto |
| 3 | Driver | Taps "Customer Unreachable" after the wait | 1:45 PM |
| 4 | Dispatch | Sees the alert, checks buffer days | 1:46 PM |
| 5 | System | Auto-identifies Day 6 (105 min buffer) | Auto |
| 6 | Dispatch | Confirms the reschedule with one click | 1:47 PM |
| 7 | System | Sends SMS + email to the customer | Auto |
| Day | Buffer | Cluster fit | Decision |
|---|---|---|---|
| Day 4 | 47 min | No (Sausalito) | Wrong cluster, +20 mi |
| Day 5 | 99 min | No (Sausalito / Berkeley) | Wrong cluster |
| Day 6 | 105 min | Yes (Berkeley nearby) | Best fit — +3 mi only |
| Day 7 | 99 min | No (South SF / SF Core) | Wrong direction |
SMS from the delivery team
"Hi — we attempted your delivery today but couldn't reach you. We've rescheduled you to Day 6, 1:00–3:00 PM. Reply YES to confirm, or call us to pick another time."
At the case-documented $104/hr crew rate and $1.21/mile. That's why we match clusters, not just buffer.
Extra miles to existing route: ~3 mi
Fuel: 3 × $1.21$3.63
Extra labor$0 (already working)
Detour miles: ~12 mi
Fuel: 12 × $1.21$14.52
Extra time: 0.25 hrs × $104$26.00
Round trip: ~30 mi
Fuel: 30 × $1.21$36.30
Labor: 2 hrs × $104$208.00
Regular rate$104/hr
OT rate: $104 × 1.5$156.00/hr
Incremental cost per OT hour$52.00
| Phase | Timeline | Deliverable | Cost | Status |
|---|---|---|---|---|
| Phase 1 | Week 1 | Sales quoting spreadsheet | Free | START HERE |
| Phase 2 | Weeks 2–3 | Dispatch dashboard (spreadsheet + manual updates) | Free | NEXT |
| Phase 3 | Month 2 | Driver mobile app (route software) | $150–300/mo | LATER |
| Phase 4 | Month 3+ | Integrated system (custom build) | $5–20k | SCALE |