WhatsApp API for Hotels: Automate Guest Communication and Bookings
Use WhatsApp API to automate hotel guest communication — booking confirmations, check-in instructions, concierge requests, and checkout reminders. Rapiwa API ($5/month) for hospitality.
WhatsApp API for hotels lets properties automatically send booking confirmations, pre-arrival instructions, check-in details, concierge messages, and checkout reminders to guests via WhatsApp. Using Rapiwa API ($5/month, no per-message fees), hotels increase guest satisfaction scores, reduce front desk workload by 30–40%, and capture more direct bookings through WhatsApp-based pre-arrival upsells.
Why Hotels Are Moving to WhatsApp
Hotel guests increasingly expect communication via messaging apps — not emails that get buried or phone calls that interrupt. WhatsApp is the dominant messaging platform in most of hotels' key source markets (South Asia, Southeast Asia, Middle East, Europe).
- 98% message open rate vs 20% for email booking confirmations
- Guests reply on WhatsApp — room upgrade requests, early check-in queries, and special requests come back via the same channel
- No app download needed — guests already have WhatsApp
- Cost: $5/month flat (Rapiwa) — no per-message fees
Top 7 WhatsApp Automation Use Cases for Hotels
1. Booking Confirmation
The problem: Booking confirmation emails go to spam, causing "I didn't get my confirmation" calls.
The solution: WhatsApp booking confirmation within 30 seconds of reservation.
curl -X POST https://app.rapiwa.com/send-message \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"number": "8801234567890",
"message": "Booking Confirmed! 🏨\n\nHi Sarah,\n\nYour reservation at The Grand Hotel is confirmed:\n\n🔖 Booking Ref: BK-2026-4521\n🛏️ Room: Superior Double, Ocean View\n📅 Check-in: July 15, 2026\n📅 Check-out: July 18, 2026\n👥 Guests: 2\n💰 Total: $450\n\nNeed anything before your arrival? Just reply here!\n\nWe look forward to welcoming you. 🌟"
}'
Expected response:
{
"status": "success",
"messageId": "msg_hotel_abc123",
"timestamp": "2026-07-10T10:30:00Z"
}
2. Pre-Arrival Information (48 Hours Before)
The problem: Guests arrive unprepared — not knowing check-in time, parking, or what to bring.
The solution: WhatsApp pre-arrival guide 48 hours before check-in.
import requests
def send_pre_arrival_message(guest: dict, api_key: str) -> dict:
message = (
f"See you in 2 days, {guest['name']}! 🏨\n\n"
f"Here's everything you need for your stay at {guest['hotel_name']}:\n\n"
f"📅 Check-in: {guest['checkin_date']} from 3:00 PM\n"
f"🔑 Early check-in: Available for $25 (reply EARLY to request)\n"
f"🅿️ Parking: Free valet parking at the main entrance\n"
f"📍 Address: {guest['hotel_address']}\n"
f"🗺️ Directions: {guest['maps_url']}\n\n"
f"Special requests? Reply here and we'll arrange it!\n\n"
f"See you soon! — {guest['hotel_name']} Team"
)
return requests.post(
'https://app.rapiwa.com/send-message',
headers={'Authorization': f'Bearer {api_key}'},
json={'number': guest['phone'], 'message': message}
).json()
3. Check-In Instructions (Morning of Arrival)
The problem: Guests ask the same check-in questions repeatedly — "what time?", "where's parking?", "do I need ID?"
The solution: WhatsApp check-in instructions sent the morning of arrival.
"Good morning, Sarah! 🌅 Check-in day is here!
Your room will be ready from 3:00 PM. Here's how to find us:
📍 The Grand Hotel, 12 Sea View Drive
🗺️ Google Maps: https://maps.google.com/...
🅿️ Valet parking at the entrance — hand your keys to our team
Documents needed at check-in:
📋 Your booking reference: BK-2026-4521
🪪 A valid government-issued ID
Can't make it by 9 PM? Let us know and we'll arrange late check-in.
We can't wait to welcome you! 🎉"
4. In-Stay Concierge Requests
The problem: Guests want to request room service, towels, or restaurant recommendations but don't want to call the front desk.
The solution: Open a WhatsApp concierge channel during the stay.
(Sent on Day 1 of the stay)
"Welcome to The Grand Hotel, Sarah! 🏨
Your room is ready — Room 412, 4th floor.
For anything during your stay, just message us here:
🍽️ Room service
🛎️ Extra towels, toiletries
📞 Concierge recommendations
🌅 Restaurant bookings
🚗 Taxi arrangements
We're available 24/7 — just send a message! 🙏"
Incoming webhook processing:
def handle_concierge_request(phone: str, message: str, guest_name: str) -> None:
"""Process incoming guest requests via webhook."""
# Forward to hotel operations team
notify_hotel_staff(
channel='concierge',
message=f"Guest {guest_name} ({phone}) requests: {message}"
)
# Send acknowledgment to guest
requests.post(
'https://app.rapiwa.com/send-message',
headers={'Authorization': f'Bearer YOUR_API_KEY'},
json={
'number': phone,
'message': f"Got it, {guest_name}! Our team will take care of it right away. 🙏"
}
)
5. Room Upgrade Offer (Day Before Check-In)
The problem: Hotels have empty upgraded rooms but don't offer them systematically to guests who might upgrade.
The solution: WhatsApp upgrade offer to selected guests the day before arrival.
"Hi Sarah! Exclusive offer just for you 🌟
We have a limited availability upgrade for your stay:
From: Superior Double, Ocean View
To: Deluxe Suite, Private Balcony + Ocean View
Upgrade fee: Only $75 for your entire 3-night stay (vs $150 at check-in)
Interested? Reply YES before 6:00 PM today and we'll upgrade your room!"
Revenue impact: Hotels typically achieve 20–35% upgrade conversion via WhatsApp vs 5–10% via email.
6. Checkout Reminder
The problem: Guests miss checkout time, causing room turnaround delays.
The solution: WhatsApp checkout reminder on the morning of departure.
"Good morning, Sarah! 🌅
Today is your checkout day (July 18, 2026).
Checkout time: 11:00 AM
Late checkout (12 PM): Available for $30 — reply LATE to add
Luggage storage: We can hold your luggage until 6 PM — reply STORAGE to arrange
Taxi to airport: We can arrange — reply TAXI for details
It's been a pleasure having you! 🙏
— The Grand Hotel Team"
7. Post-Stay Review Request
The problem: Only 5–10% of satisfied guests leave reviews without being asked.
The solution: WhatsApp review request 24 hours after checkout.
def send_post_stay_review_request(guest: dict, api_key: str) -> dict:
message = (
f"Hi {guest['name']}! 🏨\n\n"
f"Thank you for staying at {guest['hotel_name']}! "
f"We hope you had a wonderful stay.\n\n"
f"Would you take 2 minutes to share your experience?\n\n"
f"⭐ TripAdvisor: {guest['tripadvisor_url']}\n"
f"⭐ Google: {guest['google_url']}\n\n"
f"Your feedback means the world to us and helps future guests. 🙏\n\n"
f"We hope to welcome you back soon!"
)
return requests.post(
'https://app.rapiwa.com/send-message',
headers={'Authorization': f'Bearer {api_key}'},
json={'number': guest['phone'], 'message': message}
).json()
How to Set Up WhatsApp for Hotels with Rapiwa
Step 1: Create Your Rapiwa Account
Sign up at rapiwa.com — 3-day free trial, no credit card.
Step 2: Connect Your PMS (Property Management System)
Most PMS systems (Opera, Cloudbeds, Mews, Hotelogix) support webhooks or API exports. Use n8n to:
- Trigger on new reservation → send booking confirmation
- Trigger on check-in date approach → send pre-arrival info
- Trigger on checkout date → send departure reminder
Step 3: Create the Message Automation
import schedule
def run_hotel_whatsapp_automation():
today_arrivals = get_guests_arriving_today()
for guest in today_arrivals:
send_checkin_instructions(guest, api_key='YOUR_API_KEY')
departures_tomorrow = get_guests_departing_tomorrow()
for guest in departures_tomorrow:
send_checkout_reminder(guest, api_key='YOUR_API_KEY')
pre_arrival_48h = get_guests_arriving_in_48_hours()
for guest in pre_arrival_48h:
send_pre_arrival_message(guest, api_key='YOUR_API_KEY')
schedule.every().day.at("08:00").do(run_hotel_whatsapp_automation)
Results You Can Expect
- 30–40% reduction in front desk calls (pre-arrival information WhatsApp)
- 20–35% upgrade conversion (WhatsApp upgrade offers vs 5–10% email)
- 3–5x more reviews (WhatsApp review requests vs no outreach)
- 95%+ open rate on booking confirmations (vs 20% email)
FAQ
Does Rapiwa work with international guest phone numbers?
Yes. Rapiwa supports all international phone numbers in international format. Bangladesh guest: 8801234567890. UK guest: 447700900123.
Does Rapiwa charge per guest message? No. Rapiwa charges $5/month flat with no per-message fees. A hotel sending 500 messages/day (check-ins, check-outs, confirmations) pays $5/month total.
Can guests reply to WhatsApp messages and reach our team? Yes. Set up a Rapiwa webhook to receive incoming messages. Route them to a shared WhatsApp Business inbox or your team's Slack channel via n8n.
What PMS systems work with this setup? Any PMS with API/webhook support works: Cloudbeds, Mews, Opera PMS, Hotelogix, Hostaway (for vacation rentals), and more. n8n acts as middleware.
Is this suitable for small boutique hotels as well as large chains? Yes. At $5/month flat, even a 10-room boutique hotel can afford professional WhatsApp guest communication. The ROI from a single upgrade upsell covers months of Rapiwa fees.
