openapi: 3.0.3 info: title: VRt.Universal [UV] version: 6.20.2289 license: name: Proprietary url: https://veeroute.zh/ termsOfService: https://veeroute.zh/resources/terms_of_service contact: name: Veeroute Support Team email: servicedesk@veeroute.com x-logo: url: ../images/universal.svg backgroundColor: '#FAFAFA' altText: VRt.Universal description: "# Description\n\nSoftware interface for universal trip planning.\n\ \n## Features\n\n* Ability to pick up cargo from any location\n* Possibility of\ \ unloading in any location\n* Pair orders of several types: `PICKUP` (loading),\ \ `DROP` (unloading)\n* Single requests of several types: `DROP_FROM_BOX` (unloading\ \ cargo that is already in the body), `PICKUP_TO_BOX` (cargo pickup into the body\ \ without subsequent unloading), `WORK` (working at the location without moving\ \ the cargo)\n* A complex order can consist of any number of orders of any type\n\ * Transport and executors are divided into different entities, when planning,\ \ the optimal assignment of the executor to the transport occurs\n* The transport\ \ has several compartments - each of which can accommodate cargo and has its own\ \ characteristics\n* Accounting for the compatibility of cargo with transport\ \ in terms of cargo dimensions (length, width, height, additional capacity parameters)\n\ * Taking into account the compatibility of the cargo-compartment of transport\ \ (the ability to take into account the features of the compartment: refrigerator,\ \ thermal bag, fasteners, etc.)\n* Substitute applications, i.e. the ability to\ \ execute one of the substitute applications, the choice of which is based on\ \ its geographic location and time window\n\n## Restrictions support\n\n**Performer**\ \ restrictions:\n\n* Start/finish location\n* Accounting for the performer's way\ \ to the transport location\n* Performer's availability schedule is a list of\ \ time windows when the performer can move and work on locations\n* The maximum\ \ duration of the performer's work during the specified time period\n\n**Transport**\ \ restrictions:\n\n* Start/finish location\n* Transport availability schedule\ \ is a list of time windows when the transport is available\n* The maximum route\ \ distance\n* Several compartments in the transport, each with its own parameters\n\ * Capacity upper limit (weight, volume, number of orders, number of demands)\n\ \n**Order** restrictions:\n\n* Strict time windows\n* Ability to specify different\ \ valid time windows for a location and time windows to fulfil the desired demand\n\ * Accounting for the requests fulfillment order within the route\n* A list of\ \ desired time windows with different associated costs\n\n## Compatibilities\n\ \nEntities are compatible if the capabilities list of one entity corresponds to\ \ the list of restrictions of another entity (example: fleet parameters corresponds\ \ to cargo parameters to be delivered).\n\nSupported compatibilities:\n\n| Name\ \ | Restrictions | Features \ \ |\n|-------------------------|----------------------------------|------------------------------|\n\ | Order - Performer | order.performer_restrictions | performer.performer_features\ \ |\n| Order - Not a performer | order.performer_blacklist | performer.performer_features\ \ |\n| Cargo - Compartment | order.cargo.box_restrictions | transport.box.box_features\ \ |\n| Location - Transport | location.transport_restrictions | transport.transport_features\ \ |\n| Transport - Performer | transport.performer_restrictions | performer.performer_features\ \ |\n| Performer - Transport | performer.transport_restrictions | transport.transport_features\ \ |\n| Order - Order | order.order_restrictions | order.order_features\ \ |\n\nBusiness rule examples:\n\n| Name | Business\ \ rule example \ \ |\n|-------------------------|-----------------------------------------------------------------------------------------------------|\n\ | Order - Performer | The driver must have a special license to fulfil the\ \ order |\n| Order - Not a performer\ \ | The driver is in the blacklist \ \ |\n| Cargo - Box | For transportation\ \ of frozen products, a compartment with a special temperature profile is required\ \ |\n| Location - Transport | Restrictions on the transport height \ \ |\n| Transport - Performer\ \ | The truck driver must have the class C driving license \ \ |\n| Performer - Transport | The driver is allowed\ \ to work on a specific transport \ \ |\n| Order - Order | It is not allowed to transport fish and fruits\ \ in the same compartment |\n\n## Cargo placement\n\ \nList of possibilities of a object rotations (90 degree step):\n\n* `ALL` - can\ \ rotate by any axis\n* `YAW` - can yaw\n* `PITCH` - can pitch\n* `ROLL` - can\ \ roll\n \n![rotation](../images/universal_cargo_yaw_pitch_roll.svg)\n\n## Trip\ \ model\n\nThe trip is described by the list of states of the executor, while\ \ the executor can be in several states at the same time\n(for example, to be\ \ inside the working time window of a location and fulfill an order at the same\ \ location).\n\nPossible values ​​of the flags responsible for the geographical\ \ location:\n\n* `AROUND_LOCATION` - the performer is located near the location\ \ - in the process of parking or leaving it.\n* `INSIDE_LOCATION` - the performer\ \ is at the location.\n\nPossible values ​​of the flags responsible for being\ \ in time windows:\n\n* `INSIDE_WORKING_WINDOW` - the executor is inside the working\ \ time window.\n* `INSIDE_LOCATION_WINDOW` - the executor is inside the location's\ \ working time.\n* `INSIDE_EVENT_HARD_WINDOW` - the executor is inside a hard\ \ time window.\n* `INSIDE_EVENT_SOFT_WINDOW` - the executor is inside the soft\ \ time window.\n\nPossible values ​​of flags responsible for actions:\n\n* `ON_DEMAND`\ \ - the executor is working on the request.\n* `WAITING` - the performer is in\ \ standby mode.\n* `RELOCATING` - the executor is moving to the next stop.\n*\ \ `BREAK` - the performer is on a break.\n\n### An example of a route with multiple\ \ states at each point in time\n\n| time | set of active flags \ \ \ \ | location /\ \ order / application / event | comment \ \ |\n|:------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------|:-----------------------------------------------------------------------------------------------|\n\ | 10:00 | INSIDE_LOCATION
AROUND_LOCATION \ \ \ \ | 2 / - / - / - | starting\ \ location \ \ |\n| 10:10 | RELOCATING \ \ \ \ | - / - / - / - \ \ | we go to the first order \ \ |\n| 10:20 | AROUND_LOCATION \ \ \ \ | 2 / - / -\ \ / - | arrived at the first order \ \ |\n| 10:40 | AROUND_LOCATION\ \
INSIDE_LOCATION
WAITING \ \ \ \ | 2 / - / - / - | parked \ \ |\n| 11:00\ \ | AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW
WAITING\ \
INSIDE_EVENT_HARD_WINDOW \ \ | 2 / - / - / - | waited for the start\ \ of the location window and at the same time the availability of the order |\n\ | 11:25 | AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW
\ \ ON_DEMAND
INSIDE_WORKING_WINDOW
INSIDE_EVENT_HARD_WINDOW \ \ | 2 / 1 / 2 / 3 | waited for\ \ the change of artist \ \ |\n| 11:30 | AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW\ \
ON_DEMAND
INSIDE_WORKING_WINDOW
INSIDE_EVENT_HARD_WINDOW
\ \ INSIDE_EVENT_SOFT_WINDOW | 2 / 1 / 2 / 3 | while working\ \ - a soft window happened \ \ |\n| 11:40 | AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW\ \
INSIDE_WORKING_WINDOW \ \ | 2 / - / - / - | finished\ \ working \ \ |\n| 11:45 | AROUND_LOCATION
INSIDE_WORKING_WINDOW \ \ \ \ | 2 / - / - / - \ \ | drove out of the parking lot \ \ |\n| 11:45 | RELOCATING
INSIDE_WORKING_WINDOW\ \ \ \ | - / - / - / - \ \ | we go to the next order \ \ |\n\n## Planning configuration\n\ \nFor each planning, it is possible to specify a planning configuration that defines\ \ the objective function, the desired quality of the routes, and the calculation\ \ speed.\n\nThe name of the scheduling configuration is passed in the `trips_settings.configuration`\ \ field.\n\nMain configurations:\n\n| Title | Task \ \ \ \ |\n|---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|\n\ | **optimize_distance** | Arrange as many orders as possible, then optimize\ \ the total mileage (the number of vehicles is selected based on the mileage),\ \ used by default |\n| **optimize_transports** | Place as many\ \ orders as possible, while using as little transport as possible, ceteris paribus,\ \ optimize the work time of performers |\n| **optimize_locality_grouping**\ \ | Place as many orders as possible, while striving to optimize the visual grouping\ \ of routes, but not their number |\n| **optimize_cars_then_distance**\ \ | Arrange as many orders as possible, then optimize the number of vehicles,\ \ then the mileage \ \ |\n| **optimize_time** | Place as many orders as possible, then\ \ optimize the total work time of performers \ \ |\n| **optimize_cars_then_time** | Arrange\ \ as many orders as possible, then optimize the number of transport, then the\ \ total time of the performers |\n| **optimize_money**\ \ | Optimize the value of \"profit - costs\", consists of rewards\ \ for applications and costs for performers and transports (optimized value is\ \ non-negative) |\n\nAdditional configurations:\n\n| Title \ \ | Task \ \ \ \ |\n\ |-----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n\ | **visual_grouping** | Arrange as many\ \ orders as possible while using as little transport as possible and routes should\ \ be visually grouped \ \ |\n| **optimize_visual_grouping** \ \ | Arrange as many orders as possible, then evenly distribute orders taking\ \ into account transport accessibility zones (similar to visual_grouping, but\ \ visual grouping is calculated differently) |\n| **optimize_cars_then_locality_grouping**\ \ | Arrange as many orders as possible, then optimize the number\ \ of vehicles, then visually group the routes \ \ |\n| **optimize_cars_then_single_location_grouping_sequenced**\ \ | Place as many orders as possible, then optimize the number of machines, then\ \ reliability \ \ |\n\nIn addition to the existing planning\ \ options, it is possible to create an objective function directly for the client's\ \ business processes ([request configuration](mailto:servicedesk@veeroute.com)).\n\ \nFor development, it is recommended to use **optimize_cars_then_distance**, since\ \ this configuration does not require detailed selection of rates and order values.\n\ \n## Data validation\n\nInput data validation consists of several steps, which\ \ are described below.\n\nValidation of planning results (including the search\ \ for possible reasons why orders were not planned) is located in the `analytics`\ \ method.\n\n### 1. Schema check\n\nIf the request does not follow the schema,\ \ then scheduling is not fully started and such an error is returned along with\ \ a 400 code in `schema_errors`.\n\nWe recommend validating the request against\ \ the schema (or yaml file) before sending it to the server.\n\n### 2. Check for\ \ logical errors that prevent planning from continuing\n\nSchema-correct data\ \ passes the second stage of checking for the possibility of starting planning.\n\ \nAn example of errors at this stage are keys leading to empty entities, or if\ \ all orders are incompatible with all performers, i.e. something that makes the\ \ planning task pointless.\n\nThese errors are returned along with a 400 code\ \ in `logical_errors`.\n\n### 3. Check for logical errors that prevent planning\ \ from continuing\n\nAt the third stage, each entity is checked separately.\n\n\ All entities that have not passed validation are cut out from the original task\ \ and are not sent for planning.\n\nDepending on the setting of `treat_warnings_as_errors`,\ \ the results of this type of validation are returned to `warnings` either with\ \ a 400 code or with the scheduling result.\n\n### 4. Checks in the planning process\n\ \nPart of the checks can only be carried out in the planning process.\n\nFor example\ \ - that according to the specified tariffs and according to the current traffic\ \ forecast, it is physically impossible to reach a certain point.\n\nThe results\ \ of these checks are returned in `warnings` or together with the scheduling result.\n\ \n## Entity relationship diagram\n\n![erd](../uml/universal.svg)\n\n# Xlsx\n\n\ \n\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\n\ Described 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" servers: - url: https://api.edge.veeroute.tech description: 用于集成和早期访问新功能的环境 - url: https://api.prod.veeroute.com description: 生产环境 security: - ApiKeyAuth: [] tags: - name: Plan description: '规划——根据订单、表演者和交通创建旅行。 计划请求可以以同步和异步模式执行。 ' - name: Actualize description: 'Trips actualization - updating the planned ETA, taking into account the facts and without changing the order of the roundabout. Actualization takes place in three stages - verification, application of facts, updating times for failed trip states. Use [data cleaning](#operation/run_actualize_refining) to get the result of applying facts to the original task. Accounting for the current time `current_time`: * Only facts that happened later than `current_time` are taken into account. * The minimum time of all states of computed trips is taken from `current_time`. Accounting facts about the order: * If the order has completed all applications - it is considered completed. * If the order is completed or canceled - it, and the entities to which only it refers, are removed from the data for actualization. * If an order has a `PICKUP` demand, then the corresponding `DROP` demand will be converted into a `DROP_FROM_BOX` demand. * The fact about the order has a higher priority than the facts about the demands for this order (if the facts about the demands contradict the fact about the order, they will not be taken into account). * Only one unclosed fact `DEMAND_START` is allowed per trip (closed by the fact `DEMAND_DONE`) - since the performer can only fulfill one request at a time. * If there is a fact about the work on the application, which contradicts the planned order in the specified trip, this application will be completed first, then the trip will continue according to the planned order. Accounting facts about the performer: * List of facts about the location of the performer in a particular location. * If the trip has started (the time of the fact is later than the scheduled start time of the trip) - the transport is considered to be in the same location as the performer. * If there are several facts, only the latest one in the `time` field is taken into account. * The location referenced by the fact must be in the `locations` list. Accounting for existing trips: * Entities that are not referenced by input trips are removed - locations, performers, transport, hard links, orders, requests, events. * Changes of the performer and transport assigned to the trip cannot be used on other trips. The trips received as a result of updating contain only those works that remain to be completed. ' - name: Replan description: 'Replanning - creation of new trips based on existing trips, taking into account the facts. Replanning takes place in three stages - checking, applying facts and creating restrictions for planning based on existing trips, planning. ' - name: Convert description: '数据转换。 ' - name: System description: '系统功能。 所有服务共有的辅助功能。 ' externalDocs: description: 主站点 url: https://veeroute.zh/ paths: /universal/plan/calculation: post: tags: - Plan summary: Planning (SYNC) description: 'Sync method for trip planning. Use only for testing and manual plannings. For production use [async method](#operation/run_plan_calculation_async). ' operationId: run_plan_calculation requestBody: description: New planning request. required: true content: application/json: schema: $ref: '#/components/schemas/plan_task' examples: PlanTaskTokyo: $ref: '#/components/examples/PlanTaskTokyo' PlanTaskMoscow: $ref: '#/components/examples/PlanTaskMoscow' PlanTaskDenver: $ref: '#/components/examples/PlanTaskDenver' PlanTaskBerlin: $ref: '#/components/examples/PlanTaskBerlin' PlanTaskBeijing: $ref: '#/components/examples/PlanTaskBeijing' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/plan_result' examples: PlanResultTokyo: $ref: '#/components/examples/PlanResultTokyo' PlanResultMoscow: $ref: '#/components/examples/PlanResultMoscow' PlanResultDenver: $ref: '#/components/examples/PlanResultDenver' PlanResultBerlin: $ref: '#/components/examples/PlanResultBerlin' PlanResultBeijing: $ref: '#/components/examples/PlanResultBeijing' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' x-codeSamples: - lang: Python source: 'from vrt_lss_universal import * from vrt_lss_universal.apis import * from vrt_lss_universal.models import * # settings HOST = ''https://api.edge.veeroute.tech'' # production env https://api.prod.veeroute.com'' TOKEN = ''PASTETOKENHERE'' # create client configuration = Configuration() configuration.host = HOST configuration.access_token = TOKEN client = ApiClient(configuration) # create api instances system_api = SystemApi(client) plan_api = PlanApi(client) # run check check_response = system_api.check() print(check_response) # run sync calculation task = PlanTask(...) result = plan_api.run_plan_calculation(task) print(result)' /universal/plan/calculation_async: post: tags: - Plan summary: Planning (ASYNC) description: 'Trip planning. The result can be obtained using the [result](#operation/read_plan_result) method, removing - with [delete](#operation/delete_plan_result). ' operationId: run_plan_calculation_async requestBody: description: Launching the asynchronous planning. required: true content: application/json: schema: $ref: '#/components/schemas/plan_task' examples: PlanTaskTokyo: $ref: '#/components/examples/PlanTaskTokyo' PlanTaskMoscow: $ref: '#/components/examples/PlanTaskMoscow' PlanTaskDenver: $ref: '#/components/examples/PlanTaskDenver' PlanTaskBerlin: $ref: '#/components/examples/PlanTaskBerlin' PlanTaskBeijing: $ref: '#/components/examples/PlanTaskBeijing' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/calculation_async_result' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/plan/calculation_async/{id}: parameters: - $ref: '#/components/parameters/result_id' get: tags: - Plan summary: Calculation state description: Read calculation state by the calculation identifier. operationId: read_plan_calculation_state responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/calculation_state' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Plan summary: Cancel calculation description: Cancel calculation by the calculation identifier. operationId: cancel_plan_calculation responses: '204': description: Successful execution - calculation has been canceled '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/plan/result/{id}: parameters: - $ref: '#/components/parameters/result_id' get: tags: - Plan summary: Getting the result description: Getting the planning result based on the calculation identifier. operationId: read_plan_result responses: '200': description: Successful execution - planning has been completed. content: application/json: schema: $ref: '#/components/schemas/plan_result' examples: PlanResultTokyo: $ref: '#/components/examples/PlanResultTokyo' PlanResultMoscow: $ref: '#/components/examples/PlanResultMoscow' PlanResultDenver: $ref: '#/components/examples/PlanResultDenver' PlanResultBerlin: $ref: '#/components/examples/PlanResultBerlin' PlanResultBeijing: $ref: '#/components/examples/PlanResultBeijing' '202': description: Planning is in progress. content: application/json: schema: $ref: '#/components/schemas/plan_result' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Plan summary: Result removal description: Removal of the planning result by the calculation identifier. operationId: delete_plan_result responses: '204': description: Successful execution - planning has been deleted. '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/plan/validation: post: tags: - Plan summary: Data validation description: Check data before using. operationId: run_plan_validation requestBody: description: Data for validation. required: true content: application/json: schema: $ref: '#/components/schemas/plan_task' examples: PlanTaskTokyo: $ref: '#/components/examples/PlanTaskTokyo' PlanTaskMoscow: $ref: '#/components/examples/PlanTaskMoscow' PlanTaskDenver: $ref: '#/components/examples/PlanTaskDenver' PlanTaskBerlin: $ref: '#/components/examples/PlanTaskBerlin' PlanTaskBeijing: $ref: '#/components/examples/PlanTaskBeijing' responses: '200': description: Successful execution. content: application/json: schema: $ref: '#/components/schemas/validate_result' examples: ValidateResultExample: $ref: '#/components/examples/ValidateResultExample' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/replan/calculation: post: tags: - Replan summary: Replanning (SYNC) description: 'Trips replanning - changing existing and creating new trips based on the facts and data about orders, performers and transport. ' operationId: run_replan_calculation requestBody: description: New replanning request. required: true content: application/json: schema: $ref: '#/components/schemas/replan_task' examples: ReplanTaskMoscow: $ref: '#/components/examples/ReplanTaskMoscow' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/plan_result' examples: ReplanResultMoscow: $ref: '#/components/examples/ReplanResultMoscow' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' x-codeSamples: - lang: Python source: 'from vrt_lss_universal import * from vrt_lss_universal.apis import * from vrt_lss_universal.models import * # settings HOST = ''https://api.edge.veeroute.tech'' # production env https://api.prod.veeroute.com'' TOKEN = ''PASTETOKENHERE'' # create client configuration = Configuration() configuration.host = HOST configuration.access_token = TOKEN client = ApiClient(configuration) # create api instances system_api = SystemApi(client) plan_api = PlanApi(client) # run check check_response = system_api.check() print(check_response) # run sync calculation task = ReplanTask(...) result = plan_api.run_replan_calculation(task) print(result)' /universal/replan/calculation_async: post: tags: - Replan summary: Replanning (ASYNC) description: 'Trip replanning - changing existing and creating new trips based on the facts and data about orders, performers and transport. The result can be obtained using the [result](#operation/read_replan_result) method, removing - with [delete](#operation/delete_replan_result). ' operationId: run_replan_calculation_async requestBody: description: Launching the asynchronous replanning. required: true content: application/json: schema: $ref: '#/components/schemas/replan_task' examples: ReplanTaskMoscow: $ref: '#/components/examples/ReplanTaskMoscow' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/calculation_async_result' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/replan/calculation_async/{id}: parameters: - $ref: '#/components/parameters/result_id' get: tags: - Replan summary: Calculation state description: Read calculation state by the calculation identifier. operationId: read_replan_calculation_state responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/calculation_state' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Replan summary: Cancel calculation description: Cancel calculation by the calculation identifier. operationId: cancel_replan_calculation_async responses: '204': description: Successful execution - calculation has been canceled '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/replan/result/{id}: parameters: - $ref: '#/components/parameters/result_id' get: tags: - Replan summary: Getting the result description: Getting the replanning result based on the calculation identifier. operationId: read_replan_result responses: '200': description: Successful execution - replanning has been completed. content: application/json: schema: $ref: '#/components/schemas/plan_result' examples: ReplanResultMoscow: $ref: '#/components/examples/ReplanResultMoscow' '202': description: Planning is in progress. content: application/json: schema: $ref: '#/components/schemas/plan_result' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Replan summary: Result removal description: Removal of the planning result by the calculation identifier. operationId: delete_replan_result responses: '204': description: Successful execution - planning has been deleted '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/replan/validation: post: tags: - Replan summary: Data validation description: Check data before using. operationId: run_replan_validation requestBody: description: Data for validation. required: true content: application/json: schema: $ref: '#/components/schemas/replan_task' examples: ReplanTaskMoscow: $ref: '#/components/examples/ReplanTaskMoscow' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/validate_result' examples: ValidateResultExample: $ref: '#/components/examples/ValidateResultExample' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/replan/refining: post: tags: - Replan summary: Data refine description: Refine data before using. operationId: run_replan_refining requestBody: description: Data for refine. required: true content: application/json: schema: $ref: '#/components/schemas/replan_task' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/replan_task' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/actualize/calculation: post: tags: - Actualize summary: Actualization (SYNC) description: Trips actualization. operationId: run_actualize_calculation requestBody: description: New request for actualization. required: true content: application/json: schema: $ref: '#/components/schemas/actualize_task' examples: ActualizeTaskMoscow: $ref: '#/components/examples/ActualizeTaskMoscow' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/plan_result' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/actualize/validation: post: tags: - Actualize summary: Data validation description: Check data before using. operationId: run_actualize_validation requestBody: description: Data for validation. required: true content: application/json: schema: $ref: '#/components/schemas/actualize_task' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/validate_result' examples: ValidateResultExample: $ref: '#/components/examples/ValidateResultExample' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/actualize/refining: post: tags: - Actualize summary: Data refine description: Refine data before using. operationId: run_actualize_refining requestBody: description: Data for refine. required: true content: application/json: schema: $ref: '#/components/schemas/actualize_task' examples: ActualizeTaskMoscow: $ref: '#/components/examples/ActualizeTaskMoscow' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/actualize_task' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/convert/json_to_xlsx: post: tags: - Convert summary: JSON >> XLSX description: Used for conversion of input and output data to the [VRt.Universal XLSX](#section/Xlsx) format. operationId: run_convert_json_to_xlsx requestBody: description: Conversion request to the XLSX. required: true content: application/json: schema: $ref: '#/components/schemas/universal_data' examples: ConvertTaskMoscow: $ref: '#/components/examples/ConvertTaskMoscow' responses: '200': description: Successful execution content: application/octet-stream: schema: $ref: '#/components/schemas/file_xlsx' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/convert/xlsx_to_json: post: tags: - Convert summary: XLSX >> JSON description: 'Used for data conversion from the [VRt.Universal XLSX](#section/Xlsx) format to the VRt.Universal JSON format. ' operationId: run_convert_xlsx_to_json requestBody: description: Conversion request to the JSON format. required: true content: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: schema: $ref: '#/components/schemas/file_xlsx' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/universal_data' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/convert/json_to_thrift: post: tags: - Convert summary: JSON >> THRIFT description: Used for conversion of input data to the THRIFT format. operationId: run_convert_json_to_thrift requestBody: description: Conversion request to the THRIFT. required: true content: application/json: schema: $ref: '#/components/schemas/universal_data' examples: ConvertTaskMoscow: $ref: '#/components/examples/ConvertTaskMoscow' responses: '200': description: Successful execution content: text/plain: schema: $ref: '#/components/schemas/file_text' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /universal/system/check: get: tags: - System summary: 检查服务可用性 description: 检查服务可用性。 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: 获取服务版本 description: 获取服务版本。 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: 检查服务可用性 description: 检查服务可用性。 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: '对于客户端 [认证](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) [JWT 令牌](https://en.wikipedia.org/wiki/JSON_Web_Token) 被使用, 必须在每个请求的标头中以以下格式指定: `授权:承载 `。 Token 可以通过 VRt.Account API 获取。 ' type: http scheme: bearer bearerFormat: JWT schemas: geopoint: description: Geographical point. type: object additionalProperties: false properties: latitude: description: Latitude in degrees. type: number format: double minimum: -90 maximum: 90 example: 55.692789 longitude: description: Longitude in degrees. type: number format: double minimum: -180 maximum: 180 example: 37.554554 required: - latitude - longitude time_duration: description: 'Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). ' type: string format: duration x-custom-format: duration pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$ minLength: 3 maxLength: 16 default: PT0S example: P1Y1M1DT2H12M34.3S time_window: description: Time window. type: object additionalProperties: false nullable: true properties: from: description: 'Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. ' type: string format: date-time example: '2024-02-21T09:30:00+03:00' to: description: 'Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. ' type: string format: date-time example: '2024-02-21T19:45:00Z' required: - from - to compatibility_tag: description: Tag used to determine [compatibility](#section/Description/Compatibilities). type: string minLength: 1 maxLength: 256 example: B1 compatibility_tag_list: description: 'A list of tags that define a property or requirement. ' type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: $ref: '#/components/schemas/compatibility_tag' location_compatibilities: description: 'Location [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: transport_restrictions: description: 'List of transport requirements. Used to check whether the transport is compatible with the location. ' $ref: '#/components/schemas/compatibility_tag_list' attribute: description: Attribute. type: object additionalProperties: false properties: key: description: Attribute's key. type: string minLength: 1 maxLength: 100 example: attribute_name value: description: Attribute's value. type: string minLength: 0 maxLength: 2000 example: X51 required: - key - value attributes: description: Attributes. Used to add service information. type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: $ref: '#/components/schemas/attribute' location: description: 'Location - unique geographical location of the object with accessibility parameters. ' type: object additionalProperties: false properties: key: description: Location key, unique identifier. type: string minLength: 1 maxLength: 1024 example: location01 geopoint: $ref: '#/components/schemas/geopoint' arrival_duration: description: Time for driving up to the location (or waiting time at parking lot) according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' departure_duration: description: Time to leave the location according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' work_windows: description: 'List of time windows for the location. If the list is empty or not specified, the location works without time limits. ' type: array uniqueItems: true minItems: 0 maxItems: 100 default: [] items: $ref: '#/components/schemas/time_window' compatibilities: $ref: '#/components/schemas/location_compatibilities' attributes: $ref: '#/components/schemas/attributes' required: - key - geopoint demand_type: description: "Demand types:\n * `PICKUP` - loading\n * `DROP` - unloading\n\ \ * `WORK` - work at the location\n * `PICKUP_TO_BOX` - loading to box\n\ \ * `DROP_FROM_BOX` - unloading from box\n" nullable: false type: string enum: - PICKUP - DROP - WORK - PICKUP_TO_BOX - DROP_FROM_BOX example: WORK cargo_list: description: "The list of cargo keys depends on the type of order in which the\ \ cargoes are located:\n * `PICKUP` - list of keys\n * `DROP` - one key\n\ \ * `WORK` - empty list\n * `PICKUP_TO_BOX` - one key\n * `DROP_FROM_BOX`\ \ - one key\n" type: array minItems: 0 maxItems: 1000 uniqueItems: true items: description: Cargo key. type: string minLength: 1 maxLength: 1024 example: - cargo01 possible_event: description: 'Possible event. Combines the geographical location and the time window, when a demand can be completed. ' type: object additionalProperties: false properties: key: description: Event key, unique identifier. type: string minLength: 1 maxLength: 1024 example: event_1 location_key: description: Location key, where this event is possible. type: string minLength: 1 maxLength: 1024 example: location01 duration: description: Event execution time according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' reward: description: Reward for the event. type: number format: double minimum: 0 maximum: 1000000000 default: 1000.1 example: 199.9 hard_time_window: $ref: '#/components/schemas/time_window' soft_time_window: $ref: '#/components/schemas/time_window' required: - key - location_key - hard_time_window demand: description: Request for a single action with a cargo (pickup / drop) or work at a location. type: object additionalProperties: false properties: key: description: Demand key, unique identifier. type: string minLength: 1 maxLength: 1024 example: demand_1 demand_type: $ref: '#/components/schemas/demand_type' target_cargos: $ref: '#/components/schemas/cargo_list' precedence_in_trip: description: Precedence within a trip, 0 - the precedence is not taken into account. type: integer format: int32 minimum: 0 maximum: 15001 example: 1 default: 0 precedence_in_order: description: Precedence within an order, 0 - the precedence is not taken into account. type: integer format: int32 minimum: 0 maximum: 15001 example: 1 default: 0 possible_events: description: List of possible time windows and location keys to fulfil an order. type: array uniqueItems: true minItems: 1 maxItems: 25 items: $ref: '#/components/schemas/possible_event' attributes: $ref: '#/components/schemas/attributes' required: - key - demand_type - possible_events capacity: description: Capacity characteristics. type: object additionalProperties: false nullable: true properties: mass: description: Weight in kilograms. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 10 volume: description: Volume in cubic meters. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 2 capacity_a: description: 'Additional parameter (A) for measuring cargoes and compartments in alternative units. For example, to account for cargo in pieces (this parameter is equal to one for a cargo and the maximum number of cargo to hold for a compartment). ' type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 1 capacity_b: description: 'Additional parameter (B) for measuring cargoes and compartments in alternative units. ' type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 2 capacity_c: description: 'Additional parameter (C) for measuring cargoes and compartments in alternative units. ' type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 3 cargo_rotation_type: description: "The ability of the cargo to rotate in 90 degree increments around\ \ the axes:\n * `ALL` - any axes.\n * `YAW` - around the Z axis.\n * `PITCH`\ \ - around the Y axis.\n * `ROLL` - around the X axis. \n" type: string enum: - ALL - YAW - PITCH - ROLL default: ALL example: ALL cargo_rotation: description: "List of possibilities of a object rotations (90 degree step):\n\ \ * `ALL` - can rotate by any axis\n * `YAW` - can yaw\n * `PITCH` - can\ \ pitch\n * `ROLL` - can roll\n\nEmpty list means object rotations is prohibited.\n\ \nMore about [cargo placement](#section/Description/Cargo-placement)." type: array minItems: 0 maxItems: 4 uniqueItems: true default: [] items: $ref: '#/components/schemas/cargo_rotation_type' example: - ALL cargo_compatibilities: description: 'Cargo [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: width: description: Width in meters, used to check the transport box capacity. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 1 height: description: Height in meters, used to check the transport box capacity. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 0.3 length: description: Length in meters, used to check the transport box capacity. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 2.2 rotation: $ref: '#/components/schemas/cargo_rotation' box_restrictions: description: 'A list of necessary restrictions for the transport box in which this cargo can be transported. ' $ref: '#/components/schemas/compatibility_tag_list' cargo_features: description: 'Cargo''s features list. Used to check whether the cargo is compatible with other cargos. Incompatible cargo cannot be located simultaneously in the same box of the transport. ' $ref: '#/components/schemas/compatibility_tag_list' cargo_restrictions: description: 'Restrictions list for the cargo. Used to check whether the cargo is compatible with other cargos. Incompatible cargo cannot be located simultaneously in the same box of the transport. ' $ref: '#/components/schemas/compatibility_tag_list' cargo: description: 'Cargo. Regardless of capacity, cargo can only move inside the transport box. ' type: object additionalProperties: false properties: key: description: Cargo key, unique identifier. type: string minLength: 1 maxLength: 1024 example: cargo01 capacity: $ref: '#/components/schemas/capacity' description: Cargo additive measures. compatibilities: $ref: '#/components/schemas/cargo_compatibilities' target_box_key: description: 'The key of the transport compartment in which the cargo is already located. Applicable only for cargo that is in the order with the type `DROP_FROM_BOX`. For other order types, the key must be empty. ' type: string minLength: 1 maxLength: 1024 nullable: true default: null example: box01 required: - key order_compatibilities: description: 'Order [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: order_features: description: 'Order features list. Used to check the compatibility of an order with other orders. Incompatible orders cannot be planned on the same trip. ' $ref: '#/components/schemas/compatibility_tag_list' order_restrictions: description: 'List of restrictions for an order carried out on the same trip. Used to check the compatibility of an order with other orders. Incompatible orders cannot be planned on the same trip. ' $ref: '#/components/schemas/compatibility_tag_list' performer_restrictions: description: 'A list of necessary requirements for the performer who can fulfill this order. ' $ref: '#/components/schemas/compatibility_tag_list' performer_blacklist: description: 'A list of requirements that the performer is not allowed to have. This list should not intersect with `performer_restrictions`. ' $ref: '#/components/schemas/compatibility_tag_list' order: description: The order for delivery/transportation, contains a list of demands. type: object additionalProperties: false properties: key: description: Order key, unique identifier. type: string minLength: 1 maxLength: 1024 example: order01 demands: description: Demands list. type: array uniqueItems: true minItems: 1 maxItems: 1000 items: $ref: '#/components/schemas/demand' cargos: description: 'The list of cargoes referred to by the demands of this order. The list must be empty if all demands in the order are of type `WORK`. ' type: array uniqueItems: true minItems: 0 maxItems: 1000 default: [] items: $ref: '#/components/schemas/cargo' compatibilities: $ref: '#/components/schemas/order_compatibilities' attributes: $ref: '#/components/schemas/attributes' required: - key - demands performer_tariff_constraint: description: The paid period of time is an integral part of the tariff. type: object additionalProperties: false properties: stage_length: description: Length of the paid period according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). type: string format: duration x-custom-format: duration pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$ minLength: 3 maxLength: 16 default: PT24H example: P1T8H30M20S cost_per_unit: description: 'Cost within the paid period, monetary unit per second of work. ' type: number format: double minimum: 0.001 maximum: 10000 default: 0.001 example: 5.05 performer_tariff: description: The tariff determines the cost and time limits of the shift. type: object additionalProperties: false properties: cost_per_shift: description: Price for using the shift, monetary unit. type: number format: double minimum: 0.001 maximum: 1000000 default: 0.001 example: 2000 constraints: description: List of components of the tariff. type: array minItems: 1 maxItems: 100 uniqueItems: false items: $ref: '#/components/schemas/performer_tariff_constraint' default: - stage_length: PT24H cost_per_unit: 0.001 max_penalty_cost: description: 'Max sum of penalties for performer or transport using this shift, monetary unit. If not specified or null, the performer can violate without restrictions. ' type: number format: double nullable: true default: null minimum: 0 maximum: 1000000 example: 2000 break: description: The condition for the onset and characteristics of a break. type: object additionalProperties: false nullable: true properties: max_work_duration_sum: description: Total work time after which you need to take a break according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' duration: description: Length of break period according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' required: - max_work_duration_sum - duration work_and_rest_rules: description: 'Work and rest rules. ' type: object additionalProperties: false properties: first_break: $ref: '#/components/schemas/break' description: 'First break - no later than N minutes after the scheduled start time, there must be one break with a duration of M minutes. Waiting time is not counted as working time. Work cannot be interrupted by a break. If there are many orders in one location, then a break can be scheduled between the execution of orders. ' performer_shift: description: 'Performer''s shift that determines the availability of the resource for planning within its time window. ' type: object additionalProperties: false properties: key: description: Shift key, unique identifier. type: string minLength: 1 maxLength: 1024 example: shift01 availability_time: description: Time shift window when the performer can perform work at locations and drive between locations. $ref: '#/components/schemas/time_window' working_time: description: Working time window, when the performer can perform work at locations, must be inside the time window. $ref: '#/components/schemas/time_window' start_location_key: description: 'Start location key. If not specified, the trip starts from the first order location. ' type: string minLength: 1 maxLength: 1024 nullable: true default: null example: start_location01 finish_location_key: description: 'Finish location key. If not specified, the trip finishes on the last order location. ' type: string minLength: 1 maxLength: 1024 nullable: true default: null example: finish_location01 max_locations: description: 'Limit of the number of unique locations in one trip. If not specified or null, number of locations is not limited. ' type: integer format: int32 minimum: 1 maximum: 1000 nullable: true default: null example: 15 max_stops: description: 'Limit of the number of stops in one trip. If not specified or null, number of stops is not limited. ' type: integer format: int32 minimum: 1 maximum: 1000 nullable: true default: null example: 15 tariff: $ref: '#/components/schemas/performer_tariff' work_and_rest_rules: $ref: '#/components/schemas/work_and_rest_rules' attributes: $ref: '#/components/schemas/attributes' required: - key - availability_time - working_time transport_type: description: "Transport types:\n * `CAR` - car\n * `TRUCK_1500` - truck with\ \ permissible weight 1500 kg\n * `TRUCK_3000` - truck with permissible weight\ \ 3000 kg\n * `TRUCK_5000` - truck with permissible weight 5000 kg\n * `TRUCK_10000`\ \ - truck with permissible weight 10000 kg\n * `TRUCK_20000` - truck with\ \ permissible weight 20000 kg\n * `TRUCK_GARBAGE_1` - truck for transporting\ \ garbage (type 1)\n * `TRUCK_GARBAGE_2` - truck for transporting garbage\ \ (type 2)\n * `TUK_TUK` - tuk-tuk\n * `BICYCLE` - bicycle\n * `PEDESTRIAN`\ \ - pedestrian \n * `PUBLIC_TRANSPORT` - public transport\n\n Permissible\ \ weight is the weight of the equipped transport with cargo and driver, set\ \ by the manufacturer as the maximum allowable.\n" type: string enum: - CAR - TRUCK_1500 - TRUCK_3000 - TRUCK_5000 - TRUCK_10000 - TRUCK_20000 - TRUCK_GARBAGE_1 - TRUCK_GARBAGE_2 - TUK_TUK - BICYCLE - PEDESTRIAN - PUBLIC_TRANSPORT default: CAR example: CAR feature_lifetime: description: Tag life time window. type: object additionalProperties: false properties: feature: $ref: '#/components/schemas/compatibility_tag' time_windows: description: 'A list of time windows within which the specified tag exists. If compatibility is affected by several features with different windows - entities will be considered compatible within the intersection of windows. ' type: array minItems: 1 maxItems: 4 uniqueItems: true items: $ref: '#/components/schemas/time_window' required: - feature - time_windows feature_lifetime_list: description: 'List of feature tag lifetime. ' type: array minItems: 0 maxItems: 1000 default: [] uniqueItems: true items: $ref: '#/components/schemas/feature_lifetime' performer_compatibilities: description: 'Performer [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: performer_features: description: 'Performer''s features list. Used to check whether the performer is compatible with orders. ' $ref: '#/components/schemas/compatibility_tag_list' performer_features_lifetimes: description: 'List of feature lifetime. Affects on compatibility Performer-Order. ' $ref: '#/components/schemas/feature_lifetime_list' transport_restrictions: description: 'List of transport requirements. Used to check whether the transport is compatible with the performer. ' $ref: '#/components/schemas/compatibility_tag_list' performer_limits: description: 'The performer limitations. ' type: object additionalProperties: false nullable: true properties: max_work_shifts: description: Limit of the number of performer's shifts in one planning. type: integer format: int32 minimum: 1 maximum: 31 default: 31 example: 3 performer: description: 'Performer. Fulfills orders using transport. ' type: object additionalProperties: false properties: key: description: Performer's key, unique identifier. type: string minLength: 1 maxLength: 1024 example: performer0001 shifts: description: List of working shifts of performer. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/performer_shift' own_transport_type: $ref: '#/components/schemas/transport_type' compatibilities: $ref: '#/components/schemas/performer_compatibilities' limits: $ref: '#/components/schemas/performer_limits' attributes: $ref: '#/components/schemas/attributes' required: - key - shifts transport_tariff_constraint: description: Paid mileage is an integral part of the tariff. type: object additionalProperties: false properties: stage_length: description: The length of the paid part of the way, in meters. type: integer format: int32 minimum: 1 maximum: 100000000 default: 100000000 example: 200000 cost_per_unit: description: 'The cost within the paid part of the way, monetary unit per meter. ' type: number format: double minimum: 0.001 maximum: 10000 default: 0.001 example: 5.05 transport_tariff: description: The tariff determines the cost of transport operation and restrictions on mileage per shift. type: object additionalProperties: false properties: cost_per_shift: description: Price for using the shift, monetary unit. type: number format: double minimum: 0.001 maximum: 1000000 default: 0.001 example: 2000 constraints: description: List of components of the tariff. type: array minItems: 1 maxItems: 100 uniqueItems: false items: $ref: '#/components/schemas/transport_tariff_constraint' default: - stage_length: 100000000 cost_per_unit: 0.001 transportation_cost: description: The cost of moving 1 unit of measure of cargo per 1 meter (for each capacity field, respectively), monetary unit. $ref: '#/components/schemas/capacity' max_penalty_cost: description: 'Max sum of penalties for transport using this shift, monetary unit. ' type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 2000 deprecated: true transport_shift: description: 'Working shift of transport. Specifies the availability of transport for scheduling. The end of the shift resets the cargo remaining in the body after the execution of demands of the `DROP_FROM_BOX` and `PICKUP_TO_BOX` types. ' type: object additionalProperties: false properties: key: description: Shift key, unique identifier. type: string minLength: 1 maxLength: 1024 example: shift01 availability_time: description: The shift time window in which the transport can move between locations and be used by the performer in work on locations. $ref: '#/components/schemas/time_window' working_time: deprecated: true description: The working time window, during which the transport can be used by the performer in work on locations, must be within the availability time window. $ref: '#/components/schemas/time_window' start_location_key: description: 'Start location key. If the key is not set, then the transport path starts on the first order. ' type: string minLength: 1 maxLength: 1024 nullable: true default: null example: start_location01 finish_location_key: description: 'Finish location key. If the key is not set, then the transport path ends at the last order. ' type: string minLength: 1 maxLength: 1024 nullable: true default: null example: finish_location01 tariff: $ref: '#/components/schemas/transport_tariff' attributes: $ref: '#/components/schemas/attributes' required: - key - availability_time - working_time box_compatibilities: description: 'A transport box [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: width: description: Width in meters. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 1 height: description: Height in meters. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 3.1 length: description: Length in meters. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 2.1 box_features: description: 'Box features list. Used to check whether the cargo is compatible with the box. ' $ref: '#/components/schemas/compatibility_tag_list' box_limits: description: '`max_one_cargo_capacity` - `capacity` fields limitation for *one* cargo. ' type: object additionalProperties: false nullable: true properties: max_one_cargo_capacity: $ref: '#/components/schemas/capacity' box: description: 'A transport box capable to hold a cargo. ' type: object additionalProperties: false properties: key: description: Unique compartment key used to identify the cargo placement in compartments. type: string minLength: 1 maxLength: 1024 example: box01 capacity: description: The compartment capacity, which limits the maximum amount for all `capacity` fields of *all* the cargoes. $ref: '#/components/schemas/capacity' compatibilities: $ref: '#/components/schemas/box_compatibilities' limits: $ref: '#/components/schemas/box_limits' required: - key transport_compatibilities: description: 'Transport [compatibilities](#section/Description/Compatibilities). ' type: object additionalProperties: false nullable: true properties: transport_features: description: 'Transport features list. Used to check whether the transport is compatible with locations and performers. ' $ref: '#/components/schemas/compatibility_tag_list' transport_features_lifetimes: description: 'List of feature lifetime. Affects on compatibility Transport-Location. ' $ref: '#/components/schemas/feature_lifetime_list' performer_restrictions: description: 'List of necessary requirements for the performer to use this transport. ' $ref: '#/components/schemas/compatibility_tag_list' transport_limits: description: 'Transport load limits. ' type: object additionalProperties: false nullable: true properties: max_boxes: description: 'Limit of the number of transports''s unique locations in one trip. If not specified or null, number of using boxes is not limited. The limit should not exceed the number of boxes. ' type: integer format: int32 nullable: true default: null minimum: 0 maximum: 100 example: 2 max_capacity: $ref: '#/components/schemas/capacity' description: 'Parameter limits overall transport load. If parameter not specified - loading is limited only to each box. Applicable only if the transport has more than one box. Parameter must not be less than the capacity of any compartment. ' transport: description: 'Transport. Used by performer for relocating and cargo transfer. ' type: object additionalProperties: false properties: key: description: Transport key, unique identifier. type: string minLength: 1 maxLength: 1024 example: transport001 shifts: description: List of working shifts of transport. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/transport_shift' transport_type: $ref: '#/components/schemas/transport_type' boxes: description: A list of transport compartments that can accommodate the cargo. type: array minItems: 0 maxItems: 100 uniqueItems: true default: [] items: $ref: '#/components/schemas/box' compatibilities: $ref: '#/components/schemas/transport_compatibilities' limits: $ref: '#/components/schemas/transport_limits' attributes: $ref: '#/components/schemas/attributes' required: - key - shifts hardlink_element_type: description: 'Type of goal entity. It can be an order or a performer\transport shift. ' type: string enum: - ORDER - PERFORMER_SHIFT - TRANSPORT_SHIFT example: ORDER hardlink_element: description: Assignment group element. type: object additionalProperties: false properties: type: $ref: '#/components/schemas/hardlink_element_type' entity_key: description: Key of the target entity (an order or a shift). type: string minLength: 1 maxLength: 1024 example: ord0001 required: - type - entity_key hardlink: description: "Assignment required to associate entities in a single group. It\ \ can consist of two or more entities. Example:\n * driver assignment to\ \ the transport (connection between the performer's shifts and the transport).\n\ \ * order assignment to the performer (link the order to a performer's shift).\n\ \ * specifying the need to perform multiple orders during a single trip (linking\ \ orders to deliver them within one trip).\n" type: object additionalProperties: false properties: key: description: Hardlink key. type: string minLength: 1 maxLength: 1024 example: group01 links: description: List of items in the assignment group. type: array minItems: 2 maxItems: 1000 items: $ref: '#/components/schemas/hardlink_element' required: - key - links plan_configuration: type: string minLength: 1 maxLength: 256 default: default example: optimize_distance trip_start_time_strategy: description: "The strategy of the choosing optimal trip start time:\n * `EARLIEST_FINISH`\n\ \ * `LOWEST_COST`\n" type: string enum: - EARLIEST_FINISH - LOWEST_COST default: EARLIEST_FINISH example: LOWEST_COST transport_factor: description: Speed change coefficient for the specified transport type. type: object additionalProperties: false properties: transport_type: $ref: '#/components/schemas/transport_type' speed: description: Average transport speed multiplier. type: number format: double minimum: 0.1 maximum: 100000 example: 2.5 required: - transport_type - speed capacity_factor: description: 'Capacity change rate for the specified transport type. ' type: object additionalProperties: false properties: transport_type: $ref: '#/components/schemas/transport_type' capacity: $ref: '#/components/schemas/capacity' required: - transport_type - capacity demand_extra_duration: description: 'Additional time for the execution of the application by a certain performer. ' type: object additionalProperties: false properties: demand_key: description: The key of the ticket whose events need to increase the execution time. type: string nullable: true default: null minLength: 1 maxLength: 1024 example: demand01.1 performer_key: description: Performer's key. type: string minLength: 1 maxLength: 1024 example: performer0001 additional_duration: description: 'Additional execution time for all events of the specified order for all shifts of the specified performer. According to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). ' $ref: '#/components/schemas/time_duration' required: - demand_key - performer_key - additional_duration trip_assumptions: description: 'Planning assumptions. Designed to adjust the business logic of planning and mass change of input data. ' type: object additionalProperties: false properties: transport_factor: description: Transport speed change coefficients. type: array minItems: 0 maxItems: 12 default: [] uniqueItems: true items: $ref: '#/components/schemas/transport_factor' capacity_factor: description: 'Transport capacity change coefficients. Change the `capacity` parameters for all boxes and `max_capacity` for the transport. ' type: array minItems: 0 maxItems: 12 default: [] uniqueItems: true items: $ref: '#/components/schemas/capacity_factor' demands_extra_duration: description: 'List of additional execution times for the demands by certain performers. Valid for the specified performer-order pair for all performer''s shifts all order execution options. ' type: array minItems: 0 maxItems: 15001 default: [] uniqueItems: true items: $ref: '#/components/schemas/demand_extra_duration' feature_lifetimes: deprecated: true description: 'List of feature lifetime. Affects only on compatibility Performer-Order and Transport-Location. ' $ref: '#/components/schemas/feature_lifetime_list' disable_compatibility: description: 'Disable the accounting for capacity. If `true` is specified, all becomes compatible with everything. ' type: boolean default: false example: true disable_capacity: description: 'Disable the accounting for capacity. If `true` is specified, all transports can accommodate an unlimited cargo amount. ' type: boolean default: false example: true same_order_time_window: description: 'Use for calculation the same (specified) time window for orders and demands. The time window is specified from the beginning of the earliest window to the end of the latest window from all orders and demands. ' type: boolean default: false example: true expand_shift_time_window: description: 'Expand the time window for performer and transport shifts. The left border of the first shift extends to the left border of the specified window, right border extends to the right border or to the beginning of the next window for this entity. Each next shift moves the right border to the next shift or to the right border of the specified window. ' type: boolean default: false example: true compatibility_penalty: description: 'Penalty for violation of compatibility. When taking into account the violation of compatibility with the location, the penalty is applied for each stop at the location. ' type: object additionalProperties: false properties: tag: $ref: '#/components/schemas/compatibility_tag' penalty: description: 'Penalty for violation of compatibility for the specified tag. ' type: number format: double minimum: 0 maximum: 1000000 example: 2000 required: - tag - penalty trip_penalties: description: 'Planning penalties - ability to disrupt a part of the planning business rules. ' type: object additionalProperties: false properties: compatibilities: description: Penalties for compatibility violation. type: array uniqueItems: true minItems: 0 maxItems: 1000000 default: [] items: $ref: '#/components/schemas/compatibility_penalty' trips_settings: description: Trip creation settings. type: object additionalProperties: false properties: configuration: $ref: '#/components/schemas/plan_configuration' trip_start_time_strategy: $ref: '#/components/schemas/trip_start_time_strategy' assumptions: $ref: '#/components/schemas/trip_assumptions' penalties: $ref: '#/components/schemas/trip_penalties' geo_settings: description: 'Geodata usage settings. ' type: object additionalProperties: false properties: geo_provider: description: Geodata provider. type: string default: OSRM minLength: 1 maxLength: 256 example: OSRM toll_roads: description: Use toll roads. type: boolean default: true example: false ferry_crossing: description: Use ferry crossing. type: boolean default: true example: false traffic_jams: description: Accounting for traffic during the route planning. type: boolean default: true example: false flight_distance: description: Use for calculating straight line distances. If `false` is specified, distances are calculated by roads. When this parameter is enabled, geo-provider not used and traffic (`traffic_jams`) is automatically disabled. type: boolean default: false example: true restricted_zones: description: 'List of restricted zones. ' type: array deprecated: true minItems: 0 maxItems: 5 uniqueItems: true default: [] items: description: Zone id. type: string minLength: 1 maxLength: 256 example: - ART_MOSCOW_MKAD_CARGO_FRAME calculation_settings: description: Calculation settings. type: object additionalProperties: false properties: max_calculation_time: description: 'Max calculation time. The countdown starts from the time when data is uploaded to the server and calculation starts. ' type: string format: duration x-custom-format: duration pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$ minLength: 3 maxLength: 16 default: PT20M example: PT4M30S max_waiting_time: description: 'Max calculation time. The countdown starts from the time when data is uploaded to the server. ' type: string format: duration x-custom-format: duration pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$ minLength: 3 maxLength: 16 default: PT20M example: PT2H result_ttl: description: 'Calculation result lifetime. The countdown starts from the time when the calculation is completed. ' type: string format: duration x-custom-format: duration pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$ minLength: 3 maxLength: 16 default: PT20M example: PT4M30S result_timezone: description: 'The time zone where the calculation result is returned. ' type: integer format: int32 minimum: -12 maximum: 12 default: 0 example: 3 treat_warnings_as_errors: description: 'Treat warnings as errors. ' type: boolean default: false example: true precision: description: 'Specifies the calculation accuracy in the decimal point sequence number. It equals 2 by default, so the accuracy is 0.01. ' type: integer format: int32 minimum: 0 maximum: 6 default: 2 example: 3 plan_settings: description: Planning settings. type: object additionalProperties: false properties: trips_settings: $ref: '#/components/schemas/trips_settings' geo_settings: $ref: '#/components/schemas/geo_settings' calculation_settings: $ref: '#/components/schemas/calculation_settings' waypoint: description: 'Waypoint. ' type: object additionalProperties: false properties: name: description: Name of the point. type: string nullable: true default: null minLength: 0 maxLength: 1024 example: central geopoint: $ref: '#/components/schemas/geopoint' duration: $ref: '#/components/schemas/time_duration' description: Stop duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). required: - geopoint routing_matrix_line: description: Values line in the route distances matrix (in meters) or in the route durations matrix (in seconds), between points. type: array minItems: 2 maxItems: 15001 uniqueItems: false items: description: 'Route distance (in meters) or duration (in seconds) between locations. A negative value (-1) means that it is not possible to drive between the specified locations. ' type: integer format: int64 minimum: -1 maximum: 10000000 example: 1500 routing_matrix: description: Time and distance matrix. type: object additionalProperties: false properties: waypoints: description: Array of geographical points with distances and times calculated between them. type: array minItems: 2 maxItems: 15001 uniqueItems: false items: $ref: '#/components/schemas/waypoint' distances: description: 'Routes length between two neighbors locations, in meters. The values in the array are ordered according to the elements order in the `waypoints` parameter. Each matrix row is an array of distances from the desired point to every other point. ' type: array minItems: 2 maxItems: 15001 uniqueItems: false items: $ref: '#/components/schemas/routing_matrix_line' durations: description: 'Array of route durations between two neighbors locations, in seconds. The values in the array are ordered according to the elements order in the `waypoints` parameter. Each matrix row is an array of distances from the desired point to every other point. ' type: array minItems: 2 maxItems: 15001 uniqueItems: false items: $ref: '#/components/schemas/routing_matrix_line' required: - waypoints - distances - durations routing_transport_matrix: description: Time-distance matrix for a specific transport type. type: object additionalProperties: false properties: transport_type: $ref: '#/components/schemas/transport_type' matrix: $ref: '#/components/schemas/routing_matrix' required: - transport_type - matrix routing_transport_matrix_list: description: 'Time and distance matrices list for each transport type from dataset. By specifying an external routing matrix `external_routing`, parameters `geo_settings` are not used. ' type: array uniqueItems: true minItems: 0 maxItems: 12 default: [] items: $ref: '#/components/schemas/routing_transport_matrix' dataset_name: description: 'The name of the dataset. A technical field that does not affect planning. ' type: string minLength: 0 maxLength: 1000 default: '' example: custom_dataset_one plan_task: description: Task for planning type: object additionalProperties: false properties: locations: description: List of locations used for orders and shifts. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 15001 default: [] items: $ref: '#/components/schemas/hardlink' plan_settings: $ref: '#/components/schemas/plan_settings' external_routing: $ref: '#/components/schemas/routing_transport_matrix_list' dataset_name: $ref: '#/components/schemas/dataset_name' required: - locations - orders - performers - transports service_name: description: Service name. type: string enum: - UNIVERSAL - ROUTING - ACCOUNT - ADMIN - STUDIO - MONITOR - PACKER - AGRO - STOCK - LONGHAUL - CLUSTER - CARGOTIMETABLE example: UNIVERSAL operation_id: description: Operation identifier. type: string minLength: 3 maxLength: 256 example: run_plan_calculation tracedata: description: Data for request tracing. type: object additionalProperties: false properties: code: description: 'Unique process identifier. If an asynchronous process is running, then the code for it will be the same, although other fields may differ. ' type: string format: uuid example: 11111111-2222-3333-4444-555555555555 client: description: 'The unique identifier of the client (`company_key` + `_|_` + `username`) that made the request. ' type: string pattern: \w+ minLength: 2 maxLength: 256 example: company_|_username server: description: Server identifier. type: string pattern: \w+ minLength: 2 maxLength: 256 example: server_name service: $ref: '#/components/schemas/service_name' operation: $ref: '#/components/schemas/operation_id' time: description: Date and time service method run in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2024-02-21T09:30:00+03:00' required: - code - client - server - service - operation - time trip_name: description: Trip name. type: string minLength: 0 maxLength: 64 default: '' example: 1-ABC assigned_performer: description: Performer's shift assigned to the specified time (`shift_time`). type: object additionalProperties: false properties: performer_key: description: Performer's key, unique identifier. type: string minLength: 1 maxLength: 1024 example: performer0001 shift_key: description: Performer's shift key. type: string minLength: 1 maxLength: 1024 example: performer0001_shift01 shift_time: $ref: '#/components/schemas/time_window' required: - performer_key - shift_key - shift_time assigned_transport: description: Transport's shift assigned to the specified time (`shift_time`). type: object additionalProperties: false properties: transport_key: description: Transport key, unique identifier. type: string minLength: 1 maxLength: 1024 example: transport001 shift_key: description: Transport's shift key. type: string minLength: 1 maxLength: 1024 example: performer01 shift_time: $ref: '#/components/schemas/time_window' required: - transport_key - shift_key - shift_time trip_state_flag: description: '[Flag of state](#section/Description/Trip-model) inside trip. ' type: string enum: - AROUND_LOCATION - INSIDE_LOCATION - INSIDE_LOCATION_WINDOW - INSIDE_WORKING_WINDOW - INSIDE_EVENT_HARD_WINDOW - INSIDE_EVENT_SOFT_WINDOW - ON_DEMAND - WAITING - RELOCATING - BREAK example: RELOCATING cargo_placement: description: One cargo placement in the compartment. type: object additionalProperties: false properties: box_key: description: Compartment key. type: string minLength: 1 maxLength: 1024 example: box01 cargo_key: description: Cargo key. type: string minLength: 1 maxLength: 1024 example: cargo01 required: - box_key - cargo_key cargo_placement_list: description: List of cargo placements in transport at the beginning of the state. type: array uniqueItems: true minItems: 0 maxItems: 1000 default: [] items: $ref: '#/components/schemas/cargo_placement' trip_state: description: Trip state. type: object additionalProperties: false properties: time: description: Start time according to the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6). type: string format: date-time example: '2024-02-21T09:30:00+03:00' order_key: description: Key of the order with which an action is taken. type: string nullable: true default: null minLength: 1 maxLength: 1024 example: order01 demand_key: description: Key of the demand with which an action is taken. type: string nullable: true default: null minLength: 1 maxLength: 1024 example: demand01.1 event_key: description: Key of the event at which an action is taken. type: string nullable: true default: null minLength: 1 maxLength: 1024 example: event01 location_key: description: Key of the location at which an action is taken. type: string nullable: true default: null minLength: 1 maxLength: 1024 example: location01 flags: description: "List of flags, describing current state. \n \nPossible flag\ \ values (locations):\n * `AROUND_LOCATION` - a performer is around a\ \ location: finished relocation to the location by routing means.\n *\ \ `INSIDE_LOCATION` - a performer is inside a location considering arrival\ \ and departure time.\n\nPossible flag values (time windows):\n * `INSIDE_WORKING_WINDOW`\ \ - a performer is inside a formal working shift window from the input\ \ task.\n * `INSIDE_LOCATION_WINDOW` - a performer is inside an availability\ \ window of a location.\n * `INSIDE_EVENT_HARD_WINDOW` - a performer\ \ is inside the hard window of an event.\n * `INSIDE_EVENT_SOFT_WINDOW`\ \ - a performer is inside the soft window of an event.\n\nPossible flag\ \ values (work states):\n * `ON_DEMAND` - a performer is working on a\ \ demand.\n * `WAITING` - a performer is waiting. \n * `RELOCATING`\ \ - a performer is relocating.\n * `BREAK` - the performer is on a break.\n" type: array uniqueItems: true minItems: 0 maxItems: 9 default: [] items: $ref: '#/components/schemas/trip_state_flag' cargo_placements: $ref: '#/components/schemas/cargo_placement_list' attributes: $ref: '#/components/schemas/attributes' required: - time - flags trip_waitlist: description: A list of keys assigned to orders, but not scheduled for a specific time. type: array minItems: 0 maxItems: 15001 uniqueItems: true items: description: Order key. type: string minLength: 1 maxLength: 1024 example: - order02 trip: description: 'A trip is a sequence of states assigned to the specified performer driving the specified transport. ' type: object additionalProperties: false properties: key: description: Unique trip identifier. type: string minLength: 1 maxLength: 1024 example: 631988f0-9e27-11ed-a8fc-0242ac120002 name: $ref: '#/components/schemas/trip_name' performer: $ref: '#/components/schemas/assigned_performer' transport: $ref: '#/components/schemas/assigned_transport' states: description: List of performer's states. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/trip_state' waitlist: $ref: '#/components/schemas/trip_waitlist' attributes: $ref: '#/components/schemas/attributes' required: - key - performer - transport - states measurements: description: 'Measurements of times and distances for work on location, individual trips and planning in general. ' type: object additionalProperties: false properties: driving_time: $ref: '#/components/schemas/time_duration' waiting_time: $ref: '#/components/schemas/time_duration' break_time: $ref: '#/components/schemas/time_duration' working_time: $ref: '#/components/schemas/time_duration' arriving_time: $ref: '#/components/schemas/time_duration' departure_time: $ref: '#/components/schemas/time_duration' total_time: $ref: '#/components/schemas/time_duration' distance: description: Distance in meters. type: integer format: int32 minimum: 0 maximum: 4000000000 example: 5200 time_window: $ref: '#/components/schemas/time_window' required: - driving_time - waiting_time - break_time - working_time - arriving_time - departure_time - total_time - distance - time_window object_metrics: description: Objects metrics. type: object additionalProperties: false properties: keys: description: List of object's keys. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: description: Object's key. type: string minLength: 1 maxLength: 1024 example: - obj1 count: description: The total number of objects. type: integer format: int32 minimum: 0 default: 0 maximum: 15001 example: 1700 time_window_violations: description: 'Statistics of time window violation. ' type: object additionalProperties: false properties: before: $ref: '#/components/schemas/object_metrics' description: Count and order's keys, what planned before permitted time window. after: $ref: '#/components/schemas/object_metrics' description: Count and order's keys, what planned after permitted time window. quality_statistics: description: 'Quality metrics. ' type: object additionalProperties: false properties: soft_time_window_violations: $ref: '#/components/schemas/time_window_violations' description: Statistics of soft time window violations. hard_time_window_violations: $ref: '#/components/schemas/time_window_violations' description: Statistics of hard time window violations. statistics: description: 'General statistics for one or more trips. ' type: object additionalProperties: false properties: cost: description: 'Total costs calculated based on the performer''s and transport tariffs. The total cost is equal to the difference between the total reward (`reward`) and expenses (`cost`). ' type: number format: double minimum: 0 example: 1231.1 reward: description: The total reward for orders fulfillment. type: number format: double minimum: 0 example: 2343.3 measurements: $ref: '#/components/schemas/measurements' description: "Measurements of times and distances for for aggregate and\ \ individual trips:\n\n * `driving_time` - duration of driving time\n\ \ * `waiting_time` - total waiting time for all locations\n * `break_time`\ \ - total break time for all locations\n * `working_time` - total time\ \ of work execution at all locations included in the trip\n * `arriving_time`\ \ - total time to drive / park at locations\n * `departure_time` - total\ \ time for departure from locations\n * `time_window` - the start time\ \ of the first trip and the end time of the last, if there are no trips,\ \ the time of the left border of the planning horizon is returned, while\ \ the from \\ to fields have the same value\n * `total_time` - total\ \ time, composed of `driving_time` + `waiting_time` + `break_time` + `working_time`\ \ + `arriving_time` + `departure_time`\n * `distance` - the total length\ \ of the trip / set of trips, in meters\n" trips_count: description: The total number of planned trips. type: integer format: int32 minimum: 0 maximum: 15001 example: 250 performers_count: description: The total number of performers involved in orders fulfillment. type: integer format: int32 minimum: 0 maximum: 15001 example: 157 orders_count: description: The total number of planned and assigned orders. type: integer format: int32 minimum: 0 maximum: 15001 example: 1700 plan_orders_count: description: The total number of planned orders. type: integer format: int32 minimum: 0 maximum: 15001 example: 1003 waitlist_orders_count: description: The total number of assigned orders. type: integer format: int32 minimum: 0 maximum: 15001 example: 697 cargo_capacity_ratio: $ref: '#/components/schemas/capacity' description: 'The ratio of the total additive measures of the transported cargo to the total capacity of the boxes. In fractions of a unit. It may be more than one. ' max_transport_load: $ref: '#/components/schemas/capacity' description: 'The ratio of the maximum load of boxes to the total capacity of boxes. In fractions of a unit. It cannot be more than one. ' quality: $ref: '#/components/schemas/quality_statistics' required: - cost - reward - measurements - trips_count - performers_count - orders_count - plan_orders_count - waitlist_orders_count - cargo_capacity_ratio - max_transport_load transport_load: description: Transport utilization by load. type: object additionalProperties: false properties: count: description: Number of orders. type: integer format: int32 minimum: 0 maximum: 15001 example: 1460 capacity: $ref: '#/components/schemas/capacity' required: - count - capacity stop_statistics: description: 'Statistics for a specific stop during a trip. ' type: object additionalProperties: false properties: location_key: description: Location key for stop. type: string minLength: 1 maxLength: 1024 example: location01 demand_ids: description: Keys list of demands fulfilled at this stop. type: array minItems: 0 maxItems: 15001 uniqueItems: true items: description: 'The request identifier is obtained using the following formula: order identifier + ''#'' + the demand identifier. ' type: string minLength: 1 maxLength: 1024 example: demand01 stop_time_window: description: 'Stop time window - from the beginning of the parking lot to the complete departure from the location. The window duration is `waiting_time` + `working_time` + `break_time` + `arriving_time` + `departure_time`. ' $ref: '#/components/schemas/time_window' measurements: $ref: '#/components/schemas/measurements' description: "Measurements of times and distances for work on location:\n\ \n * `driving_time` - driving time from the previous stop to the current\ \ location\n * `waiting_time` - the duration of waiting for the execution\ \ of work at the location\n * `break_time` - the duration of performers\ \ break at the location\n * `working_time` - the time spent on the direct\ \ execution of work at the location\n * `arriving_time` - the time spent\ \ on the entrance/parking at the location\n * `departure_time` - the\ \ time taken to leave the location\n * `time_window` - the time window\ \ from the start of movement to the stop until the end of the departure\ \ from the stop\n * `total_time` - total time for a stop, composed of\ \ `driving_time` + `waiting_time` + `break_time` + `working_time` + `arriving_time`\ \ + `departure_time`\n * `distance` - the distance from the previous\ \ stop to the current location\n" upload: $ref: '#/components/schemas/transport_load' description: Loading to the transport at this stop. download: $ref: '#/components/schemas/transport_load' description: Unloading from the transport at this stop. max_load: $ref: '#/components/schemas/transport_load' description: Maximum load of the transport in the process of loading/unloading at a stop. arrival_load: $ref: '#/components/schemas/transport_load' description: Transport loading at the time of arrival at this stop. departure_load: $ref: '#/components/schemas/transport_load' description: Transport loading at the moment of departure from this stop. required: - location_key - demand_ids - stop_time_window - measurements - upload - download - max_load - arrival_load - departure_load trip_statistics: description: 'Statistics for a specific trip. ' type: object additionalProperties: false properties: trip_key: description: Trip key, unique identifier type: string minLength: 1 maxLength: 1024 example: trip01 statistics: $ref: '#/components/schemas/statistics' stop_statistics: description: Statistics per stop during the trip type: array minItems: 0 maxItems: 15001 uniqueItems: false items: $ref: '#/components/schemas/stop_statistics' total_load: $ref: '#/components/schemas/transport_load' description: Total transport load for the entire trip time. max_load: $ref: '#/components/schemas/transport_load' description: Maximum transport load during the entire trip (for each dimension). max_transfer_load: $ref: '#/components/schemas/transport_load' description: Maximum transport load during the driving (for each dimension). required: - trip_key - statistics - stop_statistics - total_load - max_load - max_transfer_load plan_statistics: description: 'General statistics on planned trips. ' type: object additionalProperties: false nullable: true properties: total_statistics: $ref: '#/components/schemas/statistics' description: Total statistics for all trips. trips_statistics: description: 'List of statistics for each scheduled trip separately. ' type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/trip_statistics' required: - total_statistics - trips_statistics entity_warning_type: description: "Warning type:\n * `NO_AVAILABLE_TRANSPORT` - the order cannot\ \ be fulfilled, since there is no available (by shift limitations) transport\n\ \ * `NO_AVAILABLE_PERFORMER` - the order cannot be fulfilled, since there\ \ is not a single available (by shift limitations) performer\n * `NO_COMPATIBLE_TRANSPORT`\ \ - the order cannot be completed, since there is not a single compatible\ \ (in terms of capacity and \\ or compatibility tags) transport\n * `NO_COMPATIBLE_PERFORMER`\ \ - the order cannot be completed, since there is not a single compatible\ \ (by compatibility tags) performer\n * `PICKUP_AND_DROP_VIOLATION` - for\ \ each cargo within the order there must be exactly one loading and exactly\ \ one unloading (except for `PICKUP_TO_BOX` and `DROP_FROM_BOX` orders)\n\ \ * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER` - for each cargo within\ \ the order, loading must go before unloading (`precedence_in_order`)\n *\ \ `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP` - conflicting requirements\ \ for the precedence of orders were specified (`precedence_in_trip`)\n *\ \ `VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER` - requirements for the precedence\ \ of orders in the trip (`precedence_in_trip`) and in the order (` precedence_in_order`)\ \ contradict each other\n * `TIME_WINDOW_VIOLATION` - the start time of the\ \ time window is later than the end time of the window or time window exceeds\ \ the maximum allowed\n * `DURATION_VIOLATION` - duration does not correspond\ \ to the allowed interval\n * `ORDER_WINDOWS_INTERSECTION_VIOLATION` - soft\ \ windows should not go beyond the boundaries of the hard window\n * `PERFORMER_SHIFTS_INTERSECTION_VIOLATION`\ \ - performer's work shifts should not intersect\n * `TRANSPORT_SHIFTS_INTERSECTION_VIOLATION`\ \ - transport's work shifts should not intersect\n * `LOCATION_WINDOWS_INTERSECTION_VIOLATION`\ \ - time ranges of working windows of locations should not intersect\n *\ \ `INVALID_LOCATION_DURATIONS` - location has a working window that is less\ \ than the sum of the times `arrival + departure`\n * `NO_TRANSPORT_BOXES`\ \ - if there are orders with cargo, then the transport must have at least\ \ one box\n * `MAX_CAPACITY_VIOLATION` - `max_capacity` limit exceeds the\ \ total capacity of all boxes or set for only one box or less than the capacity\ \ of some box\n * `MAX_BOXES_VIOLATION` - limit `max_boxes` is greater than\ \ or equal to the total number of boxes or specified for one box or equal\ \ to zero\n * `TOO_MANY_CARGOS_FOR_DROP_VIOLATION` - the number of loads\ \ for an order of the `DROP` / `DROP_FROM_BOX` type must be no more than one\n\ \ * `EMPTY_CARGOES_LIST` - empty list of loads for orders of type `DROP`\ \ / `DROP_FROM_BOX` / `PICKUP` / `PICKUP_TO_BOX`\n * `CARGO_WORK_VIOLATION`\ \ - for a `WORK` order, the cargo list must be empty\n * `GEODATA_TIME_WINDOW_VIOLATION`\ \ - the planning horizon exceeds the maximum available value\n * `SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE`\ \ - the working window `working_window` of the change of the artist does not\ \ lie entirely inside the window of availability `availability_window`\n \ \ * `DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW` - the duration of the event does\ \ not fit into the hard time window\n * `DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW`\ \ - the duration of the event does not fit into the soft time window\n *\ \ `EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW` - additional time for demand\ \ execution does not fit into the soft time window\n * `MAX_CALCULATION_TIME_VIOLATION`\ \ - the maximum allowable calculation time has been exceeded\n * `MAX_WAITING_TIME_VIOLATION`\ \ - the maximum allowable waiting time has been exceeded\n * `INVALID_HARDLINK`\ \ - it is impossible to assign an order with demands with the `WORK` type\ \ to transport\n * `CARGO_BOX_VIOLATION` - for requests of all types except\ \ `DROP_FROM_BOX` the key of the compartment where the cargo is located must\ \ be empty\n * `CARGO_MULTIBOX_VIOLATION` - for an order of type `DROP_FROM_BOX`\ \ the indicated cargoes are in compartments of different vehicles\n * `CARGO_CAPACITY_VIOLATION`\ \ - the specified cargo on board exceeds the size of the compartment in which\ \ it is located\n * `CARGO_ORDER_VIOLATION` - the cargo specified in the\ \ order is not present in orders\n * `FEATURE_LIFETIME_VIOLATION` - feature\ \ time windows intersect with each other or the working window `working_window`\ \ for changing the performer or transport does not intersect with the feature\ \ time window\n" type: string enum: - NO_AVAILABLE_TRANSPORT - NO_AVAILABLE_PERFORMER - NO_COMPATIBLE_TRANSPORT - NO_COMPATIBLE_PERFORMER - PICKUP_AND_DROP_VIOLATION - PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER - PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP - VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER - TIME_WINDOW_VIOLATION - DURATION_VIOLATION - ORDER_WINDOWS_INTERSECTION_VIOLATION - PERFORMER_SHIFTS_INTERSECTION_VIOLATION - TRANSPORT_SHIFTS_INTERSECTION_VIOLATION - LOCATION_WINDOWS_INTERSECTION_VIOLATION - INVALID_LOCATION_DURATIONS - NO_TRANSPORT_BOXES - MAX_CAPACITY_VIOLATION - MAX_BOXES_VIOLATION - TOO_MANY_CARGOS_FOR_DROP_VIOLATION - EMPTY_CARGOES_LIST - CARGO_WORK_VIOLATION - GEODATA_TIME_WINDOW_VIOLATION - SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE - DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW - DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW - EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW - MAX_CALCULATION_TIME_VIOLATION - MAX_WAITING_TIME_VIOLATION - INVALID_HARDLINK - CARGO_BOX_VIOLATION - CARGO_MULTIBOX_VIOLATION - CARGO_CAPACITY_VIOLATION - CARGO_ORDER_VIOLATION - FEATURE_LIFETIME_VIOLATION example: TIME_WINDOW_VIOLATION entity_type: description: Entity type. type: string enum: - TASK - SETTINGS - ORDER - ORDER_LINK - PERFORMER - PERFORMER_LINK - TRANSPORT - TRANSPORT_LINK - HARDLINK - HARDLINK_LINK - LOCATION - LOCATION_LINK - BOX - BOX_LINK - TRIP - TRIP_LINK - CARGO - CARGO_LINK - DEMAND - DEMAND_LINK - EVENT - EVENT_LINK - PERFORMER_SHIFT - PERFORMER_SHIFT_LINK - TRANSPORT_SHIFT - TRANSPORT_SHIFT_LINK example: ORDER entity_path: description: 'The description of the entity and the path to it. ' type: object additionalProperties: false nullable: true properties: entity_key: description: Target entity key. type: string nullable: true maxLength: 1024 example: order_0001 entity_type: $ref: '#/components/schemas/entity_type' child_entity: $ref: '#/components/schemas/entity_path' required: - entity_key - entity_type entity_warning: description: Description of the warning of the input data. type: object additionalProperties: false properties: type: $ref: '#/components/schemas/entity_warning_type' info: description: Information about warning. type: string nullable: true minLength: 0 maxLength: 2048 example: entity warning entities: description: List of entities related to warning. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/entity_path' required: - type - entities entity_warning_list: description: Warning list. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/entity_warning' example: [] unplanned_items: description: Unplanned items list. type: object additionalProperties: false properties: order_keys: description: Unplanned order keys list. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 order_keys_count: description: Unplanned orders count. type: integer format: int32 minimum: 0 maximum: 15001 default: 0 example: 99 performer_keys: description: Unplanned performer keys list. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 performer_keys_count: description: Unplanned performers count. type: integer format: int32 minimum: 0 maximum: 15001 default: 0 example: 99 transport_keys: description: Unplanned transport keys list. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 transport_keys_count: description: Unplanned transports count. type: integer format: int32 minimum: 0 maximum: 15001 default: 0 example: 99 hardlink_keys: description: Unplanned hardlink keys list. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: key_01 hardlink_keys_count: description: Unplanned hardlinks count. type: integer format: int32 minimum: 0 maximum: 15001 default: 0 example: 99 calculation_progress: description: 'Calculation progress as a percentage. The progress displays the current number of completed steps. ' type: integer format: int32 default: 0 minimum: 0 maximum: 100 example: 52 calculation_status: description: "Calculation status:\n * `WAITING` - the calculation is waiting\ \ to start.\n * `IN_PROGRESS` - the calculation is in progress.\n * `FINISHED_IN_TIME`\ \ - the calculation was completed before the specified planning time.\n *\ \ `FINISHED_OUT_OF_TIME` - the calculation was completed because the specified\ \ planning time has expired.\n * `CANCELED` - the calculation was canceled\ \ because a cancel command was received.\n * `CANCELED_BY_TIMEOUT` - the\ \ calculation was canceled automatically because the waiting time in the queue\ \ was exceeded.\n * `FAILED` - the calculation failed with an error.\n" type: string enum: - WAITING - IN_PROGRESS - FINISHED_IN_TIME - FINISHED_OUT_OF_TIME - CANCELED - CANCELED_BY_TIMEOUT - FAILED example: FINISHED_IN_TIME calculation_info: description: Calculation information. type: object additionalProperties: false properties: status: $ref: '#/components/schemas/calculation_status' result_version: description: Planning result version. type: integer format: int32 minimum: 0 maximum: 1000000 example: 133 preparing_time: description: Time to prepare for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' business_validation_time: description: Business validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' math_validation_time: description: Math validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' waiting_time: description: Time to waiting for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' calculation_time: description: Actual calculation time, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' required: - status - result_version - preparing_time - business_validation_time - math_validation_time - waiting_time - calculation_time plan_result: description: 'Planning result. It can be intermediate (during the calculation process) and complete (after the calculation is completed). ' type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' trips: description: Schedule of trips assigned to performers. type: array uniqueItems: true minItems: 0 maxItems: 15001 default: [] items: $ref: '#/components/schemas/trip' statistics: $ref: '#/components/schemas/plan_statistics' warnings: $ref: '#/components/schemas/entity_warning_list' unplanned_items: $ref: '#/components/schemas/unplanned_items' progress: $ref: '#/components/schemas/calculation_progress' info: $ref: '#/components/schemas/calculation_info' required: - tracedata - trips - statistics - progress - info schema_error: description: Data error by schema. type: object additionalProperties: false properties: entity: description: Target entity identifier. type: string nullable: true maxLength: 1024 example: order_0001 message: description: Error message. type: string example: bad input data required: - entity - message schema_error_list: description: Errors list. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/schema_error' example: [] entity_error_type: description: "Error type:\n * `INCONSISTENT_REFERENCE` - bad reference key\ \ \n * `UNIQUE_IDS_VIOLATION` - all keys must be unique\n * `INVALID_ROUTING_MATRIX`\ \ - bad routing matrix dimension\n * `INVALID_GEO_PROVIDER` - bad geo provider\n\ \ * `COMPATIBILITY_CARGO_BOX` - no cargo is compatible with any box\n *\ \ `COMPATIBILITY_TRANSPORT_PERFORMER` - no transport is compatible with any\ \ performer\n * `COMPATIBILITY_TRANSPORT_LOCATION` - no transport is compatible\ \ with any location\n * `COMPATIBILITY_ORDER_PERFORMER` - no order is compatible\ \ with any performer\n * `INCONSISTENT_HARDLINK` - essence key must be only\ \ in one hardlink\n * `PLANNING_HORIZON_EXCEEDED` - planning horizon exceeded\ \ (difference between earliest and latest timestamp)\n * `TOO_MANY_WARNINGS`\ \ - the number of warnings is greater than 15,000\n" type: string enum: - INCONSISTENT_REFERENCE - UNIQUE_IDS_VIOLATION - INVALID_ROUTING_MATRIX - INVALID_GEO_PROVIDER - COMPATIBILITY_CARGO_BOX - COMPATIBILITY_TRANSPORT_PERFORMER - COMPATIBILITY_TRANSPORT_LOCATION - COMPATIBILITY_ORDER_PERFORMER - INCONSISTENT_HARDLINK - PLANNING_HORIZON_EXCEEDED - TOO_MANY_WARNINGS example: INCONSISTENT_REFERENCE entity_error: description: Description of the error in the input data. type: object additionalProperties: false properties: type: $ref: '#/components/schemas/entity_error_type' info: description: Information about error. type: string nullable: true minLength: 0 maxLength: 2048 example: entity error entities: description: List of entities related to error. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/entity_path' required: - type - entities entity_error_list: description: 'List with fatal errors. ' type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/entity_error' custom_400_with_errors_and_warnings: description: 400 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error message. type: string nullable: true example: bad task data schema_errors: $ref: '#/components/schemas/schema_error_list' logical_errors: $ref: '#/components/schemas/entity_error_list' warnings: $ref: '#/components/schemas/entity_warning_list' required: - tracedata general_401: description: 401 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Unauthorized required: - tracedata general_402: description: 402 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Payment Required required: - tracedata general_404: description: 404 Error details. type: object additionalProperties: false properties: resource_id: description: Resource identifier. type: string nullable: true default: null example: resource_id detail: description: Resource details. type: object additionalProperties: false nullable: true properties: tracedata: $ref: '#/components/schemas/tracedata' required: - tracedata general_429: description: 429 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Too many requests required: - tracedata general_500: description: 500 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Internal Server Error required: - tracedata calculation_id: description: Calculation identifier. type: string format: uuid example: 11111111-2222-3333-4444-555555555555 calculation_async_result: description: The result of starting an asynchronous calculation. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' id: $ref: '#/components/schemas/calculation_id' required: - id - tracedata calculation_state: description: Current calculation state. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' progress: $ref: '#/components/schemas/calculation_progress' info: $ref: '#/components/schemas/calculation_info' required: - tracedata - progress - info validate_result: description: Data validation result. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' warnings: $ref: '#/components/schemas/entity_warning_list' required: - tracedata - warnings fact_time: description: Fact time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2024-02-21T09:30:00+03:00' order_fact_type: description: "Possible order (demand) fact types:\n * `ORDER_DONE` - the order\ \ is completed, the cargo associated with the order is not in the box of the\ \ transport\n * `ORDER_CANCEL` - the order has been canceled, the behavior\ \ is similar to `ORDER_DONE`\n * `DEMAND_START` - performer started to fulfill\ \ the demand\n * `DEMAND_DONE` - performer finished to fulfill the demand\n" type: string enum: - ORDER_DONE - ORDER_CANCEL - DEMAND_START - DEMAND_DONE example: ORDER_DONE order_fact: description: 'The fact about the order is the action taken with the order or its part (demand). ' type: object additionalProperties: false properties: key: description: Fact key. type: string minLength: 1 maxLength: 1024 example: fact_01 time: $ref: '#/components/schemas/fact_time' type: $ref: '#/components/schemas/order_fact_type' order_key: description: Order key. type: string minLength: 1 maxLength: 1024 example: order_01 demand_key: description: Demand key, required for facts with type `DEMAND_DONE` and `DEMAND_START`. type: string nullable: true minLength: 1 maxLength: 1024 example: order_01_demand_01 default: null required: - key - time - type - order_key performer_fact: description: Fact. type: object additionalProperties: false properties: key: description: Fact key. type: string minLength: 1 maxLength: 1024 example: fact_01 time: $ref: '#/components/schemas/fact_time' performer_key: description: Performer's key. type: string minLength: 1 maxLength: 1024 example: performer_01 location_key: description: Location key, unique identifier. type: string minLength: 1 maxLength: 1024 example: location01 required: - key - time - performer_key - location_key facts: description: 'Events that have taken place. ' type: object additionalProperties: false properties: order_facts: description: 'List of order''s facts. ' type: array uniqueItems: false minItems: 0 maxItems: 50001 items: $ref: '#/components/schemas/order_fact' performer_facts: description: 'List of performers''s facts. ' type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/performer_fact' replan_strategy: description: Replan strategy. type: object additionalProperties: false properties: reorder: description: Activate trip actions reorder. type: boolean default: false example: true plan_new_orders: description: Activate new orders planning. type: boolean default: false example: true create_new_trips: description: Activate new trips creation. type: boolean default: false example: true replan_settings: description: Replanning settings. type: object additionalProperties: false properties: replan_strategy: $ref: '#/components/schemas/replan_strategy' trips_settings: $ref: '#/components/schemas/trips_settings' geo_settings: $ref: '#/components/schemas/geo_settings' calculation_settings: $ref: '#/components/schemas/calculation_settings' replan_task: description: Task for replanning. type: object additionalProperties: false properties: locations: description: List of locations used for orders and shifts. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 15001 default: [] items: $ref: '#/components/schemas/hardlink' trips: description: Existing routes. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/trip' facts: $ref: '#/components/schemas/facts' external_routing: $ref: '#/components/schemas/routing_transport_matrix_list' replan_settings: $ref: '#/components/schemas/replan_settings' dataset_name: $ref: '#/components/schemas/dataset_name' required: - locations - orders - performers - transports - trips actualize_settings: description: 'Actualize settings. ' type: object additionalProperties: false properties: current_time: description: 'Current date and time according to the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6). If not specified, the current time when the request was received by the server is taken. ' type: string format: date-time nullable: true example: '2024-02-21T09:30:00+03:00' geo_settings: $ref: '#/components/schemas/geo_settings' calculation_settings: $ref: '#/components/schemas/calculation_settings' actualize_task: description: 'Task for the trips actualization. ' type: object additionalProperties: false properties: locations: description: List of locations used for orders and shifts. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 1 maxItems: 15001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/hardlink' trips: description: Existing routes. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/trip' facts: $ref: '#/components/schemas/facts' external_routing: $ref: '#/components/schemas/routing_transport_matrix_list' actualize_settings: $ref: '#/components/schemas/actualize_settings' dataset_name: $ref: '#/components/schemas/dataset_name' required: - locations - orders - performers - transports - trips universal_data: description: 'VRt.Universal JSON format. A general list of data and settings that combines all data for planning, replaning and actualization. ' type: object additionalProperties: false properties: locations: description: List of locations used for orders and shifts. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/location' orders: description: Orders list. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/order' performers: description: Available performers list. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/performer' transports: description: Available transports list. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/transport' hardlinks: description: Assignments list. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/hardlink' trips: description: Existing routes. type: array uniqueItems: true minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/trip' facts: $ref: '#/components/schemas/facts' statistics: $ref: '#/components/schemas/plan_statistics' external_routing: $ref: '#/components/schemas/routing_transport_matrix_list' plan_settings: $ref: '#/components/schemas/plan_settings' replan_settings: $ref: '#/components/schemas/replan_settings' actualize_settings: $ref: '#/components/schemas/actualize_settings' dataset_name: $ref: '#/components/schemas/dataset_name' file_xlsx: description: File with data in [XLSX](https://en.wikipedia.org/wiki/Microsoft_Excel) format. type: string format: byte general_403: description: 403 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Forbidden required: - tracedata file_text: description: File with data in text format. type: string check_result: description: Service availability result. type: object additionalProperties: false properties: health: description: 'Current health. ' type: number format: double minimum: 0 maximum: 1 example: 0.999 required: - health version_result: description: 服务版本。 type: object additionalProperties: false properties: major: description: '产品版本。 在单个版本中,保证了服务之间通用数据结构的兼容性。 版本更改表示与以前版本的产品(和所有服务)不兼容的更改。 ' type: integer format: int32 minimum: 1 maximum: 100 example: 4 minor: description: '服务的小版本。 版本更改表示新功能。 该更新向后兼容服务的主要版本。 ' type: integer format: int32 minimum: 0 maximum: 111 example: 4 build: description: '构建版本。 包含向后兼容的错误修复和文档更新。 ' 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: 东京 value: locations: - key: location_client_1 geopoint: latitude: 35.7048259 longitude: 139.7297071 - key: location_client_2 geopoint: latitude: 35.71861 longitude: 139.7190533 - key: location_client_3 geopoint: latitude: 35.7099049 longitude: 139.7265958 - key: location_storage geopoint: latitude: 35.7042346 longitude: 139.6531996 orders: - key: order_1 demands: - key: demand_1_drop demand_type: DROP target_cargos: - order_1_cargos possible_events: - key: demand_1_drop_event location_key: location_client_1 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_1_pickup demand_type: PICKUP target_cargos: - order_1_cargos possible_events: - key: demand_1_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_1_cargos capacity: mass: 1 - key: order_2 demands: - key: demand_2_drop demand_type: DROP target_cargos: - order_2_cargos possible_events: - key: demand_2_drop_event location_key: location_client_2 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_2_pickup demand_type: PICKUP target_cargos: - order_2_cargos possible_events: - key: demand_2_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_2_cargos capacity: mass: 1 - key: order_3 demands: - key: demand_3_work demand_type: WORK possible_events: - key: demand_3_work_event location_key: location_client_3 duration: PT15M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: PT10H cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 1000000 cost_per_unit: 0.01 transport_type: CAR boxes: - key: box_1 capacity: mass: 300 plan_settings: trips_settings: configuration: optimize_distance geo_settings: toll_roads: true traffic_jams: false PlanTaskMoscow: summary: 莫斯科 value: locations: - key: location_client_1 geopoint: latitude: 55.713699 longitude: 37.621839 - key: location_client_2 geopoint: latitude: 55.630721 longitude: 37.62493 - key: location_client_3 geopoint: latitude: 55.722801 longitude: 37.674984 - key: location_storage geopoint: latitude: 55.685853 longitude: 37.43181 orders: - key: order_1 demands: - key: demand_1_drop demand_type: DROP target_cargos: - order_1_cargos possible_events: - key: demand_1_drop_event location_key: location_client_1 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_1_pickup demand_type: PICKUP target_cargos: - order_1_cargos possible_events: - key: demand_1_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_1_cargos capacity: mass: 1 - key: order_2 demands: - key: demand_2_drop demand_type: DROP target_cargos: - order_2_cargos possible_events: - key: demand_2_drop_event location_key: location_client_2 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_2_pickup demand_type: PICKUP target_cargos: - order_2_cargos possible_events: - key: demand_2_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_2_cargos capacity: mass: 1 - key: order_3 demands: - key: demand_3_work demand_type: WORK possible_events: - key: demand_3_work_event location_key: location_client_3 duration: PT15M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: PT10H cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 1000000 cost_per_unit: 0.01 transport_type: CAR boxes: - key: box_1 capacity: mass: 300 plan_settings: trips_settings: configuration: optimize_distance geo_settings: toll_roads: true traffic_jams: false PlanTaskDenver: summary: 丹佛 value: locations: - key: location_client_1 geopoint: latitude: 39.7116126 longitude: -104.9145664 - key: location_client_2 geopoint: latitude: 39.7851755 longitude: -104.9285619 - key: location_client_3 geopoint: latitude: 39.745829 longitude: -105.0013897 - key: location_storage geopoint: latitude: 39.82519 longitude: -105.1185757 orders: - key: order_1 demands: - key: demand_1_drop demand_type: DROP target_cargos: - order_1_cargos possible_events: - key: demand_1_drop_event location_key: location_client_1 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_1_pickup demand_type: PICKUP target_cargos: - order_1_cargos possible_events: - key: demand_1_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_1_cargos capacity: mass: 1 - key: order_2 demands: - key: demand_2_drop demand_type: DROP target_cargos: - order_2_cargos possible_events: - key: demand_2_drop_event location_key: location_client_2 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_2_pickup demand_type: PICKUP target_cargos: - order_2_cargos possible_events: - key: demand_2_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_2_cargos capacity: mass: 1 - key: order_3 demands: - key: demand_3_work demand_type: WORK possible_events: - key: demand_3_work_event location_key: location_client_3 duration: PT15M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: PT10H cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 1000000 cost_per_unit: 0.01 transport_type: CAR boxes: - key: box_1 capacity: mass: 300 plan_settings: trips_settings: configuration: optimize_distance geo_settings: toll_roads: true traffic_jams: false PlanTaskBerlin: summary: 柏林 value: locations: - key: location_client_1 geopoint: latitude: 52.431792 longitude: 13.3383233 - key: location_client_2 geopoint: latitude: 52.458667 longitude: 13.3772083 - key: location_client_3 geopoint: latitude: 52.437161 longitude: 13.4654563 - key: location_storage geopoint: latitude: 52.532906 longitude: 13.3431423 orders: - key: order_1 demands: - key: demand_1_drop demand_type: DROP target_cargos: - order_1_cargos possible_events: - key: demand_1_drop_event location_key: location_client_1 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_1_pickup demand_type: PICKUP target_cargos: - order_1_cargos possible_events: - key: demand_1_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_1_cargos capacity: mass: 1 - key: order_2 demands: - key: demand_2_drop demand_type: DROP target_cargos: - order_2_cargos possible_events: - key: demand_2_drop_event location_key: location_client_2 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_2_pickup demand_type: PICKUP target_cargos: - order_2_cargos possible_events: - key: demand_2_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_2_cargos capacity: mass: 1 - key: order_3 demands: - key: demand_3_work demand_type: WORK possible_events: - key: demand_3_work_event location_key: location_client_3 duration: PT15M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: PT10H cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 1000000 cost_per_unit: 0.01 transport_type: CAR boxes: - key: box_1 capacity: mass: 300 plan_settings: trips_settings: configuration: optimize_distance geo_settings: toll_roads: true traffic_jams: false PlanTaskBeijing: summary: 北京 value: locations: - key: location_client_1 geopoint: latitude: 39.873105 longitude: 116.3563913 - key: location_client_2 geopoint: latitude: 39.929733 longitude: 116.3203273 - key: location_client_3 geopoint: latitude: 39.9227559 longitude: 116.3260136 - key: location_storage geopoint: latitude: 39.904054 longitude: 116.2568843 orders: - key: order_1 demands: - key: demand_1_drop demand_type: DROP target_cargos: - order_1_cargos possible_events: - key: demand_1_drop_event location_key: location_client_1 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_1_pickup demand_type: PICKUP target_cargos: - order_1_cargos possible_events: - key: demand_1_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_1_cargos capacity: mass: 1 - key: order_2 demands: - key: demand_2_drop demand_type: DROP target_cargos: - order_2_cargos possible_events: - key: demand_2_drop_event location_key: location_client_2 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_2_pickup demand_type: PICKUP target_cargos: - order_2_cargos possible_events: - key: demand_2_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_2_cargos capacity: mass: 1 - key: order_3 demands: - key: demand_3_work demand_type: WORK possible_events: - key: demand_3_work_event location_key: location_client_3 duration: PT15M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: PT10H cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 1000000 cost_per_unit: 0.01 transport_type: CAR boxes: - key: box_1 capacity: mass: 300 plan_settings: trips_settings: configuration: optimize_distance geo_settings: toll_roads: true traffic_jams: false PlanResultTokyo: summary: 东京 value: tracedata: code: 861c8e0a-2651-444e-b426-71cdccc31423 client: veeroute_|_example server: edge service: UNIVERSAL operation: run_plan_calculation time: '2024-02-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:40:56Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:40:56Z' states: - time: '2024-02-08T04:48:15Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:48:15Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_pickup event_key: demand_1_pickup_event location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:48:15Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:48:15Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_pickup event_key: demand_2_pickup_event location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:48:15Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:48:15Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_drop event_key: demand_1_drop_event location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:12:04Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:12:04Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_3 demand_key: demand_3_work event_key: demand_3_work_event location_key: location_client_3 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:27:04Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:27:04Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:30:56Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:30:56Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_drop event_key: demand_2_drop_event location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:40:56Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: [] attributes: [] waitlist: [] attributes: [] statistics: total_statistics: cost: 2176.933 reward: 3000.3 measurements: driving_time: PT52M41S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H27M41S distance: 31306 time_window: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:40:56Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transport_load: mass: 0.006 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 trips_statistics: - trip_key: performer_1_shift statistics: cost: 2176.9333333333334 reward: 3000.3 measurements: driving_time: PT52M41S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H27M41S distance: 31306 time_window: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:40:56Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 max_transport_load: mass: 0.006 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 stop_statistics: - location_key: location_storage demand_ids: - demand_2_pickup - demand_1_pickup stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT0S waiting_time: PT0S working_time: PT0S break_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2024-02-08T04:48:15Z' to: '2024-02-08T04:48:15Z' upload: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_1 demand_ids: - demand_1_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT21M45S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT31M45S distance: 8878 time_window: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:10:00Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_3 demand_ids: - demand_3_work stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT17M4S waiting_time: PT0S break_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT32M4S distance: 10003 time_window: from: '2024-02-08T05:10:00Z' to: '2024-02-08T05:27:04Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_2 demand_ids: - demand_2_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT13M52S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT23M52S distance: 12425 time_window: from: '2024-02-08T05:27:04Z' to: '2024-02-08T05:40:56Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 total_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transfer_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 progress: 100 info: status: FINISHED_IN_TIME result_version: 108 preparing_time: PT1M10S business_validation_time: PT1M10S math_validation_time: PT1M10S waiting_time: PT15S calculation_time: PT1M10S warnings: [] unplanned_items: order_keys: [] performer_keys: [] transport_keys: [] hardlink_keys: [] PlanResultMoscow: summary: 莫斯科 value: tracedata: code: db3952a6-a529-4a42-b870-e5c6a419b29a client: veeroute_|_example server: edge service: UNIVERSAL operation: run_plan_calculation time: '2024-02-28T17:06:33.856Z' trips: - key: ef2a1ae6-778c-49ca-b765-a1a365428941-performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2024-02-08T04:39:37Z' to: '2024-02-08T05:53:46Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2024-02-08T04:39:37Z' to: '2024-02-08T05:53:46Z' states: - time: '2024-02-08T04:39:37Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:39:37Z' flags: - INSIDE_LOCATION - AROUND_LOCATION - INSIDE_LOCATION_WINDOW - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW order_key: order_1 demand_key: demand_1_pickup event_key: demand_1_pickup_event location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:39:37Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:39:37Z' flags: - INSIDE_LOCATION - AROUND_LOCATION - INSIDE_LOCATION_WINDOW - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW order_key: order_2 demand_key: demand_2_pickup event_key: demand_2_pickup_event location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:39:37Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:39:37Z' flags: - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:39:37Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION - INSIDE_LOCATION_WINDOW - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW order_key: order_2 demand_key: demand_2_drop event_key: demand_2_drop_event location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:55Z' flags: - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:55Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:55Z' flags: - INSIDE_LOCATION - AROUND_LOCATION - INSIDE_LOCATION_WINDOW - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW order_key: order_1 demand_key: demand_1_drop event_key: demand_1_drop_event location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:30:55Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2024-02-08T05:30:55Z' flags: - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2024-02-08T05:30:55Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:46Z' flags: - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:46Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:46Z' flags: - INSIDE_LOCATION - AROUND_LOCATION - INSIDE_LOCATION_WINDOW - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW order_key: order_3 demand_key: demand_3_work event_key: demand_3_work_event location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:53:46Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] name: 1-HVFB waitlist: [] attributes: [] statistics: total_statistics: cost: 6789.4 reward: 3000.3 measurements: driving_time: PT39M9S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H14M9S distance: 34040 time_window: from: '2024-02-08T04:39:37Z' to: '2024-02-08T05:53:46Z' trips_count: 1 performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transport_load: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 trips_statistics: - trip_key: ef2a1ae6-778c-49ca-b765-a1a365428941-performer_1_shift statistics: cost: 6789.4 reward: 3000.3 measurements: driving_time: PT39M9S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H14M9S distance: 34040 time_window: from: '2024-02-08T04:39:37Z' to: '2024-02-08T05:53:46Z' trips_count: 1 performers_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 max_transport_load: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 stop_statistics: - location_key: location_storage demand_ids: - demand_2_pickup - demand_1_pickup stop_time_window: from: '2024-02-08T04:39:37Z' to: '2024-02-08T04:39:37Z' measurements: driving_time: PT0S waiting_time: PT0S break_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2024-02-08T04:39:37Z' to: '2024-02-08T04:39:37Z' upload: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_2 demand_ids: - demand_2_drop stop_time_window: from: '2024-02-08T05:00:00Z' to: '2024-02-08T05:10:00Z' measurements: driving_time: PT20M23S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT30M23S distance: 17111 time_window: from: '2024-02-08T04:39:37Z' to: '2024-02-08T05:10:00Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_1 demand_ids: - demand_1_drop stop_time_window: from: '2024-02-08T05:20:55Z' to: '2024-02-08T05:30:55Z' measurements: driving_time: PT10M55S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT20M55S distance: 9897 time_window: from: '2024-02-08T05:10:00Z' to: '2024-02-08T05:30:55Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_3 demand_ids: - demand_3_work stop_time_window: from: '2024-02-08T05:38:46Z' to: '2024-02-08T05:53:46Z' measurements: driving_time: PT7M51S waiting_time: PT0S break_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT22M51S distance: 7032 time_window: from: '2024-02-08T05:30:55Z' to: '2024-02-08T05:53:46Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 total_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transfer_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 progress: 100 info: status: FINISHED_IN_TIME result_version: 106 preparing_time: PT0S business_validation_time: PT0S math_validation_time: PT0S waiting_time: PT0.004S calculation_time: PT15.005S warnings: [] unplanned_items: order_keys: [] order_keys_count: 0 performer_keys: [] performer_keys_count: 0 transport_keys: [] transport_keys_count: 0 hardlink_keys: [] hardlink_keys_count: 0 PlanResultDenver: summary: 丹佛 value: tracedata: code: 861c8e0a-2651-444e-b426-71cdccc31423 client: veeroute_|_example server: edge service: UNIVERSAL operation: run_plan_calculation time: '2024-02-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2024-02-08T04:45:18Z' to: '2024-02-08T05:54:57Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2024-02-08T04:45:18Z' to: '2024-02-08T05:54:57Z' states: - time: '2024-02-08T04:45:18Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:45:18Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_pickup event_key: demand_2_pickup_event location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:45:18Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:45:18Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_pickup event_key: demand_1_pickup_event location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:45:18Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:45:18Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_drop event_key: demand_2_drop_event location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:15:49Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:15:49Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_drop event_key: demand_1_drop_event location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:25:49Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2024-02-08T05:25:49Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2024-02-08T05:39:57Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:39:57Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_3 demand_key: demand_3_work event_key: demand_3_work_event location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:54:57Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] waitlist: [] attributes: [] statistics: total_statistics: cost: 2320.68 reward: 3000.3 measurements: driving_time: PT1H9M39S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H44M39S distance: 50270 time_window: from: '2024-02-08T04:45:18Z' to: '2024-02-08T05:54:57Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transport_load: mass: 0.006 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 trips_statistics: - trip_key: performer_1_shift statistics: cost: 2320.6800000000003 reward: 3000.3 measurements: driving_time: PT1H9M39S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H44M39S distance: 50270 time_window: from: '2024-02-08T04:45:18Z' to: '2024-02-08T05:54:57Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 max_transport_load: mass: 0.006 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 stop_statistics: - location_key: location_storage demand_ids: - demand_2_pickup - demand_1_pickup stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT0S waiting_time: PT0S break_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2024-02-08T04:45:18Z' to: '2024-02-08T04:45:18Z' upload: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_2 demand_ids: - demand_2_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT24M42S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT34M42S distance: 10478 time_window: from: '2024-02-08T04:45:18Z' to: '2024-02-08T05:10:00Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_1 demand_ids: - demand_1_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT15M49S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT25M49S distance: 14689 time_window: from: '2024-02-08T05:10:00Z' to: '2024-02-08T05:25:49Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_3 demand_ids: - demand_3_work stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT29M8S waiting_time: PT0S break_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT44M8S distance: 25103 time_window: from: '2024-02-08T05:25:49Z' to: '2024-02-08T05:54:57Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 total_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transfer_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 progress: 100 info: status: FINISHED_IN_TIME result_version: 108 preparing_time: PT1M10S business_validation_time: PT1M10S math_validation_time: PT1M10S waiting_time: PT15S calculation_time: PT1M10S warnings: [] unplanned_items: order_keys: [] performer_keys: [] transport_keys: [] hardlink_keys: [] PlanResultBerlin: summary: 柏林 value: tracedata: code: 861c8e0a-2651-444e-b426-71cdccc31423 client: veeroute_|_example server: edge service: UNIVERSAL operation: run_plan_calculation time: '2024-02-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:40:56Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:40:56Z' states: - time: '2024-02-08T04:48:15Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:48:15Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_pickup event_key: demand_1_pickup_event location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:48:15Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:48:15Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_pickup event_key: demand_2_pickup_event location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:48:15Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T04:48:15Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_drop event_key: demand_1_drop_event location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:12:04Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:12:04Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_3 demand_key: demand_3_work event_key: demand_3_work_event location_key: location_client_3 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:27:04Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:27:04Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:30:56Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:30:56Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_drop event_key: demand_2_drop_event location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:40:56Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: [] attributes: [] waitlist: [] attributes: [] statistics: total_statistics: cost: 2176.933 reward: 3000.3 measurements: driving_time: PT52M41S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H27M41S distance: 31306 time_window: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:40:56Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transport_load: mass: 0.006 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 trips_statistics: - trip_key: performer_1_shift statistics: cost: 2176.9333333333334 reward: 3000.3 measurements: driving_time: PT52M41S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H27M41S distance: 31306 time_window: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:40:56Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 max_transport_load: mass: 0.006 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 stop_statistics: - location_key: location_storage demand_ids: - demand_2_pickup - demand_1_pickup stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT0S waiting_time: PT0S break_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2024-02-08T04:48:15Z' to: '2024-02-08T04:48:15Z' upload: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_1 demand_ids: - demand_1_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT21M45S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT31M45S distance: 8878 time_window: from: '2024-02-08T04:48:15Z' to: '2024-02-08T05:10:00Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_3 demand_ids: - demand_3_work stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT17M4S waiting_time: PT0S break_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT32M4S distance: 10003 time_window: from: '2024-02-08T05:10:00Z' to: '2024-02-08T05:27:04Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_2 demand_ids: - demand_2_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT13M52S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT23M52S distance: 12425 time_window: from: '2024-02-08T05:27:04Z' to: '2024-02-08T05:40:56Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 total_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transfer_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 progress: 100 info: status: FINISHED_IN_TIME result_version: 108 preparing_time: PT1M10S business_validation_time: PT1M10S math_validation_time: PT1M10S waiting_time: PT15S calculation_time: PT1M10S warnings: [] unplanned_items: order_keys: [] performer_keys: [] transport_keys: [] hardlink_keys: [] PlanResultBeijing: summary: 北京 value: tracedata: code: 861c8e0a-2651-444e-b426-71cdccc31423 client: veeroute_|_example server: edge service: UNIVERSAL operation: run_plan_calculation time: '2024-02-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2024-02-08T04:50:28Z' to: '2024-02-08T05:47:33Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2024-02-08T04:50:28Z' to: '2024-02-08T05:47:33Z' states: - time: '2024-02-08T04:50:28Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:50:28Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_pickup event_key: demand_2_pickup_event location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:50:28Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:50:28Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_pickup event_key: demand_1_pickup_event location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:50:28Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:50:28Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_3 demand_key: demand_3_work event_key: demand_3_work_event location_key: location_client_3 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:15:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:15:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:16:45Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:16:45Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_drop event_key: demand_2_drop_event location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:26:45Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:26:45Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:37:33Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:37:33Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_drop event_key: demand_1_drop_event location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:47:33Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] waitlist: [] attributes: [] statistics: total_statistics: cost: 2256.053 reward: 3000.3 measurements: driving_time: PT57M5S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H32M5S distance: 38666 time_window: from: '2024-02-08T04:50:28Z' to: '2024-02-08T05:47:33Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transport_load: mass: 0.006 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 trips_statistics: - trip_key: performer_1_shift statistics: cost: 2256.0533333333333 reward: 3000.3 measurements: driving_time: PT57M5S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H32M5S distance: 38666 time_window: from: '2024-02-08T04:50:28Z' to: '2024-02-08T05:47:33Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 max_transport_load: mass: 0.006 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 stop_statistics: - location_key: location_storage demand_ids: - demand_2_pickup - demand_1_pickup stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT0S waiting_time: PT0S break_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2024-02-08T04:50:28Z' to: '2024-02-08T04:50:28Z' upload: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_3 demand_ids: - demand_3_work stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT24M32S waiting_time: PT0S break_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT39M32S distance: 8647 time_window: from: '2024-02-08T04:50:28Z' to: '2024-02-08T05:15:00Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_2 demand_ids: - demand_2_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT11M45S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT21M45S distance: 10122 time_window: from: '2024-02-08T05:15:00Z' to: '2024-02-08T05:26:45Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_1 demand_ids: - demand_1_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT20M48S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT30M48S distance: 19897 time_window: from: '2024-02-08T05:26:45Z' to: '2024-02-08T05:47:33Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 total_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transfer_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 progress: 100 info: status: FINISHED_IN_TIME result_version: 108 preparing_time: PT1M10S business_validation_time: PT1M10S math_validation_time: PT1M10S waiting_time: PT15S calculation_time: PT1M10S warnings: [] unplanned_items: order_keys: [] performer_keys: [] transport_keys: [] hardlink_keys: [] Result400: summary: Errors in data value: tracedata: code: 215b87e0-4407-4e0f-b2cc-8540f8f0cad7 client: veeroute_|_example server: edge service: UNIVERSAL operation: run_plan_calculation time: '2024-02-28T17:13:27.945583194Z' message: logical schema_errors: [] logical_errors: - type: UNIQUE_IDS_VIOLATION entities: - entity_key: order_1 entity_type: ORDER warnings: [] ValidateResultExample: summary: Validate example value: tracedata: code: 87d0c1a7-375b-412e-9ab8-8f4be24d0456 client: veeroute_|_example server: edge service: UNIVERSAL operation: run_plan_validation time: '2024-02-01T11:50:15.123Z' warnings: - type: NO_AVAILABLE_TRANSPORT entities: - entity_key: ord0001 entity_type: ORDER ReplanTaskMoscow: summary: 莫斯科 value: locations: - key: location_client_1 geopoint: latitude: 55.713699 longitude: 37.621839 - key: location_client_2 geopoint: latitude: 55.630721 longitude: 37.62493 - key: location_client_3 geopoint: latitude: 55.722801 longitude: 37.674984 - key: location_storage geopoint: latitude: 55.685853 longitude: 37.43181 orders: - key: order_1 demands: - key: demand_1_drop demand_type: DROP target_cargos: - order_1_cargos possible_events: - key: demand_1_drop_event location_key: location_client_1 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_1_pickup demand_type: PICKUP target_cargos: - order_1_cargos possible_events: - key: demand_1_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_1_cargos capacity: mass: 1 - key: order_2 demands: - key: demand_2_drop demand_type: DROP target_cargos: - order_2_cargos possible_events: - key: demand_2_drop_event location_key: location_client_2 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_2_pickup demand_type: PICKUP target_cargos: - order_2_cargos possible_events: - key: demand_2_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_2_cargos capacity: mass: 1 - key: order_3 demands: - key: demand_3_work demand_type: WORK possible_events: - key: demand_3_work_event location_key: location_client_3 duration: PT15M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: PT10H cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 1000000 cost_per_unit: 0.01 transport_type: CAR boxes: - key: box_1 capacity: mass: 300 trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' states: - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:38:34Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_pickup event_key: demand_2_pickup_event location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_pickup event_key: demand_1_pickup_event location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_drop event_key: demand_2_drop_event location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:52Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_drop event_key: demand_1_drop_event location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2024-02-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:39Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_3 demand_key: demand_3_work event_key: demand_3_work_event location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:53:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] waitlist: [] attributes: [] ReplanResultMoscow: summary: 莫斯科 value: tracedata: code: 861c8e0a-2651-444e-b426-71cdccc31423 client: veeroute_|_example server: edge service: UNIVERSAL operation: run_replan_calculation time: '2024-02-01T11:50:15.123Z' trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' states: - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:38:34Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_pickup event_key: demand_2_pickup_event location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_pickup event_key: demand_1_pickup_event location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_drop event_key: demand_2_drop_event location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:52Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_drop event_key: demand_1_drop_event location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2024-02-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:39Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_3 demand_key: demand_3_work event_key: demand_3_work_event location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:53:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] waitlist: [] attributes: [] statistics: total_statistics: cost: 2415.263 reward: 3000.3 measurements: driving_time: PT1H15M5S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H50M5S distance: 78117 time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transport_load: mass: 0.006 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 trips_statistics: - trip_key: performer_1_shift statistics: cost: 2415.2633333333333 reward: 3000.3 measurements: driving_time: PT1H15M5S waiting_time: PT0S break_time: PT0S working_time: PT35M arriving_time: PT0S departure_time: PT0S total_time: PT1H50M5S distance: 78117 time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' performers_count: 1 trips_count: 1 orders_count: 3 plan_orders_count: 3 waitlist_orders_count: 0 cargo_capacity_ratio: mass: 0.01 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 max_transport_load: mass: 0.006 volume: 1 capacity_a: 1 capacity_b: 1 capacity_c: 1 quality: soft_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 hard_time_window_violations: before: keys: [] count: 0 after: keys: [] count: 0 stop_statistics: - location_key: location_storage demand_ids: - demand_2_pickup - demand_1_pickup stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT0S waiting_time: PT0S break_time: PT0S working_time: PT0S arriving_time: PT0S departure_time: PT0S total_time: PT0S distance: 0 time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' upload: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_2 demand_ids: - demand_2_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT31M26S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT41M26S distance: 17108 time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:10:00Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_1 demand_ids: - demand_1_drop stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT20M52S waiting_time: PT0S break_time: PT0S working_time: PT10M arriving_time: PT0S departure_time: PT0S total_time: PT30M52S distance: 26991 time_window: from: '2024-02-08T05:10:00Z' to: '2024-02-08T05:30:52Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 - location_key: location_client_3 demand_ids: - demand_3_work stop_time_window: from: '2024-02-08T04:38:34Z' to: '2024-02-08T04:38:34Z' measurements: driving_time: PT22M47S waiting_time: PT0S break_time: PT0S working_time: PT15M arriving_time: PT0S departure_time: PT0S total_time: PT37M47S distance: 34018 time_window: from: '2024-02-08T05:30:52Z' to: '2024-02-08T05:53:39Z' upload: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 download: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 arrival_load: count: 1 capacity: mass: 1 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 departure_load: count: 0 capacity: mass: 0 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 total_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 max_transfer_load: count: 2 capacity: mass: 2 volume: 0 capacity_a: 0 capacity_b: 0 capacity_c: 0 progress: 100 info: status: FINISHED_IN_TIME result_version: 108 preparing_time: PT1M10S business_validation_time: PT1M10S math_validation_time: PT1M10S waiting_time: PT15S calculation_time: PT1M10S warnings: [] unplanned_items: order_keys: [] performer_keys: [] transport_keys: [] hardlink_keys: [] ActualizeTaskMoscow: summary: 莫斯科 value: locations: - key: location_client_1 geopoint: latitude: 55.713699 longitude: 37.621839 - key: location_client_2 geopoint: latitude: 55.630721 longitude: 37.62493 - key: location_client_3 geopoint: latitude: 55.722801 longitude: 37.674984 - key: location_storage geopoint: latitude: 55.685853 longitude: 37.43181 orders: - key: order_1 demands: - key: demand_1_drop demand_type: DROP target_cargos: - order_1_cargos possible_events: - key: demand_1_drop_event location_key: location_client_1 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_1_pickup demand_type: PICKUP target_cargos: - order_1_cargos possible_events: - key: demand_1_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_1_cargos capacity: mass: 1 - key: order_2 demands: - key: demand_2_drop demand_type: DROP target_cargos: - order_2_cargos possible_events: - key: demand_2_drop_event location_key: location_client_2 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_2_pickup demand_type: PICKUP target_cargos: - order_2_cargos possible_events: - key: demand_2_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_2_cargos capacity: mass: 1 - key: order_3 demands: - key: demand_3_work demand_type: WORK possible_events: - key: demand_3_work_event location_key: location_client_3 duration: PT15M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: PT10H cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 1000000 cost_per_unit: 0.01 transport_type: CAR boxes: - key: box_1 capacity: mass: 300 trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' states: - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:38:34Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_pickup event_key: demand_2_pickup_event location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_pickup event_key: demand_1_pickup_event location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_drop event_key: demand_2_drop_event location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:52Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_drop event_key: demand_1_drop_event location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2024-02-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:39Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_3 demand_key: demand_3_work event_key: demand_3_work_event location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:53:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] waitlist: [] attributes: [] ConvertTaskMoscow: summary: 莫斯科 value: locations: - key: location_client_1 geopoint: latitude: 55.713699 longitude: 37.621839 - key: location_client_2 geopoint: latitude: 55.630721 longitude: 37.62493 - key: location_client_3 geopoint: latitude: 55.722801 longitude: 37.674984 - key: location_storage geopoint: latitude: 55.685853 longitude: 37.43181 orders: - key: order_1 demands: - key: demand_1_drop demand_type: DROP target_cargos: - order_1_cargos possible_events: - key: demand_1_drop_event location_key: location_client_1 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_1_pickup demand_type: PICKUP target_cargos: - order_1_cargos possible_events: - key: demand_1_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_1_cargos capacity: mass: 1 - key: order_2 demands: - key: demand_2_drop demand_type: DROP target_cargos: - order_2_cargos possible_events: - key: demand_2_drop_event location_key: location_client_2 duration: PT10M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' - key: demand_2_pickup demand_type: PICKUP target_cargos: - order_2_cargos possible_events: - key: demand_2_pickup_event location_key: location_storage duration: P0D reward: 0 hard_time_window: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' cargos: - key: order_2_cargos capacity: mass: 1 - key: order_3 demands: - key: demand_3_work demand_type: WORK possible_events: - key: demand_3_work_event location_key: location_client_3 duration: PT15M hard_time_window: from: '2024-02-08T05:00:00+00:00' to: '2024-02-08T07:00:00+00:00' performers: - key: performer_1 shifts: - key: performer_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: PT10H cost_per_unit: 1 transports: - key: transport_1 shifts: - key: transport_1_shift availability_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' working_time: from: '2024-02-07T21:00:00+00:00' to: '2024-02-08T20:59:59+00:00' tariff: cost_per_shift: 1000 constraints: - stage_length: 1000000 cost_per_unit: 0.01 transport_type: CAR boxes: - key: box_1 capacity: mass: 300 trips: - key: performer_1_shift performer: performer_key: performer_1 shift_key: performer_1_shift shift_time: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' transport: transport_key: transport_1 shift_key: transport_1_shift shift_time: from: '2024-02-08T04:38:34Z' to: '2024-02-08T05:53:39Z' states: - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:38:34Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_pickup event_key: demand_2_pickup_event location_key: location_storage cargo_placements: [] attributes: [] - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_pickup event_key: demand_1_pickup_event location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_storage cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T04:38:34Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:00:00Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_2 demand_key: demand_2_drop event_key: demand_2_drop_event location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos - box_key: box_1 cargo_key: order_2_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_2 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:10:00Z' flags: - RELOCATING cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:20:52Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_1 demand_key: demand_1_drop event_key: demand_1_drop_event location_key: location_client_1 cargo_placements: - box_key: box_1 cargo_key: order_1_cargos attributes: [] - time: '2024-02-08T05:30:52Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_1 cargo_placements: [] attributes: [] - time: '2024-02-08T05:30:52Z' flags: - RELOCATING cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:38:39Z' flags: - ON_DEMAND - INSIDE_EVENT_HARD_WINDOW - INSIDE_LOCATION_WINDOW - INSIDE_LOCATION - AROUND_LOCATION order_key: order_3 demand_key: demand_3_work event_key: demand_3_work_event location_key: location_client_3 cargo_placements: [] attributes: [] - time: '2024-02-08T05:53:39Z' flags: - INSIDE_LOCATION - AROUND_LOCATION location_key: location_client_3 cargo_placements: [] attributes: [] waitlist: [] attributes: [] responses: '401': description: 'Unauthorized - token missing or invalid ' content: application/json: schema: $ref: '#/components/schemas/general_401' '402': description: Payment Required content: application/json: schema: $ref: '#/components/schemas/general_402' '403': description: 'Forbidden - no permission to execute this operation ' content: application/json: schema: $ref: '#/components/schemas/general_403' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/general_404' '405': description: 'Method not allowed, check method (POST, GET, ...) ' '406': description: 'Client is unable to process a format of response, check headers ' '415': description: 'Unsupported media type, check headers ' '429': description: Too many requests content: application/json: schema: $ref: '#/components/schemas/general_429' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/general_500' '501': description: Not implemented '502': description: Bad gateway '503': description: Service unavailable '504': description: Gateway timeout 400_with_errors_and_warnings: description: Bad request - data contain errors content: application/json: schema: $ref: '#/components/schemas/custom_400_with_errors_and_warnings' examples: Result400: $ref: '#/components/examples/Result400' parameters: result_id: name: id in: path description: 计算标识符 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