HIVE80lab — Ops notes

No-Show Reminder Sequence

An empty chair is the most expensive inventory in a service business: the hour exists once, the cost is fixed, and a no-show makes it evaporate. This is the reminder ladder that makes clients show up — without a single awkward phone call.

1. The math of an empty chair

A solo physio with 30 appointment slots a week and a 22% no-show rate loses 6.6 hours of billable time every week — a third of a working week, unpaid, unrecoverable, repeated 48 weeks a year. Nobody budgets for it because it never appears on an invoice. It appears as a vibe: "we were busy but money was short."

2. The 3-touch ladder

Three touches, each with a different job. More than three and you train clients to ignore you; fewer and you are betting the slot on their memory.

The ladder only works as a ladder: the 48-hour touch gives room to reschedule politely, the 24-hour touch converts intention into a reply, and the 2-hour touch removes friction. Skip the first and every cancellation lands as a silent no-show; skip the last and "where do I park?" becomes the reason someone arrives at 2:25 to a slot that was rebooked at 2:10.

3. The reply-to-confirm mechanic

The difference between a reminder and a confirmation request is a question. A reminder that only states ("See you Tuesday!") gets filed mentally under "already handled." A reminder that asks for one word — YES, C, R — forces a micro-decision, and the micro-decision is what sticks in memory.

4. The no-show policy, written once

A policy that lives in the owner's head comes out as an improvisation, and improvisations sound like anger. Write it once, put it in the booking confirmation email, and let it do the talking:

Heads up: appointments not cancelled at least 12 hours ahead may be charged 50% of the session fee, and repeat no-shows are rebooked with a card on file. Life happens — reply R to your reminder any time and the slot moves free of charge. We just ask for the 12 hours so someone else can use it.

5. The same-day rescue script

The no-show happened. The slot is empty. The window between "they didn't show" and "the day moved on" is fifteen minutes long, and one text fits inside it:

"Hi Sam — we held your 2:00 pm today but didn't see you. No stress. Want to grab the 4:00 today, or Thursday 10:00? Reply with a number and it's yours."

Three things to notice: no stress removes the shame spiral that makes people ghost, two concrete times make replying easier than not replying, and the slot is still being sold — today, not "whenever." About a third of same-day no-shows reply to this text, and half of those become a billed appointment within the week. The ones who don't reply get the reschedule offer once more in tomorrow's reminder slot, then the two-strike rule takes over.

6. The two-strike rule for repeat offenders

Most clients no-show once a year, at most. A small group no-shows a great deal, and they are a math problem, not a morality play:

7. Worked example: the clinic that stopped losing Fridays

A two-room physio clinic, 60 booked slots a week, 22% no-show rate — 13 empty beds a week, concentrated on Friday afternoons where "I'll decide after lunch" was the house style. Reception spent real hours on reminder calls nobody answered.

Six weeks after the ladder went live:

Nothing about the clinical work changed. The only change: the appointment got a memory of its own, and the client got three chances to move it instead of one chance to miss it.

8. Five weekly numbers

Keep reading

The reminder ladder is the front door of calendar hygiene; the money side of the same discipline lives in the invoice collection ladder and the quote follow-up sequence — both are the same idea (the deadline does the asking) pointed at cash instead of appointments. If your no-shows cluster around first appointments, the cause is usually upstream in the lead response time checklist: a lead booked fast is a lead invested in the slot.

This checklist is part of the kit line

This checklist is part of the Hive80 Lab ops kit line — field-tested, instantly downloadable: