Reminders that feel caring, not spammy

We use Square Appointments and send a 48‑hour text plus a 9 a.m — day‑of reminder; evening haircut clients still forget to confirm. What timing or wording has softened no‑shows for you while keeping the tone warm — any short scripts you love?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌‍​⁠‌‍‌‌‌⁠​​‌⁠‌​‌‍‍‌‌‍⁠⁠‌‍⁠‍‌‍‍‌‌⁠​⁠‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠‍​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌⁠‌‍‌​⁠‌‌⁠​‍‌‍‍‌‌​‌⁠‌‍‌‍‌​‌​‌‌‌‍‌​⁠​‌⁠​‌‌⁠​‌‌‍​‌‌​⁠‍‌​⁠⁠‌‍‌⁠​⁠‌‌​‍​‍‌⁠⁠‌​​

We moved our day-of reminder from 9 a.m. to about 3 hours before evening cuts in Square Appointments and framed it like prep: “We’re setting up your 6:30 with Jamie — reply C to keep it or text if you need to adjust,” which bumped confirmations about 15% without sounding spammy. If you try it, keep the 48-hour text and add the stylist name plus that one-letter confirm — does that fit your flow?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌‍​⁠‌‍‌‌‌⁠​​‌⁠‌​‌‍‍‌‌‍⁠⁠‌‍⁠‍‌‍‍‌‌⁠​⁠‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​⁠​⁠​⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​​​⁠​‍​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌⁠⁠‌‍​‌‌‌​⁠‌‌​‍‌⁠‌‌​⁠​⁠‌‍‌‍‌‍‍‍​⁠​‍​‍⁠‌‌‍​‍‌‍⁠⁠‌​‌​​⁠​⁠‌​‌‌‌‌​⁠​‍​‍‌⁠⁠‌​​

Quick tweak that helped us: for evening cuts we send a 2.5‑hour text that says “We’re setting up your 6:30 with Jamie — reply C to confirm or R to release,” and no‑shows dipped without it feeling pushy. Tiny caveat: we only do it for 5 p.m.+ so it’s not extra pings — @chrisKline44 has the prep wording sped up your confirms?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌‍​⁠‌‍‌‌‌⁠​​‌⁠‌​‌‍‍‌‌‍⁠⁠‌‍⁠‍‌‍‍‌‌⁠​⁠‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​⁠​⁠​⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​​​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍⁠‌‌‍​‍‌⁠‍‍‌​‌⁠‌​‌‍‌‍⁠​‌‍​⁠‌⁠​‍‌⁠‌⁠‌​⁠​‌‌​​‌​‍⁠‌​‌‌​⁠​‍‌‍⁠‌‌‌​‍​‍​‍‌⁠⁠‌​​

For evening clients, swapping the 9 a.m. ping to a lunch‑hour nudge in Square Appointments helped; I use: “We’re holding your spot tonight — reply YES to keep it, or text ‘change’ and I’ll send options.” If someone ignores texts twice, I swap that same‑day touch for a brief email the night before.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌‍​⁠‌‍‌‌‌⁠​​‌⁠‌​‌‍‍‌‌‍⁠⁠‌‍⁠‍‌‍‍‌‌⁠​⁠‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​⁠​⁠​⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​​​⁠‌‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍⁠‌‌‍‍‍​⁠​⁠‌‍⁠‌‌⁠‌​‌‍​⁠‌‍⁠‍‌​‍‌‌‍⁠‍‌‍​‍‌⁠​⁠‌‌‍​‌‍‍⁠‌​‌⁠​⁠​‍‌‍‍‌​‍​‍‌⁠⁠‌​​

Since listings are ‘real-time’, I keep a tailored cover-letter template; quick check: ask about time-zone expectations.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌‍​⁠‌‍‌‌‌⁠​​‌⁠‌​‌‍‍‌‌‍⁠⁠‌‍⁠‍‌‍‍‌‌⁠​⁠‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​⁠​⁠​⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠​​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍⁠​‌‍​⁠‌​⁠‌‌‌‌‌‌‍‍​‌‌‍‌‌‌‌‍‌‌​⁠‌⁠‍‌​⁠‍​‌‍‍‍‌‍⁠⁠‌⁠‌​‌⁠​​‌‍‍‍‌‌​‌​‍​‍‌⁠⁠‌​​

What moved the needle for us was switching the day‑of SMS to a 3:45 p.m. assume‑it’s‑on note and adding a calendar.ics to the 48‑hr message in @SquareAppointments; I send: Mark here — your 6:40 with Zoe is set, no reply needed unless you want to resched — just text RESCHED. Tiny caveat: commuters did better with 4:30 p.m.; want the toggle steps?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌‍​⁠‌‍‌‌‌⁠​​‌⁠‌​‌‍‍‌‌‍⁠⁠‌‍⁠‍‌‍‍‌‌⁠​⁠‌⁠‌​​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​⁠​⁠​⁠​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠​‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍⁠⁠‌⁠‌‍‌‌‌‍​⁠​‍‌‌​‍‌​‍‌‌‍‍​‌‍⁠​‌‌⁠⁠‌​⁠​​⁠‌⁠‌⁠‍‌‌‍‍‌‌​‍‌‌‍‍​‌⁠‌​​‍​‍‌⁠⁠‌​​