Сотрудник агентства держит клиента на линии, запускает поиск по Анталье и видит в списке один и тот же отель трижды. В первой записи название набрано заглавными и сокращено, фотографии нет. Во второй название полное, снимки на месте, но цена выше. В третьей пустое поле адреса — зато именно у неё самый богатый перечень удобств. Сначала сотрудник разбирается, действительно ли это один и тот же отель, и только потом вручную сравнивает цены. Это время не продажа, а подготовка к продаже, и клиент всё это время ждёт на другом конце линии.
В diji.tech мы запустили на отельной стороне новую возможность: сопоставление отелей и номеров (mapping). Она состоит из пяти частей — сопоставление отелей, сопоставление типов номеров, сведение удобств отеля к общему словарю, поиск отелей с разбивкой по районам и регионам и сбор фотографий отелей и номеров в один пул. Ниже разбираем, какую операционную боль закрывает каждая часть, как результат выглядит на экране, что стоит проверить в день запуска и чем измерять качество. В конце — список того, чего эта возможность не делает.
Один отель, разные записи: четыре проблемы, которые мы закрыли
В любой системе, подключённой к нескольким отельным поставщикам, повторяются одни и те же четыре проблемы. Сопоставление бьёт по всем четырём сразу.
- Дубли в выдаче. Один и тот же отель приходит отдельной записью от каждого подключённого поставщика. Если источников пять, в списке будет пять строк. Прежде чем что-то сравнивать, сотрудник вынужден вручную разобрать, какие строки относятся к одному и тому же объекту.
- Хаос в названиях номеров. Один и тот же тип номера в одном источнике записан как
Standard Double, в другом —DBL STD, в третьем — «Стандартный двухместный». Сотруднику кажется, что он сравнивает два предложения по одному номеру, а на деле он может сравнивать два разных номера. - Пустая выдача фильтров. Вы отмечаете «есть парковка» — и число результатов падает сильнее, чем ожидалось. Причина не в том, что парковки нет: один источник пишет это удобство как
Car Park, другой — «Парковка», третий —Parking, а фильтр не считает их одним и тем же. - Непродаваемый источник с бедным контентом. У части поставщиков цена отличная, но в записи нет ни фотографии, ни адреса. По карточке без фото не кликают: предложение с лучшей себестоимостью так и остаётся в списке непроданным — только из-за слабого контента.
Все четыре растут из одного корня: записи из разных источников не переведены на общий язык. Сопоставление занимается ровно этим переводом.
Единый идентификатор отеля: три записи сводятся к одной карточке
Ядро сопоставления — единый идентификатор отеля. Код отеля каждого поставщика привязывается к общему идентификатору, и результаты поиска дедуплицируются уже по нему, а не по коду источника. Для общего идентификатора и курируемого отельного контента мы используем каталог Vervotech; этот источник указан и в списке интеграций на наших страницах продуктов.
Три записи одного отеля привязываются к общему идентификатору; решение по цене и решение по контенту принимаются раздельно.
Момент, который чаще всего упускают и о котором больше всего спрашивают: слияние — это не одно решение, а два.
- Решение по цене. Из нескольких предложений по одному отелю сторону продажи выигрывает самое выгодное по стоимости. Сотруднику не нужно искать, какой источник дешевле: цена карточки уже и есть дешёвая.
- Решение по контенту. Пустые поля выигравшего предложения — название отеля, адрес, фотография — дополняются из других источников. То есть карточка выглядит заполненной, даже если победившая по цене запись сама по себе бедна контентом.
Практический смысл этого разделения такой: слабый контент у поставщика с лучшей себестоимостью больше не является препятствием для продажи. Отель становится продаваемым — с названием, фотографией и адресом, — а ценовое преимущество остаётся у вас.
И здесь же предупреждение: сопоставление ведётся централизованно. Карточка отеля, само сопоставление и таксономия удобств — это не экран внутри панели агентства. На стороне агентства меняется результат поиска: дедуплицированный, дополненный по контенту и пригодный для фильтрации список.
Сопоставление типов номеров и общий язык питания
Даже когда отель схлопнулся в одну карточку, работа не закончена: настоящее сравнение происходит на уровне номера. Сопоставление типов номеров связывает по-разному записанные названия номеров разных поставщиков с одним и тем же типом. Только после этого «два предложения по одному отелю» действительно означает «два предложения по одному номеру».
Второй общий язык — питание. При сравнении двух предложений это самое решающее поле после цены, и поставщики пишут его крайне по-разному. Поэтому мы свели типы питания к шести каноническим кодам.
| Код | Значение | Как это пишут в текстах поставщиков (примеры) |
|---|---|---|
| RO | Только номер | «Room Only», «Только проживание», «No meal» |
| BB | Номер и завтрак | «Bed & Breakfast», «Завтрак включён» |
| HB | Полупансион | «Half Board», «Полупансион» |
| FB | Полный пансион | «Full Board», «Полный пансион» |
| AI | Всё включено | «All Inclusive», «Всё включено» |
| UAI | Ультра всё включено | «Ultra All Inclusive», «Ультра всё включено» |
Правило принятия решения простое: два предложения сопоставимы по цене только тогда, когда у них совпадают и тип номера, и код питания. Разница между предложениями с разным питанием — это не скидка, а разница в объёме включённого.

