Веб-приложение агрегатора такси
Объединили несколько служб такси и автоматизировали распределение заказов
О проекте
Клиент работает сразу с несколькими таксопарками и сервисами. Заказы приходили из разных источников и обрабатывались либо вручную, либо в отдельных системах. Из-за этого возникали задержки, путаница и перекосы в загрузке перевозчиков. Не было единого места, где можно управлять всеми заказами.
Стек технологий
Задача
Сделать систему, объединяющую разные сервисы в одном интерфейсе: пользователь оформляет поездку без выбора конкретного перевозчика. Заказы автоматически распределяются с учётом доступности водителей, расстояния и условий работы.
Ограничения
У всех подключаемых сервисов разные API и логика работы. Система должна быстро обрабатывать заказы в пиковые часы и учитывать несколько параметров при выборе исполнителя. Нельзя допускать сбоев — система напрямую влияет на выполнение поездок.
Решение
Сделали веб-приложение с единым интерфейсом. Внутри система агрегирует данные от разных таксопарков, приводя их к единому формату. Ключевой элемент — модуль распределения, который автоматически назначает заказ с учётом доступности, расстояния, тарифов и приоритетов. Также реализовали мониторинг заказов и административную часть для настройки правил и управления перевозчиками.
Сложности и решение
Для работы с внешними сервисами сделали отдельный слой интеграции, нормализующий данные и скрывающий различия между API. Логику распределения реализовали как настраиваемый алгоритм с приоритетами и балансировкой нагрузки. Добавили обработку ошибок и резервные сценарии — заказы не теряются даже при сбоях отдельных перевозчиков.
Дальнейшее развитие
После запуска клиент развивает систему в сторону динамического ценообразования и аналитики по эффективности перевозчиков.
Результат
Ускорили обработку заказов и снизили нагрузку на операторов — большая часть работы происходит автоматически. Заказы распределяются равномернее, пользователи получили простой и понятный процесс оформления поездки.
