5 000 000
Туризм и отдых
Март 2023
Улучшить юзабилити сервиса бронирования загородных площадок для двух аудиторий — гостей и владельцев объектов.
Ключевые направления работы:
- Обновить верстку и интерфейсы сервиса, расширить базовый функционал.
- Провести рефакторинг legacy-кода и оптимизировать скорость работы сайта.
- Разработать интеллектуальную систему подбора номеров.
- Создать встраиваемый, кастомизируемый виджет бронирования для сторонних сайтов-партнеров.
Специалисты MediaTen вошли в действующую команду проекта в формате аутстаффинга, включившись в ежедневный цикл разработки и планерки.
за время работы над проектом команда MediaTen:
Привела код к стандартам PSR и внедрила паттерн Action-based (одно действие = отдельный класс), что значительно упростило отладку и развитие сервиса.
Снизила жесткую связность (Low Coupling): переработала архитектуру так, чтобы минимизировать зависимость бизнес-логики от конкретной версии фреймворка для бесшовного обновления стека в будущем.
Провела поэтапный переезд: перевела ключевые страницы и функциональность сервиса на новый технологический стек.
Центральной технической задачей стал алгоритм подбора и распределения номеров под запрос пользователя. Чтобы предложить оптимальный вариант, система учитывает десяток параметров: доступность, число гостей, возраст детей, конфигурацию спальных мест и правила конкретного отеля.
Как работает алгоритм подбора:
Комбинаторный распределитель: в основу алгоритма легла классическая математическая «задача о рюкзаке». Для семьи «2 взрослых + 2 ребенка» система автоматически предложит вариант с 1 двуспальной и 2 односпальными кроватями (либо подберет номер с возможностью установки доп. места).
Гибкий расчет стоимости: итоговая цена зависит не только от числа человек, но и от их возраста. Правила расчета детских тарифов и возрастные цензы отельеры гибко настраивают в админке.
Доп. услуги и кросс-сейл: после выбора номера пользователю предлагаются релевантные услуги (баня, питание, экскурсии, прокат инвентаря), которыми владельцы площадок управляют через личный кабинет.
Безопасная онлайн-оплата: внедрен эквайринг с холдированием депозита. Пользователю дается 60 минут на внесение 50% предоплаты, после чего система бронирует номер и отправляет подтверждение на контактные данные.
Для расширения каналов продаж партнеров мы разработали встраиваемый модуль бронирования. Он реализован как отдельное SPA-приложение на Vue.js, взаимодействующее с основной платформой через REST API.
Преимущества виджета для партнеров:
Кастомизация без кода: в личном кабинете владелец площадки настраивает цветовую гамму и выбирает нужные блоки под стиль своего бренда.
Простая интеграция: система генерирует готовый HTML-код, который вставляется на любой сторонний сайт или платформу за пару минут.
В результате сервис получил обновлённый интерфейс и более гибкую техническую основу для дальнейшего развития.
Пользователи могут быстрее находить подходящие варианты размещения благодаря автоматическому подбору номеров с учётом состава гостей, возраста детей и дополнительных условий. Владельцы площадок получили инструменты для самостоятельного управления услугами и возможность подключать виджет бронирования на собственные сайты.
Отдельный виджет с REST API позволил использовать единый механизм бронирования как внутри сервиса, так и на сторонних ресурсах, сохраняя фирменное оформление каждого партнёра.