Blog/Use Cases

WhatsApp API for Travel Agencies: Automate Itineraries and Bookings

Use WhatsApp API to automate booking confirmations, itinerary delivery, travel alerts, and post-trip reviews for travel agencies. Rapiwa API ($5/month) for travel businesses in 2026.

by Moumina
WhatsApp API for Travel Agencies: Automate Itineraries and Bookings

WhatsApp API for travel agencies lets tour operators, booking platforms, and travel consultants automatically send booking confirmations, itineraries, travel alerts, and post-trip review requests to travellers via WhatsApp. Using Rapiwa API ($5/month, no per-message fees), travel agencies reduce customer anxiety, improve traveller satisfaction, and save hours of manual communication per booking.

Why Travel Agencies Need WhatsApp Automation

Travel bookings involve complex, time-sensitive communication — flight details, hotel addresses, tour pickup times, visa requirements. Travellers miss emails containing critical information. Phone calls interrupt agents. WhatsApp is the answer:

  • 98% open rate — itinerary messages are actually read before departure
  • Travellers already use WhatsApp on their phones while travelling internationally
  • Quick replies — travellers can ask questions and get instant responses
  • Media support — send maps, vouchers, QR codes, and PDF itineraries

Top 6 WhatsApp Automation Use Cases for Travel Agencies

1. Booking Confirmation

The problem: Travellers worry if their tour or flight booking went through.

The solution: WhatsApp confirmation within 30 seconds of booking.

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 Cox'"'"'s Bazar tour package is confirmed:\n\n🔖 Booking: TRV-2026-4521\n📅 Departure: July 20, 2026\n📅 Return: July 23, 2026\n👥 Passengers: 2\n🏨 Hotel: Sea Pearl Beach Resort\n💰 Total: BDT 45,000\n\nFull itinerary will be sent 48 hours before departure!\n\nQuestions? Just reply here. 🌏"
  }'

Expected response:

{
  "status": "success",
  "messageId": "msg_travel_abc123",
  "timestamp": "2026-07-19T10:30:00Z"
}

2. Pre-Departure Itinerary (48 Hours Before)

The problem: Travellers don't know what to pack, where to meet, or what time the tour starts.

The solution: Detailed WhatsApp itinerary 48 hours before departure.

import requests

def send_pre_departure_itinerary(traveller: dict, tour: dict, api_key: str) -> dict:
    """Send a detailed WhatsApp pre-departure message."""
    
    message = (
        f"📋 Your Departure Pack — 48 Hours to Go!\n\n"
        f"Hi {traveller['name']}!\n\n"
        f"*Tour:* {tour['name']}\n"
        f"*Date:* {tour['departure_date']}\n\n"
        f"📍 *Meeting Point*\n"
        f"{tour['pickup_location']}\n"
        f"⏰ Meet by: {tour['pickup_time']}\n\n"
        f"🧳 *What to Bring*\n"
        f"• Valid photo ID\n"
        f"• Comfortable walking shoes\n"
        f"• {tour['specific_items']}\n\n"
        f"📞 *Emergency Contact*\n"
        f"Tour guide {tour['guide_name']}: {tour['guide_phone']}\n\n"
        f"🗺️ *Full Itinerary PDF*\n"
        f"{tour['itinerary_pdf_url']}\n\n"
        f"Have a wonderful trip! 🌟"
    )
    
    return requests.post(
        'https://app.rapiwa.com/send-message',
        headers={'Authorization': f'Bearer {api_key}'},
        json={'number': traveller['phone'], 'message': message}
    ).json()

3. Itinerary as PDF Document

Send the full itinerary as a PDF that travellers can save and access offline:

curl -X POST https://app.rapiwa.com/send-document \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "8801234567890",
    "documentUrl": "https://yoursite.com/itineraries/TRV-2026-4521.pdf",
    "filename": "Cox-Bazar-Itinerary.pdf",
    "caption": "Your 3-day Cox'"'"'s Bazar itinerary. Download and save for offline access! 📄"
  }'

4. Day-of Travel Alert

The problem: Tour pickup times change, weather disrupts plans — travellers need instant updates.

The solution: Same-day WhatsApp alerts for any changes.

"⚠️ Important Update — Today'"'"'s Tour

Hi Sarah! A quick update for today'"'"'s Cox'"'"'s Bazar tour:

Due to heavy morning rain, departure is delayed by 1 hour.

NEW pickup time: 9:00 AM (was 8:00 AM)
Same meeting point: Hotel lobby, Sea Pearl

Our guide will contact you if there are further changes.
Guide: Rahim — +880 1234 567890

Thank you for your patience! 🙏"

