Hotel
Search hotels by city code (IATA-style, e.g. DXB — see /v1/content/cities), by hotel codes from your stored catalogue, or by a geo circle. Returns a session to poll, or the complete result when `wait` is true.
post/v1/hotels/search
- Richiede autenticazione
Corpo della richiestaHotelSearchRequest
- DestinationSpec
- countryCodestringpuò essere null
- cityCodestringpuò essere null
Platform city code (see /v1/content/cities).
- hotelCodesstring[]può essere null
Canonical hotel codes (see /v1/content/hotels).
- Geo
- checkInstring
yyyy-MM-dd.
- checkOutstring
- SearchRoom[]
- adultsinteger (int32)
- childrenAgesinteger (int32)[]può essere null
- nationalitystringpuò essere null
Guest nationality, ISO 3166-1 alpha-2.
- Filters
- starsinteger (int32)[]può essere null
- refundableOnlybooleanpuò essere null
- mealIncludedbooleanpuò essere null
- priceMinnumber (double)può essere null
- priceMaxnumber (double)può essere null
- sortstringpuò essere null
price_asc | price_desc | stars_desc | name.
- pageinteger (int32)
- pageSizeinteger (int32)
- waitboolean
Esempio
{
"destination": {
"cityCode": "DXB"
},
"checkIn": "2026-11-15",
"checkOut": "2026-11-18",
"rooms": [
{
"adults": 2,
"childrenAges": []
}
],
"wait": true
}Risposte
200OKHotelSearchResponse
- searchIdstring
- statusstring
- cursorinteger (int32)
- suppliersDoneinteger (int32)
- supplierCountinteger (int32)
- totalinteger (int32)
- pageinteger (int32)
- pageCountinteger (int32)
- partialboolean
- starFacetsobjectpuò essere null
- HotelResult[]
- hotelCodestring
- namestringpuò essere null
- starsinteger (int32)può essere null
- cityCodestringpuò essere null
- cityNamestringpuò essere null
- countryCodestringpuò essere null
- addressstringpuò essere null
- latitudenumber (double)può essere null
- longitudenumber (double)può essere null
- imagesstring[]
- amenitiesstring[]
- Money
Money on the wire: decimal string (never a float) + ISO 4217.
- HotelRoom[]
- 400Bad RequestDettagli del problema RFC 7807
Esempi di codice
Programmi completi che firmano la richiesta nel modo in cui il gateway la verifica. Sostituisci YOUR_KEY_ID e YOUR_SECRET.
# Sign the request: METHOD \n path+query \n unix time \n nonce \n sha256(body)
KEY_ID="YOUR_KEY_ID"
SECRET="YOUR_SECRET"
BODY='{
"destination": {
"cityCode": "DXB"
},
"checkIn": "2026-11-15",
"checkOut": "2026-11-18",
"rooms": [
{
"adults": 2,
"childrenAges": []
}
],
"wait": true
}'
TS=$(date +%s)
NONCE=$(openssl rand -hex 16)
BODY_HASH=$(printf '%s' "$BODY" | openssl dgst -sha256 | sed 's/^.* //')
CANON=$(printf 'POST\n/v1/hotels/search\n%s\n%s\n%s' "$TS" "$NONCE" "$BODY_HASH")
SIG=$(printf '%s' "$CANON" | openssl dgst -sha256 -hmac "$SECRET" | sed 's/^.* //')
curl -X POST "https://api.dubaitrip.com/v1/hotels/search" \
-H "X-API-Key: $KEY_ID" \
-H "X-Timestamp: $TS" \
-H "X-Nonce: $NONCE" \
-H "X-Signature: $SIG" \
-H "Content-Type: application/json" \
-d "$BODY"