A reminder text isn't one thing. It's two jobs wearing the same coat, and most clinics only send one text and expect it to do both.

Job one: give the patient enough runway to reschedule if life got in the way. Job two: put the appointment top-of-mind on the day so they actually walk through the door. A text sent 72 hours out does the first job well and the second one poorly. A text sent 2 hours out does the second job — but by then, if the patient forgot, you're not reminding them, you're documenting a no-show in real time.

Full disclosure: I work for Ready, an SMS platform. This is about when you send, not what you send it with — but I'll show the timing math because the interval is where clinics leave money on the floor.

The two failure modes have different price tags

Play out the two extremes and you can see why timing matters more than message copy.

Too early (72+ hours out): The patient reads it, thinks "oh right, that's Thursday," and either forgets again by Thursday or replies to reschedule. The reschedule is good — you got the chair back with three days of lead time to fill it. But if that's your only touch, forgetting by Thursday is still a live risk.

Too late (2 hours out): If the patient already forgot and made other plans, a 2-hour reminder can't move a meeting or find childcare. Best case they cancel and you eat an empty slot you can't backfill. Worst case, silence — a hard no-show.

So the early reminder creates reschedule opportunities and the late one converts intent into attendance. They're not redundant. Sending only one is the mistake.

What a no-show actually costs, so the intervals mean something

Round numbers, framed as approximations. A typical provider visit might net $150–$250 in collected revenue. A 3-provider clinic running 12% no-shows across ~2,000 monthly appointments loses roughly 240 slots a month. At $200 a slot that's ~$48K/month walking out the door — the kind of math we broke down in detail in the no-show ROI piece.

Now the send cost. On Ready's Standard tier a single SMS segment is $0.02 plus the $0.0045 carrier pass-through, so $0.0245 all-in per segment. A two-touch schedule to 2,000 appointments — one early text, one day-of text, most fitting in a single 160-character GSM-7 segment — is roughly:

2,000 appts × 2 touches × $0.0245 = $98/month

If that $98 recovers even ten of those 240 lost slots, you've turned $98 into ~$2,000. The reminder program pays for itself on the first prevented no-show of the month; everything after is margin. The lever that decides how many you recover is timing.

The two-touch schedule that separates the jobs

Here's the interval structure that does both jobs instead of splitting the difference and doing neither well:

TouchTimingJobWhat you want back
Reschedule prompt48–72 hrs outGive runway to move the appointmentA reply — reschedule, cancel, or confirm
Day-of confirmMorning of, or ~2–4 hrs outTop-of-mind, remove frictionA "yes" (or a silence you now chase)

The 48–72 hour window is the sweet spot for touch one. Sooner than 48 hours and there isn't enough runway to fill a canceled slot; much past 72 and the patient reads it, files it away, and forgets before the day arrives.

The day-of confirm isn't asking permission to reschedule anymore — that window's closed. It's saying "you're on for 2pm, reply YES." Its whole job is to catch the silent no-show early enough to react. If someone doesn't reply by mid-morning, that's your front desk's signal to call — the text-then-dial order we cover in the recall sequencing post applies here too.

Why the reply matters as much as the reminder

A one-way "don't forget your appointment" text is a notification. It doesn't tell you anything back. The whole value of the two-touch window is that each touch asks for a reply and you route on the answer.

With Ready's two-way inbox, inbound replies land in-app (and inside GoHighLevel for connected accounts), so the 72-hour "reply RESCHEDULE" actually does something — it lands in front of a human who can move the slot while there's still time to fill it. A reminder nobody can respond to wastes both jobs.

One caveat worth flagging: patients don't reply in the format your automation expects. Someone answers "yeah" instead of "C," and a naive flow files it as no-response. That parsing gap is real and worth building around — we wrote about it here — because a mishandled "yeah" turns a confirmed patient into a phantom no-show on your dashboard.

The quiet-hours trap that breaks the timing

Here's where the interval math meets compliance. Your "morning of" confirm is only clean if "morning" is the patient's morning, not your clinic's.

If you batch-send a 7am confirm from an Eastern-time clinic to a patient in Arizona, you've just texted someone at 4am their time — outside permitted hours, and exactly the kind of TCPA exposure a reminder program is supposed to avoid. Ready enforces quiet hours based on the recipient's area, so a send scheduled too early gets held until it's permitted locally. That protects you, but it also means your carefully-timed "2 hours before" can drift if the appointment is early and the patient's timezone pushes the send into a hold.

The fix is to schedule day-of confirms with enough buffer that a quiet-hours hold still lands before the appointment. We went deep on the multi-timezone version of this in the recall quiet-hours post — same principle, applied to reminders.

Consent: the reminder and the "book your flu shot" live on different sides of a wall

Worth saying plainly because clinics trip on it constantly. An appointment reminder tied to an existing, booked visit is treatment communication. A "come in for your flu shot" or "we have openings this week" is marketing. Those need different consent, and sending the second one off an opt-in you collected for the first is the gap most clinics cross without noticing.

Both of your two-touch reminders — the reschedule prompt and the day-of confirm — are treatment-side, tied to a real appointment. Keep them there. The moment you bolt a promotional line onto the confirm text, you've changed what consent it needs. If you're unsure where the line sits, this breakdown of the consent wall is the one to read first.

The practical takeaway

One reminder text does one job. To prevent no-shows instead of merely narrating them, you need two touches doing two distinct jobs:

  • 48–72 hours out — a reschedule prompt with a reply path, so a patient who can't make it moves the slot while you can still fill it.
  • Day-of — a confirm that catches the silent no-show early enough to trigger a call, buffered so quiet-hours holds still land before the appointment.

The whole two-touch program runs around $98/month for a 2,000-appointment clinic on Ready's Standard $0.0245 all-in per-segment pricing — recovered by the first ten prevented no-shows and pure margin after that. The math isn't fragile. What breaks it is sending one text at the wrong hour and calling it a reminder program.

If you want to build the two-touch schedule with reply routing and automatic quiet-hours holds already handled, you can see how the messaging side works on the Ready product page, or start with 2,500 free credits and wire up a test flow at signup. Time the two touches right and the reminders start doing both jobs instead of neither.