5. Real-Time Flight / Accommodation Updates

Connect to flight status APIs and hotel booking systems to send real-time updates:

def send_flight_update(traveller: dict, flight: dict, api_key: str) -> dict:
    """Send WhatsApp flight status update."""
    
    status_emoji = {
        'on_time': '✅',
        'delayed': '⚠️',
        'cancelled': '❌',
        'boarding': '🛫'
    }
    
    emoji = status_emoji.get(flight['status'], '✈️')
    
    message = (
        f"{emoji} Flight Update\n\n"
        f"Flight: {flight['number']} ({flight['origin']}{flight['destination']})\n"
        f"Status: *{flight['status'].replace('_', ' ').title()}*\n"
    )
    
    if flight['status'] == 'delayed':
        message += (
            f"Original departure: {flight['scheduled_departure']}\n"
            f"New departure: {flight['actual_departure']}\n"
            f"Delay: {flight['delay_minutes']} minutes\n\n"
            f"Gate: {flight['gate']}"
        )
    elif flight['status'] == 'boarding':
        message += (
            f"Now boarding at Gate {flight['gate']}\n"
            f"Please proceed to the gate immediately!"
        )
    
    return requests.post(
        'https://app.rapiwa.com/send-message',
        headers={'Authorization': f'Bearer {api_key}'},
        json={'number': traveller['phone'], 'message': message}
    ).json()

6. Post-Trip Review Request

The problem: Travel agencies get few reviews despite having happy customers.

The solution: WhatsApp review request 24 hours after return.

"Hi Sarah! 🌅 Welcome back from Cox'"'"'s Bazar!

We hope you had an amazing trip!

Would you take 2 minutes to share your experience? Your review helps other travellers:

⭐ TripAdvisor: https://tripadvisor.com/your-agency-review
⭐ Google: https://g.page/your-agency/review

Or send us a photo from your trip — we love seeing happy travellers! 📸

Thank you for choosing [Your Agency]! We hope to see you again soon. 🌍"

How to Set Up WhatsApp Automation for Travel Agencies

Step 1: Create Your Rapiwa Account

Sign up at rapiwa.com — 3-day free trial, no credit card. Connect your agency's WhatsApp number via QR code.

Step 2: Connect Your Booking System

Most tour booking platforms (FareHarbor, Rezdy, Bokun, TourCMS) support webhooks. Use n8n:

  1. Booking confirmed → send WhatsApp confirmation
  2. 48 hours before departure → send itinerary
  3. Day of travel → send guide contact details
  4. 24 hours after return → send review request

Step 3: Build the Message Automation

import schedule
import requests
from datetime import datetime, timedelta

def run_daily_travel_notifications():
    """Run daily travel agency WhatsApp notifications."""
    today = datetime.today().date()
    
    # 1. Confirm bookings made in the last hour
    # (triggered by webhook, not scheduled)
    
    # 2. Send itineraries for departures in 48 hours
    departing_in_2_days = get_bookings_departing_on(today + timedelta(days=2))
    for booking in departing_in_2_days:
        send_pre_departure_itinerary(booking['traveller'], booking['tour'], api_key)
    
    # 3. Send review requests for returns yesterday
    returned_yesterday = get_bookings_returned_on(today - timedelta(days=1))
    for booking in returned_yesterday:
        send_review_request(booking['traveller'], booking['tour'], api_key)

schedule.every().day.at("09:00").do(run_daily_travel_notifications)

Results You Can Expect

  • 50% reduction in "what's the pickup time?" pre-departure phone calls
  • 3–5x more reviews (WhatsApp review requests vs no outreach)
  • 30% fewer no-shows (WhatsApp reminders read vs email reminders missed)
  • Higher satisfaction scores from proactive communication

FAQ

Does Rapiwa work for sending WhatsApp messages to international travellers? Yes. Rapiwa sends messages to any international phone number in standard format. UK traveller: 447700900123. Indian traveller: 919876543210.

Does Rapiwa charge per travel notification message? No. Rapiwa charges $5/month flat with no per-message fees. Send unlimited booking confirmations, itineraries, and updates.

Can I send maps or location pins via Rapiwa WhatsApp? Rapiwa supports text messages with Google Maps links. For native location pins, this feature is available in select API configurations — contact Rapiwa support for the latest endpoint details.

Can I automate multi-language itineraries? Yes. Detect the traveller's language from their profile and send the itinerary in the matching language. Maintain separate message templates per language.

What booking platforms integrate best with this setup? FareHarbor, Rezdy, Bokun, and TourCMS all support webhooks that can trigger n8n workflows to send WhatsApp messages via Rapiwa.