Обсудить проект
poster

СЕРВИС БРОНИРОВАНИЯ МЕСТ ДЛЯ ЗАГОРОДНОГО ОТДЫХА

BackendPHPРазработкаПоддержка
22 сентября 2023

СРОК ВЫПОЛНЕНИЯ: апрель 2022 – март 2023

ШТАТ ПРОЕКТА (АУТСТАФФИНГ): 3 разработчика

ТЕХНОЛОГИИ: PHP 7.4, Yii2, PHPStan, MySQL, JavaScript, Vue.js, JQuery, MongoDB, Git, Docker, Docker Compose

СТОИМОСТЬ ПРОЕКТА: > 5 млн. руб.

КЛИЕНТ

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

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

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

БОЛЬ КЛИЕНТА

Когда твой бизнес имеет специфическое направление, то его очень сложно масштабировать. Команда захотела расширить охват рынка в РФ и проанализировала недостающие для этого критерии. Нашла недочеты в интерфейсе платформы и решила полностью сменить дизайн ресурса, а также доработать его функционал. С чем и обратилась в нашу IT-компанию. 

ЦЕЛЬ

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

ОСНОВНЫЕ ЗАДАЧИ

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

РЕШЕНИЯ

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

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

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

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

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


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

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

  • заходит в личный кабинет,
  • выбирает цвет и компоненты модуля,
  • копирует получившийся HTML-код и встраивает в свою платформу. 


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

РЕЗУЛЬТАТЫ

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

logo-background