---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.kz/routing/doc/en/vrp/excel-fill-guide.md
  - https://yandex.kz/routing/doc/kk/vrp/excel-fill-guide.md
  - https://yandex.kz/routing/doc/ru/vrp/excel-fill-guide.md
  - https://yandex.kz/routing/doc/tr/vrp/excel-fill-guide.md
  - href: ru/vrp/excel-fill-guide.md
    type: text/markdown
    title: Markdown version
  - href: llms.txt
    type: text/markdown
    title: llms.txt
title: Яндекс Маршрутизация — инструкция заполнения xls-файла для планирования
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.kz/routing/doc/ru/llms.txt


# Инструкция по заполнению Excel

## Общее описание  {#general-description}

Пример заполненного файла Excel содержится в разделе [Пример планирования](https://yandex.kz/routing/doc/ru/vrp/example.md). Допустимые форматы для загрузки: `xls`, `xlsx`, `xlsm`.

Для корректной загрузки данных для маршрутизации книга Excel должна обязательно содержать следующие листы:

- [Orders](#orders) — информация о заказах;

- [Vehicles](#vehicles) — информация о машинах/курьерах;

- [Depot](#depot-depots) (либо `Depots`) — информация о точке склада/о множестве складов.

Опционально книга Excel может содержать следующие листы:

- [Incompatible_order_types](#incompatible-order-types) — информация о несовместимых типах заказов;

- [Location_groups](#location-groups) — настройки групп заказов;

- [Options](#options) — опции маршрутизации;

- [Routes](#routes) — данные о предопределенных маршрутах (маршруты логиста или маршруты прошлого планирования, которые надо сохранить в текущем планировании).

Книга Excel также может содержать листы с другими наименованиями и дополнительной информацией для пользователя — на загрузке данных это не отражается.

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

Если в ячейке с данными в конце стоит пробел, он будет автоматически удален при загрузке решения.

{% note info %}

Порядок следования столбцов на листах Excel не важен.

{% endnote %}

## Использование пресетов {#presets}

Чтобы реализовать определенный сценарий или стратегию планирования, вы можете использовать пресеты — набор параметров и их значений в формате JSON, которые встраиваются в запрос без изменения настроек [интеграции](https://yandex.kz/routing/doc/ru/vrp/integration-variants.md). Подробнее см. в разделе [Использование пресетов](https://yandex.kz/routing/doc/ru/vrp/presets.md).

Определите тип пресета и добавьте поле `preset_id` на один из листов:

* [Orders](#orders)
* [Vehicles](#vehicles)
* [Depot или Depots](#depot-depots)
* [Options](#options)

В качестве значения поля укажите название пресета. Например, `public_minimize_mileage`.

## Лист Orders {#orders}

На этом листе содержится информация о заказах. Строго говоря, каждая строка на данном листе — это не заказ, а пункт (location). Поэтому:

- если выполняется простая доставка из точки склада, то каждая строка соответствует заказу;

- если выполняется доставка из точки А в точку B, то этот заказ будет разбит на 2 строки, одна из которых будет соответствовать пункту получения (pickup), а вторая — пункту доставки (delivery);

- если точка старта или завершения маршрута отличается от точки склада — такая точка будет заведена на листе отдельной строкой.

{% note info %}

Для листа Orders достаточно заполнить следующий минимум полей (если выполняется доставка со склада):

- номер заказа;

- координаты и/или адрес заказа;

- временное окно заказа;

- объемно-весовые характеристики заказа (вес и/или объем и/или количество грузовых мест).

В остальных полях можно оставить значения по умолчанию (или оставить их пустыми) — этого будет достаточно для первого запуска задачи на маршрутизацию.

{% endnote %}

Описание допустимых полей на листе Orders приведено ниже.

### Основная информация о заказе {#orders-general}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Идентификатор заказа;

Дополнительный номер заказа|`id`;

`ref` | Рекомендуется указывать номер заказа в `id` (`ref` можно не заполнять или заполнить аналогично `id`). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-id) | Да (одно из полей)||
||Широта;

Долгота| `point.lat`;

`point.lon` | Координаты точки заказа: широта (`point.lat`), долгота (`point.lon`). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-coordinates) | Нет, если указывается адрес заказа (при загрузке через интерфейс можно геокодировать адрес)||
||Клиент;

Описание;

Адрес| `title`;

`description`;

`address`| Информационные поля, которые потом отображаются в интерфейсе планирования. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-id) | Нет (но если координаты заказа не заполнены, то адрес указывать обязательно)||
||Комментарий| `comments` | [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-comment) | Нет ||
||Телефон| `phone` | Используется только при экспорте результатов планирования в [Мониторинг](https://yandex.kz/routing/doc/ru/delivery/index.md). | Нет||
||Тип заказа| `type` | [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-type) | Необходимо заполнить для корректной маршрутизации (формально поле необязательно)||
||Штраф за недоставку, единицы | `penalty.drop`| Рекомендуется оставить значение по умолчанию 1 000 000 или пустым (в этом случае будет использовано значение по умолчанию). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#penalties-not-delivering) | Необходимо заполнить для корректной маршрутизации (формально поле необязательно)||
|#

### Характеристики заказа {#orders-specs}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Вес, кг;

Количество мест;

Габариты, м (ширина, длина, высота) | `shipment_size.weight_kg`;

`shipment_size.units`;

`shipment_size.volume.width_m`;

`shipment_size.volume.depth_m`;

`shipment_size.volume.height_m` | Объемно-весовые характеристики заказа. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-weight) | Необходимо заполнить для корректной маршрутизации (формально поле необязательно)||
||Объем заказа, кубометры | `shipment_size.volume_cbm` | Объем заказа в кубометрах. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-weight) | Нет||
||Пользовательские единицы измерения:

- название;

- количество |
`shipment_size.custom.N.name`;

`shipment_size.custom.N.size` | Пользовательские единицы измерения для заказа. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#custom-units) | Нет||
||Тип груза | `shipment_size.volume.type` | Возможные значения: `bulk`, `rigid`, `fixed_bottom`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-dimensions) | Нет||
||Выравнивание объемного груза | `shipment_size.volume.align` | Возможные значения: `all_axes`, `height`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-orientation-in-vehicle) | Нет||
||Расширенные свойства | `orders.custom_properties.N.name`;

`orders.custom_properties.N.value` | Пользовательские единицы стоимости выполнения заказа. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#drop-pickup) | Нет||
|#

### Окна доставки {#orders-time-windows}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Временное окно| `time_window` | Если временное окно относительно (то есть в формате 10:00 – 18:00), то важно учитывать сдвиг этого временного окна относительно даты планирования (которая указывается при запуске задачи на маршрутизацию). Подробнее [тут](https://yandex.kz/routing/doc/ru/vrp/properties-of-time-window.md#relative-time-windows) и [тут](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-time-window) | Да (если не указаны time_windows)||
||Несколько временных окон| `time_windows.N.time_window` | Используйте, если окно «разорвано» в течение дня или окна отличаются в разные дни. Нельзя использовать вместе с `time_window`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-multiple-time-windows) | Да (если не указано time_window)||
||Жесткое окно, TRUE/FALSE | `hard_window` | TRUE — временное окно не может быть нарушено ни при каких обстоятельствах. FALSE — временное окно может быть нарушено (если это повлияет на более оптимальное использование ресурсов). Поле можно оставить пустым — тогда будет считаться, что временное окно мягкое (то есть его можно нарушить). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-time-window)<br><br>**Обратите внимание**: поля `hard_time_window` и `hard_window` являются взаимоисключающими. | Нет||
||Жесткое временное окно доставки заказа | `hard_time_window` | Если основное окно работы склада является мягким, вокруг него можно задать жесткое временное окно. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-time-window)<br><br>**Обратите внимание**: поля `hard_time_window` и `hard_window` являются взаимоисключающими. | Нет||
||Штрафы:

- за минуту нарушения окна, единицы;

- за факт нарушения окна, единицы;

- за факт раннего приезда, единицы;

- за минуту раннего приезда, единицы;

- за факт опоздания, единицы;

- за минуту опоздания, единицы | `penalty.out_of_time.minute`;

`penalty.out_of_time.fixed`;

`penalty.early.fixed`;

`penalty.early.minute`;

`penalty.late.fixed`;

`penalty.late.minute` | Штрафы за нарушение временного окна заказа. Рекомендуется оставить значения по умолчанию (`fixed` = 1000, `minute` = 17) или пустым (в этом случае будет использовано значение по умолчанию). Изменения данного поля желательно только когда понятно его влияние на маршрутизацию. Изменение может потребоваться для сценариев: опоздания на заказ недопустимы (но возможно приезжать раньше временного окна) или наоборот; нарушение временных окон приемлемо, если это ведет к более оптимальному использованию ресурсов. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#penalties-time-window-violation) | Необходимо заполнить для корректной маршрутизации (формально поле необязательно)||
||Перерыв во время обслуживания заказов| `can_have_rest_during_service` | Определяет, может ли перерыв пересекаться с сервисным временем заказа. По умолчанию — TRUE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#rest-during-service) | Нет ||
|#

### Ограничения по времени {#orders-time}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Срок доставки | `delivery_deadline` | Время, до которого pickup-заказ без явно указанного места доставки должен быть доставлен до любого склада. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-time-depot-delivery) | Нет||
||Штрафы:

- за факт нарушения доставки pickup-заказа на склад, единицы;

- за минуту нарушения доставки pickup-заказа на склад, единицы | `penalty.delivery_deadline.fixed`;

`penalty.delivery_deadline.minute` | Штрафы за позднюю доставку заказа на склад. Рекомендуется оставить значения по умолчанию (`fixed` = 1000, `minute` = 17) или пустым (в этом случае будет использовано значение по умолчанию). Изменяйте эти поля, только если это важно для вашей задачи. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-time-depot-delivery) | Нет||
||Время готовности заказа| `depot_ready_time` | Время, когда заказ готов к выдаче на складе. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-time-depot-ready) | Нет||
||Крайнее время получения заказа на складе | `depot_expiring_time` | Время, до которого заказ необходимо забрать со склада. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#depot-expiring-time) | Нет||
||Ограничение времени пребывания заказа в автомобиле | `transit_time.limit_s`;

`transit_time.hard_limit_s`
| Мягкое и жесткое ограничение времени пребывания заказа в автомобиле. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#transit-time) | Нет||
||Штрафы:

- за факт нарушения мягкого ограничения времени пребывания заказа в автомобиле, единицы;

- за минуту нарушения мягкого ограничения времени пребывания заказа в автомобиле, единицы | `penalty.transit_time.fixed`;

`penalty.transit_time.minute` | Штрафы за нарушение мягкого ограничения времени пребывания заказа в автомобиле. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#transit-time) | Нет||
|#

### Сервисное время {#orders-service-time}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Время перегрузки заказа в кросс-доке | `crossdock_service_duration_s` | Указывается для заказов, которые доставляются через кросс-докинг. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#cross-docking) | Нет||
||Время обслуживания на складе, сек | `depot_duration_s` | Для заказов с типом delivery — это время погрузки заказа на складе. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-service-duration-load) | Нет||
||Время на парковку автомобиля | `parking_service_duration_s` | Указывается, если курьер паркует автомобиль и затем разносит пешком несколько близлежащих заказов. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#vehicle-walking-courier) | Нет||
||Время обслуживания:

- на адрес, сек;

- на заказ, сек | `shared_service_duration_s`;

`service_duration_s` | Время, которое машина/курьер проведет на точке заказа (в секундах). Подробнее [тут](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#multi-orders) и [тут](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-service-duration-delivery) | Необходимо заполнить для корректной маршрутизации (формально поле необязательно)||
|#

### Объединение и разделение заказов {#orders-parts}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Возможность объединения в мультизаказ, TRUE/FALSE | `can_be_merged` | По умолчанию — TRUE (заказ можно объединять в мультизаказ). Подробнее [тут](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#multi-orders) и [тут](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-service-duration-delivery) | Нет||
||Деление на части | `can_be_split `| Если FALSE (по умолчанию) — заказ можно доставлять только целиком. Если TRUE — заказ можно доставлять частями. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#split-parts) | Нет||
||Максимальное количество делимых частей | `max_split_parts`| Максимальное количество частей, на которые можно разделить заказ. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#split-parts) | Нет||
||Делитель, пропорция;

Делитель, кг;

Делитель, место;

Делитель, куб.м| `quant`;

`quant.weight_kg`;

`quant.units`;

`quant.volume_cbm` | Задает размер минимальной отделенной части в долях, килограммах, грузовых единицах, кубических метрах. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#split-parts) | Нет||
||Заполнять машину целиком | `split_parts_must_fill_whole_vehicle` | Если TRUE — отделяемая от заказа часть должна занимать весь автомобиль. По умолчанию — FALSE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#split-parts) | Нет||
||Фиксированный штраф за недоставку части заказа;

Штраф, пропорциональный доле недоставленной части заказа | `penalty.drop.fixed`;

`penalty.drop.scaled` | Если заказ делится на части, можно указывать фиксированную часть штрафа и переменную, которая зависит от размера (доли) нераспределенной части заказа. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#split-parts-penalty) | Необходимо заполнить для корректной маршрутизации (формально поле необязательно)||
|#

### Привязка заказа к складу или другим точкам {#orders-binding}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Привязка к складам | `depot_id` | Склады, с которых можно забрать заказ. Для одного заказа может быть указано несколько складов через запятую. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-start-from-any) | Нет||
||Место назначения (для заказов с типом pickup) | `delivery_to`| Используется только для сценариев, в которых есть pickup заказы. Поле заполняется только для заказов с типом pickup. В данном поле необходимо указать id связанного заказа c типом delivery. Важный момент — идентификатор, определенный в `delivery_to` должен быть уникален для каждого pickup заказа. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#pickup-and-delivery) | Нет||
||Возможные места назначения (для заказов с типом pickup) | `delivery_to_any`|Используется только для сценариев, в которых есть pickup заказы. Поле заполняется только для заказов с типом pickup. В данном поле необходимо указать `id` связанного заказа c типом `drop off`. Важный момент — идентификатор, определенный в `delivery_to_any` может повторяться для разных pickup заказов. | Нет||
||ID возврата (для заказов с типом delivery) | `return_to`|Используется только для сценариев с заказами, по которым планируется возврат контейнера. В данном поле необходимо указать `id` связанного заказа c типом `return` или `id` склада, на который нужно вернуть контейнер. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#return) | Нет||
||Получение груза в одной из возможных точек | `pickup_from_any` | Указывается только для заказов с типом delivery. Используется в сценариях, когда груз для доставки можно забрать из любой точки на выбор. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#pickup-from-any) | Нет||
||Доставка pickup-заказа на склад| `pickup_must_reach_depot` | Если признак включен, то pickup-заказ должен быть доставлен на склад в текущем маршруте. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#pickup-must-reach-depot) | Нет||
||Режим кросс-дока| `crossdock_mode` | Может принимать одно из значений: allow (по умолчанию), deny, mandatory. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#cross-docking) | Нет||
||Можно оставить в кросс-доке | `may_drop_in_crossdock` | Может задаваться только для pickup-заказов. Если равен TRUE (по умолчанию), то заказ можно оставлять в кросс-доке, а если FALSE — только на обычном складе. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#cross-docking) | Нет||
|#

### Распределение и совместимость заказов {#orders-compatibility}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Тип совместимости с другими заказами| `load_types` | Параметры совместимости заказов между собой. Для одного заказа можно указать несколько значений load_types, значения указываются через запятую. `load_types`представляют собой любую строку, которая понятным для пользователя образом идентифицируют необходимое свойство заказа. При указании `load_types` важен регистр символов. Если заполняются значения `load_types`, то несовместимые типы заказов необходимо заполнить на листе **Incompatible_order_types**. Несовместимые типы заказов не могут быть назначены при планировании в один рейс одного ТС/курьера. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-incompatibility) | Нет||
||Опциональные теги:

- требования к машине;

- вес тега | `optional_tags.N.tag`;

`optional_tags.N.value` | Теги для необязательных требований. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#optional-tags) | Нет||
||Требования к машине| `required_tags` | Параметры совместимости заказов и автомобилей. Для одного заказа можно указать несколько тегов, теги указываются через запятую. Тег представляет собой любую строку, которая понятным для пользователя образом идентифицируют необходимое свойство автомобиля/курьера. Для данного заказа может быть подобран только автомобиль, содержащий весь набор тегов, указанный на заказе. При указании тегов важен регистр символов. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-vehicle-compatibility) | Нет||
|#

### Прочие характеристики заказов {#orders-other}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Доступно для тягача с прицепом| `allow_trailers` | По умолчанию — FALSE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#trailer) | Нет||
||Очередность приема и доставки | `in_lifo_order` | По умолчанию — FALSE. Используется для пар заказов `pickup`/`delivery`,<!-- а также для заказов типа `delivery`,--> когда важна последовательность загрузки и выгрузки. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-reception-and-delivery) | Нет||
||Порядок выполнения заказа | `sequence_order` | Очередность выполнения заказа в рамках маршрута. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#sequence-order) | Нет||
||Отслеживающие компании (id) | `shared_with_company_ids` | id компаний перечисляются через запятую. [Подробнее](https://yandex.kz/routing/doc/ru/delivery/functions/shared.md#excel-excel) | Нет||
||Действие опций кучности маршрутов | `use_in_proximity` | Возможность отключить для заказа опции кучности маршрутов. По умолчанию — TRUE (опции кучности действуют). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#grouping-options) | Нет||
||Время обслуживания на клиента, сек| `client_service_duration_s` | Указывается при определении сервисного времени для мультизаказа. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#multi-orders) | Нет ||
||ID клиента| `client_id` | Заказы с одинаковым `client_id` объединяются в один мультизаказ, если это не ухудшает решение. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#multi-orders) | Нет ||
|#

{% cut "Параметры, которые не поддерживаются в Excel" %}

- `max_time_between_visits_s`
- `penalty.time_between_visits.fixed`
- `penalty.time_between_visits.minute`
- `garage_loading_mode`
- `preload_service_duration_s`
- `postload_service_duration_s`

{% endcut %}

## Лист Vehicles {#vehicles}

На данном листе содержится информация о доступных ресурсах (машинах или курьерах). Необязательно указывать конкретные транспортные средства / ФИО, можно указать абстрактные ресурсы, а назначением конкретных машин/курьеров на полученные маршруты заниматься уже отдельно и вне сервиса оптимального планирования маршрутов.

Важно корректно указать все имеющиеся ресурсы на момент планирования:

- если это собственный транспорт (курьеры), то необходимо перечислить их с учетом плановой недоступности для выполнения маршрутов/времени рабочей смены;

- если это наемный транспорт (курьеры) и их количество заранее неизвестно, то необходимо указать их в том количестве, в котором обычно привлекается для такого объема заказов. Если есть вариативность по типам, то для каждого типа необходимо указать максимальное количество привлекаемых машин. Например, используются наемные машины 1,5 т и 3 т. Каждый раз может привлекаться до 10 машин, но количество машин каждого типа заранее неизвестно. В этом случае можно указать 10 одинаковых строк для 1,5 т и 10 одинаковых строк для 3 т.

{% note info %}

Для листа Vehicles достаточно заполнить следующий минимум полей:

- номер транспортного средства/курьера;

- вместимость транспортного средства/курьера;

- время работы.

В остальных полях можно оставить значения по умолчанию (или оставить их пустыми) — этого будет достаточно для первого запуска задачи на маршрутизацию.

{% endnote %}

Описание допустимых полей на листе Vehicles приведено ниже.

### Основная информация о курьере или автомобиле {#vehicles-general}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Идентификатор машины;

Номер машины |
`id`;

`ref` | Рекомендуется указывать номер машины/курьера в `ref` (`id` можно не заполнять). Значение `id` должно быть уникально для всего листа (`ref` может быть не уникальным). Если `id` не заполнено, то при загрузке данных из Excel и отправке задачи на маршрутизацию оно заполняется как 0, 1, 2… Поле `id` также важно для сценария экспорта результатов планирования в мониторинг — оно используется как логин курьера в [мобильном приложении](https://yandex.kz/routing/doc/ru/delivery/index.md). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#vehicle-id) | Да (одно из полей)||
||Номер GPS-трекера| `imei` | Номер GPS-трекера транспортного средства. Используется только для сценария экспорта результатов планирования в [Мониторинге]((../delivery/index.md)). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#vehicle-imei) | Нет||
||Максимальное количество рейсов | `max_runs` | Максимальное количество рейсов, которое может быть выполнено за все указанные смены. По умолчанию 1. Под рейсом в алгоритме подразумевается выезд со склада (depot) и развоз заказов до возврата на склад (при этом, если осуществляется возврат на точку, которая имеет координаты, равные координатам склада, то это не засчитывается за рейс). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#vehicle-max-runs) | Нет||
||Телефон | `phone` | Телефон используется для связи с курьером в Мониторинге. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#vehicle-id) | Нет||
||Способ передвижения | `routing_mode` | Заполняется только если ТС/курьеры имеют разный способ передвижения (например автомобиль и общественный транспорт). Если способ передвижения у всех одинаковый, то заполнять данное поле нет необходимости: при запуске задачи на маршрутизацию можно выбрать способ передвижения, который будет использоваться для всех. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#routing-mode) | Нет||
|#

### Характеристики курьера или автомобиля {#vehicles-specs}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Грузоподъемность, кг;

Максимальная загрузка по весу, % веса;

Вместимость единиц, мест;

Максимальная загрузка единиц, % мест;

Размер места для груза, м (ширина, длина, высота);

Вместимость в кубических метрах;

Максимальная загрузка по объему, % объема | `capacity.weight_kg`;

`capacity.limits.weight_perc`;

`capacity.units`;

`capacity.limits.units_perc`;

`capacity.volume.width_m`;

`capacity.volume.depth_m`;

`capacity.volume.height_m`;

`capacity.volume_cbm`;

`capacity.limits.volume_perc` | Параметры вместимости машины/курьера. `capacity.weight_kg` — грузоподъемность в кг; `capacity.units` — грузоподъемность в грузовых единицах; `capacity.volume_cbm` — вместимость в кубических метрах. Помимо номинальной вместимости желательно указать в параметрах `limits` — возможные перегрузы или плановые недогрузы транспортных средств (особенно, если это практикуется при построении маршрутов вручную или с помощью других программ). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#vehicle-capacity) | Необходимо заполнить для корректной маршрутизации (формально поле необязательно)||
||Пользовательские единицы измерения вместимости:

- название;

- количество | `capacity.custom.N.name`;

`capacity.custom.N.size` | Вместимость транспортного средства по пользовательской единице измерения. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#capacity-custom-units) | Нет||
||Характеристики транспортного средства:

- ширина в метрах;

- высота в метрах;

- длина в метрах;

- максимальный вес в тоннах;

- максимальный вес в кг| `specs.width`;

`specs.height`;

`specs.length`;

`specs.max_weight`;

`specs.max_weight_kg` | Характеристики ТС используются для определения возможности проезда ТС по дорогам с ограничениями. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#vehicle-properties) | Нет||
||Минимальный суммарный вес заказов в одной точке| `min_stop_weight` | Минимальный суммарный вес, который автомобиль может доставлять в одну точку. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#min-stop-dimensions) | Нет||
||Фиксированный штраф за нарушение минимального веса заказа;

Штраф за каждый кг нарушения минимального веса заказа| `penalty.min_stop_weight.fixed`;

`penalty.min_stop_weight.kg` | Минимальный вес заказа для автомобиля — мягкое ограничение. Алгоритм учитывает штраф за факт нарушения минимального суммарного веса всех заказов в одной точке (по умолчанию 1000) и штраф за каждый недостающий килограмм в суммарном весе заказов, доставляемых в одну точку (по умолчанию 50). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#min-stop-dimensions) | Нет||
|#

### Привязка к складам {#vehicles-binding}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Разрешить заезды на склады для дозагрузки | `allow_different_depots_in_route` | FALSE — значение по умолчанию, курьер может посещать только тот склад, с которого начал маршрут. TRUE — курьер может посещать различные склады в одном маршруте. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#visit-additional-depot) | Нет||
||Возможность посещать кросс-док| `crossdock_mode` | Может принимать одно из значений: allow (по умолчанию), deny, mandatory. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#cross-docking) | Нет||
||Идентификаторы складов | `depot_id` | Для одного курьера может быть указано несколько складов через запятую. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#start-from-any) | Нет||
||Начальная точка;

Посетить склад в начале рейса | `start_at`;

`visit_depot_at_start` | Параметры стартовой точки машин/курьеров до начала маршрута. По умолчанию все стартуют с точки склада. Можно указать другую стартовую точку, а также указать необходимость заезда на склад после выезда из стартовой точки. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#vehicle-start-at) | Нет||
||Может посещать склад в начале маршрута | `can_visit_depot_at_start` | По умолчанию — FALSE. Работает только при `visit_depot_at_start` = `false`. Курьер может посетить склад в начале маршрута при необходимости. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#visit-depot-at-start) | Нет||
||Надо вернуться на склад, TRUE/FALSE;

Конечная точка| `return_to_depot`;

`finish_at`
| Параметры возврата машины/курьера после завершения маршрута (1. на склад, 2. в произвольную точку, 3. сначала на склад, потом в произвольную точку). По умолчанию `return_to_depot` = true (то есть машина возвращается на склад), если поле оставить пустым, то будет использовано значение по умолчанию. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#vehicle-finish-at) | Нет||
||Идентификаторы складов для старта | `starting_depot_id` | Склады, с которых курьер может начинать маршрут. Для одного курьера может быть указано несколько складов через запятую. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#start-from-any) | Нет||
||Идентификаторы промежуточных складов | `middle_depot_id` | Склады, которые может посещать курьер во время движения по маршруту для дозагрузки заказов delivery или выгрузки заказов pickup. Для одного курьера может быть указано несколько складов через запятую. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#visit-additional-depot) | Нет||
||Максимальное количество промежуточных складов в маршруте| `max_middle_depots` | Максимальное количество промежуточных складов, которое может посещать курьер во всем планировании. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#visit-additional-depot) | Нет||
||Идентификаторы складов для финиша | `ending_depot_id` | Склады, где курьер может завершать маршрут. Для одного курьера может быть указано несколько складов через запятую. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#return-to-depot) | Нет||
|#

### Ограничения по времени {#vehicles-time}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Время погрузки, зависящее от автомобиля, сек | `depot_extra_service_duration_s` | Время, которое понадобится для загрузки сверх времени обслуживания самого склада. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-depot.md#depot-extra-service-duration) | Нет||
||Время нахождения на первом посещенном заказе | `first_visited_location_started_at` | Опционально в поле `first_visited_location_started_at` можно указать время старта для первого заказа. Используется в случаях [допланирования](https://yandex.kz/routing/doc/ru/vrp/planned-route.md), а также в случаях, когда нужно зафиксировать часть маршрута (или маршрут целиком), причем в нужной последовательности. | Нет||
||Необходимость начать маршрут как можно раньше;

Штраф за среднее время приезда после начала временного окна|
`penalty.arrival_after_start.as_soon_as_possible`;

`penalty.arrival_after_start.average_h`
| Поля используются вместе и задают необходимость доставить все заказы как можно раньше. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#as-soon-as-possible) | Нет||
|#

### Распределение по зонам и совместимость {#vehicles-compatibility}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Свойства;

Несовместимые свойства| `tags`;

`excluded_tags` | Параметры совместимости заказов и машин. Для одного ТС можно указать несколько тегов, теги указываются через запятую. Тег представляет собой любую строку, которая понятным для пользователя образом идентифицируют необходимое свойство машины/курьера. Для заказа может быть подобрана только машина, содержащая весь набор тегов, указанный на заказе. При указании тегов важен регистр символов. `excluded_tags` используются для кейса, когда машин/тегов слишком много и проще теги настраивать методом исключения (то есть указывать на машинах свойства, которых у них нет). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#tags) | Нет||
||Разрешенные геозоны | `allowed_zones` | Геозоны, в которых ТС/курьер может выполнять заказы. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#geozones) | Нет||
||Запрещенные геозоны| `forbidden_zones` | Геозоны, в которых ТС/курьер не может выполнять заказы. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#geozones) | Нет||
||Опциональные геозоны:

- название;

- значение | `optional_zones.N.zone`;

`optional_zones.N.value` | Геозоны, за посещение которых ТС/курьеру начисляется бонус или штраф. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#optional-geozones) | Нет||
||Несовместимые геозоны | `incompatible_zones` | Геозоны, которые не должны попадать в один рейс курьера. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#incompatible-geozones) | Нет||
|#

### Стоимость и выплаты {#vehicles-cost}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Стоимость использования ТС:

- за км пути, единицы;

- за посещение одного адреса, единицы;

- за час работы, единицы;

- за факт использования, единицы;

- за тонно-километр транспортной работы, единицы;

- за заказо-километр транспортной работы, единицы;

- за юнит-километр транспортной работы, единицы;

- за 1 рейс| `cost.km`;

`cost.location`;

`cost.hour`;

`cost.fixed`;

`cost.tonne_km`;

`cost.order_km`;

`cost.unit_km`;

`cost.run` | Стоимость использования ТС/курьера для алгоритма (это не тариф, это именно ориентир для алгоритма при выборе того или иного варианта маршрутизации). Стоимости `cost.km` и `cost.hour` не должны быть равны 0. Если неизвестно, как заполнять данные поля, лучше оставить значения по умолчанию (`cost.fixed` = 3000, `cost.hour` = 100, `cost.km` = 8) или оставить пустыми (в этом случае будут использованы значения по умолчанию). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-cost.md#cost) | Да||
||Расчет стоимости| `cost` или `cost.route`;

`cost.shift`;

`cost.run` | Арифметическое выражение для расчета стоимости маршрута для компании. Задается для маршрута в целом или отдельно для маршрута, смены и рейса. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-cost.md#custom-route-cost) | Нет||
||Расчет выплаты курьеру| `payout` или `payout.route`;

`payout.shift`;

`payout.run` | Арифметическое выражение для расчета суммы выплату курьеру за выполненный маршрут. Задается для маршрута в целом или отдельно для маршрута, смены и рейса. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-cost.md#payout) | Нет||
|#

### Ограничения для пеших курьеров или частей маршрута {#vehicles-walking}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Максимальное количество юнитов на курьера| `walking_courier.capacity.units` | Используется в сценариях доставки с парковкой автомобиля перед пешей частью маршрута. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#vehicle-walking-courier) | Нет||
||Стоимость пешей доставки | `walking_courier.cost.km`;

`walking_courier.cost.hour` | Используется в сценариях доставки с парковкой автомобиля перед пешей частью маршрута. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#vehicle-walking-courier) | Нет||
||Максимально допустимое расстояние между двумя точками внутри пеших частей маршрута и штраф за нарушение ограничения | `walking_courier.restrictions.max_walking_edge_distance_m.value`;

`walking_courier.restrictions.max_walking_edge_distance_m.penalty` | Используется в сценариях доставки с парковкой автомобиля перед пешей частью маршрута. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#vehicle-walking-courier) | Нет||
||Максимально допустимое расстояние, которое можно пройти в рамках одной парковочной сессии, и штраф за нарушение ограничения| `walking_courier.restrictions.max_parking_walking_distance_m.value`;

`walking_courier.restrictions.max_parking_walking_distance_m.penalty` | Используется в сценариях доставки с парковкой автомобиля перед пешей частью маршрута. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#vehicle-walking-courier) | Нет||
||Максимально допустимая длительность одной парковочной сессии и штраф за нарушение ограничения | `walking_courier.restrictions.max_parking_duration_s.value`;

`walking_courier.restrictions.max_parking_duration_s.penalty` | Используется в сценариях доставки с парковкой автомобиля перед пешей частью маршрута. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#vehicle-walking-courier) | Нет||
|#


### Сцепки {#trailers}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Вместимость прицепа, кг| `trailer.capacity.weight_kg` | Вместимость прицепа в килограммах. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#coupling) | Нет||
||Вместимость прицепа, кол-во мест| `trailer.capacity.units` | Вместимость прицепа в единицах. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#coupling) | Нет||
||Максимальная разница в загрузке прицепа и грузовика, кол-во мест| `trailer.max_capacity_difference.units` | На сколько единиц товаров может быть в прицепе больше, чем в грузовике. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#coupling) | Нет||
||Максимальная разница в загрузке прицепа и грузовика, кг| `trailer.max_capacity_difference.weight_kg` | На сколько килограмм загрузка прицепа может быть больше, чем загрузка грузовика. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#coupling) | Нет||
||Фиксированная стоимость прицепа| `trailer.cost.fixed` | Фиксированная стоимость за использование прицепа. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#coupling) | Нет||
||Время отсоединения прицепа, сек| `trailer.decoupling_time_s` | Время отсоединения прицепа в секундах. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#coupling) | Нет||
||Время присоединения прицепа, сек| `trailer.coupling_time_s` | Время присоединения прицепа в секундах. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#coupling) | Нет||
||Время перекатки, сек| `trailer.rolling_time.fixed_time_s` | Фиксированное время перекатки груза из прицепа в грузовик в секундах. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#coupling) | Нет||
|#

### Прочие характеристики курьеров или автомобилей {#vehicles-other}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Необходимость оставить запланированный маршрут без изменений | `fixed_planned_route` |Необходимость оставить без изменений маршрут из planned_route. По умолчанию — FALSE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#planned-route) | Нет||
||Коэффициент времени обслуживания | `service_duration_multiplier`;

`shared_service_duration_multiplier` | Коэффициент ускорения/замедления ТС/курьеров относительно сервисного времени. Рекомендуется не использовать на начальных запусках маршрутизации, а по мере получения определенного опыта использования сервиса. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#service-duration) | Нет||
||Коэффициент корректировки скорости | `travel_time_multiplier` | Коэффициент ускорения (замедления) автомобиля или курьера относительно рассчитанной скорости по статистике. Максимальное значение — 1000. Рекомендуем не использовать на начальных запусках маршрутизации, только по мере получения опыта использования сервиса. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#travel-time) | Нет||
|#


### Смены {#vehicles-shifts}

Для одного транспортного средства/курьера может быть указано несколько смен. Все они заполняются в одну строку по следующему принципу – сначала указывается группа полей с префиксом `shifts.0`, затем `shifts.1`, `shifts.2` и так далее. Данный номер служит идентификатором смены для сервиса планирования маршрутов.

{% note info %}

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

{% endnote %}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Временное окно смены;

Жесткое временное окно смены | `shifts.N.time_window`;

`shifts.N.hard_time_window` | Время доступности водителей для планирования маршрутов. Если машины/курьеры обычно работают, например, с 9 до 17 ((но небольшие переработки иногда случаются), то лучше сразу указать доступное время работы, например, с 9 до 17:30). При простановке временного окна смены важно учитывать время в начале маршрута / время в конце маршрута, поскольку алгоритм считает, что это время входит во время работы машины/курьера. Также, если машина/курьер возвращается на склад, это время также учитывается во времени работы машины/курьера (и должно быть отражено в окне смены). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shifts).
**Обратите внимание**: поля `hard_time_window` и `hard_window` являются взаимоисключающими. | Да||
||Жесткое временное окно | `shifts.N.hard_window` | TRUE — временное окно смены не может быть нарушено ни при каких обстоятельствах. FALSE — временное окно смены может быть нарушено (если это повлияет на более оптимальное использование ресурсов). Поле можно оставить пустым, тогда будет считаться, что временное окно мягкое (то есть его можно нарушить). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shifts).
**Обратите внимание**: поля `hard_time_window` и `hard_window` являются взаимоисключающими. | Нет||
||Максимальное количество рейсов | `shifts.N.max_runs` | Максимальное количество рейсов, которое может быть выполнено за смену. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#vehicle-max-runs) | Нет||
||Время обслуживания| `shifts.N.service_duration_s` | Данное время имеет смысл ставить только в случае нескольких последовательных смен машины, даже с пересекающимися временными окнам (например, смена 1 — с 9 до 14 часов, смена 2 — с 13 до 18, то есть смена 1 может закончиться раньше 14, но точно не позже, также смена 2 — может начаться не раньше 13, но может и позже). Если необходимо задействовать обе смены при планировании маршрутов, то данный параметр добавляется дополнительно между двумя этими сменами. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shifts) | Нет||
||Штрафы:

