openapi: 3.0.3 info: title: VRt.Universal [UV] version: 5.12.1836 license: name: Veeroute License url: https://veeroute.com/resources/license 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\n**VRt.Universal** is designed to solve complex problems\ \ which may include two types of orders - deliveries/pick-ups as well as service\ \ orders.\n\nThis service suits for complex cases, especially if it is possible\ \ to change business requirements during the integration with the service.\n\n\ ## Features\n\n* Ability to pick up cargo from any location\n* Ability of unloading\ \ in any location\n* Demand types: pickup (loading of cargo), drop (unloading\ \ of cargo), work (work on the location without moving the cargo)\n* An order\ \ can include several demands (a delivery order consists of at least two demands:\ \ pickup and drop; a work order can include either a single work or a set of works;\ \ a complex order can consist of any number of demands of any type: pickup, drop,\ \ work)\n* Transport and performers are different entities, during the planning\ \ the appropriate performer is assigned to the transport\n* A transport may have\ \ several compartments for different types of cargo. Each compartment may have\ \ different parameters\n* Accounting for the transport and cargo compatibility\ \ (by dimensions: length, width, height)\n* Accounting for the compartment and\ \ cargo compatibility (refrigerator, thermal bag, fasteners, etc.)\n* Alternative\ \ demands are supported, i. e. the ability to fulfil one of the demands, which\ \ is selected according to its geographical 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 | RELOCATION \ \ \ \ | - / - / - / - \ \ | 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\ \ | RELOCATION
INSIDE_WORKING_WINDOW \ \ \ \ | - / - / - / - | we go to the next order |\n\n## Planning\ \ configuration\n\nFor each planning, you can specify a planning configuration\ \ that determines the objective function, desired route quality, and calculation\ \ speed.\n\nThe name of the planning configuration is passed to the `settings.configuration`\ \ field.\n\nPossible options:\n\n| Name |\ \ Task \ \ \ \ |\n|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n\ | **optimize_distance** | Used by default: to deliver as many\ \ orders as possible, then minimize the total mileage (the number of transports\ \ is selected based on mileage) |\n| **visual_grouping**\ \ | To deliver as many orders as possible, using as little\ \ transports as possible. The routes should be grouped visually \ \ |\n| **optimize_transports** \ \ | To deliver as many orders as possible, using as little transports as\ \ possible, as also to optimize the working hours of performers \ \ |\n| **optimize_locality_grouping** | To deliver\ \ as many orders as possible, with visual grouping for the trips (all the delivery\ \ locations should be close to each other) |\n\ | **optimize_cars_then_distance** | To deliver as many orders as possible,\ \ then optimize the quantity of transports, then mileage \ \ |\n| **optimize_time** \ \ | To deliver as many orders as possible, then optimize\ \ the total time of the performers \ \ |\n| **optimize_cars_then_time** \ \ | To deliver as many orders as possible, then optimize the quantity of\ \ transports, then the total time of the performers \ \ |\n| **optimize_visual_grouping** | To deliver\ \ as many orders as possible, then distribute orders equally based on transport\ \ accessibility zones (as visual_grouping, but this is calculated differently)\ \ |\n| **optimize_cars_then_locality_grouping** | To deliver as many orders as\ \ possible, then optimize the number of transports, then visual grouping of routes\ \ |\n| **optimize_money**\ \ | To optimize the value of profit - costs, which consists\ \ of demand fulfillment rewards and expenses for performers and transports (optimized\ \ value is non-negative) |\n\nIn addition to existing planning options, you\ \ can create an objective function for the client's business processes ([ask us\ \ for the configuration](mailto:servicedesk@veeroute.com)).\n\nIt is recommended\ \ to use the **optimize_cars_then_distance** for development, because this configuration\ \ does not require a detailed selection of tariffs and order prices.\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\nAll 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_validations_as_errors`, the\ \ results of this type of validation are returned to `validations` 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 `validations` or together with the scheduling\ \ result.\n\n## Entity relationship diagram\n\n![erd](../uml/universal.svg)\n\n\ ## Analytics\n\n\n\ \nAnalytics\ \ allows you to get data in different aspects for analysis and contains data from\ \ different viewpoints:\n\n\n\n\n# Xlsx\n\n\n\n## Performers\n\nThe name of the sheet is `performers`.\n\nList of available\ \ performers.\n\nDescribed object:\n\n\n## Transports\n\nThe name of the sheet is `transports`.\n\nList of available\ \ transport.\n\nDescribed object:\n\n\n## Boxes\n\nThe name of the sheet is `transports.boxes`.\n\nList of transport\ \ compartments that can hold cargo.\nThe table is required if there are orders\ \ with `PICKUP` and `DROP` types in the calculation.\nIn the description of the\ \ compartments, those fields that describe the cargo are required.\n\nDescribed\ \ object:\n\n\n## Orders\n\ \nThe name of the sheet is `orders`.\n\nOrder list.\n\nDescribed object:\n\n\n## Cargos\n\nThe name of the\ \ sheet is `orders.cargos`.\n\nList of cargoes. May contain one load for `DROP`,\ \ list for `PICKUP`, empty for `WORK`.\nThe table is optional if all tickets are\ \ of type `WORK`.\n\nDescribed object:\n\n\n## Hardlinks\n\nThe name of the sheet is `hardlinks`.\n\nAppointment list.\n\ \nDescribed object:\n\n\n## Trips\n\nThe name of the sheet is `trips`.\n\nList of flights.\n\n\ Described object:\n\n\ \n## Facts\n\nThe name of the sheet is `facts`.\n\nList of facts.\n\nDescribed\ \ object:\n\n\n##\ \ Plan settings\n\nThe name of the sheet is `plan_settings`.\n\nPlanning settings.\n\ \nDescribed object:\n\n\n## Actualize settings\n\nThe name of the sheet is `actualize_settings`.\n\ \nActualize settings.\n\nDescribed object:\n\n\n## Replan settings\n\nThe name of the sheet is `replan_settings`.\n\n\ Replan settings.\n\nDescribed object:\n\n" externalDocs: description: Main site url: https://veeroute.com/ servers: - url: https://api.edge.veeroute.tech description: Environment for integration and early access to the new features - url: https://api.prod.veeroute.tech 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: Replan description: 'Replanning - creating new trips from existing trips, orders, performers and transport. ' - name: Actualize description: 'Trips actualization - updating the planned lead time, taking into account the facts and without changing the order of the roundabout. ' - name: Predict description: 'Optimal order time window prediction. ' - name: Convert description: 'Data conversion. ' - name: Analytics description: 'Planning result analytics. ' - name: System description: 'Helpers. ' 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/plan_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_validations' '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'' 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_validations' '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_validations' '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_validations' '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_validations' '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_validations' '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_validations' '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_validations' '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'' 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_validations' '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_validations' '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_validations' '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_validations' '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_validations' '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_validations' '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_validations' '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: Trips 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_validations' '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_validations' '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_validations' '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/predict/calculation: post: tags: - Predict summary: Time window predict description: Order time window prediction. operationId: run_predict_calculation requestBody: description: New request for order time window predict. required: true content: application/json: schema: $ref: '#/components/schemas/predict_task' examples: PredictTaskMoscow: $ref: '#/components/examples/PredictTaskMoscow' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/predict_result' '400': $ref: '#/components/responses/400_with_errors_and_validations' '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/predict/validation: post: tags: - Predict summary: Data validation description: Check data before using. operationId: run_predict_validation requestBody: description: Data for validation. required: true content: application/json: schema: $ref: '#/components/schemas/predict_task' examples: PredictTaskMoscow: $ref: '#/components/examples/PredictTaskMoscow' 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_validations' '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_validations' '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_validations' '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/analytics/overview: post: tags: - Analytics summary: Data analytics description: Used to get [analytics](#section/Description/Analytics) on the results of planning. operationId: run_analytics_overview requestBody: description: Request for analytics. required: true content: application/json: schema: $ref: '#/components/schemas/analytics_overview_task' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/analytics_overview_result' '400': $ref: '#/components/responses/400_with_errors_and_validations' '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/analytics/overview_xlsx: post: tags: - Analytics summary: Data analytics (XLSX) description: Used to get [analytics](#operation/run_analytics_overview) on the results of planning. operationId: run_analytics_overview_xlsx requestBody: description: Request for analytics. required: true content: application/json: schema: $ref: '#/components/schemas/analytics_overview_task' responses: '200': description: Successful execution content: application/octet-stream: schema: $ref: '#/components/schemas/file_xlsx' '400': $ref: '#/components/responses/400_with_errors_and_validations' '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/analytics/unplanned: post: tags: - Analytics summary: Unplanned essences analytics description: Used to get analytics by unplanned essences on the results of planning. operationId: run_analytics_unplanned requestBody: description: Request for analytics. required: true content: application/json: schema: $ref: '#/components/schemas/analytics_unplanned_task' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/analytics_unplanned_result' '400': $ref: '#/components/responses/400_with_errors_and_validations' '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 nullable: 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 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 [RFC 3339, section 5.6 (ISO 8601)](https://tools.ietf.org/html/rfc3339#section-5.6) format. ' type: string format: date-time example: '2022-06-21T09:30:00+03:00' to: description: 'Date and time in the [RFC 3339, section 5.6 (ISO 8601)](https://tools.ietf.org/html/rfc3339#section-5.6) format. ' type: string format: date-time example: '2022-06-21T19:45:00Z' required: - from - to transport_restrictions: description: 'List of transport requirements. Used to check whether the transport is compatible with the performer and location. ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Requirement for a transport. type: string minLength: 1 maxLength: 256 example: - B1 location_compatibilities: description: 'Location [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: transport_restrictions: $ref: '#/components/schemas/transport_restrictions' attribute: description: Attribute. type: object additionalProperties: false nullable: 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: 1000 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 nullable: false properties: key: description: Location key, unique identifier. type: string minLength: 1 maxLength: 1024 example: location01 geopoint: $ref: '#/components/schemas/geopoint' arrival_duration: $ref: '#/components/schemas/time_duration' description: Time for driving up to the location (or waiting time at parking lot). departure_duration: $ref: '#/components/schemas/time_duration' description: Time to leave the location. 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 possible_event: description: 'Possible event. Combines the geographical location and the time window, when a demand can be completed. ' type: object additionalProperties: false nullable: 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: $ref: '#/components/schemas/time_duration' description: Event execution time. reward: description: Reward for the event. type: number format: double minimum: 0 maximum: 1000000 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 nullable: false properties: key: description: Demand key, unique identifier. type: string minLength: 1 maxLength: 1024 example: demand_1 demand_type: description: The demand types are loading (`PICKUP`), unloading (`DROP`), work at the location (`WORK`). nullable: false type: string enum: - PICKUP - DROP - WORK example: WORK target_cargos: description: Cargo keys list for `PICKUP`, one cargo key for `DROP`, empty key for `WORK`. type: array minItems: 0 maxItems: 1000 uniqueItems: true items: description: Cargo key. type: string minLength: 1 maxLength: 1024 example: - cargo01 precedence_in_trip: description: Precedence within a trip, 0 - the precedence is not taken into account. type: integer format: int32 minimum: 0 maximum: 30001 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: 30001 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 capacity 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 capacity 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 capacity 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 nullable: false 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 box_restrictions: description: 'List of necessary restrictions for a transport''s box. ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Box restriction. type: string minLength: 1 maxLength: 256 example: - DRY cargo_features: description: 'Cargo''s features list. Used to check whether the cargo is compatible with other cargos. ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Cargo's feature. type: string minLength: 1 maxLength: 256 example: - DRY cargo_restrictions: description: 'Requirements list for the cargo. Used to check whether the cargo is compatible with other cargos. ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Requirement for the cargo. type: string minLength: 1 maxLength: 256 example: - DRY 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: $ref: '#/components/schemas/box_restrictions' cargo_features: $ref: '#/components/schemas/cargo_features' cargo_restrictions: $ref: '#/components/schemas/cargo_restrictions' cargo: description: Cargo. type: object additionalProperties: false nullable: false properties: key: description: Cargo key, unique identifier. type: string minLength: 1 maxLength: 1024 example: cargo01 capacity: $ref: '#/components/schemas/capacity' compatibilities: $ref: '#/components/schemas/cargo_compatibilities' required: - key order_features: description: Order features list. type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Order feature. type: string minLength: 1 maxLength: 256 example: - EXPRESS order_restrictions: description: List of requirements for an order being delivered during the same trip. type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Order requirements. type: string minLength: 1 maxLength: 256 example: - EXPRESS performer_restrictions: description: 'Requirements list for the performer. Used for checking the compatibility of the performer and the order (work). ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Requirement for the performer. type: string minLength: 1 maxLength: 256 example: - EXPRESS performer_blacklist: description: 'A list of requirements that the performer is not allowed to have. Used for checking the compatibility of the performer and the order (work). This list should not intersect with `performer_restrictions`. ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Prohibited requirement for the performer. type: string minLength: 1 maxLength: 256 example: - A0 order_compatibilities: description: 'Order [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: order_features: $ref: '#/components/schemas/order_features' order_restrictions: $ref: '#/components/schemas/order_restrictions' performer_restrictions: $ref: '#/components/schemas/performer_restrictions' performer_blacklist: $ref: '#/components/schemas/performer_blacklist' order: description: The order for delivery/transportation, contains a list of demands. type: object additionalProperties: false nullable: 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: 'Cargo list. Can contain one cargo for `DROP`, a list for `PICKUP`, should be empty for `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 nullable: false properties: stage_length: description: Length of the paid period, in minutes. type: integer format: int32 minimum: 1 maximum: 525960 default: 525960 example: 480 cost_per_unit: description: 'Cost within the paid period, monetary unit per minute 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 nullable: 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: 525960 cost_per_unit: 0.001 max_penalty_cost: description: 'Max sum of penalties for performer or transport using this shift, monetary unit. If the sum is not set or equal to null, the performer cannot violate the restrictions. ' type: number format: double minimum: 0 maximum: 1000000 default: 0 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: $ref: '#/components/schemas/time_duration' description: Total work time after which you need to take a break. duration: $ref: '#/components/schemas/time_duration' description: Length of break period. required: - max_work_duration_sum - duration work_and_rest_rules: description: 'Work and rest rules. ' type: object additionalProperties: false nullable: 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 nullable: 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 * `TUK_TUK` - tuk-tuk\n * `BICYCLE` - bicycle\n\ \ * `PEDESTRIAN` - pedestrian \n * `PUBLIC_TRANSPORT` - public transport\n" type: string nullable: false enum: - CAR - TRUCK_1500 - TRUCK_3000 - TRUCK_5000 - TRUCK_10000 - TRUCK_20000 - TUK_TUK - BICYCLE - PEDESTRIAN - PUBLIC_TRANSPORT default: CAR example: CAR performer_features: description: 'Performer''s features list. Used to check whether the performer is compatible with orders. ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Performer's feature. type: string minLength: 1 maxLength: 256 example: - B1 - EXPRESS performer_compatibilities: description: 'Performer [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: performer_features: $ref: '#/components/schemas/performer_features' transport_restrictions: $ref: '#/components/schemas/transport_restrictions' 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 nullable: 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: 30001 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 nullable: 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 nullable: 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 max_penalty_cost: description: 'Max sum of penalties for transport using this shift, monetary unit. If the sum is not set or equal to null, the transport cannot violate the restrictions. ' type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 2000 transport_shift: description: 'A transport work shift that determines the availability of a transport for scheduling within its availability time window. ' type: object additionalProperties: false nullable: 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: 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_features: description: 'Box features list that determines compatibility with the cargo. ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Box feature. type: string minLength: 1 maxLength: 256 example: - Freezer 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: $ref: '#/components/schemas/box_features' 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. `capacity` - the compartment capacity, which limits the maximum amount for all `capacity` fields of *all* the cargoes. ' type: object additionalProperties: false nullable: false properties: key: description: Unique compartment key used to identify the cargo placement in compartments. type: string minLength: 1 maxLength: 1024 example: box01 capacity: $ref: '#/components/schemas/capacity' compatibilities: $ref: '#/components/schemas/box_compatibilities' limits: $ref: '#/components/schemas/box_limits' required: - key transport_features: description: 'Transport features list, it is used to check whether the transport is compatible with locations and performers. ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: description: Transport's feature. type: string minLength: 1 maxLength: 256 example: - 20T transport_compatibilities: description: 'Transport [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: transport_features: $ref: '#/components/schemas/transport_features' performer_restrictions: $ref: '#/components/schemas/performer_restrictions' 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 nullable: 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: 30001 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 nullable: false 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 nullable: 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 nullable: false 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 nullable: false properties: transport_type: $ref: '#/components/schemas/transport_type' speed: description: Average transport speed multiplier. type: number format: double minimum: 0.1 maximum: 1000 example: 2.5 required: - transport_type - speed capacity_factor: description: 'Capacity change rate for the specified transport type. ' type: object additionalProperties: false nullable: false properties: transport_type: $ref: '#/components/schemas/transport_type' capacity: $ref: '#/components/schemas/capacity' required: - transport_type - capacity trip_assumptions: description: 'Planning assumptions - ability to disable a part of the planning business logic. ' type: object additionalProperties: false nullable: false properties: transport_factor: description: Transport speed change coefficients. type: array minItems: 0 maxItems: 10 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: 10 default: [] uniqueItems: true items: $ref: '#/components/schemas/capacity_factor' disable_compatibility: description: 'Disable the accounting for capacity. If `true` is specified, all becomes compatible with everything. ' type: boolean default: false example: true disable_capacity: description: 'Disable the accounting for capacity. If `true` is specified, all transports can accommodate an unlimited cargo amount. ' type: boolean default: false example: true same_order_time_window: description: 'Use for calculation the same (specified) time window for orders and demands. The time window is specified from the beginning of the earliest window to the end of the latest window from all orders and demands. ' type: boolean default: false example: true expand_shift_time_window: description: 'Expand the time window for performer and transport shifts. The left border of the first shift extends to the left border of the specified window, right border extends to the right border or to the beginning of the next window for this entity. Each next shift moves the right border to the next shift or to the right border of the specified window. ' type: boolean default: false example: true compatibility_penalty: description: 'Penalty for violation of compatibility. ' type: object additionalProperties: false nullable: false properties: tag: description: 'Tag from list of [compatibilities](https://docs.veeroute.ru/#/lss/universal?id=compatibilities). ' type: string minLength: 1 maxLength: 256 example: B1 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 nullable: 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 nullable: 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 nullable: false 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 minItems: 0 maxItems: 5 uniqueItems: true default: [] items: description: Zone id. type: string minLength: 1 maxLength: 256 example: - ART_MOSCOW_MKAD_CARGO_FRAME waypoint: description: 'Waypoint. ' type: object additionalProperties: false nullable: 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. 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: 30001 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 nullable: false properties: waypoints: description: Array of geographical points with distances and times calculated between them. type: array minItems: 2 maxItems: 30001 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: 30001 uniqueItems: false items: $ref: '#/components/schemas/routing_matrix_line' durations: description: 'Array of route durations between two neighbors locations, in minutes. 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: 30001 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 nullable: 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. By specifying an external routing matrix `external_routing`, parameters `geo_settings` are not used. ' type: array uniqueItems: true minItems: 0 maxItems: 10 default: [] items: $ref: '#/components/schemas/routing_transport_matrix' calculation_settings: description: Calculation settings. type: object additionalProperties: false nullable: 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 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 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: PT30M example: PT2H result_ttl: description: 'Calculation result lifetime. The countdown starts from the time when the calculation is completed. ' type: string 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_validations_as_errors: description: 'Treat validations 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 nullable: false properties: trips_settings: $ref: '#/components/schemas/trips_settings' geo_settings: $ref: '#/components/schemas/geo_settings' external_routing: $ref: '#/components/schemas/routing_transport_matrix_list' calculation_settings: $ref: '#/components/schemas/calculation_settings' 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: 30001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 30001 default: [] items: $ref: '#/components/schemas/hardlink' plan_settings: $ref: '#/components/schemas/plan_settings' required: - locations - orders - performers - transports service_name: description: Service name. type: string nullable: false enum: - UNIVERSAL - ROUTING - ACCOUNT - ADMIN - STUDIO - 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 nullable: 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 [RFC 3339, section 5.6 (ISO 8601)](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2022-06-21T09:30:00+03:00' required: - code - client - server - service - operation - time assigned_performer: description: Performer's shift assigned to the specified time (`shift_time`). type: object additionalProperties: false nullable: 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 nullable: 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 nullable: false 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 nullable: 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 trip_state: description: Trip state. type: object additionalProperties: false nullable: false properties: time: description: Start time according to the [RFC 3339, section 5.6 (ISO 8601)](https://tools.ietf.org/html/rfc3339#section-5.6). type: string format: date-time example: '2022-06-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: description: List of cargo placements. type: array uniqueItems: true minItems: 0 maxItems: 1000 default: [] items: $ref: '#/components/schemas/cargo_placement' 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: 30001 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 nullable: false properties: key: description: Unique trip identifier. type: string minLength: 1 maxLength: 1024 example: TRIP0001 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: 30001 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 nullable: false properties: driving_time: $ref: '#/components/schemas/time_duration' waiting_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 example: 5200 time_window: $ref: '#/components/schemas/time_window' required: - driving_time - waiting_time - working_time - arriving_time - departure_time - total_time - distance - time_window object_metrics: description: Objects metrics. type: object additionalProperties: false nullable: false properties: keys: description: List of object's keys. type: array uniqueItems: true minItems: 0 maxItems: 30001 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 maximum: 30001 example: 1700 required: - keys - count time_window_violations: description: 'Statistics of time window violation. ' type: object additionalProperties: false nullable: 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. required: - before - after quality_statistics: description: 'Quality metrics. ' type: object additionalProperties: false nullable: 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. required: - soft_time_window_violations - hard_time_window_violations statistics: description: 'General statistics for one or more trips. ' type: object additionalProperties: false nullable: 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 * `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` + `working_time`\ \ + `arriving_time` + `departure_time`\n * `distance` - the total length\ \ of the trip / set of trips, in meters\n" performers_count: description: The total number of performers involved in orders fulfillment. type: integer format: int32 minimum: 0 maximum: 30001 example: 257 orders_count: description: The total number of planned and assigned orders. type: integer format: int32 minimum: 0 maximum: 30001 example: 1700 plan_orders_count: description: The total number of planned orders. type: integer format: int32 minimum: 0 maximum: 30001 example: 1000 waitlist_orders_count: description: The total number of assigned orders. type: integer format: int32 minimum: 0 maximum: 30001 example: 700 capacity_utilization: $ref: '#/components/schemas/capacity' description: The ratio of the total utilization value for the capacity parameter to the capacity for this parameter. capacity_max: $ref: '#/components/schemas/capacity' description: The maximum load of the transport box in fractions of a unit, unlike utilization, cannot be more than one. quality: $ref: '#/components/schemas/quality_statistics' required: - cost - reward - measurements - performers_count - orders_count - plan_orders_count - waitlist_orders_count - capacity_utilization - capacity_max - quality transport_load: description: Transport utilization by load. type: object additionalProperties: false nullable: false properties: count: description: Number of orders. type: integer format: int32 minimum: 0 maximum: 30001 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 nullable: false properties: location_key: description: Location key for stop. type: string minLength: 1 maxLength: 1024 example: location01 demand_ids: description: Identifiers list of demands fulfilled at this stop. type: array minItems: 0 maxItems: 30001 uniqueItems: true default: [] items: description: 'The request identifier is obtained using the following formula: order identifier + ''#'' + the demand identifier. ' type: string minLength: 1 maxLength: 1024 example: demand01 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 * `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` + `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 - measurements - upload - download - max_load - arrival_load - departure_load trip_statistics: description: 'Statistics for a specific trip. ' type: object additionalProperties: false nullable: 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: 30001 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 per trip, where. ' type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/trip_statistics' required: - total_statistics - trips_statistics entity_validation_type: description: "Validation 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_PRECEDENCE_IN_ORDER`\ \ - for each cargo within the order there must be exactly one loading and\ \ exactly one 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\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` type must be no more than one\n * `EMPTY_CARGOES_LIST`\ \ - empty list of loads for orders of type` DROP` / `PICKUP`\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" type: string nullable: false enum: - NO_AVAILABLE_TRANSPORT - NO_AVAILABLE_PERFORMER - NO_COMPATIBLE_TRANSPORT - NO_COMPATIBLE_PERFORMER - PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER - PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP - VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER - TIME_WINDOW_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 - GEODATA_TIME_WINDOW_VIOLATION - SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE - DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW - DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW example: TIME_WINDOW_VIOLATION entity_type: description: Entity type. type: string nullable: false 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_validation: description: Description of the validation of the input data. type: object additionalProperties: false properties: type: $ref: '#/components/schemas/entity_validation_type' info: description: Information about validation. type: string nullable: true minLength: 0 maxLength: 2048 example: entity warning entities: description: List of entities related to validation. type: array uniqueItems: false minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/entity_path' required: - type - entities entity_validation_list: description: Validation list. type: array uniqueItems: false minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/entity_validation' 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: 30001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 performer_keys: description: Unplanned performer keys list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 transport_keys: description: Unplanned transport keys list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 hardlink_keys: description: Unplanned hardlink keys list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 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 nullable: false 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 nullable: false properties: status: $ref: '#/components/schemas/calculation_status' result_version: description: Planning result version. type: integer format: int32 minimum: 0 maximum: 1000000 example: 133 calculation_time: $ref: '#/components/schemas/time_duration' description: Actual calculation time, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). waiting_time: $ref: '#/components/schemas/time_duration' description: Time to prepare for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). required: - status - result_version - calculation_time - waiting_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: 30001 default: [] items: $ref: '#/components/schemas/trip' statistics: $ref: '#/components/schemas/plan_statistics' validations: $ref: '#/components/schemas/entity_validation_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: 30001 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" type: string nullable: false enum: - INCONSISTENT_REFERENCE - UNIQUE_IDS_VIOLATION - INVALID_ROUTING_MATRIX - INVALID_GEO_PROVIDER - COMPATIBILITY_CARGO_BOX - COMPATIBILITY_TRANSPORT_PERFORMER - COMPATIBILITY_TRANSPORT_LOCATION - COMPATIBILITY_ORDER_PERFORMER 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: 30001 items: $ref: '#/components/schemas/entity_path' required: - type - entities entity_error_list: description: 'List with fatal errors. ' type: array uniqueItems: false minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/entity_error' 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 nullable: 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' validations: $ref: '#/components/schemas/entity_validation_list' required: - tracedata - validations order_fact: description: Fact with order. type: object additionalProperties: false nullable: false properties: key: description: Fact key. type: string minLength: 1 maxLength: 1024 example: fact_01 order_key: description: Order key. type: string minLength: 1 maxLength: 1024 example: order_01 type: description: Fact type. type: string enum: - DONE - CANCEL example: DONE time: description: Fact time in the [RFC 3339, section 5.6 (ISO 8601)](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2022-06-21T09:30:00+03:00' required: - key - order_key - type - time demand_fact: description: Fact with demand. type: object additionalProperties: false nullable: false properties: key: description: Fact key. type: string minLength: 1 maxLength: 1024 example: fact_01 order_key: description: Order key. type: string minLength: 1 maxLength: 1024 example: order_01 demand_key: description: Demand key. type: string minLength: 1 maxLength: 1024 example: demand_01 type: description: "Possible fact types:\n * `START` - performer started to fulfill\ \ the demand\n * `DONE` - performer finished to fulfill the demand\n\ \ * `CANCEL` - demand calcelled \n" type: string enum: - START - DONE - CANCEL example: DONE time: description: Fact time in the [RFC 3339, section 5.6 (ISO 8601)](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2022-06-21T09:30:00+03:00' required: - key - order_key - demand_key - type - time track_point: description: Geographical coordinate linked to a time point. type: object additionalProperties: false nullable: false properties: geopoint: $ref: '#/components/schemas/geopoint' time: description: Date and time in the [RFC 3339, section 5.6 (ISO 8601)](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2022-06-21T19:45:00Z' required: - geopoint - time performer_fact: description: Fact. type: object additionalProperties: false nullable: false properties: key: description: Fact key. type: string minLength: 1 maxLength: 1024 example: fact_01 time: description: Fact time in the [RFC 3339, section 5.6 (ISO 8601)](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2022-06-21T09:30:00+03:00' performer_key: description: Performer's key. type: string minLength: 1 maxLength: 1024 example: performer_01 position: $ref: '#/components/schemas/track_point' required: - key - time - performer_key - position transport_fact: description: Fact. type: object additionalProperties: false nullable: false properties: key: description: Fact key. type: string minLength: 1 maxLength: 1024 example: fact_01 time: description: Fact time in the [RFC 3339, section 5.6 (ISO 8601)](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2022-06-21T09:30:00+03:00' transport_key: description: Transport's key. type: string minLength: 1 maxLength: 1024 example: transport_01 position: $ref: '#/components/schemas/track_point' required: - key - time - transport_key - position facts: description: 'Events that have taken place. ' type: object additionalProperties: false nullable: false properties: order_facts: description: List of order's facts. type: array uniqueItems: true minItems: 0 maxItems: 30001 default: [] items: $ref: '#/components/schemas/order_fact' demand_facts: description: List of demand's facts. type: array uniqueItems: true minItems: 0 maxItems: 30001 default: [] items: $ref: '#/components/schemas/demand_fact' performer_facts: description: List of performers's facts. type: array uniqueItems: true minItems: 0 maxItems: 30001 default: [] items: $ref: '#/components/schemas/performer_fact' transport_facts: description: List of transport's facts. type: array uniqueItems: true minItems: 0 maxItems: 30001 default: [] items: $ref: '#/components/schemas/transport_fact' replan_strategy: description: Replan strategy. type: object additionalProperties: false nullable: 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 nullable: false properties: 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' external_routing: $ref: '#/components/schemas/routing_transport_matrix_list' 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: 30001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 30001 default: [] items: $ref: '#/components/schemas/hardlink' trips: description: Existing routes. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/trip' facts: $ref: '#/components/schemas/facts' replan_settings: $ref: '#/components/schemas/replan_settings' required: - locations - orders - performers - transports - trips actualize_settings: description: 'Actualize settings. ' type: object nullable: false additionalProperties: false properties: current_time: description: 'Current date and time according to the [RFC 3339, section 5.6 (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: '2022-06-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: 30001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/hardlink' trips: description: Existing routes. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/trip' facts: $ref: '#/components/schemas/facts' actualize_settings: $ref: '#/components/schemas/actualize_settings' required: - locations - orders - performers - transports - trips predict_settings: description: Predict settings. type: object additionalProperties: false nullable: false properties: max_window_count: description: 'The maximum number of calculated optimal time windows in which an order can be fulfilled. ' type: integer format: int32 minimum: 1 maximum: 5 default: 2 example: 3 trips_settings: $ref: '#/components/schemas/trips_settings' geo_settings: $ref: '#/components/schemas/geo_settings' calculation_settings: $ref: '#/components/schemas/calculation_settings' predict_task: description: 'PredictResult. ' type: object additionalProperties: false properties: new_order: $ref: '#/components/schemas/order' locations: description: List of locations used for orders and shifts. type: array uniqueItems: true minItems: 1 maxItems: 101 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 1 maxItems: 101 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 1 maxItems: 101 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 1 maxItems: 101 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 101 default: [] items: $ref: '#/components/schemas/hardlink' trips: description: Existing routes. type: array uniqueItems: true minItems: 0 maxItems: 101 default: [] items: $ref: '#/components/schemas/trip' predict_settings: $ref: '#/components/schemas/predict_settings' required: - new_order - locations - orders - performers - transports order_fulfillment_option: description: 'Order fulfillment option. ' type: object additionalProperties: false properties: event_key: description: Key of the optimal event. type: string minLength: 1 maxLength: 1024 cost: description: Стоимость выполнения заказа в соответствующее событию временное окно и место. type: number format: double minimum: 0 example: 333.3 required: - event_key - cost predict_result: description: 'PredictResult. ' type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' options: description: List of the best options for order fulfillment. type: array uniqueItems: false minItems: 0 maxItems: 101 items: $ref: '#/components/schemas/order_fulfillment_option' restricted_event_keys: description: List of the restricted options for order fulfillment. type: array uniqueItems: true default: [] minItems: 0 maxItems: 101 items: description: Key of the optimal event. type: string minLength: 1 maxLength: 1024 example: - evt01 validations: $ref: '#/components/schemas/entity_validation_list' required: - tracedata - options 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: 30001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/hardlink' trips: description: Existing routes. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/trip' facts: $ref: '#/components/schemas/facts' statistics: $ref: '#/components/schemas/plan_statistics' plan_settings: $ref: '#/components/schemas/plan_settings' replan_settings: $ref: '#/components/schemas/replan_settings' actualize_settings: $ref: '#/components/schemas/actualize_settings' file_xlsx: description: File with data in [XLSX](https://en.wikipedia.org/wiki/Microsoft_Excel) format. type: string format: byte analytics_overview_task: description: 'Data for analytics. ' type: object additionalProperties: false properties: locations: description: List of locations used for orders and shifts. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/hardlink' trips: description: Existing routes. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/trip' facts: $ref: '#/components/schemas/facts' required: - locations - orders - performers - transports - trips analytics_performer_stats: description: Performer statistics. type: object additionalProperties: false nullable: false properties: performer_key: description: Performer's key. type: string minLength: 1 maxLength: 1024 example: performer_01 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 * `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` + `working_time`\ \ + `arriving_time` + `departure_time`\n * `distance` - the total length\ \ of the trip / set of trips, in meters\n \n" required: - performer_key - measurements analytics_overview_result: description: Analytics overview. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' analytics_performer_statistics: description: Performer statistics. type: array uniqueItems: false minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/analytics_performer_stats' required: - tracedata - analytics_performer_statistics analytics_unplanned_check_group_type: description: "Groups of reasons:\n * `SHORT_TIME_WINDOW` - Narrow time windows.\n\ \ * `LACK_RESOURCE` - Not enough vehicles and performers.\n * `LOW_ORDER_COMPATIBILITY`\ \ - Low order compatibility with each other.\n * `LOW_RESOURCE_COMPATIBILITY`\ \ - Few compatible resources.\n * `LOW_CAPACITY` - Lack of a resource with\ \ a certain capacity.\n * `LACK_CAPACITY` - Insufficient vehicle capacity.\n\ \ * `HUGE_PEAK_LOAD` - Large peak load on orders.\n * `FAR_LOCATION` - Potentially\ \ problematic geo-location point.\n * `FAR_ORDER` - Potentially bad order\ \ time window.\n" enum: - SHORT_TIME_WINDOW - LACK_RESOURCE - LOW_ORDER_COMPATIBILITY - LOW_RESOURCE_COMPATIBILITY - LOW_CAPACITY - LACK_CAPACITY - HUGE_PEAK_LOAD - FAR_LOCATION - FAR_ORDER analytics_unplanned_check_settings: description: Checks settings. type: object nullable: false additionalProperties: false properties: short_time_window: description: Settings for SHORT_TIME_WINDOW. type: object nullable: false additionalProperties: false properties: percent: description: Percent. type: integer format: int32 minimum: 0 maximum: 100 default: 90 example: 99 lack_resource: description: Settings for LACK_RESOURCE. type: object nullable: false additionalProperties: false properties: percent: description: Percent. type: integer format: int32 minimum: 0 maximum: 100 default: 90 example: 99 low_order_compatibility: description: Settings for LOW_ORDER_COMPATIBILITY. type: object nullable: false additionalProperties: false properties: count: description: Count. type: integer format: int32 minimum: 0 maximum: 9000 default: 10 example: 2 percent: description: Percent. type: integer format: int32 minimum: 0 maximum: 100 default: 5 example: 13 low_resource_compatibility: description: Settings for LOW_RESOURCE_COMPATIBILITY. type: object nullable: false additionalProperties: false properties: percent: description: Percent. type: integer format: int32 minimum: 0 maximum: 100 default: 80 example: 70 lack_capacity: description: Settings for LACK_CAPACITY. type: object nullable: false additionalProperties: false properties: max_ratio: description: Count. type: integer format: int32 minimum: 0 maximum: 1000 default: 25 example: 50 huge_peak_load: description: Settings for HUGE_PEAK_LOAD. type: object nullable: false additionalProperties: false properties: percent: description: Percent. type: integer format: int32 minimum: 0 maximum: 100 default: 80 example: 70 far_location: description: Settings for FAR_LOCATION. type: object nullable: false additionalProperties: false properties: count: description: Count. type: integer format: int32 minimum: 0 maximum: 9000 default: 5 example: 10 far_order: description: Settings for FAR_ORDER. type: object nullable: false additionalProperties: false properties: planned_locations_count: description: Count. type: integer format: int32 minimum: 0 maximum: 9000 default: 2 example: 30 unplanned_locations_count: description: Count. type: integer format: int32 minimum: 0 maximum: 9000 default: 2 example: 30 time_delta: description: Time delta. type: integer format: int32 minimum: 0 maximum: 100 default: 30 example: 70 analytics_unplanned_settings: description: Unplanned analytics settings. type: object nullable: false additionalProperties: false properties: include_checks: description: Include checks. type: array uniqueItems: true minItems: 0 maxItems: 14 items: $ref: '#/components/schemas/analytics_unplanned_check_group_type' check_settings: $ref: '#/components/schemas/analytics_unplanned_check_settings' analytics_unplanned_task: description: 'Data for analytics. ' type: object additionalProperties: false properties: locations: description: List of locations used for orders and shifts. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 1 maxItems: 30001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/hardlink' trips: description: Existing routes. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: $ref: '#/components/schemas/trip' analytics_unplanned_settings: $ref: '#/components/schemas/analytics_unplanned_settings' required: - locations - orders - performers - transports - trips analytics_unplanned_highlight_type: description: "SHORT_TIME_WINDOW reason group:\n * `SHORT_TIME_WINDOW_BY_DURATION`\ \ - The lead time is almost entirely occupied by the order window (the order\ \ window - this time window includes the time for work, not just the start\ \ time of the order).\n * `SHORT_TIME_WINDOW_BY_LOCATION` - The time windows\ \ of the application and the corresponding location almost do not overlap\ \ (the time windows of the work itself and its location are very different\ \ from each other).\n\nLACK_RESOURCE reason group:\n * `LACK_RESOURCE_BY_COMPATIBILITY`\ \ - Lack of artist / transport with a specific tag.\n * `LACK_RESOURCE_BY_LOCATION`\ \ - Lack of location-compatible transport.\n * `LACK_RESOURCE_BY_BOX` - Lack\ \ of transport with compatible cargo compartments.\n\nLOW_ORDER_COMPATIBILITY\ \ reason group:\n * `LOW_ORDER_COMPATIBILITY_DEMANDS` - The number of orders\ \ (more than the permissible percentage and more than the permissible number)\ \ are incompatible with all the others, because of this, an additional pair\ \ of executor-transport is required, which is not enough.\n\nLOW_RESOURCE_COMPATIBILITY\ \ reason group:\n * `LOW_RESOURCE_COMPATIBILITY_PERFORMER` - Among the total\ \ amount of input resources, some of the performers, less than the specified\ \ one, can be assigned to the transport, there may be an error in compatibility\ \ tags or shift time windows.\n * `LOW_RESOURCE_COMPATIBILITY_TRANSPORT`\ \ - Among the total volume of input resources, a part of the transport that\ \ is less than the specified one can be assigned to performers, there may\ \ be an error in compatibility tags or shift time windows.\n\nLOW_CAPACITY\ \ reason group:\n * `LOW_CAPACITY_TRANSPORT` - Lack of transport with a certain\ \ capacity.\n\nLACK_CAPACITY reason group:\n * `LACK_CAPACITY_TRANSPORT`\ \ - An unused vehicle has a value that is orders of magnitude lower than all\ \ other units of the same type of vehicle in some field describing the capacity,\ \ there may be an error when registering the capacity of the vehicle.\n \n\ Reason group HUGE_PEAK_LOAD:\n * `HUGE_PEAK_LOAD_ORDERS` - Too narrow time\ \ windows, many orders arrive at the same time, a large peak load of trips\ \ with which resources cannot cope, uneven distribution of orders over a shift.\n\ \nFAR_LOCATION reason group:\n * `FAR_LOCATION_ALL` - The location of the\ \ order lies outside the distribution of the entire dataset, the order point\ \ is most likely not geocoded correctly.\n * `FAR_LOCATION_NEAREST` - The\ \ location of the order lies outside the distribution of the nearest N points,\ \ the order point is most likely not geocoded correctly.\n\nFAR_ORDER reason\ \ group:\n * `FAR_ORDER_TIME_WINDOW`- The time window does not overlap with\ \ neighboring orders.\n" enum: - SHORT_TIME_WINDOW_BY_DURATION - SHORT_TIME_WINDOW_BY_LOCATION - LACK_RESOURCE_BY_COMPATIBILITY - LACK_RESOURCE_BY_LOCATION - LACK_RESOURCE_BY_BOX - LOW_ORDER_COMPATIBILITY_DEMANDS - LOW_RESOURCE_COMPATIBILITY_PERFORMER - LOW_RESOURCE_COMPATIBILITY_TRANSPORT - LOW_CAPACITY_TRANSPORT - LACK_CAPACITY_TRANSPORT - HUGE_PEAK_LOAD_ORDERS - FAR_LOCATION_ALL - FAR_LOCATION_NEAREST - FAR_ORDER_TIME_WINDOW analytics_unplanned_highlight: description: Analytics part. type: object additionalProperties: false properties: type: $ref: '#/components/schemas/analytics_unplanned_highlight_type' group: $ref: '#/components/schemas/analytics_unplanned_check_group_type' details: description: Detail. type: string example: tag1, tag2, tag3 order_keys: description: Unplanned order keys list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 performer_keys: description: Unplanned performer keys list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 transport_keys: description: Unplanned transport keys list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 hardlink_keys: description: Unplanned hardlink keys list. type: array uniqueItems: true minItems: 0 maxItems: 30001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 required: - type - group - details - order_keys - performer_keys - transport_keys - hardlink_keys analytics_unplanned_result: description: Unplanned analytics. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' highlights: description: List of guesses. type: array uniqueItems: false minItems: 0 maxItems: 1001 items: $ref: '#/components/schemas/analytics_unplanned_highlight' required: - tracedata - highlights 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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 720 cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 720 cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 720 cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 720 cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 720 cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-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: Universal:leo service: UNIVERSAL operation: runPlanCalculation time: '2022-06-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2022-06-08T04:48:15Z' to: '2022-06-08T05:40:56Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:48:15Z' to: '2022-06-08T05:40:56Z' states: - time: '2022-06-08T04:48:15Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:27:04Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H27M41S distance: 31306 time_window: from: '2022-06-08T04:48:15Z' to: '2022-06-08T05:40:56Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 capacity_max: 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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H27M41S distance: 31306 time_window: from: '2022-06-08T04:48:15Z' to: '2022-06-08T05:40:56Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 capacity_max: 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 measurements: driving_time: PT0S waiting_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2022-06-08T04:48:15Z' to: '2022-06-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 measurements: driving_time: PT21M45S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT31M45S distance: 8878 time_window: from: '2022-06-08T04:48:15Z' to: '2022-06-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 measurements: driving_time: PT17M4S waiting_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT32M4S distance: 10003 time_window: from: '2022-06-08T05:10:00Z' to: '2022-06-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 measurements: driving_time: PT13M52S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT23M52S distance: 12425 time_window: from: '2022-06-08T05:27:04Z' to: '2022-06-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 calculation_time: PT20S waiting_time: PT15S validations: [] unplanned_items: order_keys: [] performer_keys: [] transport_keys: [] hardlink_keys: [] PlanResultMoscow: summary: Moscow value: tracedata: code: 861c8e0a-2651-444e-b426-71cdccc31423 client: veeroute_|_example server: Universal:leo service: UNIVERSAL operation: runPlanCalculation time: '2022-06-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' states: - time: '2022-06-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2022-06-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2022-06-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H50M5S distance: 78117 time_window: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 capacity_max: 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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H50M5S distance: 78117 time_window: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 capacity_max: 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 measurements: driving_time: PT0S waiting_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2022-06-08T04:38:34Z' to: '2022-06-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 measurements: driving_time: PT31M26S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT41M26S distance: 17108 time_window: from: '2022-06-08T04:38:34Z' to: '2022-06-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 measurements: driving_time: PT20M52S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT30M52S distance: 26991 time_window: from: '2022-06-08T05:10:00Z' to: '2022-06-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 measurements: driving_time: PT22M47S waiting_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT37M47S distance: 34018 time_window: from: '2022-06-08T05:30:52Z' to: '2022-06-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 calculation_time: PT20S waiting_time: PT15S validations: [] unplanned_items: order_keys: [] performer_keys: [] transport_keys: [] hardlink_keys: [] PlanResultDenver: summary: Denver value: tracedata: code: 861c8e0a-2651-444e-b426-71cdccc31423 client: veeroute_|_example server: Universal:leo service: UNIVERSAL operation: runPlanCalculation time: '2022-06-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2022-06-08T04:45:18Z' to: '2022-06-08T05:54:57Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:45:18Z' to: '2022-06-08T05:54:57Z' states: - time: '2022-06-08T04:45:18Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-08T05:25:49Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2022-06-08T05:25:49Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2022-06-08T05:39:57Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H44M39S distance: 50270 time_window: from: '2022-06-08T04:45:18Z' to: '2022-06-08T05:54:57Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 capacity_max: 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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H44M39S distance: 50270 time_window: from: '2022-06-08T04:45:18Z' to: '2022-06-08T05:54:57Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 capacity_max: 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 measurements: driving_time: PT0S waiting_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2022-06-08T04:45:18Z' to: '2022-06-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 measurements: driving_time: PT24M42S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT34M42S distance: 10478 time_window: from: '2022-06-08T04:45:18Z' to: '2022-06-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 measurements: driving_time: PT15M49S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT25M49S distance: 14689 time_window: from: '2022-06-08T05:10:00Z' to: '2022-06-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 measurements: driving_time: PT29M8S waiting_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT44M8S distance: 25103 time_window: from: '2022-06-08T05:25:49Z' to: '2022-06-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 calculation_time: PT1M10S waiting_time: PT15S validations: [] 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: Universal:leo service: UNIVERSAL operation: runPlanCalculation time: '2022-06-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2022-06-08T04:48:15Z' to: '2022-06-08T05:40:56Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:48:15Z' to: '2022-06-08T05:40:56Z' states: - time: '2022-06-08T04:48:15Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:27:04Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H27M41S distance: 31306 time_window: from: '2022-06-08T04:48:15Z' to: '2022-06-08T05:40:56Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 capacity_max: 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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H27M41S distance: 31306 time_window: from: '2022-06-08T04:48:15Z' to: '2022-06-08T05:40:56Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 capacity_max: 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 measurements: driving_time: PT0S waiting_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2022-06-08T04:48:15Z' to: '2022-06-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 measurements: driving_time: PT21M45S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT31M45S distance: 8878 time_window: from: '2022-06-08T04:48:15Z' to: '2022-06-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 measurements: driving_time: PT17M4S waiting_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT32M4S distance: 10003 time_window: from: '2022-06-08T05:10:00Z' to: '2022-06-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 measurements: driving_time: PT13M52S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT23M52S distance: 12425 time_window: from: '2022-06-08T05:27:04Z' to: '2022-06-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 calculation_time: PT20S waiting_time: PT15S validations: [] 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: Universal:leo service: UNIVERSAL operation: runPlanCalculation time: '2022-06-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2022-06-08T04:50:28Z' to: '2022-06-08T05:47:33Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:50:28Z' to: '2022-06-08T05:47:33Z' states: - time: '2022-06-08T04:50:28Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:26:45Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H32M5S distance: 38666 time_window: from: '2022-06-08T04:50:28Z' to: '2022-06-08T05:47:33Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 capacity_max: 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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H32M5S distance: 38666 time_window: from: '2022-06-08T04:50:28Z' to: '2022-06-08T05:47:33Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 capacity_max: 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 measurements: driving_time: PT0S waiting_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2022-06-08T04:50:28Z' to: '2022-06-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 measurements: driving_time: PT24M32S waiting_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT39M32S distance: 8647 time_window: from: '2022-06-08T04:50:28Z' to: '2022-06-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 measurements: driving_time: PT11M45S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT21M45S distance: 10122 time_window: from: '2022-06-08T05:15:00Z' to: '2022-06-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 measurements: driving_time: PT20M48S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT30M48S distance: 19897 time_window: from: '2022-06-08T05:26:45Z' to: '2022-06-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 calculation_time: PT1M10S waiting_time: PT15S validations: [] unplanned_items: order_keys: [] performer_keys: [] transport_keys: [] hardlink_keys: [] ValidateResultExample: summary: Validate example value: tracedata: code: 87d0c1a7-375b-412e-9ab8-8f4be24d0456 client: veeroute_|_example server: Universal:leo service: UNIVERSAL operation: runValidation time: '2022-06-01T11:50:15.123Z' validations: - 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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 720 cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' states: - time: '2022-06-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2022-06-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2022-06-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: Universal:leo service: UNIVERSAL operation: runReplanCalculation time: '2022-06-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' states: - time: '2022-06-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2022-06-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2022-06-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H50M5S distance: 78117 time_window: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 capacity_max: 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 working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H50M5S distance: 78117 time_window: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 capacity_utilization: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 capacity_max: 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 measurements: driving_time: PT0S waiting_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2022-06-08T04:38:34Z' to: '2022-06-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 measurements: driving_time: PT31M26S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT41M26S distance: 17108 time_window: from: '2022-06-08T04:38:34Z' to: '2022-06-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 measurements: driving_time: PT20M52S waiting_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT30M52S distance: 26991 time_window: from: '2022-06-08T05:10:00Z' to: '2022-06-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 measurements: driving_time: PT22M47S waiting_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT37M47S distance: 34018 time_window: from: '2022-06-08T05:30:52Z' to: '2022-06-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 calculation_time: PT20S waiting_time: PT15S validations: [] 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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 720 cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' states: - time: '2022-06-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2022-06-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2022-06-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-08T05:53:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] waitlist: [] attributes: [] PredictTaskMoscow: summary: Moscow value: new_order: key: order_3 demands: - key: demand_3_work demand_type: WORK possible_events: - key: demand_3_work_event_1 location_key: location_client_3 duration: PT15M hard_time_window: from: '2022-06-08T05:00:00+00:00' to: '2022-06-08T07:00:00+00:00' - key: demand_3_work_event_2 location_key: location_client_3 duration: PT15M hard_time_window: from: '2022-06-08T07:00:00+00:00' to: '2022-06-08T12:00:00+00:00' 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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' cargos: - key: order_2_cargos capacity: mass: 1 performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 720 cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' states: - time: '2022-06-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2022-06-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2022-06-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-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: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T05:00:00+00:00' to: '2022-06-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 720 cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-08T20:59:59+00:00' working_time: from: '2022-06-07T21:00:00+00:00' to: '2022-06-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: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2022-06-08T04:38:34Z' to: '2022-06-08T05:53:39Z' states: - time: '2022-06-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-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: '2022-06-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2022-06-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: '2022-06-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: '2022-06-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2022-06-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2022-06-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2022-06-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: '2022-06-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: description: Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error message. type: string nullable: true example: Unauthorized required: - tracedata '402': description: Payment Required content: application/json: schema: description: 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 '403': description: 'Forbidden - no permission to execute this operation ' content: application/json: schema: description: Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error message. type: string nullable: true example: Forbidden required: - tracedata '404': description: Not found content: application/json: schema: description: 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 '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: description: 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 '500': description: Internal server error content: application/json: schema: description: 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 '501': description: Not implemented '502': description: Bad gateway '503': description: Service unavailable '504': description: Gateway timeout 400_with_errors_and_validations: description: Bad request - data contain errors content: application/json: schema: description: 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' validations: $ref: '#/components/schemas/entity_validation_list' required: - tracedata 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