Получение списка отельных сниппетов с доступными предложениями
В результате запроса метод возвращает ленту сниппетов отелей с доступными предложениями по основным параметрам поиска и, возможно, дополнительным фильтрам. Если в запросе указан только идентификатор региона, будет вычислен bounding box и в ответе вернется список отелей, входящих в этот bounding box.
Метод поддерживает paging и polling.
Формат запроса
GET https://whitelabel.travel.yandex-net.ru/hotels/search/
? geo_id=<integer>
& [bbox=<lon,lat~lon,lat>]
& checkin_date=<date>
& checkout_date=<date>
& adults=<integer>
& [children_ages=<list of integer>]
& [order_by=<enum>]
& [hotel_id=<string>]
& [page_limit=<integer>]
& [page_token=<string>]
& [images_limit=<integer>]
& [affiliate_clid=<string>]
& [min_price=<integer>]
& [max_price=<integer>]
& [meal_type=<list of string>]
& [stars=<list of integer>]
& [nearby_sea=<boolean>]
& [nearby_park=<boolean>]
& [nearby_airport=<boolean>]
& [wi_fi=<boolean>]
& [air_conditioning=<boolean>]
& [pool=<boolean>]
& [car_park=<boolean>]
& [spa=<boolean>]
& [pets=<boolean>]
& [sauna=<boolean>]
& [bathhouse=<boolean>]
& [restaurant=<boolean>]
& [cafe=<boolean>]
& [gym=<boolean>]
& [transfer=<boolean>]
& [min_rating=<enum>]
& [accomm_type=<list of string>]
& [free_cancellation=<boolean>]
Authorization: OAuth <OAuth token>
Content-Type: application/JSON
Параметры запроса
Параметр |
Описание |
|
Идентификатор региона, заданный пользователем. |
|
Bounding box — область карты, в которой осуществляется поиск отелей в формате |
|
Дата заезда в формате |
|
Дата выезда в формате |
|
Количество совершеннолетних гостей. |
|
Список возрастов детей, перечисленных через запятую. Например: |
|
Тип сортировки. Возможные значения:
|
|
Идентификатор отеля. Данный отель будет первым в выдаче, независимо от наличия предложения по нему. |
|
Размер запрашиваемого блока (страницы). Значение по умолчанию — 10. Максимальное значение — 50. |
|
Токен начала запрашиваемого блока (страницы). Для первой страницы должен быть пустым. Приходит вместе с предыдущей страницей в поле |
|
Максимальное количество изображений (фотографий) отеля, отдаваемое в каждом сниппете. Значение по умолчанию — 10. Максимальное значение — 20. |
|
Идентификатор, выданный партнеру сервисом Яндекс Дистрибуция, к которому относится запрос. При отсутствии параметра будет использован clid, установленный партнеру при регистрации в системе. |
|
Минимальная цена номера в отеле за одну ночь в рублях. |
|
Максимальная цена номера в отеле за одну ночь в рублях. |
|
Тип питания. Можно указать несколько значений с разделителем
Например, чтобы передать запрос на отели с одним из типов — без питания или только с завтраком (без кодирования URL): |
|
Звездность отеля. Можно указать несколько значений с разделителем |
|
Только отели, расположенные рядом с морем. Возможное значение |
|
Только отели, расположенные рядом с парком. Возможное значение |
|
Только отели, расположенные рядом с аэропортом. Возможное значение |
|
Только отели, в которых есть Wi-Fi. Возможное значение |
|
Только отели, в которых есть номера с кондиционером. Возможное значение |
|
Только отели с бассейном. Возможное значение |
|
Только отели с парковкой для автомобилей. Возможное значение |
|
Только отели, в которых есть SPA. Возможное значение |
|
Только отели, в которых допускается размещение с домашними животными. Возможное значение |
|
Только отели с сауной. Возможное значение |
|
Только отели с баней. Возможное значение |
|
Только отели, в которых есть ресторан. Возможное значение |
|
Только отели, в которых есть кафе. Возможное значение |
|
Только отели, в которых для гостей доступен тренажерный зал. Возможное значение |
|
Только отели, предлагающие услугу трансфера. Возможное значение |
|
Минимальный рейтинг отеля. Возможные значения: |
|
Тип размещения. Можно указать несколько значений с разделителем
Например, чтобы передать запрос на отели с одним из типов размещения — кемпинги или турбазы (без
кодирования URL): |
|
Только отели с бесплатной отменой брони (действующей в настоящее время). Возможное значение |
* Обязательный параметр
Пример запроса
https://whitelabel.travel.yandex-net.ru/hotels/search/?geo_id=213&checkin_date=2023-01-15
&checkout_date=2023-01-20&adults=2&children_ages=10%2C7&page_limit=25&page_token=50&stars=4%7C5
&max_price=10000&free_cancellation=1
Этот запрос выполнит поиск отелей с доступными предложениями по основным параметрам — город Москва, даты проживания с 15 января 2023 года по 20 января 2023 года, для двоих взрослых. Также указаны дополнительные фильтры: дети в возрасте 10 и 7 лет, категория отеля — 4 и 5 звезд, стоимость до 10 000 рублей, возможность бесплатной отмены брони, а также ограничение на выдачу результатов в 25 страниц.
Формат ответа
{
"complete": (boolean),
"hotel_snippets" : [
{
"hotel_id": "(string)",
"name": "(string)",
"location": {
"country_name": "(string)",
"settlement": {
"type": "(string)",
"name": "(string)"
},
"address": "(string)",
"lon": (double),
"lat": (double),
},
"stars": (integer),
"rating": "(string)",
"total_review_count": (integer),
"total_image_count": (integer),
"images" : [
{
"url_template": "(string)",
"sizes": [
{
"size": "(string)",
"height": (integer),
"width": (integer)
},
]
}
],
"top_offers": [
{
"name": "(string)",
"price": {
"value": (integer),
"currency": "(string)"
},
"meal_type": {
"id": "(string)",
"name": "(string)"
},
"cancellation": {
"refund_type": "(string)",
"refund_rules": [
{
"type": "(string)",
"penalty": {
"value": (integer),
"currency": "(string)"
},
"starts_at": "(string)",
"ends_at": "(string)"
},
]
},
"discount": {
"strikethrough_price": (integer),
"percent": (integer),
"reason": "(string)"
}
}
],
"landing_url": "(string)",
},
],
"next_page_token": "(string)",
"bbox": {
"lower_left": { "lat": (double), "lon": (double) },
"upper_right": { "lat": (double), "lon": (double) }
},
}
Параметры ответа
Параметр |
Тип |
Описание |
|
boolean |
Если значение |
|
array |
Список отельных сниппетов. Список может быть отсортирован по типу, который указан в параметре запроса |
|
string |
Токен следующей страницы. Значение передается в параметре запроса |
|
object |
Актуальный bounding box на карте, ограничивающий найденные отели. |
hotel_snippets object |
||
|
string |
Идентификатор отеля. |
|
string |
Название отеля. |
|
object |
Географическое расположение отеля. |
|
integer |
Количество звезд. Принимает значение от 1 до 5 или может отсутствовать. |
|
string |
Рейтинг отеля. Принимает значение от 1 до 5 в формате: дробное число, один знак после запятой, или может отсутствовать. |
|
integer |
Количество отзывов. |
|
integer |
Количество изображений (фотографий) отеля. |
|
array |
Список изображений (фотографий) отеля. |
|
array |
Список лучших предложений на номер отеля. |
|
string |
Ссылка на страницу отеля с подставленными основными параметрами поиска. Параметр может отсутствовать. |
bbox object |
||
|
object |
Координаты нижнего левого угла bounding box. |
|
object |
Координаты правого верхнего угла bounding box. |
location object |
||
|
string |
Страна. |
|
object |
Населенный пункт. |
|
string |
Адрес отеля. |
|
double |
Долгота координат отеля. |
|
double |
Широта координат отеля. |
images object |
||
|
string |
Шаблон URL изображения, в котором |
|
array of objects |
Список доступных размеров изображения. |
top_offers object |
||
|
string |
Название предложения. Параметр может отсутствовать. |
|
object |
Цена предложения. |
|
object |
Тип питания. Если параметр отсутствует, то значение по умолчанию: |
|
object |
Правила отмены брони. Если параметр отсутствует, это означает, что предложение без возможности отмены и деньги не возвращаются. |
|
object |
Скидка. Параметр может отсутствовать. |
lower_left / upper_right object |
||
|
double |
Долгота координат отеля. |
|
double |
Широта координат отеля. |
settlement object |
||
|
string |
Тип населенного пункта. Возможные значения:
|
|
string |
Название населенного пункта. |
sizes object |
||
|
string |
Код размера изображения, который подставляется в шаблон URL. |
|
integer |
Высота в пикселях. |
|
integer |
Ширина в пикселях. |
price object |
||
|
integer |
Цена предложения. |
|
string |
Валюта предложения. Возможное значение — |
meal_type object |
||
|
string |
Код типа питания. Возможные значения:
|
|
string |
Название типа питания. |
cancellation object |
||
|
string |
Тип отмены брони на текущий момент. Возможные значения:
|
|
object |
Подробные правила отмены брони. |
discount object |
||
|
integer |
Базовая цена до скидки в рублях. |
|
integer |
Процент скидки от 0 до 100. Может отсутствовать, если скидка не выражается в процентах. |
|
string |
Основание скидки. Параметр может отсутствовать, если основание неизвестно. |
refund_rules object |
||
|
string |
Тип отмены брони. Возможные значения:
|
|
object |
Сумма, которая будет потеряна при отказе от брони в период действия правила.
Если тип отмены брони отличается от |
|
string |
Дата и время начала действия правила в формате UTC (стандарт ISO 8601): |
|
string |
Дата и время окончания действия правила в формате UTC (стандарт ISO 8601): |
penalty object |
||
|
integer |
Сумма штрафа. |
|
string |
Валюта. Возможное значение — |
Пример ответа
{
"complete": true,
"hotel_snippets" : [
{
"hotel_id": "1019057204",
"name": "Марриотт Москва Гранд Отель",
"location": {
"country_name": "Россия",
"settlement": {
"type": "CITY",
"name": "Москва"
},
"address": "Москва, ул. Добролюбова, д. 11",
"lon": 37.599343,
"lat": 55.768301,
},
"stars": 5,
"rating": "4.9",
"total_review_count": 158,
"total_image_count": 79,
"images" : [
{
"url_template": "https://avatars.mds.yandex.net/get-altay/200322/2a0000015b0b6a243dc584f534df710b4480/%s",
"sizes": [
{
"size": "XXXS",
"height": 29,
"width": 50
},
{
"size": "XXL",
"height": 640,
"width": 1024
},
]
}
],
"top_offers": [
{
"name": "Двухместный номер Deluxe (двуспальная кровать) (кровать king size)",
"price": {
"value": 53500,
"currency": "RUB"
},
"meal_type": {
"id": "RO",
"name": "Без питания"
},
"cancellation": {
"refund_type": "FULLY_REFUNDABLE",
"refund_rules": [
{
"type": "FULLY_REFUNDABLE",
"penalty": null,
"starts_at": null,
"ends_at": "2022-09-30T07:30:00Z"
},
{
"type": "REFUNDABLE_WITH_PENALTY",
"penalty": {
"value": 6500,
"currency": "RUB"
},
"starts_at": "2022-09-30T11:00:00Z",
"ends_at": "2022-10-01T11:00:00Z"
},
{
"type": "NON_REFUNDABLE",
"penalty": null,
"starts_at": "2022-10-01T11:00:00Z",
"ends_at":
}
]
},
"discount": {
"strikethrough_price": 8125,
"percent": 20,
"reason": "Летнее предложение",
}
}
],
"landing_url": "https://travel.yandex.ru/hotels/moscow/moskva-marriott-novyi-arbat/?checkin_date=2022-10-01&checkout_date=2022-10-10&adults=2&children_ages=10%2C7",
},
],
"next_page_token": "50",
"bbox": {
"lower_left": { "lat": 66.7712, "lon": 44.441234 },
"upper_right": { "lat": 66.7901, "lon": 44.460123 }
},
}
Идентификатор региона, заданный пользователем.
Bounding box — область карты, в которой осуществляется поиск отелей, в формате minLon, minLat~maxLon, maxLat
.
Дата заезда в формате YYYY-MM-DD
.
Дата выезда в формате YYYY-MM-DD
.
Количество совершеннолетних гостей.
Список возрастов детей, перечисленных через запятую. Например: children_ages=10,7,5
.
Тип сортировки. Возможные значения:
relevance-desc
— сортировка по релевантности, популярные отели (используется по умолчанию);rating-desc
— сортировка по убыванию рейтинга;price-asc
— от дешевых к дорогим;price-desc
— от дорогих к дешевым.
Идентификатор отеля. Данный отель будет первым в выдаче, независимо от наличия предложения по нему.
Размер запрашиваемого блока (страницы). Значение по умолчанию — 10. Максимальное значение — 50.
Токен начала запрашиваемого блока (страницы). Для первой страницы должен быть пустым. Приходит вместе с предыдущей страницей в поле next_page_token
.
Максимальное количество изображений (фотографий) отеля, отдаваемое в каждом сниппете. Значение по умолчанию — 10. Максимальное значение — 20.
Идентификатор, выданный партнеру сервисом Яндекс Дистрибуция, к которому относится запрос. При отсутствии параметра будет использован clid, установленный партнеру при регистрации в системе.
Минимальная цена номера в отеле за одну ночь в рублях.
Максимальная цена номера в отеле за одну ночь в рублях.
Тип питания. Можно указать несколько значений с разделителем |
, в ответе вернется список отелей с любым из указанных типов питания.
Возможные значения:
RO
— без питания;BB
— только завтрак;HB
— полупансион;FB
— завтрак, обед и ужин;AI
— все включено. Например, чтобы передать запрос на отели с одним из типов — без питания или только с завтраком (без кодирования URL):&meal_type=RO|BB
.
Звездность отеля. Можно указать несколько значений с разделителем |
. Возможные значения: 1
, 2
, 3
, 4
, 5
.
Например, чтобы передать запрос на отели категории от 3 до 5 звезд (без кодирования URL): &stars=3|4|5
.
Только отели, расположенные рядом с морем. Возможное значение: &nearby_sea=1
.
Только отели, расположенные рядом с парком. Возможное значение: &nearby_park=1
.
Только отели, расположенные рядом с аэропортом. Возможное значение: &nearby_airport=1
.
Только отели, в которых есть Wi-Fi. Возможное значение: &wi_fi=1
.
Только отели, в которых есть номера с кондиционером. Возможное значение: &air_conditioning=1
.
Только отели с бассейном. Возможное значение: &pool=1
.
Только отели с парковкой для автомобилей. Возможное значение: &car_park=1
.
Только отели, в которых есть SPA. Возможное значение: &spa=1
.
Только отели, в которых допускается размещение с домашними животными. Возможное значение: &pets=1
.
Только отели с сауной. Возможное значение: &sauna=1
.
Только отели с баней. Возможное значение: &bathhouse=1
.
Только отели, в которых есть ресторан. Возможное значение: &restaurant=1
.
Только отели, в которых есть кафе. Возможное значение: &cafe=1
.
Только отели, в которых для гостей доступен тренажерный зал. Возможное значение: &gym=1
.
Только отели, предлагающие услугу трансфера. Возможное значение: &transfer=1
.
Минимальный рейтинг отеля. Возможные значения: 3
, 4
, 4.5
.
Например, отели с рейтингом 4.5 и выше: &minRating=4.5
.
Тип размещения. Можно указать несколько значений с разделителем |
, в ответе вернется список отелей с любым из указанных типов размещения.
Возможные значения:
hotel
— гостиница;hostel
— хостел;camping
— кемпинг;tourist-resort
— турбаза;holiday-home
— дом отдыха;sanatorium
— санаторий;glamping
— глэмпинг;apartment
— апартаменты. Например, чтобы передать запрос на отели с одним из типов размещения — кемпинги или турбазы (без кодирования URL):&accom_type= camping|tourist-resort
.
Только отели с бесплатной отменой брони (действующей в настоящее время). Возможное значение &free_cancellation=1
.