Send an instant SMS the moment a booking lands, covering the guest’s name, date and time, a booking ID, and a short link to details, then follow with a reminder about one to two days before arrival. Add a same-day nudge for short-notice bookings. This cadence lowers no-shows and lifts confirmation rates, and it works because every message stays transactional and stops the second a guest cancels or confirms.
TL;DR:
- Sending only two or three timed SMS messages, including instant confirmation and a 24 to 48-hour reminder, effectively reduces no-shows across reservation types.
- Use reply codes for quick guest responses and links for detailed information, depending on whether a simple confirmation or more context is needed.
- Automate the SMS workflow with proper integration, ensuring the sequence stops upon cancellations and logs replies directly into the reservation system.
- Regularly monitor delivery, confirmation, and opt-out rates, and test different timing, CTAs, and message length to optimize system performance and response rates.
A confirmation text earns its place in a guest’s inbox by doing one job well: telling them exactly what they booked and giving them one clear action without clutter. Anything beyond that is clutter, and clutter is what gets your number blocked.
Here’s the template library operators actually use, organized by business type and message stage.
Instant confirmation templates:
Reminder templates (24 to 48 hours out):
Deposit, balance, and access templates:
Personalization should stay minimal and functional. Guest name, date, time, location, and a booking ID cover the majority of what matters. Resist the urge to add loyalty program pitches or seasonal offers into a confirmation message. A utility-first approach reduces no-shows precisely because guests learn to trust that a text from you means something they need to act on, not something to skim past.
On the reply-code versus link question: use reply codes (“1” to confirm, “9” to cancel) when you need a fast, structured response you can process automatically into your reservation system. Use link-based confirmations when the guest needs to see more than a yes/no decision. like a map, a menu, or a form. Many properties run both: a reply code for status, and a link for context.
The standard cadence that works across restaurants, hotels, and appointment-based businesses is two messages, sometimes three. An instant confirmation the moment the booking lands, a reminder 24 to 48 hours before arrival, and an optional day-of nudge for bookings made with short notice.
Resy builds its automated system around exactly this rhythm, with specific defaults like sending dinner reservation reminders at 4 PM the day before, then a follow-up around noon on the day itself if the guest hasn’t confirmed. OpenTable takes a similar approach, sending confirmations immediately after booking and reminders around noon the day before for most reservations. Both platforms treat these as service messages, not marketing, and that distinction shapes everything about how the message reads and when it lands.
Adapting this to your property is straightforward:
Keep every message built around one primary call to action. A confirmation asking someone to reply, click a link, and also check out a promotion is a confirmation nobody acts on cleanly. Promotional content does not belong in a transactional flow. If you want to upsell, send it as a separate message after the reservation is confirmed.
The flow also needs to stop itself. If a guest cancels or confirms through a reply code, the reminder sequence for that booking should halt automatically, and no duplicate message should go out through email if the guest already responded via SMS.
Pro Tip: Run your reminder timing test on Tuesday and Wednesday bookings first. Weekend cancellation patterns skew the data, and you’ll get cleaner signal on whether your cadence actually reduces no-shows midweek before you roll it out everywhere.
Three integration paths exist, and each has real tradeoffs worth understanding before you commit.
Whichever path you choose, build these rules into the automation from day one:
Before anything goes live, run through a short technical checklist: phone numbers formatted correctly (with country code), timezone handling set to the property’s local time rather than server time, a sender ID guests will recognize, and short links that are trackable so you know which messages guests actually open. A scheduling link integration that pulls directly from your CRM avoids the common failure mode of guests getting a generic link instead of one tied to their specific booking.
Two-way SMS is worth enabling once you’re past pilot stage. It requires processing reply codes programmatically, matching a guest’s “1” or “9” back to their exact reservation, but the payoff is fewer phone calls to your front desk and faster table or room turnover when someone cancels last-minute.
Mapping the exact triggers and messages removes the guesswork that causes half-built automations to break in production.
A restaurant running this flow with reply codes needs seat reallocation logic built in. the moment a “9” comes back, that table needs to reappear as available, not sit blocked for hours. A hotel workflow adds a layer: pre-arrival instructions and door codes need timed delivery, often a few hours before check-in rather than a full day ahead, since guests forget codes sent too early.
Edge cases deserve their own rules. Deposits should trigger a separate payment confirmation message. Group bookings with multiple modifications need a workflow that re-sends confirmation after each change, not just the original one. Late, same-day bookings skip the 24 to 48 hour step entirely. And no-shows should feed back into your reporting so you can spot patterns by day, time, or party size.
Test the whole sequence with a handful of internal numbers before launch, walking through confirm, cancel, and no-response paths to make sure nothing double-sends or dead-ends.
Five numbers tell you whether the system is doing its job: delivery rate, confirmation rate (replies or link clicks), conversion to actual arrival, no-show rate, and opt-out rate. Track them weekly for the first month, then monthly once the system stabilizes.
A/B testing is where real improvement happens. Try:
Set a 90-day target based on your baseline. Watch for false positives too: a guest clicking a confirmation link isn’t the same as a guest showing up, so track arrival separately from click-through rather than treating the two as interchangeable.
Explicit opt-in is not optional. Every booking flow needs a checkbox or verbal confirmation captured at the point of reservation, and that consent record needs to live in your system for as long as you’re messaging that guest.
Carrier filtering is the silent killer of SMS programs. Mobile carriers actively monitor for spam-pattern behavior, and CTIA’s industry data underscores just how much SMS traffic carriers now manage, which is exactly why strict opt-in practices and clean STOP handling protect your ability to reach guests at all.
Carriers flag high-volume senders with erratic timing patterns faster than they flag actual message wording.*
Upriser handles the parts of this system that get complicated fast: unified messaging across SMS, voice, video, and email in one thread, AI-driven personalization that adapts message content per guest, two-way reply handling that updates your CRM automatically, and native CRM integration so confirmation status syncs without manual entry.
For a hotel running the pre-arrival and access-code workflow described earlier, that means the door code delivery and the confirmation reply land in the same system your front desk already watches.
If you’re trialing a platform for this, ask these questions during the demo: Does it stop sequences on cancellation automatically? Can it handle timezone logic for guests booking from different regions? What does reply-code processing actually look like in the CRM record? Does personalization go beyond inserting a name into a template?
Guests booking from outside your local timezone create a specific failure mode: a reminder that reads “today at 6 PM” means nothing if the system sent it based on server time rather than the guest’s actual location or the property’s local time.
The fix is to always anchor reminder timing to the property’s timezone, not the guest’s device or the server running your booking software. A guest in a different timezone booking a dinner reservation still needs to know 6 PM means 6 PM at the restaurant, and your message should make that explicit if there’s any ambiguity, especially for properties near timezone borders or serving international travelers.
Country code formatting matters just as much for delivery as it does for clarity. A phone number stored without the correct country prefix (the “+1” for US numbers, for example) can fail silently at the carrier level, especially when routed through an SMS API rather than a platform’s built-in dialer. Standardize on E.164 formatting (the international standard of a plus sign, country code, then number with no spaces or dashes) across your booking system so every number, domestic or international, routes correctly regardless of which provider handles delivery.
For properties that see meaningful international booking volume, hotels near airports, destination restaurants, vacation rentals, it’s worth testing your confirmation flow with a handful of international numbers before assuming domestic testing covers you. Delivery rules, character limits, and even reply-code behavior can vary by country and carrier, and a message that lands perfectly for a US guest can arrive garbled or delayed for a guest on a different network entirely.

