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

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

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

ПолеТипОбязательноОписание
hotelIdstringНетИдентификатор отеля
checkinDatedateДаДата заезда (YYYY-MM-DD)
checkoutDatedateДаДата выезда (YYYY-MM-DD)
searchIdstringНетИдентификатор для проверки цены и бронирования
offersOffer[]НетСписок доступных предложений

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

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

Развернуть пример
  1{
  2  "hotelId": "hotel-001",
  3  "checkinDate": "2025-12-15",
  4  "checkoutDate": "2025-12-18",
  5  "searchId": "search-xyz789",
  6  "offers": [
  7    {
  8      "offerId": "offer-001",
  9      "supplier": "ostrovok",
 10      "contractId": "tywu2374u2dhs2ui",
 11      "searchPresetId": "334ferf4545y3",
 12      "pricingPresetId": "3454tf4454545",
 13      "roomId": "room-101",
 14      "roomName": "Стандартный двухместный",
 15      "allotment": 5,
 16      "paymentType": "online",
 17      "isRefundable": true,
 18      "features": [
 19        { "type": "bedding", "value": "double" }
 20      ],
 21      "roomAmenities": [
 22        {
 23          "id": "wifi",
 24          "name": "Wi-Fi",
 25          "group": "internet",
 26          "included": true,
 27          "amount": 0,
 28          "currency": "RUB",
 29          "vat": {
 30            "isVatFree": true,
 31            "included": true,
 32            "value": {
 33              "amount": 0,
 34              "currency": "RUB"
 35            },
 36            "percent": "0"
 37          }
 38        },
 39        {
 40          "id": "ac",
 41          "name": "Кондиционер",
 42          "group": "comfort",
 43          "included": true,
 44          "amount": 0,
 45          "currency": "RUB",
 46          "vat": {
 47            "isVatFree": true,
 48            "included": true,
 49            "value": {
 50              "amount": 0,
 51              "currency": "RUB"
 52            },
 53            "percent": "0"
 54          }
 55        }
 56      ],
 57      "roomImages": [
 58        "https://url/photo.JPEG",
 59        "https://url/photo_2.JPEG"
 60      ],
 61      "prices": {
 62        "vat": {
 63          "isVatFree": true,
 64          "included": true,
 65          "value": {
 66            "amount": 0,
 67            "currency": "RUB"
 68          },
 69          "percent": "0"
 70        },
 71        "totalPrice": {
 72          "total": {
 73            "amount": 1500.00,
 74            "currency": "RUB"
 75          },
 76          "discount": {
 77            "amount": 100.00,
 78            "currency": "RUB"
 79          },
 80          "markup": {
 81            "amount": 100,
 82            "currency": "RUB"
 83          },
 84          "serviceFee": {
 85            "amount": 0,
 86            "currency": "RUB"
 87          },
 88          "supplier": {
 89            "bar": {
 90              "amount": 1400,
 91              "currency": "RUB"
 92            },
 93            "gross": {
 94              "amount": 1600,
 95              "currency": "RUB"
 96            },
 97            "netto": {
 98              "amount": 1400,
 99              "currency": "RUB"
100            },
101            "rack": {
102              "amount": 0,
103              "currency": "RUB"
104            }
105          },
106          "commission": {
107            "margin": "100",
108            "subagent": {
109              "amount": 0,
110              "currency": "RUB"
111            },
112            "supplier": {
113              "amount": 200,
114              "currency": "RUB"
115            }
116          }
117        },
118        "meals": [
119          {
120            "mealId": "breakfast",
121            "mealName": "Завтрак",
122            "included": true,
123            "price": {
124              "total": {
125                "amount": 0,
126                "currency": "RUB"
127              },
128              "discount": {
129                "amount": 0,
130                "currency": "RUB"
131              },
132              "markup": {
133                "amount": 0,
134                "currency": "RUB"
135              },
136              "serviceFee": {
137                "amount": 0,
138                "currency": "RUB"
139              },
140              "supplier": {
141                "amount": 0,
142                "currency": "RUB"
143              },
144              "commission": {
145                "margin": "0",
146                "subagent": {
147                  "amount": 0,
148                  "currency": "RUB"
149                },
150                "supplier": {
151                  "amount": 0,
152                  "currency": "RUB"
153                }
154              },
155              "vat": {
156                "isVatFree": true,
157                "included": true,
158                "value": {
159                  "amount": 0,
160                  "currency": "RUB"
161                },
162                "percent": "0"
163              }
164            }
165          }
166        ],
167        "cancellationRules": {
168          "freeCancellationBefore": "2025-12-13T12:00:00+00:00",
169          "ruleList": [
170            {
171              "startAt": "2025-12-13T12:00:00+00:00",
172              "endAt": "2025-12-15T10:32:04.853Z",
173              "penalty": {
174                "total": {
175                  "amount": 5000.00,
176                  "currency": "RUB"
177                },
178                "discount": {
179                  "amount": 0,
180                  "currency": "RUB"
181                },
182                "markup": {
183                  "amount": 0,
184                  "currency": "RUB"
185                },
186                "serviceFee": {
187                  "amount": 0,
188                  "currency": "RUB"
189                },
190                "supplier": {
191                  "amount": 5000,
192                  "currency": "RUB"
193                }
194              },
195              "commission": {
196                "margin": "0",
197                "subagent": {
198                  "amount": 0,
199                  "currency": "RUB"
200                },
201                "supplier": {
202                  "amount": 0,
203                  "currency": "RUB"
204                }
205              },
206              "vat": {
207                "isVatFree": true,
208                "included": true,
209                "value": {
210                  "amount": 0,
211                  "currency": "RUB"
212                },
213                "percent": "0"
214              }
215            }
216          ]
217        },
218        "earlyCheckin": [
219          {
220            "time": "10:00",
221            "availableStatus": "Available",
222            "price": {
223              "total": {
224                "amount": 2000.00,
225                "currency": "RUB"
226              },
227              "discount": {
228                "amount": 0,
229                "currency": "RUB"
230              },
231              "markup": {
232                "amount": 0,
233                "currency": "RUB"
234              },
235              "serviceFee": {
236                "amount": 0,
237                "currency": "RUB"
238              },
239              "supplier": {
240                "amount": 0,
241                "currency": "RUB"
242              },
243              "commission": {
244                "margin": "0",
245                "subagent": {
246                  "amount": 0,
247                  "currency": "RUB"
248                },
249                "supplier": {
250                  "amount": 0,
251                  "currency": "RUB"
252                }
253              },
254              "vat": {
255                "isVatFree": true,
256                "included": true,
257                "value": {
258                  "amount": 0,
259                  "currency": "RUB"
260                },
261                "percent": "0"
262              }
263            }
264          }
265        ],
266        "lateCheckout": [
267          {
268            "time": "18:00",
269            "availableStatus": "OnRequest",
270            "price": {
271              "total": {
272                "amount": 3000.00,
273                "currency": "RUB"
274              },
275              "discount": {
276                "amount": 0,
277                "currency": "RUB"
278              },
279              "markup": {
280                "amount": 0,
281                "currency": "RUB"
282              },
283              "serviceFee": {
284                "amount": 0,
285                "currency": "RUB"
286              },
287              "supplier": {
288                "amount": 0,
289                "currency": "RUB"
290              },
291              "commission": {
292                "margin": "0",
293                "subagent": {
294                  "amount": 0,
295                  "currency": "RUB"
296                },
297                "supplier": {
298                  "amount": 0,
299                  "currency": "RUB"
300                }
301              },
302              "vat": {
303                "isVatFree": true,
304                "included": true,
305                "value": {
306                  "amount": 0,
307                  "currency": "RUB"
308                },
309                "percent": "0"
310              }
311            }
312          }
313        ]
314      },
315      "deposit": {
316          "value": {
317            "amount": 500,
318            "currency": "RUB"
319          },
320          "isRefundable": true
321        },
322      "isPetAvailable": true,
323      "checkinRules": [
324        {
325          "frontDeskTimeStart": "10:00",
326          "frontDeskTimeEnd": "20:00",
327          "keysPickup": "123",
328          "phone": "+123456",
329          "email": "email@gmail.com",
330          "address": "address 7/3",
331          "isContactless": true,
332          "comment": "Код замка 123"
333        }
334      ]
335    },
336    {
337      "offerId": "offer-002",
338      "roomId": "room-201",
339      "roomName": "Люкс с видом на море",
340      "allotment": 2,
341      "paymentType": "online",
342      "isRefundable": true,
343      "features": [
344        { "type": "bedding", "value": "king" },
345        { "type": "view", "value": "sea" }
346      ],
347      "roomImages": [
348        "https://url/photo.JPEG",
349        "https://url/photo_2.JPEG"
350      ],
351      "prices": {
352        "totalPrice": {
353          "total": {
354            "amount": 35000.00,
355            "currency": "RUB"
356          }
357        },
358        "meals": [
359          {
360            "mealId": "half_board",
361            "mealName": "Полупансион",
362            "included": true
363          }
364        ],
365        "cancellationRules": {
366          "freeCancellationBefore": "2025-12-10T12:00:00+00:00"
367        }
368      },
369      "deposit": {
370          "value": {
371            "amount": 500,
372            "currency": "RUB"
373          },
374          "isRefundable": true
375         },
376      "isPetAvailable": true,
377      "checkinRules": [
378        {
379          "frontDeskTimeStart": "00:00"
380        }
381      ]
382    }
383  ]
384}

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

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

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

Код ошибкиПричинаРешение
VALIDATION_FAILEDОшибка валидации запросаПроверьте обязательные поля и форматы значений
NO_PRODUCTSНет доступных продуктов для отеляПопробуйте другой отель
NO_RATESНет доступных тарифов для заданных параметровИзмените даты или параметры поиска
SUPPLIER_ERRORПоставщик вернул ошибкуПовторите запрос позже
TIMEOUTПревышено время ожидания ответа от поставщикаПовторите запрос позже
INTERNAL_ERRORВнутренняя ошибка сервераОбратитесь в поддержку