- за минуту нарушения окна, единицы;

- за факт нарушения окна, единицы;

- за минуту раннего начала смены, единицы;

- за факт раннего начала смены, единицы;

- за минуту позднего окончания смены, единицы;

- за факт позднего окончания смены, единицы | `shifts.N.penalty.out_of_time.minute`;

`shifts.N.penalty.out_of_time.fixed`;

`shifts.N.penalty.early.minute`;

`shifts.N.penalty.early.fixed`;

`shifts.N.penalty.late.minute`;

`shifts.N.penalty.late.fixed` | Штрафы за нарушение временного окна заказа. Рекомендуется оставить значения по умолчанию (`fixed` = 1000, `minute` = 17) или пустым (в этом случае будет использовано значение по умолчанию). Изменения данного поля желательно только когда понятно его влияние на маршрутизацию. Изменение может потребоваться для сценариев: раннее начало смены недопустимо (но возможно завершать смену позднее) или наоборот; нарушение временного окна смены приемлемо, если это ведет к более оптимальному использованию ресурсов; используется жесткое окно смены и параметр [Максимальная продолжительность смены](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shift-duration). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shifts) | Нет||
||Максимальная продолжительность смены, сек:

- мягкое ограничение;

- жесткое ограничение | `shifts.N.max_duration_s`;

