Как построить маршрут рейса по дорогам под габариты машины или нарисовать его кликами, задать ширину коридора, сохранить маршрут в библиотеку, посмотреть историю версий, взять рейс под наблюдение и собрать правило, которое сообщит об отклонении.

Диспетчер узнаёт, что машина ушла с маршрута, обычно последним — когда позвонит водителю. Этот путь настраивает систему так, чтобы она сказала об этом сама и один раз: рейс, вышедший из коридора и оставшийся снаружи, меняет свой статус, а дальше срабатывает ваше правило — уведомление диспетчеру, сообщение заказчику, письмо.
Всё, что для этого нужно, — три поля в разделе «Рейсы»: «Маршрут», «Ключ трекера» и «Контроль маршрута».
Откуда берётся сам раздел «Рейсы». Путей два, и оба дают одни и те же поля:
У кого раздел «Рейсы» уже есть, модуль числится установленным и ничего не трогает.
В нише «Грузоперевозки» поля стоят в карточке рейса сразу — раздел «Маршрут и контроль» внизу карточки. Если пространство создано раньше и полей в карточке не видно, их больше не нужно выносить руками: откройте «Настройки» → «Конструктор» → «Модули» — у блока «Шаблон пространства» появится метка «Доступно обновление» и кнопка «Посмотреть, что изменится». Она открывает список того, что добавится, а сам перенос делает кнопка «Применить» уже внутри этого окна — то есть шага два, и между ними видно, на что вы соглашаетесь. Ваши собственные правки обновление не трогает: оно только добавляет недостающее (подробнее — в статье про конструктор).
Завести все три поля в своём разделе руками нельзя. В конструкторе, когда вы добавляете поле, типа «Маршрут» среди предложенных нет; и «Маршрут», и связанные с ним «Ключ трекера» и «Контроль маршрута» приезжают целым набором — с шаблоном «Грузоперевозки» или с модулем «Маршруты и карта».
Выписать ключ трекера машине. Ключ выдаётся на конкретную машину, показывается один раз и после отзыва перестаёт приниматься. Отдельного экрана «Трекеры» в кабинете пока нет — ключ выписывает и отзывает администратор системы по вашей заявке.
Вписать адрес и ключ в трекер. Дальше есть два пути, и оба не требуют от вас ни строчки кода:
Вписать ту же строку в поле «Ключ трекера» рейса — обычно это госномер. По ней рейс находит точки своей машины.
Откройте карточку рейса → «Редактировать». У поля «Маршрут» стоит кнопка «Открыть редактор» — она открывает карту во весь диалог (на телефоне — во весь экран). У рейса, где маршрут уже сохранён, та же кнопка подписана «Изменить маршрут»: это она же, просто продукт не зовёт «открыть» то, что уже нарисовано.
Рядом с ней — «Убрать маршрут»: она стирает маршрут из поля, не открывая редактор и ничего не спрашивая. У пустого поля кнопка погашена. Как и любая правка карточки, снятие вступит в силу только после того, как вы сохраните рейс.
Пока маршрут пустой, наблюдение молчит: сверять точки машины не с чем.

Нажимайте по карте — каждое нажатие ставит точку, точки соединяются линией. Дальше есть два пути, и выбирать между ними можно на каждом рейсе заново:
Под картой живьём считается сводка: сколько точек, сколько километров, какой коридор. У нарисованной руками линии километраж честно подписан «по ломаной» — это сумма отрезков между вашими точками, и она всегда меньше настоящей дороги.
Что ещё есть под рукой:

