In HVAC, elevator, appliance or ISP field service โ assigning daily incoming jobs to technicians and routing them, balancing skill, time window and travel time (known as FSRSP in the literature).
In plain words
Sound familiar?
- Every morning the dispatch team spends 1โ2 hours on the phone juggling 'can Mr. Smith and Mr. Jones swap?' calls
- When an urgent breakdown comes in, a planned appointment gets bumped; the customer is called back with 'sorry, postponed to tomorrow' โ 2โ3 serious complaints per year
- A technician arrives and says 'I'm not certified for this brand' โ a second visit follows, doubled travel cost
- The required spare part isn't in the technician's van; the job can't be completed today, the customer is told 'we'll come back'
- Customer says 'come in the morning,' dispatch books 14:00 โ both sides unhappy
- Monthly service reports show 30%+ gap between 'planned' and 'actual' job duration; real duration is unpredictable
- In-city travel time is guessed; on a heavy traffic or bad-weather day the whole route collapses
Why it matters
How it's solved
Technical depth
How it's solved
Technical depthOne-liner: Don’t send the nearest technician โ send the nearest technician with the right skill. Wrong-brand certification means a second visit, and the lost day costs more than two extra travel legs. Filter by skill first, then by proximity and time window.
What the software is really doing is this: the assignment work your dispatch team does in 1โ2 hours each morning, it does for 50โ150 jobs in seconds; when an urgent job arrives, it re-plans in minutes. Three stages:
1. It collects the data. Per technician: certifications (which brand/model), daily availability hours, working zone, spare-part stock in the van. Per customer: location, requested job type, time window (e.g. ‘morning 09:00โ13:00’), estimated job duration (from past similar jobs), priority (planned / repair / urgent). City traffic, weather forecast. The data flows from the CRM/service system automatically, or is configured once.
2. It computes the best assignment and route. The software doesn’t try every possible technicianโcustomer matching โ for 20 technicians ร 100 customers that’s mathematically impossible. Instead, it uses scheduling and routing algorithms from operations research (a discipline that uses math and computing to solve business-decision problems) to take intelligent shortcuts: which technician, which customer, in what order. Constraints that conflict (skill mismatch, time window missed, missing parts) are filtered out automatically. The result comes in minutes โ for each technician an ordered daily list: ‘08:30 customer A, 11:00 customer B, 14:00 customer Cโฆ’ with an estimated arrival time for each.
3. It re-plans when urgent work arrives. A ‘my AC just blew, urgent please’ call at 11:00 โ the software looks at current technician routes; identifies the best technician (skill + proximity + parts); the planned jobs on that route are either shifted or transferred to another technician. The updated plan is on dispatch’s screen in seconds. A ’next customer changed’ notification appears on the technician’s tablet.
It does not replace dispatcher experience; think of it as a calculator that scales the assignment they do for 15 customers in their head up to 150, while never missing a skillโpartsโtime constraint. The decision is still yours, but the numerical impact of every change is visible.
Alternatives
Phone + spreadsheet + dispatcher's head
FreeFree (dispatch time is the cost)
Who it fits: 5โ10 technicians, 20โ40 jobs/day, stable customer base
- + Zero software cost
- + Flexible โ phone makes instant priority changes
- + No capex decision
- โ Above 15 technicians, dispatch hours explode
- โ Skill matching gets forgotten; repeat-visit rate rises
- โ Customer time windows live verbally, records get lost
- โ Technician productivity (jobs per day) isn't tracked
Local field service management (FSM) software
Enterprise$300โ1,500 setup + $100โ400/month (regional SMB pricing)
Who it fits: 10โ30 technicians, stable customer base, mobile tracking
- + Local-language interface and support
- + Mature technician mobile app (routes, contracts, signatures)
- + Customer SMS notification built in
- โ Assignment is usually a 'nearest technician' rule โ not true FSRSP optimization
- โ Skill matching depends on manual rule sets
- โ Re-planning after urgent jobs is slow
International specialized FSM software
Enterprise$30โ150/technician/month subscription, or $30,000โ250,000/year licence
Who it fits: 30+ technicians, multi-certification, contract-based maintenance
- + Mature: real assignment optimization, dynamic re-planning, skill matching fully supported
- + ERP, CRM, and warehouse integration ready
- + Algorithms hardened over years
- โ High licence and consulting cost
- โ Rollout takes 3โ6 months
- โ Local-language coverage and tax/contract adaptation may be limited
Custom build on an open-source solver
Open SourceLicence free; 10โ16 weeks of internal development, or $60,000โ250,000 of consulting
Who it fits: Large service firm with an in-house software team
- + No licence cost
- + Fully customizable to your skill matrix and contract structure
- + Cloud or on your own server
- โ Requires technical capacity in-house
- โ Ongoing maintenance is real work
- โ Routing + assignment + scheduling are three separate disciplines
Recommendation
Ask in the meeting
- Does the assignment engine run real optimization (skill + time window + travel time together), or just a 'nearest technician' rule?
- How is the skill matrix (which technician is certified on which brand/model) entered? Are certification expiry dates tracked automatically?
- When an urgent job arrives, how fast does the plan update? Are affected customers notified by SMS automatically?
- Are the technician's van spare parts fed into the assignment decision? Are part-shortage alerts produced?
- Are customer time windows (hard vs soft) modelled? Can a window-miss penalty be configured?
- Where does city traffic prediction come from? Does weather affect travel time?
- How do you structure the pilot โ how many technicians, how many weeks, what is the success bar?
- If we stop working with you, how do we get our customer, contract, technician and job history data back? Is there a standard export format?
Technical details
Editor’s note
In the operations room this problem is known as “service appointments”, “technician assignment”, or “field planning”. The academic name is the Field Service Routing and Scheduling Problem (FSRSP) or Technician Routing Problem (TRP). In operations research, it sits at the synthesis of classical routing (VRP), scheduling, and the assignment problem โ it contains the math of all three, but none alone can solve it. Without that vocabulary, in a software demo you cannot tell whether the “field service module” being pitched actually does optimization, or just applies a ’nearest technician’ rule.
The point most often overlooked in this segment: many products advertise “assignment optimization” but underneath they just run a nearest available technician rule. That works fine on a light day; once skill matching, time windows, and parts inventory pile up as simultaneous constraints, it can’t find the real mathematical optimum. In any demo, insist on a 15-technician + 80-job + 4-skill-type + tight-time-window scenario, and ask ‘how does assignment work, how fast does it re-plan?’
A step-by-step path for an SMB
Stage 1 โ Measure first, plan later. For at least 8โ12 weeks, log four things:
- Jobs per technician per day and average job duration
- Number of repeat visits and the cause (skill, parts, locked door)
- Customer time-window adherence (promised vs actual arrival)
- Dispatch team morning coordination time
Without this baseline you can’t tell which software will deliver which result.
Stage 2 โ Build the skill matrix. For each technician ร each brand/model/job-type: certification status, experience level (learning / competent / expert). In most SMBs this is verbal; putting it in writing alone delivers 5โ10% efficiency. The matrix is your knowledge capital โ any serious vendor will ask for it first.
Stage 3 โ Pilot. Start with the 5โ10 most active technicians for 8โ12 weeks. Define the success criterion in writing, before the pilot: e.g. “in 90 days, jobs per technician per day up by 1, repeat-visit rate cut in half, dispatch time down 40%.” If the bar is missed, the pilot ends โ keep that exit right in the contract.
Stage 4 โ Rollout. If the pilot lands, scale to all technicians over 2โ3 months. Technician mobile-app training runs 1โ2 weeks; dispatcher training is the more critical lift โ they need to learn how to accept and override system suggestions.
Risks โ what can go wrong
- Bad skill matrix data. If certifications aren’t current or ‘who can do what’ is incomplete, the software makes wrong assignments. A certification audit before the pilot is essential.
- Technician resistance. “I don’t work to be told what to do by software” is common. In the pilot, walk through results with the techs; the software must show transparently which rule was applied and why this assignment was made.
- Traffic data quality. If in-city traffic predictions don’t match reality, planned routes won’t hold. During the pilot, compare planned vs actual travel times.
- Vendor lock-in. Software that stores customer data, contract structure, and skill matrix in a proprietary format makes migration hard. Put a clause in the contract: “We can export our data in standard open formats (CSV or similar) at any time, on request.”
Related cautionary lesson (will be linked once published): “A mid-sized HVAC service that dropped its FSM software at month 11 โ what they missed.”
A technical view of the solution method
This section holds what you’ll need when talking to a software team or a consultant. It is not what the dispatch team sees on the daily screen โ it is the engine behind the curtain.
The main approaches used for field service routing and scheduling:
| Approach | Typical use | Solve time | Guarantees optimum? |
|---|---|---|---|
| Nearest technician | Small scale, few constraints | Seconds | No (far from optimal) |
| Assignment problem (Hungarian) | One-to-one matching | Seconds | Yes (in simplified case) |
| MIP (assignment + routing) | 20โ50 jobs, tight constraints | 5โ30 minutes | Yes (with enough time) |
| Metaheuristic (ALNS, tabu) | 100โ500 jobs | 30 seconds โ 5 minutes | No (near-optimal) |
| Dynamic re-scheduling | Event-driven | Urgent jobs, real-time | Seconds |
In practice: under 30 jobs with fixed planning, MIP is enough. With 100+ jobs, frequent urgent intervention, and multi-constraint operations, metaheuristic + dynamic re-scheduling is preferred.
Objective function choice changes the shape of the solution:
- Jobs completed: “Maximize technician productivity” โ fits fixed-cost staff
- Total travel time/fuel: “Minimize operating cost” โ fits fuel-heavy or wide-area service
- Customer satisfaction (window hit-rate): “Minimize churn” โ fits contract-heavy portfolios
- Repeat-visit count: “Don’t redo the same job” โ fits quality-focused businesses
Most real deployments use a weighted blend of all four.
Academic references
Listed in the sources block of this page’s frontmatter. Field service routing has been one of the fastest-growing sub-areas of operations research over the past 15 years; current work is enriched by IoT (smart-device alerts), real-time data streams, and ML-based job-duration prediction.
Sources
- Castillo-Salazar, J. A., Landa-Silva, D. and Qu, R. (2016). Workforce scheduling and routing problems: literature survey and computational study. Annals of Operations Research, Vol. 239 โ modern review of the field-service scheduling field.
- Pillac, V., Gendreau, M., Guรฉret, C. and Medaglia, A. L. (2013). A review of dynamic vehicle routing problems. European Journal of Operational Research, Vol. 225 โ foundational review of dynamic routing (including urgent re-plan).
- Dohn, A., Kolind, E. and Clausen, J. (2009). The manpower allocation problem with time windows and job-teaming constraints. European Journal of Operational Research, Vol. 192 โ foundational paper on skill and time-window constraints.
- INFORMS Interfaces โ case studies of field-service operations research deployments. informs.org/Publications/Interfaces
Glossary
- Field Service
- The set of processes covering installation, maintenance, or repair performed at customer locations โ technician assignment, routing, and customer notification.
- Assignment Problem
- Matching a set of resources (people, vehicles, machines) to a set of tasks at minimum cost or maximum benefit.
- MIP
- An optimization model where some decision variables are forced to be whole numbers (e.g. number of trucks, number of shifts).
Related problems
How Do I Build Weekly Employee Patterns โ Demand Met, Rest, Hours and Fairness All Holding Together?
The HR or operations manager of a 7-day 24-hour service (retail chain call center, hotel reception, security service, hospital cleaning) builds not individual shifts but **weekly patterns** for 100-500 employees: who works which days, in which shifts (morning/afternoon/night), with what days-off pattern โ peak-hour demand covered, weekend and night load shared fairly. The intuitive plan bleeds from one of two ends: understaffed peaks (queue at the till, lost sales, abandoned calls) or overstaffed lulls (80-200 TRY/hour labour, roughly 30-60K TRY a month wasted on a 100-person operation). On top of that, contract breaches (45-hour weekly cap, 5 consecutive days, 7-10 nights per month) trigger payroll penalties and labour-law risk; without a written fairness metric, turnover climbs to 40-80% and every new hire costs 8-30K TRY in training. For a 200-person operation, annual payroll is in the 30-80M TRY range; a 10% improvement is a 3-8M TRY/year saving.
n Tasks + n People / Machines โ Who Do I Assign To What So Total Cost or Time Is Minimum?
For service SMBs that start each week asking 'who should I put on what': engineering practices with 5-30 engineers, law offices distributing 20-80 files a week, facility-management firms with 10-50 field technicians, or hospitals matching surgeons to cases. Every person-task pair has a different real cost because skill, time, travel distance and personal preference mix together; the intuitive 'best person on the hardest job' rule cannot see those differences. Bad pairings show up as overtime, late deliveries and customer complaints by Friday. A systematic matching of the same team typically cuts total cost or time by 15-30%.