Штраф за обслуживание вне временного окна
По умолчанию сервисное время заказа необязательно должно попадать во временное окно заказа (то есть допустима ситуация, когда водитель приезжает на точку в 17:59, хотя окно заказа до 18:00).
Чтобы минимизировать возникновение таких ситуаций, необходимо использовать опцию options.penalize_late_service
= true
(значение по умолчанию — false
).
Опция определяет, начисляется ли штраф за опоздание до момента начала обслуживания (false
, значение по умолчанию) или до момента окончания обслуживания (true
). То есть при значении true
алгоритм будет стремиться завершить время обслуживания в границах временного окна.
Например:
-
Окно заказа 8:00 – 9:00, сервисное время 30 минут, курьер приехал на заказ в 8:50.
-
Если
penalize_late_service
=false
, то штрафа за опоздание не будет. -
Если
penalize_late_service
=true
, то будет учитываться штраф за 20 минут опоздания (поскольку курьер пробудет на заказе — 8:50 + 30 минут = 9:20, то есть на 20 минут позже временного окна).
-
-
Окно заказа 8:00 – 9:00, сервисное время 30 минут, курьер приехал на заказ в 9:10.
-
Если
penalize_late_service
=false
, то будет учитываться штраф за 10 минут опоздания (он будет рассчитан как разница времени приезда и верхней границы временного окна, то есть 9:10 – 9:00 = 10 минут). -
Если
penalize_late_service
=true
, то будет учитываться штраф за 40 минут опоздания (он будет рассчитан как разница времени приезда и времени завершения обслуживания, 9:10 + 30 минут = 9:40, то есть на 40 минут позже временного окна).
-
Практическое следствие использования опции — маршруты будут строиться таким образом, чтобы сервисное время максимально попадало во временное окно заказа. Особенно это актуально для случаев, когда несколько заказов находятся в одной точке (например, несколько магазинов в одном торговом центре или несколько получателей в одном бизнес-центре)
Ограничение является мягким, то есть его нужно регулировать с помощью значений штрафов за опоздание на заказ.
Пример 1
В этом примере окна заказов указаны с 9:00 до 17:00, сервисное время у заказов 30 минут, и опция penalize_late_service
не включена. В примере есть заказ с прибытием в 16:52 (то есть обслуживание на заказе продлится до 17:22).
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Те же данные, но penalize_late_service
= true
. Видно, что теперь нет заказов, у которых сервисное время выходило бы за границу временного окна (то есть было бы позже 17:00).
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте