Skip to content
StriqTech Logo
Automation

Scheduling and routing field technicians: the arrival window that prevents the closed door

The arrival window puts the route's buffer inside the promise. And it forbids you from arriving early: that is why the gap left by a closed door cannot be filled.

12 min readStriqTech

Four hours at scheduling, two the afternoon before, thirty minutes when the technician leaves the previous job. That is the tiered precision of an arrival window, and it exists to put the route's buffer inside the promise instead of next to it. It also has an asymmetry almost nobody looks at: the window forbids you from arriving early as well. That is why the gap left by a closed door cannot be filled by pulling the next customer forward, and the expensive failure of the day is not the wasted trip but the hour and a half of route time left dead in the middle. The width of each window does not come from what you would like to promise either: it comes from measuring your real deviation over a week, with three columns per visit. None of this is solved by routing software: with WhatsApp and a spreadsheet you can organize up to about ten visits a day.

The window is where you put the route's buffer, not a concession to the customer

When you promise Tuesday at 10, the buffer stays outside the promise. The previous job runs forty minutes long —which in field service happens every day, because the fault is never the one they described on the phone— and you have already broken your word, even though the technician is doing good work.

Promise formatIf the previous job runs 40 min longWhat the customer does with their dayWhere the buffer sits
Exact time: Tuesday 10:00Promise broken, customer calls at 10:15Frees up one hour only and leavesOutside: the technician absorbs it by arriving late
4-hour window: Tuesday 8 to 12You are still on time, nobody callsRearranges the morning, does not lose the dayInside the promise
Open slot: Tuesday, sometime during the dayYou are still on timeLoses the whole day or turns down the appointmentInside, but paid for by the customer

The open slot is the comfortable trap: it gives you all the buffer in the world and charges you for it in cancellations, because more and more people cannot afford to lose a whole day waiting.

The width comes from your real deviation, not from what you would like to promise

For one week, three columns per visit: promised time, actual arrival time, real duration of the job. Ten visits are enough. The difference between the earliest and the latest arrival relative to what was promised is your honest minimum window. Do not shrink it out of optimism: if it comes out at three hours and you promise two, you will break your word a third of the time and the customer will perceive disorder, not bad luck.

The third column is the one that widens everything the most, which is why it pays to separate jobs from the moment the request comes in. The predictable one —standard installation, equipment replacement, maintenance, delivery— lasts between 40 and 70 minutes with little variation. The diagnostic one —it does not work, it does not turn on, it makes a noise, it leaks water— can take 20 minutes or three hours, and there is no way to know until you are inside.

From there comes a scheduling rule that costs nothing: never put a diagnostic job before a visit with a narrow window. They go at the end of the route, or in the afternoon window. A single badly placed diagnostic at 9 in the morning throws off the five visits that follow it.

The three messages do not inform: they build the route

The precision ladder has a single idea behind it: do not promise a precision you do not have yet. But the difference with any ordinary reminder sequence is that here two of the three messages do not exist to reassure the customer, they exist to produce the data you use to build the next day's route.

When you send itWhat you already know at that pointHonest precisionWhat it decides in your spreadsheet
At scheduling, days aheadZone and job type4-hour windowWhich zone day the visit goes into
The afternoon before, 17 to 19Tomorrow's real load and who confirmed2-hour windowThe order of the stops
When the previous job closesThe technician's real departure time30 to 40 minutesNothing: it is the only one that merely informs

At scheduling:

Hi [Name], the technical visit for [issue] is booked for [day] between 8 and 12. So the technician can work we need: someone over 18 at the address, access to [the electrical panel / the outdoor unit / the meter] and the space cleared. The afternoon before we will write to you with a 2-hour slot inside that window. If you confirm it, the morning is reserved for you; if we get no reply, the visit moves to the end of the day's route. If the technician arrives and nobody is there, the failed visit is charged at [amount]. If you tell us up to 2 hours ahead, there is no charge. The address we have is: [street, number, floor, apartment, buzzer]. Is it correct?

That last question looks like paperwork and it is one of the ones that saves the most visits: an incomplete address —no floor, no name on the buzzer, no gate code— causes as many closed doors as forgetting does. And the notice about the charge has to be here, in the first contact: charging for a failed visit you never announced costs more in argument than you recover.

The afternoon before, around 18:00:

Hi [Name], tomorrow [day] the technician arrives between 9 and 11 for [issue]. Reply: 1 if you confirm someone will be there 2 if you need to change the day If we get no reply before 21:00, the visit moves to the end of the route and may fall after 16:00.

The reordering that message announces is not a threat to cancel —cancelling makes you lose the job— but exactly what you are going to do at 21:00 with the spreadsheet open, whether you have the reply or not. That is why you can write it without discomfort: you are not applying pressure, you are describing how your day gets built.

The same day, when leaving:

[Name], [Technician] has left for your address and arrives in 30 to 40 minutes. He will call you from the door at [phone]. If right now there is nobody there, tell us in this same chat and we will rearrange it. If he arrives and nobody is there, the visit is rescheduled for [next available day].