Экран выбора номера: слева перечислены типы номеров, справа выводятся собственная фотография выбранного номера и условия отмены, а вариант питания показан вместе с разницей в цене.
Удобства отеля: общий словарь, который заставляет фильтр работать
Удобства отеля — самый востребованный и самый легко ломающийся фильтр. Без общего словаря фильтр технически работает, а по сути нет: результат возвращается, но неполный. Источники, записавшие то же самое удобство иначе, остаются за пределами выборки, и пользователь делает вывод, что «на этом сайте мало отелей с парковкой».
Вместе с сопоставлением удобства отеля нормализуются в централизованном словаре; концепция и тематика объекта обогащаются тем же способом. Результат становится виден в двух местах:
- В фильтрах поиска выбор удобства или темы теперь захватывает один и тот же набор записей независимо от источника.
- В карточке отеля часть удобств выводится текстом, остальные показаны счётчиком. Если вы видите на карточке счётчик вроде «+43 удобства», это число относящихся к объекту позиций: пользователь примерно оценивает наполненность отеля, не открывая карточку.
Разбивка по районам и регионам: название провинции — это не направление
«Анталья» — не направление, а название провинции. Когда клиент хочет остановиться в Ларе, а видит сотни результатов по всей провинции, продажа теряется самым тихим образом: никто не получает сообщения об ошибке, никто не жалуется, поиск просто бросают.
Подсказка адреса теперь понимает четыре типа ввода: регион, округ, псевдоним аэропорта и название отеля. Пользователь, набравший «Лара», получает округ; набравший код аэропорта — его окрестности; набравший название отеля — сам объект. Фильтр Расположение рядом со списком результатов показывает разбивку по районам со счётчиками: сколько отелей в каком районе, видно без единого клика.

