Issue #3 · October 5, 2026

What Has to Be True Before the First Truck Leaves in the Morning

A job on the board isn’t permission to roll. Here’s the morning leave-card a dispatcher can run before handing over keys, with three possible endings: rolling, holding, or not today.

It’s 7:10. The night note exists. The job is in the first slot. A tech is standing at the board with keys in his hand.

None of that means the truck should leave.

Last night’s note is an input, not a green light. This post starts the next morning, with the person at the board. It’s for the dispatcher, the office, or the owner. Not the person who took the call.

On the board is not the same as ready to roll

Here’s what goes wrong in the morning. The truck goes to the billing address, or to last year’s house. The right name goes out on the wrong kind of job. Or the tech shows up at 7:45 for a customer who was told 1 to 5 and is still at work.

None of that is a demand problem. It’s a blank nobody looked at before keys.

ServiceTitan’s contractor playbook calls a job booked to the wrong address “one of the most preventable costs incurred in a home service business.” It doesn’t put a dollar on that, and I won’t either. Nobody publishes a rate for how often trucks roll to the wrong house, or how often a first call leaves half-built. I looked. There isn’t one. So this isn’t a “studies show” post.

What the software screens do show is plainer. Some fields are a promise to the customer. Others are just a slot on a board.

  • A pin is not a checked address. On ServiceTitan’s redesigned dispatch board (Early Access as of its September 16, 2026 help page), only jobs with validated addresses show up on the map. Routes use the verified address if there is one and the typed address if not. The vendor’s own words: “Unverified addresses may lead to inaccurate results.” A separate ServiceTitan setting means that if the address isn’t verified, the customer’s tracking screen shows the tech’s name and the destination but no distance or ETA. If the map won’t draw the job, you don’t have a confirmed stop.
  • The slot is not the window. ServiceTitan treats the start time and the arrival window as two separate fields. On the classic board, “Dragging a job on the Dispatch Board doesn’t update or change its arrival window in any way.”
  • Assigned is not rolling. ServiceTitan lets you book a job with nobody assigned. Many shops do that on purpose. Unassigned jobs sit in a tray, not in a tech’s lane.

Moving the bubble doesn’t change what the customer was told. Putting a name on it doesn’t mean anyone told the house a truck is coming.

The fix isn’t new software. It’s a card the dispatcher runs in the time it takes to hand over keys.

The leave-card (the MUST lines)

Three honest endings. Anything else is a false roll.

  • Rolling. Address, job, the window the customer was told, a named tech, fee status, access, safety clear, and the customer knows the truck is coming. (Or your written rule says this stop doesn’t get a same-morning text, and the exception is noted.) Not good enough: a name on a whiteboard and a set of keys.
  • Holding. Not rolling. One reason. Who tells the customer, and by what clock time. The board shows a hold, not a ghost first call. Not good enough: leaving it in the first slot so it “doesn’t get forgotten,” with no call to the house.
  • Not today. Canceled or moved off today, with a reason the owner can defend, and the customer told. Not good enough: deleting the bubble and hoping they call back.

MUST means it has to be true, or clearly settled, before the truck leaves. SHOULD makes the stop go faster, but a blank there doesn’t cancel the roll unless your own sheet says it does.

A. The night note is complete enough to roll. The note has the callback, the service address, the symptom, safety, the fee response, booked vs message-only vs refused, and a named person. If a line is blank, the office fills it with a short call before keys, or the truck doesn’t roll. Check that last night’s outcome really was “booked.” A message-only note is a callback this morning, not a first call. A spouse’s “we’ll try” doesn’t become a job just because someone typed it in. SHOULD: who wrote the note, and whether the on-call tech already knows about it.

B. Service address for this stop. Read the street and city out loud and check them against the record the tech will actually navigate to. The address you bill to and the person who pays are allowed to be different. The stop is not. “Work is at 14 Oak. Bill the property manager. Text the tenant.” That’s good enough. One address field that nobody can explain fails the truck. So does a billing ZIP, “same as the invoice,” or last year’s house still sitting on the profile.

Know how your system behaves here. In Housecall Pro, the job address is picked from the customer’s addresses, and billing is a separate checkbox. Changing the street on a job can apply to that job only or rewrite the whole profile, depending on one box. In Jobber, once a job is created on a property, “the property address cannot be changed on the job.” If the property is wrong, you catch it before anyone drives, or you’re making a new job. SHOULD: a validated or Google-suggested pin, gate code, parking.

