Адрес офиса:
г. Минск, ул. Интернациональная 36
Время работы:
пн-пт 9.00 - 19.00
Адрес офиса:
г. Минск, ул. Интернациональная 36
Время работы:
пн-пт 9.00 - 19.00

Разработка мобильного приложения для сервиса такси

Вводные данные о клиенте

Клиент — региональный сервис такси с гибридной моделью: собственные машины + партнёрские автопарки под единым управлением.

Регион

РФ

Ниша/отрасль

Пассажирские перевозки

Команда

Руководитель проекта, Бизнес-аналитик, 2 Backend-разработчика, 2 Mobile-разработчика, Frontend-разработчик, QA-инженер

Стек
  • PHP
  • MySQL
  • Redis
  • Nginx
  • React Native
  • Vue
  • Docker
  • Yii 2
  • Socket.io
  • Google/Yandex Maps API

Вводные данные о клиенте
Картинка после вводных

Контекст и запрос клиента

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

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

Контекст и запрос клиента

Задачи

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

Спроектировать логику распределения заказов

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

Автоматизировать контроль и комплаенс

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

Синхронизировать цифру и офлайн

Особенность модели предполагала сохранение диспетчерской службы: часть заказов приходила через приложение, часть — по телефону. Мы должны были объединить оба канала чтобы операторы работали с единой базой

Что сделали

Алгоритм распределения: прозрачность как инструмент лояльности

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

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

Вместо этого мы внедрили: 

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

  • Очереди по зонам. Для каждой зоны формируется своя очередь. Водитель может встать в очередь в 5 зонах одновременно (текущая + 4 смежные). Это обеспечило максимальный охват при минимальном холостом пробеге 

  • Последовательный опрос водителей. Вместо «гонки за заказом» работает фиксированный цикл: если первый водитель не принимает заказ за 15 секунд, запрос автоматически уходит следующему. Это ускоряет подачу и исключает спорные ситуации

image (4).png

Диспетчерская и управление точками контакта

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

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

  • Плавная миграция клиентов в приложение. Чтобы постепенно снижать нагрузку на колл-центр, мы внедрили автоматическую SMS-рассылку после звонка. Клиент получает детали заказа и ссылку на приложение — по ней он сразу открывает экран с информацией о поездке: водитель, автомобиль, время подачи, текущее местоположение машины. Такой мягкий сценарий помогает органично переводить клиентов в digital-канал, одновременно снижая операционные затраты и повышая качество сервиса. 

  • Поездки «по счётчику». Помимо заказов через приложение, сервис поддерживал формат «поездки от борта». В этом режиме водитель включает встроенный счётчик в приложении, и система в реальном времени рассчитывает стоимость поездки: по расстоянию, времени в пути и текущим коэффициентам. Все такие поездки автоматически сохраняются в общей базе, формируют корректную отчётность и участвуют в аналитике — без разрывов между офлайн- и онлайн-каналами.

Frame 1948759987.png
B2B-инфраструктура: кабинет партнера

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

Делегирование управления

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

Автоматизированный комплаенс

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

Оперативная работа с обратной связью

В кабинет встроены инструменты для обработки обращений пассажиров: партнёр видит жалобы, комментарии, историю поездок и может быстро реагировать — от уточнения деталей до принятия мер по конкретному водителю или автомобилю. Это делает качество обслуживания управляемым и прозрачным.

Инженерные вызовы и решения

Стабильность синхронизации в условиях нестабильной связи

Для real-time-сервисов критично, чтобы система всегда знала, доступен водитель или нет. На практике это осложнялось тем, что мобильный интернет в городе работает неравномерно — обрывы могут происходить в тоннелях, на парковках, в плотной застройке.

Как решили

Мы развернули сокет-сервер для мгновенного обмена статусами и проработали механику устойчивости к обрывам. Если сигнал временно пропадает, система не исключает водителя из очереди сразу — сессия удерживается короткое время, что предотвращает «выпадение» активных исполнителей и снижает хаос в распределении заказов.
image (2).png

Точность времени подачи и влияние на UX

Картографические сервисы не всегда корректно учитывают локальные пробки при расчете подачи. Это сильно влияло на ожидания пассажиров и повышало долю отмен.

Как решили

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

Что в итоге?

Проект стал для нас первым крупным Uber-like решением и дал прочную экспертизу в real-time механиках: работе с геозонами, очередями, распределением нагрузки и отслеживанием статусов в режиме реального времени.

Дальше мы масштабировали этот опыт на других задачах — от приложения по доставке еды до внушительной HR-системы промышленного предприятия и нескольких внутренних логистических решений.

Если вашему бизнесу нужна надёжная IT-система с динамическими сценариями, распределением исполнителей или управлением персоналом — команда iMedia Solutions поможет разработать устойчивое, понятное, сильное решение!

  • Давайте знакомиться! Расскажите о своём проекте
    Услуги
    Обязательное поле
    Планируемый бюджет
    Выберите пункт
    Не знаете, что рассказать нам о проекте?
    Тогда скачайте подготовленные нами вопросы, которые помогут нам лучше узнать Ваши требования к проекту.
    Скачать бриф-анкету на разработку сайта
  • Хотите больше узнать о нас? С радостью всё расскажем!
    Любите звонить?
    Звоните по номеру
    +375 (29) 626-44-35
    Любите писать на почту?
    Пишите сюда info@imedia.by
    А можно писать сразу в телеграм
    Если выбираете подрядчика на конкурсе, нас можно пригласить в тендер