openapi: 3.0.3 info: title: VRt.Packer [PC] version: 6.20.2252 license: name: Proprietary url: https://veeroute.zh/ contact: name: Veeroute Support Team email: servicedesk@veeroute.com x-logo: url: ../images/packer.svg backgroundColor: '#FAFAFA' altText: VRt.Packer description: 'Veeroute Packer 的软件界面. # 描述 该服务旨在计算商品在给定包裹内的放置. ## 包的类型 ### 托盘 ![托盘](../images/packer_pallet.svg) *单托盘* 如果托盘完全装满了相同的产品,那么这样的托盘称为**mono-pallet**, 这种托盘具有以下装载规则: 1. 考虑了放置货物的托盘的最大允许高度. 1、考虑了装载托盘的最大允许重量. 1.货物包装只能平行于托盘壁堆放. 1. 允许围绕垂直 Z 轴旋转包装,并且只能以直角旋转. 1.为了使位置之间的高度相等(在顶部放置另一个托盘),可以在堆叠中添加空白空间. *区域托盘* 单托盘形成后,将同一物品的剩余部分货物放在下一个托盘上, 以硬纸板隔板分隔成多个区域,每个区域只放置一件商品, 而这些区域有以下限制: 1. 区域是矩形的. 1. 区域边之间的比例可以是任意的. 1. 任何区域的一侧始终与托盘边缘接触. 1. 托盘上允许的区域数量:从 2 到 6. 1. 各区按单托盘装填规则进行装填. 1、所有货物的堆垛高度不超过50mm,这样一个托盘上可以再放一个托盘. 1. 允许在不同位置(高度差大于50mm)形成不同堆垛高度的托盘,如果这些托盘是堆叠的顶部托盘. ### 混合箱 ![mixbox](../images/packer_mixbox.svg) 如果上述步骤未能以这种方式放置物品, 为了使托盘具有所需的高度或重量,使用混合箱: 1. Mixbox只能放在一层. 1. 不同的货物可以放在一个mixbox中,这种情况下,它像托盘一样被隔板分开(唯一的区别是包装货物的高度不对齐). 1. 混合箱可以与同一个托盘上的物品混合. 1. 一种产品可以包装在不同的混合箱中. ### 投币口 ![插槽](../images/packer_slot.svg) 装载的托盘相互堆叠,插槽是放置托盘堆叠的位置. 插槽没有物理实体 - 因此插槽的“主体”尺寸为零. ## 坐标系 ![坐标](../images/packer_coordinates.svg) 为了指示包裹和货物的位置,使用了局部坐标系, 其中特定对象的坐标相对于父对象的左下角表示,而: * 水平面 - 轴 **X**, **Y** * 垂直 - **Z** 轴 商品与包裹的轴线比例: * 宽度 - **X** * 长度 - **Y** * 高度 - **Z** ## 实体图 ![erd](../uml/packer.svg)' servers: - url: https://api.edge.veeroute.tech description: 用于集成和早期访问新功能的环境 - url: https://api.prod.veeroute.com description: 生产环境 security: - ApiKeyAuth: [] tags: - name: Pack description: '计算产品在包装内的放置。 ' - name: System description: '系统功能。 所有服务共有的辅助功能。 ' externalDocs: description: 主站点 url: https://veeroute.zh/ paths: /packer/pack/calculation: post: tags: - Pack summary: Packing (SYNC) description: Planning the optimal package. operationId: run_pack_calculation requestBody: description: Data for calculation. required: true content: application/json: schema: $ref: '#/components/schemas/pack_task' examples: PackTaskSmall: $ref: '#/components/examples/PackTaskSmall' PackTaskBig: $ref: '#/components/examples/PackTaskBig' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/pack_result' examples: PackResultSmall: $ref: '#/components/examples/PackResultSmall' PackResultBig: $ref: '#/components/examples/PackResultBig' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' x-codeSamples: - lang: Python source: 'from vrt_lss_packer import * from vrt_lss_packer.apis import * from vrt_lss_packer.models import * # settings HOST = ''https://api.edge.veeroute.tech'' # production env https://api.prod.veeroute.com'' TOKEN = ''PASTETOKENHERE'' # create client configuration = Configuration() configuration.host = HOST configuration.access_token = TOKEN client = ApiClient(configuration) # create api instances system_api = SystemApi(client) packer_api = PackApi(client) # run check check_response = system_api.check() print(check_response) # run sync calculation task = PackTask(...) result = packer_api.pack(task) print(result)' /packer/pack/calculation_async: post: tags: - Pack summary: Packing (ASYNC) description: 'The result can be obtained using the [result](#operation/read_pack_result) method, removing - with [delete](#operation/delete_pack_result). ' operationId: run_pack_calculation_async requestBody: description: Data for calculation. required: true content: application/json: schema: $ref: '#/components/schemas/pack_task' examples: PackTaskSmall: $ref: '#/components/examples/PackTaskSmall' PackTaskBig: $ref: '#/components/examples/PackTaskBig' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/calculation_async_result' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /packer/pack/calculation_async/{id}: parameters: - $ref: '#/components/parameters/result_id' get: tags: - Pack summary: Calculation state description: Read calculation state by the calculation identifier. operationId: read_pack_calculation_state responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/calculation_state' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Pack summary: Cancel calculation description: Cancel calculation process by the calculation identifier. operationId: cancel_pack_calculation responses: '204': description: Successful execution - calculation has been canceled '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /packer/pack/result/{id}: parameters: - $ref: '#/components/parameters/result_id' get: tags: - Pack summary: Getting the result description: Getting the result based on the calculation identifier. operationId: read_pack_result responses: '200': description: Successful execution - calculation has been completed. content: application/json: schema: $ref: '#/components/schemas/pack_result' examples: PackResultSmall: $ref: '#/components/examples/PackResultSmall' PackResultBig: $ref: '#/components/examples/PackResultBig' '202': description: Calculation is in progress. content: application/json: schema: $ref: '#/components/schemas/pack_result' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' delete: tags: - Pack summary: Result removal description: Removal of the planning result by the calculation identifier. operationId: delete_pack_result responses: '204': description: Successful execution - planning has been deleted '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /packer/pack/validation: post: tags: - Pack summary: Data validation description: Checking data before planning. operationId: run_pack_validation requestBody: description: Data for calculation. required: true content: application/json: schema: $ref: '#/components/schemas/pack_task' examples: PackTaskSmall: $ref: '#/components/examples/PackTaskSmall' PackTaskBig: $ref: '#/components/examples/PackTaskBig' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/validate_result' '400': $ref: '#/components/responses/400_with_errors_and_warnings' '401': $ref: '#/components/responses/401' '402': $ref: '#/components/responses/402' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '415': $ref: '#/components/responses/415' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' '504': $ref: '#/components/responses/504' default: $ref: '#/components/responses/503' /packer/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' /packer/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' /packer/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: dimensions: description: Overall dimensions (L-W-H) and weight. type: object additionalProperties: false properties: length: description: Length in millimeters. type: integer format: int32 minimum: 0 maximum: 100000 example: 1000 width: description: Width in millimeters. type: integer format: int32 minimum: 0 maximum: 100000 example: 1000 height: description: Height in millimeters. type: integer format: int32 minimum: 0 maximum: 100000 example: 1000 mass: description: Weight in grams. type: integer format: int32 minimum: 0 maximum: 1000000 example: 1000 required: - length - width - height - mass 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' product: description: 'Product. Can be rotated 90 degrees around the vertical axis. ' type: object additionalProperties: false properties: key: description: Product key (SKU). type: string minLength: 1 maxLength: 1024 example: pallet_type_1 count: description: Number of products. type: integer format: int32 minimum: 1 maximum: 70001 default: 1 example: 1460 dimensions: $ref: '#/components/schemas/dimensions' description: Outer dimensions and mass of one product. max_pressure: description: The maximum permissible top load that this product can withstand, in kg/m2. type: integer format: int32 minimum: 0 maximum: 100000 example: 2 default: 100000 compatible_package_keys: description: 'List of keys of compatible packages. If the list is empty, then all packages are considered compatible. The list must be either empty or must contain the keys of all mixboxes. ' type: array minItems: 0 maxItems: 11 uniqueItems: true default: [] items: description: Package key. type: string minLength: 1 maxLength: 1024 example: - pallet_type_1 attributes: $ref: '#/components/schemas/attributes' required: - key - dimensions package_type: description: "Types of [packaging](#section/Description/Packaging-process):\n\ \ * `SLOT` - space in the transport box for a stack of pallets, the height\ \ limits the stack of pallets\n * `PALLET` - a pallet, the products are stacked\ \ on top of a pallet, with the help of a cardboard partition it can be divided\ \ into 2 - 6 parts, in each of which the same products are placed\n * `MIXBOX`\ \ - mix-box, the products are folded inside the box\n" type: string enum: - SLOT - PALLET - MIXBOX example: MIXBOX coordinates: description: Local [coordinates](#section/Description/Coordinate-system). type: object additionalProperties: false properties: x: description: Local coordinate along the X axis, in millimeters. type: integer format: int32 minimum: 0 maximum: 100000 example: 1000 y: description: Local coordinate along the Y axis, in millimeters. type: integer format: int32 minimum: 0 maximum: 100000 example: 2000 z: description: Local coordinate along the Z axis, in millimeters. type: integer format: int32 minimum: 0 maximum: 100000 example: 3000 required: - x - y - z package: description: Package. type: object additionalProperties: false properties: key: description: Package key, unique identifier. type: string minLength: 1 maxLength: 1024 example: pallet_type_1 type: $ref: '#/components/schemas/package_type' body_dimensions: $ref: '#/components/schemas/dimensions' description: Overall dimensions of the main body of the package. container_dimensions: $ref: '#/components/schemas/dimensions' description: Dimensions and max mass of the usable space for placing the products. container_coordinates: $ref: '#/components/schemas/coordinates' description: The offset of the far left bottom corner of the container relative to the main body. attributes: $ref: '#/components/schemas/attributes' required: - key - type - body_dimensions - container_dimensions - container_coordinates calculation_settings: description: Calculation settings. type: object additionalProperties: false properties: max_calculation_time: description: 'Max calculation time. The countdown starts from the time when data is uploaded to the server and calculation starts. ' type: string format: duration x-custom-format: duration pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$ minLength: 3 maxLength: 16 default: PT20M example: PT4M30S max_waiting_time: description: 'Max calculation time. The countdown starts from the time when data is uploaded to the server. ' type: string format: duration x-custom-format: duration pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$ minLength: 3 maxLength: 16 default: PT20M example: PT2H result_ttl: description: 'Calculation result lifetime. The countdown starts from the time when the calculation is completed. ' type: string format: duration x-custom-format: duration pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$ minLength: 3 maxLength: 16 default: PT20M example: PT4M30S result_timezone: description: 'The time zone where the calculation result is returned. ' type: integer format: int32 minimum: -12 maximum: 12 default: 0 example: 3 treat_warnings_as_errors: description: 'Treat warnings as errors. ' type: boolean default: false example: true precision: description: 'Specifies the calculation accuracy in the decimal point sequence number. It equals 2 by default, so the accuracy is 0.01. ' type: integer format: int32 minimum: 0 maximum: 6 default: 2 example: 3 pack_settings: description: Packing settings. type: object additionalProperties: false properties: calculation_settings: $ref: '#/components/schemas/calculation_settings' pack_task: description: Initial task. type: object additionalProperties: false properties: products: description: List of products. type: array uniqueItems: true minItems: 1 maxItems: 70001 nullable: false items: $ref: '#/components/schemas/product' packages: description: 'List of packages. It is obligatory to have at least one package of each type (SLOT, PALLET, MIXBOX). ' type: array uniqueItems: true minItems: 1 maxItems: 11 nullable: false items: $ref: '#/components/schemas/package' pack_settings: $ref: '#/components/schemas/pack_settings' required: - products - packages 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 product_layout: description: The layout of the product in the package. type: object additionalProperties: false properties: product_key: description: Package key. type: string minLength: 1 maxLength: 1024 example: pallet_type_1 coordinates: $ref: '#/components/schemas/coordinates' dimensions: $ref: '#/components/schemas/dimensions' description: Outer dimensions and weight of the product. required: - product_key - coordinates - dimensions product_group_layout: description: 'The layout of the group of same (by key) product in the package. Product group - virtual package that combines the same (by key) product inside another package. ' type: object additionalProperties: false properties: product_key: description: Package key. type: string minLength: 1 maxLength: 1024 example: pallet_type_1 coordinates: $ref: '#/components/schemas/coordinates' dimensions: $ref: '#/components/schemas/dimensions' description: Outer dimensions and total weight of the product group. product_layouts: description: List of product layouts. type: array uniqueItems: false minItems: 0 maxItems: 70001 nullable: false items: $ref: '#/components/schemas/product_layout' required: - product_key - coordinates - dimensions - product_layouts package_layout: description: 'The layout of the product or other packaging in the package. ' type: object additionalProperties: false properties: package_key: description: Package key. type: string minLength: 1 maxLength: 1024 example: pallet_type_1 coordinates: $ref: '#/components/schemas/coordinates' description: The coordinates of the bottom left far corner of the package relative to the bottom left far corner of the parent package. dimensions: $ref: '#/components/schemas/dimensions' description: Overall dimensions and mass of the loaded package. product_group_layouts: description: List of product group layouts. type: array uniqueItems: false minItems: 0 maxItems: 70001 nullable: false items: $ref: '#/components/schemas/product_group_layout' package_layouts: description: List of package layouts. type: array uniqueItems: false minItems: 0 maxItems: 70001 nullable: false items: $ref: '#/components/schemas/package_layout' required: - package_key - coordinates - dimensions - product_group_layouts - package_layouts blueprint: description: 'A product layout plan as a list of packaging locations. The first level contains a list of pallet stacks. ' type: array uniqueItems: false minItems: 0 maxItems: 70001 items: $ref: '#/components/schemas/package_layout' example: - package_key: slot_1 coordinates: x: 0 y: 0 z: 0 dimensions: length: 1200 width: 800 height: 250 mass: 70000 package_layouts: - package_key: pallet_1 coordinates: x: 0 y: 0 z: 0 dimensions: length: 1200 width: 800 height: 250 mass: 70000 package_layouts: [] product_group_layouts: - product_key: product_1 coordinates: x: 0 y: 0 z: 150 dimensions: length: 1000 width: 500 height: 100 mass: 60000 product_layouts: - product_key: product_1 coordinates: x: 0 y: 0 z: 150 dimensions: length: 1000 width: 500 height: 100 mass: 60000 product_group_layouts: [] package_statistics: description: Statistics for package. type: object additionalProperties: false properties: package_key: description: Package key, unique identifier. type: string minLength: 1 maxLength: 1024 example: pallet_type_1 package_type: $ref: '#/components/schemas/package_type' count: description: The total number of packages. type: integer format: int32 minimum: 0 maximum: 700001 example: 1700 max_container_mass: description: The maximum weight of goods that this package can hold (in total for all packages of the specified key and type), in kilograms. type: number format: double minimum: 0 maximum: 1000000 example: 2144.69 max_container_volume: description: The maximum volume of goods that this package can hold (total for all packages of the specified key and type), in cubic meters. type: number format: double minimum: 0 maximum: 1000000 example: 100 utilization_by_mass: description: Utilization by mass (in fractions) - the ratio of the loaded mass to the maximum possible (excluding weight of packages). type: number format: double minimum: 0 maximum: 1 example: 0.98 utilization_by_volume: description: Utilization by volume (in fractions) - the ratio of the loaded volume to the maximum possible (excluding volume of packages). type: number format: double minimum: 0 maximum: 1 example: 0.91 required: - package_key - package_type - count - max_container_mass - max_container_volume - utilization_by_mass - utilization_by_volume pack_statistics: description: 'General statistics for packing scheme. ' type: object additionalProperties: false properties: products_count: description: The total number of products (taking into account the number of goods in one group). type: integer format: int32 minimum: 0 maximum: 700001 example: 257 packages_count: description: The total number of packages. type: integer format: int32 minimum: 0 maximum: 700001 example: 1700 total_mass: description: Total weight in kilograms. type: number format: double minimum: 0 maximum: 1000000 example: 2144.69 total_volume: description: The total volume of all packed goods in cubic meters. type: number format: double minimum: 0 maximum: 1000000 example: 100 package_statistics: description: Statistics on used packages. type: array uniqueItems: true minItems: 0 maxItems: 11 nullable: false items: $ref: '#/components/schemas/package_statistics' required: - products_count - packages_count - total_mass - total_volume - package_statistics entity_warning_type: description: "Warning type:\n * `INVALID_PALLET_SLOT_FIT` - a pallet without\ \ rotation must be placed in the slot, taking into account the maximum load\ \ in terms of size and weight\n * `INVALID_MIXBOX_PALLET_FIT` - any mixbox\ \ must fit on a pallet considering the maximum load, any 4 mixboxes of the\ \ same type in a 2×2 configuration without rotation must fit on any pallet\ \ according to the overall dimensions and weight of the package body_dimensions\n\ \ * `INVALID_PRODUCT_PACKAGE_FIT` - the product must be placed on a pallet,\ \ or in all mixboxes (if only mixboxes are compatible)\n * `INVALID_PRODUCT_COMPATIBILITY`\ \ - the product must be compatible either with all packages (except for the\ \ slot) or only with all mixboxes\n" type: string enum: - INVALID_PALLET_SLOT_FIT - INVALID_MIXBOX_PALLET_FIT - INVALID_PRODUCT_PACKAGE_FIT - INVALID_PRODUCT_COMPATIBILITY example: INVALID_PRODUCT_PACKAGE_FIT entity_type: description: Entity type. type: string enum: - TASK - SETTINGS - PRODUCT - PACKAGE example: TASK entity_path: description: 'The description of the entity and the path to it. ' type: object additionalProperties: false nullable: true properties: entity_key: description: Target entity key. type: string nullable: true maxLength: 1024 example: order_0001 entity_type: $ref: '#/components/schemas/entity_type' child_entity: $ref: '#/components/schemas/entity_path' required: - entity_key - entity_type entity_warning: description: Description of the warning of the input data. type: object additionalProperties: false properties: type: $ref: '#/components/schemas/entity_warning_type' info: description: Information about warning. type: string nullable: true minLength: 0 maxLength: 2048 example: entity warning entities: description: List of entities related to warning. type: array uniqueItems: false minItems: 0 maxItems: 70001 items: $ref: '#/components/schemas/entity_path' required: - type - entities entity_warning_list: description: 'List of warnings. Depending on the flag `calculation_settings.treat_warnings_as_errors` - triggered checks are interpreted as errors or result in the removal of incorrect data from the calculation. ' type: array uniqueItems: false minItems: 0 maxItems: 70001 items: $ref: '#/components/schemas/entity_warning' example: [] unpacked_items: description: Unpacked items list. type: object additionalProperties: false properties: product_keys: description: Unpacked product keys list. type: array uniqueItems: true minItems: 0 maxItems: 70001 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: product_01 package_keys: description: Unused package keys list. type: array uniqueItems: true minItems: 0 maxItems: 11 items: description: Key, unique identifier. type: string minLength: 1 maxLength: 1024 example: package_01 calculation_progress: description: 'Calculation progress as a percentage. The progress displays the current number of completed steps. ' type: integer format: int32 default: 0 minimum: 0 maximum: 100 example: 52 calculation_status: description: "Calculation status:\n * `WAITING` - the calculation is waiting\ \ to start.\n * `IN_PROGRESS` - the calculation is in progress.\n * `FINISHED_IN_TIME`\ \ - the calculation was completed before the specified planning time.\n *\ \ `FINISHED_OUT_OF_TIME` - the calculation was completed because the specified\ \ planning time has expired.\n * `CANCELED` - the calculation was canceled\ \ because a cancel command was received.\n * `CANCELED_BY_TIMEOUT` - the\ \ calculation was canceled automatically because the waiting time in the queue\ \ was exceeded.\n * `FAILED` - the calculation failed with an error.\n" type: string enum: - WAITING - IN_PROGRESS - FINISHED_IN_TIME - FINISHED_OUT_OF_TIME - CANCELED - CANCELED_BY_TIMEOUT - FAILED example: FINISHED_IN_TIME 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 calculation_info: description: Calculation information. type: object additionalProperties: false properties: status: $ref: '#/components/schemas/calculation_status' result_version: description: Planning result version. type: integer format: int32 minimum: 0 maximum: 1000000 example: 133 preparing_time: description: Time to prepare for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' business_validation_time: description: Business validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' math_validation_time: description: Math validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' waiting_time: description: Time to waiting for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' calculation_time: description: Actual calculation time, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). $ref: '#/components/schemas/time_duration' required: - status - result_version - preparing_time - business_validation_time - math_validation_time - waiting_time - calculation_time pack_result: description: Packing result. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' blueprint: $ref: '#/components/schemas/blueprint' statistics: $ref: '#/components/schemas/pack_statistics' warnings: $ref: '#/components/schemas/entity_warning_list' unpacked_items: $ref: '#/components/schemas/unpacked_items' progress: $ref: '#/components/schemas/calculation_progress' info: $ref: '#/components/schemas/calculation_info' required: - tracedata - blueprint - statistics - progress - info schema_error: description: Data error by schema. type: object additionalProperties: false properties: entity: description: Target entity identifier. type: string nullable: true maxLength: 1024 example: order_0001 message: description: Error message. type: string example: bad input data required: - entity - message schema_error_list: description: Errors list. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/schema_error' example: [] entity_error_type: description: "Error type:\n * `UNIQUE_IDS_VIOLATION` - all keys must be unique\n\ \ * `INCONSISTENT_REFERENCE` - bad reference key\n * `INVALID_SLOTS_COUNT`\ \ - exactly one SLOT package must be present\n * `INVALID_SLOT_CONTAINER`\ \ - slot container_coordinates must be zero\n * `INVALID_SLOT_BODY` - slot\ \ body_dimensions must be zero\n * `INVALID_PALLETS_COUNT` - exactly one\ \ PALLET package must be present\n * `INVALID_PALLET_CONTAINER_DIMENSIONS`\ \ - the length and width of a pallet container_dimensions must not exceed\ \ the corresponding body_dimensions\n * `INVALID_PALLET_CONTAINER` - the\ \ pallet container must not go beyond the boundaries of the pallet body in\ \ length and width\n * `INVALID_MIXBOX_CONTAINER` - mixbox container must\ \ be inside body subject to container_coordinates offset\n * `INVALID_MIXBOX_COUNT`\ \ - at least one valid MIXBOX package must be present\n * `INVALID_PRODUCT_DIMENSIONS`\ \ - product length, width and height must be at least 1 millimeter, weight\ \ - at least 1 gram\n * `INVALID_PRODUCT_COUNT` - at least one valid product\ \ must be present\n" type: string enum: - UNIQUE_IDS_VIOLATION - INCONSISTENT_REFERENCE - INVALID_SLOTS_COUNT - INVALID_SLOT_CONTAINER - INVALID_SLOT_BODY - INVALID_PALLETS_COUNT - INVALID_PALLET_CONTAINER_DIMENSIONS - INVALID_PALLET_CONTAINER - INVALID_MIXBOX_CONTAINER - INVALID_MIXBOX_COUNT - INVALID_PRODUCT_DIMENSIONS - INVALID_PRODUCT_COUNT example: UNIQUE_IDS_VIOLATION 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: 70001 items: $ref: '#/components/schemas/entity_path' required: - type - entities entity_error_list: description: 'A list of errors in the source data that make it impossible to start the calculation. ' type: array uniqueItems: false minItems: 0 maxItems: 70001 items: $ref: '#/components/schemas/entity_error' custom_400_with_errors_and_warnings: description: Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error message. type: string nullable: true example: bad task data schema_errors: $ref: '#/components/schemas/schema_error_list' logical_errors: $ref: '#/components/schemas/entity_error_list' warnings: $ref: '#/components/schemas/entity_warning_list' required: - tracedata general_401: description: 401 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Unauthorized required: - tracedata general_402: description: 402 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Payment Required required: - tracedata general_404: description: 404 Error details. type: object additionalProperties: false properties: resource_id: description: Resource identifier. type: string nullable: true default: null example: resource_id detail: description: Resource details. type: object additionalProperties: false nullable: true properties: tracedata: $ref: '#/components/schemas/tracedata' required: - tracedata general_429: description: 429 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Too many requests required: - tracedata general_500: description: 500 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Internal Server Error required: - tracedata calculation_id: description: Calculation identifier. type: string format: uuid example: 11111111-2222-3333-4444-555555555555 calculation_async_result: description: The result of starting an asynchronous calculation. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' id: $ref: '#/components/schemas/calculation_id' required: - id - tracedata calculation_state: description: Current calculation state. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' progress: $ref: '#/components/schemas/calculation_progress' info: $ref: '#/components/schemas/calculation_info' required: - tracedata - progress - info validate_result: description: Data validation result. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' warnings: $ref: '#/components/schemas/entity_warning_list' required: - tracedata - warnings check_result: description: Service availability result. type: object additionalProperties: false properties: health: description: 'Current health. ' type: number format: double minimum: 0 maximum: 1 example: 0.999 required: - health version_result: description: 服务版本。 type: object additionalProperties: false properties: major: description: '产品版本。 在单个版本中,保证了服务之间通用数据结构的兼容性。 版本更改表示与以前版本的产品(和所有服务)不兼容的更改。 ' type: integer format: int32 minimum: 1 maximum: 100 example: 4 minor: description: '服务的小版本。 版本更改表示新功能。 该更新向后兼容服务的主要版本。 ' type: integer format: int32 minimum: 0 maximum: 111 example: 4 build: description: '构建版本。 包含向后兼容的错误修复和文档更新。 ' type: string minLength: 1 maxLength: 64 example: 1754RC required: - major - minor - build file_html: description: File with data in [HTML](https://html.spec.whatwg.org/) format. type: string file_json: description: File with data in [JSON](https://www.json.org/) format. type: string examples: PackTaskSmall: summary: 1 Product value: products: - key: product_1 count: 1 dimensions: length: 1200 width: 800 height: 150 mass: 60000 packages: - key: slot_default type: SLOT body_dimensions: length: 0 width: 0 height: 0 mass: 0 container_dimensions: length: 1200 width: 800 height: 1800 mass: 1000000 container_coordinates: x: 0 y: 0 z: 0 - key: pallet_default type: PALLET body_dimensions: length: 1200 width: 800 height: 150 mass: 10000 container_dimensions: length: 1200 width: 800 height: 1650 mass: 650000 container_coordinates: x: 0 y: 0 z: 150 - key: mixbox_default type: MIXBOX body_dimensions: length: 580 width: 380 height: 200 mass: 0 container_dimensions: length: 580 width: 380 height: 200 mass: 60000 container_coordinates: x: 0 y: 0 z: 0 pack_settings: calculation_settings: max_calculation_time: PT10M max_waiting_time: PT10M result_ttl: PT10M treat_warnings_as_errors: false PackTaskBig: summary: 132 Products value: products: - key: product_type_1 count: 12 dimensions: length: 400 width: 400 height: 300 mass: 1500 max_pressure: 2 - key: product_type_2.1 count: 20 dimensions: length: 100 width: 100 height: 100 mass: 1000 - key: product_type_2.2 count: 20 dimensions: length: 100 width: 100 height: 100 mass: 1000 - key: product_type_2.3 count: 20 dimensions: length: 100 width: 100 height: 100 mass: 1000 - key: product_type_3.1 count: 20 dimensions: length: 100 width: 100 height: 100 mass: 1000 - key: product_type_3.2 count: 20 dimensions: length: 100 width: 100 height: 100 mass: 1000 - key: product_type_3.3 count: 20 dimensions: length: 100 width: 100 height: 100 mass: 1000 packages: - key: slot_default type: SLOT body_dimensions: length: 0 width: 0 height: 0 mass: 0 container_dimensions: length: 1200 width: 800 height: 1800 mass: 1000000 container_coordinates: x: 0 y: 0 z: 0 - key: pallet_default type: PALLET body_dimensions: length: 1200 width: 800 height: 150 mass: 10000 container_dimensions: length: 1200 width: 800 height: 1650 mass: 650000 container_coordinates: x: 0 y: 0 z: 150 - key: mixbox_type_1 type: MIXBOX body_dimensions: length: 580 width: 380 height: 400 mass: 500 container_dimensions: length: 576 width: 376 height: 396 mass: 250000 container_coordinates: x: 2 y: 2 z: 2 - key: mixbox_type_2 type: MIXBOX body_dimensions: length: 580 width: 380 height: 200 mass: 250 container_dimensions: length: 576 width: 376 height: 196 mass: 150000 container_coordinates: x: 2 y: 2 z: 2 pack_settings: calculation_settings: max_calculation_time: PT30M max_waiting_time: PT10M result_ttl: PT10M treat_warnings_as_errors: false PackResultSmall: summary: 1 Product value: tracedata: code: 69c507e4-7c2a-46fd-a862-a503cf27b1a3 client: veeroute_|_example server: Packer:leo service: PACKER operation: runPackCalculation time: '2024-02-21T16:55:35.370332Z' blueprint: - package_key: slot_default coordinates: x: 0 y: 0 z: 0 dimensions: length: 1200 width: 800 height: 300 mass: 70000 product_group_layouts: [] package_layouts: - package_key: pallet_default coordinates: x: 0 y: 0 z: 0 dimensions: length: 1200 width: 800 height: 300 mass: 70000 product_group_layouts: - product_key: product_1 coordinates: x: 0 y: 0 z: 150 dimensions: length: 1200 width: 800 height: 150 mass: 60000 product_layouts: - product_key: product_1 coordinates: x: 0 y: 0 z: 0 dimensions: length: 1200 width: 800 height: 150 mass: 60000 package_layouts: [] statistics: products_count: 1 packages_count: 2 total_mass: 60 total_volume: 0.144 package_statistics: - package_key: slot_default package_type: SLOT count: 1 max_container_mass: 60 max_container_volume: 0.144 utilization_by_mass: 0.06 utilization_by_volume: 0.0833 - package_key: pallet_default package_type: PALLET count: 1 max_container_mass: 60 max_container_volume: 0.144 utilization_by_mass: 0.0923 utilization_by_volume: 0.0909 progress: 100 info: status: FINISHED_IN_TIME result_version: 1 preparing_time: PT1M10S business_validation_time: PT1M10S math_validation_time: PT1M10S waiting_time: PT15S calculation_time: PT1M10S warnings: [] unpacked_items: product_keys: [] package_keys: - mixbox_default PackResultBig: summary: 132 Products value: tracedata: code: 69c507e4-7c2a-46fd-a862-a503cf27b1a3 client: veeroute_|_example server: Packer:leo service: PACKER operation: runPackCalculation time: '2024-02-21T17:00:58.018418Z' blueprint: - package_key: slot_default coordinates: x: 0 y: 0 z: 0 dimensions: length: 1200 width: 800 height: 1050 mass: 108000 product_group_layouts: [] package_layouts: - package_key: pallet_default coordinates: x: 0 y: 0 z: 0 dimensions: length: 1200 width: 800 height: 1050 mass: 108000 product_group_layouts: - product_key: product_type_3.2 coordinates: x: 0 y: 800 z: 150 dimensions: length: 100 width: 800 height: 300 mass: 20000 product_layouts: - product_key: product_type_3.2 coordinates: x: 600 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 400 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 200 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 0 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 600 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 400 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 100 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 200 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 500 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 200 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 500 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 300 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 100 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 700 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 300 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 100 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 0 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 300 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 0 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.2 coordinates: x: 700 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 0 y: 900 z: 150 dimensions: length: 100 width: 800 height: 300 mass: 20000 product_layouts: - product_key: product_type_2.3 coordinates: x: 700 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 100 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 500 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 300 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 100 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 300 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 0 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 700 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 0 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 300 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 400 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 200 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 0 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 600 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 400 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 600 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 100 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 200 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 200 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.3 coordinates: x: 500 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 0 y: 1000 z: 150 dimensions: length: 100 width: 800 height: 300 mass: 20000 product_layouts: - product_key: product_type_2.1 coordinates: x: 500 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 300 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 700 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 100 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 300 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 100 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 0 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 0 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 300 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 700 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 0 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 600 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 400 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 200 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 600 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 400 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 100 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 200 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 500 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.1 coordinates: x: 200 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 0 y: 1100 z: 150 dimensions: length: 100 width: 800 height: 300 mass: 20000 product_layouts: - product_key: product_type_3.1 coordinates: x: 200 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 400 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 600 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 400 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 600 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 0 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 200 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 100 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 200 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 500 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 700 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 100 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 300 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 500 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 100 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 300 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 300 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 0 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 700 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.1 coordinates: x: 0 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_1 coordinates: x: 0 y: 0 z: 150 dimensions: length: 800 width: 800 height: 900 mass: 18000 product_layouts: - product_key: product_type_1 coordinates: x: 0 y: 0 z: 0 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 400 y: 0 z: 300 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 0 y: 400 z: 300 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 400 y: 400 z: 0 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 400 y: 0 z: 600 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 0 y: 400 z: 600 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 400 y: 400 z: 300 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 0 y: 0 z: 600 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 0 y: 0 z: 300 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 400 y: 400 z: 600 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 400 y: 0 z: 0 dimensions: length: 400 width: 400 height: 300 mass: 1500 - product_key: product_type_1 coordinates: x: 0 y: 400 z: 0 dimensions: length: 400 width: 400 height: 300 mass: 1500 package_layouts: [] - package_key: slot_default coordinates: x: 0 y: 0 z: 0 dimensions: length: 1200 width: 800 height: 450 mass: 50000 product_group_layouts: [] package_layouts: - package_key: pallet_default coordinates: x: 0 y: 0 z: 0 dimensions: length: 1200 width: 800 height: 450 mass: 50000 product_group_layouts: - product_key: product_type_3.3 coordinates: x: 0 y: 100 z: 150 dimensions: length: 100 width: 800 height: 300 mass: 20000 product_layouts: - product_key: product_type_3.3 coordinates: x: 600 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 200 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 400 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 600 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 0 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 400 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 200 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 100 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 500 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 200 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 300 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 500 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 700 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 100 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 300 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 100 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 300 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 0 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 0 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_3.3 coordinates: x: 700 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 0 y: 0 z: 150 dimensions: length: 100 width: 800 height: 300 mass: 20000 product_layouts: - product_key: product_type_2.2 coordinates: x: 300 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 500 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 700 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 100 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 300 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 100 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 0 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 300 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 0 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 700 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 600 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 0 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 200 y: 0 z: 200 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 400 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 600 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 400 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 200 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 100 y: 0 z: 0 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 500 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 - product_key: product_type_2.2 coordinates: x: 200 y: 0 z: 100 dimensions: length: 100 width: 100 height: 100 mass: 1000 package_layouts: [] statistics: products_count: 126 packages_count: 4 total_mass: 129 total_volume: 0.408 package_statistics: - package_key: slot_default package_type: SLOT count: 2 max_container_mass: 129 max_container_volume: 0.408 utilization_by_mass: 0.0645 utilization_by_volume: 0.1181 - package_key: pallet_default package_type: PALLET count: 2 max_container_mass: 129 max_container_volume: 0.408 utilization_by_mass: 0.0992 utilization_by_volume: 0.1288 progress: 100 info: status: FINISHED_IN_TIME result_version: 1 preparing_time: PT1M10S business_validation_time: PT1M10S math_validation_time: PT1M10S waiting_time: PT15S calculation_time: PT1M10S warnings: [] unpacked_items: product_keys: [] package_keys: - mixbox_type_1 - mixbox_type_2 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' '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' parameters: result_id: name: id in: path description: 计算标识符 required: true schema: $ref: '#/components/schemas/calculation_id' filename: name: filename description: File name. in: path required: true schema: description: File name. type: string minLength: 6 maxLength: 128 example: file_en.html