C. Job type and what they’re walking into. Trade and job type, written so a stranger could read it. “No heat, gas furnace, customer’s words: ‘blowing cold since 5 a.m.’” Plain “service call” fails. The summary has to be somewhere the tech will actually see it, not in a voicemail nobody played back or someone’s text thread. Jobber warns that editing a job’s schedule can overwrite custom visit instructions, so look after you move things. SHOULD: equipment on file, last-serviced date. Don’t hold a no-heat truck for a model number. And don’t diagnose or quote a repair in the morning either.

D. Parts. Yes or no. On this truck, or not on this truck and the customer knows we’re coming to look, not to finish. Details below.

E. Fee. Accepted, declined, or clearly still open under your rule. Details below.

F. The window the customer was told. The promise, not the bubble. Details below.

G. Who’s home, and how the tech gets in. “Homeowner until 10” or “lockbox, code on the job, dog in the back.” Good enough. “They said someone would be there,” with no time and no code, fails. The number on the job has to reach the person at the door. Texting a landlord in another city isn’t “notified.” SHOULD: pets, parking, which door.

H. Safety holds still open. Gas, CO, smoke, water on electrical, roof. Details below.

I. A named tech who can do this trade. A person, not “first available.” Details below.

J. The customer knows the truck is coming, or knows it isn’t. Details below.

Trade adds, pulled from the night note first:

  • HVAC. Heat, cool, or “not keeping up.” For heat, the fuel: gas, propane, or electric. That decides the tech and the safety hold. Indoor temperature if the note has it (“no number, thermostat blank” is fine). Where the equipment is and whether the tech can get to it. SHOULD: filter access, more than one system. Don’t stall the roll over a filter size.
  • Plumbing. Active leak or contained. Main status: off, not off, or unknown. If it’s unknown and still running, the truck fails until someone confirms the main or the office accepts the roll in writing. Room and floor. Sewage vs a drip changes who goes.
  • Electrical. Burning, smoke, or sparks that haven’t been cleared mean no roll. Panel, or one room or device? That tells you the skill needed and the danger. It isn’t a diagnosis. Don’t add “flip the main” unless that sentence is already on your sheet.
  • Roofing. Active leak into the house now, or a business-hours item? Business-hours doesn’t get a dawn truck just because it’s on the board. Water near electrical: yes or no. If yes, it’s an electrical hold too. Write down whether a tarp is already on and who put it there.

A filled card that passes.

Rolling — 7:20 a.m.
2218 Fenwick Ct., read back. Matches the pin and the tech’s GPS. Billing is the same customer, different address. Not used.
No heat, gas furnace, basement. Customer: “blowing cold since about 5.” Thermostat reads 61.
Told 8–10 a.m. on last night’s confirmation. Still 8–10. Nothing moved.
Dana, HVAC service, checked in, skills match, not dispatched anywhere else.
No part promised. The customer knows this is a diagnostic visit.
Fee: after-hours fee from our sheet, stated last night, accepted.
Homeowner home until noon. Side door. Dog crated.
No gas smell. No CO alarm. No hold open.
On-my-way text to the homeowner’s cell at 7:22, Dana’s name on it.

Every line is filled. No dollar figure, no model number, no guessed cause. Dana can read it before he backs out.

A release that fails.

“It’s on the board. Send him.”

There’s no address check. The window on the board says 7:30, and the confirmation the customer got last night says 1–5. The note says “furnace,” and the only person checked in is an install helper. The fee line is blank. Nobody knows if anyone’s home. The customer finds out from the doorbell.

That truck might still find the house. If it does, the tech gets to fill in the card himself, in the driveway, on your clock.

The window they heard is not the bubble you dragged

This is where good shops lose mornings.

The tech is ready early. Somebody drags the first call to 7:30. The board looks better. The customer still has the window they were told last night.