`shifts.N.hard_max_duration_s` | Рекомендуется не использовать на начальных запусках маршрутизации (оставить пустым). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shift-duration) | Нет||
||Максимальная продолжительность рабочего времени в смене, сек:

- мягкое ограничение, жесткое ограничение;

- штраф за факт превышения максимальной продолжительности рабочего времени в смене;

- штраф за минуту превышения максимальной продолжительности рабочего времени в смене | `shifts.N.max_working_duration_s`;

`shifts.N.hard_max_working_duration_s`;

`shifts.N.penalty.working_overtime.fixed`;

`shifts.N.penalty.working_overtime.minute` | Рекомендуется не использовать на начальных запусках маршрутизации (оставить пустым). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shift-duration) | Нет||
||Минимальное количество остановок за смену;

Штраф за каждую недостающую остановку меньше минимального количества, единицы;

Штраф за факт недостижения минимального количества остановок, единицы| `shifts.N.minimal_stops`;

`shifts.N.penalty.stop_lack.per_stop`;

`shifts.N.penalty.stop_lack.fixed` | Рекомендуется не использовать на начальных запусках маршрутизации (оставить пустым). В дальнейшем можно использовать для обязательного использования собственного транспорта. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shift-stops) | Нет||
||Максимальное количество остановок за смену;

