openapi: 3.0.3
info:
title: VRt.Universal [UV]
version: 7.13.2613
license:
name: Proprietary
url: https://veeroute.cn/
termsOfService: https://veeroute.cn/resources/terms_of_service
contact:
name: Veeroute Support Team
email: servicedesk@veeroute.com
x-logo:
url: ../images/universal.svg
backgroundColor: '#FAFAFA'
altText: VRt.Universal
description: "# Description\n\nSoftware interface for universal trip planning.\n\
\n## Features\n\n* Ability to pick up cargo from any location\n* Possibility of\
\ unloading in any location\n* Pair orders of several types: `PICKUP` (loading),\
\ `DROP` (unloading)\n* Single requests of several types: `DROP_FROM_BOX` (unloading\
\ cargo that is already in the body), `PICKUP_TO_BOX` (cargo pickup into the body\
\ without subsequent unloading), `WORK` (working at the location without moving\
\ the cargo)\n* A complex order can consist of any number of orders of any type\n\
* Transport and performers are divided into different entities, when planning,\
\ the optimal assignment of the performer to the transport occurs\n* The transport\
\ has several boxes - each of which can accommodate cargo and has its own characteristics\n\
* Accounting for the compatibility of cargo with transport in terms of cargo dimensions\
\ (length, width, height, additional capacity parameters)\n* Taking into account\
\ the compatibility of the cargo-box of transport (the ability to take into account\
\ the features of the box: refrigerator, thermal bag, fasteners, etc.)\n* Substitute\
\ applications, i.e. the ability to execute one of the substitute applications,\
\ the choice of which is based on its geographic location and time window\n\n\
## Restrictions support\n\n**Performer** restrictions:\n\n* Start/finish location\n\
* Accounting for the performer's way to the transport location\n* Performer's\
\ availability schedule is a list of time windows when the performer can move\
\ and work on locations\n* The maximum duration of the performer's work during\
\ the specified time period\n\n**Transport** restrictions:\n\n* Start/finish location\n\
* Transport availability schedule is a list of time windows when the transport\
\ is available\n* The maximum route distance\n* Several boxes in the transport,\
\ each with its own parameters\n* Capacity upper limit (weight, volume, number\
\ of orders, number of demands)\n\n**Order** restrictions:\n\n* Strict time windows\n\
* Ability to specify different valid time windows for a location and time windows\
\ to fulfil the desired demand\n* Accounting for the requests fulfillment order\
\ within the route\n* A list of desired time windows with different associated\
\ costs\n\n## Compatibilities\n\nEntities are compatible if the capabilities list\
\ of one entity corresponds to the list of restrictions of another entity (example:\
\ fleet parameters corresponds to cargo parameters to be delivered).\n\nSupported\
\ compatibilities:\n\n| Name | Restrictions \
\ | Features |\n|-------------------------|----------------------------------|------------------------------|\n\
| Order - Performer | order.performer_restrictions | performer.performer_features\
\ |\n| Order - Not a performer | order.performer_blacklist | performer.performer_features\
\ |\n| Cargo - Box | order.cargo.box_restrictions | transport.box.box_features\
\ |\n| Location - Transport | location.transport_restrictions | transport.transport_features\
\ |\n| Transport - Performer | transport.performer_restrictions | performer.performer_features\
\ |\n| Performer - Transport | performer.transport_restrictions | transport.transport_features\
\ |\n| Order - Order | order.order_restrictions | order.order_features\
\ |\n\nBusiness rule examples:\n\n| Name | Business\
\ rule example \
\ |\n|-------------------------|---------------------------------------------------------------------------------------------|\n\
| Order - Performer | The driver must have a special license to fulfil the\
\ order |\n| Order - Not a performer | The driver\
\ is in the blacklist \
\ |\n| Cargo - Box | For transportation of frozen products, a\
\ box with a special temperature profile is required |\n| Location - Transport\
\ | Restrictions on the transport height \
\ |\n| Transport - Performer | The truck driver must have\
\ the class C driving license |\n| Performer\
\ - Transport | The driver is allowed to work on a specific transport \
\ |\n| Order - Order | It is not allowed\
\ to transport fish and fruits in the same box |\n\
\n## Cargo placement\n\nList of possibilities of a object rotations (90 degree\
\ step):\n\n* `ALL` - can rotate by any axis\n* `YAW` - can yaw\n* `PITCH` - can\
\ pitch\n* `ROLL` - can roll\n \n![rotation](../images/universal_cargo_yaw_pitch_roll.svg)\n\
\n## Trip model\n\nA trip is described by a list of states of the performer, while\
\ at the same time the performer can be in several states (for example, being\
\ inside the working time window of a location and fulfilling an order at the\
\ same location).\n\nThe meanings of the flags responsible for the geographical\
\ location:\n\n* `AROUND_LOCATION` - the performer is located near the location\
\ - in the process of parking or leaving it.\n* `INSIDE_LOCATION` - the performer\
\ is located at the location.\n\nThe values of the flags responsible for being\
\ in time windows:\n\n* `INSIDE_WORKING_WINDOW` - the performer is inside the\
\ working time window.\n* `INSIDE_LOCATION_WINDOW` - the performer is located\
\ inside the location's operating time.\n* `INSIDE_EVENT_HARD_WINDOW` - the performer\
\ is inside a hard time window.\n* `INSIDE_EVENT_SOFT_WINDOW` - the performer\
\ is inside a soft time window.\n\nThe values of the flags responsible for the\
\ actions:\n\n* `ON_DEMAND` - the performer is working on the request.\n* `WAITING`\
\ - the performer is in standby mode.\n* `RELOCATING` - the performer moves to\
\ the next stop.\n* `BREAK` - the performer is on a break.\n* `REST` - the performer\
\ is on a long vacation.\n\n### An example of a route with multiple states at\
\ each point in time\n\n| time | set of active flags \
\ \
\ | location / order / application\
\ / event | comment \
\ |\n|:------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------|:-----------------------------------------------------------------------------------------------|\n\
| 10:00 | INSIDE_LOCATION
AROUND_LOCATION \
\ \
\ | 2 / - / - / - | starting\
\ location \
\ |\n| 10:10 | RELOCATING \
\ \
\ | - / - / - / - \
\ | we go to the first order \
\ |\n| 10:20 | AROUND_LOCATION \
\ \
\ | 2 / - / -\
\ / - | arrived at the first order \
\ |\n| 10:40 | AROUND_LOCATION\
\
INSIDE_LOCATION
WAITING \
\ \
\ | 2 / - / - / - | parked \
\ |\n| 11:00\
\ | AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW
WAITING\
\
INSIDE_EVENT_HARD_WINDOW \
\ | 2 / - / - / - | waited for the start\
\ of the location window and at the same time the availability of the order |\n\
| 11:25 | AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW
\
\ ON_DEMAND
INSIDE_WORKING_WINDOW
INSIDE_EVENT_HARD_WINDOW \
\ | 2 / 1 / 2 / 3 | waited for\
\ the change of artist \
\ |\n| 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 | while working\
\ - a soft window happened \
\ |\n| 11:40 | AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW\
\
INSIDE_WORKING_WINDOW \
\ | 2 / - / - / - | finished\
\ working \
\ |\n| 11:45 | AROUND_LOCATION
INSIDE_WORKING_WINDOW \
\ \
\ | 2 / - / - / - \
\ | drove out of the parking lot \
\ |\n| 11:45 | RELOCATING
INSIDE_WORKING_WINDOW\
\ \
\ | - / - / - / - \
\ | we go to the next order \
\ |\n\n## Planning configuration\n\
\nFor each planning, it is possible to specify a planning configuration that defines\
\ the objective function, the desired quality of the routes, and the calculation\
\ speed.\n\nThe name of the scheduling configuration is passed in the `trips_settings.configuration`\
\ field.\n\nMain configurations:\n\n| Title | Task \
\ \
\ |\n|---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|\n\
| **optimize_distance** | Arrange as many orders as possible, then optimize\
\ the total mileage (the number of vehicles is selected based on the mileage),\
\ used by default |\n| **optimize_transports** | Place as many\
\ orders as possible, while using as little transport as possible, ceteris paribus,\
\ optimize the work time of performers |\n| **optimize_locality_grouping**\
\ | Place as many orders as possible, while striving to optimize the visual grouping\
\ of routes, but not their number |\n| **optimize_cars_then_distance**\
\ | Arrange as many orders as possible, then optimize the number of vehicles,\
\ then the mileage \
\ |\n| **optimize_time** | Place as many orders as possible, then\
\ optimize the total work time of performers \
\ |\n| **optimize_cars_then_time** | Arrange\
\ as many orders as possible, then optimize the number of transport, then the\
\ total time of the performers |\n| **optimize_money**\
\ | Optimize the value of \"profit - costs\", consists of rewards\
\ for applications and costs for performers and transports (optimized value is\
\ non-negative) |\n\nAdditional configurations:\n\n| Title \
\ | Task \
\ \
\ |\n\
|-----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n\
| **visual_grouping** | Arrange as many\
\ orders as possible while using as little transport as possible and routes should\
\ be visually grouped \
\ |\n| **optimize_visual_grouping** \
\ | Arrange as many orders as possible, then evenly distribute orders taking\
\ into account transport accessibility zones (similar to visual_grouping, but\
\ visual grouping is calculated differently) |\n| **optimize_cars_then_locality_grouping**\
\ | Arrange as many orders as possible, then optimize the number\
\ of vehicles, then visually group the routes \
\ |\n| **optimize_cars_then_single_location_grouping_sequenced**\
\ | Place as many orders as possible, then optimize the number of machines, then\
\ reliability \
\ |\n\nIn addition to the existing planning\
\ options, it is possible to create an objective function directly for the client's\
\ business processes ([request configuration](mailto:servicedesk@veeroute.com)).\n\
\nFor development, it is recommended to use **optimize_cars_then_distance**, since\
\ this configuration does not require detailed selection of rates and order values.\n\
\n## Data validation\n\nInput data validation consists of several steps, which\
\ are described below.\n\nValidation of planning results (including the search\
\ for possible reasons why orders were not planned) is located in the `analytics`\
\ method.\n\n### 1. Schema check\n\nIf the request does not follow the schema,\
\ then scheduling is not fully started and such an error is returned along with\
\ a 400 code in `schema_errors`.\n\nWe recommend validating the request against\
\ the schema (or yaml file) before sending it to the server.\n\n### 2. Check for\
\ logical errors that prevent planning from continuing\n\nSchema-correct data\
\ passes the second stage of checking for the possibility of starting planning.\n\
\nAn example of errors at this stage are keys leading to empty entities, or if\
\ all orders are incompatible with all performers, i.e. something that makes the\
\ planning task pointless.\n\nThese errors are returned along with a 400 code\
\ in `logical_errors`.\n\n### 3. Check for logical errors that prevent planning\
\ from continuing\n\nAt the third stage, each entity is checked separately.\n\n\
All entities that have not passed validation are cut out from the original task\
\ and are not sent for planning.\n\nDepending on the setting of `treat_warnings_as_errors`,\
\ the results of this type of validation are returned to `warnings` either with\
\ a 400 code or with the scheduling result.\n\n### 4. Checks in the planning process\n\
\nPart of the checks can only be carried out in the planning process.\n\nFor example\
\ - that according to the specified tariffs and according to the current traffic\
\ forecast, it is physically impossible to reach a certain point.\n\nThe results\
\ of these checks are returned in `warnings` or together with the scheduling result.\n\
\n## Entity relationship diagram\n\n![erd](../uml/universal.svg)\n"
servers:
- url: https://api.edge7.veeroute.cloud
description: 用于集成和早期访问新功能的环境
- url: https://api.prod7.veeroute.cloud
description: 生产环境
security:
- ApiKeyAuth: []
tags:
- name: Plan
description: '规划——根据订单、表演者和交通创建旅行。
计划请求可以以同步和异步模式执行。
'
- name: Actualize
description: 'Trips actualization - updating the planned ETA, taking into account
the facts and without changing the order of the roundabout.
Actualization takes place in three stages - verification, application of facts,
updating times for failed trip states.
Use [data cleaning](#operation/run_actualize_refine) to get the result of applying
facts to the original task.
The trips received as a result of updating contain only those works that remain
to be completed. Orders that cannot be completed remain assigned to the contractor
and end up in the `waitlist`.
Data clearing:
* Entities that are not referenced by input trips - locations, performers, transport,
destinations, orders, facts - are removed from the dataset.
* If several facts refer to one entity, only the latest one in the time field
is taken into account; if the time coincides, a random one is taken into account.
Accounting for existing trips:
* Trips are transformed into `hardlink` destinations - i.e. Changes of performer
and transport assigned to a flight cannot be used on other trips.
* Replacement events are removed from orders and the execution order is fixed
using `precedence_in_trip`; if orders already had an execution order specified,
it will be overwritten.
Current time tracking:
* If the current time `actualize_settings.current_time` is not specified in the
data, then the time the server received the request is used.
* Only those facts that occurred before `actualize_settings.current_time` are
taken into account.
* If the current time is greater than the left border of the time windows of all
events and shifts, then the left border is shifted to the current time.
* The allowed delay time `actualize_settings.max_delay_duration` is added to the
right border of the time windows of all events and shifts.
* Soft time windows are adjusted only if the duration of the order does not allow
the order to be completed within the soft window.
Accounting for the fact of changing the location `NEW_LOCATION`:
* To take this fact into account, the list of locations `locations` must contain
a new location that describes the current coordinate of the performer.
* If the flight began (the actual time is later than the planned start time of
the flight) - the transport is considered to be in the same location as the performer
- i.e. `start_location_key` of the executor and transport is changed.
* If the flight has not started (the actual time is before the planned start time
of the flight) - only the initial location of the performer changes, the location
of the transport remains from the original data.
* If there are several facts, only the latest one in the `time` field is taken
into account.
Accounting for the fact of order completion `ORDER_DONE`:
* The order, its applications and associated locations are removed from the data
for updating.
* The cargo is considered unloaded from the transport.
Accounting for facts about partial fulfillment of orders `DEMAND_START` and `DEMAND_DONE`:
* If all orders have been completed for an order, it is considered completed (actions
are similar to processing the `ORDER_DONE` fact).
* If an order has an order with the `PICKUP` type, then the corresponding order
with the `DROP` type will be converted into an order with the `DROP_FROM_BOX`
type.
* For each flight, only one open fact `DEMAND_START` is allowed (closed by the
fact `DEMAND_DONE`) - since the contractor can only fulfill one request at a time.
* If there is a fact about work on a request that contradicts the planned order
in the specified flight, this request will be completed first, then the flight
will continue according to the planned order.
* The fact about the order has higher priority than the facts about applications
for this order (if the facts about applications contradict the fact about the
order, they will not be taken into account).
'
- name: Replan
description: 'Replanning - creation of new trips based on existing trips, taking
into account the facts.
Replanning takes place in three stages - checking, applying facts and creating
restrictions for planning based on existing trips, planning.
'
- name: Convert
description: '数据转换。
'
- name: System
description: '系统功能。
所有服务共有的辅助功能。
'
- name: XLSX Format
description: 'Description of VRt.Universal XLSX format for import / data export.
This format is a complete display of data JSON models and is used for:
* initial data
* process settings
* calculation results
* statistics on the calculation result
Below is a description of each sheet separately.
## Data settings
The name of the sheet `info`.
| Title | Description |
|-----------------|--------------------------------------------|
| **api_version** | API version at the time of XLSX generation |
| **timezone** | Time zone, used in all times in the data |
| docs_ru | Link to documentation (RU) |
| docs_en | Link to documentation (EN) |
| docs_zh | Link to documentation (ZH) |
## Locations
The name of the sheet `locations`.
List of locations that are used in orders and shifts.
The described object:
## Performers
The name of the sheet is `performers`.
List of available performers.
The described object:
## Transports
The name of the sheet `transports`.
List of available transport.
The described object:
## Boxes
The name of the sheet is `transports.boxes`.
List of transport boxes that can accommodate the load.
The table is mandatory if there are orders with applications of types of `PICKUP`
and `DROP`.
In the description of the boxes, those fields that describe cargo are required.
The described object:
## Orders
The name of the sheet is `orders`.
List of orders.
The described object:
## Cargos
The name of the sheet is `orders.cargos`.
List of goods. It may contain one load for `DROP`, a list for `PICKUP`, empty
for `WORK`.
The table is not obligatory if all applications have the type `WORK`.
The described object:
## Hardlinks
The name of the sheet is `hardlinks`.
List of hardlinks.
The described object:
## Trips
The name of the sheet `trips`.
List of trips.
The described object:
## Facts
The name of the sheet is `facts`.
List of facts.
The described object:
## Plan settings
The name of the sheet `plan_settings`.
The described object:
## Actualize settings
The name of the sheet is `actualize_settings`.
The described object:
## Replan settings
The name of the sheet is `replan_settings`.
The described object:
## Total Statistics
The name of the sheet is `total_statistics`.
Total Statistics.
The described object:
'
externalDocs:
description: 公司网站 Veeroute
url: https://veeroute.cn/
paths:
/universal/plan/calculation-async:
post:
tags:
- Plan
summary: Planning (ASYNC)
description: 'Starting trip planning - after loading and checking the data,
the `process_code` is returned.
Using the `process_code`, you can find out [calculation state](#operation/read_plan_state)
and [get result](#operation/read_plan_result),
and also [cancel calculation](#operation/cancel_plan_calculation) and [delete
temporary data](#operation/delete_plan_result) (otherwise they will be automatically
deleted according to the ttl specified in the calculation settings).
'
operationId: run_plan_calculation_async
x-process-type: PLAN
requestBody:
description: Launching the asynchronous planning.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/plan_task'
examples:
PlanTaskTokyo:
$ref: '#/components/examples/PlanTaskTokyo'
PlanTaskMoscow:
$ref: '#/components/examples/PlanTaskMoscow'
PlanTaskDenver:
$ref: '#/components/examples/PlanTaskDenver'
PlanTaskBerlin:
$ref: '#/components/examples/PlanTaskBerlin'
PlanTaskBeijing:
$ref: '#/components/examples/PlanTaskBeijing'
responses:
'200':
description: The calculation was successfully added to the queue
content:
application/json:
schema:
$ref: '#/components/schemas/calculation_async_result'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/plan/calculation:
post:
tags:
- Plan
summary: Planning (SYNC)
description: 'Sync method for trip planning.
Use only for testing and manual plannings.
For production use [async method](#operation/run_plan_calculation_async).
'
operationId: run_plan_calculation
x-process-type: PLAN
requestBody:
description: New planning request.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/plan_task'
examples:
PlanTaskTokyo:
$ref: '#/components/examples/PlanTaskTokyo'
PlanTaskMoscow:
$ref: '#/components/examples/PlanTaskMoscow'
PlanTaskDenver:
$ref: '#/components/examples/PlanTaskDenver'
PlanTaskBerlin:
$ref: '#/components/examples/PlanTaskBerlin'
PlanTaskBeijing:
$ref: '#/components/examples/PlanTaskBeijing'
responses:
'200':
description: Calculation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
PlanResultTokyo:
$ref: '#/components/examples/PlanResultTokyo'
PlanResultMoscow:
$ref: '#/components/examples/PlanResultMoscow'
PlanResultDenver:
$ref: '#/components/examples/PlanResultDenver'
PlanResultBerlin:
$ref: '#/components/examples/PlanResultBerlin'
PlanResultBeijing:
$ref: '#/components/examples/PlanResultBeijing'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
x-codeSamples:
- lang: Python
source: 'from vrt_lss_universal import *
from vrt_lss_universal.apis import *
from vrt_lss_universal.models import *
# settings
HOST = ''https://api.edge7.veeroute.cloud'' # production env https://api.prod7.veeroute.cloud''
TOKEN = ''PASTETOKENHERE''
# create client
configuration = Configuration()
configuration.host = HOST
configuration.access_token = TOKEN
client = ApiClient(configuration)
# create api instances
system_api = SystemApi(client)
plan_api = PlanApi(client)
# run check
check_response = system_api.check()
print(check_response)
# run sync calculation
task = PlanTask(...)
result = plan_api.run_plan_calculation(task)
print(result)'
/universal/plan/calculation-async/{process_code}:
delete:
tags:
- Plan
summary: Cancel calculation
description: Cancel calculation by the calculation identifier.
operationId: cancel_plan_calculation
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'204':
description: Calculation successfully canceled
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/plan/state/{process_code}:
get:
tags:
- Plan
summary: Calculation state
description: Read calculation state by the calculation identifier.
operationId: read_plan_state
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'200':
$ref: '#/components/responses/200'
'202':
$ref: '#/components/responses/202'
'299':
$ref: '#/components/responses/299'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/plan/result/{process_code}:
get:
tags:
- Plan
summary: Getting the result
description: Getting the planning result based on the calculation identifier.
operationId: read_plan_result
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'200':
description: Calculation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
PlanResultTokyo:
$ref: '#/components/examples/PlanResultTokyo'
PlanResultMoscow:
$ref: '#/components/examples/PlanResultMoscow'
PlanResultDenver:
$ref: '#/components/examples/PlanResultDenver'
PlanResultBerlin:
$ref: '#/components/examples/PlanResultBerlin'
PlanResultBeijing:
$ref: '#/components/examples/PlanResultBeijing'
'202':
description: Calculation in progress, intermediate results returned
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
PlanResultMoscow:
$ref: '#/components/examples/PlanResultMoscow'
'299':
description: Calculation completed, problems encountered during the calculation
process
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
PlanResultMoscow:
$ref: '#/components/examples/PlanResultMoscow'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Plan
summary: Result removal
description: Removal of the planning result by the calculation identifier.
operationId: delete_plan_result
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'204':
description: Successful execution - calculation result deleted
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/plan/validation:
post:
tags:
- Plan
summary: Data validation
description: Check data before using.
operationId: run_plan_validation
x-process-type: VALIDATE
requestBody:
description: Data for validation.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/plan_task'
examples:
PlanTaskTokyo:
$ref: '#/components/examples/PlanTaskTokyo'
PlanTaskMoscow:
$ref: '#/components/examples/PlanTaskMoscow'
PlanTaskDenver:
$ref: '#/components/examples/PlanTaskDenver'
PlanTaskBerlin:
$ref: '#/components/examples/PlanTaskBerlin'
PlanTaskBeijing:
$ref: '#/components/examples/PlanTaskBeijing'
responses:
'200':
description: Data validation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/validate_result'
examples:
ValidateResultExample:
$ref: '#/components/examples/ValidateResultExample'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/plan/refine:
post:
tags:
- Plan
summary: Data refine
description: Refine data before using.
operationId: run_plan_refine
x-process-type: VALIDATE
requestBody:
description: Data for refine.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/plan_task'
examples:
PlanTaskMoscow:
$ref: '#/components/examples/PlanTaskMoscow'
responses:
'200':
description: Refine completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/refine_result'
examples:
RefineResultMoscow:
$ref: '#/components/examples/RefineResultMoscow'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/plan/statistics:
post:
tags:
- Plan
summary: Calculation of statistics on trips
description: 'Calculation of statistics for existing trips
'
operationId: generate_plan_statistics
x-process-type: VALIDATE
requestBody:
description: New request.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/statistics_task'
examples:
GeneratePlanStatisticsMoscow:
$ref: '#/components/examples/GeneratePlanStatisticsMoscow'
responses:
'200':
description: Calculation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
PlanResultTokyo:
$ref: '#/components/examples/PlanResultTokyo'
PlanResultMoscow:
$ref: '#/components/examples/PlanResultMoscow'
PlanResultDenver:
$ref: '#/components/examples/PlanResultDenver'
PlanResultBerlin:
$ref: '#/components/examples/PlanResultBerlin'
PlanResultBeijing:
$ref: '#/components/examples/PlanResultBeijing'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/actualize/calculation-async:
post:
tags:
- Actualize
summary: Actualization (ASYNC)
description: 'Start updating existing trips - after loading and checking the
data, the calculation identifier `process_code` is returned.
Using `process_code` you can find out [calculation state](#operation/read_actualize_state)
and [get result](#operation/read_actualize_result),
and also [cancel calculation](#operation/cancel_actualize_calculation) and
[delete temporary data](#operation/delete_actualize_result) (otherwise they
will be automatically deleted according to the ttl specified in the calculation
settings).
An actualize task can be transformed into a planning task using [data processing](#operation/run_actualize_refine).
'
operationId: run_actualize_calculation_async
x-process-type: PLAN
requestBody:
description: Starting the asynchronous actualize process.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/actualize_task'
examples:
ActualizeTaskMoscow:
$ref: '#/components/examples/ActualizeTaskMoscow'
responses:
'200':
description: The calculation was successfully added to the queue
content:
application/json:
schema:
$ref: '#/components/schemas/calculation_async_result'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/actualize/calculation:
post:
tags:
- Actualize
summary: Actualization (SYNC)
description: 'Sync method for trips actualization.
Use only for testing and manual plannings.
For production use [async method](#operation/run_actualize_calculation_async).
'
operationId: run_actualize_calculation
x-process-type: PLAN
requestBody:
description: New request for actualization.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/actualize_task'
examples:
ActualizeTaskMoscow:
$ref: '#/components/examples/ActualizeTaskMoscow'
responses:
'200':
description: Calculation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
ActualizeResultMoscow:
$ref: '#/components/examples/ActualizeResultMoscow'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/actualize/calculation-async/{process_code}:
delete:
tags:
- Actualize
summary: Cancel calculation
description: Cancel calculation by the calculation identifier.
operationId: cancel_actualize_calculation
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'204':
description: Calculation successfully canceled
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/actualize/state/{process_code}:
get:
tags:
- Actualize
summary: Calculation state
description: Read calculation state by the calculation identifier.
operationId: read_actualize_state
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'200':
$ref: '#/components/responses/200'
'202':
$ref: '#/components/responses/202'
'299':
$ref: '#/components/responses/299'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/actualize/result/{process_code}:
get:
tags:
- Actualize
summary: Getting the result
description: Getting the planning result based on the calculation identifier.
operationId: read_actualize_result
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'200':
description: Calculation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
ActualizeResultMoscow:
$ref: '#/components/examples/ActualizeResultMoscow'
'202':
description: Calculation in progress, intermediate results returned
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
ActualizeResultMoscow:
$ref: '#/components/examples/ActualizeResultMoscow'
'299':
description: Calculation completed, problems encountered during the calculation
process
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
ActualizeResultMoscow:
$ref: '#/components/examples/ActualizeResultMoscow'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Actualize
summary: Result removal
description: Removal of the planning result by the calculation identifier.
operationId: delete_actualize_result
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'204':
description: Successful execution - calculation result deleted
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/actualize/validation:
post:
tags:
- Actualize
summary: Data validation
description: Check data before using.
operationId: run_actualize_validation
x-process-type: VALIDATE
requestBody:
description: Data for validation.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/actualize_task'
examples:
ActualizeTaskMoscow:
$ref: '#/components/examples/ActualizeTaskMoscow'
responses:
'200':
description: Data validation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/validate_result'
examples:
ValidateResultExample:
$ref: '#/components/examples/ValidateResultExample'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/actualize/refine:
post:
tags:
- Actualize
summary: Data refine
description: Refine data before using.
operationId: run_actualize_refine
x-process-type: VALIDATE
requestBody:
description: Data for refine.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/actualize_task'
examples:
ActualizeTaskMoscow:
$ref: '#/components/examples/ActualizeTaskMoscow'
responses:
'200':
description: Refine completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/refine_result'
examples:
RefineResultMoscow:
$ref: '#/components/examples/RefineResultMoscow'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/replan/calculation-async:
post:
tags:
- Replan
summary: Replanning (ASYNC)
description: "Starting trip replanning - changing existing and creating new\
\ trips based on the facts and data about orders, performers and transport.\n\
\ \nAfter loading and checking the data, the `process_code` is returned.\n\
\nUsing the `process_code`, you can find out [calculation state](#operation/read_replan_state)\
\ and [get result](#operation/read_replan_result),\nand also [cancel calculation](#operation/cancel_replan_calculation)\
\ and [delete temporary data](#operation/delete_replan_result) (otherwise\
\ they will be automatically deleted according to the ttl specified in the\
\ calculation settings).\n\nAn replan task can be transformed into a plan\
\ task using [data processing](#operation/run_replan_refine).\n"
operationId: run_replan_calculation_async
x-process-type: PLAN
requestBody:
description: Launching the asynchronous replanning.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/replan_task'
examples:
ReplanTaskMoscow:
$ref: '#/components/examples/ReplanTaskMoscow'
responses:
'200':
description: The calculation was successfully added to the queue
content:
application/json:
schema:
$ref: '#/components/schemas/calculation_async_result'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/replan/calculation:
post:
tags:
- Replan
summary: Replanning (SYNC)
description: 'Sync method for trips replanning.
Use only for testing and manual plannings.
For production use [async method](#operation/run_replan_calculation_async).
'
operationId: run_replan_calculation
x-process-type: PLAN
requestBody:
description: New replanning request.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/replan_task'
examples:
ReplanTaskMoscow:
$ref: '#/components/examples/ReplanTaskMoscow'
responses:
'200':
description: Calculation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
ReplanResultMoscow:
$ref: '#/components/examples/ReplanResultMoscow'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
x-codeSamples:
- lang: Python
source: 'from vrt_lss_universal import *
from vrt_lss_universal.apis import *
from vrt_lss_universal.models import *
# settings
HOST = ''https://api.edge7.veeroute.cloud'' # production env https://api.prod7.veeroute.cloud''
TOKEN = ''PASTETOKENHERE''
# create client
configuration = Configuration()
configuration.host = HOST
configuration.access_token = TOKEN
client = ApiClient(configuration)
# create api instances
system_api = SystemApi(client)
plan_api = PlanApi(client)
# run check
check_response = system_api.check()
print(check_response)
# run sync calculation
task = ReplanTask(...)
result = plan_api.run_replan_calculation(task)
print(result)'
/universal/replan/calculation-async/{process_code}:
delete:
tags:
- Replan
summary: Cancel calculation
description: Cancel calculation by the calculation identifier.
operationId: cancel_replan_calculation
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'204':
description: Calculation successfully canceled
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/replan/state/{process_code}:
get:
tags:
- Replan
summary: Calculation state
description: Read calculation state by the calculation identifier.
operationId: read_replan_state
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'200':
$ref: '#/components/responses/200'
'202':
$ref: '#/components/responses/202'
'299':
$ref: '#/components/responses/299'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/replan/result/{process_code}:
get:
tags:
- Replan
summary: Getting the result
description: Getting the replanning result based on the calculation identifier.
operationId: read_replan_result
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'200':
description: Calculation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
ReplanResultMoscow:
$ref: '#/components/examples/ReplanResultMoscow'
'202':
description: Calculation in progress, intermediate results returned
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
ReplanResultMoscow:
$ref: '#/components/examples/ReplanResultMoscow'
'299':
description: Calculation completed, problems encountered during the calculation
process
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
ReplanResultMoscow:
$ref: '#/components/examples/ReplanResultMoscow'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
delete:
tags:
- Replan
summary: Result removal
description: Removal of the planning result by the calculation identifier.
operationId: delete_replan_result
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/process_code'
responses:
'204':
description: Successful execution - calculation result deleted
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/replan/validation:
post:
tags:
- Replan
summary: Data validation
description: Check data before using.
operationId: run_replan_validation
x-process-type: VALIDATE
requestBody:
description: Data for validation.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/replan_task'
examples:
ReplanTaskMoscow:
$ref: '#/components/examples/ReplanTaskMoscow'
responses:
'200':
description: Data validation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/validate_result'
examples:
ValidateResultExample:
$ref: '#/components/examples/ValidateResultExample'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/replan/refine:
post:
tags:
- Replan
summary: Data refine
description: Refine data before using.
operationId: run_replan_refine
x-process-type: VALIDATE
requestBody:
description: Data for refine.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/replan_task'
examples:
ReplanTaskMoscow:
$ref: '#/components/examples/ReplanTaskMoscow'
responses:
'200':
description: Refine completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/refine_result'
examples:
RefineResultMoscow:
$ref: '#/components/examples/RefineResultMoscow'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/convert/json-to-xlsx:
post:
tags:
- Convert
summary: JSON >> XLSX
description: Used for conversion of data to the [VRt.Universal XLSX](#tag/XLSX-Format)
format.
operationId: run_convert_json_to_xlsx
x-process-type: CONVERT
parameters:
- $ref: '#/components/parameters/timezone'
requestBody:
description: Conversion request to the XLSX.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/universal_data'
examples:
ConvertTaskMoscow:
$ref: '#/components/examples/ConvertTaskMoscow'
responses:
'200':
description: Successful execution
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_xlsx'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/convert/xlsx-to-json:
post:
tags:
- Convert
summary: XLSX >> JSON
description: 'Used for data conversion from the [VRt.Universal XLSX](#tag/XLSX-Format)
format to the VRt.Universal JSON format.
'
operationId: run_convert_xlsx_to_json
x-process-type: CONVERT
requestBody:
description: Conversion request to the JSON format.
required: true
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_xlsx'
responses:
'200':
description: Successful execution
content:
application/json:
schema:
$ref: '#/components/schemas/universal_data'
examples:
ConvertTaskMoscow:
$ref: '#/components/examples/ConvertTaskMoscow'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/convert/json-to-thrift:
post:
tags:
- Convert
summary: JSON >> THRIFT
description: Used for conversion of input data to the THRIFT format.
operationId: run_convert_json_to_thrift
x-process-type: CONVERT
requestBody:
description: Conversion request to the THRIFT.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/universal_data'
examples:
ConvertTaskMoscow:
$ref: '#/components/examples/ConvertTaskMoscow'
responses:
'200':
description: Successful execution
content:
text/plain:
schema:
$ref: '#/components/schemas/file_text'
'400':
$ref: '#/components/responses/400_with_errors_and_warnings'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/system/check:
get:
tags:
- System
summary: 检查服务可用性
description: 检查服务可用性。
operationId: check
x-process-type: NOTRACE
security: []
responses:
'200':
description: Successful execution
content:
application/json:
schema:
$ref: '#/components/schemas/check_result'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/system/version:
get:
tags:
- System
summary: 获取服务版本
description: 获取服务版本。
operationId: version
x-process-type: NOTRACE
security: []
responses:
'200':
description: Successful execution
content:
application/json:
schema:
$ref: '#/components/schemas/version_result'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/universal/file/{filename}:
get:
tags:
- System
summary: 检查服务可用性
description: 检查服务可用性。
operationId: file
x-process-type: NOTRACE
security: []
parameters:
- $ref: '#/components/parameters/filename'
responses:
'200':
description: Successful execution
content:
text/html:
schema:
$ref: '#/components/schemas/file_html'
text/plain:
schema:
$ref: '#/components/schemas/file_json'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
components:
securitySchemes:
ApiKeyAuth:
description: '对于客户端 [认证](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication)
[JWT 令牌](https://en.wikipedia.org/wiki/JSON_Web_Token) 被使用,
必须在每个请求的标头中以以下格式指定:
`授权:承载 `。
Token 可以通过 VRt.Account API 获取。
'
type: http
scheme: bearer
bearerFormat: JWT
schemas:
geopoint:
description: Geographical point.
type: object
additionalProperties: false
properties:
latitude:
description: Latitude in degrees.
type: number
format: double
minimum: -90
maximum: 90
example: 55.692789
longitude:
description: Longitude in degrees.
type: number
format: double
minimum: -180
maximum: 180
example: 37.554554
required:
- latitude
- longitude
time_duration:
description: Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$
minLength: 3
maxLength: 16
default: PT0S
example: PT1H45M
time_window:
description: Time window.
type: object
additionalProperties: false
nullable: true
properties:
from:
description: Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6)
format.
type: string
format: date-time
example: '2025-03-21T09:30:00+03:00'
to:
description: Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6)
format.
type: string
format: date-time
example: '2025-03-21T19:45:00Z'
required:
- from
- to
capacity_limit:
description: Capacity limits.
type: object
additionalProperties: false
nullable: true
properties:
mass:
description: Weight in kilograms.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 10
volume:
description: Volume in cubic meters.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 2
capacity_a:
description: Additional parameter (A) for measuring cargoes and boxes in
alternative units.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 1
capacity_b:
description: Additional parameter (B) for measuring cargoes and boxes in
alternative units.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 2
capacity_c:
description: Additional parameter (C) for measuring cargoes and boxes in
alternative units.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 3
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
capacity_cost:
description: Cost per capacity element.
type: object
additionalProperties: false
nullable: true
properties:
mass:
description: Cost per kilogram, in conventional monetary units.
type: number
format: double
minimum: 0
maximum: 1000000
example: 11
volume:
description: Cost per cubic meter, in conventional monetary units.
type: number
format: double
minimum: 0
maximum: 1000000
example: 22
capacity_a:
description: Cost per unit of additional parameter (A), in conventional
monetary units.
type: number
format: double
minimum: 0
maximum: 1000000
example: 11
capacity_b:
description: Cost per unit of additional parameter (B), in conventional
monetary units.
type: number
format: double
minimum: 0
maximum: 1000000
example: 22
capacity_c:
description: Cost per unit of additional parameter (C), in conventional
monetary units.
type: number
format: double
minimum: 0
maximum: 1000000
example: 31
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
location_cargos_limit:
description: 'Limiting the location''s ability to handle cargo.
'
type: object
additionalProperties: false
nullable: false
properties:
capacity:
$ref: '#/components/schemas/capacity_limit'
description: Capacity value.
penalty:
$ref: '#/components/schemas/capacity_cost'
description: Penalty for violating the `capacity`.
required:
- capacity
- penalty
location_cargos_limit_function:
description: 'A function that describes the limitation of a location''s ability
to handle cargo and penalties for violating the restrictions. Penalties are
cumulative independently for each qualifying part of the function.
'
type: array
uniqueItems: false
nullable: false
minItems: 0
maxItems: 5
items:
$ref: '#/components/schemas/location_cargos_limit'
location_transports_limit:
description: 'Limiting the location''s ability to serve transport.
'
type: object
additionalProperties: false
nullable: false
properties:
count:
description: The number of transport serviced on average during a specified
time window.
type: number
format: double
minimum: 0
maximum: 15001
example: 2
penalty:
description: Penalty for violating the `count`.
type: number
format: double
minimum: 0
maximum: 1000000
example: 2000
required:
- count
- penalty
location_transports_limit_function:
description: 'A function that describes the limitation of a location’s ability
to serve transport and penalties for violating the restrictions. Penalties
are cumulative independently for each qualifying part of the function.
'
type: array
uniqueItems: false
nullable: false
minItems: 0
maxItems: 5
items:
$ref: '#/components/schemas/location_transports_limit'
location_limit:
description: 'Limitation on the capacity of a location during a certain time
period.
'
type: object
additionalProperties: false
properties:
key:
description: Constraint key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: location_limit_constraint_01
time_window:
$ref: '#/components/schemas/time_window'
description: Time window for the restriction.
min_cargos:
$ref: '#/components/schemas/location_cargos_limit_function'
description: 'The minimum throughput of cargo movement that must be ensured.
Failure to comply with this parameter will result in a fine.
'
max_cargos:
$ref: '#/components/schemas/location_cargos_limit_function'
description: 'Maximum throughput of cargo movement. Exceeding the parameter
is penalized.
'
min_transports:
$ref: '#/components/schemas/location_transports_limit_function'
description: 'The minimum acceptable number of transports serviced on average
during a specified time window. Failure to comply with this parameter
will result in a fine.
'
max_transports:
$ref: '#/components/schemas/location_transports_limit_function'
description: 'The maximum acceptable number of transports serviced on average
during a specified time window. Exceeding the parameter is penalized.
'
required:
- key
- time_window
location_limit_list:
description: 'List of bandwidth restrictions inside the working window of the
location. Constraint time windows cannot overlap and must total `work_window`.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/location_limit'
location_timetable_element:
description: 'Location - unique geographical location of the object with accessibility
parameters.
'
type: object
additionalProperties: false
properties:
work_window:
$ref: '#/components/schemas/time_window'
description: Time window for location availability.
limits:
$ref: '#/components/schemas/location_limit_list'
required:
- work_window
location_timetable:
description: 'Location timetable - time windows of availability and capacity
restrictions. If the list is empty or not specified, the location works without
restrictions.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 30
items:
$ref: '#/components/schemas/location_timetable_element'
compatibility_tag:
description: Tag used to determine [compatibility](#section/Description/Compatibilities).
type: string
minLength: 1
maxLength: 256
example: B1
compatibility_tag_list:
description: 'A list of tags that define a property or requirement.
'
type: array
minItems: 0
maxItems: 1000
uniqueItems: true
default: []
items:
$ref: '#/components/schemas/compatibility_tag'
location_compatibilities:
description: 'Location [compatibilities](#section/Description/Compatibilities).
'
type: object
additionalProperties: false
nullable: true
properties:
transport_restrictions:
description: 'List of transport requirements. Used to check whether the
transport is compatible with the location.
'
$ref: '#/components/schemas/compatibility_tag_list'
name:
description: Name, information field.
type: string
minLength: 0
maxLength: 128
default: ''
example: X1-ABC
attribute:
description: Attribute.
type: object
additionalProperties: false
properties:
key:
description: Attribute's key.
type: string
minLength: 1
maxLength: 100
example: code
value:
description: Attribute's value.
type: string
minLength: 0
maxLength: 2000
example: X51
required:
- key
- value
attributes:
description: Attributes. Used to add service information.
type: array
minItems: 0
maxItems: 1000
uniqueItems: true
default: []
items:
$ref: '#/components/schemas/attribute'
location:
description: 'Location - unique geographical location of the object with accessibility
parameters.
'
type: object
additionalProperties: false
properties:
key:
description: Location key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: location_01
geopoint:
$ref: '#/components/schemas/geopoint'
arrival_duration:
$ref: '#/components/schemas/time_duration'
description: Time for driving up to the location (or waiting time at parking
lot) according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
departure_duration:
$ref: '#/components/schemas/time_duration'
description: Time to leave the location according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
timetable:
$ref: '#/components/schemas/location_timetable'
compatibilities:
$ref: '#/components/schemas/location_compatibilities'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- geopoint
demand_type:
description: "Demand types:\n * `PICKUP` - loading\n * `DROP` - unloading\n\
\ * `WORK` - work at the location\n * `PICKUP_TO_BOX` - loading to box\n\
\ * `DROP_FROM_BOX` - unloading from box\n"
nullable: false
type: string
enum:
- PICKUP
- DROP
- WORK
- PICKUP_TO_BOX
- DROP_FROM_BOX
example: WORK
cargo_list:
description: "The list of cargo keys depends on the type of order in which the\
\ cargoes are located:\n * `PICKUP` - list of keys\n * `DROP` - one key\n\
\ * `WORK` - empty list\n * `PICKUP_TO_BOX` - one key\n * `DROP_FROM_BOX`\
\ - one key\n"
type: array
minItems: 0
maxItems: 1000
uniqueItems: true
items:
description: Cargo key.
type: string
minLength: 1
maxLength: 1024
example:
- cargo01
possible_event:
description: 'Possible event. Combines the geographical location and the time
window, when a demand can be completed.
'
type: object
additionalProperties: false
properties:
key:
description: Event key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: event_1
location_key:
description: Location key, where this event is possible.
type: string
minLength: 1
maxLength: 1024
example: location_01
duration:
$ref: '#/components/schemas/time_duration'
description: Event duration time according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
reward:
description: Reward for completing this event.
type: number
format: double
minimum: 0
maximum: 2000000000
default: 1000.1
example: 199.9
hard_time_window:
$ref: '#/components/schemas/time_window'
description: 'A hard time window within which an event must occur. The window
duration cannot be less than the `duration` of the event. Cannot be violated
during planning.
'
soft_time_window:
$ref: '#/components/schemas/time_window'
default: null
description: 'A soft time window within which an event is desired to occur.
The window duration cannot be less than the `duration` of the event. Must
not exceed the `hard_time_window`. If not specified or equal to `null`,
it is assumed to be equal to the hard time window. May be disrupted during
planning.
'
required:
- key
- location_key
- hard_time_window
demand:
description: Request for a single action with a cargo (pickup / drop) or work
at a location.
type: object
additionalProperties: false
properties:
key:
description: Demand key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: demand_1
demand_type:
$ref: '#/components/schemas/demand_type'
target_cargos:
$ref: '#/components/schemas/cargo_list'
precedence_in_trip:
description: Precedence within a trip, 0 - the precedence is not taken into
account.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
default: 0
precedence_in_order:
description: Precedence within an order, 0 - the precedence is not taken
into account.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1
default: 0
possible_events:
description: List of possible time windows and location keys to fulfil an
order.
type: array
uniqueItems: true
minItems: 1
maxItems: 25
items:
$ref: '#/components/schemas/possible_event'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- demand_type
- possible_events
capacity:
description: Capacity characteristics.
type: object
additionalProperties: false
nullable: true
properties:
mass:
description: Weight in kilograms.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 10
volume:
description: Volume in cubic meters.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
capacity_a:
description: 'Additional parameter (A) for measuring cargoes and boxes in
alternative units. For example, to account for cargo in pieces (this parameter
is equal to one for a cargo and the maximum number of cargo to hold for
a box).
'
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
capacity_b:
description: 'Additional parameter (B) for measuring cargoes and boxes in
alternative units.
'
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2
capacity_c:
description: 'Additional parameter (C) for measuring cargoes and boxes in
alternative units.
'
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 3
cargo_rotation_type:
description: "The ability of the cargo to rotate in 90 degree increments around\
\ the axes:\n * `ALL` - any axes.\n * `YAW` - around the Z axis.\n * `PITCH`\
\ - around the Y axis.\n * `ROLL` - around the X axis. \n"
type: string
enum:
- ALL
- YAW
- PITCH
- ROLL
default: ALL
example: ALL
cargo_rotation:
description: "List of possibilities of a object rotations (90 degree step):\n\
\ * `ALL` - can rotate by any axis\n * `YAW` - can yaw\n * `PITCH` - can\
\ pitch\n * `ROLL` - can roll\n\nEmpty list means object rotations is prohibited.\n\
\nMore about [cargo placement](#section/Description/Cargo-placement)."
type: array
minItems: 0
maxItems: 4
uniqueItems: true
default: []
items:
$ref: '#/components/schemas/cargo_rotation_type'
example:
- ALL
cargo_compatibilities:
description: 'Cargo [compatibilities](#section/Description/Compatibilities).
'
type: object
additionalProperties: false
nullable: true
properties:
width:
description: Width in meters, used to check the transport box capacity.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
height:
description: Height in meters, used to check the transport box capacity.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 0.3
length:
description: Length in meters, used to check the transport box capacity.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2.2
rotation:
$ref: '#/components/schemas/cargo_rotation'
box_restrictions:
description: 'A list of necessary restrictions for the transport box in
which this cargo can be transported.
'
$ref: '#/components/schemas/compatibility_tag_list'
cargo_features:
description: 'Cargo''s features list. Used to check whether the cargo is
compatible with other cargos. Incompatible cargo cannot be located simultaneously
in the same box of the transport.
'
$ref: '#/components/schemas/compatibility_tag_list'
cargo_restrictions:
description: 'Restrictions list for the cargo. Used to check whether the
cargo is compatible with other cargos. Incompatible cargo cannot be located
simultaneously in the same box of the transport.
'
$ref: '#/components/schemas/compatibility_tag_list'
cargo:
description: 'Cargo. Regardless of capacity, cargo can only move inside the
transport box.
'
type: object
additionalProperties: false
properties:
key:
description: Cargo key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: cargo01
capacity:
$ref: '#/components/schemas/capacity'
description: Cargo additive measures.
compatibilities:
$ref: '#/components/schemas/cargo_compatibilities'
target_box_key:
description: 'The key of the transport box in which the cargo is already
located. Applicable only for cargo that is in the order with the type
`DROP_FROM_BOX`. For other order types, the key must be empty.
'
type: string
minLength: 1
maxLength: 1024
nullable: true
default: null
example: box01
required:
- key
order_compatibilities:
description: 'Order [compatibilities](#section/Description/Compatibilities).
'
type: object
additionalProperties: false
nullable: true
properties:
order_features:
description: 'Order features list. Used to check the compatibility of an
order with other orders. Incompatible orders cannot be planned on the
same trip.
'
$ref: '#/components/schemas/compatibility_tag_list'
order_restrictions:
description: 'List of restrictions for an order carried out on the same
trip. Used to check the compatibility of an order with other orders. Incompatible
orders cannot be planned on the same trip.
'
$ref: '#/components/schemas/compatibility_tag_list'
performer_restrictions:
description: 'A list of necessary requirements for the performer who can
fulfill this order.
'
$ref: '#/components/schemas/compatibility_tag_list'
performer_blacklist:
description: 'A list of requirements that the performer is not allowed to
have. This list should not intersect with `performer_restrictions`.
'
$ref: '#/components/schemas/compatibility_tag_list'
order:
description: The order for delivery/transportation, contains a list of demands.
type: object
additionalProperties: false
properties:
key:
description: Order key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: order01
demands:
description: Demands list.
type: array
uniqueItems: true
minItems: 1
maxItems: 1000
items:
$ref: '#/components/schemas/demand'
cargos:
description: 'The list of cargoes referred to by the demands of this order.
The list must be empty if all demands in the order are of type `WORK`.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 1000
default: []
items:
$ref: '#/components/schemas/cargo'
compatibilities:
$ref: '#/components/schemas/order_compatibilities'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- demands
performer_tariff_constraint:
description: The paid period of time is an integral part of the tariff.
type: object
additionalProperties: false
properties:
stage_length:
description: Length of the paid period according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$
minLength: 3
maxLength: 16
default: P30D
example: P1DT8H30M20S
cost_per_unit:
description: 'Cost within the paid period, monetary unit per second of work.
'
type: number
format: double
minimum: 0.001
maximum: 10000
default: 0.001
example: 5.05
performer_tariff:
description: The tariff determines the cost and time limits of the shift.
type: object
additionalProperties: false
properties:
cost_per_shift:
description: Price for using the shift, monetary unit.
type: number
format: double
minimum: 0.001
maximum: 1000000
default: 0.001
example: 2000
constraints:
description: List of components of the tariff.
type: array
minItems: 1
maxItems: 100
uniqueItems: false
items:
$ref: '#/components/schemas/performer_tariff_constraint'
default:
- stage_length: P30D
cost_per_unit: 0.001
max_penalty_cost:
description: 'Max sum of penalties for performer or transport using this
shift, monetary unit. If not specified or null, the performer can violate
without restrictions.
'
type: number
format: double
nullable: true
default: null
minimum: 0
maximum: 1000000
example: 2000
time_duration_null:
description: Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$
minLength: 3
maxLength: 16
nullable: true
default: null
example: PT2H12M34.3S
rest:
description: The condition for the onset and characteristics of a rest.
type: object
additionalProperties: false
nullable: true
properties:
relocating_duration_sum:
$ref: '#/components/schemas/time_duration'
description: Total relocation time between locations, no later than which
you need to take a rest according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
operating_duration_sum:
$ref: '#/components/schemas/time_duration_null'
description: Total trip time (excluding waiting), no later than which you
need to take a rest according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
duration:
$ref: '#/components/schemas/time_duration'
description: Length of break period according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
required:
- relocating_duration_sum
- duration
rest_rules:
description: Rules for accounting for rest.
type: object
additionalProperties: false
nullable: true
properties:
consecutive:
$ref: '#/components/schemas/rest'
description: The condition for the onset and characteristics of a consecutive
break.
required:
- consecutive
break:
description: The condition for the onset and characteristics of a break.
type: object
additionalProperties: false
nullable: true
properties:
relocating_duration_sum:
$ref: '#/components/schemas/time_duration'
description: Total relocation time between locations, no later which you
need to take a break according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
operating_duration_sum:
$ref: '#/components/schemas/time_duration_null'
description: Total trip time (excluding waiting), no later which you need
to take a break according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
duration:
$ref: '#/components/schemas/time_duration'
description: Length of break period according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
required:
- relocating_duration_sum
- duration
break_rules:
description: Rules for accounting for breaks.
type: object
additionalProperties: false
nullable: true
properties:
first:
description: The condition for the onset and characteristics of a first
break.
$ref: '#/components/schemas/break'
consecutive:
description: The condition for the onset and characteristics of a consecutive
break.
$ref: '#/components/schemas/break'
relocating_duration_type:
description: Type of accounting for time spent moving between locations
(total or continuous).
type: string
nullable: false
enum:
- TOTAL
- CONTINUOUS
default: TOTAL
example: CONTINUOUS
required:
- first
work_and_rest_rules:
description: 'Work and rest rules.
'
type: object
additionalProperties: false
nullable: true
properties:
rest_rules:
$ref: '#/components/schemas/rest_rules'
break_rules:
$ref: '#/components/schemas/break_rules'
reset_location_keys:
description: A list of locations keys in which the counters for breaks and
rest are reset when located.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
description: Location key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: location_01
ignore_location_keys:
description: A list of location keys whose stay is not taken into account
in the total execution time counter.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
description: Location key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: location_01
performer_shift:
description: 'Performer''s shift that determines the availability of the resource
for planning within its time window.
'
type: object
additionalProperties: false
properties:
key:
description: Shift key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: shift01
availability_time:
$ref: '#/components/schemas/time_window'
description: Time shift window when the performer can perform work at locations
and drive between locations.
working_time:
$ref: '#/components/schemas/time_window'
description: Working time window, when the performer can perform work at
locations, must be inside the time window.
start_location_key:
description: 'Start location key. If not specified, the trip starts from
the first order location.
'
type: string
minLength: 1
maxLength: 1024
nullable: true
default: null
example: start_location_01
finish_location_key:
description: 'Finish location key. If not specified, the trip finishes
on the last order location.
'
type: string
minLength: 1
maxLength: 1024
nullable: true
default: null
example: finish_location_01
max_locations:
description: 'Limit of the number of unique locations in one trip. If not
specified or null, number of locations is not limited.
'
type: integer
format: int32
minimum: 1
maximum: 1000
nullable: true
default: null
example: 15
max_stops:
description: 'Limit of the number of stops in one trip. If not specified
or null, number of stops is not limited.
'
type: integer
format: int32
minimum: 1
maximum: 1000
nullable: true
default: null
example: 15
tariff:
$ref: '#/components/schemas/performer_tariff'
work_and_rest_rules:
$ref: '#/components/schemas/work_and_rest_rules'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- availability_time
- working_time
transport_type:
description: "Transport types:\n * `CAR` - car\n * `TRUCK_1500` - truck with\
\ permissible weight 1500 kg\n * `TRUCK_3000` - truck with permissible weight\
\ 3000 kg\n * `TRUCK_5000` - truck with permissible weight 5000 kg\n * `TRUCK_10000`\
\ - truck with permissible weight 10000 kg\n * `TRUCK_20000` - truck with\
\ permissible weight 20000 kg\n * `TRUCK_10000_L75_H35_W24_6000` - a truck\
\ with a permitted weight of no more than 10,000 kg, dimensions of 7.5 x 3.5\
\ x 2.4 meters, and a permissible axle load of 6,000 kg\n * `TRUCK_18000_L95_H40_W26_11000`\
\ - a truck with a permitted weight of no more than 18,000 kg, dimensions\
\ of 9.5 x 4.0 x 2.6 meters, and a permissible axle load of 11,000 kg\n *\
\ `TRUCK_26000_L120_H40_W26_8000` - a truck with a permitted weight of no\
\ more than 26,000 kg, dimensions of 12.0 x 4.0 x 2.6 meters, and a permissible\
\ axle load of 8000 kg\n * `TRUCK_GARBAGE_1` - truck for transporting garbage\
\ (type 1)\n * `TRUCK_GARBAGE_2` - truck for transporting garbage (type 2)\n\
\ * `TUK_TUK` - tuk-tuk\n * `BICYCLE` - bicycle\n * `PEDESTRIAN` - pedestrian\
\ \n * `PUBLIC_TRANSPORT` - public transport\n * `TELEPORT` - teleport\
\ (instant movement between points)\n\n Permissible weight is the weight\
\ of the equipped transport with cargo and driver, set by the manufacturer\
\ as the maximum allowable.\n"
type: string
enum:
- CAR
- TRUCK_1500
- TRUCK_3000
- TRUCK_5000
- TRUCK_10000
- TRUCK_20000
- TRUCK_10000_L75_H35_W24_6000
- TRUCK_18000_L95_H40_W26_11000
- TRUCK_26000_L120_H40_W26_8000
- TRUCK_GARBAGE_1
- TRUCK_GARBAGE_2
- TUK_TUK
- BICYCLE
- PEDESTRIAN
- PUBLIC_TRANSPORT
- TELEPORT
default: CAR
example: CAR
feature_lifetime:
description: Tag life time window.
type: object
additionalProperties: false
properties:
feature:
$ref: '#/components/schemas/compatibility_tag'
time_windows:
description: 'A list of time windows within which the specified tag exists.
If compatibility is affected by several features with different windows
- entities will be considered compatible within the intersection of windows.
There cannot be more than 4 intersections of the specified windows for
all tags for one performer.
'
type: array
minItems: 1
maxItems: 4
uniqueItems: true
items:
$ref: '#/components/schemas/time_window'
required:
- feature
- time_windows
feature_lifetime_list:
description: 'List of feature tag lifetime.
'
type: array
minItems: 0
maxItems: 100
default: []
uniqueItems: true
items:
$ref: '#/components/schemas/feature_lifetime'
performer_compatibilities:
description: 'Performer [compatibilities](#section/Description/Compatibilities).
'
type: object
additionalProperties: false
nullable: true
properties:
performer_features:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'Performer''s features list. Used to check whether the performer
is compatible with orders.
'
performer_features_lifetimes:
$ref: '#/components/schemas/feature_lifetime_list'
description: 'List of feature lifetime. Affects on compatibility Performer-Order.
Compatibility operates in time windows that result from the intersection
of the time windows of all specified tags.
'
transport_restrictions:
$ref: '#/components/schemas/compatibility_tag_list'
description: 'List of transport requirements. Used to check whether the
transport is compatible with the performer.
'
demand_extra_duration:
description: 'Additional time for the execution of the application by a certain
performer.
'
type: object
additionalProperties: false
properties:
demand_key:
description: The key of the ticket whose events need to increase the execution
time.
type: string
minLength: 1
maxLength: 1024
example: demand01.1
additional_duration:
description: 'Additional execution time for all events of the specified
order for all shifts of the specified performer. According to [ISO 8601
duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
'
$ref: '#/components/schemas/time_duration'
required:
- demand_key
- additional_duration
performer_limits:
description: 'The performer limitations.
'
type: object
additionalProperties: false
nullable: true
properties:
max_work_shifts:
description: Limit of the number of performer's shifts in one planning.
type: integer
format: int32
minimum: 1
maximum: 31
default: 31
example: 3
demand_extra_durations:
description: 'A list of demands for which the performer will spend more
time than indicated in the demand. Valid for the specified performer-order
pair for all performer''s shifts all demands''s events.
'
type: array
minItems: 0
maxItems: 15001
uniqueItems: true
items:
$ref: '#/components/schemas/demand_extra_duration'
performer:
description: 'Performer. Fulfills orders using transport.
'
type: object
additionalProperties: false
properties:
key:
description: Performer's key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: performer0001
shifts:
description: List of working shifts of performer.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/performer_shift'
own_transport_type:
$ref: '#/components/schemas/transport_type'
description: The type of personal transport that the performer will use
to get to his assigned work transport.
compatibilities:
$ref: '#/components/schemas/performer_compatibilities'
limits:
$ref: '#/components/schemas/performer_limits'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- shifts
transport_tariff_constraint:
description: Paid mileage is an integral part of the tariff.
type: object
additionalProperties: false
properties:
stage_length:
description: The length of the paid part of the way, in meters.
type: integer
format: int32
minimum: 1
maximum: 100000000
default: 100000000
example: 200000
cost_per_unit:
description: 'The cost within the paid part of the way, monetary unit per
meter.
'
type: number
format: double
minimum: 0.001
maximum: 10000
default: 0.001
example: 5.05
transport_tariff:
description: The tariff determines the cost of transport operation and restrictions
on mileage per shift.
type: object
additionalProperties: false
properties:
cost_per_shift:
description: Price for using the shift, monetary unit.
type: number
format: double
minimum: 0.001
maximum: 1000000
default: 0.001
example: 2000
constraints:
description: List of components of the tariff.
type: array
minItems: 1
maxItems: 100
uniqueItems: false
items:
$ref: '#/components/schemas/transport_tariff_constraint'
default:
- stage_length: 100000000
cost_per_unit: 0.001
transportation_cost:
$ref: '#/components/schemas/capacity_cost'
description: The cost of moving 1 unit of measure of cargo per 1 meter (for
each capacity field, respectively), monetary unit.
default: null
transport_shift:
description: 'Working shift of transport. Specifies the availability of transport
for scheduling. The end of the shift resets the cargo remaining in the body
after the execution of demands of the `DROP_FROM_BOX` and `PICKUP_TO_BOX`
types.
'
type: object
additionalProperties: false
properties:
key:
description: Shift key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: shift01
availability_time:
$ref: '#/components/schemas/time_window'
description: The shift time window in which the transport can move between
locations and be used by the performer in work on locations.
start_location_key:
description: 'Start location key. If the key is not set, then the transport
path starts on the first order.
'
type: string
minLength: 1
maxLength: 1024
nullable: true
default: null
example: start_location_01
finish_location_key:
description: 'Finish location key. If the key is not set, then the transport
path ends at the last order.
'
type: string
minLength: 1
maxLength: 1024
nullable: true
default: null
example: finish_location_01
tariff:
$ref: '#/components/schemas/transport_tariff'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- availability_time
box_compatibilities:
description: 'A transport box [compatibilities](#section/Description/Compatibilities).
'
type: object
additionalProperties: false
nullable: true
properties:
width:
description: Width in meters.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
height:
description: Height in meters.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 3.1
length:
description: Length in meters.
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2.1
box_features:
description: 'Box features list. Used to check whether the cargo is compatible
with the box.
'
$ref: '#/components/schemas/compatibility_tag_list'
box_limits:
description: 'Box limits.
'
type: object
additionalProperties: false
nullable: true
properties:
max_one_cargo_capacity:
$ref: '#/components/schemas/capacity'
description: Limitation on the maximum size of one cargo.
box:
description: 'A transport box capable to hold a cargo.
'
type: object
additionalProperties: false
properties:
key:
description: Unique box key used to identify the cargo placement in boxes.
type: string
minLength: 1
maxLength: 1024
example: box01
capacity:
$ref: '#/components/schemas/capacity'
description: The box capacity, which limits the maximum amount for all `capacity`
fields of *all* the cargoes.
compatibilities:
$ref: '#/components/schemas/box_compatibilities'
limits:
$ref: '#/components/schemas/box_limits'
required:
- key
transport_compatibilities:
description: 'Transport [compatibilities](#section/Description/Compatibilities).
'
type: object
additionalProperties: false
nullable: true
properties:
transport_features:
description: 'Transport features list. Used to check whether the transport
is compatible with locations and performers.
'
$ref: '#/components/schemas/compatibility_tag_list'
transport_features_lifetimes:
description: 'List of feature lifetime. Affects on compatibility Transport-Location.
Compatibility operates in time windows that result from the intersection
of the time windows of all specified tags.
'
$ref: '#/components/schemas/feature_lifetime_list'
performer_restrictions:
description: 'List of necessary requirements for the performer to use this
transport.
'
$ref: '#/components/schemas/compatibility_tag_list'
transport_limits:
description: 'Transport load limits.
'
type: object
additionalProperties: false
nullable: true
properties:
max_boxes:
description: 'Limit of the number of transports''s unique locations in one
trip. If not specified or null, number of using boxes is not limited.
The limit should not exceed the number of boxes.
'
type: integer
format: int32
nullable: true
default: null
minimum: 0
maximum: 100
example: 2
max_capacity:
$ref: '#/components/schemas/capacity'
description: 'Parameter limits overall transport load. If parameter not
specified - loading is limited only to each box. Applicable only if the
transport has more than one box. Parameter must not be less than the capacity
of any box.
'
transport:
description: 'Transport. Used by performer for relocating and cargo transfer.
'
type: object
additionalProperties: false
properties:
key:
description: Transport key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: transport001
shifts:
description: List of working shifts of transport.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/transport_shift'
transport_type:
$ref: '#/components/schemas/transport_type'
boxes:
description: A list of transport boxes that can accommodate the cargo.
type: array
minItems: 0
maxItems: 100
uniqueItems: true
default: []
items:
$ref: '#/components/schemas/box'
compatibilities:
$ref: '#/components/schemas/transport_compatibilities'
limits:
$ref: '#/components/schemas/transport_limits'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- shifts
hardlink_element_type:
description: 'Type of goal entity. It can be an order or a performer\transport
shift.
'
type: string
enum:
- ORDER
- PERFORMER_SHIFT
- TRANSPORT_SHIFT
example: ORDER
hardlink_element:
description: Assignment group element.
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/hardlink_element_type'
entity_key:
description: Key of the target entity (an order or a shift).
type: string
minLength: 1
maxLength: 1024
example: ord0001
required:
- type
- entity_key
hardlink:
description: "Assignment required to associate entities in a single group. It\
\ can consist of two or more entities. Example:\n * driver assignment to\
\ the transport (connection between the performer's shifts and the transport).\n\
\ * order assignment to the performer (link the order to a performer's shift).\n\
\ * specifying the need to perform multiple orders during a single trip (linking\
\ orders to deliver them within one trip).\n"
type: object
additionalProperties: false
properties:
key:
description: Hardlink key.
type: string
minLength: 1
maxLength: 1024
example: group01
links:
description: List of items in the assignment group.
type: array
minItems: 2
maxItems: 1000
items:
$ref: '#/components/schemas/hardlink_element'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- links
hardlink_list:
description: Assignments list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/hardlink'
plan_configuration:
description: "Name of the planning configuration.\nThe configuration determines\
\ the result goal and quality. \n[List of available](#section/Description/Planning-configuration)\
\ planning configurations."
type: string
minLength: 1
maxLength: 256
default: default
example: optimize_distance
trip_start_time_strategy:
description: "The strategy of the choosing optimal trip start time:\n * `EARLIEST_FINISH`\n\
\ * `LOWEST_COST`\n"
type: string
enum:
- EARLIEST_FINISH
- LOWEST_COST
default: EARLIEST_FINISH
example: LOWEST_COST
problem_kind:
description: 'Problem kind.
'
type: string
minLength: 1
maxLength: 256
nullable: true
default: null
example: LONG_HAUL
trip_expectations:
description: 'Expectations from the calculation result. Affect the calculation
logic.
'
type: object
additionalProperties: false
properties:
trip_start_time_strategy:
$ref: '#/components/schemas/trip_start_time_strategy'
problem_kind:
$ref: '#/components/schemas/problem_kind'
attributes:
$ref: '#/components/schemas/attributes'
transport_speed_multiplier:
description: Speed change coefficient for the specified transport type.
type: object
additionalProperties: false
properties:
transport_type:
$ref: '#/components/schemas/transport_type'
speed:
description: Average transport speed multiplier.
type: number
format: double
minimum: 0.1
maximum: 100000
example: 2.5
required:
- transport_type
- speed
transport_speed_multiplier_list:
description: Transport speed change coefficients.
type: array
minItems: 0
maxItems: 16
default: []
uniqueItems: true
items:
$ref: '#/components/schemas/transport_speed_multiplier'
capacity_multiplier:
description: Capacity change rate for the specified transport type.
type: object
additionalProperties: false
properties:
mass:
description: Mass multiplier.
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
volume:
description: Volume multiplier.
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
capacity_a:
description: Additional parameter (A) multiplier.
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
capacity_b:
description: Additional parameter (B) multiplier.
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
capacity_c:
description: Additional parameter (C) multiplier.
type: number
format: double
minimum: 0
maximum: 1000
default: 1
example: 2
transport_capacity_multiplier:
description: Capacity change rate for the specified transport type.
type: object
additionalProperties: false
properties:
transport_type:
$ref: '#/components/schemas/transport_type'
capacity:
$ref: '#/components/schemas/capacity_multiplier'
required:
- transport_type
- capacity
transport_capacity_multiplier_list:
description: 'Transport capacity change coefficients. Change the `capacity`
parameters for all boxes and `max_capacity` for the transport.
'
type: array
minItems: 0
maxItems: 16
default: []
uniqueItems: true
items:
$ref: '#/components/schemas/transport_capacity_multiplier'
trip_assumptions:
description: 'Planning assumptions. Designed to adjust the logic of planning
via mass change of input data.
'
type: object
additionalProperties: false
properties:
transport_speed_multipliers:
$ref: '#/components/schemas/transport_speed_multiplier_list'
transport_capacity_multipliers:
$ref: '#/components/schemas/transport_capacity_multiplier_list'
disable_compatibility:
description: 'Disable the accounting for capacity. If `true` is specified,
all becomes compatible with everything.
'
type: boolean
default: false
example: true
disable_capacity:
description: 'Disable the accounting for capacity. If `true` is specified,
all transports can accommodate an unlimited cargo amount.
'
type: boolean
default: false
example: true
same_order_time_window:
description: 'Use for calculation the same (specified) time window for orders
and demands. The time window is specified from the beginning of the earliest
window to the end of the latest window from all orders and demands.
'
type: boolean
default: false
example: true
expand_shift_time_window:
description: 'Expand the time window for performer and transport shifts. The
left border of the first shift extends to the left border of the specified
window, right border extends to the right border or to the beginning of
the next window for this entity. Each next shift moves the right border
to the next shift or to the right border of the specified window.
'
type: boolean
default: false
example: true
compatibility_penalty:
description: Penalty for violation of compatibility.
type: object
additionalProperties: false
properties:
tag:
$ref: '#/components/schemas/compatibility_tag'
penalty:
description: 'Penalty for violation of compatibility for the specified tag.
'
type: number
format: double
minimum: 0
maximum: 1000000
example: 2000
required:
- tag
- penalty
compatibility_penalty_list:
description: 'Penalties for violation of compatibility. When taking into account
transport-location compatibility violations, the penalty is applied for each
stop and cannot exceed the `max_penalty_cost` of the performer assigned to
the trip. Only the absence of a property is penalized; the time windows of
the life of a property cannot be violated for a fine.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 1000000
default: []
items:
$ref: '#/components/schemas/compatibility_penalty'
trip_penalties:
description: 'Planning penalties - ability to disrupt a part of the planning
business rules.
'
type: object
additionalProperties: false
properties:
compatibilities:
$ref: '#/components/schemas/compatibility_penalty_list'
max_locations_limits_penalty:
description: The maximum allowable amount of fines for violating location's
capacity limit.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 25000
default: 0
trips_settings:
description: Trip creation settings.
type: object
additionalProperties: false
properties:
configuration:
$ref: '#/components/schemas/plan_configuration'
expectations:
$ref: '#/components/schemas/trip_expectations'
assumptions:
$ref: '#/components/schemas/trip_assumptions'
penalties:
$ref: '#/components/schemas/trip_penalties'
geo_provider:
description: "Geodata provider:\n * `VRT` - geo-data and traffic jams from\
\ Veeroute, work worldwide.\n\nA specific provider may be specified for a\
\ specific region, availability depending on customer settings.\n"
type: string
default: VRT
minLength: 3
maxLength: 256
example: VRT
geo_settings:
description: 'Geodata usage settings.
'
type: object
additionalProperties: false
properties:
geo_provider:
$ref: '#/components/schemas/geo_provider'
toll_roads:
description: Use toll roads.
type: boolean
default: true
example: false
ferry_crossing:
description: Use ferry crossing.
type: boolean
default: true
example: false
traffic_jams:
description: Accounting for traffic during the route planning.
type: boolean
default: true
example: false
flight_distance:
description: Use for calculating straight line distances. If `false` is
specified, distances are calculated by roads. When this parameter is enabled,
geo-provider not used and traffic (`traffic_jams`) is automatically disabled.
type: boolean
default: false
example: true
attributes:
$ref: '#/components/schemas/attributes'
timezone:
description: Timezone.
type: integer
format: int32
minimum: -12
maximum: 12
default: 0
example: 3
calculation_settings:
description: Calculation settings.
type: object
additionalProperties: false
properties:
max_calculation_time:
description: 'Max calculation time. The countdown starts from the time when
data is uploaded to the server and calculation starts.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$
minLength: 3
maxLength: 16
default: PT20M
example: PT12M35S
max_waiting_time:
description: 'Max calculation time. The countdown starts from the time when
data is uploaded to the server.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$
minLength: 3
maxLength: 16
default: PT20M
example: PT2H
result_ttl:
description: 'Calculation result lifetime. The countdown starts from the
time when the calculation is completed.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$
minLength: 3
maxLength: 16
default: PT20M
example: PT4M30S
result_timezone:
$ref: '#/components/schemas/timezone'
description: The time zone where the calculation result is returned.
default: 0
treat_warnings_as_errors:
description: 'Treat warnings as errors and do not run calculations if at
least one entity contains invalid data.
'
type: boolean
default: false
example: true
precision:
description: 'Specifies the calculation accuracy in the decimal point sequence
number. It equals 3 by default, so the accuracy is 0.001.
'
type: integer
format: int32
minimum: 0
maximum: 6
default: 3
example: 1
extension_settings:
description: Settings for using external extensions to adjust calculations.
type: object
additionalProperties: false
properties:
enable_extension:
description: Use a third-party calculation adjuster.
type: boolean
default: false
example: true
extension_url:
description: The address of an external service implementing the Universal
Extension API.
type: string
nullable: true
default: null
example: https://universal-extension.veeroute.cloud
plan_settings:
description: Planning settings.
type: object
additionalProperties: false
properties:
trips_settings:
$ref: '#/components/schemas/trips_settings'
geo_settings:
$ref: '#/components/schemas/geo_settings'
calculation_settings:
$ref: '#/components/schemas/calculation_settings'
extension_settings:
$ref: '#/components/schemas/extension_settings'
routing_matrix_waypoint:
description: 'Routing matrix waypoint.
'
type: object
additionalProperties: false
properties:
geopoint:
$ref: '#/components/schemas/geopoint'
name:
description: 'Name of the point. Can be used as an identifier to match the
task and the calculation result.
'
type: string
nullable: true
default: null
minLength: 0
maxLength: 1024
example: waypoint_1
required:
- geopoint
routing_matrix_line:
description: Values line in the route distances matrix (in meters) or in the
route durations matrix (in seconds), between points.
type: array
minItems: 2
maxItems: 15001
uniqueItems: false
items:
description: 'Route distance (in meters) or duration (in seconds) between
locations. A negative value (-1) means that it is not possible to drive
between the specified locations.
'
type: integer
format: int64
minimum: -1
maximum: 10000000
example: 1500
routing_matrix:
description: 'Routing matrix. Contains durations and distances between points.
'
type: object
additionalProperties: false
properties:
waypoints:
description: Array of geographical points with distances and times calculated
between them.
type: array
minItems: 2
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/routing_matrix_waypoint'
distances:
description: 'Routes length between two neighbors locations, in meters. The
values in the array are ordered according to the elements order in the
`waypoints` parameter. Each matrix row is an array of distances from the
desired point to every other point.
'
type: array
minItems: 2
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/routing_matrix_line'
durations:
description: 'Array of route durations between two neighbors locations,
in seconds. The values in the array are ordered according to the elements
order in the `waypoints` parameter. Each matrix row is an array of distances
from the desired point to every other point.
'
type: array
minItems: 2
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/routing_matrix_line'
required:
- waypoints
- distances
- durations
routing_transport_matrix:
description: Time-distance matrix for a specific transport type.
type: object
additionalProperties: false
properties:
transport_type:
$ref: '#/components/schemas/transport_type'
matrix:
$ref: '#/components/schemas/routing_matrix'
required:
- transport_type
- matrix
routing_transport_matrix_list:
description: 'List of matrices of times and distances for each type of transport
that are indicated in the data.
The matrix should describe all locations for each type of transport from the
data.
When specifying an external routing matrix `external_routing`, the `geo_settings`
parameters are not taken into account.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 16
default: []
items:
$ref: '#/components/schemas/routing_transport_matrix'
dataset_name:
description: 'The name of the dataset.
A technical field that does not affect calculation.
'
type: string
minLength: 0
maxLength: 512
default: ''
example: custom_dataset_one
plan_task:
description: Task for planning
type: object
additionalProperties: false
properties:
locations:
description: List of locations used for orders and shifts.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/location'
orders:
description: List of orders that need to be completed.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performers:
description: 'Available performers list. The performer fulfills orders using
transport.
'
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/performer'
transports:
description: 'Available transports list. Transport is used by the trip performer
to fulfill orders.
'
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/transport'
hardlinks:
$ref: '#/components/schemas/hardlink_list'
plan_settings:
$ref: '#/components/schemas/plan_settings'
external_routing:
$ref: '#/components/schemas/routing_transport_matrix_list'
dataset_name:
$ref: '#/components/schemas/dataset_name'
required:
- locations
- orders
- performers
- transports
process_code:
description: 'Unique process identifier. One is created per process, the same
for different requests for the same process.
'
type: string
format: uuid
example: 11111111-2222-3333-4444-555555555555
request_code:
description: 'Unique identifier of the request. A new one is created for each
request.
'
type: string
format: uuid
example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
user_username:
description: Unique username for login.
type: string
pattern: \w+
minLength: 2
maxLength: 256
example: username_for_login
company_key:
description: Unique company key.
type: string
pattern: \w+
minLength: 3
maxLength: 256
example: smart_company
service:
description: Service name.
type: string
enum:
- UNIVERSAL
- ROUTING
- ACCOUNT
- ADMIN
- STUDIO
- MONITOR
- PACKER
- AGRO
example: UNIVERSAL
operation:
description: Operation (request) name.
type: string
pattern: \w+
minLength: 3
maxLength: 256
example: run_plan_calculation
tracedata:
description: Data for request tracing.
type: object
additionalProperties: false
properties:
process_code:
$ref: '#/components/schemas/process_code'
request_code:
$ref: '#/components/schemas/request_code'
username:
$ref: '#/components/schemas/user_username'
company:
$ref: '#/components/schemas/company_key'
service:
$ref: '#/components/schemas/service'
operation:
$ref: '#/components/schemas/operation'
env:
description: Environment identifier.
type: string
pattern: \w+
minLength: 2
maxLength: 256
example: edge7
pod:
description: Pod identifier.
type: string
pattern: \w+
minLength: 2
maxLength: 256
example: 11111111-2222-3333-4444-555555555555
time:
description: Date and time service method run in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6)
format.
type: string
format: date-time
example: '2025-03-21T09:30:00+03:00'
required:
- process_code
- request_code
- username
- company
- service
- operation
- env
- pod
- time
calculation_async_result:
description: The result of starting an asynchronous calculation.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
process_code:
$ref: '#/components/schemas/process_code'
description: Process code - calculation identifier.
required:
- tracedata
- process_code
schema_error:
description: Data error by schema.
type: object
additionalProperties: false
properties:
entity:
description: Target entity identifier.
type: string
nullable: true
maxLength: 1024
example: order_0001
message:
description: Error message.
type: string
example: bad input data
required:
- entity
- message
schema_error_list:
description: List of syntax errors - data does not match the schema.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/schema_error'
entity_error_type:
description: "错误类型:\n * `INCONSISTENT_REFERENCE` - 错误的参考键\n * `UNIQUE_IDS_VIOLATION`\
\ - 所有键必须是唯一的\n * `INVALID_ROUTING_MATRIX` - 错误的路由矩阵维度\n * `INVALID_GEO_PROVIDER`\
\ - 错误的地理提供商\n * `COMPATIBILITY_CARGO_BOX` - 没有货物与任何盒子兼容\n * `COMPATIBILITY_TRANSPORT_PERFORMER`\
\ - 没有传输与任何表演者兼容\n * `COMPATIBILITY_TRANSPORT_LOCATION` - 没有任何交通工具与任何位置兼容\n\
\ * `COMPATIBILITY_ORDER_PERFORMER` - 没有订单与任何表演者兼容\n * `INCONSISTENT_HARDLINK`\
\ - 本质密钥必须仅存在于一个硬链接中\n * `PLANNING_HORIZON_EXCEEDED` - 超出规划范围(数据集中最早和最新时间戳之间的差异)\n\
\ * `MEANINGLESS_RESTRICTIONS` - 指定的限制没有意义\n * `TOO_MANY_WARNINGS` - 警告数量大于\
\ 15001\n"
type: string
enum:
- INCONSISTENT_REFERENCE
- UNIQUE_IDS_VIOLATION
- INVALID_ROUTING_MATRIX
- INVALID_GEO_PROVIDER
- COMPATIBILITY_CARGO_BOX
- COMPATIBILITY_TRANSPORT_PERFORMER
- COMPATIBILITY_TRANSPORT_LOCATION
- COMPATIBILITY_ORDER_PERFORMER
- INCONSISTENT_HARDLINK
- PLANNING_HORIZON_EXCEEDED
- MEANINGLESS_RESTRICTIONS
- TOO_MANY_WARNINGS
example: INCONSISTENT_REFERENCE
entity_type:
description: Entity type.
type: string
enum:
- TASK
- SETTINGS
- ORDER
- ORDER_LINK
- PERFORMER
- PERFORMER_LINK
- TRANSPORT
- TRANSPORT_LINK
- HARDLINK
- HARDLINK_LINK
- LOCATION
- LOCATION_LINK
- BOX
- BOX_LINK
- TRIP
- TRIP_LINK
- CARGO
- CARGO_LINK
- DEMAND
- DEMAND_LINK
- EVENT
- EVENT_LINK
- PERFORMER_SHIFT
- PERFORMER_SHIFT_LINK
- TRANSPORT_SHIFT
- TRANSPORT_SHIFT_LINK
- FACT
- FACT_LINK
example: ORDER
entity_path:
description: 'The description of the entity and the path to it.
'
type: object
additionalProperties: false
nullable: true
properties:
entity_key:
description: Target entity key.
type: string
nullable: true
maxLength: 1024
example: order_0001
entity_type:
$ref: '#/components/schemas/entity_type'
child_entity:
$ref: '#/components/schemas/entity_path'
required:
- entity_key
- entity_type
entity_error:
description: Description of the error in the input data.
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/entity_error_type'
info:
description: Information about error.
type: string
nullable: true
minLength: 0
maxLength: 2048
example: entity error
entities:
description: List of entities related to error.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/entity_path'
required:
- type
- entities
entity_error_list:
description: 'List with fatal errors.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/entity_error'
entity_warning_type:
description: "警告类型:\n * `NO_AVAILABLE_TRANSPORT` - 订单无法完成,因为没有可用的(按班次限制)运输方式\n\
\ * `NO_AVAILABLE_PERFORMER` - 订单无法完成,因为没有可用的(按班次限制)执行者\n * `NO_COMPATIBLE_TRANSPORT`\
\ - 订单无法完成,因为没有兼容的(就容量和/或兼容性标签而言)运输方式\n * `NO_COMPATIBLE_PERFORMER` - 订单无法完成,因为没有兼容的(按兼容性标签)执行者\n\
\ * `PICKUP_AND_DROP_VIOLATION` - 订单中的每件货物必须有且只有一次装载和一次卸载(`PICKUP_TO_BOX`\
\ 和 `DROP_FROM_BOX` 订单除外)\n * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER`\
\ - 订单中的每件货物,装载必须在之前进行卸载(`precedence_in_order`)\n * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP`\
\ - 指定了相冲突的订单优先顺序要求(`precedence_in_trip`)\n * `VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER`\
\ - 行程中的订单优先顺序要求(`precedence_in_trip`)和订单中的订单优先顺序要求(`precedence_in_order`)相互矛盾\n\
\ * `TIME_WINDOW_VIOLATION` - 时间窗口的开始时间晚于窗口的结束时间或时间窗口超出允许的最大值\n * `DURATION_VIOLATION`\
\ - 持续时间与允许的间隔不符\n * `ORDER_WINDOWS_INTERSECTION_VIOLATION` - 软窗口不应超出硬窗口的边界\n\
\ * `PERFORMER_SHIFTS_INTERSECTION_VIOLATION` - 表演者工作班次的时间范围必须不重叠,下一个窗口的开始不能等于前一个窗口的结束\n\
\ * `TRANSPORT_SHIFTS_INTERSECTION_VIOLATION` - 运输工作班次的时间范围不应重叠,下一个窗口的开始不能等于前一个窗口的结束\n\
\ * `LOCATION_WINDOWS_INTERSECTION_VIOLATION` - 一个位置的工作窗口的时间范围不应相交,下一个窗口的开始不能等于前一个窗口的结束\n\
\ * `INVALID_LOCATION_DURATIONS` - 位置的工作窗口小于 `到达 + 出发` 时间的总和\n * `NO_TRANSPORT_BOXES`\
\ - 如果有货物订单,则运输必须至少有一个箱子\n * `MAX_CAPACITY_VIOLATION` - `max_capacity` 限制超过所有箱子的总容量或仅为一个箱子设置或小于某些箱子的容量\n\
\ * `MAX_BOXES_VIOLATION` - 限制 `max_boxes`大于或等于箱子总数或为一个箱子指定或等于零\n *`TOO_MANY_CARGOS_FOR_DROP_VIOLATION`\
\ - `DROP` / `DROP_FROM_BOX` 类型的订单的装载数量不得超过一个\n *`EMPTY_CARGOES_LIST` - `DROP`\
\ / `DROP_FROM_BOX` / `PICKUP` / `PICKUP_TO_BOX` 类型的订单的装载列表为空\n *`CARGO_WORK_VIOLATION`\
\ - 对于 `WORK` 订单,货物清单必须为空\n *`GEODATA_TIME_WINDOW_VIOLATION` - 计划范围超出最大可用值\n\
\ *`SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE` - 艺术家变更的工作窗口 `working_window`\
\ 不完全位于可用性窗口 `availability_window` 内\n * `DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW`\
\ - 事件的持续时间不符合硬时间窗口\n * `DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW` - 事件的持续时间不符合软时间窗口\n\
\ * `EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW` - 需求执行的额外时间不符合软时间窗口\n\
\ * `MAX_CALCULATION_TIME_VIOLATION` - 已超出允许的最大计算时间\n * `MAX_WAITING_TIME_VIOLATION`\
\ - 已超出允许的最大等待时间\n * `INVALID_HARDLINK` - 无法分配具有 `WORK` 类型需求的订单进行运输\n *\
\ `CARGO_BOX_VIOLATION` - 对于除 `DROP_FROM_BOX` 之外的所有类型的请求,货物所在箱子的键必须为空\n *\
\ `CARGO_MULTIBOX_VIOLATION` - 对于类型为 `DROP_FROM_BOX` 的订单,指示的货物位于不同车辆的箱子中\n\
\ * `CARGO_CAPACITY_VIOLATION` - 机上指定的货物超出了其所在箱子的大小\n * `CARGO_ORDER_VIOLATION`\
\ - 订单中指定的货物不在订单中\n * `FEATURE_LIFETIME_VIOLATION` - 特征时间窗口相互相交或用于更改执行者或运输的工作窗口\
\ `working_window` 与特征时间窗口不相交\n * `QUOTA_EXCEEDED` - 超出服务配额\n * `MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED`\
\ - 生成的解决方案不满足 `max_locations_limits_penalty` 要求\n * `REMOVED_ITEMS_NOT_EMPTY`\
\ - 在数据验证过程中,实体被从源数据集中删除,删除的实体列表位于 `removed_items' 对象中\n"
type: string
enum:
- NO_AVAILABLE_TRANSPORT
- NO_AVAILABLE_PERFORMER
- NO_COMPATIBLE_TRANSPORT
- NO_COMPATIBLE_PERFORMER
- PICKUP_AND_DROP_VIOLATION
- PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER
- PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP
- VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER
- TIME_WINDOW_VIOLATION
- DURATION_VIOLATION
- ORDER_WINDOWS_INTERSECTION_VIOLATION
- PERFORMER_SHIFTS_INTERSECTION_VIOLATION
- TRANSPORT_SHIFTS_INTERSECTION_VIOLATION
- LOCATION_WINDOWS_INTERSECTION_VIOLATION
- INVALID_LOCATION_DURATIONS
- NO_TRANSPORT_BOXES
- MAX_CAPACITY_VIOLATION
- MAX_BOXES_VIOLATION
- TOO_MANY_CARGOS_FOR_DROP_VIOLATION
- EMPTY_CARGOES_LIST
- CARGO_WORK_VIOLATION
- GEODATA_TIME_WINDOW_VIOLATION
- SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE
- DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW
- DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW
- EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW
- MAX_CALCULATION_TIME_VIOLATION
- MAX_WAITING_TIME_VIOLATION
- INVALID_HARDLINK
- CARGO_BOX_VIOLATION
- CARGO_MULTIBOX_VIOLATION
- CARGO_CAPACITY_VIOLATION
- CARGO_ORDER_VIOLATION
- FEATURE_LIFETIME_VIOLATION
- QUOTA_EXCEEDED
- MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED
- REMOVED_ITEMS_NOT_EMPTY
example: TIME_WINDOW_VIOLATION
entity_warning:
description: Description of the warning of the input data.
type: object
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/entity_warning_type'
info:
description: Information about warning.
type: string
nullable: true
minLength: 0
maxLength: 2048
example: entity warning
entities:
description: List of entities related to warning.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/entity_path'
required:
- type
- entities
entity_warning_list:
description: Warning list.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/entity_warning'
custom_400_with_errors_and_warnings:
description: 400 Error details.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
description: Error message.
type: string
nullable: true
example: bad task data
schema_errors:
$ref: '#/components/schemas/schema_error_list'
logical_errors:
$ref: '#/components/schemas/entity_error_list'
warnings:
$ref: '#/components/schemas/entity_warning_list'
required:
- tracedata
general_402:
description: 402 Error details.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
description: Error details.
type: string
nullable: true
example: Payment Required
required:
- tracedata
general_404:
description: 404 Error details.
type: object
additionalProperties: false
properties:
resource_key:
description: Resource identifier.
type: string
nullable: true
default: null
example: resource_key
detail:
description: Resource details.
type: object
additionalProperties: false
nullable: true
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
required:
- tracedata
general_429:
description: 429 Error details.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
description: Error details.
type: string
nullable: true
example: Too many requests
required:
- tracedata
general_500:
description: 500 Error details.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
description: Error details.
type: string
nullable: true
example: Internal Server Error
required:
- tracedata
assigned_performer:
description: Performer's shift assigned to the specified time (`shift_time`).
type: object
additionalProperties: false
properties:
performer_key:
description: Performer's key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: performer0001
shift_key:
description: Performer's shift key.
type: string
minLength: 1
maxLength: 1024
example: performer0001_shift01
shift_time:
$ref: '#/components/schemas/time_window'
required:
- performer_key
- shift_key
- shift_time
assigned_transport:
description: Transport's shift assigned to the specified time (`shift_time`).
type: object
additionalProperties: false
properties:
transport_key:
description: Transport key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: transport001
shift_key:
description: Transport's shift key.
type: string
minLength: 1
maxLength: 1024
example: performer01
shift_time:
$ref: '#/components/schemas/time_window'
required:
- transport_key
- shift_key
- shift_time
trip_state_flag:
description: '[Flag of state](#section/Description/Trip-model) inside trip.
'
type: string
enum:
- AROUND_LOCATION
- INSIDE_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_WORKING_WINDOW
- INSIDE_EVENT_HARD_WINDOW
- INSIDE_EVENT_SOFT_WINDOW
- ON_DEMAND
- WAITING
- RELOCATING
- BREAK
- REST
- DEPARTURE
- ARRIVAL
- DURING_ROUNDTRIP
example: RELOCATING
cargo_action_type:
description: "Types of actions with cargo:\n * `ADD` - moving cargo into the\
\ box\n * `REMOVE` - moving cargo from the box\n"
type: string
enum:
- ADD
- REMOVE
example: ADD
cargo_action:
description: Action with a cargo.
type: object
additionalProperties: false
properties:
box_key:
description: Box key.
type: string
minLength: 1
maxLength: 1024
example: box01
cargo_key:
description: Cargo key.
type: string
minLength: 1
maxLength: 1024
example: cargo01
cargo_action_type:
$ref: '#/components/schemas/cargo_action_type'
required:
- box_key
- cargo_key
- cargo_action_type
cargo_action_list:
description: List of actions with cargo in transport at the beginning of the
state.
type: array
uniqueItems: false
minItems: 0
maxItems: 1000
items:
$ref: '#/components/schemas/cargo_action'
trip_state:
description: Trip state.
type: object
additionalProperties: false
properties:
time:
description: Start time according to the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2025-03-21T09:30:00+03:00'
order_key:
description: Key of the order with which an action is taken.
type: string
nullable: true
default: null
minLength: 1
maxLength: 1024
example: order01
demand_key:
description: Key of the demand with which an action is taken.
type: string
nullable: true
default: null
minLength: 1
maxLength: 1024
example: demand01.1
event_key:
description: Key of the event at which an action is taken.
type: string
nullable: true
default: null
minLength: 1
maxLength: 1024
example: event01
location_key:
description: Key of the location at which an action is taken.
type: string
nullable: true
default: null
minLength: 1
maxLength: 1024
example: location_01
flags:
description: "List of flags, describing current state. \n \nValues of flags\
\ responsible for geographic location (there can be several flags at the\
\ same time):\n * `AROUND_LOCATION` - the performer is near the location\
\ - in the process of parking or leaving it.\n * `INSIDE_LOCATION` -\
\ the performer is at the location.\n\nValues of flags responsible for\
\ being in time windows (there can be several flags at the same time):\n\
\ * `INSIDE_WORKING_WINDOW` - the performer is inside the working time\
\ window.\n * `INSIDE_LOCATION_WINDOW` - the performer is inside the\
\ working time of the location.\n * `INSIDE_EVENT_HARD_WINDOW` - the\
\ performer is inside the hard time window.\n * `INSIDE_EVENT_SOFT_WINDOW`\
\ - the performer is inside the soft time window.\n\nValues of flags responsible\
\ for actions (there can be only one flag at a time):\n * `ON_DEMAND`\
\ - the performer has started working on the request.\n * `WAITING` -\
\ the performer has started waiting.\n * `RELOCATING` - the performer\
\ has started moving to the next stop.\n * `BREAK` - the performer has\
\ started a break.\n * `REST` - the performer has started a long rest.\n\
\ * `ARRIVAL` - the performer has started parking.\n * `DEPARTURE` -\
\ the performer has finished leaving the parking lot.\n\nThe values of\
\ the flags responsible for the logical state:\n * `DURING_ROUNDTRIP`\
\ - the performer is making a roundtrip.\n"
type: array
uniqueItems: true
minItems: 0
maxItems: 9
items:
$ref: '#/components/schemas/trip_state_flag'
cargo_actions:
$ref: '#/components/schemas/cargo_action_list'
distance:
description: Cumulative distance from the start of the flight, in meters.
type: integer
format: int32
default: 0
minimum: 0
maximum: 4000000000
example: 5200
cost:
description: Cumulative cost calculated based on the performer's and transport
tariffs.
type: number
format: double
minimum: 0
maximum: 10000000000
default: 0
example: 1231.1
reward:
description: Cumulative reward for orders fulfillment.
type: number
format: double
minimum: 0
maximum: 10000000000
default: 0
example: 2343.3
attributes:
$ref: '#/components/schemas/attributes'
required:
- time
- flags
trip_state_list:
description: List of performer's states.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip_state'
trip_waitlist:
description: 'List of order keys assigned to the performer, but not scheduled
for a specific time and not taken into account in the transport load.
'
type: array
minItems: 0
maxItems: 15001
uniqueItems: true
items:
description: Order key.
type: string
minLength: 1
maxLength: 1024
example:
- order02
trip:
description: 'A trip is a set of works planned to be performed by a specific
performer on a specific transport, expressed through a [change in the states](#section/Description/Trip-model)
of the performer.
'
type: object
additionalProperties: false
properties:
key:
description: Unique trip identifier.
type: string
minLength: 1
maxLength: 1024
example: trip-0000-9999
performer:
$ref: '#/components/schemas/assigned_performer'
transport:
$ref: '#/components/schemas/assigned_transport'
states:
$ref: '#/components/schemas/trip_state_list'
waitlist:
$ref: '#/components/schemas/trip_waitlist'
name:
$ref: '#/components/schemas/name'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- performer
- transport
- states
trip_list:
description: 'Trip list. A trip is a set of works planned to be performed by
a specific performer on a specific transport, expressed through a [change
in the states](#section/Description/Trip-model) of the performer.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip'
measurements:
description: 'Measurements of times and distances for work on location, individual
trips and planning in general.
'
type: object
additionalProperties: false
properties:
time_window:
$ref: '#/components/schemas/time_window'
driving_time:
$ref: '#/components/schemas/time_duration'
waiting_time:
$ref: '#/components/schemas/time_duration'
working_time:
$ref: '#/components/schemas/time_duration'
break_time:
$ref: '#/components/schemas/time_duration'
rest_time:
$ref: '#/components/schemas/time_duration'
arriving_time:
$ref: '#/components/schemas/time_duration'
departure_time:
$ref: '#/components/schemas/time_duration'
total_time:
$ref: '#/components/schemas/time_duration'
distance:
description: Distance in meters.
type: integer
format: int32
minimum: 0
maximum: 4000000000
example: 5200
required:
- time_window
- driving_time
- waiting_time
- working_time
- break_time
- rest_time
- arriving_time
- departure_time
- total_time
- distance
capacity_statistics_sum:
description: Statistics on capacity characteristics.
type: object
additionalProperties: false
properties:
mass:
description: Total weight in kilograms.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 105500
volume:
description: Total volume in cubic meters.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 220034
capacity_a:
description: Amount for additional parameter (A) for measuring loads in
alternative units of measurement.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 100000
capacity_b:
description: Amount for additional parameter (B) for measuring loads in
alternative units of measurement.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 200000
capacity_c:
description: Amount for additional parameter (C) for measuring loads in
alternative units of measurement.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 300000
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
capacity_statistics_ratio:
description: Statistics on capacity characteristics (ratio). It may be more
than one.
type: object
additionalProperties: false
properties:
mass:
description: Loading by mass, in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1000
example: 0.5
volume:
description: Loading by volume, in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1000
example: 0.1
capacity_a:
description: Loading by additional parameter (A), in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1000
example: 0.7
capacity_b:
description: Loading by additional parameter (B), in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1000
example: 0.8
capacity_c:
description: Loading by additional parameter (C), in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1000
example: 0.9
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
capacity_statistics_load:
description: Statistics on capacity characteristics (ratio). Cannot be greater
than one.
type: object
additionalProperties: false
properties:
mass:
description: Loading by mass, in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1
example: 0.5
volume:
description: Loading by volume, in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1
example: 0.1
capacity_a:
description: Loading by additional parameter (A), in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1
example: 0.7
capacity_b:
description: Loading by additional parameter (B), in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1
example: 0.8
capacity_c:
description: Loading by additional parameter (C), in fractions of a unit.
type: number
format: double
minimum: 0
maximum: 1
example: 0.9
required:
- mass
- volume
- capacity_a
- capacity_b
- capacity_c
general_statistics:
description: Summary statistics for one or a set of trips.
type: object
additionalProperties: false
properties:
cost:
description: 'Total cost calculated based on the performer''s and transport
tariffs.
'
type: number
format: double
minimum: 0
maximum: 10000000000
example: 1231.1
reward:
description: The total reward for orders fulfillment.
type: number
format: double
minimum: 0
maximum: 10000000000
example: 2343.3
profit:
description: 'The total profit is equal to the difference between the total
reward (`reward`) and cost (`cost`).
'
type: number
format: double
minimum: -10000000000
maximum: 10000000000
example: 1231.1
measurements:
$ref: '#/components/schemas/measurements'
description: "Measurements of times and distances for aggregate and individual\
\ trips:\n\n * `time_window` - the start time of the first trip and the\
\ end time of the last, if there are no trips, the time of the left border\
\ of the planning horizon is returned, while the from \\ to fields have\
\ the same value\n * `driving_time` - duration of driving time\n * `waiting_time`\
\ - total waiting time for all locations\n * `working_time` - total time\
\ of work execution at all locations included in the trip\n * `break_time`\
\ - total break time for all locations\n * `rest_time` - total rest time\
\ for all locations\n * `arriving_time` - total time to drive / park\
\ at locations\n * `departure_time` - total time for departure from locations\n\
\ * `total_time` - total time, composed of `driving_time` + `waiting_time`\
\ + `working_time` + `break_time` + `rest_time` + `arriving_time` + `departure_time`\n\
\ * `distance` - the total length of the roundtrip/trip/set of trips,\
\ in meters\n"
trips_count:
description: The total number of planned trips.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 250
performers_count:
description: The total number of performers involved in orders fulfillment.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 157
orders_count:
description: The total number of planned and assigned orders.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1700
plan_orders_count:
description: The total number of planned orders.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1003
waitlist_orders_count:
description: The total number of assigned orders.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 697
stops_count:
description: The total number of stops (non-unique locations).
type: integer
format: int32
minimum: 0
maximum: 15001000
example: 87
locations_count:
description: The total number of unique locations within one trip.
type: integer
format: int32
minimum: 0
maximum: 15001000
example: 45
cargo_capacity_sum:
$ref: '#/components/schemas/capacity_statistics_sum'
description: Total additive measures of the transported cargo.
cargo_capacity_ratio:
$ref: '#/components/schemas/capacity_statistics_ratio'
description: 'The ratio of the total additive measures of the transported
cargo to the total capacity of the boxes. In fractions of a unit. It may
be more than one.
'
max_transport_load:
$ref: '#/components/schemas/capacity_statistics_load'
description: 'The ratio of the maximum load of boxes to the total capacity
of boxes. In fractions of a unit. Cannot be greater than one.
'
average_speed:
description: Average speed is the ratio of the total distance to the total
time of movement, km/h.
type: number
format: double
minimum: 0
example: 43.1
round_trips_count:
description: Number of [roundtrips](#section/Description/Roundtrips) within
a trip.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 2
average_roundtrip_distance:
description: Average mileage per roundtrip is the ratio of the total mileage
per trip to the number of roundtrips, in meters.
type: number
format: double
minimum: 0
example: 23.4
average_roundtrip_time:
$ref: '#/components/schemas/time_duration'
description: Average roundtrip time is the ratio of the total time to the
number of roundtrips.
attributes:
$ref: '#/components/schemas/attributes'
required:
- cost
- reward
- profit
- measurements
- trips_count
- performers_count
- orders_count
- plan_orders_count
- waitlist_orders_count
- stops_count
- locations_count
- cargo_capacity_sum
- cargo_capacity_ratio
- max_transport_load
- average_speed
- round_trips_count
- average_roundtrip_distance
- average_roundtrip_time
transport_load:
description: Total transport load.
type: object
additionalProperties: false
properties:
count:
description: Number of cargos.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1460
capacity:
$ref: '#/components/schemas/capacity_statistics_sum'
required:
- count
- capacity
load_statistics:
description: 'Statistics for a transport load.
'
type: object
additionalProperties: false
properties:
total_load:
$ref: '#/components/schemas/transport_load'
description: Total transport load for the entire trip time.
max_load:
$ref: '#/components/schemas/transport_load'
description: Maximum transport load during the entire trip (for each dimension).
max_transfer_load:
$ref: '#/components/schemas/transport_load'
description: Maximum transport load during the driving (for each dimension).
required:
- total_load
- max_load
- max_transfer_load
stop_demand:
description: An demand made for a specific stop.
type: object
additionalProperties: false
properties:
demand_key:
description: Demand key.
type: string
minLength: 1
maxLength: 1024
example: demand_key_01
event_key:
description: Event key.
type: string
minLength: 1
maxLength: 1024
example: event_key_01
demand_time_window:
$ref: '#/components/schemas/time_window'
description: Time window for completing the demand.
required:
- demand_key
- event_key
- demand_time_window
stop_statistics:
description: 'Statistics for a specific stop during a trip.
'
type: object
additionalProperties: false
properties:
location_key:
description: Location key for stop.
type: string
minLength: 1
maxLength: 1024
example: location_01
stop_demands:
description: List of orders completed at this stop.
type: array
minItems: 0
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/stop_demand'
stop_time_window:
$ref: '#/components/schemas/time_window'
description: 'Stop time window - from the beginning of the parking lot to
the complete departure from the location. The window duration is `waiting_time`
+ `working_time` + `break_time` + `rest_time` + `arriving_time` + `departure_time`.
'
measurements:
$ref: '#/components/schemas/measurements'
description: "Measurements of times and distances for work on location:\n\
\n * `time_window` - the time window from the start of movement to the\
\ stop until the end of the departure from the stop\n * `driving_time`\
\ - driving time from the previous stop to the current location\n * `waiting_time`\
\ - the duration of waiting for the execution of work at the location\n\
\ * `working_time` - the time spent on the direct execution of work at\
\ the location\n * `break_time` - duration of the performer's break\n\
\ * `rest_time` - duration of rest for the performer\n * `arriving_time`\
\ - the time spent on the entrance/parking at the location\n * `departure_time`\
\ - the time taken to leave the location\n * `total_time` - total time\
\ for a stop, composed of `driving_time` + `waiting_time` + `working_time`\
\ + `break_time` + `rest_time` + `arriving_time` + `departure_time`\n\
\ * `distance` - the distance from the previous stop to the current location\n"
upload:
$ref: '#/components/schemas/transport_load'
description: Loading to the transport at this stop.
download:
$ref: '#/components/schemas/transport_load'
description: Unloading from the transport at this stop.
max_load:
$ref: '#/components/schemas/transport_load'
description: Maximum load of the transport in the process of loading/unloading
at a stop.
arrival_load:
$ref: '#/components/schemas/transport_load'
description: Transport loading at the time of arrival at this stop.
departure_load:
$ref: '#/components/schemas/transport_load'
description: Transport loading at the moment of departure from this stop.
required:
- location_key
- stop_demands
- stop_time_window
- measurements
- upload
- download
- max_load
- arrival_load
- departure_load
stop_statistics_list:
description: Statistics per stop during the trip
type: array
minItems: 0
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/stop_statistics'
roundtrip_statistics:
description: 'Statistics for roundtrip.
'
type: object
additionalProperties: false
properties:
roundtrip_key:
description: Roundtrip key.
type: string
minLength: 1
maxLength: 1024
example: trip_01_round_02
general_statistics:
$ref: '#/components/schemas/general_statistics'
description: General statistics for roundtrip.
required:
- roundtrip_key
- general_statistics
roundtrip_statistics_list:
description: Statistics per roundtrip during the trip
type: array
minItems: 0
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/roundtrip_statistics'
trip_statistics:
description: 'Statistics for a specific trip.
'
type: object
additionalProperties: false
properties:
trip_key:
description: Trip key, unique identifier
type: string
minLength: 1
maxLength: 1024
example: trip01
general_statistics:
$ref: '#/components/schemas/general_statistics'
description: General statistics for trip.
load_statistics:
$ref: '#/components/schemas/load_statistics'
stop_statistics:
$ref: '#/components/schemas/stop_statistics_list'
roundtrip_statistics:
$ref: '#/components/schemas/roundtrip_statistics_list'
attributes:
$ref: '#/components/schemas/attributes'
required:
- trip_key
- general_statistics
- load_statistics
- stop_statistics
- roundtrip_statistics
trip_statistics_list:
description: 'List of statistics for each scheduled trip separately.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip_statistics'
location_limit_statistics:
description: 'Statistics on the implementation of location capacity limits within
one time window.
'
type: object
additionalProperties: false
properties:
location_limit_key:
description: Location limit key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: location_limit_constraint_01
cargos_statistics:
$ref: '#/components/schemas/location_cargos_limit'
description: For time window - the amount of measures of cargos moved and
the amount of fines for violating restrictions on the movement of cargos.
transports_statistics:
$ref: '#/components/schemas/location_transports_limit'
description: For time window - the number of transports serviced on average
during a specified time window and the amount of fines for violating transport
service restrictions.
location_limit_penalty:
description: The amount of fines for violating the location's capacity within
the limit.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 25000
required:
- location_limit_key
- location_limit_penalty
- cargos_statistics
- transports_statistics
location_statistics:
description: 'Statistics for a specific trip.
'
type: object
additionalProperties: false
nullable: true
properties:
location_key:
description: Location key.
type: string
minLength: 1
maxLength: 1024
example: location_01
location_limits_penalty:
description: Amount of fines for violating location's capacity limit.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 25000
total_cargos_statistics:
$ref: '#/components/schemas/location_cargos_limit'
description: For location - The amount of measures of cargos moved and the
amount of fines for violating restrictions on the movement of cargos.
total_transports_statistics:
$ref: '#/components/schemas/location_transports_limit'
description: For location - the number of transports serviced on average
during a specified time window and the amount of fines for violating transport
service restrictions.
limits_statistics:
description: Location capacity limit statistics.
type: array
uniqueItems: false
minItems: 0
maxItems: 100
items:
$ref: '#/components/schemas/location_limit_statistics'
required:
- location_key
- location_limits_penalty
- total_cargos_statistics
- total_transports_statistics
- limits_statistics
location_statistics_list:
description: Statistics on the loading of locations for which bandwidth restrictions
have been set.
type: array
minItems: 0
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/location_statistics'
task_statistics:
description: 'General statistics on input data.
'
type: object
additionalProperties: false
nullable: true
properties:
planning_horizon:
$ref: '#/components/schemas/time_window'
description: "Planning horizon is a time window where:\n * `from` - the\
\ left border of the time windows of all entities from the input data\n\
\ * `to` - the right border of the time windows of all entities from\
\ the input data\n"
required:
- planning_horizon
time_window_violation_detail:
description: Time window violation detail information.
type: object
additionalProperties: false
properties:
demand_keys:
description: List of object's keys.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
description: Demand's key.
type: string
minLength: 1
maxLength: 1024
example:
- obj1
count:
description: The total number of demands.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1700
required:
- demand_keys
- count
time_window_violations:
description: 'Statistics of time window violation.
'
type: object
additionalProperties: false
properties:
before:
$ref: '#/components/schemas/time_window_violation_detail'
description: Count and order's keys, what planned before permitted time
window.
after:
$ref: '#/components/schemas/time_window_violation_detail'
description: Count and order's keys, what planned after permitted time window.
required:
- before
- after
quality:
description: 'Quality metrics.
'
type: object
additionalProperties: false
nullable: true
properties:
locations_limits_penalty:
description: Amount of fines for violating location's capacity limit.
type: number
format: double
minimum: 0
maximum: 1000000000
example: 25000
soft_time_window_violations:
$ref: '#/components/schemas/time_window_violations'
description: Statistics of soft time window violations.
hard_time_window_violations:
$ref: '#/components/schemas/time_window_violations'
description: Statistics of hard time window violations.
required:
- locations_limits_penalty
- soft_time_window_violations
- hard_time_window_violations
plan_statistics:
description: 'General statistics on the calculation result.
'
type: object
additionalProperties: false
nullable: true
properties:
total_statistics:
$ref: '#/components/schemas/general_statistics'
trips_statistics:
$ref: '#/components/schemas/trip_statistics_list'
locations_statistics:
$ref: '#/components/schemas/location_statistics_list'
task_statistics:
$ref: '#/components/schemas/task_statistics'
quality:
$ref: '#/components/schemas/quality'
required:
- total_statistics
- trips_statistics
- locations_statistics
- task_statistics
- quality
item_keys:
description: Essences keys list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
description: Key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: essence_key_01
item_keys_count:
description: Essences count.
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 99
unplanned_items:
description: Information about unplanned essences.
type: object
additionalProperties: false
properties:
order_keys:
$ref: '#/components/schemas/item_keys'
description: Unplanned order keys list.
order_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Unplanned orders count.
performer_keys:
$ref: '#/components/schemas/item_keys'
description: Unplanned performer keys list.
performer_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Unplanned performers count.
transport_keys:
$ref: '#/components/schemas/item_keys'
description: Unplanned transport keys list.
transport_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Unplanned transports count.
hardlink_keys:
$ref: '#/components/schemas/item_keys'
description: Unplanned hardlink keys list.
hardlink_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Unplanned hardlinks count.
removed_items:
description: Information about removed essences.
type: object
additionalProperties: false
properties:
location_keys:
$ref: '#/components/schemas/item_keys'
description: Removed location keys list.
location_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Removed location count.
order_keys:
$ref: '#/components/schemas/item_keys'
description: Removed order keys list.
order_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Removed orders count.
performer_keys:
$ref: '#/components/schemas/item_keys'
description: Removed performer keys list.
performer_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Removed performers count.
transport_keys:
$ref: '#/components/schemas/item_keys'
description: Removed transport keys list.
transport_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Removed transports count.
hardlink_keys:
$ref: '#/components/schemas/item_keys'
description: Removed hardlink keys list.
hardlink_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Removed hardlinks count.
fact_keys:
$ref: '#/components/schemas/item_keys'
description: Removed fact keys list.
fact_keys_count:
$ref: '#/components/schemas/item_keys_count'
description: Removed facts count.
calculation_progress:
description: 'Calculation progress as a percentage. The progress displays the
current number of completed steps.
'
type: integer
format: int32
default: 0
minimum: 0
maximum: 100
example: 52
calculation_status:
description: "Calculation status:\n * `WAITING` - the calculation is waiting\
\ to be launched.\n * `IN_PROGRESS` - calculation in progress.\n * `FINISHED_IN_TIME`\
\ - the calculation completed correctly before the specified maximum time.\n\
\ * `FINISHED_OUT_OF_TIME` - the calculation ended because the specified\
\ time for calculation has expired, which can affect the quality of the result\
\ for the worse.\n * `CANCELED` - the calculation was canceled because a\
\ cancel command was received.\n * `CANCELED_BY_TIMEOUT` - the calculation\
\ was canceled automatically because the waiting time in the queue was exceeded.\n\
\ * `CANCELED_BY_QUOTA` - the calculation was canceled because the quota\
\ for this calculation type was exceeded.\n * `FAILED` - calculation completed\
\ with an error.\n"
type: string
enum:
- WAITING
- IN_PROGRESS
- FINISHED_IN_TIME
- FINISHED_OUT_OF_TIME
- CANCELED
- CANCELED_BY_TIMEOUT
- CANCELED_BY_QUOTA
- FAILED
example: FINISHED_IN_TIME
calculation_info:
description: Calculation information.
type: object
additionalProperties: false
properties:
status:
$ref: '#/components/schemas/calculation_status'
result_version:
description: Planning result version.
type: integer
format: int32
minimum: 0
maximum: 1000000
example: 133
preparing_time:
$ref: '#/components/schemas/time_duration'
description: Time to prepare for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
business_validation_time:
$ref: '#/components/schemas/time_duration'
description: Business validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
math_validation_time:
$ref: '#/components/schemas/time_duration'
description: Math validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
waiting_time:
$ref: '#/components/schemas/time_duration'
description: Time to waiting for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
calculation_time:
$ref: '#/components/schemas/time_duration'
description: Actual calculation time, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
required:
- status
- result_version
- preparing_time
- business_validation_time
- math_validation_time
- waiting_time
- calculation_time
plan_result:
description: 'Planning result. It can be intermediate (during the calculation
process) and complete (after the calculation is completed).
'
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
trips:
$ref: '#/components/schemas/trip_list'
statistics:
$ref: '#/components/schemas/plan_statistics'
warnings:
$ref: '#/components/schemas/entity_warning_list'
unplanned_items:
$ref: '#/components/schemas/unplanned_items'
removed_items:
$ref: '#/components/schemas/removed_items'
calculation_progress:
$ref: '#/components/schemas/calculation_progress'
calculation_info:
$ref: '#/components/schemas/calculation_info'
required:
- tracedata
- trips
- statistics
- calculation_progress
- calculation_info
calculation_state:
description: Current calculation state.
type: object
additionalProperties: false
nullable: true
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
calculation_progress:
$ref: '#/components/schemas/calculation_progress'
calculation_info:
$ref: '#/components/schemas/calculation_info'
required:
- tracedata
- calculation_progress
- calculation_info
validate_result:
description: Data validation result.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
warnings:
$ref: '#/components/schemas/entity_warning_list'
required:
- tracedata
- warnings
refine_result:
description: 'Refine result.
'
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
plan_task:
$ref: '#/components/schemas/plan_task'
warnings:
$ref: '#/components/schemas/entity_warning_list'
removed_items:
$ref: '#/components/schemas/removed_items'
required:
- tracedata
- plan_task
statistics_task:
description: Task for recalculating statistics.
type: object
additionalProperties: false
properties:
locations:
description: List of locations used for orders and shifts.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/location'
orders:
description: List of orders that need to be completed.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performers:
description: 'Available performers list. The performer fulfills orders using
transport.
'
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/performer'
transports:
description: Available transports list.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/transport'
hardlinks:
$ref: '#/components/schemas/hardlink_list'
trips:
description: 'Trip list. A trip is a set of works planned to be performed
by a specific performer on a specific transport, expressed through a [change
in the states](#section/Description/Trip-model) of the performer.
'
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/trip'
plan_settings:
$ref: '#/components/schemas/plan_settings'
external_routing:
$ref: '#/components/schemas/routing_transport_matrix_list'
dataset_name:
$ref: '#/components/schemas/dataset_name'
required:
- locations
- orders
- performers
- transports
- trips
fact_time:
description: Fact creation time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6)
format.
type: string
format: date-time
example: '2025-03-21T09:30:00+03:00'
fact_type:
description: "Possible fact types:\n * `NEW_LOCATION` - the performer changed\
\ his location during the trip\n * `ORDER_DONE` - the performer has finished\
\ fulfilling the order (or the order has been cancelled), the cargo associated\
\ with the order is no longer in the transport box\n * `DEMAND_START` - performer\
\ started to fulfill the demand\n * `DEMAND_DONE` - performer finished to\
\ fulfill the demand\n"
type: string
enum:
- NEW_LOCATION
- ORDER_DONE
- DEMAND_START
- DEMAND_DONE
example: NEW_LOCATION
fact:
description: 'The fact about the order is the action taken with the order or
its part (demand).
'
type: object
additionalProperties: false
properties:
key:
description: Fact key.
type: string
minLength: 1
maxLength: 1024
example: fact_01
time:
$ref: '#/components/schemas/fact_time'
type:
$ref: '#/components/schemas/fact_type'
trip_key:
description: Trip key, to which the fact relates.
type: string
minLength: 1
maxLength: 1024
example: trip_01
order_key:
description: Order key, required for facts with type `ORDER_DONE`.
type: string
minLength: 1
maxLength: 1024
nullable: true
default: null
example: order_01
demand_key:
description: Demand key, required for facts with types `DEMAND_DONE` and
`DEMAND_START`.
type: string
minLength: 1
maxLength: 1024
nullable: true
default: null
example: order_01_demand_01
performer_key:
description: Performer key, required for facts with type `NEW_LOCATION`.
type: string
minLength: 1
maxLength: 1024
nullable: true
default: null
example: performer_01
location_key:
description: Location key, required for facts with type `NEW_LOCATION`.
type: string
minLength: 1
maxLength: 1024
nullable: true
default: null
example: location_01
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- time
- type
- trip_key
fact_list:
description: 'Trip list. A fact is an event that has occurred that affects further
trip operations.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/fact'
actualize_settings:
description: 'Actualize settings.
'
type: object
additionalProperties: false
properties:
current_time:
description: 'Current date and time according to the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
If not specified, the current time when the request was received by the
server is taken.
'
type: string
format: date-time
nullable: true
example: '2025-03-21T09:30:00+03:00'
max_delay_duration:
description: 'Acceptable delay. Affects the shift of the right boundaries
of hard time windows of orders and time windows of work shifts of performers
and transports.
'
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$
minLength: 3
maxLength: 16
default: PT3H
example: PT1H30M
actualize_task:
description: 'Task for the trips actualization.
'
type: object
additionalProperties: false
properties:
locations:
description: List of locations used for orders and shifts.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/location'
orders:
description: List of orders that need to be completed.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performers:
description: 'Available performers list. The performer fulfills orders using
transport.
'
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/performer'
transports:
description: 'Available transports list. Transport is used by the trip performer
to fulfill orders.
'
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/transport'
trips:
description: 'Trip list. A trip is a set of works planned to be performed
by a specific performer on a specific transport, expressed through a [change
in the states](#section/Description/Trip-model) of the performer.
'
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/trip'
facts:
$ref: '#/components/schemas/fact_list'
external_routing:
$ref: '#/components/schemas/routing_transport_matrix_list'
plan_settings:
$ref: '#/components/schemas/plan_settings'
actualize_settings:
$ref: '#/components/schemas/actualize_settings'
dataset_name:
$ref: '#/components/schemas/dataset_name'
required:
- locations
- orders
- performers
- transports
- trips
replan_strategy:
description: Replan strategy.
type: object
additionalProperties: false
properties:
reorder:
description: Activate trip actions reorder.
type: boolean
default: false
example: true
plan_new_orders:
description: Activate new orders planning.
type: boolean
default: false
example: true
create_new_trips:
description: Activate new trips creation.
type: boolean
default: false
example: true
replan_settings:
description: Replanning settings.
type: object
additionalProperties: false
properties:
replan_strategy:
$ref: '#/components/schemas/replan_strategy'
replan_task:
description: Task for replanning.
type: object
additionalProperties: false
properties:
locations:
description: List of locations used for orders and shifts.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/location'
orders:
description: List of orders that need to be completed.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performers:
description: 'Available performers list. The performer fulfills orders using
transport.
'
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/performer'
transports:
description: Available transports list.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/transport'
hardlinks:
$ref: '#/components/schemas/hardlink_list'
trips:
description: 'Trip list. A trip is a set of works planned to be performed
by a specific performer on a specific transport, expressed through a [change
in the states](#section/Description/Trip-model) of the performer.
'
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/trip'
facts:
$ref: '#/components/schemas/fact_list'
external_routing:
$ref: '#/components/schemas/routing_transport_matrix_list'
plan_settings:
$ref: '#/components/schemas/plan_settings'
actualize_settings:
$ref: '#/components/schemas/actualize_settings'
replan_settings:
$ref: '#/components/schemas/replan_settings'
dataset_name:
$ref: '#/components/schemas/dataset_name'
required:
- locations
- orders
- performers
- transports
- trips
location_list:
description: List of locations used for orders and shifts.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/location'
order_list:
description: List of orders that need to be completed.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performer_list:
description: 'Available performers list. The performer fulfills orders using
transport.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/performer'
transport_list:
description: 'Available transports list. Transport is used by the trip performer
to fulfill orders.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/transport'
universal_data:
description: 'VRt.Universal JSON format. A general list of data and settings
that combines all data for planning, replaning and actualization.
'
type: object
additionalProperties: false
properties:
locations:
$ref: '#/components/schemas/location_list'
orders:
$ref: '#/components/schemas/order_list'
performers:
$ref: '#/components/schemas/performer_list'
transports:
$ref: '#/components/schemas/transport_list'
hardlinks:
$ref: '#/components/schemas/hardlink_list'
trips:
$ref: '#/components/schemas/trip_list'
facts:
$ref: '#/components/schemas/fact_list'
statistics:
$ref: '#/components/schemas/plan_statistics'
external_routing:
$ref: '#/components/schemas/routing_transport_matrix_list'
plan_settings:
$ref: '#/components/schemas/plan_settings'
replan_settings:
$ref: '#/components/schemas/replan_settings'
actualize_settings:
$ref: '#/components/schemas/actualize_settings'
dataset_name:
$ref: '#/components/schemas/dataset_name'
file_xlsx:
description: File with data in [XLSX](https://en.wikipedia.org/wiki/Microsoft_Excel)
format.
type: string
format: byte
general_403:
description: 403 Error details.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
description: Error details.
type: string
nullable: true
example: Forbidden
required:
- tracedata
file_text:
description: File with data in text format.
type: string
check_result:
description: Service availability result.
type: object
additionalProperties: false
properties:
health:
description: "The current health indicator of the service.\n * `0.0` means\
\ the service is not ready to perform tasks.\n * `1.0` means the service\
\ is fully ready to perform tasks.\n"
type: number
format: double
minimum: 0
maximum: 1
example: 0.999
required:
- health
version_result:
description: 服务版本。
type: object
additionalProperties: false
properties:
major:
description: '产品版本。
在单个版本中,保证了服务之间通用数据结构的兼容性。
版本更改表示与以前版本的产品(和所有服务)不兼容的更改。
'
type: integer
format: int32
minimum: 1
maximum: 100
example: 7
minor:
description: '服务的小版本。
版本更改表示新功能。
该更新向后兼容服务的主要版本。
'
type: integer
format: int32
minimum: 0
maximum: 111
example: 15
build:
description: '构建版本。
包含向后兼容的错误修复和文档更新。
'
type: string
minLength: 1
maxLength: 64
example: 3754RC
required:
- major
- minor
- build
file_html:
description: File with data in [HTML](https://html.spec.whatwg.org/) format.
type: string
file_json:
description: File with data in [JSON](https://www.json.org/) format.
type: string
examples:
PlanTaskTokyo:
summary: 东京
value:
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
PlanTaskMoscow:
summary: 莫斯科
value:
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
PlanTaskDenver:
summary: 丹佛
value:
locations:
- key: location_client_1
geopoint:
latitude: 39.7116126
longitude: -104.9145664
- key: location_client_2
geopoint:
latitude: 39.7851755
longitude: -104.9285619
- key: location_client_3
geopoint:
latitude: 39.745829
longitude: -105.0013897
- key: location_storage
geopoint:
latitude: 39.82519
longitude: -105.1185757
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
PlanTaskBerlin:
summary: 柏林
value:
locations:
- key: location_client_1
geopoint:
latitude: 52.431792
longitude: 13.3383233
- key: location_client_2
geopoint:
latitude: 52.458667
longitude: 13.3772083
- key: location_client_3
geopoint:
latitude: 52.437161
longitude: 13.4654563
- key: location_storage
geopoint:
latitude: 52.532906
longitude: 13.3431423
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
PlanTaskBeijing:
summary: 北京
value:
locations:
- key: location_client_1
geopoint:
latitude: 39.873105
longitude: 116.3563913
- key: location_client_2
geopoint:
latitude: 39.929733
longitude: 116.3203273
- key: location_client_3
geopoint:
latitude: 39.9227559
longitude: 116.3260136
- key: location_storage
geopoint:
latitude: 39.904054
longitude: 116.2568843
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
Result400:
summary: Errors in data
value:
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: []
PlanResultTokyo:
summary: 东京
value:
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
PlanResultMoscow:
summary: 莫斯科
value:
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:06:33.856Z'
trips:
- key: c056cbf2-864c-498f-881b-eff8b6d79875-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:55:13Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2025-03-08T04:39:34Z'
to: '2025-03-08T05:55:13Z'
states:
- time: '2025-03-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2025-03-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- DURING_ROUNDTRIP
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_1_cargos
cargo_action_type: ADD
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2025-03-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2025-03-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- DURING_ROUNDTRIP
order_key: order_2
demand_key: demand_2_pickup
event_key: demand_2_pickup_event
location_key: location_storage
cargo_actions:
- box_key: box_1
cargo_key: order_2_cargos
cargo_action_type: ADD
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2025-03-08T04:39:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2025-03-08T04:39:34Z'
flags:
- DEPARTURE
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_storage
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2025-03-08T04:39:34Z'
flags:
- RELOCATING
- DURING_ROUNDTRIP
cargo_actions: []
distance: 0
cost: 2000
reward: 0
attributes: []
- time: '2025-03-08T05:00:00Z'
flags:
- AROUND_LOCATION
- ARRIVAL
- DURING_ROUNDTRIP
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3397.1
reward: 0
attributes: []
- time: '2025-03-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3397.1
reward: 0
attributes: []
- time: '2025-03-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- DURING_ROUNDTRIP
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_2_cargos
cargo_action_type: REMOVE
distance: 17110
cost: 3397.1
reward: 0
attributes: []
- time: '2025-03-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3997.1
reward: 1000.1
attributes: []
- time: '2025-03-08T05:10:00Z'
flags:
- DEPARTURE
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_client_2
cargo_actions: []
distance: 17110
cost: 3997.1
reward: 1000.1
attributes: []
- time: '2025-03-08T05:10:00Z'
flags:
- RELOCATING
- DURING_ROUNDTRIP
cargo_actions: []
distance: 17110
cost: 3997.1
reward: 1000.1
attributes: []
- time: '2025-03-08T05:20:56Z'
flags:
- AROUND_LOCATION
- ARRIVAL
- DURING_ROUNDTRIP
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 4752.07
reward: 1000.1
attributes: []
- time: '2025-03-08T05:20:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 4752.07
reward: 1000.1
attributes: []
- time: '2025-03-08T05:20:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- DURING_ROUNDTRIP
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: REMOVE
distance: 27007
cost: 4752.07
reward: 1000.1
attributes: []
- time: '2025-03-08T05:30:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 5352.07
reward: 2000.2
attributes: []
- time: '2025-03-08T05:30:56Z'
flags:
- DEPARTURE
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_client_1
cargo_actions: []
distance: 27007
cost: 5352.07
reward: 2000.2
attributes: []
- time: '2025-03-08T05:30:56Z'
flags:
- RELOCATING
- DURING_ROUNDTRIP
cargo_actions: []
distance: 27007
cost: 5352.07
reward: 2000.2
attributes: []
- time: '2025-03-08T05:40:13Z'
flags:
- AROUND_LOCATION
- ARRIVAL
- DURING_ROUNDTRIP
location_key: location_client_3
cargo_actions: []
distance: 34483
cost: 5983.83
reward: 2000.2
attributes: []
- time: '2025-03-08T05:40:13Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- DURING_ROUNDTRIP
location_key: location_client_3
cargo_actions: []
distance: 34483
cost: 5983.83
reward: 2000.2
attributes: []
- time: '2025-03-08T05:40:13Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
- DURING_ROUNDTRIP
order_key: order_3
demand_key: demand_3_work
event_key: demand_3_work_event
location_key: location_client_3
cargo_actions: []
distance: 34483
cost: 5983.83
reward: 2000.2
attributes: []
- time: '2025-03-08T05:55:13Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
distance: 34483
cost: 6883.83
reward: 3000.3
attributes: []
waitlist: []
name: 1-HVFB
attributes: []
statistics:
total_statistics:
cost: 6883.83
reward: 3000.3
profit: -3883.53
measurements:
time_window:
from: '2025-03-08T04:39:34Z'
to: '2025-03-08T05:55:13Z'
driving_time: PT40M39S
waiting_time: PT0S
working_time: PT35M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H15M39S
distance: 34483
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: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
average_speed: 50.4
round_trips_count: 1
average_roundtrip_distance: 34483
average_roundtrip_time: PT1H15M39S
attributes: []
trips_statistics:
- trip_key: c056cbf2-864c-498f-881b-eff8b6d79875-performer_1_shift
general_statistics:
cost: 6883.83
reward: 3000.3
profit: -3883.53
measurements:
time_window:
from: '2025-03-08T04:39:34Z'
to: '2025-03-08T05:55:13Z'
driving_time: PT40M39S
waiting_time: PT0S
working_time: PT35M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H15M39S
distance: 34483
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: 0
round_trips_count: 1
average_roundtrip_distance: 34483
average_roundtrip_time: PT1H15M39S
attributes: []
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:39:34Z'
to: '2025-03-08T04:39:34Z'
- 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'
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:40:13Z'
to: '2025-03-08T05:55:13Z'
stop_time_window:
from: '2025-03-08T05:40:13Z'
to: '2025-03-08T05:55:13Z'
measurements:
time_window:
from: '2025-03-08T05:30:56Z'
to: '2025-03-08T05:55:13Z'
driving_time: PT9M17S
waiting_time: PT0S
working_time: PT15M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT24M17S
distance: 7476
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
roundtrip_statistics:
- roundtrip_key: 1-HVFB-1
general_statistics:
cost: 3983.83
reward: 2000.2
profit: -1983.63
measurements:
time_window:
from: '2025-03-08T04:39:34Z'
to: '2025-03-08T05:55:13Z'
driving_time: PT40M39S
waiting_time: PT0S
working_time: PT20M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H39S
distance: 34483
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: 0
round_trips_count: 1
average_roundtrip_distance: 34483
average_roundtrip_time: PT1H39S
attributes: []
attributes: []
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: 107
preparing_time: PT0.016S
business_validation_time: PT0.005S
math_validation_time: PT0S
waiting_time: PT4.01S
calculation_time: PT1.007S
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
removed_items:
location_keys: []
location_keys_count: 0
order_keys: []
order_keys_count: 0
performer_keys: []
performer_keys_count: 0
transport_keys: []
transport_keys_count: 0
hardlink_keys: []
hardlink_keys_count: 0
fact_keys: []
fact_keys_count: 0
PlanResultDenver:
summary: 丹佛
value:
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: 79ffbe44-ce64-4559-9f94-6618bfa588a1-performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2025-03-08T04:21:49Z'
to: '2025-03-08T06:20:24Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2025-03-08T04:21:49Z'
to: '2025-03-08T06:20:24Z'
states:
- time: '2025-03-08T04:21:49Z'
flags:
- AROUND_LOCATION
- INSIDE_LOCATION
location_key: location_storage
cargo_actions: []
attributes: []
- time: '2025-03-08T04:21:49Z'
flags:
- ON_DEMAND
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:21:49Z'
flags:
- AROUND_LOCATION
- INSIDE_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:21:49Z'
flags:
- ON_DEMAND
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:21:49Z'
flags:
- AROUND_LOCATION
- INSIDE_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:21:49Z'
flags:
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
attributes: []
- time: '2025-03-08T04:21:49Z'
flags:
- RELOCATING
cargo_actions: []
attributes: []
- time: '2025-03-08T05:00:00Z'
flags:
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:00:00Z'
flags:
- AROUND_LOCATION
- INSIDE_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:00:00Z'
flags:
- ON_DEMAND
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:15:00Z'
flags:
- AROUND_LOCATION
- INSIDE_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:15:00Z'
flags:
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:15:00Z'
flags:
- RELOCATING
cargo_actions: []
attributes: []
- time: '2025-03-08T05:36:45Z'
flags:
- AROUND_LOCATION
location_key: location_client_2
cargo_actions: []
attributes: []
- time: '2025-03-08T05:36:45Z'
flags:
- AROUND_LOCATION
- INSIDE_LOCATION
location_key: location_client_2
cargo_actions: []
attributes: []
- time: '2025-03-08T05:36:45Z'
flags:
- ON_DEMAND
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:46:45Z'
flags:
- AROUND_LOCATION
- INSIDE_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:46:45Z'
flags:
- AROUND_LOCATION
location_key: location_client_2
cargo_actions: []
attributes: []
- time: '2025-03-08T05:46:45Z'
flags:
- RELOCATING
cargo_actions: []
attributes: []
- time: '2025-03-08T06:10:24Z'
flags:
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
attributes: []
- time: '2025-03-08T06:10:24Z'
flags:
- AROUND_LOCATION
- INSIDE_LOCATION
location_key: location_client_1
cargo_actions: []
attributes: []
- time: '2025-03-08T06:10:24Z'
flags:
- ON_DEMAND
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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-08T06:20:24Z'
flags:
- AROUND_LOCATION
- INSIDE_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: 9407.674
reward: 3000.3
profit: 0
measurements:
time_window:
from: '2025-03-08T04:21:49Z'
to: '2025-03-08T06:20:24Z'
driving_time: PT1H23M35S
waiting_time: PT0S
working_time: PT35M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H58M35S
distance: 29255
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: 29.255
round_trips_count: 1
trips_statistics:
- trip_key: 79ffbe44-ce64-4559-9f94-6618bfa588a1-performer_1_shift
general_statistics:
cost: 9407.674
reward: 3000.3
profit: -6407.374
measurements:
time_window:
from: '2025-03-08T04:21:49Z'
to: '2025-03-08T06:20:24Z'
driving_time: PT1H23M35S
waiting_time: PT0S
working_time: PT35M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H58M35S
distance: 29255
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: 29.255
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:21:49Z'
to: '2025-03-08T04:21:49Z'
- demand_key: demand_1_pickup
event_key: demand_1_pickup_event
demand_time_window:
from: '2025-03-08T04:21:49Z'
to: '2025-03-08T04:21:49Z'
stop_time_window:
from: '2025-03-08T04:21:49Z'
to: '2025-03-08T04:21:49Z'
measurements:
time_window:
from: '2025-03-08T04:21:49Z'
to: '2025-03-08T04:21:49Z'
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_3
stop_demands:
- demand_key: demand_3_work
event_key: demand_3_work_event
demand_time_window:
from: '2025-03-08T05:00:00Z'
to: '2025-03-08T05:15:00Z'
stop_time_window:
from: '2025-03-08T05:00:00Z'
to: '2025-03-08T05:15:00Z'
measurements:
time_window:
from: '2025-03-08T04:21:49Z'
to: '2025-03-08T05:15:00Z'
driving_time: PT38M11S
waiting_time: PT0S
working_time: PT15M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT53M11S
distance: 13362
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: 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: 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:36:45Z'
to: '2025-03-08T05:46:45Z'
stop_time_window:
from: '2025-03-08T05:36:45Z'
to: '2025-03-08T05:46:45Z'
measurements:
time_window:
from: '2025-03-08T05:15:00Z'
to: '2025-03-08T05:46:45Z'
driving_time: PT21M45S
waiting_time: PT0S
working_time: PT10M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT31M45S
distance: 7617
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-08T06:10:24Z'
to: '2025-03-08T06:20:24Z'
stop_time_window:
from: '2025-03-08T06:10:24Z'
to: '2025-03-08T06:20:24Z'
measurements:
time_window:
from: '2025-03-08T05:46:45Z'
to: '2025-03-08T06:20:24Z'
driving_time: PT23M39S
waiting_time: PT0S
working_time: PT10M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT33M39S
distance: 8276
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.019S
calculation_time: PT1.02S
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
PlanResultBerlin:
summary: 柏林
value:
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: 93e27ec5-3d4c-4f3e-9b6d-c028d16f7397-performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2025-03-08T04:35:29Z'
to: '2025-03-08T06:11:06Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2025-03-08T04:35:29Z'
to: '2025-03-08T06:11:06Z'
states:
- time: '2025-03-08T04:35:29Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
attributes: []
- time: '2025-03-08T04:35:29Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:35:29Z'
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:35:29Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:35:29Z'
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:35:29Z'
flags:
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
attributes: []
- time: '2025-03-08T04:35:29Z'
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:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:21:23Z'
flags:
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
attributes: []
- time: '2025-03-08T05:21:23Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
attributes: []
- time: '2025-03-08T05:21:23Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:31:23Z'
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:31:23Z'
flags:
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
attributes: []
- time: '2025-03-08T05:31:23Z'
flags:
- RELOCATING
cargo_actions: []
attributes: []
- time: '2025-03-08T05:56:06Z'
flags:
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:56:06Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:56:06Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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-08T06:11:06Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
name: 1-HVFB
waitlist: []
attributes: []
statistics:
total_statistics:
cost: 7949.65
reward: 3000.3
profit: 0
measurements:
time_window:
from: '2025-03-08T04:35:29Z'
to: '2025-03-08T06:11:06Z'
driving_time: PT1H37S
waiting_time: PT0S
working_time: PT35M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H35M37S
distance: 21219
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: 21.219
round_trips_count: 1
trips_statistics:
- trip_key: 93e27ec5-3d4c-4f3e-9b6d-c028d16f7397-performer_1_shift
general_statistics:
cost: 7949.65
reward: 3000.3
profit: -4949.35
measurements:
time_window:
from: '2025-03-08T04:35:29Z'
to: '2025-03-08T06:11:06Z'
driving_time: PT1H37S
waiting_time: PT0S
working_time: PT35M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H35M37S
distance: 21219
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: 21.219
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:35:29Z'
to: '2025-03-08T04:35:29Z'
- demand_key: demand_1_pickup
event_key: demand_1_pickup_event
demand_time_window:
from: '2025-03-08T04:35:29Z'
to: '2025-03-08T04:35:29Z'
stop_time_window:
from: '2025-03-08T04:35:29Z'
to: '2025-03-08T04:35:29Z'
measurements:
time_window:
from: '2025-03-08T04:35:29Z'
to: '2025-03-08T04:35:29Z'
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:35:29Z'
to: '2025-03-08T05:10:00Z'
driving_time: PT24M31S
waiting_time: PT0S
working_time: PT10M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT34M31S
distance: 8581
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:21:23Z'
to: '2025-03-08T05:31:23Z'
stop_time_window:
from: '2025-03-08T05:21:23Z'
to: '2025-03-08T05:31:23Z'
measurements:
time_window:
from: '2025-03-08T05:10:00Z'
to: '2025-03-08T05:31:23Z'
driving_time: PT11M23S
waiting_time: PT0S
working_time: PT10M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT21M23S
distance: 3989
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:56:06Z'
to: '2025-03-08T06:11:06Z'
stop_time_window:
from: '2025-03-08T05:56:06Z'
to: '2025-03-08T06:11:06Z'
measurements:
time_window:
from: '2025-03-08T05:31:23Z'
to: '2025-03-08T06:11:06Z'
driving_time: PT24M43S
waiting_time: PT0S
working_time: PT15M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT39M43S
distance: 8649
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: PT3.02S
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
PlanResultBeijing:
summary: 北京
value:
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: 252f9b58-44d1-4482-8e35-36af9308e7a4-performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2025-03-08T04:42:30Z'
to: '2025-03-08T05:55:03Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2025-03-08T04:42:30Z'
to: '2025-03-08T05:55:03Z'
states:
- time: '2025-03-08T04:42:30Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
attributes: []
- time: '2025-03-08T04:42:30Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:30Z'
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:30Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:30Z'
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:30Z'
flags:
- AROUND_LOCATION
location_key: location_storage
cargo_actions: []
attributes: []
- time: '2025-03-08T04:42:30Z'
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:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:12:37Z'
flags:
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:12:37Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:12:37Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:27:37Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:27:37Z'
flags:
- AROUND_LOCATION
location_key: location_client_3
cargo_actions: []
attributes: []
- time: '2025-03-08T05:27:37Z'
flags:
- RELOCATING
cargo_actions: []
attributes: []
- time: '2025-03-08T05:45:03Z'
flags:
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
attributes: []
- time: '2025-03-08T05:45:03Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_actions: []
attributes: []
- time: '2025-03-08T05:45:03Z'
flags:
- ON_DEMAND
- INSIDE_LOCATION_WINDOW
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_EVENT_HARD_WINDOW
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:55:03Z'
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: 6485.122
reward: 3000.3
profit: 0
measurements:
time_window:
from: '2025-03-08T04:42:30Z'
to: '2025-03-08T05:55:03Z'
driving_time: PT37M33S
waiting_time: PT0S
working_time: PT35M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H12M33S
distance: 13146
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: 13.146
round_trips_count: 1
trips_statistics:
- trip_key: 252f9b58-44d1-4482-8e35-36af9308e7a4-performer_1_shift
general_statistics:
cost: 6485.122
reward: 3000.3
profit: -3484.822
measurements:
time_window:
from: '2025-03-08T04:42:30Z'
to: '2025-03-08T05:55:03Z'
driving_time: PT37M33S
waiting_time: PT0S
working_time: PT35M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H12M33S
distance: 13146
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: 13.146
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:30Z'
to: '2025-03-08T04:42:30Z'
- demand_key: demand_2_pickup
event_key: demand_2_pickup_event
demand_time_window:
from: '2025-03-08T04:42:30Z'
to: '2025-03-08T04:42:30Z'
stop_time_window:
from: '2025-03-08T04:42:30Z'
to: '2025-03-08T04:42:30Z'
measurements:
time_window:
from: '2025-03-08T04:42:30Z'
to: '2025-03-08T04:42:30Z'
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:30Z'
to: '2025-03-08T05:10:00Z'
driving_time: PT17M30S
waiting_time: PT0S
working_time: PT10M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT27M30S
distance: 6125
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:12:37Z'
to: '2025-03-08T05:27:37Z'
stop_time_window:
from: '2025-03-08T05:12:37Z'
to: '2025-03-08T05:27:37Z'
measurements:
time_window:
from: '2025-03-08T05:10:00Z'
to: '2025-03-08T05:27:37Z'
driving_time: PT2M37S
waiting_time: PT0S
working_time: PT15M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT17M37S
distance: 916
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:45:03Z'
to: '2025-03-08T05:55:03Z'
stop_time_window:
from: '2025-03-08T05:45:03Z'
to: '2025-03-08T05:55:03Z'
measurements:
time_window:
from: '2025-03-08T05:27:37Z'
to: '2025-03-08T05:55:03Z'
driving_time: PT17M26S
waiting_time: PT0S
working_time: PT10M
break_time: PT0S
rest_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT27M26S
distance: 6105
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: PT4.021S
calculation_time: PT1.011S
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
ValidateResultExample:
summary: Validate example
value:
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
RefineResultMoscow:
summary: 莫斯科
value:
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
GeneratePlanStatisticsMoscow:
summary: 莫斯科
value:
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: []
ActualizeTaskMoscow:
summary: 莫斯科
value:
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
ActualizeResultMoscow:
summary: 莫斯科
value:
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
ReplanTaskMoscow:
summary: 莫斯科
value:
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: []
ReplanResultMoscow:
summary: 莫斯科
value:
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
ConvertTaskMoscow:
summary: 莫斯科
value:
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: []
responses:
'200':
description: Calculation completed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/calculation_state'
'202':
description: Calculation in progress, intermediate results returned
content:
application/json:
schema:
$ref: '#/components/schemas/calculation_state'
'299':
description: Calculation completed, problems encountered during the calculation
process
content:
application/json:
schema:
$ref: '#/components/schemas/calculation_state'
'401':
description: Unauthorized - incorrect authorization details, token is missing
or invalid
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/general_402'
'403':
description: Forbidden - no permission to execute this operation
content:
application/json:
schema:
$ref: '#/components/schemas/general_403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/general_404'
'405':
description: Method not allowed, check method (POST, GET, ...)
'406':
description: Client is unable to process a format of response, check headers
'415':
description: Unsupported media type, check headers
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/general_429'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/general_500'
'501':
description: Not implemented
'502':
description: Bad gateway
'503':
description: Service unavailable
'504':
description: Gateway timeout
400_with_errors_and_warnings:
description: Bad request - data contain errors
content:
application/json:
schema:
$ref: '#/components/schemas/custom_400_with_errors_and_warnings'
examples:
Result400:
$ref: '#/components/examples/Result400'
parameters:
process_code:
name: process_code
description: 唯一的进程标识符。
in: path
required: true
schema:
$ref: '#/components/schemas/process_code'
timezone:
name: timezone
description: Target time zone.
in: query
required: false
schema:
$ref: '#/components/schemas/timezone'
filename:
name: filename
description: File name.
in: path
required: true
schema:
description: File name.
type: string
minLength: 6
maxLength: 128
example: file_en.html