Job scheduling and routing for field teams
A field service app should hand each engineer a route-ordered day plan, not a flat job list, and it should never let two people claim the same job. We build allocation on the same serialised capacity design proven in the Booking Engine, and order the day by drive time and territory. We sync reassignments so the office and the field always agree on who is doing what.
What does job scheduling and routing cover?
It is the difference between a list of addresses and a plan for the day. The office needs to allocate work fairly and without clashes; the engineer needs a sensible order to drive in; and both need the plan to stay accurate when things change, which on a live field operation is constantly.
- Territory rules. Each engineer or franchisee sees the jobs that belong to their patch, scoped by the same ownership model that powers the Franchising module. A franchisee never sees another franchisee’s work, and head office sees the whole network.
- Drive-time day plans. The plan orders jobs by travel time rather than as a flat queue, with fixed appointment windows treated as anchors the route works around. The aim is fewer wasted miles and a realistic day, not a theoretical one.
- Capacity and duration per job. Every job carries its own expected duration and any skill or kit requirements, so the day plan reflects how long work actually takes rather than assuming every visit is the same length.
- Live reassignment. When priorities change, the office moves a job between engineers and both day plans update. Because the plan syncs rather than being relayed by phone, nobody drives to a job that has already been reassigned.
- Allocation that cannot double-book. Claiming or accepting a job runs under a per-job lock, the same serialised capacity check proven in the Booking Engine’s checkout reservations, so two engineers cannot both end up owning the same visit.
How it behaves at the edges
Scheduling looks simple until two things happen at once, which on a field operation they always do. These are the cases that separate a real dispatch design from a demo.
- Two engineers accept the same job. The first accept to commit wins; the second receives an explicit already-taken outcome rather than a silent duplicate. This is the proven per-record concurrency pattern, not a hopeful timestamp comparison.
- A job is accepted offline, then reassigned at head office. Both actions are reconciled on reconnect against a clear precedence rule, so the job resolves to a single owner and the other party’s plan corrects itself. The offline sync page sets out exactly how conflicting actions are resolved.
- A job overruns. When a visit runs long, the remaining plan reflows and the office sees the knock-on effect on later appointments, so a customer who will now be visited late can be warned rather than left waiting.
- A no-access visit. An engineer who cannot get in records the attempt against the job, and the app routes them on rather than stranding the visit in an ambiguous state. The abandoned visit stays visible to the office with its reason.
Integration points
Job scheduling does not sit on its own. It draws on the modules the rest of the platform already runs.
- Booking and capacity come from the Booking Engine, including the serialised capacity checks and facilitator-style assignment that field allocation reuses.
- Notifications use backend-triggered push with deep links, so a reassignment opens straight onto the new job rather than a home screen.
- The franchise layer scopes territory visibility and per-territory reporting through the Franchising module.
Why it matters
A day plan that is wrong by mid-morning is worse than no plan, because people stop trusting it and revert to phoning the office. Getting scheduling right means the plan stays true as the day changes: allocation that cannot clash, an order that respects the roads, and reassignments that reach the engineer without a phone call. The companion guide below sets out the wider requirements to put to any field app vendor, including yours.
Frequently asked questions
How does the app stop two engineers taking the same job?
Can the day plan be reordered by drive time?
What happens when a job is reassigned mid-day?
More Field Service capabilities
Quotes and doorstep payments in a field app
How a field app quotes and takes payment at the door: a guided quote wizard, deposit capture, card-present payment, and refunds, on the proven Billing Engine.
Job evidence and compliance capture on site
How a field app captures proof of completion: before-and-after photos, signatures, health and safety forms, and disclaimers, tied to a tamper-evident audit trail.
Offline sync: how a field app works without signal
The engineering behind an offline-first field app: on-device storage, queue-and-forward, conflict resolution, and idempotent sync, so no job data is lost when the connection drops.
See this working in a demo
Book a consultation and we will demonstrate this capability on the Field Service accelerator, against your own scenarios.
Book a demo