Штраф за обслуживание вне временного окна

По умолчанию сервисное время заказа необязательно должно попадать во временное окно заказа (то есть допустима ситуация, когда водитель приезжает на точку в 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Открыть на карте

Написать в службу поддержки