Veeroute Packer 的软件界面.
单托盘
如果托盘完全装满了相同的产品,那么这样的托盘称为mono-pallet, 这种托盘具有以下装载规则:
区域托盘
单托盘形成后,将同一物品的剩余部分货物放在下一个托盘上, 以硬纸板隔板分隔成多个区域,每个区域只放置一件商品, 而这些区域有以下限制:
如果上述步骤未能以这种方式放置物品, 为了使托盘具有所需的高度或重量,使用混合箱:
装载的托盘相互堆叠,插槽是放置托盘堆叠的位置. 插槽没有物理实体 - 因此插槽的“主体”尺寸为零.
为了指示包裹和货物的位置,使用了局部坐标系, 其中特定对象的坐标相对于父对象的左下角表示,而:
商品与包裹的轴线比例:
Planning the optimal package.
Data for calculation.
required | Array of objects (product) [ 1 .. 70001 ] items unique List of products. |
required | Array of objects (package) [ 1 .. 11 ] items unique List of packages. It is obligatory to have at least one package of each type (SLOT, PALLET, MIXBOX). |
object (pack_settings) Packing settings. | |
dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" The name of the dataset. A technical field that does not affect calculation. |
required | object (tracedata) Data for request tracing. |
required | Array of objects (blueprint) [ 0 .. 70001 ] items Example: "[object Object]" A product layout plan as a list of packaging locations. The first level contains a list of pallet stacks. |
required | object (pack_statistics) General statistics for packing scheme. |
Array of objects (entity_warning_list) [ 0 .. 70001 ] items List of warnings. Depending on the flag | |
object (unpacked_items) Unpacked items list. | |
calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Calculation progress as a percentage. The progress displays the current number of completed steps. |
required | object (calculation_info) Calculation information. |
{- "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
}
}
}
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "PACKER",
- "operation": "run_pack_calculation",
- "time": "2025-03-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
}
]
}, - "calculation_progress": 100,
- "calculation_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"
]
}
}
Data for calculation.
required | Array of objects (product) [ 1 .. 70001 ] items unique List of products. |
required | Array of objects (package) [ 1 .. 11 ] items unique List of packages. It is obligatory to have at least one package of each type (SLOT, PALLET, MIXBOX). |
object (pack_settings) Packing settings. | |
dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" The name of the dataset. A technical field that does not affect calculation. |
required | object (tracedata) Data for request tracing. |
process_code required | string <uuid> (process_code) Example: "11111111-2222-3333-4444-555555555555" Process code - calculation identifier. |
{- "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
}
}
}
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-03-21T09:30:00+03:00"
}, - "process_code": "11111111-2222-3333-4444-555555555555"
}
Cancel calculation process by the calculation identifier.
process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 唯一的进程标识符。 |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "PACKER",
- "operation": "run_plan_calculation",
- "time": "2025-03-28T17:13:27.945583194Z"
}, - "message": "logical",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "essence_1",
- "entity_type": "PACKAGE"
}
]
}
], - "warnings": [ ]
}
Read calculation state by the calculation identifier.
process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 唯一的进程标识符。 |
required | object (tracedata) Data for request tracing. |
calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Calculation progress as a percentage. The progress displays the current number of completed steps. |
required | object (calculation_info) Calculation information. |
required | object (tracedata) Data for request tracing. |
calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Calculation progress as a percentage. The progress displays the current number of completed steps. |
required | object (calculation_info) Calculation information. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-03-21T09:30:00+03:00"
}, - "calculation_progress": 52,
- "calculation_info": {
- "status": "FINISHED_IN_TIME",
- "result_version": 133,
- "preparing_time": "PT1H45M",
- "business_validation_time": "PT1H45M",
- "math_validation_time": "PT1H45M",
- "waiting_time": "PT1H45M",
- "calculation_time": "PT1H45M"
}
}
Getting the result based on the calculation identifier.
process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 唯一的进程标识符。 |
required | object (tracedata) Data for request tracing. |
required | Array of objects (blueprint) [ 0 .. 70001 ] items Example: "[object Object]" A product layout plan as a list of packaging locations. The first level contains a list of pallet stacks. |
required | object (pack_statistics) General statistics for packing scheme. |
Array of objects (entity_warning_list) [ 0 .. 70001 ] items List of warnings. Depending on the flag | |
object (unpacked_items) Unpacked items list. | |
calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Calculation progress as a percentage. The progress displays the current number of completed steps. |
required | object (calculation_info) Calculation information. |
required | object (tracedata) Data for request tracing. |
required | Array of objects (blueprint) [ 0 .. 70001 ] items Example: "[object Object]" A product layout plan as a list of packaging locations. The first level contains a list of pallet stacks. |
required | object (pack_statistics) General statistics for packing scheme. |
Array of objects (entity_warning_list) [ 0 .. 70001 ] items List of warnings. Depending on the flag | |
object (unpacked_items) Unpacked items list. | |
calculation_progress required | integer <int32> (calculation_progress) [ 0 .. 100 ] Example: "52" Calculation progress as a percentage. The progress displays the current number of completed steps. |
required | object (calculation_info) Calculation information. |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "PACKER",
- "operation": "run_pack_calculation",
- "time": "2025-03-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
}
]
}, - "calculation_progress": 100,
- "calculation_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"
]
}
}
Removal of the planning result by the calculation identifier.
process_code required | string <uuid> (process_code) Example: 11111111-2222-3333-4444-555555555555 唯一的进程标识符。 |
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "PACKER",
- "operation": "run_plan_calculation",
- "time": "2025-03-28T17:13:27.945583194Z"
}, - "message": "logical",
- "schema_errors": [ ],
- "logical_errors": [
- {
- "type": "UNIQUE_IDS_VIOLATION",
- "entities": [
- {
- "entity_key": "essence_1",
- "entity_type": "PACKAGE"
}
]
}
], - "warnings": [ ]
}
Checking data before planning.
Data for calculation.
required | Array of objects (product) [ 1 .. 70001 ] items unique List of products. |
required | Array of objects (package) [ 1 .. 11 ] items unique List of packages. It is obligatory to have at least one package of each type (SLOT, PALLET, MIXBOX). |
object (pack_settings) Packing settings. | |
dataset_name | string (dataset_name) [ 0 .. 512 ] characters Example: "custom_dataset_one" The name of the dataset. A technical field that does not affect calculation. |
required | object (tracedata) Data for request tracing. |
required | Array of objects (entity_warning_list) [ 0 .. 70001 ] items List of warnings. Depending on the flag |
{- "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
}
}
}
{- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "example_username",
- "company": "example_company",
- "env": "edge7",
- "pod": "aaaaaaaa-2222-cccc-4444-eeeeeeeeeeee",
- "service": "PACKER",
- "operation": "run_pack_validation",
- "time": "2025-03-21T16:55:35.370332Z"
}, - "warnings": [ ]
}
检查服务可用性。
health required | number <double> [ 0 .. 1 ] Example: "0.999" The current health indicator of the service.
|
{- "health": 0.999
}
获取服务版本。
major required | integer <int32> [ 1 .. 100 ] Example: "7" 产品版本。 在单个版本中,保证了服务之间通用数据结构的兼容性。 版本更改表示与以前版本的产品(和所有服务)不兼容的更改。 |
minor required | integer <int32> [ 0 .. 111 ] Example: "15" 服务的小版本。 版本更改表示新功能。 该更新向后兼容服务的主要版本。 |
build required | string [ 1 .. 64 ] characters Example: "3754RC" 构建版本。 包含向后兼容的错误修复和文档更新。 |
{- "major": 7,
- "minor": 15,
- "build": "3754RC"
}
检查服务可用性。
filename required | string [ 6 .. 128 ] characters Example: file_en.html File name. |
File with data in HTML format.
{- "resource_key": "resource_key",
- "detail": {
- "tracedata": {
- "process_code": "11111111-2222-3333-4444-555555555555",
- "request_code": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
- "username": "username_for_login",
- "company": "smart_company",
- "service": "UNIVERSAL",
- "operation": "run_plan_calculation",
- "env": "edge7",
- "pod": "11111111-2222-3333-4444-555555555555",
- "time": "2025-03-21T09:30:00+03:00"
}
}
}