Экран результатов: слева оценка гостей и фильтр Расположение со счётчиками по районам, справа — карточки отелей с фотографией, категорией, счётчиком удобств и строкой номера и питания.
В той же левой колонке остаётся и функция ценового оповещения, о запуске которой мы рассказывали раньше. Вместе они дают возможность удержать ещё не определившегося пользователя в правильном районе и вернуть его при движении цены.
Фотографии отелей и номеров: один пул, взаимное дополнение
Фотография — единственное, что решает судьбу клика в списке отелей. Карточку без снимка пролистывают при любой цене. Вместе с сопоставлением фотографии тоже собираются в один пул и работают в двух направлениях:
- В отелях поставщиков: запись без фотографии подпитывается от записи того же отеля, у которой снимок есть. Карточка заполняется, и источник с ценовым преимуществом становится продаваемым.
- В ваших собственных контрактных отелях: карточка отеля состоит из шести вкладок, одна из которых — фотографии. Помимо галереи уровня отеля снимки хранятся и на уровне номера; фотография справа на приведённом выше экране выбора номера — это как раз снимок выбранного номера.
Практический итог: список вариантов, который вы отправляете клиенту, выглядит одинаково качественно вне зависимости от источника.
Чек-лист на запуске
Сопоставление работает в фоне, но в день запуска мы советуем проверить вручную несколько вещей.
- Снимите базовые показатели. По трём самым продаваемым направлениям выполните поиск и запишите, сколько раз один и тот же отель попадает в список и сколько карточек идут без фотографии. Задним числом эти цифры получить не удастся.
- Проверьте три самых используемых фильтра удобств. Сравните число результатов с включённым и выключенным фильтром.
- Сделайте два поиска по районам. Вместо названия провинции наберите округ или район и убедитесь, что результаты действительно относятся к этой территории.
- Откройте два предложения по одному отелю. Убедитесь, что тип номера и код питания читаются одинаково в обоих; если они различаются, сравнивать цены нельзя.
- Заполните вкладку фотографий по своим контрактным отелям. При пустой галерее отеля и отсутствующих снимках номеров ваш собственный отель проигрывает отелям поставщиков.
- Передайте команде набор кодов питания. Общее понимание RO, BB, HB, FB, AI и UAI в отделе продаж не даёт озвучить клиенту неверный объём включённого.
- Обновите привычку сравнения. Рефлекс «дешёвое я найду сам» больше не нужен: цена карточки и есть самое выгодное предложение.
Чем измерять качество сопоставления
Сопоставление — не та возможность, о которой говорят «включили, и стало лучше». Это работа над качеством, и её надо измерять. Четыре показателя ниже стоит снять на своей установке до запуска и после него. Референсных значений мы не публикуем: единственное осмысленное сравнение — это ваши собственные цифры до и после.
| Показатель | Как смотреть | Какое решение питает |
|---|---|---|
| Число дублирующих строк | Сколько раз один и тот же отель попадает в список по фиксированному направлению и датам | Действительно ли работает дедупликация |
| Доля карточек без фото или адреса | Доля карточек без снимка или адреса на первой странице результатов | Охват дополнения контента и то, какой источник остаётся слабым |
| Отклонение выдачи по фильтру удобств | Разница в числе результатов с фильтром и без него в одном и том же поиске | Прижился ли словарь удобств на этом направлении |
| Использование фильтра по районам | Доля сессий с использованием фильтра районов и их конверсия в бронирование | Вклад разбивки по районам в продажи и какие районы выводить вперёд |
Повторяйте измерения не разово, а на одном и том же направлении и на одном и том же диапазоне дат. Другие даты — другая доступность; когда доступность меняется, измерение теряет смысл.
Границы и примечания
Что эта возможность не делает, важно не меньше того, что она делает. Ниже — то, что находится за рамками.
- Управление сопоставлением не является экраном в панели агентства. Карточка отеля, типы номеров и таксономия удобств ведутся централизованно. Ручное вмешательство агентства в результат сопоставления в объём этого анонса не входит.
- Продажи дополнительных услуг к отельному бронированию нет. Разница, которую вы видите при выборе номера, — это вариант питания; её не следует путать с продажей дополнительных услуг на авиационной стороне.
- В ваших контрактных отелях загружаются только фотографии отеля и номеров. Загрузки и хранения файлов договоров нет.
- Интеграции с channel manager нет. Потока, который выталкивает цены и квоты вашего собственного инвентаря во внешний менеджер каналов или забирает их оттуда, не существует.
- Выгрузки отельного инвентаря во внешний XML/API нет.
- Модуля группового бронирования (блока номеров) на отельной стороне нет.
- Массовый список гостей или номеров нельзя импортировать из Excel или CSV.
- Автоматическое обновление статуса бронирования работает только у поставщиков, которые это поддерживают; обещания «автоматический контроль статуса у всех поставщиков» мы не даём.
- Дифференциации цены по гражданству гостя нет.
Сопоставление — это слой качества, который работает на записях, пересекающихся с исходным каталогом, и ни один подход к сопоставлению не бывает безупречным. Поэтому мы советуем регулярно отслеживать перечисленные выше показатели после запуска и сообщать нам о направлениях, где вы видите отклонения.
Часто задаваемые вопросы
Я продолжу видеть один объект дублями от пяти разных источников?
Нет. Код отеля каждого поставщика привязывается к общему идентификатору, и результат поиска дедуплицируется по этому идентификатору. На экране вы видите одну карточку; сколько источников дали предложение по этому объекту, система сравнивает за вас.
Если побеждает самое дешёвое предложение, фотография на карточке тоже от этого поставщика?
Не обязательно. Решение по цене и решение по контенту независимы друг от друга. В цене побеждает самое выгодное предложение, а пустые поля вроде названия отеля, адреса и фотографии дополняются из других источников. Цель — сделать продаваемым источник со слабым контентом, но хорошей ценой.
Как один и тот же тип номера у разных поставщиков считается одинаковым?
Сопоставление типов номеров связывает по-разному записанные названия номеров с одним и тем же типом. На стороне питания используется канонический набор кодов RO, BB, HB, FB, AI, UAI. Чтобы два предложения были сравнимы, совпадать должны и тип номера, и код питания.
Почему фильтр удобств раньше иногда давал неполный результат?
Потому что каждый поставщик пишет одно и то же удобство по-своему, а фильтр не считает эти написания одним и тем же. Когда удобства нормализованы в общем словаре, фильтр захватывает один и тот же набор записей независимо от того, из какого источника пришла запись.
Мои собственные контрактные отели попадают в этот поток?
Ваши контрактные отели выводятся в той же выдаче, что и отели поставщиков. Карточка отеля состоит из шести вкладок, одна из которых — фотографии; загрузив снимки отеля и номеров, вы добьётесь того, что ваш собственный отель выглядит не менее наполненным, чем отели поставщиков.
Сопоставлением управляю я?
Нет. Карточка отеля, сопоставление и таксономия удобств ведутся централизованно. На вашей стороне меняется результат поиска: дедуплицированный, дополненный по контенту и действительно пригодный для фильтрации список.
Что можно сделать сегодня
- Снимите базовые показатели. Выполните поиск по трём самым продаваемым направлениям и запишите сегодня, сколько раз повторяется один и тот же отель и сколько карточек идут без фотографии.
- Дозаполните вкладку фотографий по своим контрактным отелям. Составьте список объектов с неполной галереей отеля и отсутствующими снимками номеров и закройте его.
- Поделитесь набором кодов питания с отделом продаж. Команда, которая знает значения RO, BB, HB, FB, AI и UAI, не опишет клиенту неверный объём включённого.
Если вы продаёте отели через сеть субагентов, посмотрите, как ценовое правило и квоты соединяются с сопоставлением, на странице Система бронирования отелей для агентств. Если вы ведёте витрину для конечного потребителя, то как это же сопоставление отражается на опыте поиска и фильтрации, разобрано на странице ПО для бронирования отелей.