Lumina Sales is live.See it

Check the schedule before the agent promises a time

6 min read

By Lumina Software

  • Voice AI
  • Service business
  • Scheduling
  • Operations

A service business phone agent that books jobs without reading the real schedule will overbook. It sounds confident. It offers Tuesday at 2. The caller says yes. Then the office opens the calendar and finds that Tuesday at 2 already has two techs on other jobs and no open truck. Now someone has to call back, apologize, and move the visit. The customer remembers the apology more than the booking.

When we build voice reception for service businesses, the agent does not invent open slots from a script. It checks capacity in the same system the dispatcher uses, then offers only what is actually free. This post is about how we wire that check and what we tell the caller when the day is full.

Why static time offers break the day

Most first drafts of a phone script include a line like "We have openings tomorrow morning and Thursday afternoon." That line is easy to write. It is also usually wrong by lunchtime.

The script does not age. Jobs get booked, canceled, and moved all day. A phrase that was true at 8am is false at 2pm. An agent that repeats the same offer will keep selling times that are gone.

Same-day rules are not in the copy. Many shops will take an emergency after lunch but will not take a routine tune-up for the same afternoon. If the agent only knows "we book same day," it will fill the board with work the owner never meant to accept.

Travel time is invisible. Two jobs on the same street can share a tech. Two jobs across town cannot. A free "2pm slot" on a calendar is not free if the tech is still finishing a job forty minutes away. Capacity is not only a count of open cells. It is open cells that a real truck can reach.

Buffers get skipped. Owners leave thirty minutes between jobs for parts runs, paperwork, and late finishes. An agent that books back to back on every open cell will remove those buffers without anyone deciding to remove them.

Holds and soft bookings collide. A human dispatcher may hold a slot for a return call. If the agent books the same slot from the phone, you get two customers for one truck. The hold has to live in the same schedule the agent reads, or it does not exist for the phone.

None of these mistakes feel dramatic on the call. The caller hangs up happy. The damage shows up when the office tries to staff the day.

Read live capacity, then offer a short list

The rule we build for is simple: before the agent names a time, it asks the schedule what is open for the service the caller needs.

That means a live read against the booking or dispatch tool, not a weekly spreadsheet and not a hard-coded list of mornings and afternoons. The lookup should know:

  • Which service type this call is (repair, install, estimate, warranty).
  • Which tech skills or truck types that service needs.
  • Which days and windows are open for that type.
  • Any same-day cutoff the owner set (for example, no routine jobs after 1pm for today).
  • Travel and buffer rules the office already uses.

Then the agent offers a short list, not a blank invitation. Three concrete options beat "what works for you?" because the second question invites the caller to pick a time the shop cannot staff. If the caller needs a different day, the agent checks again and offers the next real openings.

When nothing fits, the agent says so plainly. "We are full for Thursday. The next open window is Friday morning between 9 and 12. Does that work, or should I take your number for a callback if something opens sooner?" That is better than inventing a Thursday slot and forcing a reschedule later.

We also keep emergency paths separate from routine booking. If the business treats a no-heat call or a flood differently from a filter change, the agent must ask one clarifying question early, then route to the emergency rules instead of the normal capacity list. Mixing those paths is how an emergency waits behind three soft estimates.

Keep the office able to change the rules

Capacity rules change. Busy season shortens same-day windows. A tech goes on vacation. A storm week fills the board by 10am. The owner should be able to update those rules without waiting on a rebuild of the phone agent.

We put the controls in the same place the office already edits hours and service areas:

  • Same-day cutoff time.
  • Max jobs per tech per day.
  • Services that need two people.
  • Days that are closed for booking even if the phones are answered.
  • A temporary "bookout" that blocks new routine jobs while still allowing emergencies.

The agent reads those settings on every call. It does not keep a private copy of last month's rules. When the office marks Friday full for installs, Friday installs stop being offered within minutes, not after someone remembers to rewrite a prompt.

We also show the office what the agent offered. Each booked call summary includes the times that were proposed and the one that was accepted. If the agent keeps offering a window the techs hate, the office can see the pattern and tighten the rule instead of guessing from memory.

Fail closed when the schedule cannot be reached

Live checks fail. The booking API times out. A password expires. The network blips. When that happens, the wrong default is to keep booking from memory. The right default is to stop promising times.

If the schedule cannot be read, the agent should collect the request, take a callback number, and tell the caller the office will confirm a time shortly. That feels slower on the call. It is faster than cleaning up five phantom bookings that never had trucks.

We alert on that failure the same way we alert when the phones go quiet. A capacity check that fails for more than a few minutes is an ops problem, not a mild glitch. The office should know before a whole morning of calls turns into a pile of unconfirmed work.

Retries matter here too. If the agent books a slot, the write should be idempotent so a dropped call does not create two jobs for one visit. The capacity hold and the final booking should share one job id so a second attempt updates the same row instead of stealing a second slot.

Start with the calendar you already trust

You do not need a perfect dispatch system to begin. Start with the tool the office already uses to plan the day. Give the phone agent a read of open windows for the common service types. Add same-day cutoffs and buffers next. Wire skills and travel rules when the simple version is stable.

The goal is ordinary: when the agent says a time out loud, a tech can actually be there. Callers get fewer callbacks. Dispatchers spend less of the afternoon fixing the morning's promises. And the phone stops selling a schedule that only exists in the script.

Written by Lumina Software. Have a question? Book a call

Keep reading