Кнопка «Построить автоматически» над картой открывает форму параметров машины. Сверху — готовые профили: «Фура 20 т», «Еврофура 40 т», «Газель 3,5 т», «Негабарит». Профиль подставляет все числа разом, а дальше любое из них правится руками — и правка уезжает в расчёт:
| Поле | Что оно меняет в маршруте |
|---|---|
| Высота, ширина, длина | низкие путепроводы, узкие улицы и запреты по габаритам будут обойдены |
| Полная масса, нагрузка на ось, число осей | слабые мосты и ограничения по массе исключаются из пути |
| Платные дороги, паромы, магистрали | шкала «избегать ↔ предпочитать», а не грубое «да/нет» |
| Опасный груз | дороги, закрытые для такого груза, в маршрут не попадут |
| Максимальная скорость | влияет на расчётное время в пути |
| «Кратчайший вместо быстрейшего» | когда километры дороже часов |
Нажмите «Построить». Первый запрос после запуска сервера может занять до пятнадцати секунд — дальше это доли секунды; пока идёт построение, рядом висит кнопка «Отменить построение».
Готовый маршрут ложится в редактор обычным шагом: сводка меняется на «км по дорогам», рядом появляется расчётное время в пути. Любую вершину можно передвинуть — маршрут останется построенным, но система пометит его как поправленный вручную, и сводка скажет «по дорогам, с вашими правками». Не понравилось — «Отменить» вернёт то, что было до нажатия.
Складка «Экспериментальные параметры» внизу формы — два поля, которые понимает не каждая версия маршрутизатора. Пустыми они не отправляются вовсе; заполняйте их, только если знаете, что ваша версия их принимает.
Если кнопка погашена — значит, на вашем сервере не подключён сервис маршрутизации; рядом с кнопкой стоит объяснение. Это не поломка: маршрут рисуется вручную (шаг 2), а коридор, статусы и правила работают точно так же. Подключение — на стороне администратора вашей CRM.

Переключатель «Ширина коридора» — 1, 2, 3 или 5 км. Коридор рисуется на карте в масштабе, двумя краями вдоль линии: видно, что именно попадёт внутрь, ещё до сохранения.
Прямо под переключателем стоит предупреждение, и оно меняется вместе с маршрутом:
Для городского рейса рабочая ширина — 1 км, для магистрального — 3 км; на маршруте по дорогам обычно хватает 1–2 км.

Кнопка «Сохранить маршрут» закрывает редактор и кладёт маршрут в поле. Дальше карточку рейса нужно сохранить как обычно — до этого маршрут ещё не записан.
В списке рейсов колонка «Маршрут» показывает ту же фразу, что была под картой: «12 точек · 1 430,8 км · коридор 3 км». Отдельно открывать рейс, чтобы понять, нарисован ли маршрут, не нужно.

Маршрут, который вы повторяете из рейса в рейс, незачем строить каждый раз. У поля «Маршрут» есть второй ряд кнопок; первая — «Сохранить в библиотеку». Дайте маршруту название («Стандартный на Казань») и, если нужно, заметку — например, чем этот вариант отличается от соседнего.
Библиотека одна на всё пространство: сохранённый маршрут видят все, кто работает с рейсами.
Библиотека хранит копию. Дальнейшая правка маршрута этого рейса сохранённый эталон не изменит, а правка эталона не изменит рейсы, которые уже уехали, — коридор у машин в дороге не «переедет» у вас за спиной. Чтобы поправить эталон, постройте маршрут заново и сохраните его новым названием.
Название уникально: если такое уже занято, система об этом скажет и введённое не потеряет.

В новом рейсе нажмите «Загрузить из библиотеки». В списке — сохранённые маршруты со сводкой («1 502,3 км · коридор 2 км · построен по дорогам»); если их много, наберите часть названия в поиске.
Нажатие на строку кладёт копию маршрута в поле рейса. Дальше рейс нужно сохранить обычной кнопкой — до этого маршрут в записи не появится.

