Создание бронирования (Create Booking)#
Создание бронирования отеля на основе выбранного предложения.
Описание#
Эндпоинт: POST /api/hotels/create_booking
Создает бронирование с данными гостей для выбранного предложения. В ответе возвращается bookingId для последующих операций.
Использование#
Используйте этот запрос после проверки цены через /api/hotels/offer_pricing. Это ключевой шаг оформления бронирования.
Основной сценарий#
- Выполните поиск через
/api/hotels/search - Получите предложения через
/api/hotels/hotel_pricing - Проверьте цену через
/api/hotels/offer_pricing - Соберите данные гостей и контактную информацию
- Отправьте запрос на создание бронирования
- Получите
bookingIdдля просмотра и управления
Базовый пример#
Минимальный запрос для создания бронирования:
1{
2 "searchId": "search-xyz789",
3 "offerId": "offer-001",
4 "partnerInfo": {
5 "partnerOrderId": "ORDER-12345"
6 },
7 "paymentType": {
8 "type": "online",
9 "amount": {
10 "amount": 15000.00,
11 "currency": "RUB"
12 }
13 },
14 "guests": [
15 {
16 "firstName": "IVAN",
17 "lastName": "IVANOV",
18 "isChild": false,
19 "gender": "Male"
20 }
21 ],
22 "customer": {
23 "firstName": "Ivan",
24 "lastName": "Ivanov",
25 "email": "ivan@example.com",
26 "phone": "+79991234567"
27 }
28}Ответ содержит:
1{
2 "bookingId": "019a0c82-5d2b-7a5e-84fe-56357a57df66",
3 "supplierOrderId": "SUP-789",
4 "partnerOrderId": "ORDER-12345"
5}Детальная документация#
- Параметры запроса — полное описание всех параметров и примеры использования
- Структура ответа — детальное описание структуры ответа
Типичные ошибки#
| Код ошибки | Причина | Решение |
|---|---|---|
OFFER_NOT_FOUND | Предложение не найдено или срок его действия истёк | Выполните новый поиск |
OFFER_NOT_VERIFIED | Предложение не подтверждено через offer_pricing перед бронированием | Вызовите offer_pricing для этого оффера и повторите |
ECLC_NOT_AVAILABLE | У предложения нет пары для раннего заезда / позднего выезда | Уберите соответствующий upsell или выберите другое предложение |
HOTEL_TIME_UNKNOWN | Не удалось определить стандартное время заезда/выезда отеля (актуально для поставщика Acase) | Передайте checkinTime/checkoutTime в upsells[] и повторите запрос |
VALIDATION_ERROR | Ошибка валидации запроса (HTTP 400) | Проверьте обязательные поля и форматы значений |
NO_TARGETS | Под запрос не нашлось ни одного поставщика: ни один не настроен либо все отсеяны на этапе подготовки запроса | Проверьте настройки офисов и пресетов в личном кабинете; при сохранении ошибки обратитесь в поддержку |
SUPPLIER_ERROR | Поставщик вернул ошибку. Причина — текстом поставщика в поле message | Разберите message; при необходимости повторите запрос позже |
SYSTEM_ERROR | Внутренняя ошибка Travel API | Повторите запрос позже; при повторении обратитесь в поддержку с errorId |
Помимо перечисленных TAPI-кодов, при ошибке на стороне поставщика в ответе может быть возвращён код ошибки поставщика без изменений (проброс) — набор таких кодов зависит от поставщика и не фиксирован.
Связанные операции#
- Проверка цены — верификация цены перед бронированием
- Просмотр бронирования — получение деталей бронирования
- Отмена бронирования — отмена бронирования