Штраф за каждую дополнительную остановку сверх максимального количества;

Штраф за факт превышения максимального количества остановок, единицы| `shifts.N.maximal_stops`;

`shifts.N.penalty.stop_excess.per_stop`;

`shifts.N.penalty.stop_excess.fixed` | Рекомендуется не использовать на начальных запусках маршрутизации (оставить пустым). В дальнейшем можно использовать для ограничения количества точек в маршруте: для большегрузных машин (если это нельзя ограничить другими средствами, например, сервисным временем на заказах); для установки практического ограничения количества точек на маршруте (если, например, проверено на практике, что маршрут больше определенного количества точек курьер не выполнит без нарушений из-за возникновения тех или иных непредвиденных обстоятельств). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shift-stops) | Нет||
||Максимальный пробег смены, км;

Штраф за факт нарушения максимального пробега смены;

Штраф за километр нарушения максимального пробега смены| `shifts.N.max_mileage_km`;

`shifts.N.penalty.max_mileage.fixed`;

`shifts.N.penalty.max_mileage.km` | Не используйте на начальных запусках маршрутизации (оставить пустым). В дальнейшем можно использовать для ограничения пробега машин/курьеров за смену. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shift-mileage) | Нет||
||ID группы балансировки| `shifts.N.balanced_group_id` | Рекомендуется не использовать на начальных запусках маршрутизации (оставить пустым). Если возникнет потребность получать более равномерные маршруты, то можно заполнить группы балансировки на листе **Options** и в данном поле указать идентификатор группы балансировки. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/balanced-groups.md) | Нет||
||Посещенные заказы| `shifts.N.visited_locations` | В поле `shifts.N.visited_locations` можно перечислить `id` тех заказов, которые уже были назначены на данное ТС. При перечислении важна последовательность. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#visited-locations) | Нет||
|#

