The three template categories Meta enforces (utility, marketing, auth), what gets approved for hotels in 2026, and which templates actually drive guest response.
WhatsApp templates exist because Meta does not let businesses message guests freely. Outside a 24-hour window after the guest's last inbound message, every outbound message has to be a pre-approved template. That one rule shapes how hotels can use the channel, what each message costs, and how often Meta will quietly throttle your number when something feels off.
Meta is the gatekeeper. WhatsApp is owned by Meta, and the WhatsApp Business Platform runs on their template approval system. Your Business Solution Provider (BSP) submits the template, Meta reviews it (usually inside a few minutes, sometimes a day), and once approved you can send it to opted-in guests. Get it wrong and the template sits in REJECTED with a reason like "Content violates policy" that tells you almost nothing.
The 24-hour rule is the one most ops teams miss on day one. If a guest messages you at 09:00, you can reply with anything, free-form text, images, voice notes, the lot, until 09:00 the next day. After that, only approved templates. And if you want to start a conversation cold, say a pre-arrival nudge two days before check-in, that opening message has to be a template too. No negotiation.
Meta classifies every template into one of three buckets. The category determines pricing (see the pillar on WhatsApp costs for hotels for the per-message numbers), what content is allowed, and how strict the review is.
Transactional messages tied to a specific action the guest has taken or expects. Booking confirmations, check-in details, folio summaries, late check-out approvals. The bar Meta applies: the message must relate to a real, named transaction. No upselling tucked at the bottom.
Promotional content. Spa offers, restaurant week, returning-guest discounts, seasonal packages. Priced higher and reviewed more strictly. They also cap quickly if your quality rating drops.
One-time passwords and verification codes. In hospitality this is rare, but it shows up with digital key issuance, smart-lock onboarding, or loyalty account verification. Meta enforces a fixed structure on these and rejects anything that drifts.
Below are five examples that hotels we work with have had approved without revisions. Variables are shown as {{1}}, {{2}} and so on. Keep them short, name a real transaction, and resist the urge to add a marketing line at the end.
1. Booking confirmationHi {{1}}, your reservation at {{2}} is confirmed. Check-in {{3}}, check-out {{4}}, room type {{5}}. Booking reference {{6}}. Reply to this message if you need anything before arrival.
2. Pre-arrival reminderHello {{1}}, we are looking forward to welcoming you at {{2}} on {{3}}. Check-in opens from 15:00. If you would like to share an estimated arrival time or request an early room, just reply here.
3. Check-in detailsWelcome {{1}}. Your room at {{2}} is {{3}} on floor {{4}}. WiFi network {{5}}, password {{6}}. Breakfast runs 07:00-10:30 in the {{7}} restaurant. Reply if anything is unclear.
4. Late check-out confirmationHi {{1}}, late check-out at {{2}} is confirmed for {{3}}. Your new departure time is {{4}}. The additional charge of {{5}} has been added to your folio.
5. Folio notificationHi {{1}}, your folio for stay {{2}} is ready. Total {{3}}, paid {{4}}, balance {{5}}. A PDF copy has been emailed to {{6}}. Reply here if you spot anything off.
Notice what these have in common. Each one names a transaction, uses variables for the dynamic bits only, and ends with a quiet invitation to reply rather than a call to book or buy. That last detail is what keeps the template inside the utility category at review time.
Marketing templates are where most hotels first run into trouble. The content is allowed, but the review is unforgiving and the failure modes are not always obvious. Two examples that tend to clear:
Returning-guest offerHi {{1}}, it has been a while since your last stay at {{2}}. We have kept 15% off direct bookings for returning guests through {{3}}. Use code {{4}} at {{5}} to book.
Seasonal packageHello {{1}}, our winter package at {{2}} is open: two nights, dinner for two, and late check-out from {{3}} per room. Available {{4}} to {{5}}. Reply BOOK or visit {{6}}.
And here are the rejection patterns we see most often. Most properties hit at least one on their first marketing submission.
{{1}} as the entire body get rejected because Meta cannot see what you are sending. Variables need surrounding context.Authentication is the smallest category for hotels and the easiest to get right, mostly because Meta gives you a fixed structure and you fill in the blanks. Two scenarios where it shows up:
Authentication templates are priced lowest in most regions and clear approval quickly when you keep the body to a single sentence with the code variable and an expiry. Anything beyond that and Meta nudges it into utility.
Pulling the rejection threads together, here is the list we work through with new properties before they ever submit a template:
{{1}} as a whole line).But the most common cause of rejection is simpler than any of these: a human reviewer cannot tell, from the template alone, what real-world event triggered the message. If your template does not make that obvious, rewrite it.
Variables are positional. {{1}} is the first placeholder, {{2}} the second, and so on. They cannot be reused inside the same template, and Meta now expects you to provide a sample value for each one at submission. A few patterns that hold up well in production:
Hi {{1}}, this is {{2}}... Two variables, immediately clear what each one does.{{1}} = "EUR 240.00", not "240.00". Less ambiguity at quality-rating time.One thing that catches teams out: if your PMS feeds the template through your BSP, every variable needs a source field mapped. A missing source on {{4}} will silently send "{{4}}" to the guest. Ask me how I know. (For more on getting PMS data flowing cleanly, see integrations and APIs in the hotel tech stack.)
Every WhatsApp Business number carries a quality rating: green, yellow, or red. It is calculated from how guests respond to your messages. Block, report, ignore, or reply, all weighted differently. Green means you can send up to your current tier limit. Yellow is a warning. Red means Meta is about to drop your tier, which can mean going from 100,000 conversations a day to 10,000 overnight.
The two quickest ways to tank a rating: send a marketing template to a guest who has not opted in, or send the same template too often. Daily promotional pings are a fast track to red.
If you do drop, the recovery playbook is unglamorous. Pause all marketing templates. Send only utility templates triggered by real guest actions for two to three weeks. Quality usually climbs back to green inside a month if your underlying behaviour was healthy. If it does not, the number itself may be flagged and you will need a conversation with your BSP. This is the failure mode that costs you a Saturday morning.
If you are starting from scratch, the order matters more than people realise.
Templates are not the exciting part of WhatsApp for hotels. They are the part that decides whether the channel works at all. Properties that take template hygiene seriously (clear categories, named transactions, modest variable counts, no marketing in utility) end up sending more messages, paying less per conversation, and rarely getting rate-limited.
The rest is workflow. Knowing which template to fire when, keeping copy fresh without re-submitting every fortnight, and making sure the right PMS event triggers the right message. That is the layer Viqal's AI Operator handles for hotels: template selection, variable filling, opt-in tracking, and quality monitoring across your portfolio. If you want the full cost picture before deciding how aggressive to get on the channel, the WhatsApp costs for hotels pillar covers per-message pricing, tier limits, and BSP markups in detail.
After a guest sends you a message, you have 24 hours to reply with free-form content (text, images, voice). Once that window closes, every outbound message has to be a pre-approved template. The clock resets each time the guest messages you again. Cold outreach, like a pre-arrival nudge two days before check-in, also has to start with a template.
Most templates clear inside a few minutes. Meta's stated window is up to 24 hours, and complex marketing templates can sit for the full day. If a template is rejected, you can edit and resubmit immediately. Submit your booking confirmation and pre-arrival templates a week before you actually need them, so first-night guests are not waiting on review.
Meta charges per conversation, not per message, with rates that vary by category and country. In Europe, utility conversations sit roughly between EUR 0.03 and EUR 0.08, marketing between EUR 0.08 and EUR 0.15, authentication lower. BSPs add their own markup on top, often a per-message fee of EUR 0.005 to EUR 0.02. Always check current pricing with your BSP.
Use utility when the message is tied to a real action the guest has taken or is expecting: a confirmed booking, an upcoming check-in, an issued folio. Use marketing when you are introducing something new or asking for a new commitment: a returning-guest offer, a seasonal package, a spa promotion. Mixing them inside one template is the single most common reason for rejection.
Read the rejection reason in your BSP dashboard, but treat it as a hint, not a diagnosis. Common fixes: add surrounding text around bare variables, remove promotional language from utility templates, swap a shortened URL for your own domain, or recategorise. Edit and resubmit. If the same template is rejected twice, rewrite it from scratch rather than tweaking the existing copy.
Yes, but it is slower than email. You submit two template variants, both go through approval, and you split traffic at send time through your BSP or AI Operator. Test one variable at a time (subject-line equivalent in the body, or a different CTA) and give each variant at least 500 sends before reading the result. Reply rate and opt-out rate are the metrics that matter most.