6 800 000
Туризм и отдых
Россия, Москва
Декабрь 2024
Цель проекта: Создать высоконагруженный и масштабируемый сервис бронирования отелей с функциональностью автодополнения по локациям, автоматической выгрузкой конкурентных цен и гибкой интеграцией с внешними провайдерами для улучшения пользовательского опыта и повышения конверсии.
Проблема клиента: МТС Travel стремилась создать платформу для бронирования отелей, которая бы обеспечивала высокую скорость и удобство работы для конечного пользователя, включая поиск, автодополнение, а также отображение конкурентных цен. Основными вызовами были:
- Реализовать автодополнение для быстрого поиска отелей и локаций, предлагающее наиболее популярные и предпочтительные варианты.
- Обеспечить функциональность конкурентного ценообразования, которая позволила бы отслеживать изменения цен по отелям и выводить пользователям отметку о наличии более выгодного предложения.
- Упростить добавление и настройку интеграций с внешними провайдерами отелей для обновления информации и гибкой настройки предложения.
Проект был направлен на решение следующих задач:
- Спроектировать и разработать сервис автодополнения (Suggester), который предоставлял бы пользователям предпочтительные варианты для поиска локаций и отелей.
- Создать сервис для асинхронного подтягивания и хранения конкурентных данных по ценам на отели (competitors-pricing), чтобы предлагать пользователям лучшие цены в сравнении с конкурентами.
- Оптимизировать алгоритм поиска и сортировки отелей с учетом предпочтений и ранжирования, что увеличило бы конверсию и упростило процесс бронирования.
- Настроить архитектуру и подходы для интеграции с различными провайдерами отелей, обеспечивая гибкость и легкость в поддержке новой функциональности.
Этапы реализации проекта
Анализ и планирование: Определение требований и потребностей, создание архитектуры и формирование списка задач.
Разработка и тестирование: Реализация модулей Suggester и competitors-pricing, оптимизация поискового движка, интеграция с провайдерами и настройка тестирования всех компонентов.
Запуск и поддержка: Внедрение системы, настройка мониторинга метрик и поддержка для оперативного решения вопросов и улучшений.
Сервис Suggester был реализован для предоставления пользователям наиболее предпочтительных и актуальных вариантов локаций и отелей. Для поиска и оптимизации скорости обработки запросов была выбрана база данных ElasticSearch, обеспечивающая быструю и релевантную выдачу.
Были разработаны контракты и архитектура сервиса, что упростило взаимодействие между компонентами и позволило быстро масштабировать функциональность по мере увеличения числа пользователей.
Реализованы метрики как для отслеживания производительности, так и для бизнес-метрик автодополнения, которые позволяли анализировать популярные запросы и корректировать выдачу.
Сервис был спроектирован для асинхронного сбора данных по ценам от конкурентов: данные поступали через Kafka, сохранялись в MongoDB и могли быть доступны для других сервисов платформы.
В сервисе поиска реализован запрос в competitors-pricing, который передает на фронтенд информацию для отображения шильдика "У нас дешевле", информируя пользователей о выгодных предложениях.
Были добавлены метрики для отслеживания цен от каждого провайдера, что позволило оперативно реагировать на изменения в конкурентной среде и корректировать цены для повышения конкурентоспособности.
Для улучшения релевантности результатов в поисковой выдаче был доработан алгоритм ранжирования отелей: были реализованы дополнительные фильтры и сортировка по принципу рекомендованных вариантов.
Была разработана система интеграции с S3, позволяющая выгружать файлы с тарифами и использовать их при расчётах рейтингов отелей.
Интеграции с внешними провайдерами отелей были реализованы по новой архитектуре, что позволило безболезненно добавлять новых провайдеров и легко обновлять существующие.
Ускорение поиска и удобство автодополнения: Реализация Suggester с ElasticSearch улучшила релевантность и скорость поиска, повышая удобство для пользователей и сокращая время на оформление бронирований.
Повышение конкурентоспособности: Функциональность отображения конкурентных цен позволила пользователям видеть предложения с меткой "У нас дешевле", что привлекло дополнительный трафик и увеличило конверсию.
Упрощение интеграций с провайдерами: Гибкая архитектура позволила легко добавлять новых провайдеров, минимизируя время на настройку и ускоряя выход новых предложений на рынок.
![]()
Максим Яблоков
Генеральный директор (CEO)
Сервис бронирования отелей для МТС Travel стал одним из удобных и гибких инструментов для пользователей, предоставляя функционал конкурентного ценообразования и ускоряя процесс поиска. Проект получил положительные отзывы за качество и продуманность архитектуры, позволившего МТС Travel предоставлять сервис с высокой скоростью и эффективностью.