Every major product treats those as separate things.

  • ServiceTitan, classic behavior. Dragging doesn’t touch the arrival window. Jobs show on the board by start time, not by window. Once windows are on, every new booking needs one, and the customer’s booking notice uses the window, not the slot.
  • ServiceTitan, newer board (Early Access). The shop picks a rule. Do nothing means the window never changes on its own. Automatically adjust means the window moves when the schedule moves. Choose manually means you decide each time. When you move a job, you can keep the original window, match it to the new time, or pick another one. Auto-adjust can rewrite the promise without anyone having a conversation. That’s a risk, not a feature, unless the customer is actually told.
  • Housecall Pro. The window is “the time frame your customers can expect you to arrive,” and it starts at the calendar time. Options run from None up to 4 hours. None “will give the customer an exact time.” If you never set a window, you may have been promising exact times you didn’t mean to.
  • Jobber. The default is None until the shop picks a length. The window can start at the visit start, or it can be centered on it, so a 9:00 start with a two-hour window can mean 8 to 10. The schedule shows the start time, not the window, until you open the visit. Templates built before windows existed may leave the window out. “Anytime” visits don’t have a time at all.

The rule is simple. Ask what the customer was sent, not what the calendar square says.

If you move a first call this morning, telling the customer is a choice the software lets you skip. Jobber asks “Notify client?” when you drag or edit a visit, and “don’t send” is a real button. Bulk reassignment doesn’t ask at all. Housecall Pro can send an update when the time or the assigned employee changes, but only if notifications are on.

Skipping the notice and rolling anyway is how a shop burns a morning. The tech shows up early to an empty house, or late against a window the customer still believes in. Good enough: the customer was told, or there’s a clock time when they’ll be told and the job is Holding until then.

I’m not going to tell you how long your window should be. Those menus run from none to four hours because they’re menus, not standards.

Name the tech, then decide if the truck is telling the truth about parts

A name is not a qualification. On ServiceTitan, skills on the job type copy onto the job. Booking or assigning a tech who lacks them throws a skills-gap alert, “regardless of how you book the job or assign the technician.” Qualified techs sort to the top. A tech can only be dispatched to one appointment at a time, and has to be checked in first. Dispatch is its own step after assigning.

Tom Merriott put it well in ACHR News back in 2016. Sending plumbing to plumbers and HVAC to HVAC techs “is only a baby step.” The dispatcher’s job is to match the right person to the job. In his words: “if you want to set up your board in the morning and just have the calls run in order that day, then you don’t need a dispatcher.”

Good enough: “Dana, HVAC service, on this visit,” and your skill list matches. Heat pump vs gas. Drain vs sewer. Residential vs your one commercial account. Fail: “first available,” or the only person checked in is an install helper and the job is troubleshooting. Paper shops don’t get the alert. Ask the question out loud.

If it’s a long drive, move the window and tell the customer. Don’t keep it a secret.

Parts: yes or no. ServiceTitan keeps an item list with quantities for each truck. It separates quantity available, on hold, on order, and on hand. On order isn’t here yet. A purchase order is not a part in the van.

The ACCA HVAC Blog post from a DUCTZ contractor in 2017 says it plainly: stock commonly replaced parts on the truck so the job doesn’t stall, and plan the whole thing to avoid a second visit. “Come Prepared or Go Home.”

So the card line has two answers:

  • On the truck.
  • Not on the truck, and the customer has been told we’re coming to look or to pull the part, not to finish.

“We’ll see” isn’t a third answer. A diagnostic visit can be honest without the part. A promised same-morning replacement can’t be, if the part is still at the supply house.

That’s the whole parts section. One line, yes or no.

Safety holds, access, and the fee line you do not get to invent

Safety holds stop the truck. This isn’t the night script again. It’s one question: cleared or not cleared, in writing?

  • Gas odor. No roll until the caller has left, called 911 or the gas utility from outside, and the utility or fire department has cleared the building (American Gas Association). A furnace tech is not the first responder. Release: “Utility cleared, customer back inside, they want the appliance looked at.” Written, not assumed.
  • CO alarm, or symptoms they think are CO. Outside, 911 called, no going back in until responders say so (CPSC). Don’t run the appliance until trained people service it. If the alarm goes off again within 24 hours, that’s another evacuation and a qualified appliance tech, not a casual first call. Release: “Responders released the house. Alarm stayed quiet. They asked for a qualified tech.”
  • Smoke, fire, burning at the panel. If there was smoke or fire, the fire department clears it before it’s a service call. ESFI’s guidance: burning smell, buzzing, heat, flicker, or discoloration means a qualified electrician. That page doesn’t give a breaker procedure, and neither do we. Release: “No smoke now. Smell was at the panel. Electrician named on the truck. They were not told to open it.”
  • Active water, especially onto electrical. The note should already say whether the main is off. If it doesn’t, get that answer before a plumbing truck rolls into a flooding house. Water on a panel is also an electrical hold (IKO uses water on a fuse box as its example). Release: “Main is off. Water stopped. Panel is dry.” Or: “Plumbing rolling, electrical hold still open. Plumber does not open the panel.”
  • Roof. An active leak into the house, structural risk, or water on electrical can justify a roll (IKO). A couple of shingles, hail, or minor flashing is business hours. The homeowner doesn’t go on the roof. Your tech doesn’t go up unless your own roof rule says so: pitch, weather, tie-off, who’s allowed up. A tree on a power line is a 911 and utility call, not a roof ticket.

