Туризм и отдых
Порталы и сервисы
Июнь 2026
К моменту старта проекта у бренда уже существовал сайт на Joomla с сервисами аренды автомобилей и трансферов, но эти продукты не были унифицированы, интеграции с поставщиками работали нестабильно, а архитектурные ограничения не позволяли масштабироваться. Единой системы личных кабинетов и избранного не было — каждый сервис существовал сам по себе.
Задача стояла не в точечной доработке отдельных функций, а в полном пересмотре архитектуры и подхода к разработке. Конкретные цели:
увеличить онлайн-продажи сразу по трём продуктам — отелям, автомобилям и трансферам;
создать единую платформу вместо набора разрозненных форм и интеграций;
повысить стабильность и скорость работы под нагрузкой, включая сезонные пиковые всплески;
дать пользователю полноценный личный кабинет с избранным и тематическими подборками;
заложить архитектуру, которая позволит быстро подключать новых поставщиков без переписывания клиентской части.
По сути, требовалось построить travel-экосистему с нуля поверх существующих внешних API поставщиков.

Проект переработали полностью — вместо точечной поддержки старой Joomla-системы спроектировали и внедрили новую архитектуру на базе Frapi, собственного API-слоя.
На клиентской части реализовали современный интерфейс: главную страницу с универсальным поисковым модулем на три вкладки (отели, автомобили, трансферы), страницы результатов с фильтрами, сортировкой и картой, детальные страницы объектов с галереей и отзывами, адаптивную вёрстку под все устройства. Отдельно собрали полноценный личный кабинет — рабочий стол с ближайшими поездками, раздел «Мои бронирования» с фильтром по типу, «Избранное», пользовательские подборки вроде «Летний отпуск» и редактирование профиля.

Ключевым решением стала многоуровневая архитектура: клиентская часть сайта работает только со своим API, не зная о поставщиках напрямую; уровень логики поиска, агрегации, кэша и фильтров передаёт запросы на слой API Rentaholiday на Frapi, который приводит данные разных поставщиков к единой модели; и уже этот слой обращается к внешним API отелей, автомобилей и трансферов. Благодаря этому подключение нового поставщика теперь не ломает клиентскую часть — достаточно написать адаптер на уровне API, а время интеграции сократилось с трёх-четырёх недель до трёх-пяти дней.
Сервис трансферов вывели из статуса «дополнительной опции» в полноценный продукт, а для поискового продвижения создали сотни посадочных страниц — городов для отелей, аэропортов для автомобилей с уточнениями («без депозита», «с автоматической коробкой»), маршрутов для трансферов. Процесс бронирования выстроили в четыре понятных шага: поиск → выбор объекта → оплата → подтверждение, с поддержкой разных сценариев подтверждения в зависимости от поставщика — мгновенного, по запросу или после обработки. Для администраторов сделали панель управления бронированиями, контентом, пользователями и SEO-текстами.
Отдельным сложным продуктом стали отели — целиком реализованные на серверной части Frapi: расчёт финальной цены, доступность номеров, фильтрация по звёздам, рейтингу, расстоянию и удобствам обрабатываются на своей стороне, при этом выдача достигает десятков тысяч объектов без задержек в пагинации.
Для устойчивости под нагрузкой внедрили многоуровневое кэширование, контроль параллельных запросов к внешним API, очередь обработки долгих запросов и отказоустойчивость — если один поставщик недоступен, показываются результаты от остальных. Отдельно решили задачи унификации данных десятков API с разными форматами цен и подтверждений, построили общую статусную модель бронирования, перенесли пользователей и историю броней из старой базы Joomla и внедрили механизм живой цены на этапе оплаты, чтобы избежать расхождений с поставщиками.

Конверсия в бронирование выросла примерно на 37% благодаря удобному поисковому модулю и личному кабинету. Выросли и повторные бронирования — пользователи возвращаются к сохранённому избранному и своим подборкам, а не ищут заново.
Новая архитектура выдержала проверку нагрузкой: при трафике около 50 тысяч посетителей в месяц и сезонных пиковых всплесках система стабильно отдаёт результаты в среднем за две секунды для отелей и полторы секунды для автомобилей и трансферов. Время подключения нового поставщика сократилось с трёх-четырёх недель до трёх-пяти дней — любое изменение внешнего API правится теперь в одном месте, а не в десятках разрозненных скриптов.
Отели, доступность которых поступает по внешним API, а расчёт цены и фильтрация обрабатываются на своей стороне, стали не отдельным продуктом, а частью единого аккаунта: пользователь бронирует отель, автомобиль и трансфер в одном профиле. Операции с бронями стали полностью прозрачными для клиента — отмена и изменение доступны прямо в личном кабинете.
За счёт сотен новых посадочных страниц (города, аэропорты, комбинации вроде «дешёвые отели в Барселоне») вырос и трафик из поисковых систем. В итоге бренд перестал быть просто сервисом аренды автомобилей и превратился в полноценную travel-платформу с отелями, автомобилями и трансферами под одним логином — с архитектурой, готовой к дальнейшему масштабированию.
