Как было до системы

Компания по договору обслуживает инженерные системы сети магазинов «у дома»: холодильное оборудование, электрику, вентиляцию, сантехнику. Каждый магазин обходят раз в две недели. До проекта обходчики заполняли бумажный акт осмотра, фотографировали на личный телефон и вечером скидывали фото в WhatsApp-группу участка. Начальник участка переносил нарушения в Excel и звонил подрядчикам.

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

Словарь заказчика

С этих слов начинали обследование: без них не получится спроектировать ни статусы, ни отчёты.

Обход (плановый визит)
осмотр магазина по графику раз в 14 дней по чек-листу из 30–40 пунктов, с фото и подписью директора
Дефект
нарушение, найденное на визите. Становится задачей подрядчику с категорией, приоритетом и сроком по SLA
Геозона
радиус 150 м вокруг магазина. Чек-ин вне её или с подменой координат помечается как подозрительный визит
Версия шаблона
чек-лист меняют в офисе, но у части устройств остаётся старый. Каждый результат хранится с номером версии

Статусы

  1. Запланирован
  2. Чек-ин
  3. Завершён на устройстве
  4. Синхронизирован
  5. Принят

Отдельные ветки:

  • Ждёт сети
  • На доработке
  • Пропущен
  • Вне геозоны
  • Mock location

Что сделали

Обходчику в приложении

  • Маршрут на день с порядком магазинов и окнами визита
  • Чек-лист по разделам: обязательные фото только с камеры, водяной знак со временем сервера и координатами
  • Нарушение в чек-листе сразу создаёт дефект с фото
  • Завершение визита в геозоне с подписью директора магазина на экране
  • Работа без сети: визит закрывается на устройстве, фото уходят частями при появлении связи

Начальнику участка

  • Визиты за день: расстояние чек-ина до точки, точность GPS, время в магазине, версия шаблона
  • Карточка визита с чек-листом, фото и журналом синхронизации; принять или вернуть на доработку
  • Подозрительные визиты: mock location, чек-ин вне геозоны, фото из галереи

Диспетчеру дефектов

  • Доска дефектов от создания до проверки после ремонта, включая «Ждём ЗИП»
  • Задача подрядчику с категорией, приоритетом и сроком по SLA, передача в Okdesk
  • Проверка устранения на следующем плановом визите

Администратору

  • Устройства: версия приложения, версия шаблона, очередь фото, последний sync
  • Раздача обновлений через RuStore и MDM, минимальная версия приложения
  • Редактор шаблонов чек-листов с версиями

Экраны системы

Скриншоты из рабочей системы. Названия компаний, ИНН и домен заказчика скрыты по NDA.

Карточка визита: чек-лист по разделам, фото с водяным знаком и журнал синхронизации
Карточка визита: чек-лист по разделам, фото с водяным знаком и журнал синхронизации
Задача из дефекта: категория, приоритет со сроком по SLA и передача в Okdesk
Задача из дефекта: категория, приоритет со сроком по SLA и передача в Okdesk
Доска дефектов: от создания на визите до проверки после ремонта, включая «Ждём ЗИП»
Доска дефектов: от создания на визите до проверки после ремонта, включая «Ждём ЗИП»
Устройства: очередь синхронизации, старые версии шаблона, mock location и экономия батареи
Устройства: очередь синхронизации, старые версии шаблона, mock location и экономия батареи
Приложение обходчика: маршрут без сети, чек-лист с обязательными фото, завершение в геозоне с подписью
Приложение обходчика: маршрут без сети, чек-лист с обязательными фото, завершение в геозоне с подписью

Интеграции

Okdeskзадачи подрядчикам создаются через REST API при сохранении дефекта, статус и фото «после» возвращаются вебхуком
MinIO (S3)фото загружаются частями по 512 КБ после сжатия до 1600 px, с докачкой при обрыве связи
Яндекс MapKitкарта маршрута и расчёт расстояния до магазина на устройстве, без сети по закешированным тайлам участка
RuStore и MDMраздача APK и принудительное обновление ниже минимальной версии, push через RuStore Push
Sentryошибки приложения и сбои синхронизации с моделью устройства и версией прошивки

Как шла работа

  1. 1–3 нед.
    Обследование

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

  2. 4–6 нед.
    Прототип

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

  3. 7–14 нед.
    Разработка

    Офлайн-хранилище, очередь синхронизации, чек-листы с версиями, дефекты, веб-кабинет начальника участка, интеграция с Okdesk. Демо-сборки каждые две недели.

  4. 15–18 нед.
    Запуск

    Пилот на участке «Юг МО» с 11 обходчиками, через три недели ещё три участка. Бумажный акт отменили после месяца параллельной работы.

Что пошло не так

Фоновая синхронизация на Xiaomi, Redmi и Honor не работала: прошивка усыпляла приложение через 10 минут после блокировки экрана, и фото висели в очереди до вечера. Победить это кодом полностью не удалось. Для каждой модели сделали инструкцию, как добавить приложение в исключения экономии батареи, а приложение при открытии показывает, сколько фото не ушло. Второе: обновление шаблона до v8 у части сотрудников не скачалось из-за старой версии приложения, и две недели принимали результаты по v6, v7 и v8 одновременно.

Результат

0споров «техник не приходил» за 6 месяцев: у каждого визита есть геоточка, фото и подпись
с 2–3 дней до 1 дняот обнаружения дефекта до задачи подрядчику, по данным пилотного участка
~3%визитов в неделю помечаются как подозрительные и разбираются начальником участка

Начальник участка видит обходы в течение дня, а не вечерней пачкой фото в чате. Дефекты уходят подрядчику с фото и сроком, и их устранение проверяется на следующем визите. Офлайн-очередь закрыла проблему подвалов, но для части дешёвых телефонов синхронизация всё ещё зависит от того, открыл ли обходчик приложение.

Похожая задача?

Опишите в Telegram, как сейчас идут заявки и учёт. Скажем, хватит ли доработки вашей текущей системы или нужна своя. Первая консультация бесплатная.

Написать в Telegram