This third one does not change the route, and it is worth being clear about that so you do not spend extra effort on it: when the technician leaves, the route is already decided. It works to rescue the visit that was going to fall through because of forgetfulness in the last two hours, which is no small thing, but it is the cheapest of the three steps. The one that moves the needle is the afternoon before, and it is precisely the one almost nobody sends.

Whoever does not confirm the afternoon before does not go first on the route

With the replies from 21:00 you build the route in three piles:

  • Confirmed: goes early and with the narrowest window. Morning slots are your scarcest inventory, so they go to the safest visits.
  • No reply: goes after 14:00 or at the end. You do not take them off the schedule, you move them to the place where a closed door breaks the fewest things.
  • Replied 2: leaves the day and their slot is offered to someone on the waiting list for that same zone.

Add a wildcard job per zone: a job with no customer present —an inspection at your own premises, a materials delivery, a site survey for a quote, preventive service on a unit sitting out on the sidewalk— that can be dropped into the gap left by a closed door. The wildcard is not scheduled: it travels with the technician all day like a card held in reserve. It is the only piece of this scheme that exists purely to fill gaps, and the next section shows why a piece dedicated exclusively to that is needed.

The gap is not filled by pulling the next customer forward

Look at a real Tuesday for a technician in the western suburbs of Buenos Aires, six stops, windows already communicated:

Scheduled timeStopJobPromised window
8:10Ramos MejíaWater heater replacement8 to 12
9:30CiudadelaDiagnostic: it does not turn on8 to 12
11:00HaedoAnnual maintenance8 to 12
13:20MorónInstallation13 to 17
15:00CastelarDiagnostic: it leaks water13 to 17
16:30ItuzaingóWarranty inspection13 to 17

In Ciudadela nobody opens. The technician waits ten minutes, calls twice, takes the time-stamped photo at the door and leaves at 9:45. He reaches Haedo at 10:05 instead of 11:00 and finishes at 10:50.

And there is where the counterintuitive part shows up: he has two and a half hours free and there is nothing to do with them. Morón is twelve minutes away, but you promised Morón 13 to 17. Calling at 11 to ask them to be there in half an hour is asking for exactly what the window promised you would never ask: the man organized his morning around something else because you told him he could. You can try anyway, and in practice one in three or four says yes. That is luck, not a plan.

That is the asymmetry of the window and the price of using it: it protects you from arriving late and forbids you from arriving early. The route can stretch forward but cannot be compressed backward, so a closed door does not give you back a free stop at the end of the day, it gives you back a hole in the middle. Discounting lunch, the net hole on this Tuesday is ninety paid minutes; if the closed door had fallen on the first stop, two and a half hours. That is the range worth planning around: between 90 and 150 minutes per closed door.

From there come the only two ways to fill the hole, and neither is an algorithm: the wildcard per zone, which is real work with no customer waiting, or moving lunch earlier and accepting that you lost a stop that day. A route optimizer, on the other hand, has nothing to fill it with: you cannot ask it to invent demand at 11 in the morning in Haedo.

What you are missing is not a technician: it is the hour-and-a-half gaps

Count your closed doors for two weeks before believing any number. I am not giving you a benchmark percentage because yours does not depend on the trade: it depends on whether you confirm the afternoon before and on whether you work directly or through insurers, and those two things move it far more than what you do for a living. It is one column in the spreadsheet with three reasons: nobody there, wrong address, the customer changed it at the last minute.

Then read it in the currency of this business, which is not pesos: it is route hours and stops per day. If you get twenty closed doors a month, at 90 to 150 minutes each, that is between 30 and 50 dead hours plus the mileage. Against the 176 monthly hours of a full-time technician, that is almost a quarter of a technician you are already paying for, spread across hour-and-a-half holes that nobody sees because each one, in isolation, looks like a morning that went a bit flat.

And that is why it never shows up in any expense report: the failed visit is not booked as a loss, it is booked as capacity. The day the schedule does not fit and you conclude that you need to add a technician, a good part of that technician is already bought. It is inside those gaps.

Routing before you have windows is optimizing the wrong problem

Automatic routing is the flashy part and it is second in order of importance, for two reasons specific to this business. The first is the Tuesday above: the optimal sequence breaks anyway when a stop does not open, because the big variable is not the mileage but whether the visit happens. The second: with five to eight stops per technician, the optimal route and the one a person builds with Google Maps usually differ by ten or fifteen minutes, less than what a single closed door took from you.

Before the optimizer there is a free lever that pays off more: fixed zones by day. Monday north, Tuesday west, Wednesday centre. It does not optimize the route, it changes the demand that enters the route: whoever calls on Monday about the northern zone gets offered Thursday —the next day for that zone— and not a stray Tuesday that forces a trip across the city. Implementing it costs nothing more than agreeing on a map with whoever answers the phone.

The ceiling is not how many visits you have: it is live rescheduling

With one or two technicians and up to ten visits a day, the confirmation round takes fifteen or twenty minutes and the spreadsheet is enough. With three to five technicians and twenty to thirty-five visits, the round goes over an hour and always lands on the same person: thirty messages, thirty replies, marking the spreadsheet and reordering three routes before 21:00. It starts failing through forgetfulness, not through judgement, and the days it fails are the busiest ones.