### Перерывы для отдыха {#vehicles-rest}

Вы можете описать простые или сложные схемы перерывов на отдых, техническое обслуживание и другие действия:

- для курьера в объекте `vehicles.rest_schedule.breaks`;

- для смены в объекте `vehicles.shifts.N.rest_schedule.breaks`. Приоритет этого перерыва выше, чем у заданного на уровне курьера.

Для одного транспортного средства/курьера можно указать несколько перерывов. Они описываются в одной строке: сначала группа полей с префиксом `rest_schedule.breaks.0`, затем с `rest_schedule.breaks.1`, `rest_schedule.breaks.2` и т.д.

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Идентификатор перерыва | `rest_schedule.breaks.N.work_break_id` | [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#rest-schedule) | Нет||
||Пресет перерывов | `rest_schedule_preset` | Возможные значения параметра:

`public_transport` — перерыв можно разбить на несколько частей продолжительностью не меньше 10 минут;

`private_transport` — перерыв можно разбить на две части: 15 и 30 минут;

`multiday_private_transport` — режим `private_transport` для многодневных маршрутов. Дополнительно к обычным перерывам добавляются:

   - ежедневный перерыв — последние 11 часов каждого буднего дня;

   - еженедельный перерыв — последние 45 часов каждой недели.

[Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#rest-schedule-presets) | Нет||
||Возможность разделить перерывы из пресета | `can_split_preset_work_breaks` | По умолчанию — TRUE. [Подробнее](https://yandex.ru/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule#rest-schedule-presets) | Нет||
||Шаблон расписания перерывов | `rest_schedule_id` | Используется, чтобы описать перерывы отдельно для каждого курьера, создать шаблоны для нескольких курьеров или для смены. В том числе, можно совмещать индивидуальные расписания и шаблонные. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#template-rest-shedule) | Нет||
||Продолжительность перерыва, сек | `rest_schedule.breaks.N.rest_duration_s` | Продолжительность перерыва (в секундах). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#rest-duration-s) | Нет||
||Условия начала перерыва:

- мягкое временное окно;

- жесткое временное окно;

- предпочтительное время до начала перерыва | `rest_schedule.breaks.N.soft_time_range`

`rest_schedule.breaks.N.hard_time_range`

`rest_schedule.breaks.N.desired_work_duration` | Мягкое временное окно `soft_time_range` и жесткое `hard_time_range` не зависят друг от друга. Их можно использовать по отдельности. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#time-range-new) | Нет||
||Возможность отдохнуть в локации с типом `rest_place` | `rest_schedule.breaks.N.at_rest_place` | Возможность отдохнуть в точке с типом `rest_place`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#time-range-rest-place) | Нет||
||Типы перерывов | `rest_schedule.breaks.N.break_type` | Возможные значения:
 
`from_start` — время работы от начала маршрута;

`from_last` — время работы от последнего перерыва (или от начала маршрута, если это первый перерыв);

`travel` — время движения и ожидания от начала маршрута;

`continuous` — время движения и ожидания от момента завершения предыдущего заказа;

`driving` — время движения от начала маршрута;

`exact` — время начала перерыва;

`before_first` — перерыв перед началом первого заказа;

`after_last` — перерыв после выполнения последнего заказа.
 
[Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#types-breaks) | Нет||
||Разделяемые перерывы:

- можно разделить на части;

- максимальное количество частей;

- минимальная продолжительность частей, сек;

- минимальная продолжительность первой части, сек;

- минимальная продолжительность последней части, сек | `rest_schedule.breaks.N.can_be_split`

`rest_schedule.breaks.N.max_split_parts`

`rest_schedule.breaks.N.min_split_part_duration_s`

`rest_schedule.breaks.N.min_first_split_part_duration_s`

`rest_schedule.breaks.N.min_last_split_part_duration_s` | Дает возможность разделить перерыв на несколько частей. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#shared-rests) | Нет||
||Вставлять перерыв в сервисное время локации | `rest_schedule.breaks.N.can_rest_during_service` | Определяет, может ли этот перерыв пересекаться с сервисным временем заказа или склада. По умолчанию — TRUE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#rest-during-service) | Нет||
||Штраф:

- за факт раннего начала перерыва, единицы;

- за минуту начала перерыва раньше срока, единицы;

- за факт позднего начала перерыва, единицы;

- за минуту начала перерыва позже срока, единицы | `rest_schedule.breaks.N.penalty.early.fixed`;

`rest_schedule.breaks.N.penalty.early.minute`;

`rest_schedule.breaks.N.penalty.late.fixed`;

`rest_schedule.breaks.N.penalty.late.minute` | Перерыв — мягкое ограничение: в некоторых случаях он может начинаться раньше или позже диапазона, определенного в поле `work_time_range_till_rest`. Алгоритм учитывает штрафы: `early` — для начала перерыва раньше срока; `late` — для начала перерыва позже срока. Чем больше значения штрафов, тем менее предпочтительно нарушение ограничения. Рекомендуется использовать значения по умолчанию (`fixed` = 1000, `minute` = 17) или пустые (тогда будут использованы значения по умолчанию). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#penalty) | Нет||
||Условия повтора | `rest_schedule.breaks.N.repeatable` | Параметр указывает, что перерыв нужно повторять. Количество и расположение повторяющихся перерывов внутри смены может быть любым. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#repeatable) | Нет||
|#

{% cut "Параметры, которые не поддерживаются в Excel" %}

- `shifts.N.penalty.unique_stop_lack.fixed`
- `shifts.N.penalty.unique_stop_lack.per_stop`
- `minimal_unique_stops`
- `shifts.N.run_restrictions.max_mileage_km.penalty.fixed`
- `shifts.N.run_restrictions.max_mileage_km.penalty.km`
- `shifts.N.run_restrictions.minimal_stops.value`
- `trailer.rolling_cost`
- `onboard_incompatible_load_types`
- `planned_runs_first`
- `close_locations.routing_mode`
- `close_locations.search_radius_m`
- `close_locations.soft_search_radius_m`
- `close_locations.duration_till_service_s.value`
- `close_locations.duration_till_service_s.penalty`
- `close_locations.distance_till_service_m.value`
- `close_locations.distance_till_service_m.penalty`
- `entire_route_incompatible_load_types`
- `max_wait_at_location_hour`
- `max_wait_at_starting_depot_hour`
- `penalty.wait_at_location`
- `penalty.wait_at_starting_depot`
- `custom_value`
- `shifts.N.cost`

{% endcut %}

## Лист Depot или Depots {#depot-depots}

На листе **Depot** содержится информация о складе, с которого будет производиться отгрузка. На данном листе заполняется только одна строка.

Если используется [несколько складов](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-start-from-any), то необходим лист **Depots**, на котором указывается любое количество складов.

Как минимум одна строка склада обязательна для заполнения. Если машины/курьеры стартуют не со склада и не возвращаются на склад в конце маршрута (то есть нет никакой точки, к которой они были бы как-то привязаны), то в качестве склада можно указать координаты любой точки, например, координаты офиса или координаты центра города.

**Depot** и **Depots** — взаимоисключающие листы, допускается только один из них.

{% note info %}

Для листа **Depot**/**Depots** достаточно заполнить следующий минимум полей:

- название склада (можно просто «Склад»);

- координаты или адрес склада;

- время работы склада (можно поставить максимально широко: 00:00-23:59 на текущие сутки планирования или 00:00-1.23:59 на текущие и следующие сутки планирования).

В остальных полях можно оставить значения по умолчанию (или оставить их пустыми) — этого будет достаточно для первого запуска задачи на маршрутизацию.

{% endnote %}

Описание допустимых полей на листах **Depot**/**Depots** приведено в таблице ниже.

### Основная информация о складе {#depots-general}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Номер склада| `id` | `id` склада не должно повторять ни один из `id` заказов (то есть `id` заказов и склада должны быть уникальны). Если `id` не заполнено, то при загрузке данных из Excel и отправке задачи на маршрутизацию оно заполняется как 0. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-id) | Да||
||Название склада;

Дополнительное название склада;

Комментарий | `ref`;

`title`;

`description` | Числовой или строковый идентификатор склада, который будет отображаться в интерфейсе **Планирования**; название склада; описание склада. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-id) | Нет||
||Широта;

Долгота | `point.lat`;

`point.lon` | Координаты точки склада: широта (`point.lat`), долгота (`point.lon`). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-coordinates) | Нет, если указывается адрес склада (при загрузке через интерфейс можно геокодировать адрес)||
||Адрес склада |` address` | Адрес для геокодирования. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-coordinates) | Нет (но если координаты склада не заполнены, то адрес указывать обязательно)||
|#

### Временные окна склада {#depots-time}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Время работы склада | `time_window` | Если нет каких-то специальных требований ко времени возврата машин на склад / пропускной способности склада, то рекомендуется указывать максимально широкое время работы склада (например, 00:00-23:59 для планирования только в рамках одного дня или 00:00-1.23:59 в рамках 2-х суток). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-time-window) | Да (если не указаны `time_windows`)||
||Временное окно | `time_windows.N.time_window` | Используйте, если окно «разорвано» в течение дня или окна отличаются в разные дни. Нельзя использовать вместе с `time_window`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-multiple-time-windows) | Да (если не указано `time_window`)||
||Жесткое временное окно доставки заказа | `hard_time_window` | Если основное окно работы склада является мягким, вокруг него можно задать жесткое временное окно. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-time-window).
**Обратите внимание**: поля `hard_time_window` и `hard_window` являются взаимоисключающими. | Нет||
||Жесткое окно, TRUE/FALSE | `hard_window` | TRUE — временное окно склада не может быть нарушено ни при каких обстоятельствах. FALSE — временное окно склада может быть нарушено (если это повлияет на более оптимальное использование ресурсов). Поле можно оставить пустым, тогда будет считаться, что временное окно мягкое (то есть его можно нарушить). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-time-window).
**Обратите внимание**: поля `hard_time_window` и `hard_window` являются взаимоисключающими. | Нет||
||Временные окна (мягкие и жесткие) для загрузки, дозагрузки или разгрузки заказов на складе| `time_windows_loading.time_window`;

