Учет геозон

Геозоны можно создавать в интерфейсе и затем использовать при планировании через Excel или API. Также геозоны можно задавать непосредственно в запросе API.

Игнорирование зон

Включение опции options.ignore_zones позволяет отменить все ограничения, связанные с геозонами. Подробнее см. Геозоны и Несовместимые зоны.

"options": {
    "ignore_zones": true
}

При планировании через Excel опция ignore_zones задается в интерфейсе Планирования на вкладке НастройкиУчитывать зоны. Значению поля ignore_zones = true соответствует нажатая кнопка Нет.

Несовместимые зоны

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

  • Из-за особенностей дорог. Например, заказы, находящиеся на разных берегах реки или по разным сторонам железной дороги, лучше не выполнять в одном рейсе, чтобы сократить использование мостов и переездов.

  • Из-за особенностей тарификации. Например, чтобы разделить заказы по направлениям.

В таких случаях можно использовать геозоны и указывать их несовместимость на листе Options в поле incompatible_zones.N, где N — номер набора несовместимых зон (наборов может быть несколько, нумерация начинается с 0).

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

"options": {
    "incompatible_zones": [
        [
            "zone2",
            "zone3"
        ]
    ]
}

Несовместимые зоны можно также задавать для отдельных курьеров.

Пример 1

В примере заданы несовместимые геозоны zone1 и zone2, заказы в которых нельзя выполнять в одном рейсе. При этом заказ 2 находится внутри zone1, заказ 4 внутри zone2. Все заказы обслуживает один автомобиль.

В результате автомобиль выполняет два рейса.

Пример ExcelЗапрос API (JSON)Ответ APIОткрыть на карте

Пример 2

Те же условия, что в примере 1, но в интерфейсе при планировании включено НастройкиУчитывать зоныНет.

В результате автомобиль выполняет все заказы за один рейс.

Пример ExcelЗапрос API (JSON)Ответ APIОткрыть на карте

Исключенные зоны

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

Различие между запрещенными и исключенными зонами

Геозоны, в которых курьерам запрещено выполнять заказы, указываются на листе Vehicles в поле forbidden_zones, см. Геозоны. Но проезжать через эти зоны курьеры могут. Зоны, перечисленные на листе Options в поле avoid_zones, запрещены даже для проезда курьеров.

Распределение проблемных заказов

Если нельзя проложить маршрут к заказу по дорогам, не проезжая через исключенные геозоны, по умолчанию заказ все равно будет включен в запланированный маршрут, но путь к нему будет проложен «по воздуху». Длина отрезка маршрута будет считаться равной пятикратному расстоянию до точки заказа по воздуху. Чтобы избежать такого планирования, укажите опцию haversine_fallback равной false (по умолчанию true). В этом случае такие заказы будут попадать в нераспределенные.

Пример 1

Курьер выполняет 5 заказов. Заказ 5 нужно доставить на остров. Маршрут проложен через мост. Длина маршрута составила 46,08 км. Длина пути до Заказа 5 — 5,78 км, путь к заказу проложен по мосту, это видно в режиме «по дорогам».

Пример ExcelЗапрос API (JSON)Ответ APIОткрыть на карте

Пример 2

То же, что в примере 1, но все мосты до острова определены как исключенные зоны. По умолчанию haversine_fallback равен true, и путь к Заказу 5 проложен «по воздуху». Длина маршрута составила 57,64 км, длина пути до Заказа 5 — 10,35 км.

Пример ExcelЗапрос API (JSON)Ответ APIОткрыть на карте

Пример 3

То же, что в примере 2, но параметр haversine_fallback равен false. Заказ 5 стал нераспределенным.

Пример ExcelЗапрос API (JSON)Ответ APIОткрыть на карте

Написать в службу поддержки