Где находился специалист, когда решал заявку? Модуль Geolocation от NexTool отвечает на этот вопрос, не полагаясь ни на чьи слова: он фиксирует GPS-координаты в момент, когда специалист регистрирует комментарий или решение, и показывает физический адрес прямо в хронологии заявки. В этой статье мы показываем реальную проблему, которую он решает, как он устроен внутри, как его включить и — с той же честностью, что и в средах, которые мы сопровождаем, — когда он не стоит того.
Проблема: выездное обслуживание без подтверждения присутствия
В выездных операциях — обслуживание инфраструктуры, замена оборудования в филиале, визит специалиста к клиенту — знать, где находился специалист при регистрации события, является частью контроля. От этого зависят аудит SLA, выставление счетов за выезды, планирование маршрутов и обычное доверие к команде. Проблема в том, что GLPI сам по себе эту информацию не хранит.
Единственный штатный способ зафиксировать местоположение в комментарии — вручную набрать адрес в тексте. А набирать адрес в спешке во время обслуживания — значит провоцировать ошибки: он оказывается неполным, с перепутанной улицей или вовсе отсутствует. Хуже того, он заявляется самим специалистом — за ним нет никаких координат, на которые мог бы опереться аудит. Руководителю, которому нужно подтвердить физическое присутствие по выездной заявке, остаётся полагаться на слова специалиста или на отдельное приложение для отслеживания, которое никак не связано с GLPI.
Результат — пробел в прослеживаемости, который подрывает и качество операционных данных, и доверие к отчётам об обслуживании.
Как работает Geolocation
Модуль добавляет кнопку «Получить местоположение» в формы комментария и решения заявки. При нажатии браузер запрашивает разрешение на геолокацию и с помощью штатного API браузера получает три значения:
- Широта и долгота — сырые координаты, на которые опирается аудит.
- Точность в метрах — погрешность измерения, которая сильно зависит от устройства.
- Читаемый адрес — получается автоматическим обратным геокодированием через Nominatim (OpenStreetMap), бесплатный сервис без ключа API.
После сохранения комментария или решения в хронологии заявки появляется значок местоположения с отформатированным адресом, точностью в метрах и прямой ссылкой на точку в OpenStreetMap. Помимо значка модуль предлагает:
- Полная история по заявке — каждое измерение привязано к заявке; обслуживание с несколькими визитами сохраняет их все.
- Вставка отформатированного текста — местоположение может автоматически добавляться в текст комментария, а не только в значок.
- Встроенная тестовая страница — проверяет получение координат, разрешение браузера и геокодирование прямо в настройках, без необходимости открывать реальную заявку.
- Поддержка нескольких провайдеров — Nominatim уже реализован; Google Maps и Mapbox подготовлены для будущего включения тем, кому нужна большая точность или объём.
На практике отличие от чистого GLPI заключается не столько в том, «где» это отображается, сколько в том, насколько надёжны данные за этим:
| Критерий | Адрес, набранный в комментарии (штатно) | Модуль Geolocation |
|---|---|---|
| Адрес | Свободный текст, подвержен опечаткам | Заполняется обратным геокодированием координат |
| Точность | Никакой — координат нет | Широта/долгота + погрешность в метрах |
| Проверяемость | Заявлено самим специалистом, без доказательств | Сырые координаты, зафиксированные в момент действия |
| Усилия специалиста | Набрать адрес целиком | Один клик по «Получить местоположение» |
Блок местоположения, записанный в комментарий, выглядит примерно так — адрес для чтения человеком и ссылка на карту для проверки точной точки:
Localização registrada em 04/12 14:32
Endereço: Av. Paulista, 1578 - Bela Vista, São Paulo - SP
Precisão: ~18 m
Mapa: https://www.openstreetmap.org/?mlat=-23.5613&mlon=-46.6558
# Requisito de contexto seguro (o botão só aparece e funciona sob HTTPS):
# Permissions-Policy: geolocation=(self)Как включить
- Установите плагин NexTool в ваш GLPI.
- Перейдите в Настройка > NexTool > Модули.
- Найдите карточку Geolocation, нажмите Установить, а затем Активировать.
- В разделе Настроить выберите провайдера геокодирования и параметры отображения значка.
- Убедитесь, что среда работает по HTTPS — без защищённого контекста браузер даже не показывает запрос разрешения, и кнопка молча не срабатывает.
Чему мы научились, используя модуль в полевых условиях
Три детали проявляются, только когда вы действительно эксплуатируете модуль. Первая: без HTTPS браузер не запрашивает разрешение на геолокацию, и кнопка молча не срабатывает — видимой ошибки нет, координаты просто не получаются. Мы уже теряли время, разыскивая «баг», который оказывался всего лишь тестовой средой, работающей по чистому HTTP. Вторая: Nominatim от OpenStreetMap бесплатен, но у него есть политика добросовестного использования и ограничение частоты запросов — он подходит для разового получения координат при обслуживании, а не для геокодирования целой базы за раз; тем, кому нужен объём, стоит перейти на Google Maps или Mapbox. Третья: точность сильно варьируется. Смартфон с GPS под открытым небом даёт несколько метров; настольный компьютер, определяющий местоположение по Wi-Fi и IP, может ошибаться на кварталы. Поэтому обратное геокодирование иногда возвращает соседнюю улицу — и именно поэтому мы также храним сырые широту и долготу: адрес — это удобство для человека, а координата — доказательство, на которое опирается аудит.
Кому подходит — и когда не использовать
Модуль приносит пользу выездным командам, компаниям, которым нужно проверять физическое присутствие по инфраструктурным заявкам, и руководителям, которые хотят обогатить данные GLPI географическим контекстом, не привязывая отдельную систему отслеживания.
Пользы мало — или он не работает — в двух сценариях. Команда, работающая на 100% внутри офиса или удалённо, без выездов, выигрывает немного: зафиксированное местоположение всегда будет одним и тем же помещением. А в среде без HTTPS его просто невозможно использовать, потому что браузер блокирует геолокацию вне защищённого контекста. Если это ваш случай, решите вопрос с сертификатом, прежде чем думать о модуле.
Совместимость
- GLPI: 10.x и 11.x
- План: по запросу (PAID)
- Плагин: NexTool 3.x или новее
Следующий шаг
Geolocation — один из модулей NexTool, модульного плагина для GLPI. Чтобы понять, имеет ли он смысл для вашей выездной службы, свяжитесь с командой.
Проверено командой NexTool Solutions.