What it does
The Route page turns a day's scheduled cleans into an ordered run, with an estimated arrival time for each stop:
- Fixed-time jobs are anchors. Pin a job to 12:00 and the route makes sure you're there at 12:00, slotting the other jobs around it.
- Everything else fills in by nearest-neighbour (closest postcode next), so you're not criss-crossing town.
- It reacts: change a fixed time or a duration and the order + arrival times recompute instantly. (Unlike tools where you drag everything and it never updates.)
- You can still take manual control — move a stop up or down and the order is saved; your manual order is respected, while fixed times still pin their arrival.
- Soft time windows ("between 10 and 12") nudge the order without pinning, and flag a stop that'd run late.
- Working-day capacity (hours + max stops/driving) flags stops that won't fit so you can push them to another day or reassign them.
Where to find it
In the top menu, open Schedule ▾ and choose Route.
Direct link: /dashboard/route
Step by step
Pick the day, crew and start
- Use ‹ / Today / › to choose the day.
- Use the assignee dropdown to plan for My jobs, Everyone, Unassigned or a teammate.
- Set a Start time (e.g.
08:00) — when you set off. - Optionally set a Start postcode (your depot/home) so the first drive and the order are worked out from where you actually leave. Press Enter or click away to apply.
The summary bar shows N stops · ~driving time · ~time on site · ends ~HH:MM, plus whether the route is Optimised or Manual.
Fix a job to a set time
On a stop, type a time (e.g. 12:00) into the small time box and click away. The stop becomes a fixed anchor (the pin lights up) and the route re-orders so you arrive then. If you arrive early, the stop shows waited.
- Click the pin to toggle whether that time is a hard anchor or just a noted time.
- Clear the time box to make the stop free again (no anchor).
Set how long a job takes
Each stop has a Duration (min) box. Change it and arrival times for the rest of the day shift accordingly. New jobs use your per-service default until you change them — set those in Settings → Default job durations (owner-only), and they also apply when you book a round.
Re-order by hand
Two ways to move a stop:
- Drag the grip handle (⋮⋮, next to the stop number) and drop it where you want — it lands just before the stop you drop on.
- Or use the ▲ / ▼ arrows to nudge it up or down.
As soon as you move one, the route switches to Manual order and your order is saved — it won't get re-jumbled. Fixed-time stops still show their pinned arrival.
To go back to the automatic order, click Auto-optimise in the summary bar.
Give a job a soft time window
Sometimes a customer wants you "between 10 and 12" — not a hard appointment, just a preference. On a stop, fill the window boxes (from–to, the hourglass control) with times like 10:00–12:00:
- The route waits if it would arrive before the window opens (you'll see waited).
- If the plan has you arriving after the window closes, the stop shows a late Nm flag so you can re-order or move it.
- Unlike a fixed time (the pin), a window is soft — it nudges the order and flags problems, but doesn't pin you to an exact minute. The window shows as a small
10:00–12:00chip on the stop.
Clear either box to remove that side of the window.
Fit the day to your working hours (capacity)
An owner can set the crew's working day and limits in Settings → Working day & capacity:
- Start of day — defaults the planner's start time.
- End of day — stops you'd reach after this are flagged as overflow.
- Max stops / day and Max driving / day — extra caps; stops beyond them overflow too.
Leave any field blank for "no limit". The summary bar then shows your end time against the working-day end (it turns amber if you'd run over), and an all fit note when everything's within capacity.
Handle overflow (stops that won't fit)
When the day's plan exceeds a limit, the planner draws a "Won't fit today" divider and everything below it is overflow (shown dimmed with a Won't fit badge). The summary bar shows N won't fit, and a banner explains which limit was hit. For each overflow stop you can:
- Push to next day — moves the job to tomorrow (keeping any set time), in one tap.
- Reassign… — hand the stop to another team member (or unassign), so a colleague picks it up.
Overflow is only a heads-up — the stops are still planned and timed; nothing is deleted.
See the day on a map
When your clients have coordinates (see Map & drive-time accuracy below), the Route page shows a map of the day under the summary bar — each stop is a numbered pin in visiting order, joined by the drive path. Fixed-time anchors are marked in amber. It needs no separate maps app and works light on data. If some stops aren't geocoded yet, the map plots the ones it can and tells you how many are missing.
Know how accurate the times are
The summary bar carries an honesty badge so you always know what the times are based on:
- Estimated times — worked out from postcode proximity (the default; good for sequencing).
- Map estimate — a straight-line estimate from your clients' real coordinates (sharper than postcodes).
- Live drive times — real road drive times from a routing provider (when one is switched on).
Drive the route
Click Directions to open the whole day as a multi-stop route in Google Maps (origin → stops → destination), in the planned order.
Map & drive-time accuracy
By default the planner sequences stops from a postcode-proximity estimate — no third-party service, works everywhere. You can sharpen it:
- Geocoding (coordinates). An owner switches geocoding on in Settings → Map coordinates, then clicks Backfill coordinates to cache each client's lat/lng (in batches). Once stops have coordinates, the map appears and drive times use a straight-line (map) estimate. This needs a geocoding provider to be configured by whoever runs your Quickie — the free postcodes.io option needs no API key (see the provider activation notes in the project docs).
- Live drive times. If a routing provider is configured as well, the planner fetches real road drive times and the badge reads Live drive times. Until then everything still works on the estimate — nothing is blocked.
Nothing here is required: with no providers configured the planner behaves exactly as before, just labelled Estimated times.
What each screen shows
- Controls — day arrows, assignee, Start time, Start postcode, Directions.
- Summary bar — stop count, estimated driving + on-site time, end time (vs your working-day end), a drive-source badge (Estimated / Map estimate / Live), an Optimised / Manual badge, an N won't fit badge when over capacity, and Auto-optimise (when manual).
- Overflow banner — appears when stops exceed the day's capacity, naming the limit hit.
- Map — numbered pins in visiting order (when stops are geocoded).
- Stop list — for each stop, in visiting order:
- the order number, a drag handle (⋮⋮) and ▲ / ▼ reorder arrows,
- the arrival time + drive estimate (
+N min), a waited note if you'd be early, and a late Nm flag if you'd miss a window/fixed time, - the client (links to their record), service, postcode, price, and a soft-window chip if set,
- a Duration box, a fixed-time box + pin, and a soft window (
from–to) control, - for overflow stops: a Push to next day button and a Reassign… menu.
Tips & good to know
- Times are estimates by default. Drive times come from how close postcodes are — handy for sequencing, not sat-nav-accurate. Turn on geocoding (and optionally a routing provider) to sharpen them; the badge always tells you which you're seeing.
- The map needs coordinates. No pins yet? Have an owner run the Backfill coordinates in Settings (once geocoding is switched on).
- Anchors win. The route will never knowingly make you late for a fixed time — it diverts to the anchor in good time.
- Windows are soft. A window nudges the order and flags a late arrival, but won't pin you like a fixed time. Use a fixed time for true appointments and a window for "sometime between".
- Overflow is a heads-up, not a delete. Stops that won't fit stay in the plan; push them to another day or reassign when you're ready.
- Manual sticks. Once you've nudged the order, it stays until you hit Auto-optimise.
- Set a depot once. A Start postcode makes the first leg and the whole order more realistic.
- Jobs without a postcode are routed last (they can't be placed accurately).
Troubleshooting
- "No stops for this day" — nothing is scheduled for that date/assignee. Schedule jobs, or book a round, then come back.
- A fixed time won't pin — set a valid
HH:MMtime in the box first; the pin enables once there's a time. - The order looks odd — check the Start postcode (it anchors the first leg), and remember jobs with no postcode sink to the end.
- My manual order vanished — you (or someone) clicked Auto-optimise, which clears the saved order.
- No map / "No coordinates yet" — geocoding is on but your clients aren't geocoded. An owner runs Settings → Map coordinates → Backfill coordinates (in batches). If you don't see that option enabled, a geocoding provider hasn't been configured yet.
- Badge says "Estimated" not "Live" — no routing provider is switched on, so you're seeing the postcode (or map) estimate. That's expected and everything still works.
- Everything shows as overflow — your Working day & capacity limits are tight for the day's load (e.g. a short working day, or a low max-stops). Loosen them in Settings → Working day & capacity, or push/reassign the extra stops. Blank fields mean "no limit".
- A window won't save — enter a valid
HH:MMin thefrom/toboxes; clear a box to remove that side.