API для менеджеров каналов
1. Создать бронирование
POST /hotel/{hotelCode}/reservation/{reservationId}
Метод для создания бронирования на стороне менеджера каналов.
Параметры запроса
Параметр | Тип | Обязательность | Описание |
Header | |||
Authorization | string | Да | Токен доступа. |
Query/path | |||
hotelCode | string | Да | Код объекта размещения. |
reservationId | string | Да | Идентификатор бронирования. |
Body | |||
checkIn | data iso | Да | Дата заезда по бронированию. Только дата по часовому поясу отеля, без времени. |
checkOut | data iso | Да | Дата выезда по бронированию. Только дата по часовому поясу отеля, без времени. |
сheckInHour | int | Опциональный | Время начала периода раннего заезда. |
сheckOutHour | int | Опциональный | Время окончания периода позднего заезда. |
nightCount | int | Да | Количество ночей. |
status | string | Да | Статус бронирования — |
echoToken | string | Да | Версия бронирования |
createdAt | datatime iso | Да | Дата и время создания бронирования на нашей стороне. UTC+0. Пример — |
updatedAt | datatime iso | Опциональный | Дата и время изменения бронирования на нашей стороне. UTC+0. Пример — |
paymentType | enum | Да | Тип оплаты — |
paymentAmount | number | Да | Полная сумма бронирования. |
supplierPaymentAmount | number | Да | Полная сумма бронирования по цене отеля. |
paymentCurrency | enum | Да | Валюта бронирования. Единая валюта для всех значений параметров |
customerDetails | customerDetails | Да | Детали заказчика бронирования. |
rooms | room[] | Да | Массив комнат в бронировании. В текущий момент поддерживанием бронирования только в одной комнате. |
cancellationDetails | cancelationDetails | Да | Правила отмены бронирования. |
CustomerDetails
Параметр | Тип | Обязательность | Описание |
firstName | string | Да | Имя клиента, который сделал бронь. |
lastName | string | Да | Фамилия клиента, который сделал бронь. |
comment | string | Опциональный | Пожелания и другие комментарии от клиента. |
Room
Параметр | Тип | Обязательность | Описание |
roomCode | string | Да | Код комнаты бронирования. |
rateCode | string | Да | Код тарифа бронирования. |
guests | guest[] | Да | Перечень параметров гостей. Массив содержит всех гостей, указанных при бронировании. Если клиент передал данные только для главного гостя, для остальных сгенерируем значения ФИО. |
dailyPrice | day[] | Да | Массив подневных цен бронирования. |
services | service[] | Опциональный | Коллекция объектов, которые описывают дополнительные услуги в бронировании. |
Service
Параметр | Тип | Обязательность | Описание |
type | string | Да | Тип услуги. Возможные значения:
|
pricingType | string | Да | Тип ценообразования. Возможное значение: |
duration | int | Да | Длительность услуги. Всегда |
amount | number | Да | Стоимость услуги для клиента. |
supplierAmount | number | Да | Стоимость услуги по цене отеля. |
Guest
Параметр | Тип | Обязательность | Описание |
firstName | string | Да | Имя гостя. |
lastName | string | Да | Фамилия гостя. |
isChild | bool | Да | Признак, что гость — ребенок. |
age | int | Опциональный | Возраст ребенка. Указывается только если |
isMain | bool | Да | Признак, что гость является главным гостем номера. |
Day
Параметр | Тип | Обязательность | Описание |
date | date | Да | Дата. Включаются дни раннего заезда или позднего выезда, если применимо. |
amount | number | Да | Стоимость комнаты и тарифа на дату для клиента. Для дня раннего заезда или позднего выезда стоимость всегда равна |
supplierAmount | number | Да | Стоимость комнаты и тарифа на дату по цене отеля. Для дня раннего заезда или позднего выезда стоимость всегда равна |
CancellationDetails
Параметр | Тип | Обязательность | Описание |
nonRefundable | bool | Да | Признак возвратного бронирования. |
cancellationPoliсies | policy[] | Опциональный | Перечень политик отмены. Передается, если |
Policy
Параметр | Тип | Обязательность | Описание |
startAt | datetime | Да | Дата и время начала политики отмены. UTC+0 Пример — |
amount | number | Да | Сумма штрафа при отмене для клиента. |
supplierAmount | number | Да | Сумма штрафа при отмене по цене отеля. |
Пример запроса
Параметры ответа
Параметр | Тип | Обязательность | Описание |
Body | |||
internalReservationId | string | Да | Идентификатор бронирования на стороне ЧМ. |
internalStatus | enum | Да | Статус бронирования на стороне ЧМ. |
internalCreateAt | datetime | Да | Дата создания на стороне ЧМ, поможет синхронизироваться, если мы не смогли записать на своей стороне. |
2. Изменить, отменить, восстановить бронирование
PUT /hotel/{hotelCode}/reservation/{reservationId}
Метод для изменения, отмены или восстановления бронирования на стороне менеджера каналов. Контракт аналогичен POST /hotel/{hotelCode}/reservation/{reservationId}.
3. Обновить данные
POST hotel/{hotelCode}/resync
Метод для вызова процесса обновления данных.
Параметры запроса
Параметр | Тип | Обязательность | Описание |
Header | |||
Authorization | string | Да | Токен доступа. |
Query/path | |||
hotelCode | string | Да | Идентификатор объекта размещения. |
Body | |||
syncType | string | Да | Тип обновления. Возможные значения:
|
roomCode | string | Опциональный | Код комнаты. Если указано, заполняется для всех доступных для этой комнаты тарифов и типов размещения. |
range | range | Да | Период обновления данных. Максимальный период — 2 года. |
Range
Параметр | Тип | Обязательность | Описание |
startRange | data | Да | Дата начала периода обновления. |
endRange | data | Да | Дата окончания периода обновления. |
Пример запроса
{
"syncType": "Price",
"roomCode": "2134",
"range": {
"startRange": "2025-09-09",
"endRange": "2025-10-09"
}
}
Параметры ответа
Пустой Body, HTTP-код — 200 OK.
История изменений
| Изменение | |
|---|---|
| 1 | Добавлен объект services для передачи данных об услугах (например, ранний заезд/поздний выезд) в запросы POST и PUT /hotel/{hotelCode}/reservation/{reservationId}. |
| 2 | Добавлен параметр supplierPaymentAmount на уровне бронирования и параметр supplierAmount на уровень объектов service, day и policy для передачи стоимости по цене поставщика в запросы POST и PUT /hotel/{hotelCode}/reservation/{reservationId}. |
| 3 | Добавлен объект cancellationPenalty для передачи фактической суммы штрафа в отмененном бронировании в запросы POST и PUT /hotel/{hotelCode}/reservation/{reservationId}. |
| 4 | Добавлен параметр EchoToken для передачи версии бронирования в запросы POST и PUT /hotel/{hotelCode}/reservation/{reservationId}. |