Проект «Доехали»
Курьер знает, что сохранено на телефоне и что уже принято системой. Потеря сети не превращает повтор в новое завершение.
Демонстрационный проект 404gen: интерфейс, модель процесса и решения на примере. Клиентское внедрение и показатели бизнеса здесь не заявляются.
О проекте
- Задача: Подтверждение действий на доставке
- Участники: Курьер и диспетчер
- Ключевое различие: Сохранено на устройстве и принято сервером
Задача
На маршруте связь прерывается, а интерфейс показывает одно и то же завершение и для локального действия, и для принятого сервером результата. Курьер повторяет отправку, диспетчер получает дубли или не видит подтверждение. Изменение задания в офисе может конфликтовать с действием, сохранённым без сети.
Разбор ограничен моделью подтверждения. Реальные адреса, координаты людей, доставка и внешние системы не подключены.
Риски исходного процесса
Зелёная галочка до подтверждения
Локальный и принятый результат имеют разные подписи.
Повтор создал дубль
Идентификатор действия остаётся прежним.
Задание изменилось без сети
Версия и актуальность проверяются при обработке.
Решение
Разделили остановку, действие и подтверждение. Телефон сначала показывает локальное сохранение, затем отправку и известный результат. У повторов сохраняется исходный идентификатор. Если состояние задания изменилось, нужен разбор конфликта, а не скрытая перезапись.
Локальная демонстрация позволяет выключить условную сеть, отметить передачу, восстановить связь и повторить подтверждение без второго события. Промышленное приложение дополнительно требует устойчивой очереди на устройстве, сервера, контроля доступа и испытаний фоновых ограничений.
Как устроен продукт
- Список остановок. Порядок, состояние и ограничения точки. Зачем: Карта не заменяет рабочую очередь.
- Карточка задания. Состав и разрешённое действие. Зачем: Курьер видит предмет подтверждения.
- Локальная очередь. Ожидание сети, повтор и известный ответ. Зачем: Данные не выдаются за уже принятые сервером.
- Разбор исключений. Изменение назначения и неопределённый результат. Зачем: Диспетчер отличает отсутствие связи от установленного срыва.
Что помогает пройти сценарий
Локальное сохранение
Действие остаётся в модели без сети.
Явное подтверждение
Подпись меняется после принятого ответа.
Повтор без дубля
Повтор той же команды не добавляет новую передачу.
Ключевые сценарии
Сохранить без сети
Подтверждение передачи сначала сохраняется в локальной очереди.
На входе: Сеть выключена, подтверждений ещё нет.
- Сохранить факт передачи.
- Проверить видимый статус очереди.
- Убедиться, что отправка пока недоступна.
На выходе: Запись ожидает сети и не помечена принятой сервером.
Если что-то пошло не так: Локальное сохранение не выдаётся за доставленное подтверждение.
Критерий приёмки: При выключенной сети команда отправки заблокирована.
Отправить очередь
Принятое подтверждение появляется после отдельной отправки.
На входе: Есть сохранённая запись; сеть ещё выключена.
- Включить сеть.
- Отправить сохранённое подтверждение.
- Сверить число принятых событий и состояние очереди.
На выходе: Принято одно подтверждение; очередь больше не ожидает отправки.
Если что-то пошло не так: Наличие сети само по себе не создаёт второе событие.
Критерий приёмки: Итог показывает ровно одно принятое подтверждение.
Повторить подтверждение
Повторная передача того же события сохраняет первый результат.
На входе: Подтверждение уже принято в локальной модели.
- Запомнить число принятых событий.
- Повторить подтверждение при включённой сети.
- Сравнить результат и проверить повторное сохранение.
На выходе: Число принятых подтверждений остаётся равным одному.
Если что-то пошло не так: Повтор не создаёт ещё одну передачу или запись очереди.
Критерий приёмки: После повторной команды нет ни дубля события, ни нового задания.
Роли пользователей
Курьер
Выполнить понятное действие на рабочем устройстве.
Принят ли мой результат или пока сохранён локально?
Диспетчер
Увидеть исключение и продолжить разбор.
Где подтверждение и что изменилось в задании?
Владелец доставки
Проверить устойчивость полного сценария.
Какие состояния требуют ручного решения?
Как устроено технически
Модель остановок
Задание, отправление и действие имеют отдельные идентификаторы.
Устойчивая очередь
Для рабочего приложения нужны хранение на устройстве и обработка повторов.
Сверка с сервером
Изменение задания и результат действия согласуются по версии.
Что входит в разработку
- Одна остановка
- Переключатель условной сети
- Локальное подтверждение передачи
- Принятие после восстановления связи
- Повтор исходной команды без дубля
План реализации
- Выбрать законченную цепочку действия курьера.
- Согласовать статусы и изменения назначения.
- Проверить интерфейс при отсутствии сети.
- Реализовать мобильную очередь, сервер и интеграции.
- Испытать перезапуск, повторы и фоновые ограничения.
Что замеряем после запуска
- Неподтверждённые действия — Различаем время ожидания сети и обработки.
- Повторные команды — Проверяем, что количество попыток не равно числу завершений.
- Исключения — Определяем причины и способ продолжения маршрута.
Стек
Модель остановок, Устойчивая очередь, Сверка с сервером.
Все кейсы · Услуга · Калькулятор стоимости
Интерфейс и устройство процесса
Визуализация, схема и локальная демонстрация показывают разные стороны решения. Внешние системы не подключены.


Если у вас похожая задача
Начинаем с действия и источника подтверждения; карта и маршрутизация оцениваются вокруг проверенного процесса.
Что обсудим перед оценкой
- Какие действия должны быть доступны без связи?
- Какая система завершает отправление?
- Как разбирается результат по уже изменённому заданию?
Объём, стоимость и срок зависят от ваших данных и интеграций. Сначала определим границы задачи.
Оценить похожую задачуПриложение для курьеров: задания, офлайн и подтверждение доставки
404gen — креативное digital-агентство полного цикла, работаем удалённо по всей России.
Телефон: +7 993 729-59-59 (пн–пт, 10:00–19:00 МСК). WhatsApp: +7 913 141-20-96. Telegram: @aporkulevich. Почта: ap@404gen.ru.