Most no-shows are not flakiness, they are friction
It is tempting to write off no-shows as customers being inconsiderate. Some are. But when you actually call the people who did not show, the reasons cluster into a small, fixable set: they forgot, they were not sure of the time or the window, something came up and they had no easy way to tell you, they called to reschedule and got voicemail, or they were never fully committed in the first place because booking was too easy and cost them nothing.
Each of those has a different fix. Forgetting is a reminder problem. Uncertainty is a confirmation problem. Something came up is a rescheduling problem. Never committed is a deposit or qualification problem. Lumping them all together as customer flakiness is why most no-show policies fail: they punish the last category and do nothing about the first four, which are usually the majority.
Start by finding out which category dominates for you. For the next month, when someone does not show, note the reason in one word. The distribution will tell you which fix to build first, and it saves you from installing a strict deposit policy to solve a problem that was actually a missed phone call.
Build a confirmation cadence, not a single reminder
One reminder is not a cadence. A cadence is a small sequence of touches spaced so that each one gives the customer a natural chance to confirm or move the appointment while you still have time to fill the slot.
A cadence that works for most service businesses: an immediate confirmation the moment the appointment is booked, containing date, arrival window, address, price or estimate range, and what the customer needs to do before you arrive (clear the area, crate the dog, move the car). A reminder 24 hours out with the same details and a direct way to reply. A short heads-up on the morning of, or 30 to 60 minutes before arrival, saying you are on the way.
The 24-hour touch is the one that does the most work, because it is the last point where a cancellation is still useful to you. If someone cancels a day out, you can call the next person on your list and save the slot. If they cancel while you are pulling into their driveway, the day is gone. Every hour of notice you can buy back is worth money.
Keep the messages short and specific. Long, formal, template-heavy reminders get ignored. Date, window, address, one line about what to expect, and a clear instruction to reply if anything changed. Text is generally the right channel here: SMS gets read at roughly a 98 percent open rate, far ahead of email. If you are sending automated reminders at any scale, make sure your consent, opt-out handling, and carrier registration are in order first.
Make rescheduling easier than ghosting
This is the fix almost nobody builds, and it is the highest-leverage one. Right now, in most small service businesses, the easiest thing a customer can do when their plans change is nothing. Calling you means dialing, waiting, probably reaching voicemail, and having an awkward conversation. Ghosting is free and takes zero effort. When you make the responsible option harder than the irresponsible one, you get the irresponsible one.
Flip that. Every confirmation and reminder should include an explicit, low-friction way to move the appointment: reply to this text with a new day, or tap this link to pick a new slot. Say it in plain language, something like reply RESCHEDULE and we will send you the next open times. When you tell people they will not be scolded for moving an appointment, most of them move it instead of vanishing.
Then close the last hole: the customer who does try to call and does not get through. A missed call at 7:40 in the morning is often somebody trying to tell you today does not work. If that call goes to voicemail and stays there, you drive out for nothing. Roughly 85 percent of people who reach voicemail never call back, so a voicemail box is not a safety net. Something has to respond immediately, even if it is just an automatic text saying we missed your call, reply here and we will sort it out.
Use deposits where they actually fit
Deposits work, but they are not universal. They fit best on jobs with real cost to you before you arrive: special-order parts, custom materials, long drive time, blocked-out multi-hour slots, or high-demand appointment windows. They fit worst on quick, low-value first visits from cold leads, where the deposit request kills the booking outright and you never find out whether the customer was real.
When you do take a deposit, keep the amount modest and make it a credit, not a fee. A deposit applied in full to the final invoice reads as normal business. A nonrefundable charge that disappears reads as a penalty and generates arguments and bad reviews. Say clearly what happens if they cancel with notice (refunded or moved) versus without notice (retained). Put it in writing at booking, not after a dispute.
A softer alternative that works surprisingly well: hold the card without charging it, and state the cancellation window plainly. For a lot of customers the mere act of putting a card on file converts a loose intention into a real commitment, without you ever needing to charge anything.
Tighten your arrival windows
Wide arrival windows generate no-shows on both sides. A four-hour or all-day window forces the customer to burn a whole day waiting, which makes cancelling feel reasonable when anything else comes up. It also means that when you run late, you have already used up their patience.
Narrow the window as much as your routing honestly allows, then protect it. A two-hour window you hit consistently beats a one-hour window you miss half the time, because the trust you build is what makes the next appointment stick. If you are running behind, message before the window opens, not after it closes. Being late with warning is a scheduling inconvenience. Being late in silence is what people describe in reviews as unreliable.
Where you can, offer first-slot or last-slot appointments as a named option. They are easier for you to hit and easier for the customer to plan around, and they cut no-shows for people who cannot spend a workday waiting.
Track the rate, then attack the biggest cause
You cannot improve what you do not count. Track two numbers weekly: no-shows as a percentage of scheduled appointments, and same-day cancellations as a separate percentage. Keep them separate, because they have different causes and different fixes. Then note which customer source each one came from.
Almost everyone who does this finds a pattern. No-shows cluster by lead source (cold price shoppers from one channel behave differently from referrals), by appointment type (free estimates no-show far more than paid work), by day of week, or by lead time (appointments booked three weeks out no-show far more than appointments booked for tomorrow). Once you see the cluster, the fix is obvious and narrow: add a deposit to that one appointment type, or add an extra confirmation touch for long-lead bookings, rather than overhauling everything.
Give it 60 to 90 days of data before you judge results, and change one thing at a time so you know what worked. A no-show rate cut in half is the equivalent of adding productive hours to your week without adding a single new customer.
Write a policy that is firm and fair, then apply it consistently
Your policy should be three sentences, stated at booking and repeated in the confirmation. Something like: we hold this window for you; if you need to change it, reply any time before 24 hours out and we will move it at no charge; a same-day cancellation or a no-show means the deposit is retained (or a trip fee applies). Plain language, no fine print, no legal tone.
Then apply it the same way every time. Selective enforcement is worse than no policy, because customers talk and inconsistency reads as arbitrary. The one exception worth making is genuine emergencies, waived quietly and without a lecture. That kind of grace buys loyalty that far outlasts the fee you did not collect.
And keep the fee in perspective. The goal is not to collect trip charges, it is to change behavior so the calendar holds. If your no-show fee revenue is growing, the system is still failing.
Key takeaways
- Categorize why each no-show happened for a month; most turn out to be reminder, confirmation, or rescheduling failures rather than flaky customers.
- Run a three-touch cadence: instant booking confirmation, a 24-hour reminder, and an on-the-way message, all short and specific.
- Make rescheduling explicitly easy in every message, and make sure a missed call gets an immediate response instead of sitting in voicemail.
- Use deposits on jobs with real up-front cost, apply them as a credit toward the invoice, and state the cancellation terms at booking.
- Track no-shows and same-day cancellations separately by lead source and appointment type, then fix the biggest cluster first.
Risacare Call Catcher automatically texts back every call you miss, so a customer trying to reschedule gets an instant reply instead of your voicemail: $79/mo, 7-day free trial (card required), no contract, and the $199 setup waived for new signups.
Risacare Call Catcher is $79/mo, month-to-month, with a 7-day free trial (card required) and the $199 setup waived for new signups.