Структура ответа#

Детальное описание структуры ответа от /hotels/view_booking.

Основная структура#

ПолеТипОбязательноОписание
supplierOrderIdstringНетИдентификатор заказа у поставщика
partnerViewBookingPartnerInfoНетИнформация о заказе партнера
hotelViewBookingHotelInfoНетИнформация об отеле и номере
guestsViewBookingGuestsInfoНетИнформация о гостях
pricesViewBookingPriceInfoНетЦеновая информация
bookingInfoViewBookingInfoНетСтатус и даты бронирования
checkindateДаДата заезда (YYYY-MM-DD)
checkoutdateДаДата выезда (YYYY-MM-DD)
upsellsViewBookingUpsellInfo[]НетДополнительные услуги
customerViewBookingCustomerInfoНетКонтактное лицо
hostContactsViewBookingHostInfoНетКонтактная информация владельца квартиры
extraInfoViewBookingExtraInfoНетДополнительная информация по проживанию

Структура ViewBookingPartnerInfo#

ПолеТипОписание
partnerOrderIdstringИдентификатор заказа партнера
commentstringКомментарий
amountSellB2b2cMoneyСумма продажи B2B2C

Структура ViewBookingHotelInfo#

ПолеТипОписание
hotelIdstringИдентификатор отеля
roomViewBookingRoomInfoИнформация о номере

Структура ViewBookingRoomInfo#

ПолеТипОписание
namestringНазвание номера
mealNamestringТип питания
beddingNamesstring[], enumТипы кроватей. Возможные значения: unspecified, single, double, smallDouble, twin, triple, bunkBed, king, queen, sofa, sofaSingle, sofaDouble, childBed, extraBed, armchair, rollaway

Структура ViewBookingGuestsInfo#

ПолеТипОписание
countintegerОбщее количество гостей
adultCountintegerКоличество взрослых
childrenCountintegerКоличество детей
guestsViewBookingGuestDetails[]Детали гостей

Структура ViewBookingGuestDetails#

ПолеТипОписание
firstNamestringИмя
lastNamestringФамилия
isChildbooleanРебенок
ageintegerВозраст (для детей)
citizenshipstringГражданство (ISO 3166-1 alpha-2)
genderstringПол

Структура ViewBookingPriceInfo#

ПолеТипОписание
supplierstringПоставщик, через которого совершено бронирование. Возможные значения: Ostrovok, Acase, Avito
contractIdstringИдентификатор контракта, по которому было совершено бронирование
searchPresetIdstringИдентификатор пресета поиска, который использовался на момент поиска предложения
pricingPresetIdstringИдентификатор пресета ценообразования, который использовался на момент поиска предложения
payableMoneyОплаченная сумма
amountSellMoneyСумма продажи
paymentTypestringТип оплаты
cancellationRulesCancellationRulesПравила отмены

Структура ViewBookingInfo#

ПолеТипОписание
statusstringСтатус бронирования. Возможные значения: Unknown, Inwork, Booked, Rejected, Cancelled, Error
isCancellablebooleanПризнак доступности отмены в текущий момент. false означает, что бронирование недоступно для отмены — например, если отмена уже запрошена или бронирование уже отменено
createdAtdatetimeДата создания (ISO 8601)
updatedAtdatetimeДата обновления (ISO 8601)
cancelledAtdatetimeДата отмены (ISO 8601)

Структура ViewBookingUpsellInfo#

ПолеТипОписание
typestringТип услуги (earlyCheckin, lateCheckout)
namestringНазвание услуги
valueMoneyСтоимость

Структура ViewBookingCustomerInfo#

ПолеТипОписание
firstNamestringИмя
lastNamestringФамилия
emailstringEmail
phonestringТелефон
commentstringКомментарий

Структура ViewBookingHostInfo#

Наличие данных зависит от поставщика:

  • Авито — возвращает информацию (при наличии) за день до заезда или если бронь подтверждена и отмена возможна только со штрафом.
  • Островок, Roomlink — ограничений нет, но данные зависят от заполненности у поставщика.
  • Acase, HBPro — данные не возвращаются.
ПолеТипОписание
namestringИмя
emailstringEmail
phonestringТелефон
commentstringКомментарий

Структура ViewBookingExtraInfo#

