Přeskočit na obsah

Hotely

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

  • Vyžaduje ověření

Tělo požadavkuHotelSearchRequest

  • DestinationSpec
    • countryCodestringmůže být null
    • cityCodestringmůže být null

      Platform city code (see /v1/content/cities).

    • hotelCodesstring[]může být null

      Canonical hotel codes (see /v1/content/hotels).

    • Geo
  • checkInstring

    yyyy-MM-dd.

  • checkOutstring
  • SearchRoom[]
    • adultsinteger (int32)
    • childrenAgesinteger (int32)[]může být null
  • nationalitystringmůže být null

    Guest nationality, ISO 3166-1 alpha-2.

  • Filters
    • starsinteger (int32)[]může být null
    • refundableOnlybooleanmůže být null
    • mealIncludedbooleanmůže být null
    • priceMinnumber (double)může být null
    • priceMaxnumber (double)může být null
  • sortstringmůže být null

    price_asc | price_desc | stars_desc | name.

  • pageinteger (int32)
  • pageSizeinteger (int32)
  • waitboolean
Příklad
{
  "destination": {
    "cityCode": "DXB"
  },
  "checkIn": "2026-11-15",
  "checkOut": "2026-11-18",
  "rooms": [
    {
      "adults": 2,
      "childrenAges": []
    }
  ],
  "wait": true
}

Odpovědi

200OKHotelSearchResponse

  • searchIdstring
  • statusstring
  • cursorinteger (int32)
  • suppliersDoneinteger (int32)
  • supplierCountinteger (int32)
  • totalinteger (int32)
  • pageinteger (int32)
  • pageCountinteger (int32)
  • partialboolean
  • starFacetsobjectmůže být null
  • HotelResult[]
    • hotelCodestring
    • namestringmůže být null
    • starsinteger (int32)může být null
    • cityCodestringmůže být null
    • cityNamestringmůže být null
    • countryCodestringmůže být null
    • addressstringmůže být null
    • latitudenumber (double)může být null
    • longitudenumber (double)může být null
    • imagesstring[]
    • amenitiesstring[]
    • Money

      Money on the wire: decimal string (never a float) + ISO 4217.

    • HotelRoom[]
  • 400Bad RequestPodrobnosti o problému podle RFC 7807

Ukázky kódu

Kompletní programy, které podepisují požadavek tak, jak jej ověřuje brána. Nahraďte YOUR_KEY_ID a 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"