Deliveries & Installations
Getting the furniture to the customer and set up. Deliveries schedule drivers and capture proof of delivery; installations are field work orders with their own crew, parts and revisit flow.
🚚 Deliveries
Assigning & rescheduling
- Schedule on a date + time window — FurnFlow checks the branch and the driver's capacity for that slot.
- Assign a driver — only people with a driver-type role in the same branch can be picked (a "not a driver" guard stops mistakes).
- Reschedule — change the date/window; the job returns to scheduled and the change is logged. Completed jobs can't be rescheduled.
Proof of delivery (POD)
Close a delivery by capturing POD: a sign-off name, a signature and/or a photo. Your tenant settings can require signature and/or photo before completion. Every step — assigned, rescheduled, status change, GPS check-in, POD — is written to the delivery timeline.
Scheduling/assigning needs delivery.schedule (managers, dispatch, delivery roles). Drivers see their own day's stops; customers can track their delivery from the portal.
🔧 Installations
Jobs are booked into a time window — AM PM EVE FULL DAY — and FurnFlow auto-stamps when work starts and finishes (with the total duration).
Only a branch manager or tenant admin can assign installers. Installers (and driver-installers) can only act on the jobs assigned to them. There's a request/approve flow so an installer can ask to pick up a job.
On-site realities
- Parts request — flag a missing part; the job moves to waiting_parts and the request is tracked.
- Revisit — if a job can't finish, raise a revisit and a follow-up work order is spawned.
- Schedule change & escalation — reschedule on site, or escalate a stuck job.
- Everything writes to the installation timeline (status changes, assignment, parts, revisits, notes).
🧾 Delivery field reference
| Field | Meaning |
|---|---|
| Reference | Internal id; surfaces on the manifest and the customer's tracking page. |
| Order | The order being delivered (one delivery may carry multiple lines). |
| Branch | The branch the order belongs to; drives the driver pool. |
| Scheduled date + window | AM · PM · EVE · FULL DAY |
| Driver | Must hold a driver-type role and the same branch (a 'not a driver' guard stops mistakes). |
| Status | See lifecycle above; completed is set when POD is captured. |
| POD | Sign-off name, signature image, and/or photo. Tenant settings can require signature/photo. |
| Access notes / Internal notes | Notes for the crew / for the office. |
| Timeline | Every event — assigned, rescheduled, status change, GPS check-in, POD, exception. |
🛠 Installation field reference
| Field | Meaning |
|---|---|
| Order line(s) | The products to install. |
| Installer / driver-installer | Assigned by branch manager or admin only. |
| Time window | AM · PM · EVE · FULL DAY. |
| Started / Completed at | Auto-stamped when status flips; duration is computed. |
| Parts request | Open requests linked to the work order; status moves to waiting_parts. |
| Revisit | If the job can't finish, a follow-up work order is spawned. |
| Evidence | Photos / files captured on site, kept with the work order. |
| Timeline | Status changes, assignment, parts requests, revisits, schedule changes, escalations, notes. |
🔑 Who can do what
| Action | Roles |
|---|---|
| Schedule / reschedule / assign a delivery | Manager, dispatch, delivery, owner, admin (delivery.schedule). |
| Complete a delivery (capture POD) | Driver, dispatch, manager, owner, admin (delivery.complete). |
| Read a delivery | Most operational roles (delivery.read); customers see their own on the portal. |
| Assign an installation | Branch manager, tenant admin only. |
| Work an installation | Installer / driver-installer (only on jobs assigned to them). |
| Open a parts request / revisit | Installer (in field), manager, admin. |
❓ FAQ
I can't complete a delivery — it won't let me.
Your tenant likely requires a signature and/or photo for POD. Capture them, then complete. Adjust the requirement in Settings.
An installer says they can't see a job.
Installers only see jobs assigned to them. A manager/admin must assign it, or the installer can request the assignment.