openapi: 3.0.3 info: title: VRt.Monitor [MT] 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/monitor.svg backgroundColor: '#FAFAFA' altText: VRt.Monitor description: 'Veeroute Monitor API. # Description Server part of the Veeroute Monitor. ## Entity relationship diagram ![erd](../uml/monitor.svg)' servers: - url: https://api.edge.veeroute.tech description: 用于集成和早期访问新功能的环境 - url: https://api.prod.veeroute.com description: 生产环境 security: - ApiKeyAuth: [] tags: - name: Trips description: 'Trips management. ' - name: System description: '系统功能。 所有服务共有的辅助功能。 ' externalDocs: description: 主站点 url: https://veeroute.zh/ paths: /monitor/trips/{essence_key}: parameters: - $ref: '#/components/parameters/essence_key' get: tags: - Trips summary: Read trip description: Getting trip information by key. operationId: read_trip responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/web_trip' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' '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' /monitor/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' /monitor/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' /monitor/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: basic_essence_key: description: Key, unique identifier. type: string nullable: true default: null minLength: 1 maxLength: 1024 example: key01 trip_name: description: Trip name. type: string minLength: 0 maxLength: 64 default: '' example: 1-ABC 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 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' 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' 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 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 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 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 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 basic_enabled: description: Using essence for calculations. type: boolean default: true example: false readOnly: false basic_pristine: description: 'A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed. ' type: boolean default: true example: false readOnly: true basic_attributes: description: Attributes. type: string minLength: 0 maxLength: 1000000 default: '' example: key1:value1, key2:value2 basic_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. \n" type: string format: date-time nullable: true example: '2024-02-21T08:45: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 nullable: true example: '2024-02-21T19:45:00+03:00' table_trip_fields: description: Trip\stops fields for table. type: object additionalProperties: false readOnly: true properties: essence_key: $ref: '#/components/schemas/basic_essence_key' essence_type: description: Essence type. type: string nullable: false enum: - TRIP - STOP default: TRIP example: TRIP enabled: $ref: '#/components/schemas/basic_enabled' pristine: $ref: '#/components/schemas/basic_pristine' trip_name: $ref: '#/components/schemas/trip_name' attributes: $ref: '#/components/schemas/basic_attributes' 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 default: 0 reward: description: The total reward for orders fulfillment. type: number format: double minimum: 0 example: 2343.3 default: 0 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 default: 0 time_window: $ref: '#/components/schemas/basic_time_window' orders_count: description: The total number of planned and assigned orders. type: integer format: int32 minimum: 0 maximum: 15001 example: 1700 default: 0 plan_orders_count: description: The total number of planned orders. type: integer format: int32 minimum: 0 maximum: 15001 example: 1003 default: 0 waitlist_orders_count: description: The total number of assigned orders. type: integer format: int32 minimum: 0 maximum: 15001 example: 697 default: 0 stops_count: description: The total number of stops (non-unique locations). type: integer format: int32 minimum: 0 maximum: 15001 example: 87 default: 0 locations_count: description: The total number of unique locations within one trip. type: integer format: int32 minimum: 0 maximum: 15001 example: 45 default: 0 cargo_capacity_ratio_mass: description: The ratio of the total additive measures of the transported cargo to the total capacity of the boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 10 cargo_capacity_ratio_volume: description: The ratio of the total additive measures of the transported cargo to the total capacity of the boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 2 cargo_capacity_ratio_capacity_a: description: The ratio of the total additive measures of the transported cargo to the total capacity of the boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 1 cargo_capacity_ratio_capacity_b: description: The ratio of the total additive measures of the transported cargo to the total capacity of the boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 2 cargo_capacity_ratio_capacity_c: description: The ratio of the total additive measures of the transported cargo to the total capacity of the boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 3 max_transport_load_mass: description: The ratio of the maximum load of boxes to the total capacity of boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 0.1 max_transport_load_volume: description: The ratio of the maximum load of boxes to the total capacity of boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 0.1 max_transport_load_capacity_a: description: The ratio of the maximum load of boxes to the total capacity of boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 0.1 max_transport_load_capacity_b: description: The ratio of the maximum load of boxes to the total capacity of boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 0.1 max_transport_load_capacity_c: description: The ratio of the maximum load of boxes to the total capacity of boxes. type: number format: double minimum: 0 maximum: 1000000 default: 0 example: 0.1 linked_essence: description: Link to essence. type: object additionalProperties: false properties: essence_key: $ref: '#/components/schemas/basic_essence_key' essence_type: description: Essence type. type: string nullable: false enum: - LOCATION - ORDER - ASSIGNED_ORDER - PERFORMER - TRANSPORT - HARDLINK - TRIP - FACT example: LOCATION required: - essence_key - essence_type linked_essence_list: description: A list of linked essences. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/linked_essence' web_trip: description: Web Trip. type: object additionalProperties: false properties: trip: $ref: '#/components/schemas/trip' trip_statistics: $ref: '#/components/schemas/trip_statistics' fields: $ref: '#/components/schemas/table_trip_fields' linked_essences: $ref: '#/components/schemas/linked_essence_list' required: - trip - trip_statistics 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 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_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_error: description: Description of the error in the input data. type: object additionalProperties: false properties: type: $ref: '#/components/schemas/entity_error_type' info: description: Information about error. type: string nullable: true minLength: 0 maxLength: 2048 example: entity error entities: description: List of entities related to error. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/entity_path' required: - type - entities entity_error_list: description: 'List with fatal errors. ' type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/entity_error' entity_warning_type: description: "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_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: [] 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_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 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 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 parameters: essence_key: name: essence_key description: Key, unique identifier. in: path required: true schema: $ref: '#/components/schemas/basic_essence_key' filename: name: filename description: File name. in: path required: true schema: description: File name. type: string minLength: 6 maxLength: 128 example: file_en.html 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' examples: 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: []