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"
 }
 }
}