Справочник параметров

Основные определения

Период планирования
Период, на который планируются посещения локаций. Чтобы задать период, нужно указать дату начала и количество дней.
Сотрудник
Мобильный сотрудник, посещающий локации с определенной регулярностью. Сотрудник может перемещаться пешком, на автомобиле или на общественном транспорте. При планировании можно указать режим работы, общий для всех сотрудников, а также уточнить особенности режима работы отдельных сотрудников: рабочие и нерабочие дни, продолжительность рабочего дня и другие параметры.
Локация
Точки, которые обслуживает мобильный сотрудник (магазин, офис и т.п.). Для каждой локации указываются частота и обязательность посещений, время на обслуживание и другие параметры.
Посещение
Приезд сотрудника на локацию для обслуживания. Сотрудник может посещать локацию несколько раз в течение периода планирования.
Маршрут
Последовательность посещений локаций сотрудником, с указанием планируемого времени посещения локации, времени на обслуживание и других параметров. Для сотрудника может быть запланировано несколько маршрутов на период планирования.

Что необходимо для планирования

Для решения задачи Календарного планирования исходные данные должны содержать ряд обязательных параметров.

Если вы планируете с помощью файла Excel, в файле должны быть следующие листы:

  • locations — параметры локаций, которые посещают мобильные сотрудники;
  • employees — параметры мобильных сотрудников;
  • working_days — график работы сотрудников;
  • options — параметры планирования маршрутов.

Файл Excel может содержать и другие листы (например, visits — параметры посещений локаций).

Если вы планируете через API, запрос должен обязательно содержать следующие объекты:

  • locations — параметры локаций, которые посещают мобильные сотрудники;
  • employees — параметры мобильных сотрудников;
  • employee.working_days — график работы сотрудника;
  • options — параметры планирования маршрутов.

Запрос может содержать и другие объекты (например, location.visits — параметры посещений локации).

Обязательность заполнения параметров указана в описании ниже.

Параметры локаций

Параметры локаций задаются в Excel на листе locations или в запросе API в объекте locations.

Основные параметры

Параметр

Описание

Обязательность

id

Идентификатор локации. Подробнее

Да

title

Название локации. Подробнее

Нет

description

Описание локации. Подробнее

Нет

ref

Дополнительный идентификатор локации. Подробнее

Нет

comments

Дополнительная информация о локации. Подробнее

Нет

address

Адрес локации. Подробнее

Нет

phone

Номер телефона. Подробнее

Нет

point.lat, point.lon

Координаты локации: широта и долгота. Подробнее

Да

type

Тип локации. Подробнее

Да

service_duration_s

Продолжительность посещения локации, в секундах. Подробнее

Да

parking_service_duration_s

Время, которое исполнитель тратит на парковку автомобиля. Подробнее

Нет

Временные окна

Параметр

Описание

Обязательность

time_window

Временное окно для посещения локации в формате [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]].

Поля time_window и time_windows — взаимоисключающие. Подробнее

Нет

time_windows

Массив временных окон для посещения локации.

Поля time_window и time_windows — взаимоисключающие. Подробнее

Нет

hard_time_window

Жесткое временное окно для посещения локации в формате [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]]. Подробнее

Нет

penalty.out_of_time.fixed, penalty.out_of_time.minute

Штрафные санкции за нарушение временного окна при посещении локации: фиксированный штраф за факт нарушения и штраф за каждую минуту нарушения.

Рекомендуется назначать одинаковое значение для штрафов early и late. Подробнее

Нет

penalty.early.fixed, penalty.early.minute

Штрафные санкции за раннее посещение локации: фиксированный штраф за факт нарушения и штраф за каждую минуту нарушения. Подробнее

Нет

penalty.late.fixed, penalty.late.minute

Штрафные санкции за позднее посещение локации: фиксированный штраф за факт нарушения и штраф за каждую минуту нарушения. Подробнее

Нет

Условия посещений

Параметр

Описание

Обязательность

last_visit_date

Дата последнего посещения локации перед началом планирования. Подробнее

Нет

visit_count

Необходимое количество посещений локации в течение периода планирования. Подробнее

Да