Третья кнопка — «История версий». Каждое сохранение рейса с изменённым маршрутом становится версией, и в списке видно: когда, кто, чем построен (по дорогам, руками или по дорогам с правками), какой длины и с каким коридором, а если маршрут пришёл из библиотеки — что он приехал оттуда.
«Вернуть эту» кладёт маршрут старой версии обратно в поле. Возврат ничего не стирает: после сохранения рейса в истории появится ещё одна запись — с пометкой, к какой версии вернулись. Отменить возврат так же легко, как сделать: это обычное сохранение.
Если вы подвинули вершину и ещё не сохранили рейс, история честно скажет об этом плашкой: маршрут, который лежит в рейсе сейчас, отличается от последней записанной версии и попадёт в историю после сохранения.
Кнопка погашена у нового, ещё не сохранённого рейса — истории у него пока нет, она начнётся с первого сохранения.

Поле «Контроль маршрута» переведите в «Идёт по маршруту». Это и есть «взять под наблюдение»: система сама себя не включает, потому что рейс, который ещё грузится, не должен считаться отклонившимся.
Значений пять, и три средних ставит система:
| Значение | Кто ставит | Что означает |
|---|---|---|
| Не наблюдаем | вы | рейс ещё не в пути |
| Идёт по маршруту | вы (в начале) и система (при возврате) | машина внутри коридора |
| Отклонился | система | машина вне коридора дольше выдержки |
| Нет сигнала | система | трекер молчит дольше заданного срока |
| Наблюдение закрыто | вы | рейс завершён, следить больше не нужно |
Значения «Не наблюдаем» и «Наблюдение закрыто» система не трогает никогда — это ваша воля.

Само по себе изменение статуса никого не уведомляет — уведомление собираете вы, и собираете один раз.
Можно не собирать руками. Пока в пространстве нет ни одного правила, экран «Правила» встречает вас готовыми — под строкой «Начните с готового». Нажмите карточку «Рейс отклонился от маршрута», и правило приедет уже собранным: уведомление ответственному, сообщение клиенту в его канал и письмо ответственному на почту. Дальше его можно править как любое своё.
⚠️ Готовые правила показываются только на этом экране — пока список пуст. Как только первое правило сохранено, экран становится списком, и дальше правила собираются кнопкой «Правило». Так что если готовое вам подходит — берите его первым.

Ниже — то же самое, но по шагам, если хочется собрать под себя. Настройки → «Правила» → «Создать своё»:
Порядок и состав действий — ваши: правило можно в любой момент переделать, не обращаясь к нам.

Машина ушла из коридора — статус меняется не сразу: сначала идёт выдержка, и только если машина осталась снаружи всё это время, «Контроль маршрута» становится «Отклонился». Тогда же срабатывает правило: в колокольчике диспетчера появляется уведомление, заказчику уходит сообщение в его канал.
Когда машина вернулась в коридор и подержалась там столько же, статус сам возвращается в «Идёт по маршруту». Отдельно нажимать ничего не нужно.
Сообщение клиенту уходит только в тот канал, где с ним уже есть переписка по этому рейсу. Если переписки нет, система не выдумывает адресата: в журнале правила появится строка «пропущено» с причиной, а уведомление диспетчеру и письмо всё равно уйдут.

Ширину коридора вы задали в редакторе — она же и есть порог тревоги. Нарисованная на карте полоса не иллюстрация: выбрали 3 км — «Отклонился» скажется на трёх километрах от линии. Никакого второго числа искать не надо, и менять ширину можно у каждого рейса свою.
Остальные пороги — про раздел целиком, а не про конкретный рейс, и живут настройками поля «Маршрут»: их меняет владелец пространства в конструкторе, без нашего участия.
| Настройка | По умолчанию | Что делает |
|---|---|---|
| Ширина коридора | 2 км | у рейса с готовым маршрутом берётся ширина ИЗ маршрута; это значение — запасное |
| Выдержка | 10 минут | столько машина должна пробыть снаружи, прежде чем объявить отклонение |
| Молчание трекера | 15 минут | после этого статус становится «Нет сигнала» |
| Пауза между тревогами | 30 минут | повторное отклонение не объявляется раньше |