Lumina Sales is live.See it

Holiday hours break the phone agent first

7 min read

By Lumina Software

  • Voice AI
  • Operations
  • Reliability
  • Service business

The week a voice agent is most likely to be wrong is a holiday week. Nothing about the model changed. The shop closed early on Wednesday, the on-call tech swapped with someone else, and the only place that was written down was a sticky note by the front desk and a post on the shop's Facebook page.

The caller does not know any of that. They ask if someone can come out Friday. The agent looks at the hours it was given in the spring and says yes, Friday is open, 8 to 5. The caller plans around it. Friday morning nobody answers the door.

That failure is not a prompt problem, and a better model will not fix it. The agent said exactly what it was told. What it was told was stale. So when we build phone reception for a service business, we spend real time on one boring question: where do the hours live, and who changes them?

Hours are data, not a sentence in the prompt

The first version of almost every voice agent has the business hours typed into the prompt. "We are open Monday through Friday, 8am to 5pm, and Saturday 9am to noon." It works on day one. It is also the first thing that goes out of date, because nobody on the client's team thinks of the prompt as a place they need to update. They update the sign on the door, the Google profile, and maybe the website. The prompt sits in a tool they never log into.

We move hours out of the prompt and into a small record the agent reads on every call. Regular weekly hours, plus a list of exceptions. Each exception has a date or date range, what changes (closed, open late, open short, emergency line only), and a short line the agent can say about it. The prompt then says something like: before you answer any question about when we are open or when someone can come out, read today's hours and the exceptions for the next fourteen days.

That one change does three things.

  • The agent's answer comes from the same place every time, so two callers on the same afternoon get the same answer.
  • A person can fix the hours without editing a prompt, which means they will actually do it.
  • We can check the record in code, which we cannot do with a paragraph buried in a prompt.

The record does not have to be fancy. For a single location it can be a spreadsheet tab with five columns. For a shop with several trucks and an after-hours line it is usually a table in the same system that holds their schedule. What matters is that there is one copy, and the agent reads it at call time instead of remembering it.

Exceptions should expire on their own

The second way holiday hours go wrong is the reverse of the first. Someone does add the closure. "Closed Thursday and Friday for the holiday." Then it never comes out. Two weeks later the agent is still telling people the shop is closed Thursday, and calls go to voicemail that should have been booked.

So every exception gets an end date, and the agent ignores any exception whose end date has passed. There is no such thing as an open-ended override in our builds. If the shop is changing its regular hours for good, that is a change to the weekly hours, not an exception. Keeping those two separate stops a one-time closure from quietly becoming the new schedule.

We also keep the wording short and literal. "Closed Thursday, November 26, and Friday, November 27. Reopening Monday at 8am." Not "closed for the holiday weekend," because the agent will repeat that phrase to a caller who does not know which holiday or which weekend you mean. A date is something a caller can write down.

The on-call line changes more often than the hours

For trades and home services, the hours are the easy half. The hard half is who picks up after hours. On-call rotations change weekly, sometimes daily, and holiday weeks are when people trade shifts. If the agent transfers an emergency call to the person who was on call last week, that is worse than not transferring at all. The caller hears a ring, then a voicemail for someone who is at a family dinner and not looking at their phone.

We treat the on-call contact the same way as hours. It is a record with a start time, an end time, a name, and a number. The agent reads it at the moment it decides to transfer, not at the start of the call. If there is no current entry, the agent does not guess and does not fall back to "the owner's cell." It takes a detailed message, tells the caller plainly that it will be passed along, and marks the call for the first person in on the next business day. A gap in the rotation should show up as a flagged call, not as a transfer to the wrong phone.

When we hand this over, we show the client's office manager where the rotation lives and how to change it from their phone. If they cannot change it in under a minute, the design is wrong, because they will be doing it from a parking lot.

Check it before the caller does

A record is only useful if it is right, so a couple of simple checks run every morning before the phones get busy.

  • Is there an exception in the next fourteen days that is missing an end date or a line for the agent to say?
  • Do the hours for the next two weeks contradict anything obvious, like a closed day with on-call coverage set to "none"?
  • Is there a gap in the on-call rotation in the next seven days?
  • Has the business profile that customers see in search changed its hours since we last looked, while our record has not?

That last check matters more than it sounds. Google lets a business schedule special hours on its profile for holidays, special events, and other exceptional circumstances, separate from regular hours, and it suggests confirming your hours for official holidays even when they match your regular ones (Google Business Profile Help). Plenty of owners already update that profile because customers see it in search. If the profile shows a closure and the agent's record does not, someone made the change in one place and forgot the other. The morning check does not fix it automatically. It sends a short note to the person who owns the hours: your profile says closed Thursday, the phone agent says open, which one is right?

None of these checks need a model. They are plain comparisons on a small table. They catch the mistake on a Tuesday morning instead of on a Friday when a customer is standing in their kitchen waiting for a tech who is not coming.

What the agent says when it is not sure

Even with a clean record, there are calls the agent should not answer with confidence. A caller asks about a date six weeks out, past the window we check. A caller asks whether the shop will be open "the day after the storm." A caller says they heard you were closing early and wants to know if that is true.

For those, we give the agent a plain fallback. It says what it does know ("our regular hours on Fridays are 8 to 5"), says what it cannot confirm ("I don't have holiday hours posted that far out"), and offers to have someone confirm and call back. It does not invent a closure and it does not promise an opening. A caller who hears "I'll have the office confirm" is mildly inconvenienced. A caller who drove over to a locked door is a lost customer and a bad review.

The short version for an owner

If you run a service business and you have a phone agent, or you are thinking about one, ask whoever built it three questions before the next holiday:

  • Where do the hours and closures live, and can I change them myself without touching the prompt?
  • When I add a closure, does it come off on its own when it is over?
  • When the agent transfers an after-hours call, how does it know who is on call tonight, and what happens if nobody is?

If the answers are "in the prompt," "no," and "it calls the number we set up at launch," the agent is fine on a normal Tuesday and wrong in exactly the weeks your customers need it most. That is a small fix, and it is much cheaper to make in October than to explain in December.

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

Keep reading