A no-heat call at 9:40 on a February night does not wait for morning. The caller works down the list until somebody picks up, and the company that answers wins a customer the other four never knew they lost. In Lubbock that night arrives every winter, usually during the same week everyone else's phone is ringing too.
You are closed more than you are open
The arithmetic is worth doing once. A shop open 8 to 6, Monday through Friday, is reachable 50 hours a week. The week has 168. For the other 118 hours, the published number rings to voicemail — and callers do not distribute themselves politely across your open hours. The homeowner discovers the water heater leaking when she gets home at 6:40. The AC quits on the first 105-degree Saturday of June. The pipe bursts at 2am, because that is when a hard freeze does its work. Demand in the trades is discovered, not scheduled, and a large share of it is discovered while you're closed.
The first question is whether it can wait
Everything in the after-hours system hangs on one fork, presented within a minute of the missed call: is this an emergency, or can it hold until morning? The text that goes out says so plainly — "This is [company]. We're closed right now. If this is an emergency, reply 1 and we'll connect you to our on-call tech immediately. If it can wait, reply 2 and you can pick a time for tomorrow." Two paths, built differently, because a burst pipe and a quote request have nothing in common except a phone number.
The emergency path is a bridge, not a message
Be clear about what a text cannot do: it cannot help someone with water coming through a ceiling. For a true emergency the only adequate response is a human voice, fast. So the emergency path doesn't chat — it bridges. The caller replies 1, and the system rings the on-call phone and connects the two live. If the on-call tech doesn't pick up within a set number of rings, the call rolls to a backup number. The caller stays inside one thread the whole time instead of redialing their way down a page of search results.
Two details make this path honest. The after-hours rate gets stated before dispatch, not discovered on the invoice — which respects the caller and quietly filters out the jobs that could actually have waited. And there is always a terminal case: if nobody picks up anywhere, the system says so, logs everything it heard, and does not pretend otherwise.
The routine path books while you sleep
The water heater making a new noise, the request for a mini-split estimate, the tenant whose office AC is warm but limping — these don't need a 10pm phone call. They need a slot. The routine path offers times from your real calendar, under rules you set: which hours are bookable, how long each job type takes, how much drive buffer sits between appointments, and which jobs are never self-booked. The customer picks Thursday at 9 from bed at 11pm, gets a confirmation, and your morning starts with the job already on the board instead of a voicemail to chase.
The 7am digest
Before the first truck rolls, one message summarizes the night: who made contact, when, what they wanted, what got booked, and — most important — what needs a decision. The digest's real job is the exceptions. The commercial caller asking about a rooftop unit that doesn't fit your self-booking rules wasn't booked, but wasn't dropped either; it's the top line of the digest, flagged for a callback. The overnight system handles what fits the rules. The digest hands a human everything that didn't, in one place, while the coffee is still hot.
Weekends and holidays are configuration, not memory
The on-call rotation lives as a calendar the system reads, not a fact somebody has to remember to tell the software. Changing who carries the phone this weekend means editing a calendar entry. Thanksgiving, Christmas week, and the Fourth are entries too, each with its own rules — a different rate disclosed, a different escalation chain, or a full closure with an honest message and a first-thing-Monday slot offered instead.
The failure this design prevents is specific and common: a system cheerfully bridging emergency calls all weekend to a tech who is at the lake, because the rotation changed and the software never heard about it. When the schedule is data instead of memory, that failure has nowhere to live.
What this does not solve
It does not create demand. It captures calls that are already happening — which means the first step is finding out whether they are. If your line takes three after-hours calls a month, this system is not your best next dollar, and we will say so before you spend it.
It cannot invent an on-call tech. The emergency path ends at a human, and if nobody in your shop is willing to carry the phone at 2am, no software fixes that. Some shops decide the honest configuration is "emergencies get our first morning slot and a fast text saying exactly that." That is a legitimate answer — just a different system.
And it does not launch overnight. US carriers require business texting to be registered before messages deliver reliably — a legal-identity and use-case filing known as A2P 10DLC — and the review takes days to a couple of weeks. Unregistered traffic doesn't bounce loudly; it gets filtered silently, reported as sent and never arriving. So week one of any engagement is paperwork, and anyone promising a Friday sale and a Monday launch is planning to skip the step that makes the texts arrive. One more quiet gap: callers on landlines can't receive texts at all. The system checks for that and falls back to logging the call and taking voicemail, rather than pretending it had them covered.
Where to start
Pull last month's phone bill and count the calls that arrived after 6pm, before 8am, or on a weekend. Multiply that count by your average ticket and a close rate you'd call conservative. That is the number this system is playing for — computed from your own figures, which is the only version of that math worth trusting.