RideTaxi: как создать мощное приложение для службы такси с нуля

Василий
Василий
IT Sales Manager
29.11.2024
3450
0

Классические службы такси давно переживают непростые времена, ведь вынуждены конкурировать с новыми сервисами каршеринга и райдхеллинга типа Uber. У бизнеса, который хочет сохранить свое место на рынке, есть только один путь – самому превратиться в “Убер”. Современная служба такси не просто нуждается в удобном онлайн-сервисе: ей нужна глубокая автоматизация процессов и мощные возможности аналитики для конкуренции с сервисами нового поколения.

Обсудить проект
Заполните личные данные.
Phone
Нажимая на кнопку “Отправить”, вы даете согласие на обработку личных данных. Подробнее
Шаг 1 из 2

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

Проблема клиента 

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

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

В целом клиент нуждался в диджитал-решении для решения ряда задач:

  • Автоматизация метчинга и роутинга заказов с помощью гибких алгоритмов;

  • Снижение нагрузки на диспетчерскую службу, сокращение расходов на колл-центр и телефонию;

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

  • Минимизация рисков человеческого фактора и конфликтов благодаря системе отзывов и рейтингов водителей/пассажиров;

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

  • Оптимизация использования автопарка и рабочего времени водителей с помощью алгоритмов построения маршрутов и формирования цепочек заказов; 

  • Эффективный сбор статистики каждого водителя и налаживание сквозной аналитики для мониторинга общей производительности компании и формирования данных для оптимизации процессов.

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

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

Задачи разработки

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

  • Построение системы управления для службы такси;

  • Разработка мобильных приложений для пассажиров и водителей;

  • Реализация административной панели для администраторов системы;

  • Настройка интеграции в систему внешних продуктов и сервисов.

Для решения этих комплексных задач разработчики сформировали достаточно широкий стек технологий.

  • Основой для бэкенда выступили среда разработки Node.js и фреймворк Spring, который базируется на Java EE; 

  • База данных в системе реализована с помощью PostgreSQL;

  • Для реализации админпанели на фронтенде были выбраны библиотеки ReactJS и Ant.Design;

  • Мобильные приложения команда решила писать нативно, на Kotlin (под Android), и на Swift (под iOS);

  • Базой для сетевой инфраструктуры системы стали облачные решения Amazon Web Services (AWS);

  • Система также получила несколько важных интеграций: Google Maps и OpenStreetMaps – для картографии, WayforPay – для онлайн-платежей и еще ряд сервисов.

Как мы построили разработку

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

Предварительная аналитика и планирование

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

Окончательное согласование состава решения продукта, с которым оно было запланировано до запуска, было обосновано перед заказчиком с использованием методологии RICE. Она учитывает охват пользователей, влияние на достижение целевых показателей и конверсий, обоснование необходимой реализации и необходимые для нее затраты. К примеру, функцию оплаты поездок криптовалютой команда разработки определила нецелесообразной для первого релиза. Эту идею отложили на будущее. В то же время, ночной режим экрана для водителя – наоборот, был внесен в приоритетный функционал. Методы RICE позволили составить для продукта перечень действительно востребованных функций, обеспечивших проекту понятный ROI.

Проектирование

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

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

Работа над алгоритмами

На этом этапе команда начала глубоко прорабатывать ключевой функционал продукта, такой как алгоритмы прибыльности. В качестве наиболее интересных можем отметить следующие: 

  • Просчет в смене водителя доли времени, посвященного непосредственно перевозке пассажиров. Это так называемое время "чистого" заработка. Когда водитель ждет заказа, едет к клиенту или ожидает его, его рабочее время тратится неэффективно. Задача платформы заключалась в том, чтобы минимизировать простой;

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

  • Формирование "цепочки заказов", которое не позволяет машинам простаивать. Платформа должна была искать для водителя следующий релевантный заказ уже в тот момент, когда он еще не завершил предыдущую поездку с пассажиром. При этом алгоритм метчинга должен учитывать не только линейное расстояние от места посадки до автомобиля, но и его доступность с точки зрения дорожного движения. Машина может находиться фактически в 100 метрах от нового пассажира, но быть отделенной от него физическими препятствиями, улицами с односторонним движением, плотным трафиком и т.д. В то же время машина, находящаяся в 500 метрах, но на той же улице, закроет заказ гораздо быстрее; 

  • Близкой к этому пункту задачей стала также реализация в приложении водителя офлайн-таксометра. Этот функционал сделал возможным расчет стоимости поездки в зонах неустойчивого интернет-соединения;

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

Дизайн 

Параллельно с предварительным техническим проектированием команда дизайнеров работала над решениями UI. Специалисты призваны определить ключевые аспекты и визуальные решения для проекта. Эта работа должна соответствовать общим правилам и трендам дизайна. В частности, мобильные приложения должны отвечать требованиям Material Design (Google) и Human Interface Guidelines (Apple). 

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

Технический этап разработки

Когда проект имеет четкие решения, документацию и согласованный дизайн, разработчики могут переходить непосредственно к написанию кода. В кейсе RideTaxi специалисты по бэкэнду писали серверную часть с нуля, фронтенд-разработчики занимались административной панелью, мобайл-разработчики - создавали приложения для пассажиров и водителей в двух нативных версиях: под Android и IOS. 

