Кейс · Карта оборудования

Каждый аппарат — на одной живой карте, а вся его история — в одном касании.

Тот же оператор отслеживал свой парк на общей онлайн-карте и в ворохе таблиц. Мы превратили это в многопользовательскую систему, где каждая метка знает свои показания, свои осмотры и последний сервисный визит.

Название клиента не раскрывается. Из соображений безопасности и коммерческой тайны мы не называем оператора и не показываем его карту: карта — это местоположение каждого аппарата, который ему принадлежит. Всё, что описано ниже, — это система в том виде, в котором она сегодня работает в продакшене.

98%сервисных адресов автоматически сопоставлены со своей меткой на карте: 280 из 285
1 947сервисных визитов перенесены на карту одним импортом — и ни одного дубля при каждом следующем запуске
2×автоматических обновления данных в неделю — до начала рабочего дня
48отдельных прав, которые администратор клиента сам настраивает для каждой роли
Клиент
Одна из ведущих компаний в своей категории; название не раскрывается
Отрасль
Вендинг питьевой воды и водоподготовка
Кто работает
Выездные техники, сотрудники офиса, администраторы
Языки
Азербайджанский, русский и английский, с редактированием переводов прямо в приложении
Запуск
Создана в сентябре 2025 года и с тех пор постоянно развивается

Отправная точка: карта, которой нельзя было нормально поделиться

Парк водоматов и установок очистки воды оператора был нанесён на бесплатную онлайн-карту, а технические показатели каждого аппарата (качество воды, состояние мембраны, какие ступени фильтрации в нём стоят) жили в таблицах. Чтобы разобраться с одним аппаратом, приходилось открывать два источника и надеяться, что они совпадают.

Нашим первым ответом в середине 2025 года было сознательно маленькое решение: одностраничная карта, которая доказала идею за считаные дни. Так же быстро она показала свой предел. Метки хранились в одном браузере, чтобы поделиться ими, приходилось пересылать файл, а один пароль открывал всё. Идея была верной. Ей нужно было стать системой.

Метка должна говорить не только о том, где стоит аппарат. Она должна говорить, в каком он состоянии.

Что мы построили

  1. Одна карта для всего парка, быстрая на любом масштабе

    Каждый аппарат — это метка, окрашенная по категории; при отдалении метки собираются в кластеры. Карта загружает только то, что на экране, поэтому остаётся быстрой даже на телефоне техника. Кнопка «Где я» находит ближайшие аппараты прямо в поле, а метку, которую поставили на несколько метров в сторону, можно просто перетащить туда, где аппарат стоит на самом деле.

  2. Метка, которая хранит карточку аппарата

    Введите код оборудования — и метка заполнится техническими данными из импортированного реестра оборудования, который массово обновляется из собственных Excel-файлов клиента. Администраторы сами задают любые дополнительные поля (одиннадцать типов, включая фото и документы), не обращаясь к разработчику. Откройте метку — и в одном месте увидите аппарат, его последний сервисный визит и три последних осмотра.

  3. История обслуживания, которая приходит сама

    Дважды в неделю, рано утром, карта забирает каждый завершённый визит из системы выездного сервиса оператора и прикрепляет его к нужному аппарату. Каждый визит распознаётся по собственному ID, поэтому повторный импорт ничего не меняет, если не изменились данные: визит не может быть учтён дважды.

    Адреса, которые не совпали ни с одной меткой, выводятся списком для офиса, а не отбрасываются молча. Экран даже предупреждает о кириллических и латинских буквах, которые выглядят одинаково, — потому что два из всего пяти несовпадений во всём парке оказались именно такими. Клиент сам выбирает, какие сервисные колонки показывать на карте, с подписями на всех трёх языках.

    Карточка планового импорта сервисных визитов
    Импорт визитов запускается в понедельник и четверг в 06:00 и сообщает, сколько визитов он загрузил и сколько оставил без изменений.
    Отчёт о несопоставленных адресах с предупреждением о похожих буквах
    Адреса, не совпавшие ни с одной меткой, — каждый с ближайшей меткой и предупреждением о похожих кириллических и латинских буквах. Операторы и адреса размыты.
  4. Осмотры прямо с метки

    Техник, стоящий у аппарата, открывает его метку и фиксирует осмотр по собственному чек-листу клиента, оценивая аппарат как «в норме», «требует внимания» или «критично», с комментарием. Случайную ошибку можно отозвать в течение пятнадцати минут; после этого она становится частью истории. Разделённый экран показывает все аппараты с одной стороны и полную историю осмотров — с другой.

  5. Поиск, который говорит на языке водоподготовки

    Помимо поиска по адресу, коду и категории, фильтры сделаны под эту отрасль: найти все аппараты в заданном диапазоне показателей качества воды или состояния мембраны, или все аппараты с определённой ступенью фильтрации, озонатором или УФ-лампой. Любую отфильтрованную выборку можно выгрузить в CSV или JSON.

  6. Контроль без узких мест

    Пять ролей — от техника до суперадминистратора, 48 отдельных прав, которые администратор клиента перераспределяет прямо на экране, и правило старшинства, которое не даёт никому редактировать учётную запись выше собственной. Новые метки могут проходить модерацию, прежде чем появятся на карте. Каждое административное действие записывается в журнал аудита, а резервные копии можно создавать и скачивать прямо из приложения.

    Таблица прав по ролям с пятью ролями
    Таблица прав по ролям, которую редактирует администратор самого клиента: пять ролей, по строке на каждое право.

Что изменилось

ОбластьБылоСтало
Где стоят аппаратыОбщая онлайн-карта плюс файл, который пересылали друг другуОдна многопользовательская карта с ролями и модерацией
Данные аппаратовТаблицы, открытые рядом с картойНа метке, заполняются по коду оборудования
История обслуживанияПереносилась между таблицами вручнуюИмпортируется автоматически дважды в неделю, без дублей
ОсмотрыНе фиксировались так, чтобы по ним можно было искатьЧек-лист на метке и полная история по каждому аппарату
Кто что может делатьОдин пароль на всёПять ролей, 48 прав и журнал каждого действия администратора

Спроектирована, чтобы меняться безопасно

Эта система растёт вместе с бизнесом уже год, поэтому её строили так, чтобы изменения проходили без потрясений. Поток сервисных данных поначалу читался из общей онлайн-таблицы. Когда в 2026 году заработала система выездного сервиса, мы переключили карту напрямую на неё и полностью убрали старую зависимость, что сократило сторонний код приложения более чем на две трети. Каждое изменение базы данных было проверено на обратимость до выхода в продакшен, перед каждым необратимым шагом делалась резервная копия, а 90 автоматических тестов охраняют обмен данными между двумя системами, осмотры и права доступа.

Вторая половина истории Почти 300 аппаратов, по два визита в неделю к каждому — и ни одной таблицы

Ваше оборудование разбросано между картой и таблицей?

Водоматы, счётчики, антенны, киоски, насосы: если то, что вы обслуживаете, стоит по какому-то адресу, тот же подход сработает и у вас. Мы строим систему вокруг ваших данных и ваших людей, а потом поддерживаем её в работе.