GlobalRent
Транспортные услуги
Черногория, Podgorica
Порталы и сервисы
Сентябрь 2024
Разработать сервис аренды транспорта с нуля совместно с клиентом, начиная с архитектуры и функционала, основываясь на уже существующих аналогичных сервисах. В дальнейшем на сайте можно будет арендовать не только автомобили, но и другие виды транспорта, такие как мотоциклы и яхты, по всему миру.
В рамках проекта мы:
— проработали архитектуру сервиса и выбрали технологический стэк, выделили микросервисы
— сделали прототип и дизайн всего сервиса, разработали логотип
— утвердили функциональные блоки сайта, сформировали пользовательские сценарии для клиента и партнёра
— проработали функционал клиентской части: главную страницу, каталог, личный кабинет, бронирование и оплату
— проработали функционал партнёрской части: настройки, календарь бронирования, заполнение данных об автомобилях, управление бронями и другие важные моменты, о которых расскажем подробнее дальше
Мы спроектировали базу данных, создали API и выбрали современный и быстрый стек технологий: backend создавался на Node.js, frontend реализован на React.
На начальных этапах работы наша команда много времени уделяла архитектуре проекта. Мы прорабатывали с техническим руководителем клиента схемы, которые описывали, как будет устроен сервис. На этом этапе мы определили технологический стек и выделили микросервисы, из которых будет состоять сайт.
Микросервисы взаимодействуют через API и представляют собой обособленные модули веб-приложения, каждый из которых отвечает за определенный функционал. Мы выделили следующие микросервисы:
— Авторизация и регистрация
— Каталог и управление услугами
— Бронирование
— Онлайн-оплата
— Модерация и публикация
— Уведомления
Мы разделили работу на этапы в соответствии с приоритетностью микросервисов и начали последовательно разрабатывать сайт.
Мы понимали, что если начать с разработки микросервиса авторизации, у нас не будет целостного представления о функционале проекта. Поэтому решили ввести предварительные этапы — прототипирование и дизайн всего сервиса. Это позволило ясно представлять конечный результат.
На этапе прототипа мы утвердили перечень функциональных блоков сайта. Сформировали пользовательские сценарии для двух ролей: клиента и партнёра. Клиент имеет доступ к каталогу, а партнёр — к личному кабинету, где может управлять автомобилями. Но партнёр также может быть в роли клиента для других партнёров и оставлять заявки на аренду транспорта.
Дизайн включал мобильную версию и UI-кит с компонентами для всех страниц. Согласовывали с клиентом каждую страницу и блок, чтобы убедиться, что сайт будет удобным и интуитивно понятным. На этом этапе заказчики активно участвовали в обсуждении, делились своими идеями и с готовностью принимали наши предложения. Благодаря этому после утверждения прототипа и логотипа дизайн был принят без правок. В дальнейшем доработки касались только функционала, а визуальная часть проекта полностью соответствовала ожиданиям.
Так как GlobalRent — это стартап и компания формировалась в момент разработки сервиса, отдельной работой стало создание логотипа. Мы ориентировались на современные тренды в дизайне — упрощение форм и использование геометрических фигур. Клиент поддержал нашу идею объединить простоту визуальных решений с глубоким смыслом, отражающим суть сервиса. Логотип и фирменные цвета интегрируются в дизайн сайта и общую айдентику компании.
Когда клиент заходит на главную страницу, он сразу же видит блок поиска. В этом блоке отображаются параметры поиска автомобиля: место получения, дата получения, место возврата и дата возврата. Эти параметры уже предзаполнены для удобства пользователя. В дополнение к ним клиент может использовать фильтры, такие как тип кузова и коробка передач.
После заполнения необходимых данных клиент переходит к каталогу автомобилей, где видит результаты поиска. В каталоге можно отфильтровать автомобили по марке или модели, а также сортировать их по цене, популярности или новизне. Клиент может переключать валюту — доступны основные валюты, евро и доллар, а также валюты страны, в которой клиент собирается арендовать автомобиль, что удобно для расчётов. Можно поменять язык с английского на язык той страны, в которой клиент арендует автомобиль, и наоборот.
При выборе автомобиля клиент попадает на первый шаг бронирования, где отображается основная информация о машине: условия аренды, фотографии, характеристики, страховка и дополнительные опции. В условиях аренды может указываться минимальное количество дней брони, максимальный пробег машины, стоимость за дополнительный километр пробега, минимальный возраст арендатора. Опции бывают как бесплатные, так и платные — это определяется партнёром.
Справа на экране расположен блок, где клиент видит полную стоимость бронирования, количество дней, выбранные опции, итоговую сумму к оплате. Клиент оплачивает онлайн только комиссию сервиса, которая заложена в стоимость самой аренды, в страховки и опции, а остальную сумму выплачивает партнёру при встрече.
На втором шаге бронирования клиент вводит дополнительную информацию: адрес места получения, место возврата и время доставки. Интересный момент в том, что если клиент изменяет срок аренды на большее количество дней, чем было изначально задано, например, больше трёх дней, система автоматически добавляет дополнительный день и предупреждает об этом. Если же количество дней меньше, бронирование возвращается к изначально установленному количеству.
Клиент также вводит личные данные. Если он зарегистрирован, информация заполняется автоматически, что упрощает оформление. Новый пользователь может быстро зарегистрироваться, добавив номер телефона и выбрав предпочитаемый способ связи.
Затем клиент переходит к шагу оплаты, которая производится через зарубежные сервисы оплаты PayPal или Stripe. После завершения всех этапов бронирования клиент попадает на страницу с итогами, где можно скачать ваучер.
Личный кабинет клиента включает две страницы: информацию о клиенте и список заявок. На первой странице клиент может добавить фотографию и обновить свои данные. На странице заявок отображаются все заказы клиента, и их можно отфильтровать. На каждый из них можно скачать ваучер, а также связаться со службой поддержки.
Клиент может повторить заказ и арендовать тот же автомобиль. При этом система автоматически подставляет ID автомобиля в каталог, и если он доступен, выводит его первым. Если же он недоступен, отображаются аналогичные автомобили.
Личный кабинет партнёра максимально удобен и функционален для управления автопарком и бронированиями.
На главной странице партнёр сразу видит календарь, который наглядно отображает все бронирования его автомобилей. Здесь можно быстро определить, какие машины доступны, а какие — на ремонте или уже забронированы клиентами. Удобные фильтры помогают быстро находить нужные брони, что особенно полезно для управления большим автопарком.
В брони можно посмотреть детали, распечатать ваучер или добавить заметки для отслеживания договорённостей с клиентом. Партнёр также может сам создавать бронирования, выбирая нужные даты и заполняя данные клиентов.
Для удобства добавлен режим редактирования, который позволяет перемещать брони между машинами. Это особенно полезно, когда нужно срочно перераспределить транспортные средства.
Когда партнёр заходит в личный кабинет впервые, у него ещё нет добавленных автомобилей и броней. Перед тем, как добавлять транспортное средство, важно заполнить основные настройки.
Партнёр может настроить рабочие часы, добавить возможность аренды в нерабочие дни за дополнительную плату и задать интервал между бронированиями для подготовки машины. Также можно настроить праздничные дни, когда автомобили не будут доступны для аренды, и выбрать удобные способы оплаты и варианты удержания депозитов.
Мы разработали гибкую систему, с помощью которой партнёр настраивает цены на аренду по срокам — от одного дня до месяца, и задаёт расценки для каждого сезона. В пиковое время аренда дороже, в низкий сезон — дешевле. Эта информация сразу видна в каталоге, что упрощает расчёты для клиентов.
Для доставки партнёр выбирает города из готового списка, настраивает стоимость доставки и возврата. Партнёр может задать любое количество дней для каждого города, чтобы от заданного количества дней и более доставка в этот город была бесплатной.
Также партнёр может предлагать дополнительные услуги и оборудование из справочника, указывая минимальные и максимальные цены в зависимости от длительности аренды. Услуги можно привязывать к конкретным автомобилям, чтобы клиенты выбирали нужные опции прямо при бронировании.
Партнёр может быстро заполнить данные об автомобиле по VIN-номеру: заводскому номеру, в который зашита информация об автомобиле. Он может ввести VIN вручную или загрузить фото техпаспорта, с которого VIN считывается автоматически. Далее VIN отправляется в сервис декодирования и партнёр получает большую часть информации об автомобиле, вплоть до мельчайших деталей: от типа кузова и коробки передач до года выпуска и количества дверей. Это ускоряет заполнение информации о машине. При заполнении информации об автомобиле партнёр сразу же видит, как будет выглядеть карточка в каталоге.
В блоке «Цена и условия» в верхней части экрана отображаются дни, которые были заранее заданы на странице настроек. Здесь партнёр задаёт стоимость аренды для каждого временного интервала и сезона. Эти параметры автоматически учитываются при отображении информации в каталоге, в форме наглядных расчётов, которые видит клиент.
Один из важных блоков — гибкие настройки минимального срока аренды и условий, таких как возраст водителя, стаж, суточный лимит пробега и дополнительная стоимость за превышение этого лимита.
Партнёр сразу привязывает к автомобилю нужные опции. Если что-то упущено, можно вернуться на страницу «Оборудование и услуги», что облегчает корректировку предложений для каждого автомобиля. Чем больше характеристик указано, тем более полное представление получит клиент. Партнёр также загружает фотографии и техпаспорт, доступный только администратору.
Партнёр может настроить депозит и указать сумму франшизы, которая будет видна клиенту. Также можно установить обязательные страховки, которые автоматически применяются к карточке автомобиля.
Если заполнение ещё не завершено, автомобиль сохраняется как черновик. Когда вся информация добавлена, автомобиль отправляют на модерацию. После одобрения администратором машина становится видна в каталоге, а до этого помечается как «на модерации».
Партнёр может в любой момент редактировать информацию об автомобиле, менять тарифы или отключать услуги. Партнёр также может удалять транспортные средства и обновлять уже внесённую информацию. Изменения не будут влиять на уже созданные клиентские брони — они применяются только к новым.
При бронировании клиентом партнёр получает доступ к управлению бронью: он может согласовать изменение даты и времени получения или возврата машины. Мы предусмотрели, что цена, установленная при бронировании, остаётся фиксированной, но партнёр может добавить дополнительные услуги, если это понадобится, или учитывать частичную оплату.
В личном кабинете партнёр видит все заявки на автомобили. Мы добавили фильтры по статусам — активные, завершённые, отменённые — а также по времени и другим параметрам. Историю заявок можно легко экспортировать в Excel для дальнейшего анализа.
Партнёр видит данные о каждом клиенте и его бронированиях в специальном разделе, и может оставлять комментарии и добавлять информацию о документах, например, данные о водительском удостоверении или паспортные данные. Информация централизована, что упрощает дальнейшую работу.
Этот блок предоставляет партнёрам полную финансовую картину, помогая лучше управлять бизнесом. На странице — виджеты с показателями: сумма бронирований, разбивка по типам, включая личные и клиентские брони, а также количество и суммы по каждому из них. Мы предусмотрели фильтры по статусу и типу бронирования, позволяя мгновенно пересчитывать и обновлять данные.
Ниже расположена таблица с детализированной историей заказов, где указаны дата, сумма и разбивка по аренде, услугам, страховке и доставке. Для заказов, связанных с ремонтом, выводится стоимость с отметкой в минус, отражающей расходы партнёра.
Данные можно экспортировать в Excel для детального анализа. Также можно фильтровать по времени, что позволяет выбрать нужный период и экспортировать только необходимые данные.
Мы разработали полноценный и многофункциональный сервис аренды транспорта, начиная с архитектуры и заканчивая функциональными возможностями для клиентов и партнёров. Каждый аспект был тщательно продуман, чтобы упростить взаимодействие пользователей с системой — и для клиентов, выбирающих автомобили, и для партнёров, управляющих своим автопарком.
В течение всего процесса разработки мы поддерживали тесное взаимодействие с техническим лидером проекта со стороны заказчика. Каждый этап сопровождался совместным согласованием ключевых аспектов, таких как утверждение технических заданий, определение подхода к разработке и развертыванию, а также выбор сторонних сервисов для интеграции и других решений. В ряде случаев техлид самостоятельно вносил изменения в код, дополняя функционал и оптимизируя проектные решения параллельно с нашей работой. Проект гибко адаптировался к новым задачам и изменяющимся потребностям по мере их возникновения.
В результате, GlobalRent — это надёжный и гибкий сервис, способный удовлетворить потребности как клиентов, так и арендодателей, обеспечивая простоту и эффективность управления арендой транспорта.
![]()
Витовцев Владислав
Техдиректор
С командой «Инфинити» мы разработали сервис для аренды транспорта по всему миру. Сайт полностью соответствует нашим ожиданиям: яркий, функциональный и продуманный до мелочей. В процессе работы все наши запросы обсуждались и учитывались, всегда находились оптимальные решения. В итоге мы получили надежный инструмент, который удобен как для клиентов, так и для партнёров. Результатом довольны и продолжаем сотрудничество в рамках гарантийной поддержки, а также планируем дальнейшее развитие проекта.