DELIVERY GROUP
Logistics
TMS-система
кейс для экономии топлива с отображением на маршруте всех автозаправок
смотреть проект
Logistics
DELIVERY GROUP
мобильное приложение для лидера рынка сборных грузов в Украине
смотреть проект
Logistics
RideTaxi
комфортный онлайн-сервис пассажирских перевозок
смотреть проект
Logistics
TMS-система
кейс для экономии топлива с отображением на маршруте всех автозаправок
смотреть проект
Logistics
DELIVERY GROUP
мобильное приложение для лидера рынка сборных грузов в Украине
смотреть проект

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

Тестирование

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

Перед выходом в релиз продукт прошел альфа-тестирование, то есть начальную тестовую проверку продукта с небольшой группой реальных пользователей. Главные задачи данного этапа – проверка функциональности и получение обратной связи. Это позволило привести требования к продукту в соответствие с потребностями аудитории. 

Релиз

Уже к концу этапа тестирования команда начала подготовку к полноценному развертыванию системы и размещению приложения RideTaxi в сторах Play Market и App Store. После успешного запуска и публикации начался этап поддержки, который продолжается и сейчас. Последние технические ошибки были исправлены во время двухмесячного гарантийного периода. В дальнейшем команда начала работу над новым функционалом и апдейтами системы. 

В целом рабочий процесс в WEZOM строится на agile-методологии scrum, которая опирается на высокотемповую работу в небольших командах и выполнение задач в формате спринтов - это небольшие рабочие отрезки длительностью в 1-2 недели. В кейсе RideTaxi мы отчитывались перед клиентом по результатам каждого спринта и получали от него полезный фидбек. Это позволило выдать максимально качественный результат в относительно короткие сроки. На разработку всей системы ушло более 8 тысяч рабочих часов командной работы.

Что стало результатом

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

Мобильное приложение для пассажиров

В мобильном приложении пассажир получает максимально бесшовный опыт - на уровне лучших решений для райдхелинга. Пользователь может заказать авто в три клика на интерактивной онлайн-карте; выбрать авто по ряду параметров (количество мест в салоне, багажник, корзина для животных и т.д.); отфильтровать водителей по рейтингу и отзывам; сохранить необходимые ему адреса для упрощения заказов, применить любой вариант оплаты, включая Google Pay / Apple Pay, рассчитаться бонусами или подарочными сертификатами. Доступны такие возможности как совместимые поездки с оптовой оплатой, поездки с несколькими плановыми остановками на маршруте и возможность менять маршрут уже во время движения. 

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

Приложение для водителей

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

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

Одной из важнейших функций RideTaxi для таксистов является встроенная подробная отчетность по доходам. В приложении выводится вся индивидуальная статистика водителя: его рейтинг, финансы (состояние которых отображается динамично), бонусы и тому подобное.  

Админпанель

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

Менеджер может наглядно видеть локацию водителей системы на интерактивной онлайн-карте. Ему доступны инструменты для модерации заказов, контроля работы водителей, допуска в систему нового персонала, обработки отзывов и жалоб клиентов и т.д. Более того, администраторы системы получают доступ к комплексной аналитике по финансам, качеству выполнения заказов, предпочтениям пассажиров и производительности водителей. Данные визуализируются в админпанели с помощью инфографик, что делает их удобным и наглядным рабочим инструментом. “Фишкой” проекта стал бот, который собирает информацию о выявленных проблемах и распределяет соответствующие “алармы” между ответственными лицами.

Система на всех уровнях интегрирована с необходимыми компании внешними цифровыми системами и сервисами, без которых вести бизнес невозможно: API картографических систем, CRM-система клиента, средства бухгалтерского учета, IP-телефония, платежные шлюзы, Google Analytics, дополнительные аналитические инструменты для маркетинга и т.д. 

Результаты проекта 

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

Более того, масштабная автоматизация помогла ощутимо оптимизировать операционные расходы: нагрузка на колл-центр сократилась на 62%. В то же время темпы обработки заказов в диджитале выросли, поэтому автопарк компании может выполнять гораздо больше перевозок по сравнению с “аналоговым” менеджментом: прирост достиг 20%. Соответственно улучшились финансовые показатели. 

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

Василий
Про автора
Василий
IT Sales Manager
6
Помогает клиентам выбирать эффективные цифровые решения — от TMS и CRM до систем автоматизации в недвижимости. Сопровождал более 50 проектов в США, Европе и Украине, способствуя снижению затрат на разработку до 25% и ускорению запуска продуктов. Работает на стыке бизнеса и технологий, консультирует по выбору технического стека, архитектуры и функционала. Ориентирован на прозрачную коммуникацию, практическую пользу и долгосрочную ценность.
Больше статей от автора
Как вам статья?
Обсудить проект
Заполните личные данные.
Phone
Нажимая на кнопку “Отправить”, вы даете согласие на обработку личных данных. Подробнее
Шаг 1 из 2
Комментарии
(0)
Будьте первыми, кто оставит комментарий
have questions image
Остались вопросы?
Оставьте ваши контактные данные. Наш менеджер свяжется и проконсультирует вас.
Подписывайтесь на рассылку Айтыжблог
blog subscriber decor image
Хотите получать интересные статьи?
Нажимая на кнопку “Отправить”, вы даете согласие на обработку личных данных. Подробнее
Следите за нами в социальных сетях