С чем пришёл клиент
Запустить службу такси в небольшом городе с нуля — так, чтобы диспетчер видел всё на одном экране, а пассажир заказывал поездку без звонка.
Что сделали
- Диспетчерская панель на 15 экранов
- Мобильное приложение на 23 экрана — для пассажира и для водителя
- Сайт службы со ссылками на приложение
- Гибкие тарифы и зоны города
- Финансовый контур: выручка, балансы водителей, промокоды
Что внутри панели
- Заказы в работе со статусами и таймингом подачи
- Водители: балансы, рейтинг, документы, выход на линию
- Пассажиры и история поездок
- Тарифы, зоны, промокоды, баннеры
- Финансы и спрос за сутки в графиках
- Справочник адресов города
Детали, которые стоит знать
Перед запуском был отдельный ночной прогон всей денежной логики. Нашлось то, что упало бы в первый рабочий день: на боевом стояли старые тарифы, и первый пассажир заплатил бы 80 ₴ вместо оговорённых 130, а водитель недополучил бы половину.
Цены на главной странице когда-то были зашиты руками — человек видел одно число на сайте и другое в приложении. Теперь страница берёт тариф из той же таблицы, что и расчёт поездки.
Деление комиссии проверено в десяти вариантах, включая копейки при 33,33% — сходится до копейки. Две службы в одном городе делят общий поток заказов: деньги идут той, чей водитель взял заказ.
Владелец службы не может переписать условия платформы, нарисовать себе баланс или увидеть чужие данные — границы ролей проверялись отдельно, а не подразумевались.
Справочник домов города достраивается сам: когда водитель жмёт «я на месте», сервис запоминает координаты подъезда. Через несколько сотен поездок сервис знает город точнее любой карты.
Панель показывает тепловую карту «когда заказывают» за последние недели — видно, когда ставить больше машин на линию.
Стек
- Laravel 13
- React Native / Expo
- MySQL
- Карты
Цифры сверены с проектом
Как это выглядит









Ещё из этой ниши
Соберём такую же систему под ваш процесс
Приходите без техзадания — составим его вместе в первом же разговоре.


