Every few months someone in the business says the arrival window should be two hours instead of four, and they are right. The question is what happens next.
The version that fails: the window gets narrowed, nothing else changes, and within a month crews are late, the office is fielding angry calls, and dispatchers have started leaving quiet gaps in the day to protect the promise. You now have a narrow window and worse utilization.
The window exists to cover uncertainty. If you remove the window without removing the uncertainty, the uncertainty does not disappear — it shows up as lateness. So the work is to take the uncertainty out first, in this order.
Step 1: Fix your service durations
Why first: everything downstream depends on knowing when a job ends. If every appointment is a uniform two-hour block, you cannot compute when the crew is free to leave, so you cannot compute anything else.
What to do: pull twelve months of completed jobs, group by service type, and look at the actual distribution of hands-on time. Then set your scheduled duration at something like the 75th percentile rather than the mean — you are scheduling against the days that run long, not the ones that go perfectly.
Watch: the spread within each service type. A service with a very wide distribution is usually two different jobs wearing one name, and splitting it into two service types will do more for your schedule than anything else on this list.
Step 2: Make travel explicit
Why second: as long as drive time lives inside the appointment block, it is invisible, and invisible things cannot be reduced.
What to do: represent travel as its own scheduled quantity between appointments, computed from the previous job's address at the hour that job ends — not from the depot, not from a technician's home, not from a static distance table.
Watch: travel as a share of shift, broken down by time of day. Most companies find their afternoon estimates were badly optimistic.
The "nearest technician" trap. Assigning to whoever is geographically nearest sounds right and is frequently wrong, because proximity is a property of a technician at an hour, not a fixed attribute. A truck nearest an address at 7:00 a.m. can be the worst choice for a 3:00 p.m. appointment. Compute from where the truck will actually be.
Step 3: Check feasibility before you offer the slot
Why third: this is the structural change, and it needs steps 1 and 2 as inputs.
What to do: at the moment availability is calculated, the question must be "can a qualified crew physically reach this address by this time, given everything else on their day" — not "is this block empty." Slots that fail the check are never offered.
Watch: same-day reschedule rate. This is the metric that moves most visibly, because a large share of same-day rescheduling is repair work on appointments that were never going to fit.
Step 4: Sequence the day
Why fourth: now that the day is feasible, ordering it well is worth doing. Done earlier, you are optimizing a day that should not exist.
What to do: route optimization on the jobs assigned to each truck, respecting the time constraints already promised.
Watch: backtracking frequency — how often a truck crosses its own path. It should approach zero. If it does not, the remaining cause is usually territory design rather than sequencing.
Step 5: Narrow the window — in stages
Why now: only at this point does the padding actually correspond to real, measured variance instead of general anxiety.
What to do: narrow one step at a time. Four hours to three. Hold it for a month. Watch adherence. If adherence stays above your threshold, narrow again.
Two refinements worth making:
- Narrow by service type before narrowing globally. Predictable jobs — maintenance visits, filter changes, straightforward diagnostics — can carry a much tighter window than open-ended repair work. A blanket policy is set by your worst case; a per-service policy is not.
- Narrow by time of day. First appointment of the morning is the most predictable slot you have, because nothing precedes it. Many companies can offer a genuinely tight first-call window long before they can offer one at 3:00 p.m.
Watch: schedule adherence, weekly, as the governing constraint. Let it set the pace.
Step 6: Communicate on the day
Why last: this is the cheapest step and the one everyone wants to do first. It genuinely improves the customer experience — but done alone it manages perception of a problem rather than fixing it.
What to do: confirmation the day before, a notification when the crew is en route, a real ETA rather than a repeat of the window.
Watch: inbound "where is my technician" call volume. It should fall sharply, which is itself a real saving in office time.
The honest limit
None of this produces certainty. Traffic is real, jobs overrun, customers are not home, and some days go sideways no matter how good the plan was. There will always be a window, and it will always contain some padding.
The goal is narrower than perfection: stop padding every appointment for the worst case of the entire day, and pad instead for the measured variance of this drive and this service type. That is a much smaller number, and it is the difference between a four-hour window and a two-hour one.
What to take away
- Narrow the window last. Removing padding before removing uncertainty converts it directly into lateness.
- Start with real service durations at roughly the 75th percentile, not the average.
- Make travel an explicit scheduled quantity computed from where the truck will actually be at that hour.
- Check feasibility before offering a slot — same-day reschedule rate is the metric that proves it worked.
- Narrow by service type and by time of day before narrowing globally; your first morning call can go tight long before your afternoon can.
- Let schedule adherence govern the pace. A wider window you hit beats a tight one you miss.
Common questions
How can I offer a shorter arrival window?
Reduce the uncertainty the window covers before you narrow the promise. That means accurate service durations, travel computed from where the crew will actually be, feasibility checked at booking, and day-of communication. Narrowing the window first simply converts padding into lateness.
Should I offer a one-hour arrival window?
Only if your schedule adherence supports it. A two-hour window you hit 95 percent of the time is better for customers and for your phone lines than a one-hour window you miss a third of the time. Narrow in stages and let the adherence metric set the pace.
Does texting the customer an ETA replace a shorter window?
It helps considerably and it is much easier to implement, but it does not solve the capacity problem. A wide window still locks a truck out of other work for its duration, even if the customer is kept well informed.