Свойства складов
- Идентификатор склада
- Координаты склада
- Тип склада
- Временное окно склада
- Окна для загрузки, разгрузки и дозагрузки
- Включение и выключение опций кучности
- Сервисное время на складе
- Гибкое время старта
- Доставка с одного из нескольких складов
- Пропускная способность склада
- Штрафы за нарушение временного окна склада
Склад — это точка, в которой начинаются и могут заканчиваться все маршруты. Если у вас есть курьеры, которые должны стартовать не со склада, ознакомьтесь с инструкцией Старт автомобиля не со склада.
Для определения складов используется поле запроса depot
/depots
.
Идентификатор склада
Обязательным атрибутом склада является уникальный числовой или строковый идентификатор, который задается в поле id
. Идентификатор должен быть уникальным в пределах одного запроса.
Внимание
Идентификатор склада не должен совпадать с идентификаторами заказов.
Дополнительно вы можете указать числовой или строковый идентификатор склада из вашей учетной системы в поле ref
— этот идентификатор будет отображаться в полученном решении в разделе Планирование.
Кроме того, вы можете указать название склада в поле title
— это поле не будет отображаться в интерфейсе, но будет передано в решении. В поле description
можно оставить описание склада или комментарий. При экспорте решения в маршрутный лист значение поля title
отобразится в столбце Клиент/Склад, а значение поля description
— в столбце Комментарий.
Координаты склада
Маршрутизация поддерживает определение местоположения склада в виде географических координат в системе WGS84, соответствующих точке адреса склада. Координаты указываются в поле point
в виде пары значений: point.lat
(широта) и point.lon
(долгота).
Внимание
Координаты 0,0
не будут обработаны корректно и приведут к ошибке при запросе Маршрутизации.
При планировании через Excel можно указать только адрес склада в поле address
, в этом случае будет выполнено геокодирование — определение координат по указанному адресу. Подробнее см. в разделе Карта.
Тип склада
По умолчанию все склады имеют тип depot
. Но могут использоваться промежуточные площадки, на которых осуществляется перевалка, переконсолидация или догрузка товара. У таких складов поле type
устанавливается в значение crossdock
. Работа с такими складами описана в сценариях кросс-докинга.
Временное окно склада
Склад, определенный в запросе, должен иметь временное окно, задающее часы работы склада.
Для определения времени работы склада используется поле time_window
.
Временное окно определяется в одном из следующих форматов:
-
07:00:00 – 23:00:00
— временное окно начинается в 7 утра и заканчивается в 23 вечера текущего дня; -
2019-10-10T07:00:00+03:00/2019-10-10T23:00:00+03:00
— временное окно на конкретную дату и часовой пояс (читается как YYYY-MM-DDThh:mm:ss±hh:mm).
В зависимости от типа временного окна автомобили, которые должны закончить маршрут на складе, могут возвращаться строго до конца времени работы склада (жесткое временное окно) или нарушать данный лимит (мягкое временное окно). Подробнее функциональность описана в разделе Жесткие и мягкие окна.
Для управления жесткими временными окнами используется поле hard_window
:
-
true
— временное окно будет жестким. -
false
— временное окно будет мягким.
В случае определения мягкого временного окна можно дополнительно задать штрафы за его нарушение. Подробнее функциональность описана в разделе Штрафы за нарушение временного окна склада.
Чтобы ограничить допустимые нарушения основного окна, можно задать жесткое окно вокруг мягкого.
Примечание
Поля hard_time_window
и hard_window
являются взаимоисключающими.
Старт со склада также возможен до начала временного окна. Подробно этот кейс рассмотрен в разделе Гибкое время старта.
Примечание
При указании временного окна склада требуется учитывать кейсы, когда автомобилю необходимо возвращаться на склад. Если автомобиль не успевает вернуться на склад и окно склада жесткое, часть заказов может остаться недоставленной. Если есть сомнения, лучше указывать время работы склада на все время планирования и делать его гибким.
Несколько временных окон склада
При необходимости для склада можно указать несколько временных окон. Это используется в следующих ситуациях:
-
Есть перерыв в работе склада. Например, перерыв на обед.
-
Если курьер выполняет многодневный маршрут. Например, заказы нужно доставить в указанное время, но в один из дней доставки, а в работе склада есть перерыв, который может повлиять на загрузку заказов.
-
Если курьеру планируются заказы на несколько дней, и какие-то заказы можно забрать или доставить только в определенный день.
В поле time_windows
указывается массив элементов. Каждый элемент этого массива содержит обязательное поле time_window
. Заказы будут загружены на складе в одно из возможных окон, и в поле used_time_window
ответа API будет содержаться информация об использованном временном окне.
Внимание
Окна time_window
не должны пересекаться между собой. Например, недопустимо одновременно указывать окна с 9:00 до 12:00 и с 11:00 до 14:00.
Для каждого временного окна склада может быть задано дополнительное (внешнее) жесткое окно. Оно используется, чтобы ограничить допустимое время нарушения основного окна, и определяется с помощью параметра hard_time_window
.
Пример
Курьер доставляет 10 заказов, часть из которых необходимо доставить в первой половине дня, а часть во второй. Склад работает с перерывом на обед с 13 до 14. Курьер доставляет часть заказов и возвращается на дозагрузку во время перерыва в работе склада. После окончания перерыва загружает и доставляет оставшиеся заказы.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Окна для загрузки, разгрузки и дозагрузки
Помимо временных окон, задающих часы работы, для склада можно задать дополнительные окна, ограничивающие отдельные операции:
time_windows_loading
— окна загрузки — определяют время, когда курьер посещает склад первый раз за смену.time_windows_unloading
— окна разгрузки — определяют время, когда курьер посещает склад последний раз за смену.time_windows_refilling
— окна дозагрузки — определяют время, когда курьер приезжает на склад для дозагрузки. Это может быть основной склад или промежуточный.
В дополнительные временные окна попадает начало посещения склада, но не всегда попадает время обслуживания. Чтобы все время обслуживания было внутри дополнительного временного окна, на листе Options включите опцию penalize_late_service
= true
.
Примечание
Если какое-то дополнительное окно не задано, для соответствующей операции используется общее временное окно склада.
Для склада может быть задано несколько дополнительных окон каждого вида. В этом случае они задаются с помощью массива time_windows
.
Для дополнительного окна может быть указан один из параметров:
-
hard_window
— определяет, каким является дополнительное окно: жестким или мягким (задается для всего массива дополнительных окон каждого типа).- При наличии жесткого дополнительного окна в маршрут могут добавляться ожидания, а при невозможности выполнить условия часть заказов может попасть в список нераспределенных.
- При наличии мягкого дополнительного окна обязательно должен быть задан хотя бы один штраф, который будет начисляться при нарушении.
-
hard_time_window
— задает жесткое временное окно вокруг мягкого (задается отдельно для каждого параметраtime_window
).
Пример 1
У склада есть общее временное окно 7:00–21:00
. В дополнение к нему заданы окна:
- на загрузку — жесткое окно
7:00–9:00
; - на дозагрузку — мягкие окна
11:00–12:00
и14:00–15:00
; - на разгрузку — жесткое окно
17:00–20:00
вокруг мягкого18:00–19:00
.
У автомобиля присутствует ограничение по весу — максимум 200 кг. Поскольку все заказы тяжелее 100 кг, курьер каждый раз возвращается на склад для дозагрузки.
В этих условиях оптимальный маршрут построен следующим образом:
- В первый раз за смену курьер загружает заказ 1 и укладывается в окно загрузки. После доставки заказа он возвращается на склад как раз к началу первого окна дозагрузки.
- Во втором рейсе курьер забирает со склада заказ 2, отвозит его, снова возвращается на склад и ожидает 44 минуты начала второго окна дозагрузки.
- В третьем рейсе курьер забирает со склада заказ 3, отвозит его и забирает заказ 4.
- В конце смены курьер возвращается на склад, чтобы разгрузить заказ 4 — он опаздывает на 33 минуты относительно мягкого окна разгрузки, но укладывается в жесткое.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Временное окно склада — с 3:00 до 23:00 (depot.time_window
= 03:00:00 - 23:00:00
). В дополнение к нему заданы:
- жесткое окно для загрузки с 4:00 до 7:45 (
time_windows_loading
=04:00:00 - 07:45:00
); - длительность обслуживания склада — 45 минут (
depot.service_duration_s
=2700
).
В смене работают два курьера. Первый начинает работу в 7:00. Он посещает склад в 7:14 и заканчивает загрузку в 7:59. Смена второго курьера начинается в 5:00. Он прибывает на склад в 5:02 и заканчивает загрузку в 5:47.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
То же, что и в примере 2, но дополнительно требуется, чтобы все время обслуживания склада попадало в дополнительное временное окно. Для этого задана опция options.penalize_late_service
= true
.
Первый курьер посещает склад в 7:00 и заканчивает загрузку в 7:45. В результате он укладывается в окно загрузки. Второй курьер также попадает в окно загрузки.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Включение и выключение опций кучности
Опция depot.use_in_proximity
точечно отключает options.proximity_factor и options.global_proximity_factor, которые отвечают за кучность маршрутов.
По умолчанию depot.use_in_proximity
= true
, то есть опции кучности действуют на все склады. Подробнее см. в разделе Кучные маршруты.
Сервисное время на складе
Склад в Маршрутизации поддерживает определение общего сервисного времени, которое любой автомобиль или курьер должен провести на складе. Общее сервисное время на складе может использоваться, чтобы учитывать время на оформление документов для курьера или чтобы усреднить время на загрузку автомобиля:
-
depot.preliminary_service_duration_s
— время перед началом каждого рейса до готовности заказа на складе; -
depot.service_duration_s
— время перед началом каждого рейса после готовности заказа на складе; -
depot.load_service_duration_s
— время на загрузку в автомобиль заказов типаdelivery
. Прибавляется ко времени обслуживания склада, если на нем загружается хотя бы одинdelivery
заказ; -
depot.unload_service_duration_s
— время на выгрузку из автомобиля заказов типаpickup
. Прибавляется ко времени обслуживания склада, если на нем выгружается хотя бы одинpickup
заказ; -
depot.finish_service_duration_s
— время перед завершением каждого рейса.
Если время готовности заказа не используется, то нет необходимости указывать preliminary_service_duration_s
— достаточно указать service_duration_s
как суммарное время.
Примечание
Можно задавать время загрузки на складе, специфичное для каждого заказа — подробнее об этом в разделе Сервисное время на загрузку или выгрузку заказа на складе.
Пример 1
Зададим сервисное время в 10 минут в начале и в конце любого маршрута на складе, который начинает работу в 07:00.
В построенном маршруте время прибытия на первый заказ составит 07:28, при том что поездка до первого заказа занимает 18 минут. Таким образом, автомобиль провел на складе 10 минут перед началом поездки.
В конце маршрута время прибытия на склад составляет 07:53. К этому времени прибавляется 10 минут сервисного времени, что отражено в метрике общей длительности всего маршрута.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
В примере 3 заказа, и каждый заказ занимает 100% вместимости автомобиля, поэтому планируется 3 отдельных рейса. Видно, что время depot.service_duration_s
и depot.finish_service_duration_s
добавляется соответственно в начале и в конце каждого рейса.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
Заказ будет готов к отгрузке со склада в 08:00:00 (location.depot_ready_time
). До готовности заказа необходимо выполнить предварительные операции на складе в течение 30 минут (depot.preliminary_service_duration_s
). С момента готовности заказа на обслуживание будет затрачено 10 минут (depot.service_duration_s
). Итого общее сервисное время — с 07:30:00 до 08:10:00.
Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Гибкое время старта
По умолчанию курьеры начинают движение со склада сразу после его открытия (или начала смены курьера) и окончания загрузки заказов. При этом значение параметра depot.flexible_start_time
указано false
.
Если указать значение параметра true
— старт со склада будет планироваться не с границы начала временного окна склада или смены курьера, а позже.
Пример 1
Смена курьера начинается в 09:00, склад начинает работать с 08:30. Параметр depot.flexible_start_time
указан как false
. При планировании будет учитываться, что любой полученный маршрут у этого курьера должен начинаться в 09:00, даже если окно первого заказа с 13:00 до 14:00, а курьеру со склада до заказа ехать всего 15 минут.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Смена курьера начинается в 09:00, склад начинает работать с 08:30. Параметр depot.flexible_start_time
указан как true
. Если окно первого заказа будет с 13:00 до 14:00, а курьеру со склада до заказа ехать всего 15 минут, планировщик может спланировать курьеру выезд со склада не в 09:00, а позже (например, в 12:30), если не будут нарушены другие ограничения.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Доставка с одного из нескольких складов
Иногда товар находится на нескольких складах, и при планировании нужно выбрать, с какого склада выполнять доставку. Если известно, с каких складов должен отгружаться определенный заказ, используйте параметр location.depot_id. В значении параметра укажите массив из id
этих складов.
Для транспортных средств можно задать, с каких складов они стартуют — это будет обозначать привязку заказа к складам.
Вес, объем и габариты заказа не должны превышать вместимость склада. В этом случае курьер сможет забрать и доставить заказ. Чтобы определить жесткие ограничения вместимости для склада, укажите их на листе Depot с помощью delivery_capacity
.
Вместимость может быть ограничена по следующим параметрам:
- вес (
delivery_capacity.weight_kg
); - количество занимаемых мест (
delivery_capacity.units
); - габариты (
delivery_capacity.volume
).
Штраф за нарушение фиксируется в метрике total_delivery_capacity_penalty
ответа API.
Если значения ограничений должны быть в пользовательских единицах измерения, задайте параметры:
delivery_capacity.custom.<порядковый-номер>.name
— имя пользовательской единицы измерения;delivery_capacity.custom.<порядковый-номер>.size
— размер склада по пользовательской единице измерения. По умолчанию —0
.
При необходимости укажите несколько пользовательских единиц измерения и присвойте им любые названия.
Пример 1
Даны два автомобиля, два склада и три заказа.
Автомобили стартуют с определенных складов:
-
Первый автомобиль — со склада 1.
-
Второй автомобиль — со склада 2.
В результате планирования:
- Первый автомобиль обслуживает заказ 3 со склада 1.
- Второй автомобиль обслуживает заказы 1 и 2 со склада 2.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
То же, что в примере 1, но заказы привязаны к складам:
- Заказ 1 — к складам 1 и 2.
- Заказ 2 — к складу 1.
- Заказ 3 — к складу 2.
В результате планирования:
- Первый автомобиль обслуживает заказы 1 и 2 со склада 1.
- Второй автомобиль обслуживает заказ 3 со склада 2 .
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
2 курьера доставляют 5 заказов типа delivery
. Заказы 1 и 2 привязаны к складу 1, заказы 3-5 — к складу 2.
Курьер 1 стартует с первого склада. Габариты заказа 1 превышают габариты склада. При планировании заказ 1 останется нераспределенным. Курьер сможет забрать и доставить только заказ 2.
Курьер 2 стартует со второго склада. Габариты заказов 3-5 не превышают габариты склада. Курьер сможет доставить все три заказа.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пропускная способность склада
Пропускная способность склада зависит как от скорости погрузки заказов в автомобили, так и от скорости подготовки заказов к погрузке (например, расфасовки или упаковки). Часто процессы подготовки и погрузки заказов ведутся параллельно — пока подготовленные ранее заказы загружаются в автомобили, следующая партия заказов готовится к погрузке. При этом скорость подготовки и скорость погрузки заказов могут не совпадать (например, подготовка заказа занимает в среднем 5 минут, а погрузка — 1,5 минуты). Временные окна процессов подготовки и погрузки заказов также могут не совпадать (например, подготовка заказов начинается заранее).
Для склада можно задать пропускную способность отдельно по каждому из этих процессов.
Правильно указанная пропускная способность позволит спланировать реалистичное время выезда автомобилей со склада.
Скорость загрузки автомобилей на складе
Для ограничения скорости загрузки используется поле запроса depot.throughput
. Можно задать одно из ограничений:
-
throughput.kg_per_hour
— пропускная способность по погрузке в кг/час; -
throughput.units_per_hour
— пропускная способность по погрузке в единицах/час (паллеты, коробки, кеги); -
throughput.vehicle_count
— пропускная способность по погрузке в автомобилях. Параметр позволяет учитывать наличие у склада свободных мест для погрузки. У такого места может одновременно стоять только один автомобиль.
Пропускная способность склада может изменяться в зависимости от времени суток (например, если в часы пик работает больше погрузчиков). Для каждого временного интервала N
нужно задать пару полей, которые определяют:
- временное окно —
throughput.kg_per_hour.N.time_window
,throughput.units_per_hour.N.time_window
илиthroughput.vehicle_count.N.time_window
; - пропускную способность в этом временном окне —
throughput.kg_per_hour.N.value
,throughput.units_per_hour.N.value
илиthroughput.vehicle_count.N.value
.
При задании значений этих параметров следует учитывать ограничения:
- Окна пропускной способности не должны пересекаться друг с другом.
- Если окна пропускной способности в сумме не покрывают время работы склада, то в промежутках между окнами пропускная способность считается равной 0.
- Окна пропускной способности могут выходить за границы времени работы склада, чтобы учитывать ситуации, когда автомобиль приезжает до начала работы или после завершения работы склада.
Если для заказа задано время погрузки на складе, оно будет также учитываться в дополнение к весу или количеству единиц заказа при проверке ограничения пропускной способности.
Если время погрузки не зависит от характеристик заказов, а определяется исключительно складом и автомобилем, используйте поле vehicle.depot_extra_service_duration_s
. В поле необходимо указать время в секундах, которое понадобится для загрузки сверх времени обслуживания самого склада. Подробнее об этом параметре см. в разделе Сервисное время погрузки на складе.
Внимание
Чтобы при планировании учесть пропускную способность склада:
-
Включите гибкое время старта.
-
Задайте сервисное время на складе и/или сервисное время на загрузку заказа на складе.
Значение сервисного времени на загрузку заказа на складе
service_duration_s
рекомендуется устанавливать не менее 10 минут (600 секунд).
При нарушении пропускной способности склада по погрузке начисляются штрафы:
-
depot.penalty.throughput.fixed
— за каждый случай нарушения; -
depot.penalty.throughput.kg
— за каждый килограмм превышения относительно ограниченияthroughput.kg_per_hour
; -
depot.penalty.throughput.unit
— за каждую грузовую единицу превышения относительно ограниченияthroughput.units_per_hour
; -
depot.penalty.throughput.vehicle
— за нарушение количества автомобилей при загрузке или разгрузке.
Значения штрафов по умолчанию см. в соответствующем разделе.
При раннем приезде или опоздании автомобиля на склад начисляются штрафы и за нарушение временного окна склада, и за превышение количества автомобилей при загрузке или разгрузке depot.penalty.throughput.vehicle
. Чтобы избежать двойного штрафования, задайте окна пропускной способности так, чтобы они выходили за границы времени работы склада и учитывали возможные ранние приезды и опоздания автомобилей.
Пример 1
В примере 20 заказов. Суммарное количество грузовых единиц — 1170. Сервисное время на складе — 1 час. Ограничение пропускной способности не задано, поэтому в решении все курьеры стартуют примерно в одно время с расчетом на то, что все заказы можно загрузить одновременно.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
То же, что и в примере 1, но для склада задано ограничение для одновременной загрузки автомобилей при помощи параметра throughput.vehicle_count
= 3. Тогда на складе одновременно загружаются не более 3 автомобилей: сначала автомобили 2, 3 и 4, а после автомобиль 1.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
То же, что и в примере 1, но для склада задано ограничение для одновременной загрузки автомобилей при помощи параметра throughput.vehicle_count
. При этом в разные промежутки времени пропускная способность склада разная:
-
06:00 — 07:30
— 2 автомобиля; -
07:30 — 22:00
— 1 автомобиль.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 4
То же, что и в примере 1, но у склада добавлено ограничение пропускной способности по погрузке — throughput.units_per_hour
= 300, т.е. за час можно загрузить лишь 300 единиц. Это позволило реалистично распределить загрузку заказов. Теперь курьеры прибывают на склад, дождавшись окончания загрузки предыдущего курьера.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Скорость подготовки заказов к погрузке
Для ограничения скорости подготовки заказов к погрузке используется поле depot.package_throughput
. Можно задать одно из ограничений:
-
package_throughput.kg_per_hour
— пропускная способность по подготовке к погрузке в кг/час; -
package_throughput.units_per_hour
— максимальное количество грузовых единиц, которое можно подготовить к погрузке на складе за один час.
Пропускная способность по подготовке к погрузке может изменяться в зависимости от времени суток (например, если в часы пик на упаковке и фасовке занято больше сотрудников склада). Для каждого временного интервала N
нужно задать пару полей, которые определяют:
- временное окно —
package_throughput.kg_per_hour.N.time_window
илиpackage_throughput.units_per_hour.N.time_window
; - пропускную способность в этом временном окне —
package_throughput.kg_per_hour.N.value
илиpackage_throughput.units_per_hour.N.value
.
При задании значений этих параметров следует учитывать ограничения:
- Окна пропускной способности не должны пересекаться друг с другом.
- Если окна пропускной способности в сумме не покрывают время работы склада, то в промежутках между окнами пропускная способность считается равной 0.
- Окна пропускной способности могут выходить за границы времени работы склада, чтобы учитывать ситуации, когда автомобиль приезжает до начала работы или после завершения работы склада.
Если при планировании пропускная способность склада по подготовке к погрузке превышена, за это начисляются штрафы:
-
depot.penalty.package_throughput.fixed
— за каждый случай нарушения; -
depot.penalty.package_throughput.kg
— за каждый килограмм превышения относительно ограниченияpackage_throughput.kg_per_hour
; -
depot.penalty.package_throughput.unit
— за каждую грузовую единицу превышения относительно ограниченияpackage_throughput.unit_per_hour
.
Значения штрафов по умолчанию см. в соответствующем разделе.
Пример 5
То же, что в примере 1, но задано ограничение пропускной способности по подготовке заказов к погрузке: с 6 до 10 часов утра на складе можно упаковать за час 180 единиц, а с 10 утра до 22 часов вечера — 120 единиц. За нарушение пропускной способности при подготовке заказов к погрузке назначен штраф penalty.package_throughput.unit
= 100.
Чтобы своевременно отправить автомобили в рейс, ограничение пропускной способности склада по подготовке заказов к погрузке было нарушено, поэтому начислен штраф total_depot_penalty
= 9500.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Штрафы за нарушение временного окна склада
Данный штраф добавляется к общей стоимости маршрута, если автомобиль выезжает со склада раньше временного окна работы склада или возвращается на склад позже временного окна работы склада.
Примечание
Такое поведение возможно только в случае определения мягкого временного окна. Если нарушается жесткое окно, то заказ автоматически помечается как недоставленный и исключается из всех маршрутов.
Штраф за несвоевременный приезд на склад позволяет нарушать временное окно работы склада, если нет возможности загрузить заказы в автомобиль в рамках установленного временного окна.
Для управления своевременностью приезда на склад в Маршрутизации могут использоваться следующие объекты:
-
depot.penalty.early
— устанавливает штраф за прибытие на склад раньше временного окна; -
depot.penalty.late
— устанавливает штраф за возвращение на склад позже временного окна; -
depot.penalty.out_of_time
— устанавливает единые штрафы как за раннее прибытие на склад, так и за позднее возвращение.
Если depot.penalty.early
и depot.penalty.late
не заданы, то используются значения из depot.penalty.out_of_time
(то есть early
и late
работают как переопределение out_of_time
).
Каждый объект состоит из двух полей:
-
fixed
— фиксированный штраф за факт несвоевременного приезда на склад; -
minute
— штраф за каждую минуту несвоевременного приезда на склад.
Если в depot.penalty.early
или depot.penalty.late
задано только одно значение (fixed
или minute
), то второе берется из depot.penalty.out_of_time
. Например, может быть задано только depot.penalty.late.fixed
. Тогда при опоздании на склад в качестве штрафа за каждую минуту будет использоваться depot.penalty.out_of_time.minute
.
Примечание
Вышеперечисленные поля имеют значения по умолчанию, которые рекомендуется использовать в качестве стартовых значений при определении пользовательских приоритетов приезда на склад.
При сомнениях свяжитесь с аналитиками Яндекс Маршрутизации для определения корректных коэффициентов.