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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-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-03-08T04:42:23Z",
- "to": "2025-03-08T05:40:11Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-08T05:40:11Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-08T04:42:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T04:42:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:13:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:13:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-08T05:28:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:28:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:28:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:11Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:11Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T04:42:23Z",
- "to": "2025-03-08T04:42:23Z"
}
}, - {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-08T04:42:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-08T04:42:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T05:13:23Z",
- "to": "2025-03-08T05:28:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:13:23Z",
- "to": "2025-03-08T05:28:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:10:00Z",
- "to": "2025-03-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-03-08T05:30:11Z",
- "to": "2025-03-08T05:40:11Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:30:11Z",
- "to": "2025-03-08T05:40:11Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:28:23Z",
- "to": "2025-03-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-03-07T21:00:00Z",
- "to": "2025-03-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-03-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-03-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-03-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-03-08T04:42:23Z",
- "to": "2025-03-08T05:40:11Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-08T05:40:11Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-08T04:42:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T04:42:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:13:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:13:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-08T05:28:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:28:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:28:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:11Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:11Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T04:42:23Z",
- "to": "2025-03-08T04:42:23Z"
}
}, - {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-08T04:42:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-08T04:42:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T05:13:23Z",
- "to": "2025-03-08T05:28:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:13:23Z",
- "to": "2025-03-08T05:28:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:10:00Z",
- "to": "2025-03-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-03-08T05:30:11Z",
- "to": "2025-03-08T05:40:11Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:30:11Z",
- "to": "2025-03-08T05:40:11Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:28:23Z",
- "to": "2025-03-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-03-07T21:00:00Z",
- "to": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-08T04:42:23Z",
- "to": "2025-03-08T05:40:11Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-08T05:40:11Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:42:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-08T04:42:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T04:42:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:13:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:13:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-08T05:28:23Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:28:23Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:28:23Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:11Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:11Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T04:42:23Z",
- "to": "2025-03-08T04:42:23Z"
}
}, - {
- "demand_key": "demand_2_pickup",
- "event_key": "demand_2_pickup_event",
- "demand_time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-08T04:42:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-08T04:42:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:42:23Z",
- "to": "2025-03-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-03-08T05:13:23Z",
- "to": "2025-03-08T05:28:23Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:13:23Z",
- "to": "2025-03-08T05:28:23Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:10:00Z",
- "to": "2025-03-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-03-08T05:30:11Z",
- "to": "2025-03-08T05:40:11Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:30:11Z",
- "to": "2025-03-08T05:40:11Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:28:23Z",
- "to": "2025-03-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-03-07T21:00:00Z",
- "to": "2025-03-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.current_time
.actualize_settings.max_delay_duration
.Учет факта о изменения локации NEW_LOCATION
:
locations
должна находится новая локация, которая описывает текущую координату исполнителя.start_location_key
у исполнителя и транспорта.time
.Учет факта о завершении заказа ORDER_DONE
:
Учет фактов о начале работ над заявкой DEMAND_START
:
DEMAND_START
(закрывается фактом DEMAND_DONE
) - так как исполнитель может в один момент времени выполнять только одну заявку, учитывается самый поздний факт по полю time
.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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
], - "actualize_settings": {
- "current_time": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
], - "actualize_settings": {
- "current_time": "2025-03-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-03-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-03-08T04:39:34Z",
- "to": "2025-03-08T05:53:49Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T05:53:49Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-08T04:39:34Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T04:39:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:20:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:20:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:56Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:49Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}
}, - {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T05:20:56Z",
- "to": "2025-03-08T05:30:56Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:20:56Z",
- "to": "2025-03-08T05:30:56Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:10:00Z",
- "to": "2025-03-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-03-08T05:38:49Z",
- "to": "2025-03-08T05:53:49Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:38:49Z",
- "to": "2025-03-08T05:53:49Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:30:56Z",
- "to": "2025-03-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-03-07T21:00:00Z",
- "to": "2025-03-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-03-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-03-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-03-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-03-08T04:39:34Z",
- "to": "2025-03-08T05:53:49Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T05:53:49Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-08T04:39:34Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T04:39:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:20:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:20:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:56Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:49Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}
}, - {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T05:20:56Z",
- "to": "2025-03-08T05:30:56Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:20:56Z",
- "to": "2025-03-08T05:30:56Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:10:00Z",
- "to": "2025-03-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-03-08T05:38:49Z",
- "to": "2025-03-08T05:53:49Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:38:49Z",
- "to": "2025-03-08T05:53:49Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:30:56Z",
- "to": "2025-03-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-03-07T21:00:00Z",
- "to": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
], - "actualize_settings": {
- "current_time": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-08T05:53:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}
], - "waitlist": [ ],
- "attributes": [ ]
}
], - "actualize_settings": {
- "current_time": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-08T04:39:34Z",
- "to": "2025-03-08T05:53:49Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T05:53:49Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-08T04:39:34Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T04:39:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:20:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:20:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:56Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:49Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}
}, - {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T05:20:56Z",
- "to": "2025-03-08T05:30:56Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:20:56Z",
- "to": "2025-03-08T05:30:56Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:10:00Z",
- "to": "2025-03-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-03-08T05:38:49Z",
- "to": "2025-03-08T05:53:49Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:38:49Z",
- "to": "2025-03-08T05:53:49Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:30:56Z",
- "to": "2025-03-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-03-07T21:00:00Z",
- "to": "2025-03-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-03-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-03-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-03-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-03-08T04:39:34Z",
- "to": "2025-03-08T05:53:49Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T05:53:49Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:39:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-08T04:39:34Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T04:39:34Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:00:00Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_2",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:20:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:20:56Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:56Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:56Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:49Z",
- "flags": [
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:49Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}
}, - {
- "demand_key": "demand_1_pickup",
- "event_key": "demand_1_pickup_event",
- "demand_time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-08T04:39:34Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:00:00Z",
- "to": "2025-03-08T05:10:00Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T04:39:34Z",
- "to": "2025-03-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-03-08T05:20:56Z",
- "to": "2025-03-08T05:30:56Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:20:56Z",
- "to": "2025-03-08T05:30:56Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:10:00Z",
- "to": "2025-03-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-03-08T05:38:49Z",
- "to": "2025-03-08T05:53:49Z"
}
}
], - "stop_time_window": {
- "from": "2025-03-08T05:38:49Z",
- "to": "2025-03-08T05:53:49Z"
}, - "measurements": {
- "time_window": {
- "from": "2025-03-08T05:30:56Z",
- "to": "2025-03-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-03-07T21:00:00Z",
- "to": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "transport": {
- "transport_key": "transport_1",
- "shift_key": "transport_1_shift",
- "shift_time": {
- "from": "2025-03-08T04:38:34Z",
- "to": "2025-03-08T05:53:39Z"
}
}, - "states": [
- {
- "time": "2025-03-08T04:38:34Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_storage",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-08T05:10:00Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [
- {
- "box_key": "box_1",
- "cargo_key": "order_1_cargos",
- "cargo_action_type": "ADD"
}
], - "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:30:52Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_1",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:30:52Z",
- "flags": [
- "RELOCATING"
], - "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-08T05:38:39Z",
- "flags": [
- "INSIDE_LOCATION",
- "AROUND_LOCATION"
], - "location_key": "location_client_3",
- "cargo_actions": [ ],
- "attributes": [ ]
}, - {
- "time": "2025-03-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-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-08T05:00:00+00:00",
- "to": "2025-03-08T07:00:00+00:00"
}
}
]
}
]
}
], - "performers": [
- {
- "key": "performer_1",
- "shifts": [
- {
- "key": "performer_1_shift",
- "availability_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "working_time": {
- "from": "2025-03-07T21:00:00+00:00",
- "to": "2025-03-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-03-07T21:00:00+00:00",
- "to": "2025-03-08T20:59:59+00:00"
}, - "tariff": {
- "cost_per_shift": 1000,
- "constraints": [
- {
- "stage_length": 1000000,
- "cost_per_unit": 0.01
}
]
}
}
], - "transport_type": "CAR",
- "boxes": [
- {