· 9 min read
Preventive Maintenance Scheduling and Technician Routing: A Practical Guide
How to turn maintenance intervals and due dates into technician schedules and routes: due windows, certifications, capacity for breakdowns and rolling plans.
Preventive maintenance looks simple on paper: every asset has an interval, so every visit has a date. In practice, a team of technicians has to turn hundreds of due dates into weekly schedules and daily routes. Those schedules must respect certifications, site access hours and contract commitments, and still leave room for the breakdowns that will interrupt them.
This guide covers what makes preventive maintenance planning specific, the data it needs, a step-by-step process, and how to simulate a two-week technician plan with a route optimizer such as AIRO. It applies to HVAC and refrigeration, fire protection, elevators, boilers, electrical inspections, water treatment, cleaning equipment, vending and any service business with recurring visits.
What makes preventive maintenance planning different
The difference with ordinary job scheduling comes from the assets:
- Intervals and due dates: each asset or contract has an interval (monthly, quarterly, twice a year, yearly) and a due date computed from the last visit.
- Tolerance windows: a quarterly service is rarely due on one exact day. It must happen within a window, for example two weeks before or after the due date. Inside that window the visit can be moved freely; outside it, it is late.
- Compliance: some inspections are regulated. Missing a due date can mean a failed audit, a voided warranty or a contractual penalty. Check the intervals and tolerances that apply to your equipment and jurisdiction.
- Durations by asset type: a rooftop unit, a boiler and a fire alarm panel do not take the same time. Several assets on the same site are best done in one visit.
- Certifications: refrigerant handling, gas, electrical, elevator or fire protection work often requires a certified technician.
- Access: business hours, a site manager present only in the morning, a school accessible only during holidays.
- Interruptions: corrective work (breakdowns) arrives without warning and has priority.
Why it is a hard problem
Like recurring sales visits, preventive maintenance is a periodic routing problem: each visit must land on a day inside its window, on the route of a technician who is allowed to do it, in an order that keeps driving time down. Three things make it harder than a single day of routing:
- Days interact: putting a visit on Tuesday rather than Thursday changes which other visits that technician can do nearby on both days.
- Technicians are not interchangeable: certifications, home locations and preferred customers restrict who can go where.
- The plan is constantly disturbed: every breakdown, absence or rescheduled appointment shifts the remaining work.
That is why good teams plan in layers: a yearly view of due dates, a detailed plan for the next one to four weeks, and same-day re-planning.
The data you need
| Data | For each | Why it matters |
|---|---|---|
| Site address or coordinates | Site | Travel times |
| Assets, interval, last visit | Asset | Due date |
| Tolerance (days before and after) | Asset or contract | Window in which the visit can move |
| Visit duration | Asset type | Fills the day |
| Required certification | Asset type | Who can do it |
| Access hours | Site | Time windows |
| Contract priority, preferred technician | Contract | Priority, technician choice |
| Home or depot, certifications, hours | Technician | Where days start, what they can do |
| Days off, training, on-call duty | Calendar | Available days |
The process, step by step
1. Keep a clean asset register
One line per asset with its site, type, interval and last completed visit. Without reliable last-visit dates, due dates drift and the plan cannot be trusted.
2. Compute what falls due in the planning horizon
For the next two weeks (or four), list every visit whose tolerance window overlaps the horizon. For each one, note its earliest and latest acceptable day. Some can only go in the first week, some only in the second, many anywhere in the period. Overdue visits go first.
3. Group by site
Merge the assets of one site that fall due in the same horizon into one visit and add their durations. It saves a trip and is what customers expect.
4. Check the workload, including a reserve for breakdowns
Take a two-technician team with 450 sites under contract: 120 serviced quarterly (60 minutes), 250 twice a year (90 minutes) and 80 once a year (120 minutes).
- Visits per year: 120 × 4 + 250 × 2 + 80 × 1 = 1,060 visits.
- Time on site: 480 × 60 min + 500 × 90 min + 80 × 120 min = 1,390 hours.
- Capacity: 2 technicians × 210 working days × 8 hours = 3,360 hours.
- Keep about 30% for breakdowns and callbacks: 2,350 hours left for preventive work.
- That leaves about 960 hours of driving for 420 technician-days, or 2.3 hours a day, for about 2.5 visits per technician per day.
If the reserve or the driving does not fit, extend some intervals where the rules allow, regroup sites, or plan a third technician before the backlog builds up.
5. Plan the horizon: who, which day, in what order
Assign each visit to a technician and a day inside its window, then order each day's route. Respect certifications, access hours, breaks and the end of the working day. This is where an optimizer saves the most time and driving.
6. Confirm appointments and publish
Send customers their visit day, then the schedules to technicians. Keep the plan stable for the next few days; changes beyond that are cheap.
7. Re-plan when a breakdown comes in
When a technician leaves for an emergency, the visits they cannot make that day must go somewhere: to a colleague, or to another day inside their window. Overdue and compliance-critical visits keep priority.
8. Roll the horizon every week
Each week, add the visits that come into the horizon, remove the completed ones, update last-visit dates, and plan again. The yearly view stays the reference; the detailed plan is always fresh.
How to simulate a two-week technician plan with AIRO
To be clear about scope: AIRO optimizes routes; it does not keep your asset register or compute due dates. Your maintenance system or spreadsheet does that (steps 1 to 3). AIRO then handles steps 5 and 7, with one modelling idea: each technician-day of the horizon is a "vehicle".
Simulation 1: two technicians, two weeks
Prepare two files (you can download our templates):
- Visits (one row per site visit due in the horizon): reference, site, address or coordinates, total duration as Service time, access hours as Window start and Window end, Priority high for overdue or compliance-critical visits.
- Technician-days (one row per technician and working day): Vehicle = "Ana W1 Mon"… "Ben W2 Fri", the technician's name as Driver, home as Start address and End address, hours, break, and Capacity = the maximum number of visits per day.
Choose Service visits as the type of stops, then run the plan with shortest driving time and balance by working time. AIRO chooses the technician and the day for each visit, orders every route, places breaks, and lists any visit it could not fit, with the reason.
Encoding due windows, certifications and preferences with skills
The Skills column carries all the rules about who and when:
- each technician-day has its technician's certifications ("refrigerant, gas") and its week and weekday ("week1, mon");
- a visit due in the first week requires "week1"; one due in the second week requires "week2"; one whose window covers both has no week tag and can go anywhere;
- a regulated inspection requires the certification, for example "electrical", so only a certified technician can take it;
- a contract that names a preferred technician requires that technician's tag, for example "ana".
Keeping time for breakdowns
The simplest reserve is in the hours: end the preventive day earlier than the working day (the templates stop preventive work at 15:00) so the rest of the afternoon stays free for corrective calls. You can also leave one technician-day per week out of the file, or lower the visits per day.
Simulation 2: compare scenarios
Run the same horizon with two and three technicians, with a stricter or looser reserve, or with different tolerance windows, and compare driving time, working time per day and unplaced visits side by side.
Simulation 3: the breakdown
When a technician is called away, open the two-week plan and re-plan the rest of the day from the current time:
- under Who is working, tick only today's technician-days (for example "Ana W1 Tue" and "Ben W1 Tue"): the other days of the plan do not change;
- mark the technician who left as out for the rest of the day: their remaining visits are spread over the colleagues still working, with no detour, and a visit in progress is finished first;
- the other visits stay with their technician (you can untick that to rebuild the day freely), and late visits can be listed as not done yet;
- high-priority (overdue) visits are kept first; the visits that no longer fit come back as carried over, and you download them as a file to import into the plan of another day of their window.
Limits to keep in mind
- One plan handles up to 300 locations and 30 vehicles: two technicians over three weeks, or three technicians over two weeks, fit in one plan; larger teams plan by area.
- Due windows are expressed per week (with skills), not per exact date.
- AIRO does not update last-visit dates: export the completed plan and feed it back into your maintenance records.
- Carried-over visits are not moved to later days automatically: you import them into the plan of the day you choose.
Download the templates
Two sample files reproduce a two-technician team around Columbus, Ohio, over two weeks:
- Visits due in the horizon (CSV): 52 site visits (48 due, 4 overdue) with coordinates, durations from 60 to 120 minutes, morning access windows, certifications, week constraints and preferred-technician tags.
- Technician-days (CSV): Ana and Ben, 10 days each, starting and ending at home, preventive work from 08:00 to 15:00 with a 30-minute break, at most 4 visits per day.
Import both, run the plan, then replace them with your own due list. All columns are described in the spreadsheet columns reference.
What to measure
- Visits done inside their window, and overdue visits remaining at the end of the horizon.
- Driving time per technician-day and the share of the day spent on site.
- The balance between technicians, especially when one holds a rare certification.
- Reserve actually used by breakdowns, to adjust it in the next plans.
Try it on your next two weeks
Create an account, import the two templates to see the method, then load the visits that fall due in your next two weeks. Each plan is priced from its size before you launch it, and you can compare as many scenarios as you need.