← All posts

Arrival window vs exact appointment time for contractors

2026-10-09 · 6 min read

Rather not build it yourself? We build the automation on your tools and keep it running. Get it built for me→

It's 10:40 on a Tuesday. A homeowner booked into your 8 to 12 window took the morning off work, and she's been watching the street since 8. Your tech is still at the first stop, where a simple capacitor swap turned into a refrigerant leak. She calls the office to ask where he is. Whoever answers doesn't know either, so they put her on hold, text the tech, wait, and tell her "late morning." She calls again at 11:30.

Across town, a different shop promised a customer 9:00 sharp. The tech pulls up at 9:50 because the job before ran long. Nobody told the customer, so by the time he knocks she has decided the shop can't keep a schedule.

The first shop pays for its choice in phone calls and the second pays in annoyed customers. In my experience neither one sat down and picked between windows and exact times. They book the way they always have.

The short answer

Use arrival windows for service and repair calls, where nobody knows how long the job before will take. Use exact times for estimates, sales visits, installs that start the day, and anything first thing in the morning, where the length is predictable and the customer is setting time aside for you.

Most shops end up using both. The rule should come from the job type, and either way the customer should hear from you before they have to call and ask.

Arrival window vs exact time, side by side

Arrival window Exact appointment time
What the customer hears "Between 8 and 12" "9:00"
How a long job hurts you It eats into the window, which is mostly fine Every stop after it runs late
Calls to the office "Where is he?" partway through the window "He's late" right after the time passes
Customer's day Blocked for hours Blocked for a short slot
Route flexibility High, the dispatcher can reorder stops Low, the order is locked in
Best for Service and repair calls, emergencies worked in Estimates, sales visits, first-of-day installs
Weak spot Feels vague without updates Breaks the first time a job runs over

What the wrong choice costs

Windows with no updates move the work over to your phone. The customer has no idea where in those four hours the tech will show up, so she calls to find out, and the person who answers has to track down the tech to give her an answer. That's one interruption for the office and one for the tech, and it happens again at every stop where the day has slipped. Some customers stop waiting, and the tech gets to an empty house.

Exact times on the wrong jobs cause a different problem. Repair calls run long for reasons nobody can see coming, and a missed time comes across as a broken promise in a way that being late inside a window doesn't. So the dispatcher pads the schedule to protect the promise, which fits fewer jobs in a day. Or they skip the padding, and by 2:00 every customer is waiting on a late truck.

What setting up either one looks like

These are the steps I take when I build scheduling for a service shop.

  1. Tag each job type with how it's booked. Service and repair get a window. Estimates, sales visits and first stops of the day get an exact time. The tag sits on the job type, so the person booking doesn't have to decide.
  2. Confirm in the same terms you booked. The confirmation text says "between 8 and 12" or "at 9:00," word for word, along with the address and what the tech needs access to. The appointment confirmation text post has wording for both.
  3. Send an on-my-way text when the tech leaves the stop before. On a window booking this is the update that matters most. It turns four hours into "about 25 minutes," and it goes out when the tech marks the last job done, so nobody in the office has to send it.
  4. Flag a running-late job before the customer notices. If a job is open past its expected length, the next customer gets a short text with a new estimate, and the office sees the same flag. That way she hears about the delay before she starts wondering.
  5. Let replies do the rescheduling. If she answers "can't do today," that goes to the office as a reschedule request with her open times, and the route gets fixed while the tech keeps working.

You can build most of this on the scheduling software you already pay for, or with a small connection between your calendar and a texting number. Most shops I talk to have the pieces already. What's missing is the trigger that sends each text when the job status changes.

What stays human

How long your windows are is your call. Two-hour windows are easier on customers, and four-hour windows are easier on the route, and only you know which your crew can keep. Start wide, watch a few weeks of real arrival times, and narrow it once you trust the numbers.

The order of stops stays with the dispatcher. A system can flag that a job ran long, but it has no idea the next customer has an elderly parent with no heat and should be moved up, or that a regular won't mind being pushed to the afternoon. Those calls belong to whoever knows the customers.

The words at a late arrival belong to the tech. A short "sorry for the wait, the last job turned into a bigger repair" at the door helps more than any text. And when a customer replies angry, that goes to a person, and the automatic messages to her stop until someone has called her back.

When this won't change much

If you run one truck and talk to every customer yourself, you're already the on-my-way text. If most of your work is new construction scheduled through a general contractor, their schedule decides your day and windows don't really apply. And if your techs don't mark jobs done on their phones, start there, since every text above depends on that one tap.

Where to start

If your office spends its mornings answering "where is he?", the free 20 minute process audit is where I'd start. We go through one normal week of bookings, sort the job types into windows and exact times, and find out which updates would have saved the most calls. Builds start at $500 one time, then a flat monthly from $99 after an included run-in period, cancellable. More on the HVAC page and the plumbing page. Book the audit here.

08 / Start here

Tell us the task. We build it and keep it running.

Tell us what you use today and we'll reply within one business day with what it would take. $500 to build, 30 days of monitoring included, then $99/mo. Cancel the monthly anytime.

Email

pgorski@newfacedesign.com

Phone

+1 (773) 627-2176

Based in

Chicago area

Working with clients everywhere

Skip the form: grab a 20 minute slot.

Open the calendar →