Режим труда и отдыха
По умолчанию сервис планирует маршрут только с остановками, которые необходимы для доставки грузов. Однако часто курьеры не работают без остановок: им нужно делать перерыв на обед, и это надо учитывать при построении маршрутов. Также на дальних рейсах есть требование соблюдать режим труда и отдыха, когда водитель обязан останавливаться после определенного времени движения.
Перерывы
Чтобы управлять режимом работы курьеров, используйте объект vechicle.rest_schedule.breaks
. Вы можете описать простые или сложные схемы перерывов на отдых, техническое обслуживание и другие действия:
- для курьера в объекте
vehicles.rest_schedule.breaks
; - для смены в объекте
vehicles.shifts.N.rest_schedule.breaks
. Приоритет этого перерыва выше, чем у заданного на уровне курьера.
Примечание
Перерывы на уровне смен не объединяются с перерывами курьера, а заменяют их.
Для каждого перерыва можно указать уникальный идентификатор:
- если перерыв задается на уровне курьера, укажите идентификатор на листе Vehicles в поле
rest_schedule.breaks.N.work_break_id
; - если перерыв задается на уровне смены, — в поле
shifts.N.rest_schedule.breaks.N.work_break_id
.
Идентификаторы, которые указываются для одного расписания rest_schedule
, должны быть уникальными и иметь одинаковый формат: строковый или числовой.
Пример 1
За две смены курьер должен развезти 10 заказов. На уровне смен перерывы не определены. На уровне курьера предусмотрен перерыв длительностью 1 час (rest_duration_s
= 3600) через час-полтора после начала смены (from_start
= 01:00 - 01:30
).
В результате курьер отправится на перерыв дважды: по одному разу в каждую смену. Перерыв первой смены начнется в 10:15, а перерыв второй смены — в 15:06.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
За две смены курьер должен развезти 15 заказов. В каждую из смен для него предусмотрено по одному получасовому перерыву (rest_duration_s
= 1800) через 02:00-02:30 часа после начала работы. На уровне курьера перерывы не определены.
В результате курьер отправится на перерыв дважды: по одному разу в каждую смену. Перерыв первой смены начнется в 11:36, а перерыв второй смены — в 16:30.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
Те же условия, что в примере 2, но еще один часовой перерыв определен на уровне курьера через час-полтора после начала смены (from_start
= 01:00 - 01:30
). Таким образом, перерывы заданы как на уровне смен, так и на уровне курьера.
В результате планируются перерывы только на уровне смен в 11:07 и 16:17, так как они имеют больший приоритет и заменяют перерывы на уровне курьера.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пресеты перерывов
Вы можете задать режим работы курьера с помощью параметра vehicles.rest_schedule_preset
, который содержит готовый набор настроек:
-
не позже чем через 4,5 часа работы курьера будет установлен 45-минутный перерыв;
-
на длительность смены без учета перерывов будут наложены ограничения:
-
мягкое — 9 часов;
-
жесткое — 10 часов.
-
Возможные значения параметра rest_schedule_preset
:
-
public_transport
— перерыв можно разбить на несколько частей продолжительностью не меньше 10 минут; -
private_transport
— перерыв можно разбить на две части: 15 и 30 минут; -
multiday_private_transport
— режимprivate_transport
для многодневных маршрутов. Дополнительно к обычным перерывам добавляются:- ежедневный перерыв — последние 11 часов каждого буднего дня;
- еженедельный перерыв — последние 45 часов каждой недели.
Перерыв в маршруте будет разбиваться на части при выполнении следующих условий:
-
если между заказами нет интервала, в который можно полностью поместить перерыв;
-
между заказами есть ожидания, куда могут поместиться перерывы.
Также вы можете запретить разбивать перерывы на части. Для этого используйте опцию can_split_preset_work_breaks
= false
(по умолчанию can_split_preset_work_breaks
= true
).
Пример 1
Для курьера назначен режим работы rest_schedule_preset
= private_transport
. В него входит один перерыв, который можно разбить на две части. Между заказами есть интервал, в который полностью помещается перерыв. В результате запланирован один перерыв продолжительностью 45 минут.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Для курьера назначен режим работы rest_schedule_preset
= public_transport
. В него входит один перерыв, который можно разбить на несколько частей. Между заказами нет интервала, куда можно полностью поместить перерыв. Также есть ожидание, в которое может поместиться часть перерыва. В результате запланировано два перерыва: 21 и 23 минуты.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
Для курьера назначен режим работы rest_schedule_preset
= public_transport
. У курьера 14 заказов. На длительность смены наложено жесткое ограничение: 10 часов. В результате один заказ остался невыполненным, так как для его доставки курьеру пришлось бы работать больше 10 часов.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 4
Для курьера назначен режим работы rest_schedule_preset
= multiday_private_transport
. Нужно доставить один дальний заказ. В результате курьер доставляет заказ на второй день. Он начинает движение в 8:00 и в пути делает три перерыва:
- 45 минут через 4ч 30 мин движения;
- 11 часов в конце рабочего дня, до 8:00 следующего дня;
- 45 минут через 4ч 30 мин движения.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Шаблоны расписаний
Вы можете описать перерывы отдельно для каждого курьера, создать шаблоны для нескольких курьеров или для смены. В том числе, можно совмещать индивидуальные расписания и шаблонные.
Чтобы создать шаблон, добавьте в options
параметр template_rest_schedules
и укажите в нем массив расписаний: [{"id": string, "breaks": [...]}]
.
Чтобы использовать шаблон на уровне курьера, добавьте в vehicles
параметр rest_schedule_id
и укажите в нем id
шаблона расписания из options
. Чтобы использовать шаблон на уровне смены, добавляйте параметр в vehicles.shifts.N
.
Продолжительность перерыва
Продолжительность перерыва устанавливается параметром rest_duration_s
, обязательным для каждого перерыва.
Параметр |
Значение |
Пример |
|
Продолжительность перерыва в секундах. |
Перерыв должен длиться 10 минут (600 секунд). |
Условия начала перерыва
Начало перерыва обозначается диапазоном времени (от и до). Если перерывов несколько, в каждом указывается диапазон времени работы после завершения предыдущего перерыва. Например, если в первом перерыве задано 04:00–05:00
, а во втором — 02:00–03:00
, то первый перерыв должен начаться между 4 и 5 часами после начала работы, а второй — между 2 и 3 часами работы после завершения первого перерыва.
Условия начала перерыва можно задать несколькими способами, которые описаны ниже.
Параметр |
Значение |
Пример |
|
Мягкое временное окно перерыва. |
|
|
Жесткое временное окно перерыва. |
|
|
Предпочтительное время до начала перерыва.
|
|
Примечание
Мягкое временное окно soft_time_range
и жесткое hard_time_range
не зависят друг от друга. Их можно использовать по отдельности.
Пример 1
Для курьера построен маршрут между Москвой и Санкт-Петербургом с первым перерывом через 4 часа (hard_time_range
= 04:00:00-04:10:00
), и затем с перерывами каждые 2 часа (hard_time_range
= 01:50:00-02:00:00
). В результате запланировано три перерыва.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Для курьеров запланировано два перерыва через 2-3 часа от последнего перерыва или от начала работы, если это первый перерыв (soft_time_range
= 02:00:00-03:00:00
):
- первый — 20 минут (
rest_duration_s
= 1200); - второй — 30 минут (
rest_duration_s
= 1800).
Первый курьер заканчивает работу раньше, поэтому для него запланирован один перерыв. Второй курьер работает дольше, поэтому отдыхает дважды.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Место перерыва
Чтобы курьер мог провести перерыв в определенной точке:
- на листе Orders в поле
type
задайте для нее типrest_place
; - на листе Vehicles в поле
at_rest_place
для перерыва укажите значениеtrue
.
Параметр |
Значение |
Пример |
|
Возможность отдохнуть в точке с типом |
Все перерывы будут проходить точках с типом |
Уникальный идентификатор точки с типом rest_place
указывается на листе Orders в поле id
. Идентификатор точки при этом не является идентификатором перерыва. Уникальный идентификатор перерыва можно указать на листе Vehicles в полях:
rest_schedule.breaks.N.work_break_id
— если перерыв задается на уровне курьера;shifts.N.rest_schedule.breaks.N.work_break_id
— если перерыв задается на уровне смены.
Курьер не может посещать места для перерывов, которые находятся в запрещенных для него геозонах.
Вы можете задавать требования к рейсу в место перерыва с типом rest_place
с помощью параметра incompatible_load_types
, см. Несовместимость заказов. Например, курьер перевозит заказ с типом load_type
= ice-cream
, а у точки rest_place
указан тип load_type
= no-refrigerator
. Чтобы курьер не мог заехать в такое место для перерыва, на листе Incompatible_load_types укажите, что тип ice-cream
несовместим с no-refrigerator
.
Пример
Для двух курьеров запланировано 19 заказов. Первый курьер должен отдыхать каждые 2-3 часа работы, второй — каждые 3-4 часа. Для них указано общее место для отдыха — точка с типом rest_place
.
Первый курьер выезжает на маршрут в 7:00 и в 9:09 приезжает на место отдыха, отдыхает 30 минут и продолжает маршрут. Второй курьер выезжает на маршрут в 8:00 и успевает развезти все свои заказы до 12 часов без перерыва на отдых.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API
Типы перерывов
На начало перерыва, заданное с помощью окон или параметра desired_work_duration
, влияют дополнительные временные интервалы. Например, курьер должен отработать несколько часов прежде, чем сможет отдохнуть. Чтобы учесть дополнительное время, укажите значение параметра break_type
.
Значение |
Описание |
|
Время работы от начала маршрута. Включает время движения, ожидания и сервисное время на заказах и складах. |
|
Значение по умолчанию. |
|
Время движения и ожидания от начала маршрута. Сервисное время при этом не учитывается. |
|
Время движения и ожидания от момента завершения предыдущего заказа. Сервисное время при этом не учитывается. |
|
Время движения от начала маршрута. Время ожидания и сервисное время не учитывается. |
|
Время начала перерыва. Перерыв не может быть повторяющимся. |
Примечание
Для перерывов типа exact
необходимо соблюдать порядок выполнения. Например, если нужно запланировать два перерыва: с 12:00 до 12:30 и с 10:00 до 10:30, в расписании они должны быть указаны в следующем порядке:
exact
=10:00 - 10:30
;exact
=12:00 - 12:30
.
Значения break_type
и penalty
могут задаваться в шаблонах расписаний перерывов (rest_schedule.break_type
, rest_schedule.penalty
), а также в настройках каждого перерыва (rest_schedule.breaks.break_type
, rest_schedule.breaks.penalty
).
Если в шаблонах расписаний для перерыва задан break_type
, то в настройках этого перерыва значение break_type
:
- должно быть таким же;
- может не указываться. Тогда к перерыву применятся настройки из шаблонов расписаний.
Если break_type
в шаблонах расписаний не задан, то для нескольких перерывов в настройках могут быть указаны разные break_type
.
Пример
Курьер за смену c 09:00 до 17:00 должен доставить 12 заказов. Для него предусмотрено 2 перерыва.
Первый перерыв запланирован с 11:00 до 12:00 часов. Он начался через 2 часа после начала работы курьера, что соответствует жесткому временному окну hard_time_range
= 1:30 - 3:30
. Первый перерыв спланирован от начала смены.
Второй перерыв запланирован после первого с 13:30 до 14:30, что также укладывается в ограничения жесткого временного окна hard_time_range
= 1:00 - 2:00
.
При этом интервал рабочего времени от первого до второго перерыва соответствует желаемому (desired_work_duration
= 1:30
) и составляет 1 час 30 минут.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Перерывы, связанные с заказами
Параметр |
Значение |
Пример |
|
Перерыв перед началом первого заказа. Задается в секундах. |
Перерыв перед первым заказом будет длиться 15 минут (900 секунд). |
|
Перерыв после выполнения последнего заказа. Задается в секундах. |
Перерыв после последнего заказа будет длиться 20 минут (1200 секунд). |
Данные типы перерывов считаются повторяющимися (repeatable
). Если указать такой тип один раз, он будет автоматически добавляться в каждый рейс.
Пример
В маршруте запланированы две смены: утренняя и вечерняя. Автомобиль курьера оборудован изотермическим фургоном. По вечерам курьер развозит заказы, которые требуют соблюдения температурного режима.
Курьер проверяет температуру в кузове дважды в день. В сменах запланированы следующие перерывы:
- перед первым заказом — 15 минут (
before_first
= 900); - обед после двух часов работы (
from_start
= 02:00 - 02:15); - после последнего заказа — 15 минут (
after_last
= 900).
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Использование разных типов перерывов
В одном расписании можно задать разные типы перерывов (break_type
). Наличие и продолжительность других перерывов не влияют на перерывы, запланированные от начала маршрута (from_start
) и в определенное время (exact
).
Пример
Курьер должен доставить 11 заказов. Для него предусмотрено 3 перерыва:
- первый длится 15 минут и начинается после двух часов работы (
from_last
=02:00 - 02:15
); - второй начинается после четырех часов работы (
from_start
=04:00 - 04:15
); - третий — фиксированный перерыв с 14:00 до 14:20 (
exact
=14:00 - 14:20
).
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Разделяемые перерывы
При необходимости вы можете разделить перерыв на несколько частей. Например, если между заказами перерыв целиком не помещается. Для этого в расписании у перерыва breaks
укажите параметр can_be_split
= true
.
Вы можете указать дополнительные параметры для разделяемого перерыва:
Параметр |
Значение |
Пример |
|
Параметр определяет, сколько у перерыва будет частей. По умолчанию это 2 части. |
Перерыв можно разбить на 5 частей. |
|
Минимальное время, на которое можно разбить часть перерыва. Задается в секундах. По умолчанию это 10 минут. |
Часть перерыва можно разбить минимум на 20 минут (1200 секунд). |
|
Параметр устанавливает минимальное время для первой части перерыва. Задается в секундах. По умолчанию это 1/3 от общей длительности перерыва. |
Первая часть перерыва должна длиться не меньше 30 минут (1800 секунд). |
|
Минимальное время для последней части перерыва. Задается в секундах. По умолчанию это 2/3 от общей длительности перерыва. |
Последняя часть перерыва должна длиться не меньше 40 минут (2400 секунд). |
Сумма частей разделяемого перерыва может превышать его общую продолжительность.
Максимальное количество частей указано в параметре max_split_parts
. Их длительность должна соответствовать условиям:
- первая часть — не меньше
min_first_split_part_duration_s
; - последняя — не меньше
min_last_split_part_duration_s
; - каждая — не меньше
min_split_part_duration_s
.
При отделении частей исходное время перерыва уменьшается. Остаток для выделения последней части может получиться меньше, чем указано в min_last_split_part_duration_s
. В этом случае к нему автоматически добавится значение, минимально необходимое для соблюдения ограничения min_last_split_part_duration_s
.
Пример 1
Для курьера предусмотрен 1 перерыв продолжительностью 2 часа rest_duration_s
= 7200. У нескольких заказов установлены узкие временные окна, поэтому время ожидания перед ними можно заполнить перерывами. Так как между заказами перерыв целиком не помещается, он разбивается на три части.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Общая продолжительность перерыва rest_duration_s
составляет 2 часа (rest_duration_s
= 7200). Он делится на две части (max_split_parts
= 2). При этом:
min_split_part_duration_s
= 2400 (40 минут)min_first_split_part_duration_s
= 4800 (1 час 20 минут)min_last_split_part_duration_s
= 2400 (40 минут)
От общего перерыва отделяется первая часть — 1 час 20 минут. Остается 40 минут исходного перерыва. От них отделяется вторая часть — 40 минут.
В результате сумма частей перерыва не превысит его общую продолжительность и составит 2 часа (7200 секунд).
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
Те же условия, что в примере 2, но длительность второй части перерыва увеличена на 5 минут (min_last_split_part_duration_s
= 2700).
От общего перерыва отделяется первая часть — 1 час 20 минут. Остается 40 минут исходного перерыва. Вторая часть должна отделяться от оставшихся 40 минут, но min_last_split_part_duration_s
= 2700 (45 минут). Временной остаток не может быть отрицательным, поэтому продолжительность второй части будет увеличена до 45 минут, чтобы минимально удовлетворить условию min_last_split_part_duration_s
= 2700.
В результате сумма частей перерыва превысит изначально заданную продолжительность на 5 минут и составит 2 часа 5 минут (7500 секунд).
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Перерывы во время обслуживания заказов
Параметр |
Значение |
Пример |
|
Параметр перерыва. Определяет, может ли этот перерыв пересекаться с сервисным временем заказа или склада. По умолчанию |
|
|
Параметр заказа или склада. Определяет, может ли перерыв пересекаться с сервисным временем этого заказа или склада. По умолчанию |
|
По умолчанию перерывы могут пересекаться с сервисным временем заказа или склада. В маршруте такие перерывы указываются перед заказом или складом. Время начала arrival_time_s
и окончания departure_time_s
перерыва совпадают с arrival_time_s
и departure_time_s
заказа или склада. Внутри этого общего интервала длительность сервисного времени определяется параметром service_duration_s
. В ответе для такого заказа или склада добавляется поле is_after_service_work_break
= true
, означающее, что обслуживание начинается после перерыва.
При can_rest_during_service
= true
перерыв может быть спланирован как первая точка в смене. Для обычных перерывов, не пересекающихся с сервисным временем, такое невозможно.
Чтобы запретить пересечение перерыва с сервисным временем, нужно для заказа или склада указать can_have_rest_during_service
= false
, а для перерыва — can_rest_during_service
= false
.
Пример 1
Перерыв длительностью 50 минут должен быть запланирован через 1,5 часа после начала маршрута. В маршруте 2 заказа, у которых время обслуживания 1 час и параметр can_have_rest_during_service
= true
. В результате перерыв пересекается со временем обслуживания первого заказа, на который курьер приезжает через 52 минуты после начала маршрута и уезжает через 2 часа 20 минут.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
То же, что в примере 1, но у заказов параметр can_have_rest_during_service
= false
. В результате перерыв запланирован в точке первого заказа, но после обслуживания заказа, позже времени — через 1 час 52 минуты после начала маршрута.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Цепочки перерывов
Расписание rest_schedule
может содержать множество независимых цепочек перерывов breaks
. Каждая цепочка может содержать множество перерывов с особенными условиями. Наступление перерыва в каждой цепочке зависит только от построенного маршрута и не зависит от перерывов в других цепочках.
Пример |
Пояснение |
Возможность задать |
1 цепочка: отдыхать 15 минут через каждые 3 часа движения. 2 цепочка: отдыхать 6 часов через 8 часов после начала смены. |
Перерывы в цепочке 2 зависят только от начала смены и не зависят от расписания движения и отдыха в цепочке 1. |
|
1 цепочка: отдыхать 15 минут через каждые 3 часа движения. 2 цепочка: отдыхать 6 часов через каждые 8 часов движения. |
Начало перерыва в цепочке 2 зависит от расписания движения и отдыха в цепочке 1. |
|
Порядок цепочек не имеет значения, но перерывы в одной цепочке необходимо указывать последовательно.
Если маршрут заканчивается до наступления остановки (например, маршрут выполнен за 3 часа, а остановка запланирована через 4), то все невыполненные остановки сбрасываются.
Пример
Маршрут построен с получасовыми перерывами на отдых через 4–4,5 часа работы, а через 15 часов после начала маршрута запланирован перерыв на сон. В результате алгоритм запланировал перерыв на сон через 1,5 часа после перерыва на отдых.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Штрафы
В некоторых случаях сервис может планировать маршруты с нарушением окна отдыха. Чтобы начислять штрафы за эти нарушения, используйте поля penalty.late
и penalty.early
. Если штраф выше, чем полученная от нарушения окна экономия, то маршрут будет запланирован без нарушений.
Параметр |
Значение |
Пример |
|
Штраф за факт раннего начала перерыва. |
Устанавливает штраф 1000 за факт раннего перерыва. |
|
Штраф за каждую минуту раннего перерыва. |
Устанавливает штраф 17 за каждую минуту раннего перерыва. |
|
Штраф за факт позднего перерыва. |
Устанавливает штраф 1000 за факт позднего перерыва. |
|
Штраф за каждую минуту позднего перерыва. |
Устанавливает штраф 17 за каждую минуту позднего перерыва. |
Условия повтора
Параметр |
Значение |
Пример |
|
Параметр указывает, что перерыв нужно повторять. Количество и расположение повторяющихся перерывов внутри смены может быть любым. Сначала алгоритм распределит все перерывы из расписания, затем будет повторять их в том же порядке, в котором они были запланированы. |
Перерыв будет повторяться до конца смены. |
Пример 1
Курьер везет заказы в соседний город и нуждается в периодическом отдыхе. С помощью условия повтора repeatable
заданы перерывы через каждые 60-80 минут маршрута (travel_time_range
). В результате алгоритм запланировал два перерыва.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Как в примере 1, но маршрут длится несколько дней, и перерывы задаются на сон каждые 12 часов:
-
используется условие повтора
repeatable
; -
минимальная и максимальная продолжительность маршрута до отдыха
travel_time_range
:"12:00-12:00"
.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
Курьер доставляет заказы, содержащие химические вещества, поэтому ему требуется делать перерыв каждые два часа по 30 минут.
В результате запланированы три перерыва:
-
два перерыва по 30 минут с помощью условия повтора
repeatable
через каждые 2 часа маршрута (hard_time_range
); -
один часовой перерыв на обед.
Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Снимаются с поддержки
Условия объединения перерывов
Параметр |
Значение |
Пример |
|
Возможность объединения перерыва с другими перерывами до первого заказа. Перерыв можно объединять только с теми перерывами, типы которых указаны в |
Перерыв будет объединен с последним перерывом перед первой локацией, где тип перерыва указан в |
|
Возможность объединения перерыва с другими перерывами после последнего заказа. Перерыв можно объединять только с теми перерывами, типы которых указаны в |
Перерыв будет объединен с первым перерывом после последней локации, где тип перерыва указан в |
|
Тип перерыва. |
Тип этого перерыва — «обед». |
|
Параметр устанавливает, с какими типами перерывов можно объединить указанный перерыв. Его можно использовать только в сочетании с |
Этот перерыв можно объединить с перерывом на обед или сон. |
Условия планирования перерыва
Вы можете указать дополнительные параметры: сделать перерыв обязательным или задать минимальное время работы для начала перерыва.
Параметр |
Значение |
Пример |
|
Время с начала маршрута, после которого перерыв обязателен. Задается в секундах. |
Обязательно начать перерыв, когда с начала маршрута пройдет 4 часа (14400 секунд). |
|
Параметр устанавливает минимальное время работы, при котором перерыв должен быть запланирован. Если общее время работы меньше, то перерыв не будет запланирован. Задается в секундах. |
Начать перерыв, только если маршрут длится как минимум 4 часа (14400 секунд). |
Условия начала перерыва
Условия, заданные в старом формате, несовместимы с новыми условиями. Например, нельзя одновременно указывать значения полей work_time_range_till_rest
и soft_time_range
.
Параметр |
Значение |
Пример |
|
Время работы от начала маршрута. Включает время движения, ожидания и сервисное время на заказах и складах. Наличие и продолжительность других перерывов не имеют значения. |
Начать перерыв не раньше, чем через 1 час, и не позже, чем через 3 часа после начала маршрута. |
|
Время работы от последнего перерыва (или от начала маршрута, если это первый перерыв). Включает время движения, ожидания и сервисное время на заказах и складах. |
Начать перерыв не раньше, чем через 2 часа, и не позже, чем через 4 часа после начала смены (включая приезд на склад, сервисное время, периоды движения и ожидания). |
|
Время движения и ожидания от начала маршрута. Сервисное время при этом не учитывается. |
Начать перерыв не раньше, чем через 1 час, и не позже, чем через 3 часа после начала маршрута с учетом периодов движения и ожидания, но без учета сервисного времени на заказах и складах. |
|
Время движения и ожидания от момента завершения предыдущего заказа. Сервисное время при этом не учитывается. |
Начать перерыв не раньше, чем через 2 часа, и не позже, чем через 3 часа непрерывного движения. |
|
Время движения от начала маршрута. Время ожидания и сервисное время не учитывается. |
Начать перерыв не раньше, чем через 1 час, и не позже, чем через 3 часа от начала движения. |
|
Время начала перерыва. Перерыв не может быть повторяющимся. Время начала работы, наличие и продолжительность других перерывов не имеют значения. Перерыв не начнется, если маршрут закончится раньше времени начала перерыва. |
Начать перерыв в диапазоне с 17:00 до 20:00. |
Пример 1
В этом примере построен маршрут с перерывом на обед через 4–5 часов работы. В результате алгоритм планирует остановку на обед для выполняющего доставку курьера.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
В этом примере построен маршрут между Москвой и Санкт-Петербургом с первым перерывом через 4–4,5 часа, и затем с перерывами каждые 2 часа. Алгоритм выделил два перерыва.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
Для двух курьеров задан перерыв с условием work_time_range_from_start
через 3-4 часа после начала работы, но только если общая продолжительность route_duration_s
минимум 6 часов. Первый курьер заканчивает работу за 5 часов, поэтому работает без отдыха. Второй курьер работает более 6 часов, поэтому получает один перерыв.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 4
Задаются перерывы длительностью 10 минут на каждые 55-60 минут непрерывного движения continuous_travel_time_range
. В результате запланирован перерыв на единственном интервале между точками, где время движения более 55 минут.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 5
Для курьеров запланировано два перерыва с условием начала перерыва work_time_range_till_rest
через 2-3 часа от последнего перерыва или от начала работы, если это первый перерыв.
-
первый перерыв — 20 минут.
-
второй перерыв — 30 минут.
Первый курьер заканчивает работу раньше и получает только первый перерыв. Второй курьер работает дольше и получает оба перерыва.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте