A four-top that does not show on a Saturday is not a lost booking, it is a lost table for the whole service. Restaurants have the sharpest version of the no-show problem and the least tolerance for solving it badly, because a diner who feels spammed simply goes elsewhere.
The two messages worth sending
- Reservation confirmation and reminder. Same day, a few hours out, with a one-tap way to cancel. Making cancellation easy sounds wrong and is right: a cancelled table can be rebooked, a no-show cannot.
- Waitlist ping. 'Your table is ready' to someone standing nearby is the single most useful text a restaurant sends, and it frees your host from shouting names.
export const restaurant = { confirm: (c: Ctx) => `${c.venue}: table for ${c.partySize} tonight at ${c.time}. ` + `Reply C to confirm, or X if plans changed — no problem either way.`, tableReady: (c: Ctx) => `${c.venue}: your table's ready. Come on in whenever you like.`, waitUpdate: (c: Ctx) => `${c.venue}: looking like about ${c.minutes} more minutes. ` + `We'll text the moment it's free.`,};'No problem either way' is the line that works
Guests do not cancel because they feel awkward about it, so they ghost instead. Explicitly removing the awkwardness converts silent no-shows into cancellations you can rebook. It is one clause and it is worth real money on a Saturday.
The message that will get you blocked
The Thursday promotion. 'Two-for-one on mains this week!' to everyone who ever booked a table. It is marketing, it needs express written consent, and even with consent it is the message that makes people mute a restaurant they liked. If you must run promotions, use email and let people come to you.
Timing matters here more than in most industries — a reservation reminder at 4pm is helpful, the same message at 10am is noise, and anything before 9am is an intrusion. See quiet hours and frequency.
Next step
Browse the other industry playbooks, compare the services that can send this on the providers page, or tag your links with the UTM builder.