Booking.com

Booking.com is a major global accommodation platform, with a vast selection of properties internationally. It connects guests to a wide range of stays, from serviced apartments to entire holiday homes.

Booking.com API Integration with Zeevou

Zeevou connects to Booking.com using the Booking.com Connectivity API, enabling seamless synchronization of property listings, availability, rates, and reservations between Booking.com and your property management system.

What is the Booking.com API?

The Booking.com Connectivity API (formerly XML API) is a technical interface that allows certified property management systems like Zeevou to integrate directly with Booking.com’s extranet platform. This API provides:

Real-time 2-way synchronization – Instant availability, pricing, and booking updates
Multi-property management – Manage unlimited properties from one dashboard
Automated rate loading – Push seasonal rates, promotional prices automatically
Reservation details – Guest information, payment details, special requests sync instantly
Messaging automation – Send confirmation emails, check-in instructions
Inventory control – Prevent overbookings with real-time calendar sync

Why Use Zeevou’s Booking.com API Integration?

Building a direct Booking.com API integration requires:

  • Booking.com Connectivity Partner certification
  • Compliance with strict API standards
  • Ongoing maintenance as API versions update
  • Technical infrastructure to handle webhooks and callbacks

Zeevou provides a fully-certified, managed API connection that:

  • Maintains official Booking.com Connectivity Partner status
  • Handles all authentication, rate limits, error handling
  • Updates automatically when Booking.com releases new API versions
  • Provides expert support for integration troubleshooting
  • Ensures compliance with Booking.com’s technical requirements

How Does the Booking.com API Connection Work?

API vs. Manual Extranet Management

Feature Booking.com API (via Zeevou) Manual Extranet
Update Speed Real-time (instant) Manual login required
Multi-property Manage all properties centrally Switch between each property
Pricing Automation Dynamic pricing sync Manual rate input
Availability Sync 2-way sync with other channels Manual calendar updates
Reservation Import Automatic to Zeevou calendar Manual export/import
Messaging Automated pre-arrival messages Manual guest communication
Reporting Unified across all channels Per-property only

The Booking.com API Workflow:

  1. Certification – Zeevou is a certified Booking.com Connectivity Partner
  2. Property Mapping – Connect your existing Booking.com listings to Zeevou properties
  3. Initial Sync – Property details, rates, availability push to Booking.com
  4. Real-Time Updates – Changes in Zeevou sync to Booking.com instantly (and vice versa)
  5. Reservation Webhooks – New bookings trigger instant notifications to Zeevou

Technical Details:

  • Protocol: REST API + XML API (depending on data type)
  • Authentication: OAuth 2.0 + hotel/property credentials
  • Rate Limits: Managed by Zeevou (certified partners get higher limits)
  • Uptime SLA: 99.9% guaranteed by Booking.com

Booking.com API Endpoints & Data Synchronization

Zeevou leverages multiple Booking.com API endpoints to provide comprehensive synchronization. You don’t interact with these directly, but understanding the data flow helps optimize your integration.

Key API Endpoints Used by Zeevou:

1. Availability & Restrictions API

  • Endpoint: /availability-calendar
  • Purpose: Update room availability, minimum stay, stop-sell dates
  • Sync Frequency: Real-time when you update Zeevou calendar

2. Rates & Inventory API

  • Endpoint: /rate-plans
  • Purpose: Push base rates, seasonal pricing, promotional discounts
  • Sync Frequency: Real-time or scheduled (based on your pricing rules)

3. Reservations API

  • Endpoint: /reservations
  • Purpose: Retrieve new bookings, modifications, cancellations
  • Sync Frequency: Webhook-based (instant notifications)

4. Property Content API

  • Endpoint: /properties/{property_id}
  • Purpose: Update property descriptions, photos, amenities, policies
  • Sync Frequency: On-demand when you edit property details

5. Reviews API (Read-Only)

  • Endpoint: /reviews
  • Purpose: Fetch guest reviews and ratings from Booking.com
  • Sync Frequency: Daily import to Zeevou

Data You Can Sync via Booking.com API:

✅ Room types, rates, and availability
✅ Property details (name, address, description, photos)
✅ Amenities and facilities
✅ Cancellation policies
✅ Booking confirmations (guest details, payment status)
✅ Special offers and promotions
✅ Minimum stay requirements
✅ Maximum occupancy rules

Booking.com API Code Examples (For Developers)

Note: These examples demonstrate how the Booking.com API works conceptually. Zeevou handles all API integration automatically – no coding required. These are provided for technical teams evaluating API-based channel managers.

Example 1: Authenticating with Booking.com API

import requests

# OAuth 2.0 Authentication
client_id = "your_client_id"
client_secret = "your_client_secret"

auth_response = requests.post(
    "https://supply-xml.booking.com/oauth/token",
    data={
        "grant_type": "client_credentials",
        "client_id": client_id,
        "client_secret": client_secret
    }
)

access_token = auth_response.json()["access_token"]
print(f"Access Token: {access_token}")

Example 2: Updating Availability (Node.js)

const axios = require('axios');