penalty.visit_count.fixed, penalty.visit_count.per_visit

Штраф за нарушение параметра visit_count: фиксированный штраф, если пропущено хотя бы одно посещение локации, и штраф за каждое пропущенное посещение локации. Подробнее

Нет

min_days_between_visits, max_days_between_visits

Минимальное и максимальное количество дней между посещениями. Подробнее

Нет

penalty.min_days_between_visits.fixed, penalty.min_days_between_visits.per_day

Штраф за нарушение параметра min_days_between_visits: фиксированный штраф, если время между двумя посещениями недостаточное, и штраф за каждый недостающий день между посещениями. Подробнее

Нет

penalty.max_days_between_visits.fixed, penalty.max_days_between_visits.per_day

Штраф за нарушение параметра max_days_between_visits: фиксированный штраф, если время между двумя посещениями слишком большое, и штраф за каждый лишний день между посещениями. Подробнее

Нет

penalty.drop

Фиксированный штраф, если не было ни одного посещения локации. Значение по умолчанию: 1 000 000. Подробнее

Нет

allowed_days

Список дней недели, в которые можно посещать локацию. Подробнее

Нет

mandatory_days

Список дней недели, в которые необходимо посещать локацию. Подробнее

Нет

denied_days

Список дней недели, в которые нельзя посещать локацию. Подробнее

Нет

preferred_days

Список дней недели, в которые желательно посещать локацию. Подробнее

Нет

penalty.preferred_days.fixed, penalty.preferred_days.per_day

Штраф за посещение локации в любой другой день, кроме указанных в preferred_days: фиксированный штраф и штраф за каждый день, нарушающий ограничение. Подробнее

Нет

max_distinct_visitors

Максимальное число сотрудников, которые могут посетить локацию за период планирования. Подробнее

Нет

penalty.max_distinct_visitors.fixed, penalty.max_distinct_visitors.per_visitor

Штраф за нарушение параметра max_distinct_visitors: фиксированный штраф, если локация была посещена большим количеством сотрудников, и штраф за каждого лишнего сотрудника, посещающего локацию. Подробнее

Нет

priority

Приоритет посещения локации. Подробнее

Нет

Стоимость

Параметр

Описание

Обязательность

cost.additional_visitors.fixed, cost.additional_visitors.per_visitor

Фиксированная стоимость, если локация была посещена более чем одним сотрудником, и стоимость каждого дополнительного сотрудника, посещающего локацию. Подробнее

Нет

Теги и типы локации

Параметр

Описание

Обязательность

required_tags

Список тегов, которые должны быть у сотрудника, обслуживающего данную локацию. Подробнее

Нет

optional_tags.N.tag, optional_tags.N.value

Массив тегов, которые которые не обязаны быть у сотрудника, обслуживающего данную локацию, но при совпадении влияют на стоимость маршрута. Подробнее

Нет

load_types

Список характеристик, по которым определяется несовместимость локаций (невозможность посещения в одном маршруте). Подробнее

Нет

Дополнительные параметры

Параметр

Описание

Обязательность

custom_value

Дополнительный числовой атрибут локации, например, вознаграждение сотрудника за посещение этой локации. Может быть использован для расчета стоимости маршрута.

Нет

shared_with_company_ids

Идентификаторы компаний, которым предоставляется доступ к информации о запланированных посещениях локации.

Нет

use_in_proximity

Признак учета локации при планировании кучных маршрутов. Возможные значения: true/false. Значение по умолчанию: true.

Нет

Посещения

Типы посещений задаются в Excel на листе visits или в запросе API в массиве locations.visits.

Параметр

Описание

Обязательность

id

При планировании из Excel указывается идентификатор локации location.id, на которую планируется посещение. Идентификатор должен соответствовать параметру id на листе locations. Может быть несколько строк с одинаковым значением id.

При планировании через API указывается уникальный идентификатор типа посещения.

Да для Excel, нет для API

title

Название (тип) посещения. Подробнее

Нет

service_duration_s

Сервисное время для посещений данного типа. Подробнее

Да

drop

Штраф за пропуск посещения данного типа. Подробнее

Нет

allowed_days

