Учет геозон
Геозоны можно создавать в интерфейсе и затем использовать при планировании через 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 ⋅ Открыть на карте