Field service scheduling: how to balance jobs, skills, SLAs, and travel
Field service scheduling is the work of deciding which technician does which job, when, and in what order.
Done well, it balances four competing forces at the same time: the jobs that need doing, the skills required to do them, the service-level agreements (SLAs) you've promised customers, and the travel between locations.
Done badly, it produces missed arrival windows, repeat visits, overtime, and technicians who spend more of their day driving than fixing.
This post is for operations leaders, dispatch managers, and product teams at field service software vendors. It explains why these four forces pull against each other, why spreadsheets and drag-and-drop boards stop coping as you grow, and how constraint-based optimization turns the balancing act into something a system can solve.
What is field service scheduling?
Field service scheduling assigns customer visits to technicians and places each visit at a specific time in a technician's day. It's closely tied to routing, which decides the order of visits and the path between them. In practice, you can't separate the two: a schedule that ignores travel isn't achievable, and a route that ignores skills or time windows sends the wrong person at the wrong time.
That's why modern tools treat field service scheduling and routing as a single problem, just like our Field Service Routing API does. In operations research terms, it's a variant of the Vehicle Routing Problem with extra rules layered on top.
The four forces you're balancing

Jobs
Every job has a location, an expected duration, a priority, and often a window when the customer is available. Some jobs depend on others, such as a site survey before an installation, or an electrician isolating power before a second technician starts work.
Some need two or more technicians on site at the same time.
Skills
Technicians aren't interchangeable. A boiler repair may need a gas certification, a network install may need a specific vendor accreditation, and a senior technician may be required for certain customers.
Skill matching has a direct effect on outcomes. Aquant's 2025 Field Service Benchmark Report, based on data from nearly 160 service organizations, found that top performers reach an 86% first-time fix rate while bottom performers sit at 53%. The same report found that a failed first visit leads to two additional visits on average.
Sending the right skills the first time is one of the biggest levers a scheduler controls.
SLAs
SLAs turn some jobs into commitments with deadlines, and some into commitments with penalties. A four-hour response for a critical outage outranks a routine maintenance visit that could happen any day this week. The schedule has to know the difference, and it has to keep knowing it as new work arrives.
Travel
Travel is where capacity quietly disappears. Every minute on the road is a minute not spent on billable work, and it also drives fuel cost, emissions, and technician fatigue.
Travel is also the force most affected by the other three.
Honoring a tight time window or sending the one qualified technician across the region both cost travel time.
Why the balance breaks down
A dispatcher with 12 technicians and 40 jobs can usually build a reasonable day by hand.
They know the people, the regions, and the regular customers.
Grow that to 80 technicians and 500 daily visits and the picture changes.
Now the dispatcher is weighing skills against availability, promised arrival windows against drive time, overtime limits against SLA deadlines, and all of it against the three jobs that just came in and the technician who called in sick.
The number of possible schedules grows faster than any person, or any simple rule, can evaluate. Timefold's field service routing optimization guide points out that for 50 technicians and 200 jobs, the number of possible schedules exceeds the number of atoms in the observable universe.
Rule-based auto-assignment ("nearest available technician with the right skill") helps, but it makes one decision at a time. It can't see that giving the nearest technician this job leaves nobody qualified for the urgent job an hour later. Field service scheduling at scale needs a method that evaluates the whole plan at once.
How optimization handles the tradeoffs
Constraint-based optimization describes the scheduling problem as a set of rules and goals, then searches for the plan that scores best against them.
Timefold uses three levels of constraints, described in its Planning AI concepts documentation:
- Hard constraints are rules that can't be broken, such as a technician's shift hours, a required certification, or the fact that a person can only be in one place at a time. Breaking a hard constraint makes the plan infeasible.
- Medium constraints handle shortages. When there aren't enough technicians for every visit, they push the model to assign as many visits as possible, starting with the most important.
- Soft constraints express business goals, such as minimizing travel time, reducing overtime, respecting technician preferences, or finishing high-priority visits early.
Each constraint has a configurable weight. That's how you tell the model what matters more when goals collide.
If SLA compliance matters more than travel savings, you weight it higher, and the model will accept a longer drive to meet a deadline. If fairness matters, you add a constraint that balances workload across the team.
You stop encoding decisions ("always send the closest technician") and start encoding priorities. The model then makes thousands of decisions consistently against those priorities. At a much larger scale than a human ever could.
A worked example
Imagine a facilities maintenance company with 40 technicians and 280 visits scheduled for Tuesday. Six technicians hold high-voltage certification. Twenty visits have four-hour SLA windows, and the rest are flexible within the day.
At 09:30, a hospital reports a critical electrical fault with a two-hour SLA.
The closest certified technician is midway through a routine inspection that could move to the afternoon.
A manual dispatcher has to find a technician, check whether moving the inspection breaks another commitment, then check whether the technician who picks up the inspection still makes their own windows.
An optimization model evaluates those knock-on effects together. It can propose moving the inspection to a technician with spare capacity nearby, keep everyone else's morning intact, and show the cost of the change in added travel minutes.
The dispatcher still makes the call. They just make it with the full picture in front of them.
How to measure whether field service scheduling is working
Track a small set of metrics that reflect all four forces:

Consider these KPIs not separatly, but holistically.
A team can post excellent drive-time numbers by skipping hard-to-reach customers, or strong SLA compliance by burning overtime. Good field service scheduling improves the set as a whole without trading one number off against the rest.
Where Timefold fits
Timefold builds optimization engines for scheduling and routing problems.
It works as the optimization layer behind field service management (FSM) platforms and in-house systems, rather than replacing them.
The Timefold Field Service Routing API assigns visits to technicians and sequences their routes while respecting time windows, skills, visit dependencies, multi-technician visits, and working hours. It ships with 50+ pre-configured constraints, each with adjustable weights, and it replans in real time when the day changes.
FSM vendors and enterprises call it through a REST API from their existing systems.
Organizations using constraint-based routing optimization typically see 25 to 35% less technician drive time, according to Timefold deployment data published in the optimization guide. If you're evaluating this for your own team, the route optimization for field technicians page explains the use case, and the Field Service Routing documentation covers the constraints in detail.
FAQ
What's the difference between field service scheduling and dispatching?
- Scheduling builds the plan: who does what, when, and in what order.
- Dispatching executes it and handles changes during the day.
With real-time optimization, the line blurs, because the plan is continuously updated as dispatch events arrive.
Is field service scheduling the same as routing?
They're separate decisions that depend on each other. Scheduling assigns jobs and times, and routing decides the sequence and path. Solving them together produces plans that are both feasible and efficient.
When does manual field service scheduling stop working?
There's no fixed threshold, but the signs are consistent: dispatchers spend most of their day re-planning, SLA misses rise as volume grows, and adding technicians doesn't add proportional capacity. These usually appear once you have dozens of technicians, several skill types, and customer time windows.
Can I keep control over the schedule if I use optimization?
Yes. You set the priorities through constraint weights, you can lock (pin) visits you don't want moved, and you review the proposed plan before sending it to technicians.

When scheduling works, everything works.
Less waste. More control. Teams that trust the plan.







%201.avif)