async function updateAvailability(accessToken, hotelId) {
  const availabilityData = {
    hotel_id: hotelId,
    room_id: 123456,
    date_from: "2026-03-15",
    date_to: "2026-03-20",
    rooms_to_sell: 5,
    min_stay: 2,
    max_stay: 14,
    closed_to_arrival: false,
    closed_to_departure: false
  };

  const response = await axios.post(
    'https://supply-xml.booking.com/hotels/ota/OTA_HotelAvailNotif',
    availabilityData,
    {
      headers: {
        'Authorization': `Bearer ${accessToken}`,
        'Content-Type': 'application/json'
      }
    }
  );

  console.log('Availability updated:', response.data);
}

Example 3: Fetching Reservations (PHP)

<?php
$access_token = "your_access_token";
$hotel_id = 987654;

$ch = curl_init("https://supply-xml.booking.com/hotels/ota/OTA_HotelResNotif?hotel_id=$hotel_id");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer $access_token",
    "Accept: application/json"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$reservations = json_decode($response, true);

foreach ($reservations['bookings'] as $booking) {
    echo "Reservation ID: " . $booking['reservation_id'] . "n";
    echo "Guest Name: " . $booking['guest_name'] . "n";
    echo "Check-in: " . $booking['check_in_date'] . "n";
    echo "Check-out: " . $booking['check_out_date'] . "n";
}

curl_close($ch);
?>

Why Let Zeevou Handle This:

  • ✅ Official Booking.com Connectivity Partner (certified)
  • ✅ Automatic XML-to-JSON conversion
  • ✅ Error handling for failed API calls
  • ✅ Webhook processing for instant reservation notifications
  • ✅ Compliance with Booking.com’s strict API requirements

Booking.com API Authentication & Rate Limits

OAuth 2.0 + Property Credentials

Booking.com uses a hybrid authentication model:

  1. OAuth 2.0 – For application-level access (Zeevou’s certification)
  2. Hotel/Property Credentials – Your Booking.com extranet username/password (stored securely)

How Authentication Works in Zeevou:

  1. Zeevou uses its certified Connectivity Partner credentials (OAuth 2.0)
  2. You provide your Booking.com property credentials (one-time setup)
  3. Zeevou securely links the two for API access
  4. All API calls authenticated automatically

Security Best Practices:

  • ✅ Zeevou encrypts your Booking.com credentials (AES-256)
  • ✅ OAuth tokens refresh automatically
  • ✅ You can revoke access anytime from Booking.com extranet
  • ✅ All API traffic uses HTTPS/TLS encryption

Rate Limits & Throttling

Booking.com enforces strict rate limits:

  • Certified Partners (like Zeevou): 200 requests/minute per property
  • Non-certified integrations: 50 requests/minute (if allowed at all)
  • Burst Limit: 500 requests within 60 seconds

How Zeevou Manages Rate Limits:

  • Request queuing and batching for efficiency
  • Exponential backoff on failed requests
  • Priority for time-critical updates (new bookings, cancellations)
  • Real-time monitoring to prevent throttling

Booking.com API Best Practices:

  • Minimize redundant API calls (Zeevou caches property data locally)
  • Use bulk updates when possible (rate changes across multiple dates)
  • Avoid frequent polling (Zeevou uses webhooks for instant notifications)

Common Booking.com API Errors & Troubleshooting

Error 1: “Authentication Failed” (401 Unauthorized)

Cause: Invalid property credentials or expired OAuth token
Solution:

  1. Verify your Booking.com extranet credentials are correct
  2. Re-enter credentials in Zeevou settings
  3. Check if Booking.com locked your account (too many failed logins)

Error 2: “Property Not Found” (404)

Cause: Hotel/property ID doesn’t exist or has been deactivated
Solution:

  • Confirm property is active on Booking.com extranet
  • Check property ID mapping in Zeevou
  • Contact Booking.com support if property was suspended

Error 3: “Rate Update Rejected” (400 Bad Request)

Cause: Rates below Booking.com’s minimum or violate rate plan rules
Solution:

  • Booking.com enforces minimum rates per market (varies by location)
  • Check if rate decrease exceeds Booking.com’s allowed threshold (usually 25%)
  • Ensure rates align with contracted rate plan (BAR, non-refundable, etc.)

Error 4: “Availability Sync Failed”

Cause: Conflicting stop-sell or minimum stay rules
Solution:

  • Check for overlapping stop-sell dates
  • Verify minimum stay doesn’t exceed maximum stay
  • Review Booking.com’s restriction rules (some combinations not allowed)

Error 5: “Reservation Webhook Timeout”

Cause: Zeevou didn’t receive booking notification from Booking.com
Solution:

  • Check if reservation appears in Booking.com extranet
  • Manually trigger a sync in Zeevou (“Refresh Bookings”)
  • Zeevou will auto-retry failed webhook deliveries

Error 6: “Room Allocation Error”

Cause: Trying to sell more rooms than available inventory
Solution:

  • Verify room count in Booking.com matches Zeevou inventory
  • Check for double-booking conflicts
  • Update room allocation limits in Zeevou

Getting Help:

Connect this channel to Zeevou to sync bookings and calendars, automate guest communication, and manage everything in one place.

2
Scroll to Top
Solution lamp for mobile header

Custom Solutions with Zeevou

Discover tailored solutions perfectly suited to your role, business size, and specific use cases.