openapi: 3.0.3
info:
title: VRt.Universal [UV]
version: 6.20.2289
license:
name: Proprietary
url: https://veeroute.com/
termsOfService: https://veeroute.com/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 executors are divided into different entities, when planning,\
\ the optimal assignment of the executor to the transport occurs\n* The transport\
\ has several compartments - 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-compartment of transport\
\ (the ability to take into account the features of the compartment: 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 compartments 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 - Compartment | 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 compartment 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 compartment |\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\nThe trip is described by the list of states of the executor, while\
\ the executor can be in several states at the same time\n(for example, to be\
\ inside the working time window of a location and fulfill an order at the same\
\ location).\n\nPossible values 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 at the location.\n\nPossible values of the flags responsible for being\
\ in time windows:\n\n* `INSIDE_WORKING_WINDOW` - the executor is inside the working\
\ time window.\n* `INSIDE_LOCATION_WINDOW` - the executor is inside the location's\
\ working time.\n* `INSIDE_EVENT_HARD_WINDOW` - the executor is inside a hard\
\ time window.\n* `INSIDE_EVENT_SOFT_WINDOW` - the executor is inside the soft\
\ time window.\n\nPossible values of flags responsible for actions:\n\n* `ON_DEMAND`\
\ - the executor is working on the request.\n* `WAITING` - the performer is in\
\ standby mode.\n* `RELOCATING` - the executor is moving to the next stop.\n*\
\ `BREAK` - the performer is on a break.\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\n# Xlsx\n\n\
\n\nDescription of VRt.Universal XLSX format\
\ for import / data export.\n\nThis format is a complete display of data JSON\
\ models and is used for:\n\n* initial data\n* process settings\n* calculation\
\ results\n* statistics on the calculation result\n\nBelow is a description of\
\ each sheet separately.\n\n## Locations\n\nThe name of the sheet `locations`.\n\
\nList of locations that are used in orders and shifts.\n\nThe described object:\n\
\n\n## Performers\n\
\nThe name of the sheet is `performers`.\n\nList of available performers.\n\n\
The described object:\n\n\n## Transports\n\nThe name of the sheet `transports`.\n\nList of available\
\ transport.\n\nThe described object:\n\n\n## Boxes\n\nThe name of the sheet is `transports.boxes`.\n\nList of transport\
\ boxes that can accommodate the load.\nThe table is mandatory if there are orders\
\ with applications of types of `PICKUP` and `DROP`.\nIn the description of the\
\ compartments, those fields that describe cargo are required.\n\nThe described\
\ object:\n\n\n## Orders\n\
\nThe name of the sheet is `orders`.\n\nList of orders.\n\nThe described object:\n\
\n\n## Cargos\n\n\
The name of the sheet is `orders.cargos`.\n\nList of goods. It may contain one\
\ load for `DROP`, a list for `PICKUP`, empty for `WORK`.\nThe table is not obligatory\
\ if all applications have the type `WORK`.\n\nThe described object:\n\n\n## Hardlinks\n\nThe name of the\
\ sheet is `hardlinks`.\n\nList of hardlinks.\n\nThe described object:\n\n\n## Trips\n\nThe name of the\
\ sheet `trips`.\n\nList of trips.\n\nThe described object:\n\n\n## Facts\n\nThe name of the sheet\
\ is `facts`.\n\nList of facts.\n\nThe described object:\n\n\n## Plan settings\n\nThe name of the sheet `plan_settings`.\n\
\nThe described object:\n\n\n## Actualize settings\n\nThe name of the sheet is `actualize_settings`.\n\
\nThe described object:\n\n\n## Replan settings\n\nThe name of the sheet is `replan_settings`.\n\n\
The described object:\n\n"
servers:
- url: https://api.edge.veeroute.tech
description: Environment for integration and early access to the new features
- url: https://api.prod.veeroute.com
description: Production environment
security:
- ApiKeyAuth: []
tags:
- name: Plan
description: 'Planning - creating trips from orders, performers and transport.
Planning requests can be executed in synchronous and asynchronous mode.
'
- 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_refining) to get the result of applying
facts to the original task.
Accounting for the current time `current_time`:
* Only facts that happened later than `current_time` are taken into account.
* The minimum time of all states of computed trips is taken from `current_time`.
Accounting facts about the order:
* If the order has completed all applications - it is considered completed.
* If the order is completed or canceled - it, and the entities to which only it
refers, are removed from the data for actualization.
* If an order has a `PICKUP` demand, then the corresponding `DROP` demand will
be converted into a `DROP_FROM_BOX` demand.
* The fact about the order has a higher priority than the facts about the demands
for this order (if the facts about the demands contradict the fact about the order,
they will not be taken into account).
* Only one unclosed fact `DEMAND_START` is allowed per trip (closed by the fact
`DEMAND_DONE`) - since the performer can only fulfill one request at a time.
* If there is a fact about the work on the application, which contradicts the
planned order in the specified trip, this application will be completed first,
then the trip will continue according to the planned order.
Accounting facts about the performer:
* List of facts about the location of the performer in a particular location.
* If the trip has started (the time of the fact is later than the scheduled start
time of the trip) - the transport is considered to be in the same location as
the performer.
* If there are several facts, only the latest one in the `time` field is taken
into account.
* The location referenced by the fact must be in the `locations` list.
Accounting for existing trips:
* Entities that are not referenced by input trips are removed - locations, performers,
transport, hard links, orders, requests, events.
* Changes of the performer and transport assigned to the trip cannot be used on
other trips.
The trips received as a result of updating contain only those works that remain
to be completed.
'
- 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: 'Data conversion.
'
- name: System
description: 'System functions.
Auxiliary functionality common to all services.
'
externalDocs:
description: Main site
url: https://veeroute.com/
paths:
/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
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: Successful execution
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.edge.veeroute.tech'' # production env https://api.prod.veeroute.com''
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:
post:
tags:
- Plan
summary: Planning (ASYNC)
description: 'Trip planning.
The result can be obtained using the [result](#operation/read_plan_result)
method, removing - with [delete](#operation/delete_plan_result).
'
operationId: run_plan_calculation_async
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: Successful execution
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_async/{id}:
parameters:
- $ref: '#/components/parameters/result_id'
get:
tags:
- Plan
summary: Calculation state
description: Read calculation state by the calculation identifier.
operationId: read_plan_calculation_state
responses:
'200':
description: Successful execution
content:
application/json:
schema:
$ref: '#/components/schemas/calculation_state'
'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: Cancel calculation
description: Cancel calculation by the calculation identifier.
operationId: cancel_plan_calculation
responses:
'204':
description: Successful execution - calculation has been 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/result/{id}:
parameters:
- $ref: '#/components/parameters/result_id'
get:
tags:
- Plan
summary: Getting the result
description: Getting the planning result based on the calculation identifier.
operationId: read_plan_result
responses:
'200':
description: Successful execution - planning has been completed.
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: Planning is in progress.
content:
application/json:
schema:
$ref: '#/components/schemas/plan_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'
delete:
tags:
- Plan
summary: Result removal
description: Removal of the planning result by the calculation identifier.
operationId: delete_plan_result
responses:
'204':
description: Successful execution - planning has been 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
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: Successful execution.
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/calculation:
post:
tags:
- Replan
summary: Replanning (SYNC)
description: 'Trips replanning - changing existing and creating new trips based
on the facts and data about orders, performers and transport.
'
operationId: run_replan_calculation
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: Successful execution
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.edge.veeroute.tech'' # production env https://api.prod.veeroute.com''
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:
post:
tags:
- Replan
summary: Replanning (ASYNC)
description: 'Trip replanning - changing existing and creating new trips based
on the facts and data about orders, performers and transport. The result can
be obtained using the [result](#operation/read_replan_result) method, removing
- with [delete](#operation/delete_replan_result).
'
operationId: run_replan_calculation_async
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: Successful execution
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_async/{id}:
parameters:
- $ref: '#/components/parameters/result_id'
get:
tags:
- Replan
summary: Calculation state
description: Read calculation state by the calculation identifier.
operationId: read_replan_calculation_state
responses:
'200':
description: Successful execution
content:
application/json:
schema:
$ref: '#/components/schemas/calculation_state'
'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: Cancel calculation
description: Cancel calculation by the calculation identifier.
operationId: cancel_replan_calculation_async
responses:
'204':
description: Successful execution - calculation has been 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/result/{id}:
parameters:
- $ref: '#/components/parameters/result_id'
get:
tags:
- Replan
summary: Getting the result
description: Getting the replanning result based on the calculation identifier.
operationId: read_replan_result
responses:
'200':
description: Successful execution - replanning has been completed.
content:
application/json:
schema:
$ref: '#/components/schemas/plan_result'
examples:
ReplanResultMoscow:
$ref: '#/components/examples/ReplanResultMoscow'
'202':
description: Planning is in progress.
content:
application/json:
schema:
$ref: '#/components/schemas/plan_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'
delete:
tags:
- Replan
summary: Result removal
description: Removal of the planning result by the calculation identifier.
operationId: delete_replan_result
responses:
'204':
description: Successful execution - planning has been 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
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: Successful execution
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/refining:
post:
tags:
- Replan
summary: Data refine
description: Refine data before using.
operationId: run_replan_refining
requestBody:
description: Data for refine.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/replan_task'
responses:
'200':
description: Successful execution
content:
application/json:
schema:
$ref: '#/components/schemas/replan_task'
'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: Trips actualization.
operationId: run_actualize_calculation
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: Successful execution
content:
application/json:
schema:
$ref: '#/components/schemas/plan_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/validation:
post:
tags:
- Actualize
summary: Data validation
description: Check data before using.
operationId: run_actualize_validation
requestBody:
description: Data for validation.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/actualize_task'
responses:
'200':
description: Successful execution
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/refining:
post:
tags:
- Actualize
summary: Data refine
description: Refine data before using.
operationId: run_actualize_refining
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: Successful execution
content:
application/json:
schema:
$ref: '#/components/schemas/actualize_task'
'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 input and output data to the [VRt.Universal
XLSX](#section/Xlsx) format.
operationId: run_convert_json_to_xlsx
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](#section/Xlsx)
format to the VRt.Universal JSON format.
'
operationId: run_convert_xlsx_to_json
requestBody:
description: Conversion request to the JSON format.
required: true
content:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
schema:
$ref: '#/components/schemas/file_xlsx'
responses:
'200':
description: Successful execution
content:
application/json:
schema:
$ref: '#/components/schemas/universal_data'
'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
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: Checking the availability
description: Checking the service availability.
operationId: check
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: Getting the service version
description: Getting the service version.
operationId: version
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}:
parameters:
- $ref: '#/components/parameters/filename'
get:
tags:
- System
summary: Getting the documentation
description: Getting the file with this service documentation.
operationId: file
security: []
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: "For client [authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication)\
\ \n[JWT token](https://en.wikipedia.org/wiki/JSON_Web_Token) is used,\nwhich\
\ must be specified in the header for each request in the format:\n\n`Authorization:\
\ Bearer `.\n\nToken can be obtained via VRt.Account API.\n"
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: P1Y1M1DT2H12M34.3S
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: '2024-02-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: '2024-02-21T19:45:00Z'
required:
- from
- to
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'
attribute:
description: Attribute.
type: object
additionalProperties: false
properties:
key:
description: Attribute's key.
type: string
minLength: 1
maxLength: 100
example: attribute_name
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: location01
geopoint:
$ref: '#/components/schemas/geopoint'
arrival_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).
$ref: '#/components/schemas/time_duration'
departure_duration:
description: Time to leave the location according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
$ref: '#/components/schemas/time_duration'
work_windows:
description: 'List of time windows for the location. If the list is empty
or not specified, the location works without time limits.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 100
default: []
items:
$ref: '#/components/schemas/time_window'
compatibilities:
$ref: '#/components/schemas/location_compatibilities'
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: location01
duration:
description: Event execution time according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
$ref: '#/components/schemas/time_duration'
reward:
description: Reward for the event.
type: number
format: double
minimum: 0
maximum: 1000000000
default: 1000.1
example: 199.9
hard_time_window:
$ref: '#/components/schemas/time_window'
soft_time_window:
$ref: '#/components/schemas/time_window'
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'
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 compartments
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 compartment).
'
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 1
capacity_b:
description: 'Additional parameter (B) for measuring cargoes and compartments
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 compartments
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 compartment 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'
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: PT24H
example: P1T8H30M20S
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: PT24H
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
break:
description: The condition for the onset and characteristics of a break.
type: object
additionalProperties: false
nullable: true
properties:
max_work_duration_sum:
description: Total work time after which you need to take a break according
to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
$ref: '#/components/schemas/time_duration'
duration:
description: Length of break period according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
$ref: '#/components/schemas/time_duration'
required:
- max_work_duration_sum
- duration
work_and_rest_rules:
description: 'Work and rest rules.
'
type: object
additionalProperties: false
properties:
first_break:
$ref: '#/components/schemas/break'
description: 'First break - no later than N minutes after the scheduled
start time, there must be one break with a duration of M minutes. Waiting
time is not counted as working time. Work cannot be interrupted by a break.
If there are many orders in one location, then a break can be scheduled
between the execution of orders.
'
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:
description: Time shift window when the performer can perform work at locations
and drive between locations.
$ref: '#/components/schemas/time_window'
working_time:
description: Working time window, when the performer can perform work at
locations, must be inside the time window.
$ref: '#/components/schemas/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_location01
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_location01
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'
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_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\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_GARBAGE_1
- TRUCK_GARBAGE_2
- TUK_TUK
- BICYCLE
- PEDESTRIAN
- PUBLIC_TRANSPORT
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.
'
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: 1000
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:
description: 'Performer''s features list. Used to check whether the performer
is compatible with orders.
'
$ref: '#/components/schemas/compatibility_tag_list'
performer_features_lifetimes:
description: 'List of feature lifetime. Affects on compatibility Performer-Order.
'
$ref: '#/components/schemas/feature_lifetime_list'
transport_restrictions:
description: 'List of transport requirements. Used to check whether the
transport is compatible with the performer.
'
$ref: '#/components/schemas/compatibility_tag_list'
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
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'
compatibilities:
$ref: '#/components/schemas/performer_compatibilities'
limits:
$ref: '#/components/schemas/performer_limits'
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:
description: The cost of moving 1 unit of measure of cargo per 1 meter (for
each capacity field, respectively), monetary unit.
$ref: '#/components/schemas/capacity'
max_penalty_cost:
description: 'Max sum of penalties for transport using this shift, monetary
unit.
'
type: number
format: double
minimum: 0
maximum: 1000000
default: 0
example: 2000
deprecated: true
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:
description: The shift time window in which the transport can move between
locations and be used by the performer in work on locations.
$ref: '#/components/schemas/time_window'
working_time:
deprecated: true
description: The working time window, during which the transport can be
used by the performer in work on locations, must be within the availability
time window.
$ref: '#/components/schemas/time_window'
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_location01
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_location01
tariff:
$ref: '#/components/schemas/transport_tariff'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- availability_time
- working_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: '`max_one_cargo_capacity` - `capacity` fields limitation for *one*
cargo.
'
type: object
additionalProperties: false
nullable: true
properties:
max_one_cargo_capacity:
$ref: '#/components/schemas/capacity'
box:
description: 'A transport box capable to hold a cargo.
'
type: object
additionalProperties: false
properties:
key:
description: Unique compartment key used to identify the cargo placement
in compartments.
type: string
minLength: 1
maxLength: 1024
example: box01
capacity:
description: The compartment capacity, which limits the maximum amount for
all `capacity` fields of *all* the cargoes.
$ref: '#/components/schemas/capacity'
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.
'
$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 compartment.
'
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 compartments 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'
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'
required:
- key
- links
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
transport_factor:
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
capacity_factor:
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'
required:
- transport_type
- capacity
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
nullable: true
default: null
minLength: 1
maxLength: 1024
example: demand01.1
performer_key:
description: Performer's key.
type: string
minLength: 1
maxLength: 1024
example: performer0001
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
- performer_key
- additional_duration
trip_assumptions:
description: 'Planning assumptions. Designed to adjust the business logic of
planning and mass change of input data.
'
type: object
additionalProperties: false
properties:
transport_factor:
description: Transport speed change coefficients.
type: array
minItems: 0
maxItems: 12
default: []
uniqueItems: true
items:
$ref: '#/components/schemas/transport_factor'
capacity_factor:
description: 'Transport capacity change coefficients. Change the `capacity`
parameters for all boxes and `max_capacity` for the transport.
'
type: array
minItems: 0
maxItems: 12
default: []
uniqueItems: true
items:
$ref: '#/components/schemas/capacity_factor'
demands_extra_duration:
description: 'List of additional execution times for the demands by certain
performers. Valid for the specified performer-order pair for all performer''s
shifts and all order execution options.
'
type: array
minItems: 0
maxItems: 15001
default: []
uniqueItems: true
items:
$ref: '#/components/schemas/demand_extra_duration'
feature_lifetimes:
deprecated: true
description: 'List of feature lifetime. Affects only on compatibility Performer-Order
and Transport-Location.
'
$ref: '#/components/schemas/feature_lifetime_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. When taking into account
the violation of compatibility with the location, the penalty is applied for
each stop at the location.
'
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
trip_penalties:
description: 'Planning penalties - ability to disrupt a part of the planning
business rules.
'
type: object
additionalProperties: false
properties:
compatibilities:
description: Penalties for compatibility violation.
type: array
uniqueItems: true
minItems: 0
maxItems: 1000000
default: []
items:
$ref: '#/components/schemas/compatibility_penalty'
trips_settings:
description: Trip creation settings.
type: object
additionalProperties: false
properties:
configuration:
$ref: '#/components/schemas/plan_configuration'
trip_start_time_strategy:
$ref: '#/components/schemas/trip_start_time_strategy'
assumptions:
$ref: '#/components/schemas/trip_assumptions'
penalties:
$ref: '#/components/schemas/trip_penalties'
geo_settings:
description: 'Geodata usage settings.
'
type: object
additionalProperties: false
properties:
geo_provider:
description: Geodata provider.
type: string
default: OSRM
minLength: 1
maxLength: 256
example: OSRM
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
restricted_zones:
description: 'List of restricted zones.
'
type: array
deprecated: true
minItems: 0
maxItems: 5
uniqueItems: true
default: []
items:
description: Zone id.
type: string
minLength: 1
maxLength: 256
example:
- ART_MOSCOW_MKAD_CARGO_FRAME
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: PT4M30S
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:
description: 'The time zone where the calculation result is returned.
'
type: integer
format: int32
minimum: -12
maximum: 12
default: 0
example: 3
treat_warnings_as_errors:
description: 'Treat warnings as errors.
'
type: boolean
default: false
example: true
precision:
description: 'Specifies the calculation accuracy in the decimal point sequence
number. It equals 2 by default, so the accuracy is 0.01.
'
type: integer
format: int32
minimum: 0
maximum: 6
default: 2
example: 3
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'
waypoint:
description: 'Waypoint.
'
type: object
additionalProperties: false
properties:
name:
description: Name of the point.
type: string
nullable: true
default: null
minLength: 0
maxLength: 1024
example: central
geopoint:
$ref: '#/components/schemas/geopoint'
duration:
$ref: '#/components/schemas/time_duration'
description: Stop duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
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: Time and distance matrix.
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/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: 'Time and distance matrices list for each transport type from dataset.
By specifying an external routing matrix `external_routing`, parameters `geo_settings`
are not used.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 12
default: []
items:
$ref: '#/components/schemas/routing_transport_matrix'
dataset_name:
description: 'The name of the dataset. A technical field that does not affect
planning.
'
type: string
minLength: 0
maxLength: 1000
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: Orders list.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performers:
description: Available performers list.
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:
description: Assignments list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
default: []
items:
$ref: '#/components/schemas/hardlink'
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
service_name:
description: Service name.
type: string
enum:
- UNIVERSAL
- ROUTING
- ACCOUNT
- ADMIN
- STUDIO
- MONITOR
- PACKER
- AGRO
- STOCK
- LONGHAUL
- CLUSTER
- CARGOTIMETABLE
example: UNIVERSAL
operation_id:
description: Operation identifier.
type: string
minLength: 3
maxLength: 256
example: run_plan_calculation
tracedata:
description: Data for request tracing.
type: object
additionalProperties: false
properties:
code:
description: 'Unique process identifier. If an asynchronous process is running,
then the code for it will be the same, although other fields may differ.
'
type: string
format: uuid
example: 11111111-2222-3333-4444-555555555555
client:
description: 'The unique identifier of the client (`company_key` + `_|_`
+ `username`) that made the request.
'
type: string
pattern: \w+
minLength: 2
maxLength: 256
example: company_|_username
server:
description: Server identifier.
type: string
pattern: \w+
minLength: 2
maxLength: 256
example: server_name
service:
$ref: '#/components/schemas/service_name'
operation:
$ref: '#/components/schemas/operation_id'
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: '2024-02-21T09:30:00+03:00'
required:
- code
- client
- server
- service
- operation
- time
trip_name:
description: Trip name.
type: string
minLength: 0
maxLength: 64
default: ''
example: 1-ABC
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
example: RELOCATING
cargo_placement:
description: One cargo placement in the compartment.
type: object
additionalProperties: false
properties:
box_key:
description: Compartment key.
type: string
minLength: 1
maxLength: 1024
example: box01
cargo_key:
description: Cargo key.
type: string
minLength: 1
maxLength: 1024
example: cargo01
required:
- box_key
- cargo_key
cargo_placement_list:
description: List of cargo placements in transport at the beginning of the state.
type: array
uniqueItems: true
minItems: 0
maxItems: 1000
default: []
items:
$ref: '#/components/schemas/cargo_placement'
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: '2024-02-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: location01
flags:
description: "List of flags, describing current state. \nPossible flag values\
\ (locations):\n * `AROUND_LOCATION` - a performer is around a location:\
\ finished relocation to the location by routing means.\n * `INSIDE_LOCATION`\
\ - a performer is inside a location considering arrival and departure\
\ time.\n\nPossible flag values (time windows):\n * `INSIDE_WORKING_WINDOW`\
\ - a performer is inside a formal working shift window from the input\
\ task.\n * `INSIDE_LOCATION_WINDOW` - a performer is inside an availability\
\ window of a location.\n * `INSIDE_EVENT_HARD_WINDOW` - a performer\
\ is inside the hard window of an event.\n * `INSIDE_EVENT_SOFT_WINDOW`\
\ - a performer is inside the soft window of an event.\n\nPossible flag\
\ values (work states):\n * `ON_DEMAND` - a performer is working on a\
\ demand.\n * `WAITING` - a performer is waiting. \n * `RELOCATING`\
\ - a performer is relocating.\n * `BREAK` - the performer is on a break.\n"
type: array
uniqueItems: true
minItems: 0
maxItems: 9
default: []
items:
$ref: '#/components/schemas/trip_state_flag'
cargo_placements:
$ref: '#/components/schemas/cargo_placement_list'
attributes:
$ref: '#/components/schemas/attributes'
required:
- time
- flags
trip_waitlist:
description: A list of keys assigned to orders, but not scheduled for a specific
time.
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 sequence of states assigned to the specified performer
driving the specified transport.
'
type: object
additionalProperties: false
properties:
key:
description: Unique trip identifier.
type: string
minLength: 1
maxLength: 1024
example: 631988f0-9e27-11ed-a8fc-0242ac120002
name:
$ref: '#/components/schemas/trip_name'
performer:
$ref: '#/components/schemas/assigned_performer'
transport:
$ref: '#/components/schemas/assigned_transport'
states:
description: List of performer's states.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip_state'
waitlist:
$ref: '#/components/schemas/trip_waitlist'
attributes:
$ref: '#/components/schemas/attributes'
required:
- key
- performer
- transport
- states
measurements:
description: 'Measurements of times and distances for work on location, individual
trips and planning in general.
'
type: object
additionalProperties: false
properties:
driving_time:
$ref: '#/components/schemas/time_duration'
waiting_time:
$ref: '#/components/schemas/time_duration'
break_time:
$ref: '#/components/schemas/time_duration'
working_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
time_window:
$ref: '#/components/schemas/time_window'
required:
- driving_time
- waiting_time
- break_time
- working_time
- arriving_time
- departure_time
- total_time
- distance
- time_window
object_metrics:
description: Objects metrics.
type: object
additionalProperties: false
properties:
keys:
description: List of object's keys.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
description: Object's key.
type: string
minLength: 1
maxLength: 1024
example:
- obj1
count:
description: The total number of objects.
type: integer
format: int32
minimum: 0
default: 0
maximum: 15001
example: 1700
time_window_violations:
description: 'Statistics of time window violation.
'
type: object
additionalProperties: false
properties:
before:
$ref: '#/components/schemas/object_metrics'
description: Count and order's keys, what planned before permitted time
window.
after:
$ref: '#/components/schemas/object_metrics'
description: Count and order's keys, what planned after permitted time window.
quality_statistics:
description: 'Quality metrics.
'
type: object
additionalProperties: false
properties:
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.
statistics:
description: 'General statistics for one or more trips.
'
type: object
additionalProperties: false
properties:
cost:
description: 'Total costs calculated based on the performer''s and transport
tariffs. The total cost is equal to the difference between the total reward
(`reward`) and expenses (`cost`).
'
type: number
format: double
minimum: 0
example: 1231.1
reward:
description: The total reward for orders fulfillment.
type: number
format: double
minimum: 0
example: 2343.3
measurements:
$ref: '#/components/schemas/measurements'
description: "Measurements of times and distances for for aggregate and\
\ individual trips:\n\n * `driving_time` - duration of driving time\n\
\ * `waiting_time` - total waiting time for all locations\n * `break_time`\
\ - total break time for all locations\n * `working_time` - total time\
\ of work execution at all locations included in the trip\n * `arriving_time`\
\ - total time to drive / park at locations\n * `departure_time` - total\
\ time for departure from locations\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 * `total_time` - total\
\ time, composed of `driving_time` + `waiting_time` + `break_time` + `working_time`\
\ + `arriving_time` + `departure_time`\n * `distance` - the total length\
\ of the 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
cargo_capacity_ratio:
$ref: '#/components/schemas/capacity'
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'
description: 'The ratio of the maximum load of boxes to the total capacity
of boxes. In fractions of a unit. It cannot be more than one.
'
quality:
$ref: '#/components/schemas/quality_statistics'
required:
- cost
- reward
- measurements
- trips_count
- performers_count
- orders_count
- plan_orders_count
- waitlist_orders_count
- cargo_capacity_ratio
- max_transport_load
transport_load:
description: Transport utilization by load.
type: object
additionalProperties: false
properties:
count:
description: Number of orders.
type: integer
format: int32
minimum: 0
maximum: 15001
example: 1460
capacity:
$ref: '#/components/schemas/capacity'
required:
- count
- capacity
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: location01
demand_ids:
description: Keys list of demands fulfilled at this stop.
type: array
minItems: 0
maxItems: 15001
uniqueItems: true
items:
description: 'The request identifier is obtained using the following formula:
order identifier + ''#'' + the demand identifier.
'
type: string
minLength: 1
maxLength: 1024
example: demand01
stop_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` + `arriving_time` + `departure_time`.
'
$ref: '#/components/schemas/time_window'
measurements:
$ref: '#/components/schemas/measurements'
description: "Measurements of times and distances for work on location:\n\
\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 * `break_time` - the duration of performers\
\ break at the location\n * `working_time` - the time spent on the direct\
\ execution of work at the location\n * `arriving_time` - the time spent\
\ on the entrance/parking at the location\n * `departure_time` - the\
\ time taken to leave the location\n * `time_window` - the time window\
\ from the start of movement to the stop until the end of the departure\
\ from the stop\n * `total_time` - total time for a stop, composed of\
\ `driving_time` + `waiting_time` + `break_time` + `working_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
- demand_ids
- stop_time_window
- measurements
- upload
- download
- max_load
- arrival_load
- departure_load
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
statistics:
$ref: '#/components/schemas/statistics'
stop_statistics:
description: Statistics per stop during the trip.
type: array
minItems: 0
maxItems: 15001
uniqueItems: false
items:
$ref: '#/components/schemas/stop_statistics'
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:
- trip_key
- statistics
- stop_statistics
- total_load
- max_load
- max_transfer_load
plan_statistics:
description: 'General statistics on planned trips.
'
type: object
additionalProperties: false
nullable: true
properties:
total_statistics:
$ref: '#/components/schemas/statistics'
description: Total statistics for all trips.
trips_statistics:
description: 'List of statistics for each scheduled trip separately.
'
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip_statistics'
required:
- total_statistics
- trips_statistics
entity_warning_type:
description: "Warning type:\n * `NO_AVAILABLE_TRANSPORT` - the order cannot\
\ be fulfilled, since there is no available (by shift limitations) transport\n\
\ * `NO_AVAILABLE_PERFORMER` - the order cannot be fulfilled, since there\
\ is not a single available (by shift limitations) performer\n * `NO_COMPATIBLE_TRANSPORT`\
\ - the order cannot be completed, since there is not a single compatible\
\ (in terms of capacity and \\ or compatibility tags) transport\n * `NO_COMPATIBLE_PERFORMER`\
\ - the order cannot be completed, since there is not a single compatible\
\ (by compatibility tags) performer\n * `PICKUP_AND_DROP_VIOLATION` - for\
\ each cargo within the order there must be exactly one loading and exactly\
\ one unloading (except for `PICKUP_TO_BOX` and `DROP_FROM_BOX` orders)\n\
\ * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER` - for each cargo within\
\ the order, loading must go before unloading (`precedence_in_order`)\n *\
\ `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP` - conflicting requirements\
\ for the precedence of orders were specified (`precedence_in_trip`)\n *\
\ `VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER` - requirements for the precedence\
\ of orders in the trip (`precedence_in_trip`) and in the order (` precedence_in_order`)\
\ contradict each other\n * `TIME_WINDOW_VIOLATION` - the start time of the\
\ time window is later than the end time of the window or time window exceeds\
\ the maximum allowed\n * `DURATION_VIOLATION` - duration does not correspond\
\ to the allowed interval\n * `ORDER_WINDOWS_INTERSECTION_VIOLATION` - soft\
\ windows should not go beyond the boundaries of the hard window\n * `PERFORMER_SHIFTS_INTERSECTION_VIOLATION`\
\ - performer's work shifts should not intersect\n * `TRANSPORT_SHIFTS_INTERSECTION_VIOLATION`\
\ - transport's work shifts should not intersect\n * `LOCATION_WINDOWS_INTERSECTION_VIOLATION`\
\ - time ranges of working windows of locations should not intersect\n *\
\ `INVALID_LOCATION_DURATIONS` - location has a working window that is less\
\ than the sum of the times `arrival + departure`\n * `NO_TRANSPORT_BOXES`\
\ - if there are orders with cargo, then the transport must have at least\
\ one box\n * `MAX_CAPACITY_VIOLATION` - `max_capacity` limit exceeds the\
\ total capacity of all boxes or set for only one box or less than the capacity\
\ of some box\n * `MAX_BOXES_VIOLATION` - limit `max_boxes` is greater than\
\ or equal to the total number of boxes or specified for one box or equal\
\ to zero\n * `TOO_MANY_CARGOS_FOR_DROP_VIOLATION` - the number of loads\
\ for an order of the` DROP` / `DROP_FROM_BOX` type must be no more than one\n\
\ * `EMPTY_CARGOES_LIST` - empty list of loads for orders of type `DROP`\
\ / `DROP_FROM_BOX` / `PICKUP` / `PICKUP_TO_BOX`\n * `CARGO_WORK_VIOLATION`\
\ - for a `WORK` order, the cargo list must be empty\n * `GEODATA_TIME_WINDOW_VIOLATION`\
\ - the planning horizon exceeds the maximum available value\n * `SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE`\
\ - the working window `working_window` of the change of the artist does not\
\ lie entirely inside the window of availability `availability_window`\n \
\ * `DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW` - the duration of the event does\
\ not fit into the hard time window\n * `DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW`\
\ - the duration of the event does not fit into the soft time window\n *\
\ `EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW` - additional time for demand\
\ execution does not fit into the soft time window\n * `MAX_CALCULATION_TIME_VIOLATION`\
\ - the maximum allowable calculation time has been exceeded\n * `MAX_WAITING_TIME_VIOLATION`\
\ - the maximum allowable waiting time has been exceeded\n * `INVALID_HARDLINK`\
\ - it is impossible to assign an order with demands with the `WORK` type\
\ to transport\n * `CARGO_BOX_VIOLATION` - for requests of all types except\
\ `DROP_FROM_BOX` the key of the compartment where the cargo is located must\
\ be empty\n * `CARGO_MULTIBOX_VIOLATION` - for an order of type `DROP_FROM_BOX`\
\ the indicated cargoes are in compartments of different vehicles\n * `CARGO_CAPACITY_VIOLATION`\
\ - the specified cargo on board exceeds the size of the compartment in which\
\ it is located\n * `CARGO_ORDER_VIOLATION` - the cargo specified in the\
\ order is not present in orders\n * `FEATURE_LIFETIME_VIOLATION` - feature\
\ time windows intersect with each other or the working window `working_window`\
\ for changing the performer or transport does not intersect with the feature\
\ time window\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
example: TIME_WINDOW_VIOLATION
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
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_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'
example: []
unplanned_items:
description: Unplanned items list.
type: object
additionalProperties: false
properties:
order_keys:
description: Unplanned order keys list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
description: Key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: key_01
order_keys_count:
description: Unplanned orders count.
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 99
performer_keys:
description: Unplanned performer keys list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
description: Key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: key_01
performer_keys_count:
description: Unplanned performers count.
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 99
transport_keys:
description: Unplanned transport keys list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
description: Key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: key_01
transport_keys_count:
description: Unplanned transports count.
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 99
hardlink_keys:
description: Unplanned hardlink keys list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
description: Key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: key_01
hardlink_keys_count:
description: Unplanned hardlinks count.
type: integer
format: int32
minimum: 0
maximum: 15001
default: 0
example: 99
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 start.\n * `IN_PROGRESS` - the calculation is in progress.\n * `FINISHED_IN_TIME`\
\ - the calculation was completed before the specified planning time.\n *\
\ `FINISHED_OUT_OF_TIME` - the calculation was completed because the specified\
\ planning time has expired.\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 * `FAILED` - the calculation failed with an error.\n"
type: string
enum:
- WAITING
- IN_PROGRESS
- FINISHED_IN_TIME
- FINISHED_OUT_OF_TIME
- CANCELED
- CANCELED_BY_TIMEOUT
- 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:
description: Time to prepare for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
$ref: '#/components/schemas/time_duration'
business_validation_time:
description: Business validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
$ref: '#/components/schemas/time_duration'
math_validation_time:
description: Math validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
$ref: '#/components/schemas/time_duration'
waiting_time:
description: Time to waiting for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
$ref: '#/components/schemas/time_duration'
calculation_time:
description: Actual calculation time, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
$ref: '#/components/schemas/time_duration'
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:
description: Schedule of trips assigned to performers.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
default: []
items:
$ref: '#/components/schemas/trip'
statistics:
$ref: '#/components/schemas/plan_statistics'
warnings:
$ref: '#/components/schemas/entity_warning_list'
unplanned_items:
$ref: '#/components/schemas/unplanned_items'
progress:
$ref: '#/components/schemas/calculation_progress'
info:
$ref: '#/components/schemas/calculation_info'
required:
- tracedata
- trips
- statistics
- progress
- info
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: Errors list.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/schema_error'
example: []
entity_error_type:
description: "Error type:\n * `INCONSISTENT_REFERENCE` - bad reference key\
\ \n * `UNIQUE_IDS_VIOLATION` - all keys must be unique\n * `INVALID_ROUTING_MATRIX`\
\ - bad routing matrix dimension\n * `INVALID_GEO_PROVIDER` - bad geo provider\n\
\ * `COMPATIBILITY_CARGO_BOX` - no cargo is compatible with any box\n *\
\ `COMPATIBILITY_TRANSPORT_PERFORMER` - no transport is compatible with any\
\ performer\n * `COMPATIBILITY_TRANSPORT_LOCATION` - no transport is compatible\
\ with any location\n * `COMPATIBILITY_ORDER_PERFORMER` - no order is compatible\
\ with any performer\n * `INCONSISTENT_HARDLINK` - essence key must be only\
\ in one hardlink\n * `PLANNING_HORIZON_EXCEEDED` - planning horizon exceeded\
\ (difference between earliest and latest timestamp)\n * `TOO_MANY_WARNINGS`\
\ - the number of warnings is greater than 15,000\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
- TOO_MANY_WARNINGS
example: INCONSISTENT_REFERENCE
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'
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_401:
description: 401 Error details.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
description: Error message.
type: string
nullable: true
example: Unauthorized
required:
- tracedata
general_402:
description: 402 Error details.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
description: Error message.
type: string
nullable: true
example: Payment Required
required:
- tracedata
general_404:
description: 404 Error details.
type: object
additionalProperties: false
properties:
resource_id:
description: Resource identifier.
type: string
nullable: true
default: null
example: resource_id
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 Message.
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 message.
type: string
nullable: true
example: Internal Server Error
required:
- tracedata
calculation_id:
description: Calculation identifier.
type: string
format: uuid
example: 11111111-2222-3333-4444-555555555555
calculation_async_result:
description: The result of starting an asynchronous calculation.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
id:
$ref: '#/components/schemas/calculation_id'
required:
- id
- tracedata
calculation_state:
description: Current calculation state.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
progress:
$ref: '#/components/schemas/calculation_progress'
info:
$ref: '#/components/schemas/calculation_info'
required:
- tracedata
- progress
- 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
fact_time:
description: Fact time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6)
format.
type: string
format: date-time
example: '2024-02-21T09:30:00+03:00'
order_fact_type:
description: "Possible order (demand) fact types:\n * `ORDER_DONE` - the order\
\ is completed, the cargo associated with the order is not in the box of the\
\ transport\n * `ORDER_CANCEL` - the order has been canceled, the behavior\
\ is similar to `ORDER_DONE`\n * `DEMAND_START` - performer started to fulfill\
\ the demand\n * `DEMAND_DONE` - performer finished to fulfill the demand\n"
type: string
enum:
- ORDER_DONE
- ORDER_CANCEL
- DEMAND_START
- DEMAND_DONE
example: ORDER_DONE
order_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/order_fact_type'
order_key:
description: Order key.
type: string
minLength: 1
maxLength: 1024
example: order_01
demand_key:
description: Demand key, required for facts with type `DEMAND_DONE` and
`DEMAND_START`.
type: string
nullable: true
minLength: 1
maxLength: 1024
example: order_01_demand_01
default: null
required:
- key
- time
- type
- order_key
performer_fact:
description: Fact.
type: object
additionalProperties: false
properties:
key:
description: Fact key.
type: string
minLength: 1
maxLength: 1024
example: fact_01
time:
$ref: '#/components/schemas/fact_time'
performer_key:
description: Performer's key.
type: string
minLength: 1
maxLength: 1024
example: performer_01
location_key:
description: Location key, unique identifier.
type: string
minLength: 1
maxLength: 1024
example: location01
required:
- key
- time
- performer_key
- location_key
facts:
description: 'Events that have taken place.
'
type: object
additionalProperties: false
properties:
order_facts:
description: 'List of order''s facts.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 50001
items:
$ref: '#/components/schemas/order_fact'
performer_facts:
description: 'List of performers''s facts.
'
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/performer_fact'
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'
trips_settings:
$ref: '#/components/schemas/trips_settings'
geo_settings:
$ref: '#/components/schemas/geo_settings'
calculation_settings:
$ref: '#/components/schemas/calculation_settings'
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: Orders list.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performers:
description: Available performers list.
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:
description: Assignments list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
default: []
items:
$ref: '#/components/schemas/hardlink'
trips:
description: Existing routes.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip'
facts:
$ref: '#/components/schemas/facts'
external_routing:
$ref: '#/components/schemas/routing_transport_matrix_list'
replan_settings:
$ref: '#/components/schemas/replan_settings'
dataset_name:
$ref: '#/components/schemas/dataset_name'
required:
- locations
- orders
- performers
- transports
- trips
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: '2024-02-21T09:30:00+03:00'
geo_settings:
$ref: '#/components/schemas/geo_settings'
calculation_settings:
$ref: '#/components/schemas/calculation_settings'
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: Orders list.
type: array
uniqueItems: true
minItems: 1
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performers:
description: Available performers list.
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:
description: Assignments list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/hardlink'
trips:
description: Existing routes.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip'
facts:
$ref: '#/components/schemas/facts'
external_routing:
$ref: '#/components/schemas/routing_transport_matrix_list'
actualize_settings:
$ref: '#/components/schemas/actualize_settings'
dataset_name:
$ref: '#/components/schemas/dataset_name'
required:
- locations
- orders
- performers
- transports
- trips
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:
description: List of locations used for orders and shifts.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/location'
orders:
description: Orders list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/order'
performers:
description: Available performers list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/performer'
transports:
description: Available transports list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/transport'
hardlinks:
description: Assignments list.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/hardlink'
trips:
description: Existing routes.
type: array
uniqueItems: true
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/trip'
facts:
$ref: '#/components/schemas/facts'
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 message.
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: 'Current health.
'
type: number
format: double
minimum: 0
maximum: 1
example: 0.999
required:
- health
version_result:
description: Service version.
type: object
additionalProperties: false
properties:
major:
description: 'Product version.
Within a single version, compatibility of common data structures between
services is guaranteed.
A version change indicates changes that are incompatible with previous
versions of the product (and all services).
'
type: integer
format: int32
minimum: 1
maximum: 100
example: 4
minor:
description: 'Minor version of the service.
A version change indicates new functionality.
The update is backward compatible with the major version of the service.
'
type: integer
format: int32
minimum: 0
maximum: 111
example: 4
build:
description: "Build version. \nContains backwards compatible bug fixes\
\ and docs update.\n"
type: string
minLength: 1
maxLength: 64
example: 1754RC
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: Tokyo
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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-08T07:00:00+00:00'
performers:
- key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: Moscow
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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-08T07:00:00+00:00'
performers:
- key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: Denver
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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-08T07:00:00+00:00'
performers:
- key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: Berlin
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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-08T07:00:00+00:00'
performers:
- key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: Beijing
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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-08T07:00:00+00:00'
performers:
- key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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
PlanResultTokyo:
summary: Tokyo
value:
tracedata:
code: 861c8e0a-2651-444e-b426-71cdccc31423
client: veeroute_|_example
server: edge
service: UNIVERSAL
operation: run_plan_calculation
time: '2024-02-01T11:50:15.123Z'
trips:
- key: performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:40:56Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:40:56Z'
states:
- time: '2024-02-08T04:48:15Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-08T04:48:15Z'
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_placements: []
attributes: []
- time: '2024-02-08T04:48:15Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:48:15Z'
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_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:48:15Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:48:15Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
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_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:12:04Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:12:04Z'
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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:27:04Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:27:04Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:30:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:30:56Z'
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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:40:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements: []
attributes: []
waitlist: []
attributes: []
statistics:
total_statistics:
cost: 2176.933
reward: 3000.3
measurements:
driving_time: PT52M41S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H27M41S
distance: 31306
time_window:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:40:56Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_transport_load:
mass: 0.006
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
trips_statistics:
- trip_key: performer_1_shift
statistics:
cost: 2176.9333333333334
reward: 3000.3
measurements:
driving_time: PT52M41S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H27M41S
distance: 31306
time_window:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:40:56Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
max_transport_load:
mass: 0.006
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
stop_statistics:
- location_key: location_storage
demand_ids:
- demand_2_pickup
- demand_1_pickup
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT0S
waiting_time: PT0S
working_time: PT0S
break_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT0S
distance: 0
time_window:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T04:48:15Z'
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: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_1
demand_ids:
- demand_1_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT21M45S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT31M45S
distance: 8878
time_window:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:10:00Z'
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: 0
capacity:
mass: 0
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
demand_ids:
- demand_3_work
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT17M4S
waiting_time: PT0S
break_time: PT0S
working_time: PT15M
arriving_time: PT0S
departure_time: PT0S
total_time: PT32M4S
distance: 10003
time_window:
from: '2024-02-08T05:10:00Z'
to: '2024-02-08T05:27:04Z'
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: 2
capacity:
mass: 2
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_2
demand_ids:
- demand_2_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT13M52S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT23M52S
distance: 12425
time_window:
from: '2024-02-08T05:27:04Z'
to: '2024-02-08T05:40:56Z'
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: 0
capacity:
mass: 0
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: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
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
progress: 100
info:
status: FINISHED_IN_TIME
result_version: 108
preparing_time: PT1M10S
business_validation_time: PT1M10S
math_validation_time: PT1M10S
waiting_time: PT15S
calculation_time: PT1M10S
warnings: []
unplanned_items:
order_keys: []
performer_keys: []
transport_keys: []
hardlink_keys: []
PlanResultMoscow:
summary: Moscow
value:
tracedata:
code: db3952a6-a529-4a42-b870-e5c6a419b29a
client: veeroute_|_example
server: edge
service: UNIVERSAL
operation: run_plan_calculation
time: '2024-02-28T17:06:33.856Z'
trips:
- key: ef2a1ae6-778c-49ca-b765-a1a365428941-performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2024-02-08T04:39:37Z'
to: '2024-02-08T05:53:46Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2024-02-08T04:39:37Z'
to: '2024-02-08T05:53:46Z'
states:
- time: '2024-02-08T04:39:37Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-08T04:39:37Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
order_key: order_1
demand_key: demand_1_pickup
event_key: demand_1_pickup_event
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-08T04:39:37Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:39:37Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- INSIDE_EVENT_HARD_WINDOW
order_key: order_2
demand_key: demand_2_pickup
event_key: demand_2_pickup_event
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:39:37Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:39:37Z'
flags:
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:39:37Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- 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_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:20:55Z'
flags:
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:20:55Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:20:55Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- 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_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:30:55Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements: []
attributes: []
- time: '2024-02-08T05:30:55Z'
flags:
- AROUND_LOCATION
location_key: location_client_1
cargo_placements: []
attributes: []
- time: '2024-02-08T05:30:55Z'
flags:
- RELOCATING
cargo_placements: []
attributes: []
- time: '2024-02-08T05:38:46Z'
flags:
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
- time: '2024-02-08T05:38:46Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
- time: '2024-02-08T05:38:46Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
- INSIDE_LOCATION_WINDOW
- ON_DEMAND
- 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_placements: []
attributes: []
- time: '2024-02-08T05:53:46Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
name: 1-HVFB
waitlist: []
attributes: []
statistics:
total_statistics:
cost: 6789.4
reward: 3000.3
measurements:
driving_time: PT39M9S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H14M9S
distance: 34040
time_window:
from: '2024-02-08T04:39:37Z'
to: '2024-02-08T05:53:46Z'
trips_count: 1
performers_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_transport_load:
mass: 0.01
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
trips_statistics:
- trip_key: ef2a1ae6-778c-49ca-b765-a1a365428941-performer_1_shift
statistics:
cost: 6789.4
reward: 3000.3
measurements:
driving_time: PT39M9S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H14M9S
distance: 34040
time_window:
from: '2024-02-08T04:39:37Z'
to: '2024-02-08T05:53:46Z'
trips_count: 1
performers_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
max_transport_load:
mass: 0.01
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
stop_statistics:
- location_key: location_storage
demand_ids:
- demand_2_pickup
- demand_1_pickup
stop_time_window:
from: '2024-02-08T04:39:37Z'
to: '2024-02-08T04:39:37Z'
measurements:
driving_time: PT0S
waiting_time: PT0S
break_time: PT0S
working_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT0S
distance: 0
time_window:
from: '2024-02-08T04:39:37Z'
to: '2024-02-08T04:39:37Z'
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
demand_ids:
- demand_2_drop
stop_time_window:
from: '2024-02-08T05:00:00Z'
to: '2024-02-08T05:10:00Z'
measurements:
driving_time: PT20M23S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT30M23S
distance: 17111
time_window:
from: '2024-02-08T04:39:37Z'
to: '2024-02-08T05:10:00Z'
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
demand_ids:
- demand_1_drop
stop_time_window:
from: '2024-02-08T05:20:55Z'
to: '2024-02-08T05:30:55Z'
measurements:
driving_time: PT10M55S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT20M55S
distance: 9897
time_window:
from: '2024-02-08T05:10:00Z'
to: '2024-02-08T05:30:55Z'
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
demand_ids:
- demand_3_work
stop_time_window:
from: '2024-02-08T05:38:46Z'
to: '2024-02-08T05:53:46Z'
measurements:
driving_time: PT7M51S
waiting_time: PT0S
break_time: PT0S
working_time: PT15M
arriving_time: PT0S
departure_time: PT0S
total_time: PT22M51S
distance: 7032
time_window:
from: '2024-02-08T05:30:55Z'
to: '2024-02-08T05:53:46Z'
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
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
progress: 100
info:
status: FINISHED_IN_TIME
result_version: 106
preparing_time: PT0S
business_validation_time: PT0S
math_validation_time: PT0S
waiting_time: PT0.004S
calculation_time: PT15.005S
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
PlanResultDenver:
summary: Denver
value:
tracedata:
code: 861c8e0a-2651-444e-b426-71cdccc31423
client: veeroute_|_example
server: edge
service: UNIVERSAL
operation: run_plan_calculation
time: '2024-02-01T11:50:15.123Z'
trips:
- key: performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2024-02-08T04:45:18Z'
to: '2024-02-08T05:54:57Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2024-02-08T04:45:18Z'
to: '2024-02-08T05:54:57Z'
states:
- time: '2024-02-08T04:45:18Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-08T04:45:18Z'
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_placements: []
attributes: []
- time: '2024-02-08T04:45:18Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:45:18Z'
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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:45:18Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:45:18Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:15:49Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:15:49Z'
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_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:25:49Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements: []
attributes: []
- time: '2024-02-08T05:25:49Z'
flags:
- RELOCATING
cargo_placements: []
attributes: []
- time: '2024-02-08T05:39:57Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
- time: '2024-02-08T05:39:57Z'
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_placements: []
attributes: []
- time: '2024-02-08T05:54:57Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
waitlist: []
attributes: []
statistics:
total_statistics:
cost: 2320.68
reward: 3000.3
measurements:
driving_time: PT1H9M39S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H44M39S
distance: 50270
time_window:
from: '2024-02-08T04:45:18Z'
to: '2024-02-08T05:54:57Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_transport_load:
mass: 0.006
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
trips_statistics:
- trip_key: performer_1_shift
statistics:
cost: 2320.6800000000003
reward: 3000.3
measurements:
driving_time: PT1H9M39S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H44M39S
distance: 50270
time_window:
from: '2024-02-08T04:45:18Z'
to: '2024-02-08T05:54:57Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
max_transport_load:
mass: 0.006
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
stop_statistics:
- location_key: location_storage
demand_ids:
- demand_2_pickup
- demand_1_pickup
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT0S
waiting_time: PT0S
break_time: PT0S
working_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT0S
distance: 0
time_window:
from: '2024-02-08T04:45:18Z'
to: '2024-02-08T04:45:18Z'
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: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_2
demand_ids:
- demand_2_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT24M42S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT34M42S
distance: 10478
time_window:
from: '2024-02-08T04:45:18Z'
to: '2024-02-08T05:10:00Z'
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: 0
capacity:
mass: 0
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_1
demand_ids:
- demand_1_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT15M49S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT25M49S
distance: 14689
time_window:
from: '2024-02-08T05:10:00Z'
to: '2024-02-08T05:25:49Z'
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: 0
capacity:
mass: 0
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: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_3
demand_ids:
- demand_3_work
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT29M8S
waiting_time: PT0S
break_time: PT0S
working_time: PT15M
arriving_time: PT0S
departure_time: PT0S
total_time: PT44M8S
distance: 25103
time_window:
from: '2024-02-08T05:25:49Z'
to: '2024-02-08T05:54:57Z'
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: 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
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
progress: 100
info:
status: FINISHED_IN_TIME
result_version: 108
preparing_time: PT1M10S
business_validation_time: PT1M10S
math_validation_time: PT1M10S
waiting_time: PT15S
calculation_time: PT1M10S
warnings: []
unplanned_items:
order_keys: []
performer_keys: []
transport_keys: []
hardlink_keys: []
PlanResultBerlin:
summary: Berlin
value:
tracedata:
code: 861c8e0a-2651-444e-b426-71cdccc31423
client: veeroute_|_example
server: edge
service: UNIVERSAL
operation: run_plan_calculation
time: '2024-02-01T11:50:15.123Z'
trips:
- key: performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:40:56Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:40:56Z'
states:
- time: '2024-02-08T04:48:15Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-08T04:48:15Z'
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_placements: []
attributes: []
- time: '2024-02-08T04:48:15Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:48:15Z'
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_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:48:15Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T04:48:15Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
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_placements:
- box_key: box_1
cargo_key: order_2_cargos
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:12:04Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:12:04Z'
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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:27:04Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:27:04Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:30:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:30:56Z'
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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:40:56Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements: []
attributes: []
waitlist: []
attributes: []
statistics:
total_statistics:
cost: 2176.933
reward: 3000.3
measurements:
driving_time: PT52M41S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H27M41S
distance: 31306
time_window:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:40:56Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_transport_load:
mass: 0.006
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
trips_statistics:
- trip_key: performer_1_shift
statistics:
cost: 2176.9333333333334
reward: 3000.3
measurements:
driving_time: PT52M41S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H27M41S
distance: 31306
time_window:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:40:56Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
max_transport_load:
mass: 0.006
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
stop_statistics:
- location_key: location_storage
demand_ids:
- demand_2_pickup
- demand_1_pickup
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT0S
waiting_time: PT0S
break_time: PT0S
working_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT0S
distance: 0
time_window:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T04:48:15Z'
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: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_1
demand_ids:
- demand_1_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT21M45S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT31M45S
distance: 8878
time_window:
from: '2024-02-08T04:48:15Z'
to: '2024-02-08T05:10:00Z'
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: 0
capacity:
mass: 0
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
demand_ids:
- demand_3_work
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT17M4S
waiting_time: PT0S
break_time: PT0S
working_time: PT15M
arriving_time: PT0S
departure_time: PT0S
total_time: PT32M4S
distance: 10003
time_window:
from: '2024-02-08T05:10:00Z'
to: '2024-02-08T05:27:04Z'
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: 2
capacity:
mass: 2
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_2
demand_ids:
- demand_2_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT13M52S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT23M52S
distance: 12425
time_window:
from: '2024-02-08T05:27:04Z'
to: '2024-02-08T05:40:56Z'
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: 0
capacity:
mass: 0
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: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
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
progress: 100
info:
status: FINISHED_IN_TIME
result_version: 108
preparing_time: PT1M10S
business_validation_time: PT1M10S
math_validation_time: PT1M10S
waiting_time: PT15S
calculation_time: PT1M10S
warnings: []
unplanned_items:
order_keys: []
performer_keys: []
transport_keys: []
hardlink_keys: []
PlanResultBeijing:
summary: Beijing
value:
tracedata:
code: 861c8e0a-2651-444e-b426-71cdccc31423
client: veeroute_|_example
server: edge
service: UNIVERSAL
operation: run_plan_calculation
time: '2024-02-01T11:50:15.123Z'
trips:
- key: performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2024-02-08T04:50:28Z'
to: '2024-02-08T05:47:33Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2024-02-08T04:50:28Z'
to: '2024-02-08T05:47:33Z'
states:
- time: '2024-02-08T04:50:28Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-08T04:50:28Z'
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_placements: []
attributes: []
- time: '2024-02-08T04:50:28Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:50:28Z'
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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:50:28Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:50:28Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
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_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:15:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:15:00Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:16:45Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:16:45Z'
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_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:26:45Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:26:45Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:37:33Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:37:33Z'
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_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:47:33Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements: []
attributes: []
waitlist: []
attributes: []
statistics:
total_statistics:
cost: 2256.053
reward: 3000.3
measurements:
driving_time: PT57M5S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H32M5S
distance: 38666
time_window:
from: '2024-02-08T04:50:28Z'
to: '2024-02-08T05:47:33Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_transport_load:
mass: 0.006
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
trips_statistics:
- trip_key: performer_1_shift
statistics:
cost: 2256.0533333333333
reward: 3000.3
measurements:
driving_time: PT57M5S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H32M5S
distance: 38666
time_window:
from: '2024-02-08T04:50:28Z'
to: '2024-02-08T05:47:33Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
max_transport_load:
mass: 0.006
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
stop_statistics:
- location_key: location_storage
demand_ids:
- demand_2_pickup
- demand_1_pickup
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT0S
waiting_time: PT0S
break_time: PT0S
working_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT0S
distance: 0
time_window:
from: '2024-02-08T04:50:28Z'
to: '2024-02-08T04:50:28Z'
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: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_3
demand_ids:
- demand_3_work
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT24M32S
waiting_time: PT0S
break_time: PT0S
working_time: PT15M
arriving_time: PT0S
departure_time: PT0S
total_time: PT39M32S
distance: 8647
time_window:
from: '2024-02-08T04:50:28Z'
to: '2024-02-08T05:15:00Z'
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: 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_2
demand_ids:
- demand_2_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT11M45S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT21M45S
distance: 10122
time_window:
from: '2024-02-08T05:15:00Z'
to: '2024-02-08T05:26:45Z'
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: 0
capacity:
mass: 0
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_1
demand_ids:
- demand_1_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT20M48S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT30M48S
distance: 19897
time_window:
from: '2024-02-08T05:26:45Z'
to: '2024-02-08T05:47:33Z'
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: 0
capacity:
mass: 0
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: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
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
progress: 100
info:
status: FINISHED_IN_TIME
result_version: 108
preparing_time: PT1M10S
business_validation_time: PT1M10S
math_validation_time: PT1M10S
waiting_time: PT15S
calculation_time: PT1M10S
warnings: []
unplanned_items:
order_keys: []
performer_keys: []
transport_keys: []
hardlink_keys: []
Result400:
summary: Errors in data
value:
tracedata:
code: 215b87e0-4407-4e0f-b2cc-8540f8f0cad7
client: veeroute_|_example
server: edge
service: UNIVERSAL
operation: run_plan_calculation
time: '2024-02-28T17:13:27.945583194Z'
message: logical
schema_errors: []
logical_errors:
- type: UNIQUE_IDS_VIOLATION
entities:
- entity_key: order_1
entity_type: ORDER
warnings: []
ValidateResultExample:
summary: Validate example
value:
tracedata:
code: 87d0c1a7-375b-412e-9ab8-8f4be24d0456
client: veeroute_|_example
server: edge
service: UNIVERSAL
operation: run_plan_validation
time: '2024-02-01T11:50:15.123Z'
warnings:
- type: NO_AVAILABLE_TRANSPORT
entities:
- entity_key: ord0001
entity_type: ORDER
ReplanTaskMoscow:
summary: Moscow
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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-08T07:00:00+00:00'
performers:
- key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
states:
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-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_placements: []
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:20:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:30:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements: []
attributes: []
- time: '2024-02-08T05:30:52Z'
flags:
- RELOCATING
cargo_placements: []
attributes: []
- time: '2024-02-08T05:38:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
- time: '2024-02-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_placements: []
attributes: []
- time: '2024-02-08T05:53:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
waitlist: []
attributes: []
ReplanResultMoscow:
summary: Moscow
value:
tracedata:
code: 861c8e0a-2651-444e-b426-71cdccc31423
client: veeroute_|_example
server: edge
service: UNIVERSAL
operation: run_replan_calculation
time: '2024-02-01T11:50:15.123Z'
trips:
- key: performer_1_shift
performer:
performer_key: performer_1
shift_key: performer_1_shift
shift_time:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
states:
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-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_placements: []
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:20:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:30:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements: []
attributes: []
- time: '2024-02-08T05:30:52Z'
flags:
- RELOCATING
cargo_placements: []
attributes: []
- time: '2024-02-08T05:38:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
- time: '2024-02-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_placements: []
attributes: []
- time: '2024-02-08T05:53:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
waitlist: []
attributes: []
statistics:
total_statistics:
cost: 2415.263
reward: 3000.3
measurements:
driving_time: PT1H15M5S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H50M5S
distance: 78117
time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
max_transport_load:
mass: 0.006
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
trips_statistics:
- trip_key: performer_1_shift
statistics:
cost: 2415.2633333333333
reward: 3000.3
measurements:
driving_time: PT1H15M5S
waiting_time: PT0S
break_time: PT0S
working_time: PT35M
arriving_time: PT0S
departure_time: PT0S
total_time: PT1H50M5S
distance: 78117
time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
performers_count: 1
trips_count: 1
orders_count: 3
plan_orders_count: 3
waitlist_orders_count: 0
cargo_capacity_ratio:
mass: 0.01
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
max_transport_load:
mass: 0.006
volume: 1
capacity_a: 1
capacity_b: 1
capacity_c: 1
quality:
soft_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
hard_time_window_violations:
before:
keys: []
count: 0
after:
keys: []
count: 0
stop_statistics:
- location_key: location_storage
demand_ids:
- demand_2_pickup
- demand_1_pickup
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT0S
waiting_time: PT0S
break_time: PT0S
working_time: PT0S
arriving_time: PT0S
departure_time: PT0S
total_time: PT0S
distance: 0
time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
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: 1
capacity:
mass: 1
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_2
demand_ids:
- demand_2_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT31M26S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT41M26S
distance: 17108
time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:10:00Z'
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: 0
capacity:
mass: 0
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_1
demand_ids:
- demand_1_drop
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT20M52S
waiting_time: PT0S
break_time: PT0S
working_time: PT10M
arriving_time: PT0S
departure_time: PT0S
total_time: PT30M52S
distance: 26991
time_window:
from: '2024-02-08T05:10:00Z'
to: '2024-02-08T05:30:52Z'
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: 0
capacity:
mass: 0
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: 0
capacity:
mass: 0
volume: 0
capacity_a: 0
capacity_b: 0
capacity_c: 0
- location_key: location_client_3
demand_ids:
- demand_3_work
stop_time_window:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T04:38:34Z'
measurements:
driving_time: PT22M47S
waiting_time: PT0S
break_time: PT0S
working_time: PT15M
arriving_time: PT0S
departure_time: PT0S
total_time: PT37M47S
distance: 34018
time_window:
from: '2024-02-08T05:30:52Z'
to: '2024-02-08T05:53:39Z'
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: 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
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
progress: 100
info:
status: FINISHED_IN_TIME
result_version: 108
preparing_time: PT1M10S
business_validation_time: PT1M10S
math_validation_time: PT1M10S
waiting_time: PT15S
calculation_time: PT1M10S
warnings: []
unplanned_items:
order_keys: []
performer_keys: []
transport_keys: []
hardlink_keys: []
ActualizeTaskMoscow:
summary: Moscow
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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-08T07:00:00+00:00'
performers:
- key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
states:
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-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_placements: []
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:20:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:30:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements: []
attributes: []
- time: '2024-02-08T05:30:52Z'
flags:
- RELOCATING
cargo_placements: []
attributes: []
- time: '2024-02-08T05:38:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
- time: '2024-02-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_placements: []
attributes: []
- time: '2024-02-08T05:53:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
waitlist: []
attributes: []
ConvertTaskMoscow:
summary: Moscow
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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T05:00:00+00:00'
to: '2024-02-08T07:00:00+00:00'
performers:
- key: performer_1
shifts:
- key: performer_1_shift
availability_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-07T21:00:00+00:00'
to: '2024-02-08T20:59:59+00:00'
working_time:
from: '2024-02-07T21:00:00+00:00'
to: '2024-02-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: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
transport:
transport_key: transport_1
shift_key: transport_1_shift
shift_time:
from: '2024-02-08T04:38:34Z'
to: '2024-02-08T05:53:39Z'
states:
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements: []
attributes: []
- time: '2024-02-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_placements: []
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_storage
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T04:38:34Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:00:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_1_cargos
- box_key: box_1
cargo_key: order_2_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_2
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:10:00Z'
flags:
- RELOCATING
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:20:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-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_placements:
- box_key: box_1
cargo_key: order_1_cargos
attributes: []
- time: '2024-02-08T05:30:52Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_1
cargo_placements: []
attributes: []
- time: '2024-02-08T05:30:52Z'
flags:
- RELOCATING
cargo_placements: []
attributes: []
- time: '2024-02-08T05:38:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
- time: '2024-02-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_placements: []
attributes: []
- time: '2024-02-08T05:53:39Z'
flags:
- INSIDE_LOCATION
- AROUND_LOCATION
location_key: location_client_3
cargo_placements: []
attributes: []
waitlist: []
attributes: []
responses:
'401':
description: 'Unauthorized - token missing or invalid
'
content:
application/json:
schema:
$ref: '#/components/schemas/general_401'
'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:
result_id:
name: id
in: path
description: Calculation identifier.
required: true
schema:
$ref: '#/components/schemas/calculation_id'
filename:
name: filename
description: File name.
in: path
required: true
schema:
description: File name.
type: string
minLength: 6
maxLength: 128
example: file_en.html