Most delivery failures trace back to one of four causes, and diagnosing which one you’re dealing with usually takes less than ten minutes if you know where to look.
Invalid or mistyped phone numbers are the most common culprit, especially when guests self-enter numbers during online booking without validation. Adding real-time format checking at the point of entry catches typos before they become a failed message hours later. Carrier filtering is the second most likely cause. if your delivery rate drops suddenly across the board rather than for specific numbers, your sender reputation may have taken a hit from a spike in message volume or complaint reports.
Missed replies usually come down to routing, not guest behavior. If your system isn’t set up for two-way SMS, a guest’s “1” or “9” reply goes nowhere useful, and staff never sees it. Check that your provider is configured to receive inbound messages, not just send outbound ones, since some setups default to one-way only.
Timing mismatches from timezone errors are the fourth common issue, showing up as guests confirming after their reservation has already passed or receiving a “reminder” for a booking they attended the previous night. Run a monthly audit: pull a sample of failed deliveries and unanswered messages, check the phone number format, timezone setting, and provider dashboard status for each, and you’ll usually find the pattern within the first ten records.
Over-messaging kills more SMS programs than bad copy ever does. So does letting cancel status drift out of sync between your booking system and your text flow, and ignoring replies because nobody owns that inbox.
Before launch, run this checklist: confirm opt-in capture at booking, test with real staff numbers across timezones, and pilot with a small cohort before rolling out to every reservation.
Pace the rollout. Train staff on what a reply code means before guests start sending them.
— Brent
Templates and workflows get you most of the way there, but the gap between a good SMS confirmation system and a great one is usually personalization at scale, something templates alone can’t deliver once you’re managing hundreds of bookings a week across different guest types and languages. Upriser closes that gap by combining SMS with voice, video, and email in one unified system, so the confirmation a guest gets, the reminder they receive, and the reply they send all sync automatically into your CRM without staff re-entering anything by hand.

If you run a hotel or short-term rental, the property services setup is built specifically around pre-arrival messaging and access code delivery like the workflow described earlier in this guide.
Before you commit to any platform, ask for a live demo and watch exactly how it handles a canceled reservation. does the sequence actually stop, or does the guest keep getting reminders for a booking that no longer exists? Book a walkthrough with Upriser and bring your current confirmation templates so you can see them running inside the platform before you decide.
