Получение списка номеров и предложений отеля

Возвращает список номеров и предложений отеля — информацию о номерах и ценах по идентификатору отеля и основным параметрам поиска. Также результат метода содержит ссылки на страницу бронирования. Метод поддерживает polling.

Формат запроса

GET https://whitelabel.travel.yandex-net.ru/hotels/offers/
  ? hotel_id=<string>
  & checkin_date=<date>
  & checkout_date=<date>
  & adults=<integer>
  & [children_ages=<list of integer>]
  & [affiliate_clid=<string>]

Authorization: OAuth <OAuth token>
Content-Type: application/JSON

Параметры запроса

Параметр

Описание

hotel_id*

Идентификатор отеля.

checkin_date*

Дата заезда в формате YYYY-MM-DD.

checkout_date*

Дата выезда в формате YYYY-MM-DD.

adults*

Количество совершеннолетних гостей.

children_ages

Список возрастов детей, перечисленных через запятую. Например: children_ages=10,7,5.

affiliate_clid

Идентификатор, выданный партнеру сервисом Яндекс Дистрибуция, к которому относится запрос. При отсутствии параметра будет использован clid, установленный партнеру при регистрации в системе.

* Обязательный параметр

Пример запроса

https://whitelabel.travel.yandex-net.ru/hotels/hotel/offers/?hotel_id=1019057204&checkin_date=2022-10-01
&checkout_date=2022-10-10&adults=2&children_ages=10%2C7

Формат ответа

{
  "complete": (boolean),
  "rooms" : [
    {
      "name": "(string)",
      "description": "(string)",
      "area": {
        "value": (integer),
        "unit": "(string)"
      },
      "bed_groups": [
        {
          "configuration": [
            {
              "bed_type": "(string)",
              "name_initial_form": "(string)",
              "name_inflected_form": "(string)",
              "quantity": (integer)
            }
          ]
        }
      ],
      "amenities": {
        "groups": [
          {
            "name": "(string)",
            "amenities": [
              {
                "id": "(string)",
                "name": "(string)",
                "is_important": (boolean)
              },
            ]
          },
        ]
      },
      "images" : [
        {
          "url_template": "(string)",
          "sizes": [
            {
              "size": "(string)",
              "height": (integer),
              "width": (integer)
            },
          ]
        }
      ],
      "offers": [
        {
          "id": "(string)",
          "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)"
          },
          "booking_url": "(string)"
        }
      ],
    },
  ]
}

Параметры ответа

Параметр

Тип

Описание

complete

boolean

Если значение "complete": true — это означает, что поиск предложений полностью завершен (polling).

rooms

array

Список номеров отеля с предложениями.

rooms object

name

string

Название номера. Если вернулось null — это означает, что нет информации о номере, только название предложения от отеля.

description

string

Описание номера. Параметр может отсутствовать.

area

array

Площадь номера. Параметр может отсутствовать.

bed_groups

array

Возможные конфигурации кроватей в номере. Параметр может отсутствовать.

amenities

object

Информация об удобствах номера.

images

object

Список изображений (фотографий) номера.

offers

object

Список предложений на номер отеля.

area object

value

integer

Числовое значение площади.

unit

string

Единица измерения. Используется только значение SQUARE_METERS — квадратные метры.

bed_groups object

configuration

array

Конфигурации кроватей. Если в массиве содержится несколько объектов с разными типами, значит, в номере присутствуют все перечисленные кровати.

amenities object

groups

object

Группы удобств.

images object

url_template

string

Шаблон URL изображения, в котором %s нужно заменить на код определенного размера для получения URL изображения.

sizes

array

Список доступных размеров изображения.

offers object

id

string

Идентификатор предложения.

name

string

Название предложения.

price

object

Цена предложения.

meal_type

object

Тип питания.

cancellation

object

Правила отмены брони.

discount

object

Скидка. Параметр может отсутствовать.

booking_url

string

URL страницы заказа (редирект на страницу заказа).

configuration object

bed_type

string

Тип кровати. Возможные значения — SINGLE и DOUBLE.