If the night note says gas, CO, smoke, or a roof that hasn’t been cleared, the default is don’t roll until the hold is lifted in writing.

Access is a person or a code, not a hope. A locked house is a second visit you already paid for.

The fee line. Housecall Pro’s dispatcher script template makes dispatch-fee confirmation its own step, separate from the repair price. It also tells the desk not to promise an exact total over the phone. The morning job isn’t to reopen the fee conversation. It’s to read what last night’s note says.

  • Accepted. “After-hours fee from our sheet, accepted,” or “member, fee waived per our sheet.”
  • Declined. Then it can’t be Rolling.
  • Never stated. Your rule decides, and you write down which rule applied: “Still open. Owner said roll anyway, tech states the fee before work.” Or: “Not rolling until the office gives the number and they accept.”

A blank fee line isn’t a yes. I’m not giving you a number for it either. There’s no sourced national figure for dispatch, diagnostic, or after-hours fees. The number comes from your sheet.

Tell them you’re coming — or tell them you’re not

The software won’t do this for you unless you’ve set it up to, and even then it can be skipped.

  • ServiceTitan’s dispatch text, if you’ve turned it on, goes out when the first tech is dispatched, not when the job was booked. A second tech added later doesn’t always trigger another one. If the feature is off, nothing goes out.
  • Housecall Pro’s “On my way” is its own text. It only goes when someone taps the button, and that tap has a Notify customer box that can be unchecked.
  • Jobber’s on-my-way text is manual. It doesn’t go out just because a visit exists. The customer needs a textable primary number with the setting on.

So the card line is: told, in a way that reaches the person at the door. “Text went to the tenant at 7:05.” “Called, they know it’s 8 to 12.” Fail: assuming the software told them, or counting last night’s “we’ll call in the morning” as today’s window.

The same goes for Holding and Not today. They’re only honest if the customer hears about it. “Called, no truck today. Reason: part not on truck / no qualified tech / gas not cleared. Next contact by 9:30 a.m.” Silence fails. They took the morning off work.

SHOULD: the tech’s first name in the message, if your template has it. Don’t hold a truck because a headshot is missing.

Soft close — the leave-card is the product

This works on a whiteboard or inside any field-service software. Before keys, the dispatcher should be able to say all nine of these without calling the homeowner back to start over:

  1. This address, this stop, checked against the pin.
  2. This job type, in the customer’s words plus our category.
  3. The window they were told, and it still matches.
  4. This tech, and they can do it.
  5. Part on the truck, or they already know it isn’t.
  6. Fee accepted, or clearly still open under a rule the owner signed.
  7. Someone can open the door, or access is written down.
  8. No open gas, CO, fire, active-water, or unsafe-roof hold.
  9. The customer has been told the truck is coming, or told it isn’t, and why.

If any line is blank, the job can stay on the board. It can’t be the truck that leaves.

You don’t save the wasted trip by making the board look full. You save it when the blanks are visible before keys.

A few things to try this week, if they fit your shop:

  • Before the first set of keys leaves the hook, run the nine lines. If the address, the window they were told, or the tech’s name is blank, that job can wait on the board. It shouldn’t wait in a driveway.
  • When you move a morning job, tell the customer that same minute. A bubble in a new slot isn’t a new promise. The promise is whatever you already texted them.
  • Keep the leave-card next to the night card. One says what got written down at 1 a.m. The other says whether that note gets to become a truck. If the fee is still blank, it gets your number or a hold, not a guess.

Sources