`time_windows_loading.hard_time_window`;

`time_windows_refilling.time_window`;

`time_windows_refilling.hard_time_window`;

`time_windows_unloading.time_window`;

`time_windows_unloading.hard_time_window` | Для каждого типа окон может задаваться одно окно или массив окон. Если окно какого-то типа не задано, для соответствующей операции используется общее временное окно склада. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#additional-time-windows) | Нет||
||Штрафы за нарушение окон склада:

- за минуту нарушения окна, единицы;

- за факт нарушения окна, единицы;

- за факт раннего приезда, единицы;

- за минуту раннего приезда, единицы;

- за факт опоздания, единицы;

- за минуту опоздания, единицы | `penalty.out_of_time.minute`;

`penalty.out_of_time.fixed`;

`penalty.early.fixed`;

`penalty.early.minute`;

`penalty.late.fixed`;

`penalty.late.minute` | Штрафы за нарушение временного окна заказа. Оставьте значения по умолчанию (`fixed` = 1000, `minute` = 17) или пустым (в этом случае будет использовано значение по умолчанию). Изменяйте эти поля, только если это важно для вашей задачи. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#penalties-time-window-violation) | Нет||
|#
<!-- ||Время перед началом каждого рейса до готовности заказа на складе, сек | `preliminary_service_duration_s` | Указывается, если до готовности заказа необходимо выполнить предварительные операции на складе. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-service-duration) | Нет|| -->


### Сервисное время на складе {#depots-service-time}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Время обслуживания в начале рейса, сек;

Время обслуживания в конце рейса, сек | `service_duration_s`;

`finish_service_duration_s` | Необходимо заполнять с учетом временного окна [смены](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#shifts). Например, если нужно заполнить только время, которое должно добавляться только между рейсами, то можно поступить следующим образом: 1. Использовать только `service_duration_s`. 2. Время начала первой смены сделать раньше на значение `service_duration_s`. Например, водители работают с 9:00 до 17:00. Между рейсами необходимо выделить 30 минут на загрузку. В начале маршрута машины уже загружены. Если курьеры выезжают в 9:00, необходимо поставить смену с 8:30 до 17:00, а параметр `service_duration_s` сделать равным 1800 (тогда алгоритм будет считать, что работа начинается в 8:30, полчаса уходит на загрузку — то есть выезд возможен в 9:00. А в дальнейшем между рейсами будет добавляться эти полчаса). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-service-duration) | Нет||
||Запас времени при перегрузке через кросс-док | `crossdock_safety_waiting_duration_s` | Запас по времени при перегрузке через кросс-док: минимальный интервал времени, который должен пройти с момента разгрузки заказа на кросс-доке, прежде чем этот заказ можно будет забрать для доставки клиенту. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md#cross-docking) | Нет||
|#

### Пропускная способность склада {#depots-throughput}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Пропускная способность по погрузке:

- кг/час;

- мест/час | `throughput.kg_per_hour`;

`throughput.units_per_hour` | Для начальных запусков маршрутизации рекомендуется оставить эти поля пустыми. Прежде чем использовать параметры пропускной способности, рекомендуется использовать параметр `flexible_start_time`, на практике он дает такой же эффект распределения времени старта машин во времени. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-throughput) | Нет||
||Пропускная способность по погрузке в автомобилях;

Пропускная способность по погрузке, машин/час;

Окно пропускной способности по погрузке | `throughput.vehicle_count` или `throughput.vehicle_count.N.value`;

`throughput.vehicle_count.N.time_window` | Позволяет учитывать количество свободных мест для загрузки или разгрузки на складе `throughput.vehicle_count`. Если количество свободных мест зависит от времени, можно задавать разное значение параметра `throughput.vehicle_count.N.value` для временных окон `throughput.vehicle_count.N.time_window`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-throughput) | Нет||
||Штрафы за нарушение пропускной способности по погрузке:

- за факт нарушения, единицы;

- за каждый килограмм превышения пропускной способности, единицы;

- за каждое место превышения пропускной способности, единицы;

- за нарушение числа машин при загрузке или разгрузке, единицы | `penalty.throughput.fixed`;

`penalty.throughput.kg`;

`penalty.throughput.unit`;

`penalty.throughput.vehicle` | Для начальных запусков маршрутизации рекомендуется оставить эти поля пустыми. Далее можно использовать значения по умолчанию (`penalty.throughput.fixed` = 1000, `penalty.throughput.kg` = 50, `penalty.throughput.unit` = 100, `penalty.throughput.vehicle` = 100000) и корректировать их, исходя из получаемых результатов. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-throughput) | Нет||
|#
<!-- ||Пропускная способность по подготовке к погрузке, кг/час | `package_throughput.kg_per_hour` или `package_throughput.kg_per_hour.N.value`; `package_throughput.kg_per_hour.N.time_window` | Задает максимальный вес, который можно подготовить к погрузке на складе за один час. Если максимальный вес зависит от времени, можно задавать разное значение параметра для временных окон. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#package-throughput) | Нет|| -->
<!-- ||Штрафы за нарушение пропускной способности при подготовке к погрузке: фиксированный штраф; за каждый килограмм превышения пропускной способности; за каждое место, превышающее пропускную способность | `penalty.package_throughput.fixed`; `penalty.package_throughput.kg`; `penalty.package_throughput.unit` | Для начальных запусков маршрутизации рекомендуется оставить эти поля пустыми. Далее можно использовать значения по умолчанию (`penalty.package_throughput.fixed` = 1000, `penalty.package_throughput.kg` = 50, `penalty.package_throughput.unit` = 100) и корректировать их, исходя из получаемых результатов. | Нет|| -->
<!-- ||Пропускная способность по подготовке к погрузке, мест/час | `package_throughput.unit_per_hour` или `package_throughput.unit_per_hour.N.value`; `package_throughput.unit_per_hour.N.time_window` | Задает максимальное количество грузовых единиц, которое можно подготовить к погрузке на складе за один час. Можно задавать разное значение параметра для временных окон. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#сpackage-throughput) | Нет|| -->

