Download OpenAPI specification:
Our Hotels API gives you a complete B2B gateway for searching, pricing, booking, and managing hotel inventory with precision. It connects your system to real-time availability, rich hotel content, multi-rate handling, instant confirmations, and full booking lifecycle controls.
Built for speed, stability, and clean integration, it lets your platform deliver consistent results, automate operations, and scale without friction. Whether you are powering a B2B portal, a mobile app, or a distribution engine, this API provides the structure you need to move fast, stay reliable, and serve your customers with confidence.
All API endpoints require Bearer Token authentication. Each request must include a valid token in the header to ensure secure and authorized access.
Example:
Authorization: Bearer 9f12c3ab-47c8-4e91-bd84-2c7a1f83b6d1
live_booking: falselive_booking: trueThe API uses two distinct status fields:
payment_pending, payment_success)book_success, book_fail, pending)┌─────────────────┐
│ Search Hotels │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Hotel Details │ (Optional)
└────────┬────────┘
│
▼
┌─────────────────┐
│ Get Rooms │
└────────┬────────┘
│
▼
┌─────────────────┐
│Check Availability│
└────────┬────────┘
│
▼
┌─────────────────┐
│ Create Booking │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Pay from Wallet │
└────────┬────────┘
│
▼
┌─────────────────────────────────┐
│ Poll Order Details │
│ (every 10 min for 3 hours) │
└────────┬────────────────────────┘
│
▼
┌─────────────────┐
│ Final Status │
│ book_success or │
│ book_fail │
└─────────────────┘
After payment (payWallet), you must poll the Order Details endpoint to retrieve the final booking status:
┌──────────────┐ ┌─────────────────┐ ┌──────────────────┐
│ payWallet │────▶│ Poll Order │────▶│ Check Status │
│ (payment) │ │ Details │ │ │
└──────────────┘ └─────────────────┘ └────────┬─────────┘
│
┌────────────────────────────────┼────────────────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
│ book_success │ │ book_fail │ │ No final status │
│ (Confirmed) │ │ (Failed) │ │ after 3 hours │
└──────────────┘ └──────────────┘ └────────┬─────────┘
│
▼
┌──────────────────┐
│ Mark unconfirmed │
│ Contact Account │
│ Manager │
└──────────────────┘
book_success or book_failHotel search operations give your system the ability to query real-time availability, pricing, and room options across all connected suppliers. You can filter by destination, dates, occupancy, and other parameters to retrieve accurate, structured results ready for display or further processing.
Search for available hotels with comprehensive filtering options. Supports searching by city or by specific hotel IDs. Multiple rooms with different guest configurations can be searched.
required | Array of objects (RoomSearch) non-empty Array of room objects with guest configurations |
| nationality required | string = 2 characters Guest nationality code (ISO 3166-1 alpha-2) |
| country_code | string = 2 characters Country code for search (required when searching by city) |
| city | string City code for search (required when searching by city) |
| hotels_ids | Array of integers Array of specific hotel IDs to search (when provided, country_code and city are optional) |
| check_in required | string <date> Check-in date (YYYY-MM-DD) |
| check_out required | string <date> Check-out date (YYYY-MM-DD) |
| currency required | string = 3 characters Currency code (ISO 4217) |
| language required | string = 2 characters Language preference (ISO 639-1) |
{- "rooms": [
- {
- "adults": "2",
- "children": [ ]
}
], - "nationality": "EG",
- "country_code": "AE",
- "city": "DXB",
- "check_in": "2025-12-14",
- "check_out": "2025-12-16",
- "currency": "USD",
- "language": "en"
}{- "search_id": "575f395a-e8c9-4cc4-a85b-a12551678eeb",
- "search_key": "hotels:results:575f395a-e8c9-4cc4-a85b-a12551678eeb",
- "search": {
- "code": "DXB",
- "country_code": "AE",
- "city": "Dubai",
- "city_geo": { },
- "nights": 2,
- "country": "United Arab Emirates"
}, - "hotels": [
- {
- "type": "HOTEL",
- "check_in": "2025-12-14",
- "check_out": "2025-12-16",
- "code": "7650",
- "name": "Movenpick Grand Al Bustan Hotel",
- "description": "This hotel is located on Casablanca Road...",
- "amenities": [
- "1",
- "2",
- "3"
], - "address": "Casablanca Street, Po Box 30880 Dubai Airport",
- "location": {
- "latitude": 25.247893,
- "longitude": 55.345302
}, - "rooms": { },
- "zone": {
- "id": 21,
- "name": "Dubai",
- "code": "DXB-1"
}, - "points": 0,
- "featured": false,
- "reviews": {
- "rate": 5,
- "count": 7,
- "max_rate": 5
}, - "accommodations": { },
- "stars": 5,
- "free_cancellation": true,
- "boarding_type": [
- "HALF BOARD",
- "ROOM ONLY",
- "BED AND BREAKFAST",
- "FULL BOARD"
], - "policy_scope": "in_scope",
- "require_approval": false,
- "index": "0"
}
]
}Retrieve comprehensive hotel information including descriptions, amenities, images, and location data to enrich your user experience.
Retrieves comprehensive details about a specific hotel including full description, amenities, gallery images, and location information.
| session required | string <uuid> Search session ID from search response |
| hotel required | string Hotel index from search results |
| currency required | string Currency code |
| language required | string Language preference |
{- "session": "575f395a-e8c9-4cc4-a85b-a12551678eeb",
- "hotel": "0",
- "currency": "USD",
- "language": "en"
}{- "id": 989573,
- "name": "Movenpick Grand Al Bustan Hotel",
- "type": "HOTEL",
- "description": "This hotel is located on Casablanca Road in the Al Garhoud district, just 5 minutes from Dubai International Airport...",
- "stars": 5,
- "address": "Casablanca Street, Po Box 30880 Dubai Airport",
- "city": {
- "id": 5,
- "name": "Dubai",
- "code": "DXB"
}, - "country": {
- "id": 8,
- "name": "United Arab Emirates",
- "code": "AE"
}, - "postal_code": "",
- "phones": [
- {
- "type": "voice",
- "number": "+97142820000"
}
], - "provider": "hotel_beds",
- "coordinates": {
- "latitude": 25.247893,
- "longitude": 55.345302
}, - "emails": [
- "string"
], - "website": "",
- "featured": false,
- "check_in_time": "None",
- "check_out_time": "None",
- "check_in_out_policy": "string",
- "zone": {
- "id": 21,
- "name": "Dubai",
- "code": "DXB-1"
}, - "amenities": [
- "1",
- "2",
- "3"
], - "fact_details": { },
- "facts_groups": {
- "property1": {
- "name": "Object Information",
- "facts": {
- "property1": {
- "id": 1,
- "name": "Hotel Chain",
- "description": "Hotel Chain",
- "type_hint": "string",
- "code": "hotel_chain",
- "icon": "string",
- "is_popular": false,
- "identifiers": [
- "hotel_chain",
- "Hotel Chain"
]
}, - "property2": {
- "id": 1,
- "name": "Hotel Chain",
- "description": "Hotel Chain",
- "type_hint": "string",
- "code": "hotel_chain",
- "icon": "string",
- "is_popular": false,
- "identifiers": [
- "hotel_chain",
- "Hotel Chain"
]
}
}
}, - "property2": {
- "name": "Object Information",
- "facts": {
- "property1": {
- "id": 1,
- "name": "Hotel Chain",
- "description": "Hotel Chain",
- "type_hint": "string",
- "code": "hotel_chain",
- "icon": "string",
- "is_popular": false,
- "identifiers": [
- "hotel_chain",
- "Hotel Chain"
]
}, - "property2": {
- "id": 1,
- "name": "Hotel Chain",
- "description": "Hotel Chain",
- "type_hint": "string",
- "code": "hotel_chain",
- "icon": "string",
- "is_popular": false,
- "identifiers": [
- "hotel_chain",
- "Hotel Chain"
]
}
}
}
}
}Access detailed room availability, pricing options, meal plans, and cancellation policies for selected hotels to help customers make informed booking decisions.
Retrieves all available room options for a selected hotel, including room types, pricing, meal plans, and cancellation policies.
| session required | string <uuid> Search session ID from search response |
| hotel required | string Hotel index from search results |
| currency required | string Currency code |
| language required | string Language preference |
{- "session": "575f395a-e8c9-4cc4-a85b-a12551678eeb",
- "hotel": "0",
- "currency": "USD",
- "language": "en"
}{- "accommodations": [
- {
- "room_combinations": [
- {
- "room_ids": [
- "0",
- "1"
], - "cancellation_policy": {
- "last_cancellation_deadline": "2019-08-24T14:15:22Z",
- "free_cancellation": true,
- "policies": [
- {
- "from_date": "2025-11-26T16:04:09.771752",
- "to_date": "2025-12-09T23:59:00+04:00",
- "type": "fixed",
- "charge": 182.54,
- "currency": "USD"
}
], - "norms": "string"
}, - "use_combination_policy": false,
- "total_price": {
- "currency": "USD",
- "display_price": 270.4,
- "base_price": 240,
- "taxes": 30.4,
- "included_taxes": 0,
- "excluded_taxes": 0,
- "included_taxes_list": [
- { }
], - "excluded_taxes_list": [
- { }
]
}, - "apply_commission": true,
- "meal": "ROOM ONLY",
- "points": 0,
- "policy_scope": "in_scope",
- "require_approval": false,
- "rooms": [
- {
- "id": "0",
- "name": "Classic Room With 2 Single Beds",
- "code": "TWN.AS-1",
- "description": "",
- "meal": "ROOM ONLY",
- "meal_amount": 0,
- "meal_description": "",
- "group": "1",
- "gallery": [
- "string"
], - "amenities": [
- "string"
], - "cancellation_policy": {
- "last_cancellation_deadline": "2019-08-24T14:15:22Z",
- "free_cancellation": true,
- "policies": [
- {
- "from_date": null,
- "to_date": null,
- "type": null,
- "charge": null,
- "currency": null
}
], - "norms": "string"
}, - "supplements": { },
- "comments": {
- "rate_comments_id": "string"
}, - "refundable": true,
- "apply_commission": true,
- "display_price": 0,
- "minStay": 0,
- "dateApplyMinStay": "string"
}
], - "refundable": true,
- "invalid": false
}
]
}
], - "lowest_price": {
- "room_ids": [
- "0",
- "1"
], - "cancellation_policy": {
- "last_cancellation_deadline": "2019-08-24T14:15:22Z",
- "free_cancellation": true,
- "policies": [
- {
- "from_date": "2025-11-26T16:04:09.771752",
- "to_date": "2025-12-09T23:59:00+04:00",
- "type": "fixed",
- "charge": 182.54,
- "currency": "USD"
}
], - "norms": "string"
}, - "use_combination_policy": false,
- "total_price": {
- "currency": "USD",
- "display_price": 270.4,
- "base_price": 240,
- "taxes": 30.4,
- "included_taxes": 0,
- "excluded_taxes": 0,
- "included_taxes_list": [
- { }
], - "excluded_taxes_list": [
- { }
]
}, - "apply_commission": true,
- "meal": "ROOM ONLY",
- "points": 0,
- "policy_scope": "in_scope",
- "require_approval": false,
- "rooms": [
- {
- "id": "0",
- "name": "Classic Room With 2 Single Beds",
- "code": "TWN.AS-1",
- "description": "",
- "meal": "ROOM ONLY",
- "meal_amount": 0,
- "meal_description": "",
- "group": "1",
- "gallery": [
- "string"
], - "amenities": [
- "string"
], - "cancellation_policy": {
- "last_cancellation_deadline": "2019-08-24T14:15:22Z",
- "free_cancellation": true,
- "policies": [
- {
- "from_date": "2025-11-26T16:04:09.771752",
- "to_date": "2025-12-09T23:59:00+04:00",
- "type": "fixed",
- "charge": 182.54,
- "currency": "USD"
}
], - "norms": "string"
}, - "supplements": { },
- "comments": {
- "rate_comments_id": "string"
}, - "refundable": true,
- "apply_commission": true,
- "display_price": 0,
- "minStay": 0,
- "dateApplyMinStay": "string"
}
], - "refundable": true,
- "invalid": false
}, - "free_cancellation": true
}Create and manage hotel bookings with complete guest information, room selections, and booking preferences. This includes checking availability, creating bookings, and processing payments from wallet.
Creates a new hotel booking with guest information. This endpoint initiates the booking process but does not finalize it. You must follow up with the Confirm Booking endpoint to complete the reservation.
| session required | string <uuid> Search session ID |
| hotel required | string Hotel index from search |
| currency required | string Currency code |
| language required | string Language preference |
| nationality required | string Guest nationality code |
| live_booking | boolean Controls booking environment:
|
required | object (Client) |
required | Array of objects (RoomBooking) Array of room bookings with guest details |
{- "session": "575f395a-e8c9-4cc4-a85b-a12551678eeb",
- "hotel": "0",
- "currency": "USD",
- "language": "en",
- "nationality": "EG",
- "live_booking": false,
- "client": {
- "first_name": "John",
- "last_name": "Doe",
- "title": "Mr",
- "email": "john.doe@mail.com",
- "country_code": "+1",
- "phone_number": "+19517475601",
- "notes": ""
}, - "rooms": [
- {
- "guests": [
- {
- "first_name": "John",
- "last_name": "Boone",
- "title": "Mr",
- "age": "30",
- "type": "ADT"
}, - {
- "first_name": "Joe",
- "last_name": "Doe",
- "title": "Mr",
- "age": "30",
- "type": "ADT"
}
], - "code": "0"
}, - {
- "guests": [
- {
- "first_name": "Jane",
- "last_name": "Doe",
- "title": "Ms",
- "age": "30",
- "type": "ADT"
}, - {
- "first_name": "Jade",
- "last_name": "Doe",
- "title": "Mr",
- "age": "6",
- "type": "CHI"
}
], - "code": "1"
}
]
}{- "message": "Order Created"
}Verifies room availability and checks for any price changes before creating a booking. Call this endpoint after selecting rooms to ensure they are still available.
| session required | string <uuid> Search session ID |
| hotel required | string Hotel ID |
| currency required | string Currency code |
| language required | string Language preference |
| rooms required | Array of strings Array of room IDs to check availability |
{- "session": "696cc248-50c9-44d1-9425-56a44d1bbc98",
- "hotel": "989574",
- "currency": "USD",
- "language": "en",
- "rooms": [
- "1",
- "0"
]
}{- "available": true,
- "price_change": false,
- "currency": "USD",
- "change_amount": 0,
- "rooms": [
- {
- "id": "0",
- "name": "PARK ROOM - KING OR TWIN",
- "code": "DBL.KG",
- "description": "",
- "meal": "BED AND BREAKFAST",
- "meal_amount": 0,
- "meal_description": "",
- "group": "1",
- "gallery": [
- "string"
], - "amenities": [
- "string"
], - "cancellation_policy": {
- "last_cancellation_deadline": "2019-08-24T14:15:22Z",
- "free_cancellation": true,
- "policies": [
- {
- "from_date": "2025-11-26T16:04:09.771752",
- "to_date": "2025-12-09T23:59:00+04:00",
- "type": "fixed",
- "charge": 182.54,
- "currency": "USD"
}
], - "norms": "string"
}, - "supplements": { },
- "comments": {
- "rate_comments_id": "string",
- "rate_comments_description": "string"
}, - "refundable": true,
- "apply_commission": true,
- "display_price": 0,
- "min_stay": 0,
- "date_apply_min_stay": "string"
}
], - "cancellation_policy": {
- "last_cancellation_deadline": "2019-08-24T14:15:22Z",
- "free_cancellation": true,
- "policies": [
- {
- "from_date": "2025-11-26T16:04:09.771752",
- "to_date": "2025-12-09T23:59:00+04:00",
- "type": "fixed",
- "charge": 182.54,
- "currency": "USD"
}
], - "norms": "string"
}
}Processes payment from your wallet and finalizes the hotel booking. This endpoint completes the reservation process, deducts credit from the agency account, and initiates the booking with the supplier.
Important: After payment, you must poll the Order Details endpoint every 10 minutes for up to 3 hours to receive the final booking status (book_success or book_fail). If no final status is received, mark the booking as "unconfirmed" and contact your account manager.
| session required | string <uuid> Example: 575f395a-e8c9-4cc4-a85b-a12551678eeb Search session ID used in booking creation |
{- "message": "Order confirmed successfully",
- "data": [
- { }
], - "order": {
- "id": 3150,
- "name": "Mr John Doe",
- "session_id": "6b189be6-3139-4398-9a39-b4316e7e3d1a",
- "status": "payment_pending",
- "order_number": "968412709",
- "email": "john.doe@mail.com",
- "phone1": "+19517475601",
- "phone2": "string",
- "ancillaries": null,
- "created_at": "2025-11-26T16:09:45.000000Z",
- "click_id": "string",
- "booking_status": "pending",
- "reference": ""
}
}Retrieve order details and monitor booking status. After payment, poll order details every 10 minutes for up to 3 hours to receive final booking status (book_success or book_fail).
Retrieves comprehensive details of a specific hotel booking, including guest information, room details, pricing, and booking status.
Polling Instructions:
booking_status field for final status: book_success or book_fail| session required | string <uuid> Example: 575f395a-e8c9-4cc4-a85b-a12551678eeb Search session ID from booking |
{- "data": {
- "id": 338,
- "hotel_name": "Le Meridien Dubai Hotel & Conference Centre",
- "check_in": "14-12-2025",
- "check_out": "16-12-2025",
- "num_of_pax": 4,
- "num_of_rooms": 2,
- "total_amount": "2,729.99 SAR",
- "rooms": [
- {
- "id": 433,
- "name": "Room DELUXE",
- "meal_type": "BED AND BREAKFAST",
- "guests": [
- {
- "id": 625,
- "type": "ADT",
- "title": "Mr",
- "first_name": "John",
- "last_name": "Boone",
- "age": 6
}
]
}
]
}, - "order": {
- "id": 3150,
- "name": "Mr John Doe",
- "session_id": "6b189be6-3139-4398-9a39-b4316e7e3d1a",
- "status": "payment_pending",
- "order_number": "968412709",
- "email": "john.doe@mail.com",
- "phone1": "+19517475601",
- "phone2": "string",
- "ancillaries": null,
- "created_at": "2025-11-26T16:09:45.000000Z",
- "click_id": "string",
- "booking_status": "pending",
- "reference": ""
}
}