Мой заказчик — аутсорсинговая компания, предоставляющая услуги «реанимации» автопарков для крупных каршеринговых сервисов. Основная задача сотрудников заказчика — физически забирать автомобили каршеринга со штрафстоянок ГИБДД, закрытых зон и платных городских парковок, чтобы как можно быстрее вернуть их обратно на линию для генерации прибыли каршеринга.
До внедрения системы бизнес-процессы были хаотичными: диспетчеры распределяли задания через звонки и мессенджеры, все отчеты (чеки об оплате штрафов, акты нарушений) существовали в бумажном виде или фото в WhatsApp, а учет велся в запутанных Google-таблицах. Это порождало критические проблемы:
Потеря документов — сотрудники теряли чеки, и каршеринг отказывался оплачивать услуги.
Двойная бухгалтерия — нужно было считать зарплату сотрудникам (сдельная оплата за каждое "спасенное" авто) и одновременно выставлять детализированные счета самому каршерингу. Данные регулярно расходились.
Отсутствие контроля — руководство не видело реальную картину: сколько авто еще на стоянках, кто из сотрудников простаивает, а кто перегружен.
Клиент поставил цель: создать единую цифровую экосистему, которая автоматизирует планирование маршрутов, исключит «человеческий фактор» в документообороте и полностью закроет финансовые потоки между тремя сторонами (Каршеринг → Заказчик → Сотрудники) в автоматическом режиме, без ручного пересчета таблиц.
Я спроектировал и реализовал полный цикл разработки клиент-серверной архитектуры «с нуля», взяв за основу надежный стек: ядро на PostgreSQL (единое хранилище всех транзакций, документов и статусов), серверную бизнес-логику и клиентские приложения на C++/Qt.
Главным архитектурным преимуществом стало использование Qt — это позволило написать единый код для всех типов устройств: стационарной программы для руководителей (Windows/macOS) и нативных мобильных приложений для полевых сотрудников (Android/iOS), что значительно сократило время и бюджет разработки.
Ключевые реализованные механизмы:
Автоматическое планирование и назначение задач:
Сервер каждые 5 минут опрашивает Google-таблицы заказчика (реестр авто с названиями штрафстоянок, ГРЗ авто, время помещения на штрафстоянку) и загружает свежие данные в БД. В мобильном приложении система автоматически подтягивает график смен: определяет, кто сегодня работает и кто назначен старшим. Старший вначале смены один клик распределяет зоны города между сотрудниками — после этого задания мгновенно и в течении смены «прилетают» в телефоны исполнителей с приоритетом маршрута.
Жесткий контроль качества закрытия наряда (Чек-лист):
Реализовал на C++/Qt логику, при которой задание не может сменить статус на «Выполнено», пока сотрудник не загрузит все обязательные элементы: фото автомобиля со всех ракурсов, скан-копии чеков об оплате штрафстоянки, акты-протоколы нарушений. Программа программно валидирует заполнение всех полей — это исключило потерю документов и претензии со стороны ГИБДД и каршеринга.
Двухуровневая бухгалтерия и тарификация:
Система автоматически считает сдельную зарплату каждого сотрудника, учитывая разные тарифы: стандартный забор, забор с привлечением эвакуатора, изготовление дубликатов ГРЗ или получение документов в ГАИ и т.д.. Параллельно эта же система агрегирует затраты по каждому автомобилю и формирует детализированные счета для каршеринговой компании-владельца. Оба финансовых потока (компания→клиент и компания→сотрудник) теперь всегда сходятся до копейки, так как база данных общая.
Интеграция с Google Диском для заказчика:
Организовал автоматический релейт: как только сотрудник завершает задание, все финальные фото авто и документы автоматически выгружаются на защищенный Google-диск каршеринговой компании для удаленного аудита, без необходимости что-либо пересылать вручную.
Сервисный слой (Telegram-боты):
Разработал ботов: один позволяет по текстовому запросу (ввести ГРЗ, дату) мгновенно получить весь комплект или отдельные документы по инциденту с заданным авто в заданную дату или последнему инциденту . Второй бот формирует отчеты: каждое утро отправляет в общий чат с бухгалтерией каршеринга сводку: сколько машин отработано вчера, остаток на стоянках, а также финансовый итог по обычным и штрафным стоянкам за сутки и нарастающим итогом с начала месяца (в штуках и рублях); в чат с сотрудниками - сколько задач выполнено, у кого какие "долги".
Готовая система полностью интегрирована в ежедневную рутину заказчика и обслуживает штат полевых сотрудников. Результаты внедрения:
Операционная эффективность:
Время цикла «получение задачи → возврат авто на линию» сократилось в полтора раза. Благодаря автоматическому распределению зон старшим и мгновенной доставке заданий в мобильные приложения, простой сотрудников между эвакуациями свелся к минимуму. Руководство в реальном времени через десктоп-программу видит остатки автомобилей на штрафстоянках, что позволяет оперативно корректировать приоритеты.
Финансовая прозрачность и учет:
Бухгалтерия заказчика полностью отказалась от ручного свода Excel. Формирование счетов для каршеринговой компании теперь занимает 5 минут (ранее — до 3х дней в "диалоговом режиме"). Начисления сотрудникам больше не вызывают споров: каждый видит в своем мобильном приложении сумму заработка за текущий месяц с разбивкой по каждому выполненному заданию, что повысило лояльность персонала.
Контроль и партнерские отношения:
Потеря чеков и фотографий полностью исключена. Каршеринговая компания (владелец авто) теперь ежедневно получает автоматическую утреннюю сводку в Telegram, что укрепило доверие и ускорило процесс приемки выполненных работ. Заказчик отмечает, что система стала его «цифровым щитом» в спорах с клиентами — теперь у каждого спорного авто есть полный пакет юридически значимых документов, собранный в единой базе PostgreSQL.
В планах заказчика — масштабировать решение на другие регионы, и благодаря кроссплатформенной архитектуре C++/Qt и гибкой PHP-прослойке для интеграций, я обеспечил легкую адаптацию системы под любое количество новых филиалов без переписывания кода.