Ограничение использования определенных автомобилей

Сервис позволяет ограничить количество автомобилей конкретного типа, используемых при планировании. Например, для собственного транспорта можно задать ограничение, при котором количество машин не превышает число доступных водителей. При этом использование арендованного транспорта не ограничено.

Чтобы реализовать сценарий, в запросе API:

  • для всех автомобилей, которые готовы к использованию, в массиве vehicles укажите дополнительное числовое поле vehicles.N.custom_value со значением 1 (по умолчанию — 0). Если custom_value = 1, то автомобиль с курьером готов к работе;

  • для остальных автомобилей не указывайте custom_value вообще или укажите custom_value = 0;

  • в объекте options задайте значения следующих полей:

    • max_total_vehicles_custom_value — максимальное количество доступных курьеров;

    • penalty.vehicles_custom_values_excess — штраф за превышение значения max_total_vehicles_custom_value, где:

      • penalty.vehicles_custom_values_excess.fixed — штраф за факт нарушения;
      • penalty.vehicles_custom_values_excess.per_value — за каждую единицу нарушения.

Штраф за нарушение ограничения отразится в ответе API в поле result.metrics._tasks_summary.options.metrics.vehicles_custom_value_excess_penalty.

Пример 1

Нужно выполнить 100 заказов. В автопарке 4 автомобиля:

  • 1-2 — арендованные;
  • 3-4 — относятся к собственному автопарку.

Ограничения на использование определенных автомобилей не установлены.

В результате все заказы равномерно распределяются между курьерами. Штраф за превышение значения options.max_total_vehicles_custom_value не начисляется.

Пример ExcelЗапрос API (JSON)Ответ APIОткрыть на карте

Пример 2

Те же условия, что в примере 1, но из собственного автопарка может использоваться только один автомобиль. Поэтому для автомобилей 3 и 4 параметр vehicles.N.custom_value = 1. Для арендованных автомобилей он не задан.

Кроме того:

  • в options.max_total_vehicles_custom_value указано значение 1. Значит, выполнять заказы могут все курьеры на арендованных автомобилях и один курьер на автомобиле из собственного автопарка;

  • назначены штрафы за факт и каждую единицу превышения значения options.max_total_vehicles_custom_value:

    • options.penalty.vehicles_custom_values_excess.fixed = 10 000 000
    • options.penalty.vehicles_custom_values_excess.per_value = 100 000 000.

В результате алгоритм планирования распределяет заказы на курьеров 1, 2 и 4, что приводит к нарушениям временных окон. Поскольку используется только один автомобиль из собственного автопарка, штраф за превышение значения options.max_total_vehicles_custom_value не начисляется.

Запрос API (JSON)Ответ APIОткрыть на карте

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