База знаний
Узнайте о главных возможностях наших решений. Получите помощь, когда вам понадобится.
Search API — поиск доступных размещений
Ценообразование в Exely
Отель устанавливает цену на каждый тариф, категорию номера, тип места и дату. Например:

В поиске предоставляются данные на год вперед от текущей даты. Максимально количество дней между параметрами arrivalDate и departureDate равно 100. Максимальное количество дней между датой arrivalDate и текущей датой — 365.
Брутто и нетто цены
Передаются те цены, которые отельер настроит в своём личном кабинете. Мы передаем цены, не зная брутто это или нетто. Наценки и скидки создаются на стороне канала.
Фильтры в агрегационном поиске
В методе search/api/properties/room-stays/search можно указать фильтры:
По наличию питания — поле mealPreference.mealType. В запросе можно передать следующие значения:
All — отображение минимального по стоимости варианта проживания по каждому объекту размещения.
MealOnly — отображение минимального по стоимости варианта проживания с включенным в стоимость тарифа питанием по каждому объекту размещения. Если в объекте размещения отсутствует такой вариант проживания, этот объект размещения не выводится.
MealPriority — отображение минимального по стоимости варианта проживания с включенным в стоимость тарифа питанием по каждому объекту размещения. Если в объекте размещения отсутствуют такие варианты проживания, этот объект размещения также выводится в ответе.
По типу питания — поле mealPreference.mealsIncluded. В запросе можно передать значения возможных вариантов питания, которые доступны в ответе метода content/v1/meal-plans, а также в ответе методов content/v1/properties — отображение всей информации о доступных объектах размещения и content/v1/properties{propertyId} — отображение информации по конкретному объекту размещения.
Результат поиска показывает минимальные по стоимости варианты проживания с включенным в стоимость тарифа конкретными типом питания по каждому объекту размещения. Например, если в запросе указать только значения «BreakFast», в ответе можно получить минимальные по стоимости варианты проживания с включенным в стоимость тарифа питанием только типа «BreakFast». При этом в ответе будут отсутствовать варианты «AllInlusive» или «HalfBoard».
Фильтр по типу питания можно использовать только при наличии питания типа «MealOnly» или «MealPriority».
По минимальной и максимальной стоимости проживания — поля pricePreference.minPrice и pricePreference.maxPrice.
Эти поля являются необязательными. Если передать значения полей в API, результат поиска покажет варианты проживания с минимальной ценой по всем доступным средствам размещения по выбранным фильтрам.
Поиск раннего заезда, позднего выезда и услуг за дополнительную плату по конкретному проживанию
Вам доступен дополнительный функционал для получения раннего заезда и позднего выезда (РЗПВ) и услуг за дополнительную плату. Подробности читайте в статьях «Как каналу продавать ранний заезд и поздний выезд через Exely Connect» и «Как каналу продаж продавать услуги через Exely Connect».
Работа с апартаментами
В агрегационном поиске отображаются варианты проживания с минимальной ценой в рамках апартаментов, которые находятся по разным адресам. Чтобы все апартаменты отображались в агрегационном поиске, необходимо:
в настройках указать тип объекта размещения — «Апартаменты»;
выбрать режим для квартир и апартаментов, который подключается через службу клиентской поддержки Exely;
в категориях номеров каждого средства размещения указать свой адрес: город, улица, литера, строение, корпус.
Если у нескольких категорий номеров указан один адрес, считается, что эти категории номеров размещаются в одном здании и в агрегационном поиске по таким категориям номеров отобразится один вариант проживания с минимальной ценой.

Налоги и сборы (кроме VAT)
Поле taxAmount содержит сумму налогов и сборов, которую оплачивает гость при заезде.
Тип питания в размещении RoomStay
Для одного RoomStay доступно только одно питание. В системе Exely отель может добавить в тариф только одну услугу с типом питания. Поэтому mealPlanCode является строковым типом данных.

Что делать, если запрос в «api/search/v1/properties/ {propertyId}/room-stays» не содержит ошибок и на него не приходит ответ
Обратите внимание на поля «arrivalDate» и «departureDate» — в них должны быть указаны даты в будущем:

Расселение гостей в номере
В результатах поиска возвращаются поля:
roomStays.fullPlacementsName;
roomStays.roomType.placements.
В placements перечислены не конкретные места, а типы условий для размещения гостей. В ответе видно, что два взрослых размещаются на основных местах, ребенок в возрасте 2 года на основном месте, а ребенок в возрасте 5 лет на дополнительном месте.

Дети могут размещаться на взрослых местах — это происходит, если нет специальных условий для размещения детей или нет свободных детских мест. В таких случаях дети размещаются по цене взрослого размещения.
Расшифровка дополнительного места
Расшифровки дополнительных мест нет. Поэтому нельзя узнать — диван это или, например, детская кроватка.
Блоки доступности номеров
В результатах поиска вариантов размещений доступность зависит от выбранного отельером блока доступности в каждом тарифном плане. Подробности читайте в статье «Как работать с разными блоками доступности номеров». Тарифы передаются в каналы продаж только по одному блоку доступности.
Правила отмены бронирований
В каналы продаж передаются правила отмены бронирований, настроенные в экстранете Exely. Сумма штрафа может быть разной в зависимости от даты отмены, если у средства размещения настроены различные условия отмены.
В результатах поиска возвращаются следующие поля:
roomStays.cancellationPolicy.freeCancellationPossible;
roomStays.cancellationPolicy.freeCancellationDeadline;
roomStays.cancellationPolicy.penaltyAmount.
В зависимости от полученных значений в полях правила отмены интерпретируются так.
Бронирование является невозвратным, при этом штраф за отмену на текущую дату составляет 100 (в последующие даты размер штрафа может быть другим), при получении следующих значений:
freeCancellationPossible = false;
freeCancellationDeadline = null;
penaltyAmount = 100.
Отмена бронирования бесплатна до 30.09.2025 12:00. После этого времени штраф за отмену составит 100 (в последующие даты размер штрафа может быть другим), при получении следующих значений:
freeCancellationPossible = true;
freeCancellationDeadline = 2025-09-30T12:00;
penaltyAmount = 100.
Штраф за отмену не взимается при отмене в любую дату, при получении следующих значений:
freeCancellationPossible = true;
freeCancellationDeadline = null;
penaltyAmount = null.
Статистика времени ответа на запросы
Поиск вариантов проживаний по конкретному средству размещения:
90 pt — 866 ms;
95 pt — 1050 ms.
Поиск вариантов проживания с минимальной ценой по всем доступным средствам размещения:
90 pt — 1111 ms;
95 pt — 1728 ms.