Hotels API
The Hotels API lets you search for hotels, fetch room availability, manage bookings, and generate vouchers — all through a single consistent interface backed by wholesale supplier data.
Booking flow
The hotel booking process follows a strict sequence. Each step depends on data from the previous one:
1. Destination lookup → GET /api/Hotel/destination-completion-list
2. Search hotels → POST /api/Hotel/search
3. Poll search results → GET /api/Hotel/search/{searchId}
4. Get hotel detail → GET /api/Hotel/details/{giataId}
5. Get room availability → POST /api/Hotel/rooms
6. Prebook (validate) → POST /api/Hotel/prebook
7. Confirm booking → POST /api/Hotel/book
8. Generate voucher → POST /api/Hotel/CreateVoucher
The prebook step validates the selected rate with the supplier in real time and confirms the price has not changed. Always prebook before confirming — skipping it can lead to booking failures or price mismatches.
Endpoints at a glance
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/api/Hotel/destination-completion-list |
Autocomplete city/hotel names |
POST |
/api/Hotel/search |
Start a hotel availability search |
GET |
/api/Hotel/search/{searchId} |
Poll for search results |
POST |
/api/Hotel/getCode |
Resolve city or hotel codes |
POST |
/api/Hotel/giataids |
Look up hotel Giata IDs |
GET |
/api/Hotel/details/{giataId} |
Get full hotel detail |
POST |
/api/Hotel/nearby |
Find hotels near a given property |
POST |
/api/Hotel/rooms |
Get room availability and pricing |
POST |
/api/Hotel/prebook |
Validate and lock a rate |
POST |
/api/Hotel/book |
Confirm the booking |
POST |
/api/Hotel/cancel |
Cancel an existing booking |
POST |
/api/Hotel/CreateVoucher |
Generate a booking voucher |
GET |
/api/Hotel/GetBookingDetails |
Get booking by reference number |
GET |
/api/Hotel/GetBookingDetailsByAgentRef |
Get booking by agent reference |
GET |
/api/Hotel/GetBookingReports |
Get booking reports for an agent |
GET |
/api/Hotel/GetBookingDetailsByAny |
Search bookings by any term |
GET |
/api/Hotel/GetCancellationPolicy |
Get cancellation policy for a booking |
Key concepts
Giata ID
A unique identifier for a hotel property across all suppliers. Used to fetch hotel details and as a stable reference across searches.
Search ID
A session identifier returned by the search endpoint. Pass it to the poll endpoint to retrieve results. Search sessions typically expire after a short window — do not cache search IDs.
Rate key
A unique key tied to a specific room, rate, and availability window. Used in prebook and book requests. Rate keys are time-sensitive and may expire — always prebook immediately after room selection.
Agent reference number (agent_ref_no)
Your own internal reference for a booking. Pass this during booking creation to link TravelExe bookings to your own system. Use GetBookingDetailsByAgentRef to retrieve bookings by this value.
User ID (user_id)
Your TravelExe user identifier. Required in most request bodies. Issued along with your API key.