Apinex API Documentation

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.