### Прочие настройки склада {#depots-other}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Гибкое время начала маршрута, TRUE/FALSE | `flexible_start_time` | Если важно получать от сервиса требуемое время старта машины/курьера, то нужно использовать данный параметр. Если время работы курьера отсчитывается от времени начала смены, то включать данный параметр нет необходимости. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-depot.md#depot-flexible-start-time) | Нет||
||Действие опций кучности маршрутов | `use_in_proximity` | Учет склада при построении кучных маршрутов. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/grouping-routes.md) | Нет||
|#

{% cut "Параметры, которые не поддерживаются в Excel" %}

- `preliminary_service_duration_s`
- `load_service_duration_s`
- `unload_service_duration_s`
- `preload_service_duration_s`
- `postload_service_duration_s`
- `package_throughput.kg_per_hour`
- `penalty.package_throughput.fixed`
- `package_throughput.units_per_hour.1.time_window`
- `penalty.package_throughput.unit`
- `package_throughput.kg_per_hour.1.time_window`
- `penalty.package_throughput.kg`
- `package_throughput.unit_per_hour`
- `package_throughput.unit_per_unit`
- `package_throughput.kg_per_hour.1.value`
- `package_throughput.units_per_hour.1.value`

{% endcut %}

## Лист Incompatible_order_types {#incompatible-order-types}

На данном листе содержатся настройки [несовместимых типов заказов](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#order-incompatibility). Если несовместимость заказов не используется (поле `load_types` на листе **Orders**), то данный лист можно не заполнять.

На данном листе всего 2 столбца: в столбце **type** необходимо указать одно значение `load_types`, а в столбце **incompatible_load_types** перечислить через запятую значения несовместимых с ним `load_types`.

{% note info %}

Если типы заказов в столбце **incompatible_load_types** указываются в виде чисел через запятую, убедитесь, что после запятой следует пробел (например, `1, 2`). Если пробел не установлен, значение `1,2` может считываться как дробное. В этом случае правило совместимости не сработает.    

{% endnote %}

Каждую пару несовместимых `load_types` достаточно указать только один раз.

Например, если несовместимы типы 1, 2, 3 и 4, то достаточно указать такие строки:

#|
|| **type** | **incompatible_load_types** ||
|| 1 | 2, 3, 4 ||
|| 2 | 3, 4 ||
|| 3 | 4 ||
|#

## Лист Location_groups {#location-groups}

На данном листе содержатся настройки групп заказов. Если группы заказов не используются (поле [options.location_groups](https://yandex.kz/routing/doc/ru/vrp/grouping-locations.md)), то лист можно не заполнять.

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Название группы заказов | `title` | Наименование группы. Не влияет на планирование, только для удобства использования нескольких групп | Нет||
||Список идентификаторов заказов, входящих в группу | `location_ids` | Список `id` заказов, входящих в группу. Разделяются запятыми. Один заказ может входить только в одну группу | Да||
||Неразрывная группа | `solid` | По умолчанию — FALSE. Значение TRUE указывает, что группа неразрывная: заказы в ней должны выполняться без других заказов между ними. Порядок заказов в группе не фиксируется. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/grouping-locations.md) | Нет||
||Неделимая группа | `dependent` | По умолчанию — FALSE. Значение TRUE определяет, что группа неделимая: все ее заказы должны быть или выполнены, или (если невозможно доставить хотя бы один) сброшены в нераспределенные вместе. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/grouping-locations.md) | Нет||
|#

## Лист Options {#options}

На данном листе содержатся опции маршрутизации. Опции заполняются в одну строку. Для первого запуска маршрутизации значения на данном листе можно не заполнять и оставить пустыми.

Описание допустимых полей на листе **Options** приведено в таблице ниже.

### Для опозданий и нераспределенных заказов {#options-orders}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Максимально допустимая доля нераспределенных заказов | `max_drop_penalty_percentage` | По умолчанию — 100. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/routes-with-drops.md) | Нет||
||Фиксированный штраф за нарушение максимально допустимой доли нераспределенных заказов;

Штраф за каждый лишний процент отношения суммарного штрафа за нераспределенные заказы к максимально возможному |
`penalty.drop_penalty_percentage.fixed`;

`penalty.drop_penalty_percentage.per_percent` | Штрафы назначаются только при использовании параметра `max_drop_penalty_percentage`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/routes-with-drops.md) | Нет||
||Пропорциональный штраф за недоставку заказов | `weighted_drop_penalty` | По умолчанию — FALSE. Значение TRUE рекомендуется применять в сценариях, когда у заказов существенно различается вес/объем и используются ТС разного тоннажа (при этом количество ТС такое, что для развоза всех заказов их утилизация должна быть высокой) | Нет||
||Штрафовать за сервис позднее временного окна | `penalize_late_service` | По умолчанию — FALSE. Значение TRUE рекомендуется для увеличения попаданий сервисного времени в окна заказов. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/penalize-late.md) | Нет||
||Детальная информация о причинах нераспределения | `detailed_drop_reasons` | По умолчанию — FALSE. При значении TRUE в ответе возвращается детальная информация по нераспределенным заказам. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/routes-with-drops.md#detailed-drop-reasons) | Нет||
|#

### Для мультизаказов {#options-multiorders}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Объединение заказов в мультизаказы | `merge_multiorders` | Рекомендуется ставить TRUE — в большинстве случаев это ожидаемый сценарий. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#multi-orders) | Нет||
||Ожидание в мультизаказах | `wait_in_multiorders` | Если FALSE, то время `client_service_duration_s` учитывается отдельно для каждого заказа в мультизаказе. Если TRUE, то учитывается максимальное значение параметра `client_service_duration_s` из всех заказов в мультизаказе. По умолчанию — TRUE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/grouping-locations.md#multi-orders) | Нет||
||Штраф за каждый адрес мультизаказа, посещенный повторно;

За каждое повторное посещение адреса мультизаказа;

За каждого курьера, повторно посетившего адрес мультизаказа| `penalty.multiorders.per_extra_point`;

`penalty.multiorders.per_extra_visit`;

`penalty.multiorders.per_extra_vehicle` | Штрафы за повторные посещения точек мультизаказов. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/grouping-locations.md#multi-orders) | Нет||
|#

### Для заказов, разделенных на части {#options-split}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Максимальная доля разделенных заказов, % | `max_split_orders_percentage` | Ограничение максимальной доли заказов, которые могут быть разделены. Может принимать значение от 0 до 100 (по умолчанию 100). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#max-split-orders-percentage) | Нет||
||Штрафы:

- за отклонение от максимальной доли разделенных заказов;

- за каждый превышенный процент деления | `penalty.split_orders_percentage.fixed`;

`penalty.split_orders_percentage.per_percent` | Штрафы назначаются только при использовании параметра `max_split_orders_percentage`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-orders.md#max-split-orders-percentage) | Нет||
|#

### Для складов {#options-depots}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Погрузка по готовности | `load_when_ready` | Определяет сценарий погрузки заказов на складе. По умолчанию — FALSE, погрузка после готовности всех заказов. Если курьер должен начинать погрузку по мере готовности заказов, то указывается значение TRUE и определяется время готовности `location.depot_ready_time` и время на загрузку `location.depot_duration_s`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/load-when-ready.md) | Нет||
||Штраф за каждый неиспользуемый начальный, промежуточный и конечный склад|
`penalty.unused_depot.starting`;

`penalty.unused_depot.middle`;

`penalty.unused_depot.ending` | Штраф за каждый посещенный склад, у которого отсутствуют загруженные и выгруженные заказы. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/options-unused-depots.md)| Нет||
|#

### Для прочих точек {#options-points}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Координаты точки, для которой задается пропускная способность |
`points_throughputs.N.point.lat`;

`points_throughputs.N.point.lon` | Рекомендуется не использовать на начальных запусках маршрутизации. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/points-throughputs.md) | Нет||
||Пропускная способность точки:

- кг/час;

- мест/час;

- автомобилей/час | `points_throughputs.N.throughput.kg_per_hour`;

`points_throughputs.N.throughput.unit_per_hour`;

`points_throughputs.N.throughput.vehicle_count` | Рекомендуется не использовать на начальных запусках маршрутизации. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/points-throughputs.md) | Нет||
||Штраф за нарушение пропускной способности точки:

- фиксированный;

- за каждый килограмм превышения пропускной способности точки;

- за каждое место, превышающее пропускную способность точки;

- за каждое превышение количества автомобилей, одновременно загружаемых или разгружаемых в точке | `points_throughputs.N.penalty.throughput.fixed`;

`points_throughputs.N.penalty.throughput.kg`;

`points_throughputs.N.penalty.throughput.unit`;