Дни, в которые разрешены посещения данного типа. Подробнее

Нет

preffered_days

Дни, предпочтительные для посещений данного типа. Подробнее

Нет

denied_days

Дни, в которые запрещены посещения данного типа. Подробнее

Нет

Сотрудники и транспортные средства

Параметры, задающие условия работы сотрудников и характеристики транспортных средств, задаются в Excel на листе employees или в запросе API в объекте employees.

Основные параметры

Параметр

Описание

Обязательность

id

Идентификатор сотрудника или транспортного средства. Все подобные идентификаторы в рамках задачи должны быть уникальными и иметь одинаковый тип: целое число или строка. Подробнее

Да

ref

Дополнительный номер сотрудника или транспортного средства. Подробнее

Нет

imei

Номер GPS-трекера сотрудника. Подробнее

Нет

phone

Номер телефона сотрудника. Подробнее

Нет

routing_mode

Способ передвижения. Имеет более высокий приоритет, чем options.routing_mode. Подробнее

Нет

travel_time_multiplier

Коэффициент корректировки времени поездки, используется для быстрых или медленных транспортных средств. Значение по умолчанию: 1.

Нет

service_duration_multiplier

Коэффициент корректировки сервисного времени для более или менее квалифицированных сотрудников. Значение по умолчанию: 1. Подробнее

Нет

Теги, геозоны и несовместимость локаций для сотрудника

Параметр

Описание

Обязательность

tags

Список тегов сотрудника или транспортного средства, совместимых с тегами локации (используются регулярные выражения расширенного POSIX стандарта). Подробнее

Нет

excluded_tags

Список тегов сотрудника или транспортного средства, несовместимых с тегами локации (используются регулярные выражения расширенного POSIX стандарта). Подробнее

Нет

allowed_zones, forbidden_zones

Список зон, в которых сотрудник может и не может посещать локации. Подробнее

Нет

optional_zones.N.zone, optional_zones.N.value

Массив зон, за посещение которых начисляется штраф или бонус. Подробнее

Нет

incompatible_zones.N

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

Нет

incompatible_load_types.N

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

Нет

Параметры планирования маршрутов

Параметр

Описание

Обязательность

start_at, finish_at

Идентификатор локации, в которой сотрудник начнет свой первый маршрут за день; завершит свой последний маршрут за день. Подробнее

Нет

max_runs

Максимальное количество маршрутов сотрудника в день. Значение по умолчанию: 1. Подробнее

Нет

max_edge_distance_m, max_edge_duration_s

Максимальная длина пути (в метрах) между соседними локациями в маршруте; максимальная длительность перемещения (в секундах) между соседними локациями в маршруте. Подробнее

Нет

distance_between_days_starts_factor, distance_between_days_ends_factor

Коэффициент, с которым к стоимости маршрута прибавляется стоимость за пробег между начальными/конечными локациями маршрутов в соседние дни. Значение по умолчанию: 0. Подробнее

Нет

duration_between_days_starts_factor, duration_between_days_ends_factor

Коэффициент, с которым к стоимости маршрута прибавляется стоимость за длительность пути между начальными/конечными локациями маршрутов в соседние дни. Значение по умолчанию: 0. Подробнее

Нет

first_edges_penalty_factor, last_edges_penalty_factor

Коэффициент, с которым к стоимости маршрута прибавляется стоимость первого отрезка пути каждого маршрута. Значение по умолчанию: 0. Подробнее

Нет

global_proximity_attraction_point

Идентификатор локации, по близости к которой рассчитывается global_proximity penalty.

Нет

global_proximity_factor, daily_proximity_factor

Кучность маршрутов сотрудника. Подробнее

Нет

can_add_walking_edges

Признак добавления пешеходных отрезков к маршрутам на общественном транспорте. Подробнее

Нет

public_transport_cost.km, public_transport_cost.hour, public_transport_cost.edge, public_transport_cost.run

Стоимость использования общественного транспорта. Подробнее

Нет

Стоимость работы

Параметр

Описание

Обязательность

cost.fixed

Фиксированная стоимость выхода на маршрут. По умолчанию 3000 единиц. Подробнее

Нет