Наличие данных зависит от поставщика:

  • Авито — возвращает информацию (при наличии) за день до заезда или если бронь подтверждена и отмена возможна только со штрафом.
  • Островок, Roomlink — ограничений нет, но данные зависят от заполненности у поставщика.
  • Acase, HBPro — данные не возвращаются.
ПолеТипОписание
entrancestringНомер подъезда
apartmentNumberstringНомер квартиры
entranceCodestringКод от домофона
howToFindstringКак найти дом
howToGetInstringКак попасть в квартиру
lockCodestringКод от сейфа или двери
checkInRulesstringПравила заселения
checkOutRulesstringПравила выселения
accommodationRulesstringПравила проживания
wifiNamestringНазвание сети Wi-Fi
wifiPasswordstringПароль от Wi-Fi

Примеры ответов#

Успешный ответ#

Развернуть пример
 1{
 2  "supplierOrderId": "SUP-12345",
 3  "partner": {
 4    "partnerOrderId": "ORDER-12345",
 5    "comment": "VIP клиент"
 6  },
 7  "hotel": {
 8    "hotelId": "hotel-001",
 9    "room": {
10      "name": "Стандартный двухместный",
11      "mealName": "Завтрак",
12      "beddingNames": ["Двуспальная кровать"]
13    }
14  },
15  "guests": {
16    "count": 2,
17    "adultCount": 2,
18    "childrenCount": 0,
19    "guests": [
20      {
21        "firstName": "IVAN",
22        "lastName": "IVANOV",
23        "isChild": false,
24        "citizenship": "RU",
25        "gender": "male"
26      },
27      {
28        "firstName": "MARIA",
29        "lastName": "IVANOVA",
30        "isChild": false,
31        "citizenship": "RU",
32        "gender": "female"
33      }
34    ]
35  },
36  "prices": {
37    "supplier": "Ostrovok",
38    "contractId": "uy123u8213y2j",
39    "searchPresetId": "87123eh22323",
40    "pricingPresetId": "ed23uhds223f",
41    "payable": {
42      "amount": 15000.00,
43      "currency": "RUB"
44    },
45    "amountSell": {
46      "amount": 15000.00,
47      "currency": "RUB"
48    },
49    "paymentType": "online",
50    "cancellationRules": {
51      "freeCancellationBefore": "2025-12-13T12:00:00+00:00"
52    }
53  },
54  "bookingInfo": {
55    "status": "Booked",
56    "isCancellable": true,
57    "createdAt": "2025-11-20T10:30:00+00:00",
58    "updatedAt": "2025-11-20T10:30:05+00:00"
59  },
60  "checkin": "2025-12-15",
61  "checkout": "2025-12-18",
62  "customer": {
63    "firstName": "Ivan",
64    "lastName": "Ivanov",
65    "email": "ivan@example.com",
66    "phone": "+79991234567"
67  },
68  "hostContacts": {
69    "name": "Petr",
70    "email": "petr@example.com",
71    "phone": "+12345678",
72    "comment": "comment"
73  },
74  "extraInfo": {
75    "entrance": "1",
76    "apartmentNumber": "1",
77    "entranceCode": "111",
78    "howToFind": "red roof",
79    "howToGetIn": "apartment number 1",
80    "lockCode": "789123",
81    "checkInRules": "after 16:00",
82    "checkOutRules": "before 12:00",
83    "accommodationRules": "string",
84    "wifiName": "wifi name",
85    "wifiPassword": "123qwerty"
86  }
87}

Ответ с ошибкой#

1{
2  "error": {
3    "code": "BOOKING_NOT_FOUND",
4    "message": "Бронирование не найдено",
5    "description": "Бронирование с указанным идентификатором не найдено",
6    "errorId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
7  }
8}

Типичные ошибки TAPI#

Код ошибкиПричинаРешение
BOOKING_NOT_FOUNDБронирование не найдено, не принадлежит клиенту или не является отельнымПроверьте корректность bookingId
VALIDATION_ERRORОшибка валидации запросаПроверьте обязательные поля и форматы значений

Помимо перечисленных TAPI-кодов, при ошибке на стороне поставщика в ответе может быть возвращён код ошибки поставщика без изменений (проброс) — набор таких кодов зависит от поставщика и не фиксирован.