Workspace Digital Awards — приём заявок открыт! Успейте номинироваться по самой низкой цене. Повышение цен с 1 октября.
MediaTen
Сервис бронирования мест для загородного отдыха
MediaTen
#Поддержка и развитие сайта#Программирование сайта

Сервис бронирования мест для загородного отдыха

516 
MediaTen Россия, Екатеринбург
Поделиться: 0 0 0
Сервис бронирования мест для загородного отдыха
Бюджет

5 000 000

Сфера

Туризм и отдых

Сдано

Март 2023

Задача

Улучшить юзабилити сервиса бронирования загородных площадок для двух аудиторий — гостей и владельцев объектов.

Ключевые направления работы:

- Обновить верстку и интерфейсы сервиса, расширить базовый функционал.

- Провести рефакторинг legacy-кода и оптимизировать скорость работы сайта.

- Разработать интеллектуальную систему подбора номеров.

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

Решение

1. Усиление команды и архитектурная пересборка

Специалисты MediaTen вошли в действующую команду проекта в формате аутстаффинга, включившись в ежедневный цикл разработки и планерки.

за время работы над проектом команда MediaTen:

  • Привела код к стандартам PSR и внедрила паттерн Action-based (одно действие = отдельный класс), что значительно упростило отладку и развитие сервиса.

  • Снизила жесткую связность (Low Coupling): переработала архитектуру так, чтобы минимизировать зависимость бизнес-логики от конкретной версии фреймворка для бесшовного обновления стека в будущем.

  • Провела поэтапный переезд: перевела ключевые страницы и функциональность сервиса на новый технологический стек.

2. Умная система рекомендаций на основе «Задачи о рюкзаке»

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

Как работает алгоритм подбора:

  • Комбинаторный распределитель: в основу алгоритма легла классическая математическая «задача о рюкзаке». Для семьи «2 взрослых + 2 ребенка» система автоматически предложит вариант с 1 двуспальной и 2 односпальными кроватями (либо подберет номер с возможностью установки доп. места).

  • Гибкий расчет стоимости: итоговая цена зависит не только от числа человек, но и от их возраста. Правила расчета детских тарифов и возрастные цензы отельеры гибко настраивают в админке.

  • Доп. услуги и кросс-сейл: после выбора номера пользователю предлагаются релевантные услуги (баня, питание, экскурсии, прокат инвентаря), которыми владельцы площадок управляют через личный кабинет.

  • Безопасная онлайн-оплата: внедрен эквайринг с холдированием депозита. Пользователю дается 60 минут на внесение 50% предоплаты, после чего система бронирует номер и отправляет подтверждение на контактные данные.

3. Автономный Vue.js-виджет для сторонних сайтов

Для расширения каналов продаж партнеров мы разработали встраиваемый модуль бронирования. Он реализован как отдельное SPA-приложение на Vue.js, взаимодействующее с основной платформой через REST API.

Преимущества виджета для партнеров:

  1. Кастомизация без кода: в личном кабинете владелец площадки настраивает цветовую гамму и выбирает нужные блоки под стиль своего бренда.

  2. Простая интеграция: система генерирует готовый HTML-код, который вставляется на любой сторонний сайт или платформу за пару минут.

Результат

В результате сервис получил обновлённый интерфейс и более гибкую техническую основу для дальнейшего развития.

Пользователи могут быстрее находить подходящие варианты размещения благодаря автоматическому подбору номеров с учётом состава гостей, возраста детей и дополнительных условий. Владельцы площадок получили инструменты для самостоятельного управления услугами и возможность подключать виджет бронирования на собственные сайты.

Отдельный виджет с REST API позволил использовать единый механизм бронирования как внутри сервиса, так и на сторонних ресурсах, сохраняя фирменное оформление каждого партнёра.

https://mediaten.ru/cases/countryside-venus-booking-service

Стек технологий

  • JavaScript JavaScript Язык программирования
  • PHP PHP Язык программирования
  • Yii2 Yii2 Фреймворк/библиотека
  • Vue.js Vue.js Фреймворк/библиотека
  • MongoDB MongoDB База данных
  • MySql MySql База данных
  • Docker Docker Среда разработки

Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

MediaTen с удовольствием обсудит вашу задачу

Оставить заявку