PICKUP (погрузка), DROP (выгрузка)DROP_FROM_BOX (выгрузка груза, который уже находится в кузове), PICKUP_TO_BOX (забор груза в кузов без последующей выгрузки), WORK (работа на локации без перемещения груза)Ограничения на исполнителя:
Ограничения на транспорт:
Ограничения на заказ:
Сущности являются совместимыми, если список свойств одной сущности полностью покрывает список требований другой сущности (наоборот для performer_blacklist - списки не должны пересекаться).
Поддерживаемые совместимости:
| Название | Требования | Свойства |
|---|---|---|
| Заказ - Исполнитель | order.performer_restrictions | performer.performer_features |
| Заказ - Не Исполнитель | order.performer_blacklist | performer.performer_features |
| Груз - Отсек | order.cargo.box_restrictions | transport.box.box_features |
| Локация - Транспорт | location.transport_restrictions | transport.transport_features |
| Транспорт - Исполнитель | transport.performer_restrictions | performer.performer_features |
| Исполнитель - Транспорт | performer.transport_restrictions | transport.transport_features |
| Заказ - Заказ | order.order_restrictions | order.order_features |
| Груз - Груз | cargo.cargo_restrictions | cargo.cargo_features |
Примеры бизнес правил:
| Название | Пример бизнес-правила |
|---|---|
| Заказ - Исполнитель | Для выполнения заказа водитель должен иметь особое разрешение |
| Заказ - Не Исполнитель | Водитель в черном списке |
| Груз - Отсек | Для перевозки замороженной продукции необходим отсек с особым температурным режимом |
| Локация - Транспорт | Ограничения на высоту транспорта |
| Транспорт - Исполнитель | Для грузового транспорта водитель должен иметь категорию C |
| Исполнитель - Транспорт | Водителю разрешено работать только на определенном транспорте |
| Заказ - Заказ | Нельзя перевозить рыбу и фрукты в одном отсеке |
| Груз - Груз | Два груза нельзя одновременно размещать в одном отсеке транспорта, по очереди - можно |
Механизм назначений (hardlinks) необходим для указания требований по нахождению заказов, исполнителя и транспорта в одном рейсе.
Назначение гарантирует нахождения сущностей в одном рейсе и не гарантирует факт планирования сущности.
Например, если исполнитель не успевает выполнить заказ, то он не запланируется, но назначится на рейс (попадет в waitlist).
Также назначение не отменяет указанные совместимости (и штрафы за нарушение совместимостей).
Например, если заказ не может быть выполнен исполнителем, он не запланируется, но назначится на рейс (попадет в waitlist).
Список способностей объекта вращаться (с шагом в 90 градусов):
ALL - можно поворачивать по любой оси любое количество разYAW - можно повернуть один раз по вертикальной оси (вокруг своей оси)PITCH - можно повернуть один раз по поперечной оси (поставить вертикально)ROLL - можно повернуть один раз по продольной оси (положить на бок)Рейс описывается списком состояний исполнителя, при этом одновременно исполнитель может находится в нескольких состояниях (например быть внутри рабочего временного окна локации и выполнять заказ на этой же локации).
Значения флагов, отвечающих за географическое положение (одновременно может быть несколько флагов):
AROUND_LOCATION - исполнитель находится рядом с локацией - в процессе парковки или выезда с нее.INSIDE_LOCATION - исполнитель находится на локации.Значения флагов, отвечающих за нахождения во временных окнах (одновременно может быть несколько флагов):
INSIDE_WORKING_WINDOW - исполнитель находится внутри рабочего временного окна.INSIDE_LOCATION_WINDOW - исполнитель находится внутри времени работы локации.INSIDE_EVENT_HARD_WINDOW - исполнитель находится внутри жесткого временного окна.INSIDE_EVENT_SOFT_WINDOW - исполнитель находится внутри мягкого временного окна.Значения флагов, отвечающих за действия (одновременно может быть только один флаг):
ON_DEMAND - исполнитель начал работу над заявкой.WAITING - исполнитель начал ожидание.RELOCATING - исполнитель начал перемещаться к следующей остановке.BREAK - исполнитель начал на перерыв.REST - исполнитель начал длительный отдых.ARRIVAL - исполнитель начал парковку.DEPARTURE - исполнитель завершил выезд с парковки.Значения флагов, отвечающих за логическое состояние:
DURING_ROUNDTRIP - исполнитель выполняет кругорейс.| Время | Набор активных флагов | Локация / Заказ / Заявка / Событие | Комментарий |
|---|---|---|---|
| 10:00 | INSIDE_LOCATION AROUND_LOCATION |
2 / - / - / - | Стартовая локация |
| 10:05 | AROUND_LOCATION DEPARTURE |
2 / - / - / - | Выехали с парковки |
| 10:10 | RELOCATING DEPARTURE |
2 / - / - / - | Едем к первому заказу |
| 10:20 | AROUND_LOCATION ARRIVAL |
2 / - / - / - | Подъехали к первому заказу |
| 10:40 | AROUND_LOCATION INSIDE_LOCATION WAITING |
2 / - / - / - | Припарковались |
| 11:00 | AROUND_LOCATION INSIDE_LOCATION INSIDE_LOCATION_WINDOW WAITING INSIDE_EVENT_HARD_WINDOW |
2 / - / - / - | Дождались начала окна локации и одновременно доступности заказа |
| 11:25 | AROUND_LOCATION INSIDE_LOCATION INSIDE_LOCATION_WINDOW ON_DEMAND INSIDE_WORKING_WINDOW INSIDE_EVENT_HARD_WINDOW |
2 / 1 / 2 / 3 | Дождались смены исполнителя |
| 11:30 | AROUND_LOCATION INSIDE_LOCATION INSIDE_LOCATION_WINDOW ON_DEMAND INSIDE_WORKING_WINDOW INSIDE_EVENT_HARD_WINDOW INSIDE_EVENT_SOFT_WINDOW |
2 / 1 / 2 / 3 | Пока работали - случилось мягкое окно |
| 11:40 | AROUND_LOCATION INSIDE_LOCATION INSIDE_LOCATION_WINDOW INSIDE_WORKING_WINDOW |
2 / - / - / - | Закончили работать |
| 11:45 | AROUND_LOCATION DEPARTURE INSIDE_WORKING_WINDOW |
2 / - / - /- | Выехали с парковки |
| 11:45 | RELOCATING INSIDE_WORKING_WINDOW |
- / - / - / - | Едем на следующий заказ |
Рейс состоит из одного или более кругорейсов.
Флаг наличия кругорейса DURING_ROUNDTRIP выставляется при начале выполнения работ по заявке и убирается в одном из трёх случаев:
Между концом одного кругорейса и началом другого кругорейса не может возникнуть смены локации RELOCATING, но могут произойти: ожидание WAITING, перерыв исполнителя BREAK, отдых исполнителя REST.
Локация разделяет рейс на кругорейсы в одном из двух случаев:
timetable.limits (в этом случае может быть больше одной локации, разделяющей рейс)PICKUP (в это случае будет только одна локация, разделяющая рейс)Примерами таких локаций (в зависимости от постановки задачи) могут служить:
Для каждого планирования есть возможность указать конфигурацию планирования, которая определяет целевую функцию, желаемое качество маршрутов и скорость расчета.
Название конфигурации планирования передается в поле trips_settings.configuration.
Основные конфигурации:
| Название | Задача |
|---|---|
| optimize_distance | Расставить как можно больше заказов, затем оптимизировать суммарный пробег (количество транспорта выбирается исходя из пробега), используется по умолчанию |
| optimize_transports | Расставить как можно больше заказов, при этом использовать как можно меньше транспорта, при прочих равных оптимизировать время работы исполнителей |
| optimize_locality_grouping | Расставить как можно больше заказов, при этом стремиться оптимизировать визуальную группировку маршрутов, но не их количество |
| optimize_cars_then_distance | Расставить как можно больше заказов, затем оптимизировать количество транспорта, затем пробег |
| optimize_time | Расставить как можно больше заказов, затем оптимизировать суммарное время работы исполнителей |
| optimize_cars_then_time | Расставить как можно больше заказов, затем оптимизировать количество транспорта, затем суммарное время работы исполнителей |
| optimize_money | Оптимизировать величину "награда за выполнение заказов - затраты", складывается из наград за заявки и расходов на исполнителей и транспорты (оптимизируемая величина неотрицательна) |
Дополнительные конфигурации:
| Название | Задача |
|---|---|
| visual_grouping | Расставить как можно больше заказов, при этом использовать как можно меньше транспорта и маршруты должны быть визуально сгруппированы |
| optimize_visual_grouping | Расставить как можно больше заказов, затем равномерно распределить заказы с учетом зон транспортной доступности (как visual_grouping, но визуальная группировка рассчитывается иначе) |
| optimize_cars_then_locality_grouping | Расставить как можно больше заказов, затем оптимизировать количество транспорта, затем визуальную группировку маршрутов |
| optimize_cars_then_single_location_grouping_sequenced | Расставить как можно больше заказов, затем оптимизировать количество машин, а затем надёжность |
В дополнение к существующим вариантам планирования возможно создание целевой функции непосредственно под бизнес-процессы клиента (запросить конфигурацию).
Для разработки рекомендуется использовать optimize_cars_then_distance, так как данная конфигурация не требует детального подбора тарифов и стоимостей заказов.
Валидация входных данных состоит из нескольких этапов, которые описаны ниже.
Если запрос не проходит по схеме, то планирование не запускается целиком и такая ошибка возвращается вместе с кодом 400 в schema_errors.
Мы рекомендуем проверять запрос по схеме (или yaml-файлу) перед отправкой на сервер.
Корректные по схеме данные проходят второй этап проверки на возможность запуска планирования.
Пример ошибок на данном этапе - ключи, ведущие на пустые сущности, или если все заказы несовместимы со всеми исполнителями, т.е. то, что делает задачу планирования бессмысленной.
Данные ошибки возвращаются вместе с кодом 400 в logical_errors.
На третьем этапе происходит проверка каждой сущности отдельно.
Все сущности, которые не прошли проверку - вырезаются из исходной задачи и не отправляются на планирование.
В зависимости от настройки treat_warnings_as_errors результаты данного типа проверки возвращаются в warnings вместе с кодом 400, либо вместе с результатом планирования.
Часть проверок можно осуществить только в процессе планирования.
Например - что согласно указанным тарифам и по актуальному прогнозу пробок физически невозможно доехать до определенной точки.
Результаты данных проверок возвращаются в warnings либо вместе с результатом планирования.
Планирование - создание рейсов, которые учитывают все заданные ограничения, на основе данных о заказах, исполнителях и транспорте.
Запросы на планирования возможно выполнять в синхронном (для тестирования) и асинхронном (для основного использования) режимах.
Чтобы получить результат работы очистки исходной задачи воспользуйтесь очисткой данных для планирования.
Запуск планирования рейсов - после загрузки и проверки данных возвращается идентификатор расчета process_code.
С помощью process_code можно узнать состояние расчета и получить результат,
a также отменить расчет и удалить временные данные (иначе они автоматически удалятся по ttl, указанному в настройках расчета).
Запуск асинхронного планирования.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
object (plan_settings) Настройки планирования. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
| process_code required | string <uuid> (process_code) Example: "11111111-2222-3333-4444-555555555555" Код процесса - идентификатор расчета. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 35.7048259,
- "longitude": 139.7297071
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 35.71861,
- "longitude": 139.7190533
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 35.7099049,
- "longitude": 139.7265958
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 35.7042346,
- "longitude": 139.6531996
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "plan_settings": {
- "trips_settings": {
- "configuration": "optimize_distance"
}, - "geo_settings": {
- "toll_roads": true,
- "traffic_jams": false
}
}
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "process_code": "11111111-2222-3333-4444-555555555555"
}Синхронный метод для создания рейсов.
Данный метод рекомендуется только для тестового использования и ручного запуска расчетов на небольшом объеме данных.
Для боевой среды рекомендуется использовать асинхронный метод.
Новый запрос на планирование.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
object (plan_settings) Настройки планирования. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 35.7048259,
- "longitude": 139.7297071
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 35.71861,
- "longitude": 139.7190533
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 35.7099049,
- "longitude": 139.7265958
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 35.7042346,
- "longitude": 139.6531996
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "plan_settings": {
- "trips_settings": {
- "configuration": "optimize_distance"
}, - "geo_settings": {
- "toll_roads": true,
- "traffic_jams": false
}
}
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-01T11:50:15.123Z"
}, - "trips": [
- {
- "key": "018fcd54-adda-4463-8a24-0f253264223f-performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:13:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:13:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:13:23Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:28:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:28:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:28:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:11Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:11Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:11Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:40:11Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}
], - "name": "1-HVFB",
- "waitlist": [ ],
- "attributes": [ ]
}
], - "statistics": {
- "total_statistics": {
- "cost": 5547.805,
- "reward": 3000.3,
- "profit": 0,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}, - "driving_time": "PT22M48S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT57M48S",
- "distance": 7980
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "average_speed": 7.98,
- "round_trips_count": 1
}, - "trips_statistics": [
- {
- "trip_key": "018fcd54-adda-4463-8a24-0f253264223f-performer_1_shift",
- "general_statistics": {
- "cost": 5547.805,
- "reward": 3000.3,
- "profit": -2547.505,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}, - "driving_time": "PT22M48S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT57M48S",
- "distance": 7980
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "average_speed": 7.98,
- "round_trips_count": 1
}, - "load_statistics": {
- "total_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_transfer_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - "stop_statistics": [
- {
- "location_key": "location_storage",
- "stop_demands": [
- {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}
}, - {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}, - "driving_time": "PT0S",
- "waiting_time": "PT0S",
- "working_time": "PT0S",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT0S",
- "distance": 0
}, - "upload": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_2",
- "stop_demands": [
- {
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:10:00Z"
}, - "driving_time": "PT17M37S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT27M37S",
- "distance": 6164
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_3",
- "stop_demands": [
- {
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "demand_time_window": {
- "from": "2025-09-08T05:13:23Z",
- "to": "2025-09-08T05:28:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:13:23Z",
- "to": "2025-09-08T05:28:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:10:00Z",
- "to": "2025-09-08T05:28:23Z"
}, - "driving_time": "PT3M23S",
- "waiting_time": "PT0S",
- "working_time": "PT15M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT18M23S",
- "distance": 1185
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_1",
- "stop_demands": [
- {
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:30:11Z",
- "to": "2025-09-08T05:40:11Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:30:11Z",
- "to": "2025-09-08T05:40:11Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:28:23Z",
- "to": "2025-09-08T05:40:11Z"
}, - "driving_time": "PT1M48S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT11M48S",
- "distance": 631
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}
]
}
], - "locations_statistics": [ ],
- "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-07T21:00:00Z",
- "to": "2025-09-08T21:00:59Z"
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}
}, - "calculation_progress": 100,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "result_version": 106,
- "preparing_time": "PT0S",
- "business_validation_time": "PT0S",
- "math_validation_time": "PT0S",
- "waiting_time": "PT3.04S",
- "calculation_time": "PT1.012S"
}, - "warnings": [ ],
- "unplanned_items": {
- "order_keys": [ ],
- "order_keys_count": 0,
- "performer_keys": [ ],
- "performer_keys_count": 0,
- "transport_keys": [ ],
- "transport_keys_count": 0,
- "hardlink_keys": [ ],
- "hardlink_keys_count": 0
}
}Отмена процесса планирования по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-28T17:13:27.945583194Z"
}, - "message": "logical error detail",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "order_1",
- "entity_type": "ORDER"
}
]
}
], - "warnings": [ ]
}Получение состояния расчета по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
required | object (tracedata) Данные используемые для трассировки запросов. |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
required | object (tracedata) Данные используемые для трассировки запросов. |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "calculation_progress": 52,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "message": "detail error message",
- "result_version": 133,
- "preparing_time": "PT1H45M",
- "business_validation_time": "PT1H45M",
- "math_validation_time": "PT1H45M",
- "waiting_time": "PT1H45M",
- "calculation_time": "PT1H45M"
}
}Получение результата планирования по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-01T11:50:15.123Z"
}, - "trips": [
- {
- "key": "018fcd54-adda-4463-8a24-0f253264223f-performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:13:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:13:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:13:23Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:28:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:28:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:28:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:11Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:11Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:11Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:40:11Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}
], - "name": "1-HVFB",
- "waitlist": [ ],
- "attributes": [ ]
}
], - "statistics": {
- "total_statistics": {
- "cost": 5547.805,
- "reward": 3000.3,
- "profit": 0,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}, - "driving_time": "PT22M48S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT57M48S",
- "distance": 7980
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "average_speed": 7.98,
- "round_trips_count": 1
}, - "trips_statistics": [
- {
- "trip_key": "018fcd54-adda-4463-8a24-0f253264223f-performer_1_shift",
- "general_statistics": {
- "cost": 5547.805,
- "reward": 3000.3,
- "profit": -2547.505,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}, - "driving_time": "PT22M48S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT57M48S",
- "distance": 7980
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "average_speed": 7.98,
- "round_trips_count": 1
}, - "load_statistics": {
- "total_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_transfer_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - "stop_statistics": [
- {
- "location_key": "location_storage",
- "stop_demands": [
- {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}
}, - {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}, - "driving_time": "PT0S",
- "waiting_time": "PT0S",
- "working_time": "PT0S",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT0S",
- "distance": 0
}, - "upload": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_2",
- "stop_demands": [
- {
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:10:00Z"
}, - "driving_time": "PT17M37S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT27M37S",
- "distance": 6164
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_3",
- "stop_demands": [
- {
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "demand_time_window": {
- "from": "2025-09-08T05:13:23Z",
- "to": "2025-09-08T05:28:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:13:23Z",
- "to": "2025-09-08T05:28:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:10:00Z",
- "to": "2025-09-08T05:28:23Z"
}, - "driving_time": "PT3M23S",
- "waiting_time": "PT0S",
- "working_time": "PT15M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT18M23S",
- "distance": 1185
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_1",
- "stop_demands": [
- {
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:30:11Z",
- "to": "2025-09-08T05:40:11Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:30:11Z",
- "to": "2025-09-08T05:40:11Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:28:23Z",
- "to": "2025-09-08T05:40:11Z"
}, - "driving_time": "PT1M48S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT11M48S",
- "distance": 631
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}
]
}
], - "locations_statistics": [ ],
- "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-07T21:00:00Z",
- "to": "2025-09-08T21:00:59Z"
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}
}, - "calculation_progress": 100,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "result_version": 106,
- "preparing_time": "PT0S",
- "business_validation_time": "PT0S",
- "math_validation_time": "PT0S",
- "waiting_time": "PT3.04S",
- "calculation_time": "PT1.012S"
}, - "warnings": [ ],
- "unplanned_items": {
- "order_keys": [ ],
- "order_keys_count": 0,
- "performer_keys": [ ],
- "performer_keys_count": 0,
- "transport_keys": [ ],
- "transport_keys_count": 0,
- "hardlink_keys": [ ],
- "hardlink_keys_count": 0
}
}Удаление результата по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-28T17:13:27.945583194Z"
}, - "message": "logical error detail",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "order_1",
- "entity_type": "ORDER"
}
]
}
], - "warnings": [ ]
}Проверка данных для планирования перед использованием.
Данные, которые необходимо проверить.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
object (plan_settings) Настройки планирования. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 35.7048259,
- "longitude": 139.7297071
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 35.71861,
- "longitude": 139.7190533
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 35.7099049,
- "longitude": 139.7265958
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 35.7042346,
- "longitude": 139.6531996
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "plan_settings": {
- "trips_settings": {
- "configuration": "optimize_distance"
}, - "geo_settings": {
- "toll_roads": true,
- "traffic_jams": false
}
}
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_validation",
- "time": "2025-09-01T11:50:15.123Z"
}, - "warnings": [
- {
- "type": "NO_AVAILABLE_TRANSPORT",
- "entities": [
- {
- "entity_key": "ord0001",
- "entity_type": "ORDER"
}
]
}
]
}Очистка данных для планирования перед расчетом - из исходного датасета удаляются сущности, которые не могут участвовать в планировании:
remove_locations)| remove_locations | boolean Default: false Example: remove_locations=true Флаг, отвечающий за удаление локации при очистке данных. Если указан |
Данные, которые необходимо очистить.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
object (plan_settings) Настройки планирования. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | object (plan_task) Задача для планирования. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (removed_items) Информация о удаленных сущностях. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "plan_settings": {
- "trips_settings": {
- "configuration": "optimize_distance"
}, - "geo_settings": {
- "toll_roads": true,
- "traffic_jams": false
}
}
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_replan_calculation",
- "time": "2025-09-28T17:06:33.856Z"
}, - "plan_task": {
- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "plan_settings": {
- "trips_settings": {
- "configuration": "optimize_distance"
}, - "geo_settings": {
- "toll_roads": true,
- "traffic_jams": false
}
}
}
}Расчет статистики по существующим рейсам
Новый запрос.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
required | Array of objects (trip) [ 1 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
object (plan_settings) Настройки планирования. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "locations": [
- {
- "key": "performer_1_current_location",
- "geopoint": {
- "latitude": 55.720292,
- "longitude": 37.625994
}
}, - {
- "key": "unused_location",
- "geopoint": {
- "latitude": 55.512292,
- "longitude": 37.915934
}
}, - {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "trip_for_performer_1",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-01T11:50:15.123Z"
}, - "trips": [
- {
- "key": "018fcd54-adda-4463-8a24-0f253264223f-performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:42:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:13:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:13:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:13:23Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:28:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:28:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:28:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:11Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:11Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:11Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:40:11Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}
], - "name": "1-HVFB",
- "waitlist": [ ],
- "attributes": [ ]
}
], - "statistics": {
- "total_statistics": {
- "cost": 5547.805,
- "reward": 3000.3,
- "profit": 0,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}, - "driving_time": "PT22M48S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT57M48S",
- "distance": 7980
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "average_speed": 7.98,
- "round_trips_count": 1
}, - "trips_statistics": [
- {
- "trip_key": "018fcd54-adda-4463-8a24-0f253264223f-performer_1_shift",
- "general_statistics": {
- "cost": 5547.805,
- "reward": 3000.3,
- "profit": -2547.505,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:40:11Z"
}, - "driving_time": "PT22M48S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT57M48S",
- "distance": 7980
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "average_speed": 7.98,
- "round_trips_count": 1
}, - "load_statistics": {
- "total_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_transfer_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - "stop_statistics": [
- {
- "location_key": "location_storage",
- "stop_demands": [
- {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}
}, - {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T04:42:23Z"
}, - "driving_time": "PT0S",
- "waiting_time": "PT0S",
- "working_time": "PT0S",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT0S",
- "distance": 0
}, - "upload": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_2",
- "stop_demands": [
- {
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:42:23Z",
- "to": "2025-09-08T05:10:00Z"
}, - "driving_time": "PT17M37S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT27M37S",
- "distance": 6164
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_3",
- "stop_demands": [
- {
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "demand_time_window": {
- "from": "2025-09-08T05:13:23Z",
- "to": "2025-09-08T05:28:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:13:23Z",
- "to": "2025-09-08T05:28:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:10:00Z",
- "to": "2025-09-08T05:28:23Z"
}, - "driving_time": "PT3M23S",
- "waiting_time": "PT0S",
- "working_time": "PT15M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT18M23S",
- "distance": 1185
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_1",
- "stop_demands": [
- {
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:30:11Z",
- "to": "2025-09-08T05:40:11Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:30:11Z",
- "to": "2025-09-08T05:40:11Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:28:23Z",
- "to": "2025-09-08T05:40:11Z"
}, - "driving_time": "PT1M48S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT11M48S",
- "distance": 631
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}
]
}
], - "locations_statistics": [ ],
- "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-07T21:00:00Z",
- "to": "2025-09-08T21:00:59Z"
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}
}, - "calculation_progress": 100,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "result_version": 106,
- "preparing_time": "PT0S",
- "business_validation_time": "PT0S",
- "math_validation_time": "PT0S",
- "waiting_time": "PT3.04S",
- "calculation_time": "PT1.012S"
}, - "warnings": [ ],
- "unplanned_items": {
- "order_keys": [ ],
- "order_keys_count": 0,
- "performer_keys": [ ],
- "performer_keys_count": 0,
- "transport_keys": [ ],
- "transport_keys_count": 0,
- "hardlink_keys": [ ],
- "hardlink_keys_count": 0
}
}Актуализация рейсов - обновление планового времени выполнения заказов с учетом фактов и без изменения порядка обьезда.
Актуализация проходит в три этапа - проверка, применение фактов, планирование времен у невыполненных состояний рейсов.
Чтобы получить результат очистки и применения фактов к исходной задаче воспользуйтесь функцией очистки данных.
Полученные в результате актуализации рейсы не меняют исполнителей, транспорт и порядок выполнения заказов, содержат только те работы, которые осталось выполнить.
Заказы, которые не могут быть выполнены, остаются назначенными на исполнителя и попадают в waitlist.
Учет существующих рейсов:
hardlink - т.е. назначенные на рейс смены исполнителя и транспорта не могут использоваться в других рейсах.precedence_in_trip, если у этих заявок уже был указан порядок выполнения - он будет перезаписан.Учет текущего времени:
actualize_settings.current_time в данных не задано - то используется время получения запроса сервером.actualize_settings.max_delay_duration.Учет фактов:
actualize_settings.current_time (по полю time), при этом не важно, насколько раньше текущего времени произошел факт.time.Учет факта о изменения местоположения NEW_LOCATION:
locations должна находится локация (существующая или новая), которая описывает новое местоположение исполнителя.start_location_key у исполнителя и транспорта.Учет факта о завершении заказа ORDER_DONE:
Учет фактов о начале работ над заявкой DEMAND_START:
DEMAND_START (закрывается фактом DEMAND_DONE) - так как исполнитель может в один момент времени выполнять только одну заявку.DEMAND_START и actualize_settings.current_time).Учет фактов о частичном выполнении заказов DEMAND_DONE:
ORDER_DONE).WORK, то заявка удаляется из заказа.DROP, то заявка и ее грузы, а также соответствующая ей заявка с типом PICKUP удаляются из заказа.DROP_FROM_BOX то заявка и ее груз удаляются из заказа.PICKUP, то соответствующие ей заявки с типом DROP будут преобразованы в заявки с типом DROP_FROM_BOX.PICKUP_TO_BOX, то заявка и груз удаляются и у транспорта уменьшается capacity соответствующего отсека (при это изменения совместимостей не производится).Запуск актуализации существующих рейсов - после загрузки и проверки данных возвращается идентификатор расчета process_code.
С помощью process_code можно узнать состояние расчета, получить результат,
a также отменить расчет и удалить временные данные (иначе они автоматически удалятся по ttl, указанному в настройках расчета).
Задачу на актуализацию можно трансформировать в задачу на планирование с помощью переработки данных.
Запуск асинхронного процесса актуализации.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. |
required | Array of objects (trip) [ 1 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (actualize_settings) Настройки актуализации. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
| process_code required | string <uuid> (process_code) Example: "11111111-2222-3333-4444-555555555555" Код процесса - идентификатор расчета. |
{- "locations": [
- {
- "key": "performer_1_current_location",
- "geopoint": {
- "latitude": 55.720292,
- "longitude": 37.625994
}
}, - {
- "key": "unused_location",
- "geopoint": {
- "latitude": 55.512292,
- "longitude": 37.915934
}
}, - {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "facts": [
- {
- "key": "fact_01",
- "type": "NEW_LOCATION",
- "time": "2025-09-07T22:00:00Z",
- "trip_key": "trip_for_performer_1",
- "performer_key": "performer_1",
- "location_key": "performer_1_current_location"
}
], - "trips": [
- {
- "key": "trip_for_performer_1",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
], - "actualize_settings": {
- "current_time": "2025-09-07T22:30:00Z",
- "max_delay_duration": "PT1H"
}
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "process_code": "11111111-2222-3333-4444-555555555555"
}Синхронный метод для актуализации существующих рейсов.
Данный метод рекомендуется только для тестового использования и ручного запуска расчетов на небольшом объеме данных.
Для боевой среды рекомендуется использовать асинхронный метод.
Новый запрос на актуализацию.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. |
required | Array of objects (trip) [ 1 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (actualize_settings) Настройки актуализации. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "locations": [
- {
- "key": "performer_1_current_location",
- "geopoint": {
- "latitude": 55.720292,
- "longitude": 37.625994
}
}, - {
- "key": "unused_location",
- "geopoint": {
- "latitude": 55.512292,
- "longitude": 37.915934
}
}, - {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "facts": [
- {
- "key": "fact_01",
- "type": "NEW_LOCATION",
- "time": "2025-09-07T22:00:00Z",
- "trip_key": "trip_for_performer_1",
- "performer_key": "performer_1",
- "location_key": "performer_1_current_location"
}
], - "trips": [
- {
- "key": "trip_for_performer_1",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
], - "actualize_settings": {
- "current_time": "2025-09-07T22:30:00Z",
- "max_delay_duration": "PT1H"
}
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_actualize_calculation",
- "time": "2025-09-28T17:06:33.856Z"
}, - "trips": [
- {
- "key": "d56f86e9-c50a-40d3-b5ef-616eacc98db0-performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "name": "1-HVFB",
- "waitlist": [ ],
- "attributes": [ ]
}
], - "statistics": {
- "total_statistics": {
- "cost": 6795.37,
- "reward": 3000.3,
- "profit": 0,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT39M15S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT1H14M15S",
- "distance": 34037
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "average_speed": 34.037,
- "round_trips_count": 1
}, - "trips_statistics": [
- {
- "trip_key": "d56f86e9-c50a-40d3-b5ef-616eacc98db0-performer_1_shift",
- "general_statistics": {
- "cost": 6795.37,
- "reward": 3000.3,
- "profit": -3795.07,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT39M15S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT1H14M15S",
- "distance": 34037
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "average_speed": 34.037,
- "round_trips_count": 1
}, - "load_statistics": {
- "total_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_transfer_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - "stop_statistics": [
- {
- "location_key": "location_storage",
- "stop_demands": [
- {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}
}, - {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}, - "driving_time": "PT0S",
- "waiting_time": "PT0S",
- "working_time": "PT0S",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT0S",
- "distance": 0
}, - "upload": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_2",
- "stop_demands": [
- {
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:10:00Z"
}, - "driving_time": "PT20M26S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT30M26S",
- "distance": 17110
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_1",
- "stop_demands": [
- {
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:20:56Z",
- "to": "2025-09-08T05:30:56Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:20:56Z",
- "to": "2025-09-08T05:30:56Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:10:00Z",
- "to": "2025-09-08T05:30:56Z"
}, - "driving_time": "PT10M56S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT20M56S",
- "distance": 9897
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_3",
- "stop_demands": [
- {
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "demand_time_window": {
- "from": "2025-09-08T05:38:49Z",
- "to": "2025-09-08T05:53:49Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:38:49Z",
- "to": "2025-09-08T05:53:49Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:30:56Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT7M53S",
- "waiting_time": "PT0S",
- "working_time": "PT15M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT22M53S",
- "distance": 7030
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}
]
}
], - "locations_statistics": [ ],
- "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-07T21:00:00Z",
- "to": "2025-09-08T21:00:59Z"
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}
}, - "calculation_progress": 100,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "result_version": 106,
- "preparing_time": "PT0S",
- "business_validation_time": "PT0S",
- "math_validation_time": "PT0S",
- "waiting_time": "PT4.022S",
- "calculation_time": "PT1.012S"
}, - "warnings": [ ],
- "unplanned_items": {
- "order_keys": [ ],
- "order_keys_count": 0,
- "performer_keys": [ ],
- "performer_keys_count": 0,
- "transport_keys": [ ],
- "transport_keys_count": 0,
- "hardlink_keys": [ ],
- "hardlink_keys_count": 0
}
}Отмена процесса актуализации по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-28T17:13:27.945583194Z"
}, - "message": "logical error detail",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "order_1",
- "entity_type": "ORDER"
}
]
}
], - "warnings": [ ]
}Получение состояния расчета по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
required | object (tracedata) Данные используемые для трассировки запросов. |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
required | object (tracedata) Данные используемые для трассировки запросов. |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "calculation_progress": 52,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "message": "detail error message",
- "result_version": 133,
- "preparing_time": "PT1H45M",
- "business_validation_time": "PT1H45M",
- "math_validation_time": "PT1H45M",
- "waiting_time": "PT1H45M",
- "calculation_time": "PT1H45M"
}
}Получение результата актуализации по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_actualize_calculation",
- "time": "2025-09-28T17:06:33.856Z"
}, - "trips": [
- {
- "key": "d56f86e9-c50a-40d3-b5ef-616eacc98db0-performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "name": "1-HVFB",
- "waitlist": [ ],
- "attributes": [ ]
}
], - "statistics": {
- "total_statistics": {
- "cost": 6795.37,
- "reward": 3000.3,
- "profit": 0,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT39M15S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT1H14M15S",
- "distance": 34037
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "average_speed": 34.037,
- "round_trips_count": 1
}, - "trips_statistics": [
- {
- "trip_key": "d56f86e9-c50a-40d3-b5ef-616eacc98db0-performer_1_shift",
- "general_statistics": {
- "cost": 6795.37,
- "reward": 3000.3,
- "profit": -3795.07,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT39M15S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT1H14M15S",
- "distance": 34037
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "average_speed": 34.037,
- "round_trips_count": 1
}, - "load_statistics": {
- "total_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_transfer_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - "stop_statistics": [
- {
- "location_key": "location_storage",
- "stop_demands": [
- {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}
}, - {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}, - "driving_time": "PT0S",
- "waiting_time": "PT0S",
- "working_time": "PT0S",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT0S",
- "distance": 0
}, - "upload": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_2",
- "stop_demands": [
- {
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:10:00Z"
}, - "driving_time": "PT20M26S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT30M26S",
- "distance": 17110
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_1",
- "stop_demands": [
- {
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:20:56Z",
- "to": "2025-09-08T05:30:56Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:20:56Z",
- "to": "2025-09-08T05:30:56Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:10:00Z",
- "to": "2025-09-08T05:30:56Z"
}, - "driving_time": "PT10M56S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT20M56S",
- "distance": 9897
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_3",
- "stop_demands": [
- {
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "demand_time_window": {
- "from": "2025-09-08T05:38:49Z",
- "to": "2025-09-08T05:53:49Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:38:49Z",
- "to": "2025-09-08T05:53:49Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:30:56Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT7M53S",
- "waiting_time": "PT0S",
- "working_time": "PT15M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT22M53S",
- "distance": 7030
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}
]
}
], - "locations_statistics": [ ],
- "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-07T21:00:00Z",
- "to": "2025-09-08T21:00:59Z"
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}
}, - "calculation_progress": 100,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "result_version": 106,
- "preparing_time": "PT0S",
- "business_validation_time": "PT0S",
- "math_validation_time": "PT0S",
- "waiting_time": "PT4.022S",
- "calculation_time": "PT1.012S"
}, - "warnings": [ ],
- "unplanned_items": {
- "order_keys": [ ],
- "order_keys_count": 0,
- "performer_keys": [ ],
- "performer_keys_count": 0,
- "transport_keys": [ ],
- "transport_keys_count": 0,
- "hardlink_keys": [ ],
- "hardlink_keys_count": 0
}
}Удаление результата по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-28T17:13:27.945583194Z"
}, - "message": "logical error detail",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "order_1",
- "entity_type": "ORDER"
}
]
}
], - "warnings": [ ]
}Проверка данных для актуализации перед использованием.
Данные, которые необходимо проверить.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. |
required | Array of objects (trip) [ 1 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (actualize_settings) Настройки актуализации. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. |
{- "locations": [
- {
- "key": "performer_1_current_location",
- "geopoint": {
- "latitude": 55.720292,
- "longitude": 37.625994
}
}, - {
- "key": "unused_location",
- "geopoint": {
- "latitude": 55.512292,
- "longitude": 37.915934
}
}, - {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "facts": [
- {
- "key": "fact_01",
- "type": "NEW_LOCATION",
- "time": "2025-09-07T22:00:00Z",
- "trip_key": "trip_for_performer_1",
- "performer_key": "performer_1",
- "location_key": "performer_1_current_location"
}
], - "trips": [
- {
- "key": "trip_for_performer_1",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
], - "actualize_settings": {
- "current_time": "2025-09-07T22:30:00Z",
- "max_delay_duration": "PT1H"
}
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_validation",
- "time": "2025-09-01T11:50:15.123Z"
}, - "warnings": [
- {
- "type": "NO_AVAILABLE_TRANSPORT",
- "entities": [
- {
- "entity_key": "ord0001",
- "entity_type": "ORDER"
}
]
}
]
}Очистка данных для актуализации перед расчетом:
actualize_settings.current_time.В результате возвращается задача для планирования.
| remove_locations | boolean Default: false Example: remove_locations=true Флаг, отвечающий за удаление локации при очистке данных. Если указан |
Данные, которые необходимо переработать.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. |
required | Array of objects (trip) [ 1 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (actualize_settings) Настройки актуализации. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | object (plan_task) Задача для планирования. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (removed_items) Информация о удаленных сущностях. |
{- "locations": [
- {
- "key": "performer_1_current_location",
- "geopoint": {
- "latitude": 55.720292,
- "longitude": 37.625994
}
}, - {
- "key": "unused_location",
- "geopoint": {
- "latitude": 55.512292,
- "longitude": 37.915934
}
}, - {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "facts": [
- {
- "key": "fact_01",
- "type": "NEW_LOCATION",
- "time": "2025-09-07T22:00:00Z",
- "trip_key": "trip_for_performer_1",
- "performer_key": "performer_1",
- "location_key": "performer_1_current_location"
}
], - "trips": [
- {
- "key": "trip_for_performer_1",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
], - "actualize_settings": {
- "current_time": "2025-09-07T22:30:00Z",
- "max_delay_duration": "PT1H"
}
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_replan_calculation",
- "time": "2025-09-28T17:06:33.856Z"
}, - "plan_task": {
- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "plan_settings": {
- "trips_settings": {
- "configuration": "optimize_distance"
}, - "geo_settings": {
- "toll_roads": true,
- "traffic_jams": false
}
}
}
}Перепланирование - создание новых рейсов на основе уже существующих рейсов с учетом фактов.
Перепланирование проходит в несколько этапов - проверка, применение фактов и создание ограничений для планирования на базе существующих рейсов, планирование.
Чтобы получить результат очистки и применения фактов к исходной задаче воспользуйтесь переработкой данных.
В зависимости от настроек перепланирования - задача может быть сведена к планированию (когда все разрешено reorder: true, plan_new_orders: true, create_new_trips: true) или к актуализации (когда все запрещено reorder: false, plan_new_orders: false, create_new_trips: false).
Заказы, которые не могут быть выполнены - остаются назначенными на исполнителя и попадают в waitlist.
Учет существующих рейсов, текущего времени и порядок применения фактов - используется логика из актуализации с учетом выбранной стратегии:
| reorder | boolean Default: false Example: "true" Возможность изменять существующий в исходных рейсах порядок выполнения заказов. |
| plan_new_orders | boolean Default: false Example: "true" Возможность планировать новые заказы в существующие или новые рейсы (если включена опция |
| create_new_trips | boolean Default: false Example: "true" Возможность создавать новые рейсы в дополнение к существующим. |
{- "reorder": true,
- "plan_new_orders": true,
- "create_new_trips": true
}Запуск перепланирования рейсов - изменение существующих и создание новых рейсов на основе произошедших фактов и данных о заказах, исполнителях и транспорте.
После загрузки и проверки данных возвращается идентификатор расчета process_code.
С помощью process_code можно узнать состояние расчета и получить результат,
a также отменить расчет и удалить временные данные (иначе они автоматически удалятся по ttl, указанному в настройках расчета).
Задачу на перепланирование можно трансформировать в задачу на планирование с помощью переработки данных.
Запуск асинхронного перепланирования.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
required | Array of objects (trip) [ 1 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (actualize_settings) Настройки актуализации. | |
object (replan_settings) Настройки перепланирования. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
| process_code required | string <uuid> (process_code) Example: "11111111-2222-3333-4444-555555555555" Код процесса - идентификатор расчета. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "process_code": "11111111-2222-3333-4444-555555555555"
}Синхронный метод для перепланирования существующих рейсов.
Данный метод рекомендуется только для тестового использования и ручного запуска расчетов на небольшом объеме данных.
Для боевой среды рекомендуется использовать асинхронный метод.
Новый запрос на перепланирование.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
required | Array of objects (trip) [ 1 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (actualize_settings) Настройки актуализации. | |
object (replan_settings) Настройки перепланирования. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_replan_calculation",
- "time": "2025-09-28T17:06:33.856Z"
}, - "trips": [
- {
- "key": "d56f86e9-c50a-40d3-b5ef-616eacc98db0-performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "name": "1-HVFB",
- "waitlist": [ ],
- "attributes": [ ]
}
], - "statistics": {
- "total_statistics": {
- "cost": 6795.37,
- "reward": 3000.3,
- "profit": 0,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT39M15S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT1H14M15S",
- "distance": 34037
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "average_speed": 34.037,
- "round_trips_count": 1
}, - "trips_statistics": [
- {
- "trip_key": "d56f86e9-c50a-40d3-b5ef-616eacc98db0-performer_1_shift",
- "general_statistics": {
- "cost": 6795.37,
- "reward": 3000.3,
- "profit": -3795.07,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT39M15S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT1H14M15S",
- "distance": 34037
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "average_speed": 34.037,
- "round_trips_count": 1
}, - "load_statistics": {
- "total_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_transfer_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - "stop_statistics": [
- {
- "location_key": "location_storage",
- "stop_demands": [
- {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}
}, - {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}, - "driving_time": "PT0S",
- "waiting_time": "PT0S",
- "working_time": "PT0S",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT0S",
- "distance": 0
}, - "upload": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_2",
- "stop_demands": [
- {
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:10:00Z"
}, - "driving_time": "PT20M26S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT30M26S",
- "distance": 17110
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_1",
- "stop_demands": [
- {
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:20:56Z",
- "to": "2025-09-08T05:30:56Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:20:56Z",
- "to": "2025-09-08T05:30:56Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:10:00Z",
- "to": "2025-09-08T05:30:56Z"
}, - "driving_time": "PT10M56S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT20M56S",
- "distance": 9897
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_3",
- "stop_demands": [
- {
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "demand_time_window": {
- "from": "2025-09-08T05:38:49Z",
- "to": "2025-09-08T05:53:49Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:38:49Z",
- "to": "2025-09-08T05:53:49Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:30:56Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT7M53S",
- "waiting_time": "PT0S",
- "working_time": "PT15M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT22M53S",
- "distance": 7030
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}
]
}
], - "locations_statistics": [ ],
- "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-07T21:00:00Z",
- "to": "2025-09-08T21:00:59Z"
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}
}, - "calculation_progress": 100,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "result_version": 106,
- "preparing_time": "PT0S",
- "business_validation_time": "PT0S",
- "math_validation_time": "PT0S",
- "waiting_time": "PT4.022S",
- "calculation_time": "PT1.012S"
}, - "warnings": [ ],
- "unplanned_items": {
- "order_keys": [ ],
- "order_keys_count": 0,
- "performer_keys": [ ],
- "performer_keys_count": 0,
- "transport_keys": [ ],
- "transport_keys_count": 0,
- "hardlink_keys": [ ],
- "hardlink_keys_count": 0
}
}Отмена процесса планирования по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-28T17:13:27.945583194Z"
}, - "message": "logical error detail",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "order_1",
- "entity_type": "ORDER"
}
]
}
], - "warnings": [ ]
}Получение состояния расчета по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
required | object (tracedata) Данные используемые для трассировки запросов. |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
required | object (tracedata) Данные используемые для трассировки запросов. |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}, - "calculation_progress": 52,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "message": "detail error message",
- "result_version": 133,
- "preparing_time": "PT1H45M",
- "business_validation_time": "PT1H45M",
- "math_validation_time": "PT1H45M",
- "waiting_time": "PT1H45M",
- "calculation_time": "PT1H45M"
}
}Получение результата перепланирования по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
required | object or null (plan_statistics) Общая статистика по результату расчета. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (unplanned_items) Информация о незапланированных сущностях. | |
object (removed_items) Информация о удаленных сущностях. | |
| calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Прогресс расчета в процентах. Прогресс отражает текущее количество завершенных шагов. |
required | object (calculation_info) Информация о расчете. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_replan_calculation",
- "time": "2025-09-28T17:06:33.856Z"
}, - "trips": [
- {
- "key": "d56f86e9-c50a-40d3-b5ef-616eacc98db0-performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:39:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:56Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "REMOVE"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:56Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:49Z",
- "flags": [
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION",
- "INSIDE_LOCATION_WINDOW",
- "ON_DEMAND"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "name": "1-HVFB",
- "waitlist": [ ],
- "attributes": [ ]
}
], - "statistics": {
- "total_statistics": {
- "cost": 6795.37,
- "reward": 3000.3,
- "profit": 0,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT39M15S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT1H14M15S",
- "distance": 34037
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "average_speed": 34.037,
- "round_trips_count": 1
}, - "trips_statistics": [
- {
- "trip_key": "d56f86e9-c50a-40d3-b5ef-616eacc98db0-performer_1_shift",
- "general_statistics": {
- "cost": 6795.37,
- "reward": 3000.3,
- "profit": -3795.07,
- "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT39M15S",
- "waiting_time": "PT0S",
- "working_time": "PT35M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT1H14M15S",
- "distance": 34037
}, - "trips_count": 1,
- "performers_count": 1,
- "orders_count": 3,
- "plan_orders_count": 3,
- "waitlist_orders_count": 0,
- "stops_count": 4,
- "locations_count": 4,
- "cargo_capacity_sum": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}, - "cargo_capacity_ratio": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "max_transport_load": {
- "mass": 0.007,
- "volume": 1,
- "capacity_a": 1,
- "capacity_b": 1,
- "capacity_c": 1
}, - "average_speed": 34.037,
- "round_trips_count": 1
}, - "load_statistics": {
- "total_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_transfer_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - "stop_statistics": [
- {
- "location_key": "location_storage",
- "stop_demands": [
- {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}
}, - {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T04:39:34Z"
}, - "driving_time": "PT0S",
- "waiting_time": "PT0S",
- "working_time": "PT0S",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT0S",
- "distance": 0
}, - "upload": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_2",
- "stop_demands": [
- {
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:00:00Z",
- "to": "2025-09-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T04:39:34Z",
- "to": "2025-09-08T05:10:00Z"
}, - "driving_time": "PT20M26S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT30M26S",
- "distance": 17110
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 2,
- "capacity": {
- "mass": 2,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_1",
- "stop_demands": [
- {
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "demand_time_window": {
- "from": "2025-09-08T05:20:56Z",
- "to": "2025-09-08T05:30:56Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:20:56Z",
- "to": "2025-09-08T05:30:56Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:10:00Z",
- "to": "2025-09-08T05:30:56Z"
}, - "driving_time": "PT10M56S",
- "waiting_time": "PT0S",
- "working_time": "PT10M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT20M56S",
- "distance": 9897
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 1,
- "capacity": {
- "mass": 1,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}, - {
- "location_key": "location_client_3",
- "stop_demands": [
- {
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "demand_time_window": {
- "from": "2025-09-08T05:38:49Z",
- "to": "2025-09-08T05:53:49Z"
}
}
], - "stop_time_window": {
- "from": "2025-09-08T05:38:49Z",
- "to": "2025-09-08T05:53:49Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-09-08T05:30:56Z",
- "to": "2025-09-08T05:53:49Z"
}, - "driving_time": "PT7M53S",
- "waiting_time": "PT0S",
- "working_time": "PT15M",
- "break_time": "PT0S",
- "rest_time": "PT0S",
- "arriving_time": "PT0S",
- "departure_time": "PT0S",
- "total_time": "PT22M53S",
- "distance": 7030
}, - "upload": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "download": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "max_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "arrival_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}, - "departure_load": {
- "count": 0,
- "capacity": {
- "mass": 0,
- "volume": 0,
- "capacity_a": 0,
- "capacity_b": 0,
- "capacity_c": 0
}
}
}
]
}
], - "locations_statistics": [ ],
- "task_statistics": {
- "planning_horizon": {
- "from": "2025-09-07T21:00:00Z",
- "to": "2025-09-08T21:00:59Z"
}
}, - "quality": {
- "locations_limits_penalty": 0,
- "soft_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}, - "hard_time_window_violations": {
- "before": {
- "demand_keys": [ ],
- "count": 0
}, - "after": {
- "demand_keys": [ ],
- "count": 0
}
}
}
}, - "calculation_progress": 100,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "result_version": 106,
- "preparing_time": "PT0S",
- "business_validation_time": "PT0S",
- "math_validation_time": "PT0S",
- "waiting_time": "PT4.022S",
- "calculation_time": "PT1.012S"
}, - "warnings": [ ],
- "unplanned_items": {
- "order_keys": [ ],
- "order_keys_count": 0,
- "performer_keys": [ ],
- "performer_keys_count": 0,
- "transport_keys": [ ],
- "transport_keys_count": 0,
- "hardlink_keys": [ ],
- "hardlink_keys_count": 0
}
}Удаление результата перепланирования по идентификатору расчета.
| process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 Уникальный идентификатор процесса. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-28T17:13:27.945583194Z"
}, - "message": "logical error detail",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "order_1",
- "entity_type": "ORDER"
}
]
}
], - "warnings": [ ]
}Проверка данных для перепланирования перед использованием.
Данные, которые необходимо проверить.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
required | Array of objects (trip) [ 1 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (actualize_settings) Настройки актуализации. | |
object (replan_settings) Настройки перепланирования. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_validation",
- "time": "2025-09-01T11:50:15.123Z"
}, - "warnings": [
- {
- "type": "NO_AVAILABLE_TRANSPORT",
- "entities": [
- {
- "entity_key": "ord0001",
- "entity_type": "ORDER"
}
]
}
]
}Очистка данных для перепланирования перед расчетом:
actualize_settings.current_time.plan_new_orders: false - из исходной задачи удаляются все заказы, которых нет в указанных рейсах.create_new_trips: false - из исходной задачи удаляются все исполнители и транспорт, которых нет в указанных рейсах, также удаляются незапланированные смены исполнителей и транспорта, которые есть в указанных рейсах.В результате возвращается задача для планирования.
| remove_locations | boolean Default: false Example: remove_locations=true Флаг, отвечающий за удаление локации при очистке данных. Если указан |
Данные, которые необходимо переработать.
required | Array of objects (location) [ 1 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. |
required | Array of objects (order) [ 1 .. 15001 ] items unique Список заказов, которые необходимо выполнить. |
required | Array of objects (performer) [ 1 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. |
required | Array of objects (transport) [ 1 .. 15001 ] items unique Список доступного транспорта. |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
required | Array of objects (trip) [ 1 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (actualize_settings) Настройки актуализации. | |
object (replan_settings) Настройки перепланирования. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
required | object (tracedata) Данные используемые для трассировки запросов. |
required | object (plan_task) Задача для планирования. |
Array of objects (entity_warning_list) [ 0 .. 15001 ] items Список предупреждений. | |
object (removed_items) Информация о удаленных сущностях. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_replan_calculation",
- "time": "2025-09-28T17:06:33.856Z"
}, - "plan_task": {
- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "plan_settings": {
- "trips_settings": {
- "configuration": "optimize_distance"
}, - "geo_settings": {
- "toll_roads": true,
- "traffic_jams": false
}
}
}
}Используется для конвертации данных в формат VRt.Universal XLSX.
| timezone | integer <int32> (timezone) [ -12 .. 12 ] Default: 0 Example: timezone=3 Целевая временная зона данных. |
Запрос на конвертацию в XLSX.
Array of objects (location_list) [ 0 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. | |
Array of objects (order_list) [ 0 .. 15001 ] items unique Список заказов, которые необходимо выполнить. | |
Array of objects (performer_list) [ 0 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. | |
Array of objects (transport_list) [ 0 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. | |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. | |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
object or null (plan_statistics) Общая статистика по результату расчета. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (replan_settings) Настройки перепланирования. | |
object (actualize_settings) Настройки актуализации. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
Файл с данными в формате XLSX.
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-28T17:13:27.945583194Z"
}, - "message": "logical error detail",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "order_1",
- "entity_type": "ORDER"
}
]
}
], - "warnings": [ ]
}Используется для конвертации данных из формата VRt.Universal XLSX в формат VRt.Universal JSON.
Запрос на конвертацию в JSON.
Файл с данными в формате XLSX.
Array of objects (location_list) [ 0 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. | |
Array of objects (order_list) [ 0 .. 15001 ] items unique Список заказов, которые необходимо выполнить. | |
Array of objects (performer_list) [ 0 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. | |
Array of objects (transport_list) [ 0 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. | |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. | |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
object or null (plan_statistics) Общая статистика по результату расчета. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (replan_settings) Настройки перепланирования. | |
object (actualize_settings) Настройки актуализации. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}Используется для конвертации входных данных в формат THRIFT.
Запрос на конвертацию в THRIFT.
Array of objects (location_list) [ 0 .. 15001 ] items unique Список локаций, которые используются в заказах и сменах. | |
Array of objects (order_list) [ 0 .. 15001 ] items unique Список заказов, которые необходимо выполнить. | |
Array of objects (performer_list) [ 0 .. 15001 ] items unique Список доступных исполнителей. Исполнитель выполняет заказы используя транспорт. | |
Array of objects (transport_list) [ 0 .. 15001 ] items unique Список доступного транспорта. Транспорт используется исполнителем рейса для выполнения заказов. | |
Array of objects (hardlink_list) [ 0 .. 15001 ] items unique Список назначений. | |
Array of objects (trip_list) [ 0 .. 15001 ] items unique Список рейсов. Рейс - это совокупность работ, запланированных на выполнение конкретным исполнителем на конкретном транспорте, выраженных через изменение состояний исполнителя. | |
Array of objects (fact_list) [ 0 .. 15001 ] items unique Список фактов. Факт - это произошедшее событие, которое влияет на дальнейшие выполнение рейсов. | |
object or null (plan_statistics) Общая статистика по результату расчета. | |
Array of objects (routing_transport_matrix_list) [ 0 .. 16 ] items unique Список матриц времен и расстояний для каждого типа транспорта, которые указаны в данных.
Матрица должна описывать все локации для каждого типа транспорта из данных.
При указании внешней матрицы маршрутизации | |
object (plan_settings) Настройки планирования. | |
object (replan_settings) Настройки перепланирования. | |
object (actualize_settings) Настройки актуализации. | |
| dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" Название набора данных. Техническое поле, не влияющее на расчет. |
Файл с данными в текстовом формате.
{- "locations": [
- {
- "key": "location_client_1",
- "geopoint": {
- "latitude": 55.713699,
- "longitude": 37.621839
}
}, - {
- "key": "location_client_2",
- "geopoint": {
- "latitude": 55.630721,
- "longitude": 37.62493
}
}, - {
- "key": "location_client_3",
- "geopoint": {
- "latitude": 55.722801,
- "longitude": 37.674984
}
}, - {
- "key": "location_storage",
- "geopoint": {
- "latitude": 55.685853,
- "longitude": 37.43181
}
}
], - "orders": [
- {
- "key": "order_1",
- "demands": [
- {
- "key": "demand_1_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_1_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_1_cargos"
], - "possible_events": [
- {
- "key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_1_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_2",
- "demands": [
- {
- "key": "demand_2_drop",
- "demand_type": "DROP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "duration": "PT10M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}, - {
- "key": "demand_2_pickup",
- "demand_type": "PICKUP",
- "target_cargos": [
- "order_2_cargos"
], - "possible_events": [
- {
- "key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "duration": "P0D",
- "reward": 0,
- "hard_time_window": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}
}
]
}
], - "cargos": [
- {
- "key": "order_2_cargos",
- "capacity": {
- "mass": 1
}
}
]
}, - {
- "key": "order_3",
- "demands": [
- {
- "key": "demand_3_work",
- "demand_type": "WORK",
- "possible_events": [
- {
- "key": "demand_3_work_event",
- "location_key": "location_client_3",
- "duration": "PT15M",
- "hard_time_window": {
- "from": "2025-09-08T05:00:00+00:00",
- "to": "2025-09-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": "PT10H",
- "cost_per_unit": 1
}
]
}
}
]
}
], - "transports": [
- {
- "key": "transport_1",
- "shifts": [
- {
- "key": "transport_1_shift",
- "availability_time": {
- "from": "2025-09-07T21:00:00+00:00",
- "to": "2025-09-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box_1",
- "capacity": {
- "mass": 300
}
}
]
}
], - "trips": [
- {
- "key": "performer_1_shift",
- "performer": {
- "performer_key": "performer_1",
- "shift_key": "performer_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-09-08T04:38:34Z",
- "to": "2025-09-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T04:38:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:00:00Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_2",
- "demand_key": "demand_2_drop",
- "event_key": "demand_2_drop_event",
- "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}, - {
- "box_key": "box_1",
- "cargo_key": "order_2_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:20:52Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_1",
- "demand_key": "demand_1_drop",
- "event_key": "demand_1_drop_event",
- "location_key": "location_client_1",
- "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:38:39Z",
- "flags": [
- "ON_DEMAND",
- "INSIDE_EVENT_HARD_WINDOW",
- "INSIDE_LOCATION_WINDOW",
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "order_key": "order_3",
- "demand_key": "demand_3_work",
- "event_key": "demand_3_work_event",
- "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-09-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
]
}{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "time": "2025-09-28T17:13:27.945583194Z"
}, - "message": "logical error detail",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "order_1",
- "entity_type": "ORDER"
}
]
}
], - "warnings": [ ]
}Описание формата VRt.Universal XLSX для импорта\экспорта данных.
Данный формат является полным отображением json-модели данных и используется для:
Ниже представлено описание каждого листа отдельно, жирным выделены ключи.
Название листа info.
| Название | Описание |
|---|---|
| api_version | Версия API Universal в момент генерации XLSX |
| timezone | Временной пояс, в котором указаны все времена в данных |
| docs_ru | Ссылка на документацию (RU) |
| docs_en | Ссылка на документацию (EN) |
| docs_zh | Ссылка на документацию (ZH) |
Название листа locations.
Список локаций, которые используются в заказах и сменах.
| Название | Описание | Примечание |
|---|---|---|
| key | Ключ локации, уникальный идентификатор | Уникальный ключ в рамках расчета |
| departure_duration | Время на отъезд от локации, временной промежуток | |
| geopoint.latitude | Географическая широта в градусах | |
| geopoint.longitude | Географическая долгота в градусах | |
| timetable.work_windows.from | Начало временного окна работы локации | Обязательно, если указан to. Если список пустой или не указан - локация работает без ограничений по времени. |
| timetable.work_windows.to | Окончание временного окна работы локации | Обязательно, если указан from. Если список пустой или не указан - локация работает без ограничений по времени. |
| compatibilities .transport_restrictions |
Список необходимых требований к транспорту | Используется для проверки совместимости транспорта локацией. |
| attributes | Атрибуты, используются для указания служебной информации | Эти данные не учитываются в планировании. |
Описываемый объект:
| key required | string [ 1 .. 1024 ] characters Example: "location_01" Ключ локации, уникальный идентификатор. |
required | object (geopoint) Географическая точка. |
| arrival_duration | string <duration> (time_duration) [ 3 .. 16 ] characters ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d... Example: "PT1H45M" Время на подъезд (парковку) на локации, в формате ISO 8601 duration. |
| departure_duration | string <duration> (time_duration) [ 3 .. 16 ] characters ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d... Example: "PT1H45M" Время на отъезд от локации, в формате ISO 8601 duration. |
Array of objects (location_timetable) [ 0 .. 30 ] items Расписание работы локации - временные окна доступности и ограничения на пропускную способность. Если список пустой или не указан - локация работает без ограничений. | |
object or null (location_compatibilities) Совместимости локации с транспортом. | |
| name | string (name) [ 0 .. 128 ] characters Example: "X1-ABC" Название, информационное поле. |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
{- "key": "location_01",
- "geopoint": {
- "latitude": 55.692789,
- "longitude": 37.554554
}, - "arrival_duration": "PT1H45M",
- "departure_duration": "PT1H45M",
- "timetable": [
- {
- "work_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "limits": [
- {
- "key": "location_limit_constraint_01",
- "time_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "min_cargos": [
- {
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "penalty": {
- "mass": 11,
- "volume": 22,
- "capacity_a": 11,
- "capacity_b": 22,
- "capacity_c": 31
}
}
], - "max_cargos": [
- {
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "penalty": {
- "mass": 11,
- "volume": 22,
- "capacity_a": 11,
- "capacity_b": 22,
- "capacity_c": 31
}
}
], - "min_transports": [
- {
- "count": 2,
- "penalty": 2000
}
], - "max_transports": [
- {
- "count": 2,
- "penalty": 2000
}
]
}
]
}
], - "compatibilities": {
- "transport_restrictions": [ ]
}, - "name": "X1-ABC",
- "attributes": [ ]
}Название листа performers.
Список доступных исполнителей.
| Название | Описание | Примечание |
|---|---|---|
| key | Ключ исполнителя, уникальный идентификатор | |
| own_transport_type | Тип транспорта | Если не указан, по умолчанию, проставляется CAR. |
| shifts.key | Ключ смены, уникальный идентификатор | |
| shifts.start_location_key | Ключ начальной локациями | Если ключ не задан - то путь перформера начинается на первом заказе. |
| shifts.finish_location_key | Ключ финальной локации | Если ключ не задан - то путь перформера завершается на последнем заказе. |
| shifts.max_locations | Ограничение количества уникальных локаций в одном рейсе, включая локации старта и финиша | Если параметр не указан или указан как null - то количество локаций не ограничено. |
| shifts.max_stops | Ограничение количества остановок в одном рейсе, включая локации старта и финиша | Если параметр не указан или указан как null - то количество остановок не ограничено. |
| shifts.attributes | Атрибуты. Используются для указания служебной информации | Эти данные не учитываются в планировании. |
| shifts.availability_time.from | Начало временного окна смены | В которое исполнитель может выполнять работу на локациях и осуществлять перемещение между локациями. |
| shifts.availability_time.to | Окончание временного окна смены | В которое исполнитель может выполнять работу на локациях и осуществлять перемещение между локациями. |
| shifts.working_time.from | Начало рабочего временного окна | В которые исполнитель может выполнять работу на локациях, должно быть внутри временного окна смены. |
| shifts.working_time.to | Окончание рабочего временного окна | В которые исполнитель может выполнять работу на локациях, должно быть внутри временного окна смены. |
| shifts.tariff .cost_per_shift |
Цена за использование смены, денежная единица | По умолчанию: 0.001 |
| shifts.tariff .max_penalty_cost |
Максимальная сумма штрафов, которую может получить исполнитель в рамках данной смены, денежная единица. | Если сумма не задана или равна null - исполнитель не может нарушать ограничения. |
| shifts.tariff .constraints.stage_length |
Длина оплачиваемого периода, временной промежуток | По умолчанию: 525960 |
| shifts.tariff .constraints.cost_per_unit |
Стоимость внутри оплачиваемого периода, денежная единица за секунду работы | По умолчанию: 0.001 |
| shifts.work_and_rest_rules .first_break .max_work_duration_sum |
Суммарное время работы, после которого необходимо сделать перерыв | |
| shifts.work_and_rest_rules .first_break .duration |
Продолжительность перерыва | |
| compatibilities .performer_features |
Список свойств исполнителя | Используется для проверки совместимости исполнителя с заказами и транспортом. |
| compatibilities .transport_restrictions |
Список необходимых требований к транспорту | Используется для проверки совместимости исполнителя с транспортом. |
| limits.max_work_shifts | Ограничение на рабочую загрузку исполнителя | Ограничение количества смен исполнителя в одном планировании. |
| attributes | Атрибуты, используются для указания служебной информации | Эти данные не учитываются в планировании. |
Описываемый объект:
| key required | string [ 1 .. 1024 ] characters Example: "performer0001" Ключ исполнителя, уникальный идентификатор. |
required | Array of objects (performer_shift) [ 1 .. 15001 ] items unique Список рабочих смен исполнителя. |
| own_transport_type | string (transport_type) Default: "CAR" Enum: "CAR" "TRUCK_1500" "TRUCK_3000" … 13 more Example: "CAR" Тип личного транспорта, на котором исполнитель будет добираться до назначенного на него рабочего транспорта. |
object or null (performer_compatibilities) Совместимости исполнителя с транспортом и заказами. | |
object or null (performer_limits) Ограничение на рабочую загрузку исполнителя. | |
| name | string (name) [ 0 .. 128 ] characters Example: "X1-ABC" Название, информационное поле. |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
{- "key": "performer0001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "working_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "max_locations": 15,
- "max_stops": 15,
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": "P30D",
- "cost_per_unit": 0.001
}
], - "max_penalty_cost": 2000
}, - "work_and_rest_rules": {
- "rest_rules": {
- "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}
}, - "break_rules": {
- "first": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "consecutive": {
- "relocating_duration_sum": "PT1H45M",
- "operating_duration_sum": "PT2H12M34.3S",
- "duration": "PT1H45M"
}, - "relocating_duration_type": "CONTINUOUS"
}, - "reset_location_keys": [
- "location_01"
], - "ignore_location_keys": [
- "location_01"
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "own_transport_type": "CAR",
- "compatibilities": {
- "performer_features": [ ],
- "performer_features_lifetimes": [ ],
- "transport_restrictions": [ ]
}, - "limits": {
- "max_work_shifts": 3,
- "demand_extra_durations": [
- {
- "demand_key": "demand01.1",
- "additional_duration": "PT1H45M"
}
]
}, - "name": "X1-ABC",
- "attributes": [ ]
}Название листа transports.
Список доступного транспорта.
| Название | Описание | Примечание |
|---|---|---|
| key | Ключ транспорта уникальный идентификатор | |
| transport_type | Тип транспорта | Если не указан, по умолчанию, проставляется CAR |
| boxes.key | Список отсеков транспорта, которые могут вмещать груз | Обязательно,если в задаче присутствуют заказы с демандами PICKUP и DROP |
| shifts.key | Ключ смены, уникальный идентификатор | |
| shifts.start_location_key | Ключ начальной локации. | Если ключ не задан - то путь транспорта начинается на первом заказе |
| shifts.finish_location_key | Ключ финальной локации | Если ключ не задан - то путь транспорта завершается на последнем заказе |
| shifts.attributes | Атрибуты. Используются для указания служебной информации | Эти данные не учитываются в планировании |
| shifts.availability_time.from | Начало временного окна смены | В которое транспорт может осуществлять перемещение между локациями и использоваться исполнителем в работах на локациях |
| shifts.availability_time.to | Окончание временного окна смены | В которое транспорт может осуществлять перемещение между локациями и использоваться исполнителем в работах на локациях |
| shifts.tariff .cost_per_shift |
Цена за использование смены, денежная единица | По умолчанию: 0.001 |
| shifts.tariff .max_penalty_cost |
Максимальная сумма штрафов | По умолчанию: 0. Которую может получить транспорт в рамках данной смены, денежная единица. Если сумма не задана или равна null - транспорт не может нарушать ограничения. |
| shifts.tariff .constraints.stage_length |
Длина оплачиваемой части пути, в метрах | По умолчанию: 100000000 |
| shifts.tariff .constraints.cost_per_unit |
Стоимость внутри оплачиваемой части пути | Денежная единица за один метр. По умолчанию: 0.001 |
| shifts.tariff .transportation_cost.mass |
Стоимость перемещения 1 единицы массы груза на 1 метр | В условных денежных единицах |
| shifts.tariff .transportation_cost.volume |
Стоимость перемещения 1 единицы объема груза на 1 метр | В условных денежных единицах |
| shifts.tariff .transportation_cost.capacity_a |
Стоимость перемещения 1 единицы доп.параметра A груза на 1 метр | В условных денежных единицах |
| shifts.tariff .transportation_cost.capacity_b |
Стоимость перемещения 1 единицы доп.параметра B груза на 1 метр | В условных денежных единицах |
| shifts.tariff .transportation_cost.capacity_c |
Стоимость перемещения 1 единицы доп.параметра C груза на 1 метр | В условных денежных единицах |
| compatibilities .transport_features |
Список свойств транспорта | Используется для проверки совместимости транспорта с локациями и исполнителями |
| compatibilities .performer_restrictions |
Список требований транспорта к исполнителю | Используется для проверки совместимости с исполнителем |
| limits.max_boxes | Ограничение максимального количества используемых отсеков транспорта в одном рейсе | Если параметр не указан или указан как null - то количество отсеков не ограничено. Ограничение не должно превышать количество отсеков |
| limits.max_capacity.mass | Параметр дополнительно ограничивает максимально возможную загрузку транспорта по массе суммарно по всем отсекам | Масса в килограммах, применимо только если у транспорта больше одного отсека, параметр не должен быть меньше вместимости любого отсека. |
| limits.max_capacity.volume | Параметр дополнительно ограничивает максимально возможную загрузку транспорта по объему суммарно по всем отсекам | Объем в кубических метрах, применимо только если у транспорта больше одного отсека, параметр не должен быть меньше вместимости любого отсека. |
| limits.max_capacity.capacity_a | Параметр дополнительно ограничивает максимально возможную загрузку транспорта по доп.параметру A суммарно по всем отсекам | Дополнительный параметр вместимости (A) для измерения грузов и отсеков в альтернативных единицах измерения. Например, для учета грузов в штуках (у груза данный параметр равен единице, у отсека - максимальному количеству вмещаемых грузов) |
| limits.max_capacity.capacity_b | Параметр дополнительно ограничивает максимально возможную загрузку транспорта по доп.параметру B суммарно по всем отсекам | Дополнительный параметр вместимости (B) для измерения грузов и отсеков в альтернативных единицах измерения. |
| limits.max_capacity.capacity_c | Параметр дополнительно ограничивает максимально возможную загрузку транспорта по доп.параметру C суммарно по всем отсекам | Дополнительный параметр вместимости (C) для измерения грузов и отсеков в альтернативных единицах измерения. |
| attributes | Атрибуты, используются для указания служебной информации | Эти данные не учитываются в планировании. |
Описываемый объект:
| key required | string [ 1 .. 1024 ] characters Example: "transport001" Ключ транспорта, уникальный идентификатор. |
required | Array of objects (transport_shift) [ 1 .. 15001 ] items unique Список рабочих смен транспорта. |
| transport_type | string (transport_type) Enum: "CAR" "TRUCK_1500" "TRUCK_3000" … 13 more Example: "CAR" Типы транспорта:
Разрешенная масса - это масса снаряженного транспорта с грузом и водителем, установленная предприятием-изготовителем в качестве максимально допустимой. |
Array of objects (box) [ 0 .. 100 ] items Список отсеков транспорта, которые могут вмещать груз. | |
object or null (transport_compatibilities) Совместимости транспорта с исполнителями и локациями. | |
object or null (transport_limits) Ограничения на загрузку транспорт. | |
| name | string (name) [ 0 .. 128 ] characters Example: "X1-ABC" Название, информационное поле. |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
{- "key": "transport001",
- "shifts": [
- {
- "key": "shift01",
- "availability_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "start_location_key": "start_location_01",
- "finish_location_key": "finish_location_01",
- "tariff": {
- "cost_per_shift": 2000,
- "constraints": [
- {
- "stage_length": 100000000,
- "cost_per_unit": 0.001
}
], - "transportation_cost": {
- "mass": 11,
- "volume": 22,
- "capacity_a": 11,
- "capacity_b": 22,
- "capacity_c": 31
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}
], - "transport_type": "CAR",
- "boxes": [
- {
- "key": "box01",
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "compatibilities": {
- "width": 1,
- "height": 3.1,
- "length": 2.1,
- "box_features": [ ]
}, - "limits": {
- "max_one_cargo_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}
}
], - "compatibilities": {
- "transport_features": [ ],
- "transport_features_lifetimes": [ ],
- "performer_restrictions": [ ]
}, - "limits": {
- "max_boxes": 2,
- "max_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}, - "name": "X1-ABC",
- "attributes": [ ]
}Название листа transports.boxes.
Список отсеков транспорта, которые могут вмещать груз.
Таблица обязательна, если в расчете есть заказы с заявками типов PICKUP и DROP.
В описании отсеков обязательны те поля, которые описывают грузы.
| Название | Описание | Примечание |
|---|---|---|
| key | Ключ отсека | Уникальный идентификатор, используется для идентификации размещения грузов по отсекам. |
| capacity.mass | Масса, кг | Ограничение по массе, которое может единовременно находиться в отсеке |
| capacity.volume | Объем, м3 | Ограничение по объему, которое может единовременно находиться в отсеке |
| capacity.capacity_a | Дополнительный параметр вместимости (A) | Для измерения грузов и отсеков в альтернативных единицах измерения. Например, для учета грузов в штуках (у груза данный параметр равен единице, у отсека - максимальному количеству вмещаемых грузов) |
| capacity.capacity_b | Дополнительный параметр вместимости (B) | Для измерения грузов и отсеков в альтернативных единицах измерения. |
| capacity.capacity_c | Дополнительный параметр вместимости (C) | Для измерения грузов и отсеков в альтернативных единицах измерения. |
| compatibilities .width |
Ширина в метрах | |
| compatibilities .height |
Высота в метрах | |
| compatibilities .length |
Длина в метрах | |
| compatibilities .box_features |
Список свойств отсека | По оценивается возможность перевозки груза в данном отсеке |
| limits .max_one_cargo_capacity.mass |
Масса в килограммах | Ограничение по полям capacity для одного груза |
| limits .max_one_cargo_capacity.volume |
Объем в кубических метрах | Ограничение по полям capacity для одного груза |
| limits .max_one_cargo_capacity.capacity_a |
Дополнительный параметр вместимости (A) | Ограничение по полям capacity для одного груза |
| limits .max_one_cargo_capacity.capacity_b |
Дополнительный параметр вместимости (B) | Ограничение по полям capacity для одного груза |
| limits .max_one_cargo_capacity.capacity_c |
Дополнительный параметр вместимости (C) | Ограничение по полям capacity для одного груза |
Описываемый объект:
| key required | string [ 1 .. 1024 ] characters Example: "box01" Ключ отсека, уникальный идентификатор, используется для идентификации размещения грузов по отсекам. |
object or null (capacity) Вместимость отсека, которая ограничивает максимальную сумму по всем полям | |
object or null (box_compatibilities) Совместимости отсека транспорта. | |
object or null (box_limits) Ограничения на отсек кузова. |
{- "key": "box01",
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "compatibilities": {
- "width": 1,
- "height": 3.1,
- "length": 2.1,
- "box_features": [ ]
}, - "limits": {
- "max_one_cargo_capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}
}
}Название листа orders.
Список заказов.
| Название | Описание | Примечание |
|---|---|---|
| key | Ключ заказа | Повторяющийся ключ заказа означает заявки одного заказа |
| cargos.key | Список грузов | Может содержать один груз для DROP, список для PICKUP, пустой для WORK. |
| demands.key | Ключ заявки, уникальный идентификатор | |
| demands.demand_type | Тип заявки | Загрузка - PICKUP, выгрузка - DROP, работа на локации - WORK. |
| demands.target_cargos | Список ключей грузов | Для PICKUP, один ключ груза для DROP, пустой ключ для WORK |
| demands.precedence_in_trip | Приоритет внутри рейса | 0 - приоритет не учитывается. По умолчанию: 0. |
| demands.precedence_in_order | Приоритет внутри заказа | 0 - приоритет не учитывается. По умолчанию: 0. |
| demands .possible_events.key |
Ключ события, уникальный идентификатор | Описание объекта временного окна и локаций, в котором возможно выполнение заявки |
| demands .possible_events.location_key |
Ключ локации, в которой возможно данное событие | |
| demands .possible_events.duration |
Время выполнения события | |
| demands .possible_events.reward |
Вознаграждение за выполнение данного события | |
| demands .possible_events.hard_time_window.from |
Начало жесткого временного окна | |
| demands .possible_events.hard_time_window.to |
Конец жесткого временного окна | |
| demands .possible_events.soft_time_window.from |
Начало мягкого временного окна | |
| demands .possible_events.soft_time_window.to |
Конец мягкого временного окна | |
| demands .attributes |
Атрибуты. Используются для указания служебной информации | Эти данные не учитываются в планировании. |
| compatibilities .order_features |
Список свойств заказа | |
| compatibilities .order_restrictions |
Список требований к заказу, выполняемому в этом же рейсе | |
| compatibilities .performer_restrictions |
Список необходимых требований к исполнителю | Используется для проверки совместимости исполнителя и заказа (работы). |
| compatibilities .performer_blacklist |
Список требований, наличие которых у исполнителя не допустимо | Используется для проверки совместимости исполнителя и заказа (работы). Данный список не должен пересекаться с performer_restrictions |
| attributes | Атрибуты, используются для указания служебной информации | Эти данные не учитываются в планировании. |
Описываемый объект:
| key required | string [ 1 .. 1024 ] characters Example: "order01" Ключ заказа, уникальный идентификатор. |
required | Array of objects (demand) [ 1 .. 1000 ] items unique Список заявок. |
Array of objects (cargo) [ 0 .. 1000 ] items unique Default: [] Список грузов, на которые ссылаются заявки данного заказа. Список должен быть пустой, если все заявки заказа имеют тип | |
object or null (order_compatibilities) Совместимости заказа с исполнителями и другими заказами. | |
| name | string (name) [ 0 .. 128 ] characters Example: "X1-ABC" Название, информационное поле. |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
{- "key": "order01",
- "demands": [
- {
- "key": "demand_1",
- "demand_type": "WORK",
- "target_cargos": [
- "cargo01"
], - "precedence_in_trip": 1,
- "precedence_in_order": 1,
- "possible_events": [
- {
- "key": "event_1",
- "location_key": "location_01",
- "duration": "PT1H45M",
- "reward": 199.9,
- "hard_time_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "soft_time_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}
], - "name": "X1-ABC",
- "attributes": [ ]
}
], - "cargos": [ ],
- "compatibilities": {
- "order_features": [ ],
- "order_restrictions": [ ],
- "performer_restrictions": [ ],
- "performer_blacklist": [ ]
}, - "name": "X1-ABC",
- "attributes": [ ]
}Название листа orders.cargos.
Список грузов. Может содержать один груз для DROP, список для PICKUP, пустой для WORK.
Таблица не обязательна, если все заявки имеют тип WORK.
| Название | Описание | Примечание |
|---|---|---|
| key | Ключ груза, уникальный идентификатор | |
| capacity.mass | Масса в килограммах | |
| capacity.volume | Объем в кубических метрах | |
| capacity.capacity_a | Дополнительный параметр вместимости (A) | Для измерения грузов и отсеков в альтернативных единицах измерения. Например, для учета грузов в штуках (у груза данный параметр равен единице, у отсека - максимальному количеству вмещаемых грузов). |
| capacity.capacity_b | Дополнительный параметр вместимости (B) | |
| capacity.capacity_c | Дополнительный параметр вместимости (C) | |
| compatibilities .width |
Ширина в метрах | Используется для проверки вместимости в отсек транспорта по ширине. |
| compatibilities .height |
Высота в метрах | Используется для проверки вместимости в отсек транспорта по высоте |
| compatibilities .length |
Длина в метрах | Используется для проверки вместимости в отсек транспорта по длине |
| compatibilities .rotation |
Список способностей объекта вращаться | Шаг вращения 90 градусов. Если список пустой - объект вращать запрещено. Доступные значения: ALL, YAW, PITCH, ROLL |
| compatibilities .box_restrictions |
Список требования к отсеку транспорта | |
| compatibilities .cargo_features |
Список свойств груза | Используется для проверки совместимости груза с другими грузами. Несовместимые грузы не могу находится одновременно в одном отсеке транспорта |
| compatibilities .cargo_restrictions |
Список необходимых требований к грузу | Используется для проверки совместимости груза с другими грузами. Несовместимые грузы не могу находится одновременно в одном отсеке транспорта |
Описываемый объект:
| key required | string [ 1 .. 1024 ] characters Example: "cargo01" Ключ груза, уникальный идентификатор. |
object or null (capacity) Аддитивные меры груза. | |
object or null (cargo_compatibilities) Совместимости груза с отсеком транспорта и другими грузами. | |
| target_box_key | string or null [ 1 .. 1024 ] characters Default: null Example: "box01" Ключ отсека транспорта, в котором уже находится груз. Применимо только для груза, который находится в заявке с типом |
{- "key": "cargo01",
- "capacity": {
- "mass": 10,
- "volume": 2,
- "capacity_a": 1,
- "capacity_b": 2,
- "capacity_c": 3
}, - "compatibilities": {
- "width": 1,
- "height": 0.3,
- "length": 2.2,
- "rotation": [
- "ALL"
], - "box_restrictions": [ ],
- "cargo_features": [ ],
- "cargo_restrictions": [ ]
}, - "target_box_key": "box01"
}Название листа hardlinks.
Список назначений.
Описываемый объект:
| key required | string [ 1 .. 1024 ] characters Example: "group01" Ключ назначения. |
required | Array of objects (hardlink_element) [ 2 .. 1000 ] items Список элементов группы назначения. |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
{- "key": "group01",
- "links": [
- {
- "type": "ORDER",
- "entity_key": "ord0001"
}, - {
- "type": "ORDER",
- "entity_key": "ord0001"
}
], - "attributes": [ ]
}Название листа trips.
Список рейсов.
Описываемый объект:
| key required | string [ 1 .. 1024 ] characters Example: "trip-0000-9999" Уникальный идентификатор рейса. |
required | object (assigned_performer) Назначенная на определенное время ( |
required | object (assigned_transport) Назначенная на определенное время ( |
required | Array of objects (trip_state_list) [ 0 .. 15001 ] items Список состояний исполнителя. |
| waitlist | Array of strings (trip_waitlist) [ 0 .. 15001 ] items unique [ items [ 1 .. 1024 ] characters ] Example: ["order02"] Список ключей заказов, назначенных на исполнителя, но не запланированных на определенное время и не учтенных в загрузке транспорта. |
| name | string (name) [ 0 .. 128 ] characters Example: "X1-ABC" Название, информационное поле. |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
{- "key": "trip-0000-9999",
- "performer": {
- "performer_key": "performer0001",
- "shift_key": "performer0001_shift01",
- "shift_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}, - "transport": {
- "transport_key": "transport001",
- "shift_key": "performer01",
- "shift_time": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}
}, - "states": [
- {
- "time": "2025-09-21T09:30:00+03:00",
- "order_key": "order01",
- "demand_key": "demand01.1",
- "event_key": "event01",
- "location_key": "location_01",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box01",
- "cargo_key": "cargo01",
- "cargo_action_type": "ADD"
}
], - "distance": 5200,
- "cost": 1231.1,
- "reward": 2343.3,
- "attributes": [ ]
}
], - "waitlist": [
- "order02"
], - "name": "X1-ABC",
- "attributes": [ ]
}Название листа facts.
Список фактов.
Описываемый объект:
| key required | string [ 1 .. 1024 ] characters Example: "fact_01" Ключ факта. |
| time required | string <date-time> (fact_time) Example: "2025-09-21T09:30:00+03:00" Дата и время создания факта в формате ISO 8601. |
| type required | string (fact_type) Enum: "NEW_LOCATION" "ORDER_DONE" "DEMAND_START" … 1 more Example: "NEW_LOCATION" Возможные типы фактов:
|
| trip_key required | string [ 1 .. 1024 ] characters Example: "trip_01" Ключ рейса, к которому относится факт. |
| order_key | string or null [ 1 .. 1024 ] characters Default: null Example: "order_01" Ключ заказа, обязателен для фактов с типом |
| demand_key | string or null [ 1 .. 1024 ] characters Default: null Example: "order_01_demand_01" Ключ заявки, обязателен для фактов с типами |
| performer_key | string or null [ 1 .. 1024 ] characters Default: null Example: "performer_01" Ключ исполнителя, обязателен для фактов с типом |
| location_key | string or null [ 1 .. 1024 ] characters Default: null Example: "location_01" Ключ локации, обязателен для фактов с типом |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
{- "key": "fact_01",
- "time": "2025-09-21T09:30:00+03:00",
- "type": "NEW_LOCATION",
- "trip_key": "trip_01",
- "order_key": "order_01",
- "demand_key": "order_01_demand_01",
- "performer_key": "performer_01",
- "location_key": "location_01",
- "attributes": [ ]
}Название листа plan_settings.
Настройки планирования.
Описываемый объект:
object (trips_settings) Настройки создания рейсов. | |
object (geo_settings) Настройки использования гео-данных. | |
object (calculation_settings) Настройки процесса расчета. | |
object (extension_settings) Настройки использования внешних расширений для корректировки расчета. |
{- "trips_settings": {
- "configuration": "optimize_distance",
- "expectations": {
- "trip_start_time_strategy": "LOWEST_COST",
- "problem_kind": "LONG_HAUL",
- "attributes": [ ]
}, - "assumptions": {
- "transport_speed_multipliers": [ ],
- "transport_capacity_multipliers": [ ],
- "disable_compatibility": true,
- "disable_capacity": true,
- "disable_location_limits": false,
- "same_order_time_window": true,
- "expand_shift_time_window": true
}, - "penalties": {
- "compatibilities": [ ],
- "max_locations_limits_penalty": 25000
}
}, - "geo_settings": {
- "geo_provider": "VRT",
- "toll_roads": false,
- "ferry_crossing": false,
- "traffic_jams": false,
- "flight_distance": true,
- "attributes": [ ]
}, - "calculation_settings": {
- "max_calculation_time": "PT12M35S",
- "max_waiting_time": "PT2H",
- "result_ttl": "PT4M30S",
- "result_timezone": 3,
- "treat_warnings_as_errors": true,
- "precision": 1
}, - "extension_settings": {
- "enable_extension": true,
}
}Название листа actualize_settings.
Настройки актуализации.
Описываемый объект:
| current_time | string or null <date-time> Default: null Example: "2025-09-21T09:30:00+03:00" Указание даты и времени, которое для актуализации будет являться текущим, в соответствии с ISO 8601. Если не указано - берется текущее время получения запроса сервером. |
| max_delay_duration | string <duration> [ 3 .. 16 ] characters ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d... Default: "PT3H" Example: "PT1H30M" Допустимое опоздание. Влияет на сдвиг правых границ жестких временных окон заказов и временных окон рабочих смен исполнителей и транспортов. |
{- "current_time": "2025-09-21T09:30:00+03:00",
- "max_delay_duration": "PT1H30M"
}Название листа replan_settings.
Настройки перепланирования.
Описываемый объект:
object (replan_strategy) Стратегия перепланирования. |
{- "replan_strategy": {
- "reorder": true,
- "plan_new_orders": true,
- "create_new_trips": true
}
}Название листа total_statistics.
Общая статистика.
Описываемый объект:
| cost required | number <double> [ 0 .. 1000000000000 ] Example: "1231.1" Суммарные затраты, которые считаются на базе тарифов исполнителей и транспорта. |
| reward required | number <double> [ 0 .. 1000000000000 ] Example: "2343.3" Суммарное вознаграждение за выполнение заказов. |
| profit required | number <double> [ -1000000000000 .. 1000000000000 ] Example: "1231.1" Суммарный доход - разница между суммарным вознаграждением ( |
required | object (measurements) Измерения времен и дистанций для совокупности и отдельных рейсов:
|
| trips_count required | integer <int32> [ 0 .. 15001 ] Example: "250" Суммарное количество запланированных рейсов. |
| performers_count required | integer <int32> [ 0 .. 15001 ] Example: "157" Суммарное количество исполнителей, задействованных в выполнении заказов. |
| orders_count required | integer <int32> [ 0 .. 15001 ] Example: "1700" Суммарное количество запланированных и назначенных заказов. |
| plan_orders_count required | integer <int32> [ 0 .. 15001 ] Example: "1003" Суммарное количество запланированных заказов. |
| waitlist_orders_count required | integer <int32> [ 0 .. 15001 ] Example: "697" Суммарное количество назначенных заказов. |
| stops_count required | integer <int32> [ 0 .. 15001000 ] Example: "87" Суммарное количество остановок (неуникальных локаций). |
| locations_count required | integer <int32> [ 0 .. 15001000 ] Example: "45" Суммарное количество уникальных локаций в рамках одного рейса. Для общей статистики - сумма по уникальным локациям в рамках каждого рейсов. |
required | object (capacity_statistics_sum) Суммарные аддитивные меры перевезенного груза. |
required | object (capacity_statistics_ratio) Отношение суммарных аддитивных мер перевезенного груза к суммарной вместимости отсеков. В долях единицы. Может быть больше единицы. |
required | object (capacity_statistics_load) Отношение максимальной загрузки отсеков к суммарной вместимости отсеков. В долях единицы. Не может быть больше единицы. |
| average_speed required | number <double> >= 0 Example: "43.1" Средняя скорость - отношение общей дистанции к общему время движения, км/ч. |
| round_trips_count required | |
| average_roundtrip_distance required | number <double> >= 0 Example: "23.4" Средний пробег на кругорейс - отношение суммарного пробега к количеству кругорейсов, в метрах. |
| average_roundtrip_time required | string <duration> (time_duration) [ 3 .. 16 ] characters ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d... Example: "PT1H45M" Среднее время на кругорейс - отношение суммарного времени к количеству кругорейсов. |
Array of objects (attributes) [ 0 .. 250 ] items unique Атрибуты. Используются для указания служебной информации. |
{- "cost": 1231.1,
- "reward": 2343.3,
- "profit": 1231.1,
- "measurements": {
- "time_window": {
- "from": "2025-09-21T09:30:00+03:00",
- "to": "2025-09-21T19:45:00Z"
}, - "driving_time": "PT1H45M",
- "waiting_time": "PT1H45M",
- "working_time": "PT1H45M",
- "break_time": "PT1H45M",
- "rest_time": "PT1H45M",
- "arriving_time": "PT1H45M",
- "departure_time": "PT1H45M",
- "total_time": "PT1H45M",
- "distance": 5200
}, - "trips_count": 250,
- "performers_count": 157,
- "orders_count": 1700,
- "plan_orders_count": 1003,
- "waitlist_orders_count": 697,
- "stops_count": 87,
- "locations_count": 45,
- "cargo_capacity_sum": {
- "mass": 105500,
- "volume": 220034,
- "capacity_a": 100000,
- "capacity_b": 200000,
- "capacity_c": 300000
}, - "cargo_capacity_ratio": {
- "mass": 0.5,
- "volume": 0.1,
- "capacity_a": 0.7,
- "capacity_b": 0.8,
- "capacity_c": 0.9
}, - "max_transport_load": {
- "mass": 0.5,
- "volume": 0.1,
- "capacity_a": 0.7,
- "capacity_b": 0.8,
- "capacity_c": 0.9
}, - "average_speed": 43.1,
- "round_trips_count": 2,
- "average_roundtrip_distance": 23.4,
- "average_roundtrip_time": "PT1H45M",
- "attributes": [ ]
}Проверка доступности сервиса.
| health required | number <double> [ 0 .. 1 ] Example: "0.999" Текущий показатель здоровья сервиса.
|
{- "health": 0.999
}Получение версии сервиса.
| major required | integer <int32> [ 1 .. 100 ] Example: "7" Версия продукта.
В рамках одной версии гарантируется совместимость общих структур данных между сервисами. |
| minor required | integer <int32> [ 0 .. 111 ] Example: "15" Минорная версия сервиса. Изменение версии указывает на новую функциональность. Обновление имеет обратную совместимость в рамках мажорной версии сервиса. |
| build required | string [ 1 .. 64 ] characters Example: "3754RC" Версия сборки. |
{- "major": 7,
- "minor": 15,
- "build": "3754RC"
}Получение файла с документацией на этот сервис.
| filename required | string [ 6 .. 128 ] characters Example: file_en.html Название файла. |
Файл с данными в формате HTML.
{- "resource_key": "resource_key",
- "detail": {
- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-09-21T09:30:00+03:00"
}
}
}