booking — Передача бронирования в Inn-Book
📌 Основная информация
URL: https://restota.inn-book.com/v1/booking
Метод: POST
Назначение: Метод предназначен для передачи бронирования от OTA в систему управления отелем (PMS) Inn-Book.
Если отель не добавил OTA как канал продаж в своём личном кабинете InnBook, запрос будет отклонён с ошибкой.
📤 Описание метода
invoice — идентификатор бронирования OTA. Позволяет сопоставить бронь с системой Inn-Book. Не обязательно уникален: брони с одинаковым invoice будут сгруппированы.
PricesDey — детальная разбивка цены по дням. Используется для корректного учета изменения стоимости в разные даты.
В случае ошибки API возвращает "status": "error" и описание проблемы в поле mess.
Метод рекомендуется использовать для передачи полной информации о бронировании, включая состав гостей, даты проживания и цены.
📤 Запрос
{
"hid": "37820", // ID отеля в InnBook
"personalData": { // Данные клиента
"fname": "Иванов",
"lname": "Иван",
"email": "ivan@mail.ru",
"phone": "+79000000000",
"comment": ""
},
"rooms": [ // Массив забронированных номеров
{
"invoice": "22gf", // Внутренний номер бронирования OTA
"dates": { // Даты проживания
"dateStart": "2025-07-10",
"dateEnd": "2025-07-15"
},
"guests": { // Состав гостей
"adults": "2",
"childs": "0"
},
"timeCheckIn": { // Время заезда
"hours": "14",
"minutes": "00"
},
"guestInfo": { // Данные основного гостя (опционально)
"fname": "",
"lname": "",
"patronimic": ""
},
"variantSeats": "2", // Кол-во гостей по варианту размещения
"rates_id": 4, // ID тарифа
"costItog": "9411", // Общая сумма бронирования
"rooms_cat_id": 3, // ID категории номера в InnBook
"PricesDey": [ // Детализация цены по дням
{ "date": "2025-07-10", "cost": "1845" },
{ "date": "2025-07-11", "cost": "1894" },
{ "date": "2025-07-12", "cost": "1867" },
{ "date": "2025-07-13", "cost": "1828" },
{ "date": "2025-07-14", "cost": "1977" }
]
}
]
}
🔎 Пояснение к полям запроса
| Поле | Тип | Описание |
|---|---|---|
| hid | string | ID отеля в системе Inn-Book |
| personalData | object | Данные клиента (гостя) |
| personalData.fname | string | Фамилия гостя |
| personalData.lname | string | Имя гостя |
| personalData.email | string | Email гостя |
| personalData.phone | string | Телефон гостя |
| personalData.comment | string | Комментарий к бронированию (опционально) |
| rooms | array | Массив забронированных номеров |
| rooms.invoice | string | Внутренний номер бронирования OTA |
| rooms.dates.dateStart | string | Дата начала проживания (YYYY-MM-DD) |
| rooms.dates.dateEnd | string | Дата окончания проживания (YYYY-MM-DD) |
| rooms.guests.adults | string | Количество взрослых |
| rooms.guests.childs | string | Количество детей |
| rooms.timeCheckIn.hours | string | Часы заезда (24-часовой формат) |
| rooms.timeCheckIn.minutes | string | Минуты заезда |
| rooms.guestInfo.fname | string | Имя основного гостя (опционально) |
| rooms.guestInfo.lname | string | Фамилия основного гостя (опционально) |
| rooms.guestInfo.patronimic | string | Отчество основного гостя (опционально) |
| rooms.variantSeats | string | Количество гостей по варианту размещения |
| rooms.rates_id | integer | ID тарифа |
| rooms.costItog | string | Общая сумма бронирования |
| rooms.rooms_cat_id | integer | ID категории номера в Inn-Book |
| rooms.PricesDey | array | Детализация стоимости по дням |
| rooms.PricesDey.date | string | Конкретная дата проживания (YYYY-MM-DD) |
| rooms.PricesDey.cost | string | Стоимость за ночь для данной даты |
📥 Пример ответа
{
"booking": [
{
"invoice": "22gf", // ID бронирования от OTA
"status": "ok", // Статус обработки (ok — успешно)
"idBooking": 284, // ID бронирования в InnBook
"mess": "" // Дополнительное сообщение (если есть)
}
]
}