0%

Сервис бронирования мест

для загородного отдыха

ТуризмМаркетплейсFrontendBackend

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

Отрасль

Туризм

Дата

Апр. 2022 – Март 2023

Стоимость

> 5 млн. руб.

Услуги

Backend-разработка, UI/UX дизайн, Frontend-разработка, Аутстаффинг

Команда

3 разработчика

Технологии

PHP 7.4, Yii2, PHPStan, MySQL, JavaScript, Vue.js, JQuery, MongoDB, Git, Docker, Docker Compose

Сервис бронирования мест

О клиенте

Компания предоставляет платформу для размещения арендных загородных площадок с целью привлечения гостей. Дает доступ партнерам к управлению всеми этапами заказа через личные кабинеты пользователей.

Посетителям ресурс полезен в качестве каталога необычных локаций отдыха вблизи выбранного города.

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

Боль клиента - узкая специализация проекта и технические ограничения интерфейса замедляли масштабирование на федеральном уровне. Платформа не позволяла гибко управлять номерным фондом и продажами, что требовало полной смены UX/UI и модернизации функционала.

Задача

Улучшить удобство (юзабилити) сервиса как для пользователей, так и для владельцев площадок; обеспечить масштабирование бизнеса, исправив недостатки в интерфейсе и функционале платформы.

  • Полное обновление верстки сервиса с доработкой функционала.

  • Рефакторинг кода и оптимизация скорости работы сайта.

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

Решение

  • Команда обновила внешний вид сервиса и провела масштабный рефакторинг кода, приведя его к стандартам PSR.

  • Ключевой разработкой стал виджет бронирования номеров, реализованный на Vue.js как отдельное приложение, для которого создали современный REST API с возможностью кастомизации оформления.

  • Для системы рекомендаций номеров применили приемы комбинаторики и алгоритм, основанный на «задаче о рюкзаках», который позволил точно распределять места, учитывая количество взрослых и детей, их возраст, а также дополнительные услуги.

  • Был реализован функционал приема онлайн-платежей с 50% депозитом.

Ход работы

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

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

Нашей основной разработкой стал виджет бронирования номеров. 

Изображение

Выстраивание системы рекомендаций потребовало глубокого погружения в бизнес-процессы компании.

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

Изображение

Алгоритм распределения номеров создан на основе задачи о рюкзаках: уложили как можно больше главных критериев в ограниченное пространство. Приоритетность расположения в комнатах по спальным местам отталкивается от соотношения количества взрослых и детей.

Например, 2 взрослых и 2 ребенка – это 1 двуспальная и 2 односпальные кровати. В некоторых отелях есть возможность для пользователей сервиса внести дополнительную койку. Расчет стоимости сделан не только исходя от общего количества людей, но и с учетом возраста гостей. Настройка цены на детей и установка ограничений по годам осуществляются в административной части. 

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

Изображение

В системе реализован функционал приема онлайн платежей. После подбора номера пользователю дается 60 минут на внесение депозита в размере 50% от стоимости проживания. При успешном переводе средств придет подтверждение брони на указанные данные для связи.

Изображение

Сам виджет бронирования реализован на Vue как отдельное приложение. Для него был создан современный API в соответствии со спецификацией REST. Мы разработали его так, чтобы можно было не только внедрять в любой интернет-ресурс, но и кастомизировать ее оформление.

Например, если партнер хочет добавить виджет на свой сайт, то он:

  • заходит в личный кабинет,

  • выбирает цвет и компоненты модуля,

  • копирует получившийся HTML-код и встраивает в свою платформу. 

Изображение

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

Результаты

  • Создан интуитивно понятный интерфейс сайта с обновленным дизайном.

  • Разработан улучшенный функционал для гибкой и автоматизированной работы с партнерами и посетителями.

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

  • Разработан и внедрен кастомизируемый виджет бронирования.

IconХотите похожий результат?

Не откладывайте — сделаем бесплатный аудит проекта уже сегодня. Напишите нам — обсудим детали за чашкой кофе.

MediaTen — цифровые решенияMediaTen — креативный подход