cost.km

Стоимость работы сотрудника (или использования транспортного средства) за километр пути. По умолчанию 8 единиц. Подробнее

Нет

cost.hour

Стоимость работы сотрудника (или использования транспортного средства) за час. По умолчанию 100 единиц. Подробнее

Нет

cost.location

Стоимость посещения одной локации. По умолчанию 0. Подробнее

Нет

cost.run

Стоимость выполнения одного маршрута. По умолчанию 0. Подробнее

Нет

cost.route

Стоимость выполнения всех маршрутов. По умолчанию 0. Подробнее

Нет

cost.waiting_hour

Стоимость часа ожидания между посещениями. По умолчанию 0. Подробнее

Нет

Выплаты сотрудникам

Параметр

Описание

Обязательность

payout.fixed

Фиксированная выплата за выход на маршрут. По умолчанию 3000 единиц. Подробнее

Нет

payout.km

Выплата сотруднику за километр пути. По умолчанию 8 единиц. Подробнее

Нет

payout.hour

Выплата сотруднику за час. По умолчанию 100 единиц. Подробнее

Нет

payout.location

Выплата за посещение одной локации. По умолчанию 0. Подробнее

Нет

payout.run

Выплата за выполнение одного маршрута. По умолчанию 0. Подробнее

Нет

payout.route

Выплата за выполнение всех маршрутов. По умолчанию 0. Подробнее

Нет

payout.waiting_hour

Выплата за час ожидания между посещениями. По умолчанию 0. Подробнее

Нет

Ограничения для пеших сотрудников или частей маршрута

Параметр

Описание

Обязательность

walking_courier.cost.km; walking_courier.cost.hour

Стоимость работы при выполнении пешей части маршрута. Подробнее

Нет

walking_courier.restrictions.max_walking_edge_distance_m.value; walking_courier.restrictions.max_walking_edge_distance_m.penalty

Максимально допустимое расстояние между двумя локациями внутри пеших частей маршрута и штраф за нарушение ограничения. Подробнее

Нет

Отпуск

Параметр

Описание

Обязательность

vacations

Подробнее

Нет

Режим работы сотрудников

Параметры, задающие режим работы сотрудников, задаются в Excel на листе working_days или в запросе API в массиве employees.working_days. Каждая строка на листе Excel или каждый элемент массива соответствует режиму работы в один из типов рабочих дней (обычных, укороченных предпраздничных и т.п.).

Параметр

Описание

Обязательность

id

При планировании из Excel указывается идентификатор сотрудника employee.id, к которому относится режим работы. Идентификатор должен соответствовать параметру id на листе employees.

При планировании из API указывается уникальный идентификатор режима работы.

Да для Excel, нет для API

working_days

Список рабочих дней сотрудника. Подробнее

Да

start_time

Начало рабочего дня. Подробнее

Да

max_finish_time

Окончание рабочего дня. Подробнее

Нет

hard_max_finish_time

Максимально допустимое время окончания рабочего дня. Подробнее

Нет

max_duration_s, hard_max_duration_s

Максимальная продолжительность рабочего дня в секундах; жесткое ограничение на максимальную продолжительность рабочего дня в секундах. Подробнее

Нет

max_mileage_km

Максимальное расстояние (пробег), пройденное сотрудником за рабочий день, в километрах.

Нет

cost

Стоимость работы сотрудника. Подробнее

Нет

maximal_stops

Максимальное количество остановок за день. Подробнее

Нет

penalty.out_of_time.fixed, penalty.out_of_time.minute, penalty.late.fixed, penalty.late.minute

Фиксированные штрафы за факт нарушения и за каждую минуту нарушения временного окна, за позднее окончание рабочего дня. Подробнее

Нет

penalty.stop_excess.fixed, penalty.stop_excess.per_stop

Фиксированные штрафы за факт нарушения и за каждую дополнительную остановку за день. Подробнее

Нет

penalty.max_mileage

Штраф за превышение максимального пробега за день.

Нет

Глобальные опции

Глобальные опции определяют параметры планирования маршрутов. Они задаются в Excel на листе options или в запросе API в объекте options.

