Режим труда и отдыха
По умолчанию сервис планирует маршрут только с остановками, которые необходимы для доставки грузов. Однако часто курьеры не работают без остановок: им нужно делать перерыв на обед, и это надо учитывать при построении маршрутов. Также на дальних рейсах есть требование соблюдать режим труда и отдыха, когда водитель обязан останавливаться после определенного времени движения.
Примечание
Метрика Общая продолжительность рабочего времени в смене (total_working_duration_s), которая отображается в ответах API Планирования, не учитывает перерывы, предусмотренные режимом труда и отдыха.
Перерывы
Чтобы управлять режимом работы курьеров, используйте объект 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:23 приезжает на место отдыха, отдыхает 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
Для курьера запланирован перерыв длительностью 1 час, который должен начаться через 3 часа после начала маршрута. В маршруте 8 заказов, у которых can_have_rest_during_service = true.
В результате перерыв пересекается со временем обслуживания заказа 4, на который курьер приезжает через 2 часа 29 минут после начала маршрута и уезжает через 4 часа.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
То же, что в примере 1, но у заказов параметр can_have_rest_during_service = false. В результате перерыв запланирован после обслуживания заказа 4 и позже временного окна перерыва — через 3 часа 29 минут после начала маршрута.
Пример 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 часа работы, а через 10 часов после начала маршрута запланирован перерыв на сон. В результате алгоритм запланировал перерыв на сон через 1 час после перерыва на отдых.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Штрафы
В некоторых случаях сервис может планировать маршруты с нарушением окна отдыха. Чтобы начислять штрафы за эти нарушения, используйте поля penalty.late и penalty.early. Если штраф выше, чем полученная от нарушения окна экономия, то маршрут будет запланирован без нарушений.
|
Параметр |
Значение |
Пример |
|
|
Штраф за факт раннего начала перерыва. |
Устанавливает штраф 1000 за факт раннего перерыва. |
|
|
Штраф за каждую минуту раннего перерыва. |
Устанавливает штраф 17 за каждую минуту раннего перерыва. |
|
|
Штраф за факт позднего перерыва. |
Устанавливает штраф 1000 за факт позднего перерыва. |
|
|
Штраф за каждую минуту позднего перерыва. |
Устанавливает штраф 17 за каждую минуту позднего перерыва. |
Условия повтора
|
Параметр |
Значение |
Пример |
|
|
Параметр указывает, что перерыв нужно повторять. Количество и расположение повторяющихся перерывов внутри смены может быть любым. Сначала алгоритм распределит все перерывы из расписания, затем будет повторять их в том же порядке, в котором они были запланированы. |
Перерыв будет повторяться до конца смены. |
Пример 1
Курьер везет заказы в соседний город и нуждается в периодическом отдыхе. С помощью условия повтора repeatable заданы перерывы через каждые 2 часа маршрута (hard_time_range). В результате алгоритм запланировал четыре перерыва:
-
три перерыва по 20 минут через каждые 2 часа маршрута;
-
один часовой перерыв на обед.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Как в примере 1, но маршрут длится несколько дней, и перерывы на сон задаются каждые 12 часов:
-
используется условие повтора
repeatable; -
минимальная и максимальная продолжительность маршрута до отдыха
hard_time_range= 12:00-12:15.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
Курьер доставляет заказы, которые содержат химические вещества, поэтому ему требуется делать перерыв каждые два часа по 30 минут.
В результате запланированы три перерыва:
-
два перерыва по 30 минут с помощью условия повтора
repeatableчерез каждые 2 часа маршрута (hard_time_range); -
один часовой перерыв на обед.
Пример Excel ⋅ Запрос 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 ⋅ Открыть на карте