`points_throughputs.N.penalty.throughput.vehicle` | Для начальных запусков маршрутизации рекомендуется оставить эти поля пустыми. Далее можно использовать значения по умолчанию (`penalty.throughput.fixed` = 1000, `penalty.throughput.kg` = 50, `penalty.throughput.unit` = 100, `penalty.throughput.vehicle` = 100000) и корректировать их, исходя из получаемых результатов. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/more-about-penalties.md#points-throughputs) | Нет||
|#

### Для курьеров и автомобилей {#options-vehicles}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Исключенные зоны | `avoid_zones` | Зоны, которые нельзя посещать ни одному курьеру. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/options-geozones.md#avoid-zones) | Нет||
||Исключенные зоны с временными окнами:

‐ название зоны;

‐ временной интервал, в который нужно ограничить посещение | `avoid_zones_schedule.N.id`;

`avoid_zones_schedule.N.schedule.N` | Зоны, которые нельзя посещать ни одному курьеру в заданные временные интервалы. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/options-geozones.md#avoid-zones) | Нет||
||Признак учета характеристик грузовых автомобилей по классам | `enable_vehicle_classes` | Если включено, то для расчета вместимости грузовых автомобилей используются спецификации 21 класса. По умолчанию — TRUE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles.md#vehicle-properties) | Нет||
||Зафиксировать смены | `fix_planned_shifts` | Используется при необходимости зафиксировать смены курьера, которые заданы в `planned_route`. По умолчанию — FALSE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#planned-route) | Нет||
||Распределение проблемных заказов | `haversine_fallback` | При включенной опции если заказ находится в исключенной зоне, то он будет запланирован, но длина отрезка маршрута будет считаться равной пятикратному расстоянию до точки заказа по воздуху. По умолчанию — FALSE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/options-geozones.md#haversine-fallback) | Нет||
||Учет минимального количества остановок только для используемых машин | `ignore_min_stops_for_unused` | Используется при необходимости оптимизировать количество автомобилей на маршруте и при наличии требования минимального количества остановок. По умолчанию — FALSE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/optimization-count.md) | Нет||
||Несовместимые геозоны | `incompatible_zones.N` | Зоны, которые ТС или курьер не может посещать в одном рейсе. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/options-geozones.md#incompatible-zones) | Нет||
||Способ передвижения | `routing_mode` | Заполняется только если все ТС/курьеры используют одинаковый способ передвижения. Если способы передвижения различаются, задается аналогичный параметр отдельно для каждого ТС. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/routing-mode.md) | Нет||
||Шаблоны перерывов | `template_rest_schedules.N.` | Позволяет описать перерывы отдельно для каждого курьера, создать шаблоны для нескольких курьеров или для смены. Чтобы создать шаблон, в параметре `template_rest_schedules` укажите массив расписаний. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-rest-schedule.md#template-rest-shedule) | Нет||
|#

### Для маршрутов {#options-routes}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Штраф за час отклонения от среднего по времени маршрута;

Штраф за отклонение от среднего количества остановок;

Штраф за отклонение от среднего по `custom_value` маршрута;

Штраф за км отклонения от среднего по расстоянию маршрута;

Штраф за отклонение от среднего количества заказов;

Штраф за отклонение от среднего количества мест на маршруте;

Штраф за кг отклонения от среднего по массе маршрута;

Игнорировать неиспользуемые а/м при расчетах штрафа |
 `balanced_groups.N.penalty.hour`;

`balanced_groups.N.penalty.stop`;

`balanced_groups.N.penalty.custom_value`;

`balanced_groups.N.penalty.km`;

`balanced_groups.N.penalty.served_order`;

`balanced_groups.N.penalty.unit`;

`balanced_groups.N.penalty.weight_kg`;

`balanced_groups.N.penalty.ignore_unused_vehicles` | Рекомендуется оставить значения по умолчанию и не использовать на начальных запусках маршрутизации. Если возникнет необходимость получать более равномерные маршруты, то можно заполнить группы балансировки и для начала использовать значения по умолчанию. Затем можно постепенно менять эти настройки, исходя уже из получаемых результатов. Может быть указано несколько групп балансировки. Все они заполняются в одну строку по следующему принципу: сначала указывается группа полей с префиксом `balanced_groups.0`, затем `balanced_groups.1`, `balanced_groups.2` и так далее. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/balanced-groups.md) | Нет||
||Минимизация рисков опоздания | `minimize_lateness_risk` | Рекомендуется оставить FALSE (это значение по умолчанию) и не использовать на начальных запусках маршрутизации. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/minimize-lateness-risk.md) | Нет||
||Глобальный фактор кучности маршрута | `global_proximity_factor` | Рекомендуется оставить 0 (это значение по умолчанию) и не использовать на начальных запусках маршрутизации. Диапазон значений: от 0 до 10. Чем больше значение, тем выше кучность маршрутов. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/grouping-routes.md) | Нет||
||Фактор близости местоположения заказов | `proximity_factor` | Рекомендуется оставить 0 (это значение по умолчанию) и не использовать на начальных запусках маршрутизации. Если возникнет потребность получать более сгруппированные маршруты, то данное значение можно постепенно повышать с небольшим шагом (например, 0.1). Если география точек по определению имеет большой разброс (например, город и область), то не рекомендуется использовать большие значения (больше 0,5). [Подробнее](https://yandex.kz/routing/doc/ru/vrp/grouping-routes.md) | Нет||
|#

### Прочие опции {#options-other}

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Избегать платные дороги| `avoid_tolls` | Если нет специальных требований по использованию платных дорог, то рекомендуется оставить FALSE (это значение по умолчанию) и не использовать на начальных запусках маршрутизации. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/avoid-tolls.md) | Нет||
||Матричный роутер | `matrix_router` | Определяет алгоритм, который используется для планирования маршрута. По умолчанию — `main`, используется для России, Турции и стран СНГ. Для остальных стран указывается значение `global`. Для расчета расстояния напрямую, без учета пробок — `geodesic`. | Нет||
||Дооптимизация| `post_optimization` | По умолчанию — FALSE. Значение TRUE рекомендуется применять в сценариях, когда используется балансировка с большими штрафами или географическая группировка с большими значениями `global_proximity_factor`. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/post-optimization.md) | Нет||
||Повторная оптимизация для распределенных заказов при наличии нераспределенных | `restart_on_drop` | Повторный запуск задачи планирования, если большое число заказов остались нераспределенными. По умолчанию — FALSE. [Подробнее](https://yandex.kz/routing/doc/ru/vrp/routes-with-drops.md#restart-on-drop) | Нет||
|#


{% cut "Параметры, которые не поддерживаются в Excel" %}

- `close_location_groups_radius_m`
- `penalty.close_location_groups.per_extra_point`
- `penalty.close_location_groups.per_extra_vehicle`
- `penalty.close_location_groups.per_extra_visit`
- `close_locations_during_post_optimization_only`
- `template_rest_schedules.breaks`
- `template_rest_schedules.breaks.penalty.early.fixed`
- `template_rest_schedules.breaks.penalty.late.fixed`
- `template_rest_schedules.breaks.penalty.early.minute`
- `template_rest_schedules.breaks.penalty.late.minute`
- `penalty.small_order_part_before_big.scaled`
- `ignore_zones`
- `max_depot_load_range_days`
- `max_total_vehicles_custom_value`
- `penalty.vehicles_custom_values_excess.fixed`
- `penalty.vehicles_custom_values_excess.per_value`

{% endcut %}

## Лист Routes {#routes} 

Данный лист заполняется в следующих ситуациях:

- когда нужно учесть в планировании результаты предыдущего планирования (Подробнее см. [Допланирование](https://yandex.kz/routing/doc/ru/vrp/supported-use-cases.md)), данный лист повторяет ситуацию с допланированием, когда машины еще не выехали со склада;

- когда необходимо смоделировать уже готовое планирование, например, [планирование логиста](https://yandex.kz/routing/doc/ru/vrp/comparison-manual-automatic.md), или рассчитать метрики такого планирования. Обратите внимание, что по умолчанию алгоритм будет оптимизировать последовательность развоза заказов, указанных для этого ID машины.

Если необходимо учесть порядок заказов, то используйте опцию `vehicle.fixed_planned_route` = `true` (см. в разделе [Запланированный маршрут](https://yandex.kz/routing/doc/ru/vrp/properties-of-vehicles-routes.md#planned-route)). Тогда будет важен порядок строк — для этого ID машины будет считаться, что заказы развозятся в том порядке, в котором они перечислены: сверху вниз.

#|
||**Группа полей Excel**|**Атрибуты**|**Комментарий к заполнению**|**Обязательное поле**||
||Идентификатор машины | `vehicle_id` | Идентификатор машины/курьера, для которого определен набор назначенных заказов. | Да (если используется лист Routes)||
||Порядковый номер смены | `shift_index` | Номер смены, используемый в шаблоне Excel (0, 1, 2…) | Да (если используется лист Routes)||
||Идентификатор заказа | `location_id` | Идентификатор заказа, который был назначен на данную машину/курьеру. | Да (если используется лист Routes)||
||Время начала маршрута | `start_time` | Заполняется только для первого заказа. Время старта, которое необходимо использовать для данного маршрута. Можно не заполнять, тогда время будет выбрано исходя из остальных параметров планирования. | Нет||
|#

<!-- source: ru/vrp/_includes/feedback.md -->
<a href="feedback">
  <span class="button">Написать в службу поддержки</span>
</a>




<!-- source: ru/_includes/neuroexpert.md -->



<!-- endsource: ru/_includes/neuroexpert.md -->
<!-- endsource: ru/vrp/_includes/feedback.md -->