Параметры локаций и сотрудников имеют приоритет над аналогичными глобальными параметрами.

Параметры

Параметр

Описание

Обязательность

date

Начальная дата периода планирования. Подробнее

Да

planning_days

Количество дней в периоде планирования. Подробнее

Да

time_zone

Часовой пояс, в котором ведется планирование. Подробнее

Да

allow_multiple_visitors

Возможность посещения одной локации разными сотрудниками в разные дни. Возможные значения: true/false. По умолчанию: false. Подробнее

Нет

avoid_tolls

Не использовать платные дороги, если это возможно (только для режима driving). Возможные значения: true/false. По умолчанию: false.

Нет

critical_lateness_risk_probability

Если вероятность опоздания на локацию больше или равна указанному значению, то локация учитывается в параметре lateness_risk_locations_count. Вероятность задается в процентах. Может принимать значения от 1 до 50. Значение по умолчанию: 20.

Нет

duration_between_days_starts_factor, distance_between_days_starts_factor

Время и расстояние между начальными точками маршрутов соседних дней. Подробнее

Нет

duration_between_days_ends_factor, distance_between_days_ends_factor

Время и расстояние между конечными точками маршрутов соседних дней. Подробнее

Нет

fixed

Все маршруты, заданные в initial_routes, используются без изменений, новые сотрудники и маршруты не добавляются. Возможные значения: true/false. По умолчанию: false.

Нет

ignore_zones

Не учитывать опции, связанные с зонами, у локаций и сотрудников. Возможные значения: true/false. По умолчанию: false.

Нет

incompatible_load_types.N

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

Нет

incompatible_zones

Массив, каждый элемент которого определяет список зон, которые не должны посещаться в одном рейсе сотрудника.

Нет

late_days_cost_increment

Коэффициент для планирования посещения приоритетных локаций в более ранние дни. Подробнее

Нет

matrix_router

Матричный роутер, использующийся для планирования маршрута. Возможные значения: main (по умолчанию) — рекомендуется использовать для России, СНГ и Турции; global — для остальных стран; geodesic — расстояния считаются напрямую без учета пробок; auto — автоматический выбор роутера на основе местонахождения локаций.

Нет

minimize

Критерий минимизации маршрута. Возможные значения: cost (по умолчанию), time, distance, combined.

Нет

minimize_lateness_risk

Минимизировать вероятности опозданий, т.е. избегать таких маршрутов, где предполагаемое время прибытия близко к концу временного окна. Возможные значения: true/false. По умолчанию: false.

Нет

penalize_late_service

Нужно ли штрафовать за позднее прибытие на локацию или позднее окончание обслуживания. Возможные значения: true/false. По умолчанию: false.Подробнее

Нет

post_optimization

Использование пост-оптимизации. Возможные значения: true/false. По умолчанию: false. Подробнее

Нет

global_proximity_factor, daily_proximity_factor

Кучность маршрутов. Подробнее

Нет

routing_mode

Способ передвижения, используемый для сотрудников по умолчанию. Значение по умолчанию: driving.

Нет

solver_time_limit_s

Максимальное время решения задачи планирования, в секундах. Подробнее

Нет

working_days_in_week

Количество рабочих дней в неделе. Не может использоваться совместно с working_days. Подробнее

Нет

working_days, non_working_days

Количество рабочих и нерабочих дней в неделе. working_days на может использоваться совместно с working_days_in_week. Подробнее

Нет

penalty.multiorders.per_extra_point, penalty.multiorders.per_extra_employee, penalty.multiorders.per_extra_visit

Штрафы при посещении адресов с несколькими локациями. Значение по умолчанию: 0. Подробнее

Нет

Геозоны

Геозоны, используемые при планировании маршрутов, задаются в запросе API в объекте zones. В Excel геозоны не задаются.

Объект zones необязательно должен присутствовать в запросе API, но если он используется, то в каждом элементе массива необходимо указывать оба параметра.

Параметр

Описание

Обязательность

id

Уникальный идентификатор геозоны. Подробнее

Да*

geometry

Координаты точек — вершин геозоны. Подробнее

Да*

* Параметр обязателен, только если используется объект zones.

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