{ "_type": "export", "__export_format": 4, "__export_date": "2026-05-06T10:29:31.000Z", "__export_source": "veeroute.gen_insomnia:v1", "resources": [ { "_type": "workspace", "_id": "__WORKSPACE_ID__", "parentId": null, "name": "VRt.Universal [UV] 7.36.3317", "description": "# Description\n\nProgramming interface for universal trip planning.\n\n## Capabilities\n\n* Ability to pick up cargo from any location\n* Ability to drop off cargo at any location\n* Paired demands of several types: `PICKUP` (loading), `DROP` (unloading)\n* Single demands of several types: `DROP_FROM_BOX` (unloading of cargo that is already in the box), `PICKUP_TO_BOX` (picking up cargo into the box without subsequent unloading), `WORK` (work at a location without moving cargo)\n* A complex order may consist of any number of demands of any types\n* Transport and performers are split into separate entities; during planning, an optimal assignment of a performer to a transport is performed\n* Transport has multiple boxes — each of which can hold cargo and has its own characteristics\n* Compatibility check between cargo and transport based on cargo dimensions (length, width, height, additional capacity parameters)\n* Compatibility check between cargo and transport box (allowing to take into account box features: refrigerator, thermo bag, fasteners, etc.)\n* Replacement demands — i.e. the ability to perform one of several substitute demands, the choice being made based on the demand's geographic location and time window\n\n## Supported constraints\n\nConstraints on a **performer**:\n\n* Start/finish location\n* Accounting for the performer's travel to the transport's start point\n* Performer availability schedule — a list of time windows during which the performer can travel and perform work at locations\n* Maximum work duration of the performer within a given time period\n\nConstraints on **transport**:\n\n* Start/finish location\n* Transport availability schedule — a list of time windows during which the transport can travel\n* Maximum route length\n* Multiple boxes in the transport, each with its own parameters\n* Upper limit on summed capacities (mass, volume, number of orders, number of demands)\n\nConstraints on an **order**:\n\n* Hard time windows\n* Ability to specify different allowed location work windows and desired demand execution windows\n* Order of demand execution within a route\n* List of desired execution time windows with different costs for each of them\n\n## Compatibilities used\n\nEntities are compatible if the list of features of one entity fully covers the list of restrictions of another entity (the opposite for `performer_blacklist` — the lists must not overlap).\n\nSupported compatibilities:\n\n| Name | Restrictions | Features |\n|-------------------------|----------------------------------|------------------------------|\n| Order – Performer | order.performer_restrictions | performer.performer_features |\n| Order – Not-Performer | order.performer_blacklist | performer.performer_features |\n| Cargo – Box | order.cargo.box_restrictions | transport.box.box_features |\n| Location – Transport | location.transport_restrictions | transport.transport_features |\n| Transport – Performer | transport.performer_restrictions | performer.performer_features |\n| Performer – Transport | performer.transport_restrictions | transport.transport_features |\n| Order – Order | order.order_restrictions | order.order_features |\n| Cargo – Cargo | cargo.cargo_restrictions | cargo.cargo_features |\n\nExamples of business rules:\n\n| Name | Example business rule |\n|-------------------------|--------------------------------------------------------------------------------------------------------|\n| Order – Performer | To perform the order the driver must have a special permit |\n| Order – Not-Performer | The driver is on the blacklist |\n| Cargo – Box | A box with a special temperature mode is required to transport frozen products |\n| Location – Transport | Restrictions on transport height |\n| Transport – Performer | For freight transport the driver must hold category `C` |\n| Performer – Transport | The driver is allowed to work only on a specific transport |\n| Order – Order | Fish and fruit cannot be transported in the same box |\n| Cargo – Cargo | Two cargos cannot be placed simultaneously in the same transport box, but can be placed sequentially |\n\n## Hardlinks\n\nThe hardlinks mechanism (`hardlinks`) is used to specify requirements for orders, a performer and a transport to be in the same trip.\n\nA hardlink guarantees that the entities are in the same trip and does not guarantee that the entity is actually planned.\nFor example, if the performer cannot complete the order in time, the order will not be planned, but it will still be assigned to the trip (it will end up in `waitlist`).\n\nA hardlink also does not cancel the specified compatibilities (and the penalties for compatibility violations).\nFor example, if an order cannot be performed by the performer, it will not be planned but will be assigned to the trip (it will end up in `waitlist`).\n\n## Cargo placement in the box\n\nList of an object's rotation capabilities (in 90-degree increments):\n\n* `ALL` — can be rotated around any axis any number of times\n* `YAW` — can be rotated once around the vertical axis (around its own axis)\n* `PITCH` — can be rotated once around the transverse axis (set vertically)\n* `ROLL` — can be rotated once around the longitudinal axis (laid on its side)\n\n## Trip model\n\nA trip is described by a list of performer states; a performer can be in several states at the same time (e.g. be inside a location's working time window and at the same time perform an order at the same location).\n\nValues of the flags responsible for the geographic position (multiple flags may be active at the same time):\n\n* `AROUND_LOCATION` — the performer is near the location, in the process of parking or leaving it.\n* `INSIDE_LOCATION` — the performer is at the location.\n\nValues of the flags responsible for being inside time windows (multiple flags may be active at the same time):\n\n* `INSIDE_WORKING_WINDOW` — the performer is inside the working time window.\n* `INSIDE_LOCATION_WINDOW` — the performer is inside the location's operating time.\n* `INSIDE_EVENT_HARD_WINDOW` — the performer is inside the hard time window.\n* `INSIDE_EVENT_SOFT_WINDOW` — the performer is inside the soft time window.\n\nValues of the flags responsible for actions (only one flag can be active at a time):\n\n* `ON_DEMAND` — the performer started working on a demand.\n* `WAITING` — the performer started waiting.\n* `RELOCATING` — the performer started moving to the next stop.\n* `BREAK` — the performer started a break.\n* `REST` — the performer started a long rest.\n* `ARRIVAL` — the performer started parking.\n* `DEPARTURE` — the performer finished leaving the parking.\n\nValues of the flags responsible for the logical state:\n\n* `DURING_ROUNDTRIP` — the performer is performing a round trip.\n\n### Example route with multiple states at every moment in time\n\n| Time | Set of active flags | Location / Order / Demand / Event | Comment |\n|:------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------|:-----------------------------------------------------------------|\n| 10:00 | INSIDE_LOCATION
AROUND_LOCATION | 2 / - / - / - | Start location |\n| 10:05 | AROUND_LOCATION
DEPARTURE | 2 / - / - / - | Left the parking |\n| 10:10 | RELOCATING
DEPARTURE | 2 / - / - / - | Driving to the first order |\n| 10:20 | AROUND_LOCATION
ARRIVAL | 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 / - / - / - | The location's window opened and the order became available |\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 a performer change |\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 opened |\n| 11:40 | AROUND_LOCATION
INSIDE_LOCATION
INSIDE_LOCATION_WINDOW
INSIDE_WORKING_WINDOW | 2 / - / - / - | Finished working |\n| 11:45 | AROUND_LOCATION
DEPARTURE
INSIDE_WORKING_WINDOW | 2 / - / - / - | Left the parking |\n| 11:45 | RELOCATING
INSIDE_WORKING_WINDOW | - / - / - / - | Driving to the next order |\n\n## Round trips\n\nA trip consists of one or more round trips.\n\nThe round-trip flag `DURING_ROUNDTRIP` is set when work on a demand starts and is removed in one of three cases:\n\n* the performer arrived at the next location to stop using the transport\n* the performer arrived at a location that separates round trips\n* the performer stopped using the transport (in a location that does not separate round trips, after performing some other action)\n\nBetween the end of one round trip and the beginning of another there can be no `RELOCATING` change of location, but the following can occur: `WAITING`, performer's `BREAK`, performer's `REST`.\n\nA location separates a trip into round trips in one of two cases:\n\n* if the location has a throughput limit `timetable.limits` (in this case there can be more than one location separating the trip)\n* if the location is simultaneously the start and finish location of all performers and transports, as well as of all `PICKUP`-type demands (in this case there will be only one location separating the trip)\n\nExamples of such locations (depending on the problem statement) include:\n\n* distribution centers when delivering goods to stores or warehouses for long-haul transportation tasks\n* stores or warehouses when delivering goods to customers in last-mile tasks\n* dumps in waste collection tasks\n\n## Planning configuration\n\nFor each planning run it is possible to specify a planning configuration that defines the objective function, the desired route quality, and the calculation speed.\n\nThe configuration name is passed in the `trips_settings.configuration` field.\n\nMain configurations:\n\n| Name | Goal |\n|---------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **optimize_distance** | Place as many orders as possible, then optimize the total mileage (the number of transports is chosen based on the mileage); used by default |\n| **optimize_transports** | Place as many orders as possible, while using as little transport as possible; all else being equal, optimize the working time of performers |\n| **optimize_locality_grouping** | Place as many orders as possible, while striving to optimize visual route grouping but not the number of routes |\n| **optimize_cars_then_distance** | Place as many orders as possible, then optimize the number of transports, then the mileage |\n| **optimize_time** | Place as many orders as possible, then optimize the total working time of performers |\n| **optimize_cars_then_time** | Place as many orders as possible, then optimize the number of transports, then the total working time of performers |\n| **optimize_money** | Optimize \"reward for completing orders − costs\"; consists of rewards for demands and the costs of performers and transports (the optimized value is non-negative) |\n\nAdditional configurations:\n\n| Name | Goal |\n|-----------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **visual_grouping** | Place as many orders as possible, while using as little transport as possible, with visually grouped routes |\n| **optimize_visual_grouping** | Place as many orders as possible, then evenly distribute orders taking transport accessibility zones into account (similar to visual_grouping but visual grouping is computed differently) |\n| **optimize_cars_then_locality_grouping** | Place as many orders as possible, then optimize the number of transports, then the visual route grouping |\n| **optimize_cars_then_single_location_grouping_sequenced** | Place as many orders as possible, then optimize the number of cars, then reliability |\n\nIn addition to the existing planning options, an objective function can be created specifically for a client's business processes (request a configuration).\n\nFor development we recommend using **optimize_cars_then_distance**, as this configuration does not require fine-tuning of tariffs and order costs.\n\n## Data validation\n\nValidation of input data consists of several stages described below.\n\n### 1. Schema check\n\nIf a request does not pass schema validation, planning is not started at all and such an error is returned together with code 400 in `schema_errors`.\n\nWe recommend validating the request against the schema (or the yaml file) before sending it to the server.\n\n### 2. Check for logical errors that prevent planning from continuing\n\nData that is correct against the schema goes through the second validation stage to determine whether planning can be started.\n\nExamples of errors at this stage are keys pointing to empty entities, or all orders being incompatible with all performers — i.e. anything that makes the planning task meaningless.\n\nThese errors are returned together with code 400 in `logical_errors`.\n\n### 3. Check for logical errors that prevent planning from continuing\n\nAt the third stage each entity is checked individually.\n\nAll entities that fail the check are removed from the original task and are not sent to planning.\n\nDepending on the `treat_warnings_as_errors` setting, the results of this type of check are returned in `warnings` together with code 400, or together with the planning result.\n\n### 4. Checks during planning\n\nSome checks can only be performed during planning.\n\nFor example — that according to the specified tariffs and the current traffic forecast it is physically impossible to drive to a particular point.\n\nThe results of these checks are returned in `warnings` together with the planning result." }, { "parentId": "__WORKSPACE_ID__", "name": "Base environment", "data": { "base_url": "{{ scheme }}://{{ host }}{{ base_path }}" }, "_type": "environment", "_id": "__BASE_ENVIRONMENT_ID__" }, { "parentId": "__BASE_ENVIRONMENT_ID__", "name": "OpenAPI env", "data": { "scheme": "https", "base_path": "", "host": "api.edge7.veeroute.cloud", "bearerToken": "bearerToken" }, "_type": "environment", "_id": "env___BASE_ENVIRONMENT_ID___sub" }, { "parentId": "__WORKSPACE_ID__", "name": "Plan", "environment": {}, "_id": "fld___WORKSPACE_ID__4da47260", "_type": "request_group", "description": "Planning — creating trips that take into account all the specified constraints, based on the data about orders, performers and transport.\n\nPlanning requests can be executed in synchronous (for testing) and asynchronous (for production use) modes.\n\nTo get the result of cleansing the original task, use data cleansing for planning." }, { "parentId": "__WORKSPACE_ID__", "name": "Actualize", "environment": {}, "_id": "fld___WORKSPACE_ID__1bc64363", "_type": "request_group", "description": "Trip actualization — updating the planned execution time of orders, taking facts into account and without changing the visiting order.\n\nActualization runs in three stages — validation, applying facts, and planning the times of the unfinished trip states.\n\nTo get the result of cleansing and applying facts to the original task, use the data cleansing function.\n\nThe trips obtained as a result of actualization do not change performers, transport, or the order of order execution; they contain only the work that is left to be done.\n\nOrders that cannot be performed remain assigned to the performer and end up in the `waitlist`.\n\nAccounting for existing trips:\n\n* Trips are transformed into `hardlink` assignments — i.e. the performer's and transport's shifts assigned to a trip cannot be used in other trips.\n* For demands that were planned in the original trips, replacement events are removed and the order of execution is fixed via `precedence_in_trip`; if these demands already had an execution order specified — it will be overwritten.\n\nAccounting for the current time:\n\n* If the current time `actualize_settings.current_time` is not specified in the data — the time the request is received by the server is used.\n* If the current time is greater than the left boundary of all events' and shifts' time windows — the left boundary is shifted up to the current time.\n* The allowed delay duration `actualize_settings.max_delay_duration` is added to the right boundary of all events' and shifts' time windows.\n* Soft time windows are corrected only if the demand duration does not allow the order to be completed within the soft window.\n\nAccounting for facts:\n\n* Only those facts that occurred before `actualize_settings.current_time` (by the `time` field) are taken into account; how much earlier than the current time the fact occurred is not relevant.\n* If there are several facts (of the same type and referring to the same entities), only the most recent one by the `time` field is taken into account.\n* If the list of facts is empty — only the existing trips and the current time are taken into account.\n\nAccounting for the location-change fact `NEW_LOCATION`:\n\n* For the fact to be taken into account, the list of locations `locations` must contain a location (existing or new) that describes the performer's new location.\n* If the trip has started (the fact's time is later than the trip's planned start time) — the transport is considered to be at the same location as the performer — i.e. `start_location_key` is changed for both the performer and the transport.\n* If the trip has not started (the fact's time is before the trip's planned start time) — only the performer's start location is changed; the transport's location stays as in the original data.\n\nAccounting for the order-completion fact `ORDER_DONE`:\n\n* The order, its demands and the locations associated with them (if no other entities reference them) are removed from the data for actualization.\n* The cargo is considered unloaded from the transport.\n\nAccounting for facts about the start of work on a demand `DEMAND_START`:\n\n* For each trip only one unclosed `DEMAND_START` fact is allowed (it is closed by a `DEMAND_DONE` fact) — since a performer can only perform one demand at a moment in time.\n* The work duration on the demand is reduced by the time already spent on it (computed as the length between the `DEMAND_START` fact and `actualize_settings.current_time`).\n* If there is a fact about work on a demand that contradicts the planned order in the specified trip — this demand will be completed first, then the trip will continue according to the planned order.\n* An order-related fact has higher priority than facts about demands of that order (if facts about demands contradict the order's fact — they will not be taken into account).\n\nAccounting for facts of partial order completion `DEMAND_DONE`:\n\n* If all demands of an order have been completed — the order is considered finished (the actions are similar to processing the `ORDER_DONE` fact).\n* If a `WORK`-type demand has been completed — the demand is removed from the order.\n* If a `DROP`-type demand has been completed — the demand and its cargos, as well as the matching `PICKUP`-type demand, are removed from the order.\n* If a `DROP_FROM_BOX`-type demand has been completed — the demand and its cargo are removed from the order.\n* If a `PICKUP`-type demand of the order has been completed — the matching `DROP`-type demands will be transformed into `DROP_FROM_BOX`-type demands.\n* If a `PICKUP_TO_BOX`-type demand has been completed — the demand and the cargo are removed and the corresponding box's capacity of the transport is decreased (no compatibility changes are made)." }, { "parentId": "__WORKSPACE_ID__", "name": "Replan", "environment": {}, "_id": "fld___WORKSPACE_ID__9726d866", "_type": "request_group", "description": "Replanning — creating new trips on the basis of already existing trips, taking facts into account.\n\nReplanning runs in several stages — validation, applying facts and creating planning constraints based on the existing trips, planning.\n\nDepending on the replanning settings, the task can be reduced to planning (when everything is allowed: `reorder: true, plan_new_orders: true, create_new_trips: true`) or to actualization (when everything is forbidden: `reorder: false, plan_new_orders: false, create_new_trips: false`).\n\nOrders that cannot be performed remain assigned to the performer and end up in the `waitlist`.\n\nAccounting for existing trips, the current time and the order of applying facts — uses the logic from actualization, taking the chosen strategy into account:\n\n" }, { "parentId": "__WORKSPACE_ID__", "name": "XLSX-format", "environment": {}, "_id": "fld___WORKSPACE_ID__eb514535", "_type": "request_group", "description": "Description of the VRt.Universal XLSX format for data import/export.\n\nThis format is a complete representation of the JSON data model and is used for:\n\n* input data\n* process settings\n* calculation results\n* statistics on the calculation result\n\nBelow is a description of each sheet separately; **bold** highlights the keys.\n\n## Data settings\n\nSheet name `info`.\n\n| Name | Description |\n|-----------------|----------------------------------------------------------|\n| **api_version** | Universal API version at the time of XLSX generation |\n| **timezone** | Time zone in which all times in the data are specified |\n| docs_ru | Link to the documentation (RU) |\n| docs_en | Link to the documentation (EN) |\n\n## Locations\n\nSheet name `locations`.\n\nList of locations used in orders and shifts.\n\n| Name | Description | Note |\n|---------------------------------------------|------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|\n| **key** | Location key, unique identifier | Unique key within the calculation |\n| departure_duration | Time to depart from the location, time interval | |\n| geopoint.latitude | Geographic latitude in degrees | |\n| geopoint.longitude | Geographic longitude in degrees | |\n| timetable.work_windows.from | Start of the location's work time window | Required if `to` is specified. If the list is empty or not specified, the location operates without time restrictions. |\n| timetable.work_windows.to | End of the location's work time window | Required if `from` is specified. If the list is empty or not specified, the location operates without time restrictions. |\n| compatibilities
.transport_restrictions | List of required restrictions on the transport | Used to check transport compatibility with the location. |\n| attributes | Attributes used to specify auxiliary information | This data is not taken into account in planning. |\n\nObject described:\n\n\n## Performers\n\nSheet name `performers`.\n\nList of available performers.\n\n| Name | Description | Note |\n|------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|\n| **key** | Performer key, unique identifier | |\n| own_transport_type | Transport type | If not specified, defaults to `CAR`. |\n| **shifts.key** | Shift key, unique identifier | |\n| shifts.start_location_key | Start location key | If the key is not specified — the performer's path starts at the first order. |\n| shifts.finish_location_key | Finish location key | If the key is not specified — the performer's path finishes at the last order. |\n| shifts.max_locations | Limit on the number of unique locations in a single trip, including the start and finish locations | If the parameter is not specified or is `null` — the number of locations is not limited. |\n| shifts.max_stops | Limit on the number of stops in a single trip, including the start and finish locations | If the parameter is not specified or is `null` — the number of stops is not limited. |\n| shifts.attributes | Attributes. Used to specify auxiliary information | This data is not taken into account in planning. |\n| shifts.availability_time.from | Start of the shift's time window | During which the performer can perform work at locations and travel between locations. |\n| shifts.availability_time.to | End of the shift's time window | During which the performer can perform work at locations and travel between locations. |\n| shifts.working_time.from | Start of the working time window | During which the performer can perform work at locations; must be inside the shift's time window. |\n| shifts.working_time.to | End of the working time window | During which the performer can perform work at locations; must be inside the shift's time window. |\n| shifts.tariff
.cost_per_shift | Price for using the shift, monetary unit | Default: `0.001` |\n| shifts.tariff
.max_penalty_cost | Maximum sum of penalties the performer can incur within this shift, monetary unit. | If the sum is not specified or is `null` — the performer cannot violate constraints. |\n| shifts.tariff
.constraints.stage_length | Length of the paid period, time interval | Default: `525960` |\n| shifts.tariff
.constraints.cost_per_unit | Cost within the paid period, monetary unit per second of work | Default: `0.001` |\n| shifts.work_and_rest_rules
.first_break
.max_work_duration_sum | Total work time after which a break must be taken | |\n| shifts.work_and_rest_rules
.first_break
.duration | Break duration | |\n| compatibilities
.performer_features | List of the performer's features | Used to check the performer's compatibility with orders and transport. |\n| compatibilities
.transport_restrictions | List of required restrictions on the transport | Used to check the performer's compatibility with the transport. |\n| limits.max_work_shifts | Limit on the performer's workload | Limit on the number of the performer's shifts in a single planning run. |\n| attributes | Attributes used to specify auxiliary information | This data is not taken into account in planning. |\n\nObject described:\n\n\n## Transports\n\nSheet name `transports`.\n\nList of available transport.\n\n| Name | Description | Note |\n|---------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **key** | Transport key, unique identifier | |\n| transport_type | Transport type | If not specified, defaults to `CAR` |\n| **boxes.key** | List of transport boxes that can hold cargo | Required if the task contains orders with `PICKUP` and `DROP` demands |\n| **shifts.key** | Shift key, unique identifier | |\n| shifts.start_location_key | Start location key | If the key is not specified — the transport's path starts at the first order |\n| shifts.finish_location_key | Finish location key | If the key is not specified — the transport's path finishes at the last order |\n| shifts.attributes | Attributes. Used to specify auxiliary information | This data is not taken into account in planning |\n| shifts.availability_time.from | Start of the shift's time window | During which the transport can travel between locations and be used by the performer for work at locations |\n| shifts.availability_time.to | End of the shift's time window | During which the transport can travel between locations and be used by the performer for work at locations |\n| shifts.tariff
.cost_per_shift | Price for using the shift, monetary unit | Default: `0.001` |\n| shifts.tariff
.max_penalty_cost | Maximum sum of penalties | Default: `0`. The transport can incur this within the shift, monetary unit. If the sum is not specified or is `null` — the transport cannot violate constraints. |\n| shifts.tariff
.constraints.stage_length | Length of the paid part of the path, in meters | Default: `100000000` |\n| shifts.tariff
.constraints.cost_per_unit | Cost within the paid part of the path | Monetary unit per meter. Default: `0.001` |\n| shifts.tariff
.transportation_cost.mass | Cost of moving 1 unit of cargo mass per 1 meter | In conventional monetary units |\n| shifts.tariff
.transportation_cost.volume | Cost of moving 1 unit of cargo volume per 1 meter | In conventional monetary units |\n| shifts.tariff
.transportation_cost.capacity_a | Cost of moving 1 unit of additional cargo parameter A per 1 meter | In conventional monetary units |\n| shifts.tariff
.transportation_cost.capacity_b | Cost of moving 1 unit of additional cargo parameter B per 1 meter | In conventional monetary units |\n| shifts.tariff
.transportation_cost.capacity_c | Cost of moving 1 unit of additional cargo parameter C per 1 meter | In conventional monetary units |\n| compatibilities
.transport_features | List of the transport's features | Used to check transport compatibility with locations and performers |\n| compatibilities
.performer_restrictions | List of the transport's restrictions on the performer | Used to check compatibility with the performer |\n| limits.max_boxes | Limit on the maximum number of transport boxes used in a single trip | If the parameter is not specified or is `null` — the number of boxes is not limited. The limit must not exceed the number of boxes |\n| limits.max_capacity.mass | Parameter additionally limits the maximum possible transport load by mass summed across all boxes | Mass in kilograms; applicable only if the transport has more than one box; the parameter must not be less than the capacity of any box. |\n| limits.max_capacity.volume | Parameter additionally limits the maximum possible transport load by volume summed across all boxes | Volume in cubic meters; applicable only if the transport has more than one box; the parameter must not be less than the capacity of any box. |\n| limits.max_capacity.capacity_a | Parameter additionally limits the maximum possible transport load by additional parameter A summed across all boxes | Additional capacity parameter (A) for measuring cargo and boxes in alternative units. For example, to count cargo in pieces (this parameter equals one for cargo, and equals the maximum number of cargos that fit for a box). |\n| limits.max_capacity.capacity_b | Parameter additionally limits the maximum possible transport load by additional parameter B summed across all boxes | Additional capacity parameter (B) for measuring cargo and boxes in alternative units. |\n| limits.max_capacity.capacity_c | Parameter additionally limits the maximum possible transport load by additional parameter C summed across all boxes | Additional capacity parameter (C) for measuring cargo and boxes in alternative units. |\n| attributes | Attributes used to specify auxiliary information | This data is not taken into account in planning. |\n\nObject described:\n\n\n## Boxes\n\nSheet name `transports.boxes`.\n\nList of transport boxes that can hold cargo.\nThe table is required if the calculation contains orders with `PICKUP` and `DROP` demands.\nIn the description of the boxes, the fields that describe cargo are required.\n\n| Name | Description | Note |\n|-----------------------------------------------|------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **key** | Box key | Unique identifier; used to identify the placement of cargo across boxes. |\n| capacity.mass | Mass, kg | Mass limit that the box can hold at any single moment |\n| capacity.volume | Volume, m³ | Volume limit that the box can hold at any single moment |\n| capacity.capacity_a | Additional capacity parameter (A) | For measuring cargo and boxes in alternative units. For example, to count cargo in pieces (this parameter equals one for cargo, and equals the maximum number of cargos that fit for a box). |\n| capacity.capacity_b | Additional capacity parameter (B) | For measuring cargo and boxes in alternative units. |\n| capacity.capacity_c | Additional capacity parameter (C) | For measuring cargo and boxes in alternative units. |\n| compatibilities
.width | Width in meters | |\n| compatibilities
.height | Height in meters | |\n| compatibilities
.length | Length in meters | |\n| compatibilities
.box_features | List of the box's features | Used to evaluate whether cargo can be transported in this box |\n| limits
.max_one_cargo_capacity.mass | Mass in kilograms | Limit on `capacity` fields for a single cargo |\n| limits
.max_one_cargo_capacity.volume | Volume in cubic meters | Limit on `capacity` fields for a single cargo |\n| limits
.max_one_cargo_capacity.capacity_a | Additional capacity parameter (A) | Limit on `capacity` fields for a single cargo |\n| limits
.max_one_cargo_capacity.capacity_b | Additional capacity parameter (B) | Limit on `capacity` fields for a single cargo |\n| limits
.max_one_cargo_capacity.capacity_c | Additional capacity parameter (C) | Limit on `capacity` fields for a single cargo |\n\nObject described:\n\n\n## Orders\n\nSheet name `orders`.\n\nList of orders.\n\n| Name | Description | Note |\n|----------------------------------------------------|-------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|\n| **key** | Order key | A repeated order key means demands belonging to the same order |\n| **cargos.key** | List of cargos | Can contain a single cargo for `DROP`, a list for `PICKUP`, or be empty for `WORK`. |\n| **demands.key** | Demand key, unique identifier | |\n| demands.demand_type | Demand type | Loading — `PICKUP`, unloading — `DROP`, work at a location — `WORK`. |\n| demands.target_cargos | List of cargo keys | For `PICKUP`, a single cargo key for `DROP`, an empty key for `WORK` |\n| demands.precedence_in_trip | Priority within the trip | 0 — priority is not taken into account. Default: `0`. |\n| demands.precedence_in_order | Priority within the order | 0 — priority is not taken into account. Default: `0`. |\n| demands
.possible_events.key | Event key, unique identifier | Description of the time-window and locations object in which the demand can be performed |\n| demands
.possible_events.location_key | Key of the location where this event is possible | |\n| demands
.possible_events.duration | Event execution time | |\n| demands
.possible_events.reward | Reward for performing this event | |\n| demands
.possible_events.hard_time_window.from | Start of the hard time window | |\n| demands
.possible_events.hard_time_window.to | End of the hard time window | |\n| demands
.possible_events.soft_time_window.from | Start of the soft time window | |\n| demands
.possible_events.soft_time_window.to | End of the soft time window | |\n| demands
.attributes | Attributes. Used to specify auxiliary information | This data is not taken into account in planning. |\n| compatibilities
.order_features | List of the order's features | |\n| compatibilities
.order_restrictions | List of restrictions for an order performed in the same trip | |\n| compatibilities
.performer_restrictions | List of required restrictions on the performer | Used to check the performer's compatibility with the order (work). |\n| compatibilities
.performer_blacklist | List of features the performer must not have | Used to check the performer's compatibility with the order (work). This list must not overlap with `performer_restrictions` |\n| attributes | Attributes used to specify auxiliary information | This data is not taken into account in planning. |\n\nObject described:\n\n\n## Cargos\n\nSheet name `orders.cargos`.\n\nList of cargos. May contain a single cargo for `DROP`, a list for `PICKUP`, or be empty for `WORK`.\nThe table is not required if all demands have type `WORK`.\n\n| Name | Description | Note |\n|-----------------------------------------|------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **key** | Cargo key, unique identifier | |\n| capacity.mass | Mass in kilograms | |\n| capacity.volume | Volume in cubic meters | |\n| capacity.capacity_a | Additional capacity parameter (A) | For measuring cargo and boxes in alternative units. For example, to count cargo in pieces (this parameter equals one for cargo, and equals the maximum number of cargos that fit for a box). |\n| capacity.capacity_b | Additional capacity parameter (B) | |\n| capacity.capacity_c | Additional capacity parameter (C) | |\n| compatibilities
.width | Width in meters | Used to check the cargo's fit into the transport's box by width. |\n| compatibilities
.height | Height in meters | Used to check the cargo's fit into the transport's box by height. |\n| compatibilities
.length | Length in meters | Used to check the cargo's fit into the transport's box by length. |\n| compatibilities
.rotation | List of the object's rotation abilities | Rotation step is 90 degrees. If the list is empty — the object cannot be rotated. Allowed values: `ALL`, `YAW`, `PITCH`, `ROLL` |\n| compatibilities
.box_restrictions | List of restrictions on the transport's box | |\n| compatibilities
.cargo_features | List of the cargo's features | Used to check cargo compatibility with other cargos. Incompatible cargos cannot be in the same transport box at the same time |\n| compatibilities
.cargo_restrictions | List of required restrictions on cargo | Used to check cargo compatibility with other cargos. Incompatible cargos cannot be in the same transport box at the same time |\n\nObject described:\n\n\n## Hardlinks\n\nSheet name `hardlinks`.\n\nList of hardlinks.\n\nObject described:\n\n\n## Trips\n\nSheet name `trips`.\n\nList of trips.\n\nObject described:\n\n\n## Facts\n\nSheet name `facts`.\n\nList of facts.\n\nObject described:\n\n\n## Plan settings\n\nSheet name `plan_settings`.\n\nPlan settings.\n\nObject described:\n\n\n## Actualize settings\n\nSheet name `actualize_settings`.\n\nActualize settings.\n\nObject described:\n\n\n## Replan settings\n\nSheet name `replan_settings`.\n\nReplan settings.\n\nObject described:\n\n\n## Total statistics\n\nSheet name `total_statistics`.\n\nTotal statistics.\n\nObject described:\n" }, { "parentId": "__WORKSPACE_ID__", "name": "Convert", "environment": {}, "_id": "fld___WORKSPACE_ID__6b9fd614", "_type": "request_group", "description": "Data conversion." }, { "parentId": "__WORKSPACE_ID__", "name": "System", "environment": {}, "_id": "fld___WORKSPACE_ID__7379b220", "_type": "request_group", "description": "System functions.\nAuxiliary functionality common to all services." }, { "parentId": "fld___WORKSPACE_ID__4da47260", "name": "Planning (ASYNC)", "url": "{{ base_url }}/universal/plan/calculation-async", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__5dc775b3", "method": "POST", "description": "Starting trip planning - after loading and checking the data, the `process_code` is returned.\n\nUsing the `process_code`, you can find out calculation state and get result,\nand also cancel calculation and delete temporary data (otherwise they will be automatically deleted according to the ttl specified in the calculation settings)." }, { "parentId": "fld___WORKSPACE_ID__4da47260", "name": "Planning (SYNC)", "url": "{{ base_url }}/universal/plan/calculation", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__da58d058", "method": "POST", "description": "Sync method for trip planning.\n\nUse only for testing and manual plannings.\n\nFor production use async method." }, { "parentId": "fld___WORKSPACE_ID__4da47260", "name": "Cancel calculation", "url": "{{ base_url }}/universal/plan/calculation-async/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__2387a7f5", "method": "DELETE", "description": "Cancel calculation by the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__4da47260", "name": "Calculation state", "url": "{{ base_url }}/universal/plan/state/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__232c9e63", "method": "GET", "description": "Read calculation state by the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__4da47260", "name": "Getting the result", "url": "{{ base_url }}/universal/plan/result/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__8150bd15", "method": "GET", "description": "Getting the planning result based on the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__4da47260", "name": "Result removal", "url": "{{ base_url }}/universal/plan/result/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__d36a4c06", "method": "DELETE", "description": "Removal of the planning result by the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__4da47260", "name": "Data validation", "url": "{{ base_url }}/universal/plan/validation", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__f43a04a0", "method": "POST", "description": "Check data before using." }, { "parentId": "fld___WORKSPACE_ID__4da47260", "name": "Data refine", "url": "{{ base_url }}/universal/plan/refine", "body": { "mimeType": "application/json", "text": "" }, "parameters": [ { "name": "remove_locations", "value": "True", "disabled": true } ], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__199a8c7c", "method": "POST", "description": "Cleaning up data for planning before calculation - entities that cannot participate in planning are removed from the original dataset:\n * Locations that no one references (depending on the `remove_locations` flag)\n * Orders that no performer can fulfill\n * Performers and transport that cannot fulfill any order" }, { "parentId": "fld___WORKSPACE_ID__4da47260", "name": "Calculation of statistics on trips", "url": "{{ base_url }}/universal/plan/statistics", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__72cc15cc", "method": "POST", "description": "Calculation of statistics for existing trips" }, { "parentId": "fld___WORKSPACE_ID__1bc64363", "name": "Actualization (ASYNC)", "url": "{{ base_url }}/universal/actualize/calculation-async", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__e7491c97", "method": "POST", "description": "Start updating existing trips - after loading and checking the data, the calculation identifier `process_code` is returned.\n\nUsing `process_code` you can find out calculation state and get result,\nand also cancel calculation and delete temporary data (otherwise they will be automatically deleted according to the ttl specified in the calculation settings).\n\nAn actualize task can be transformed into a planning task using data processing." }, { "parentId": "fld___WORKSPACE_ID__1bc64363", "name": "Actualization (SYNC)", "url": "{{ base_url }}/universal/actualize/calculation", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__f2744914", "method": "POST", "description": "Sync method for trips actualization.\n\nUse only for testing and manual plannings.\n\nFor production use async method." }, { "parentId": "fld___WORKSPACE_ID__1bc64363", "name": "Cancel calculation", "url": "{{ base_url }}/universal/actualize/calculation-async/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__1ca2b0b9", "method": "DELETE", "description": "Cancel calculation by the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__1bc64363", "name": "Calculation state", "url": "{{ base_url }}/universal/actualize/state/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__789c4dad", "method": "GET", "description": "Read calculation state by the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__1bc64363", "name": "Getting the result", "url": "{{ base_url }}/universal/actualize/result/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__028b1ce8", "method": "GET", "description": "Getting the planning result based on the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__1bc64363", "name": "Result removal", "url": "{{ base_url }}/universal/actualize/result/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__1d9fb926", "method": "DELETE", "description": "Removal of the planning result by the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__1bc64363", "name": "Data validation", "url": "{{ base_url }}/universal/actualize/validation", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__6f1c6238", "method": "POST", "description": "Check data before using." }, { "parentId": "fld___WORKSPACE_ID__1bc64363", "name": "Data refine", "url": "{{ base_url }}/universal/actualize/refine", "body": { "mimeType": "application/json", "text": "" }, "parameters": [ { "name": "remove_locations", "value": "True", "disabled": true } ], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__e68e5eab", "method": "POST", "description": "Cleaning data for actualization before calculation:\n * Entities that are not referenced by input trips are removed from the dataset - performers, transport, hardlinks, orders, facts.\n * If one entity is referenced by several facts, only the latest one by the time field is taken into account; if the time is the same, a random one is taken into account.\n * All facts that occurred later than `actualize_settings.current_time` are removed.\n\nAs a result, a task for planning is returned." }, { "parentId": "fld___WORKSPACE_ID__9726d866", "name": "Replanning (ASYNC)", "url": "{{ base_url }}/universal/replan/calculation-async", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__7dc5601e", "method": "POST", "description": "Starting trip replanning - changing existing and creating new trips based on the facts and data about orders, performers and transport.\n \nAfter loading and checking the data, the `process_code` is returned.\n\nUsing the `process_code`, you can find out calculation state and get result,\nand also cancel calculation and delete temporary data (otherwise they will be automatically deleted according to the ttl specified in the calculation settings).\n\nAn replan task can be transformed into a plan task using data processing." }, { "parentId": "fld___WORKSPACE_ID__9726d866", "name": "Replanning (SYNC)", "url": "{{ base_url }}/universal/replan/calculation", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__c4b666f6", "method": "POST", "description": "Sync method for trips replanning.\n\nUse only for testing and manual plannings.\n\nFor production use async method." }, { "parentId": "fld___WORKSPACE_ID__9726d866", "name": "Cancel calculation", "url": "{{ base_url }}/universal/replan/calculation-async/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__0770db7e", "method": "DELETE", "description": "Cancel calculation by the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__9726d866", "name": "Calculation state", "url": "{{ base_url }}/universal/replan/state/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__d6a9a2e2", "method": "GET", "description": "Read calculation state by the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__9726d866", "name": "Getting the result", "url": "{{ base_url }}/universal/replan/result/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__bcc6e883", "method": "GET", "description": "Getting the replanning result based on the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__9726d866", "name": "Result removal", "url": "{{ base_url }}/universal/replan/result/{{ process_code }}", "body": {}, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__3f33a1bc", "method": "DELETE", "description": "Removal of the planning result by the calculation identifier." }, { "parentId": "fld___WORKSPACE_ID__9726d866", "name": "Data validation", "url": "{{ base_url }}/universal/replan/validation", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__06b33ad6", "method": "POST", "description": "Check data before using." }, { "parentId": "fld___WORKSPACE_ID__9726d866", "name": "Data refine", "url": "{{ base_url }}/universal/replan/refine", "body": { "mimeType": "application/json", "text": "" }, "parameters": [ { "name": "remove_locations", "value": "True", "disabled": true } ], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__8248fd8a", "method": "POST", "description": "Cleaning up data for re-planning before calculation:\n * If one entity is referenced by several facts, only the latest one by the time field is taken into account; if the time is the same, a random one is taken into account.\n * All facts that occurred later than `actualize_settings.current_time` are deleted.\n * If `plan_new_orders: false` is specified - all orders that are not in the specified trips are removed from the original task.\n * If `create_new_trips: false` is specified - all performers and transport that are not in the specified trips are removed from the original task, and unplanned shifts of performers and transport that are in the specified trips are also removed.\n * Afterwards, cleaning up data for planning is performed.\n\nAs a result, a task for planning is returned." }, { "parentId": "fld___WORKSPACE_ID__6b9fd614", "name": "JSON >> XLSX", "url": "{{ base_url }}/universal/convert/json-to-xlsx", "body": { "mimeType": "application/json", "text": "" }, "parameters": [ { "name": "timezone", "value": "3", "disabled": true } ], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__00e8f70f", "method": "POST", "description": "Used for conversion of data to the VRt.Universal XLSX format." }, { "parentId": "fld___WORKSPACE_ID__6b9fd614", "name": "XLSX >> JSON", "url": "{{ base_url }}/universal/convert/xlsx-to-json", "body": { "mimeType": "application/octet-stream", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__9655f0e6", "method": "POST", "description": "Used for data conversion from the VRt.Universal XLSX format to the VRt.Universal JSON format." }, { "parentId": "fld___WORKSPACE_ID__6b9fd614", "name": "JSON >> THRIFT", "url": "{{ base_url }}/universal/convert/json-to-thrift", "body": { "mimeType": "application/json", "text": "" }, "parameters": [], "headers": [], "authentication": { "type": "bearer", "token": "{{bearerToken}}", "prefix": "" }, "_type": "request", "_id": "req___WORKSPACE_ID__0581eb1f", "method": "POST", "description": "Used for conversion of input data to the THRIFT format." }, { "parentId": "fld___WORKSPACE_ID__7379b220", "name": "Checking the availability", "url": "{{ base_url }}/universal/system/check", "body": {}, "parameters": [], "headers": [], "authentication": {}, "_type": "request", "_id": "req___WORKSPACE_ID__55407a58", "method": "GET", "description": "Checking the service availability." }, { "parentId": "fld___WORKSPACE_ID__7379b220", "name": "Getting the service version", "url": "{{ base_url }}/universal/system/version", "body": {}, "parameters": [], "headers": [], "authentication": {}, "_type": "request", "_id": "req___WORKSPACE_ID__7fbac208", "method": "GET", "description": "Getting the service version." }, { "parentId": "fld___WORKSPACE_ID__7379b220", "name": "Getting the documentation", "url": "{{ base_url }}/universal/file/{{ filename }}", "body": {}, "parameters": [], "headers": [], "authentication": {}, "_type": "request", "_id": "req___WORKSPACE_ID__a342d488", "method": "GET", "description": "Getting the file with this service documentation." } ] }