But that can still be held together with discipline. What cannot be held together is the other side of the day. At 11 a diagnostic runs two hours long and at that moment the windows you promised stop being true: you have to recalculate the next three stops on that route, notify them with new slots that are consistent with each other, and decide whether the last one falls to the next day —which in turn disorders tomorrow's schedule, which is already confirmed. All of that while the same person answers the phone and takes new requests.

By hand it does not happen: one gets notified, late, and the other two find out when they call angry. That is where automating comes in, and the order matters. First, reading and classifying the confirmations from the afternoon before, which is pure volume. Then the log of failed visits with a reason, so that the number exists. Then the recalculation of windows when a job runs long, with its notice to each stop. Automatic routing goes last, and not because of price: it only becomes useful once you have accumulated real durations by job type, and those durations come out of the log from the previous steps.

If you are about to buy the routing first because it is what shows up in the demos, send us at info@striqtech.com how many technicians you have, how many visits they do per day and what you schedule with today. The missing step is almost never the fourth: it is the second, the log of closed doors with a reason, and without that data the optimizer will build you an impeccable route that breaks at 11 for the same reason as always.

When the window ladder is not the right tool

SituationWhy the ladder does not applyWhat to use instead
Emergencies: drain unblocking, leaks, locksmith workThere is no schedule, there is dispatch; there is no afternoon before on which to rest the step that mattersLive estimated arrival time and a single message when the technician is assigned
Shops open all dayThere is always someone at the counter: the closed door barely existsMeasuring real duration by job type, which there really is your expensive variable
One technician with three visits a dayYour spread is small and the window gives away precision you can actually deliverExact time, used as a sales argument against those who give slots
Jobs through insurers, building management or real estate agenciesWhoever hires is not whoever opens, and their phone is not the one on the orderThe same mechanics, but asking for the occupant's number when you accept each order

Before looking at routing software

Two questions settle the decision, and both are answered without buying anything: how many closed doors did you have last month, with the reason written down? Are you confirming the afternoon before with a narrower window than the one you promised at scheduling? If the first has no number and the second is a no, any optimizer will merely organize a route that breaks all the same.

The first almost never has a number, and getting one costs a single column. On the job sheet add a field with four fixed values and none of them free text: nobody there, bad timing, wrong address, cancelled without notice. Have the technician mark it from the phone before starting the van, while he remembers, not at night when he files his job sheets.

In thirty days that answers something that today gets argued from memory at the office. If the bulk falls under nobody there, your problem is the confirmation the afternoon before and it is fixed with the window ladder, for free. If it falls under bad timing, you promised a slot you did not meet and the problem is the midday recalculation. If it falls under wrong address, you do not have a scheduling problem but an order-taking one, and no routing software touches it. Three causes, three different fixes, and only one of the three is bought.

Without that column filled in for a month, any provider —us included— will quote you on a hypothesis. With it, the conversation starts directly at which of the three fixes is yours.

Frequently asked questions

How many hours should a technician's arrival window be?

As wide as your real spread, measured over a week. Write down promised time against actual arrival time for ten visits: the difference between the earliest and the latest arrival is your honest minimum window. In home service with diagnostic jobs that usually comes out between 2 and 4 hours, which is why large service companies tend to use 4-hour windows. If your spread comes out under an hour, promise an exact time: precision is a commercial advantage and you would be giving it away.

What do I do if the technician arrives and nobody is at the address?

Three things, in this order. The technician waits 10 minutes and calls twice, no more: every extra minute comes out of the next job. A time-stamped photo is taken at the door, which is what backs up the charge if there is an argument later. And the reschedule is not offered on the spot but from the office, with the worst slot on the next route, not the best. The good time slots are reserved for whoever confirmed.

Is it worth buying routing software if I have three technicians?

Not yet. With five to eight stops per technician per day, the optimal route calculated by a machine and the one a person builds with Google Maps usually differ by ten or fifteen minutes a day. That saving does not pay for a monthly license. Two free things pay off first: assigning fixed zones to fixed days and confirming the afternoon before. Automatic routing starts to pay for itself when you pass ten stops per technician and you have real durations by job type, not estimates.

How do I charge for a failed visit without losing the customer?

By announcing it before it happens, not after. The amount goes in writing in the scheduling message and is repeated in the confirmation the afternoon before, with a clear way out: if they tell you up to two hours ahead, there is no charge. Charging without prior notice starts an argument that costs more than the visit. And there is one case where it is better never to charge: when the address or the phone number you had was wrong, because the mistake was yours.

Is it useful to ask for confirmation over WhatsApp when the client is an insurer or a building management company?

It is, but sent to the wrong person it is worth nothing. When whoever hires you is not whoever opens the door, the confirmation has to reach the occupant of the property, and the occupant's number usually does not come on the work order. Asking for it when you accept each order is the process change that cuts closed doors the most on insurer jobs, and no tool replaces it.

Did this content help?

Implement this in your business in 72 hours

Let's talk for 15 minutes. No cost, no commitment. I'll audit one process and show you the projected ROI.

Let's talk on WhatsApp