Готельне API
Шукайте серед 1.5M+ об’єктів розміщення за кодом міста (у стилі IATA, наприклад DXB) або за кодами готелів, збереженими з нашого каталогу; отримуйте тарифи на рівні номерів із типом харчування та умовами скасування, перевіряйте й бронюйте, скасовуйте згідно з умовами.
Пошук
POST /v1/hotels/search with a destination and check-in/out dates and one to eight rooms (adults and child ages per room). The destination is a cityCode (IATA-style, e.g. "DXB" — GET /v1/content/cities lists them), a list of hotelCodes from the catalogue you store on your side (GET /v1/content/hotels per city), or a geo circle. Name matching is yours to do against your stored list; availability is always asked by code.
З wait=true ви отримуєте повний набір результатів; з wait=false — searchId для опитування через GET /v1/hotels/search/{searchId}: передавайте ті самі дати й кількість номерів, щоб ключі тарифів залишалися доступними для бронювання. Кожен готель містить свій контент (назва, зірки, адреса, геодані, головне зображення, зручності) і найдешевший тариф на номер із непрозорим rateKey, загальною та нічною ціною, типом харчування, можливістю повернення й кінцевим терміном скасування.
Номери й тарифи
GET /v1/hotels/{hotelCode}/rooms?rateKey=… перелічує всі типи номерів і тарифи одного об’єкта для шуканого перебування: типи ліжок, місткість, харчування, умови, податки й збори з розбивкою, а також чи можна повернути кошти за тарифом.
Перевірка тарифу
POST /v1/hotels/rates/{rateKey}/check підтверджує, що тариф досі доступний для бронювання, і повертає остаточну ціну та умови. Робіть це безпосередньо перед бронюванням: 409 price_changed або rate_expired на цьому кроці обходиться набагато дешевше, ніж невдале бронювання.
Бронювання
POST /v1/hotels/bookings з rateKey, власником бронювання, гостями для кожного номера та контактом, а також Idempotency-Key. Відповідь — це бронювання з його номером, підтвердженням постачальника й даними ваучера. GET /v1/hotels/bookings/{bookingId} будь-коли повертає його повторно.
Скасування
GET /v1/hotels/bookings/{bookingId}/cancellation-quote повертає штраф згідно з умовами на поточний момент; POST /v1/hotels/bookings/{bookingId}/cancel (потрібен Idempotency-Key) підтверджує скасування.