name_initial_form

string

Наименование в единственном числе.

name_inflected_form

string

Наименование во множественном числе — для формирования корректной фразы, например: 2 двуспальные кровати.

quantity

integer

Количество кроватей.

groups object

name

string

Название группы удобств.

amenities

object

Удобства группы.

sizes object

size

string

Код размера изображения, который подставляется в шаблон URL.

height

integer

Высота в пикселях.

width

integer

Ширина в пикселях.

price object

value

integer

Цена предложения.

currency

string

Валюта предложения. Возможное значение — RUB.

meal_type object

id

string

Код типа питания. Возможные значения:

  • RO — без питания;
  • BB — только завтрак;
  • HB — полупансион;
  • FB — завтрак, обед и ужин;
  • AI — все включено.

name

string

Название типа питания.

cancellation object

refund_type

string

Тип отмены брони на текущий момент. Возможные значения:

  • FULLY_REFUNDABLE — полная отмена;
  • REFUNDABLE_WITH_PENALTY — отмена со штрафом;
  • NON_REFUNDABLE — отмена невозможна.

refund_rules

object

Подробные правила отмены брони.

discount object

strikethrough_price

integer

Базовая цена до скидки в рублях.

percent

integer

Процент скидки от 0 до 100. Может отсутствовать, если скидка не выражается в процентах.

reason

string

Основание скидки. Параметр может отсутствовать, если основание неизвестно.

amenities object

id

string

Идентификатор удобства.

name

string

Название удобства.

is_important

boolean

Признак основного удобства. Если параметр отсутствует, это означает, что его значение false.

refund_rules object

type

string

Тип отмены брони. Возможные значения:

  • FULLY_REFUNDABLE — полная отмена;
  • REFUNDABLE_WITH_PENALTY — отмена со штрафом;
  • NON_REFUNDABLE — отмена невозможна.

penalty

object

Сумма, которая будет потеряна при отказе от брони в период действия правила. Если тип отмены брони отличается от REFUNDABLE_WITH_PENALTY, то параметр примет значение null или будет отсутствовать.

starts_at

string

Дата и время начала действия правила в формате UTC (стандарт ISO 8601): YYYY-MM-DDThh:mm:ss.sssZ.

ends_at

string

Дата и время окончания действия правила в формате UTC (стандарт ISO 8601): YYYY-MM-DDThh:mm:ss.sssZ.

penalty object

value

integer

Сумма штрафа.

currency

string

Валюта. Возможное значение — RUB.

Пример ответа

{
  "complete": true,
  "rooms" : [
    {
      "name": "Делюкс, с двумя раздельными кроватями",
      "description": "Особенности номера:\n- Площадь 31кв.м-33кв.м\n-Максимальная вместимость: ...",
      "area": {
        "value": 31,
        "unit": "SQUARE_METERS"
      },
      "bed_groups": [
        {
          "configuration": [
            {
              "bed_type": "DOUBLE",
              "name_initial_form": "двуспальная кровать",
              "name_inflected_form": "двуспальные кровати",
              "quantity": 2
            }
          ]
        }
      ],
      "amenities": {
        "groups": [
          {
            "name": "Интернет и телефония",
            "amenities": [
              {
                "id": "internet-access:true",
                "name": "Интернет",
                "is_important": true,
              },
            ]
          },
        ]
      },
      "images" : [
        {
          "url_template": "https://avatars.mds.yandex.net/get-travel-rooms/3586827/2a0000017f9018b798e33ce87ced1792c25b/%s",
          "sizes": [
            {
              "size": "L",
              "height": 188,
              "width": 300
            },
          ]
        }
      ],
      "offers": [
        {
          "id": "76d371ae-7c06-4fbf-1234-1951efbc4f81",
          "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": "Летнее предложение"
          },
          "booking_url": "https://xredirect.yandex.ru/redir?OfferId=4fcc57ed-6e8b-41c2-9a48-e76fcd37472c&OfferIdHash=...",
        }
      ],
    },
  ]
}
Написать в службу поддержки