Обзор
Online Booking API связывает модуль бронирования на собственном сайте отеля с гостиничной системой HMS. Через этот API проходят списки номеров и цен, доступность по календарю, проверка купонов, этап оплаты и передача бронирования в HMS. API рассчитан на агентства, которые разрабатывают модули бронирования, и на партнёров HMS.
Базовый URL#
Все эндпоинты находятся по пути /external/… относительно базового URL ниже. Принимаются только запросы по HTTPS.
https://test.hms.gen.trСхема работы#
POST /external/public/loginPOST /external/online/roomTypePOST …/payment/type/{type}POST …/channel/bookingТокен, полученный при входе, действует 7 дней и привязан к одному отелю. Список номеров возвращает доступные для продажи номера и цены на даты и количество гостей из поиска; когда гость сделал выбор и тип оплаты определён, бронирование записывается в HMS в виде BookingPushRQ. Все шаги подробно разобраны в руководстве Процесс бронирования.
Ресурсы#
| Ресурс | Эндпоинты |
|---|---|
| Аутентификация | POST /external/public/login |
| Номера и цены | POST /external/online/roomTypeGET /external/room/type/hotel/availability |
| Бронирование | POST /external/online/channel/booking |
| Оплата | GET /external/online/payment/typeGET /external/payment/companyPOST /external/online/payment/type/{paymentType} |
| Купон | POST /external/online/coupon/search |
| Пакеты и дополнительные услуги | GET /external/stock/packages |
| Информация об отеле | GET /external/hotel/{hotelID}/contact/infoGET /external/online/social/mediaGET /external/online/footerGET /external/online/mail/host |
| Справочники | POST /external/countiesGET /external/currenciesGET /external/languages |
Общие правила#
- Все запросы, кроме входа, содержат заголовок
Authorization: Bearer <token>. - Большинство эндпоинтов
POSTпринимают поля формы (application/x-www-form-urlencodedилиmultipart/form-data). Передача бронирования и запуск оплаты ожидают тело в JSON. Нужный формат указан на странице каждого эндпоинта в справочнике. - Ответы приходят в JSON с полем
success. Ошибки бизнес-логики тоже возвращаются с HTTP200, поэтому судите о результате поsuccess, а не по коду состояния. - Даты передаются в формате
YYYY-MM-DD, суммы — строками с двумя знаками после точки ("965.00"), а валюта берётся из настроек онлайн-канала отеля. - Параметр
hotelIDдолжен совпадать с отелем, к которому привязан токен.
Версия#
Эта документация описывает HMS API V2. Новые поля и эндпоинты могут добавляться без предупреждения, поэтому клиент должен игнорировать неизвестные поля. Изменения перечислены в истории изменений.