VRt.Packer [PC] (7.36.3317)

Veeroute Support Team: support@veeroute.com License: Proprietary

Programming interface for Veeroute Packer.

Description

The service is designed to compute the placement of goods inside the given packagings.

overview

Types of packaging

Slot

slot

Loaded pallets are stacked on top of each other; a slot is the place where a stack of pallets is set.

A slot has no physical body — therefore the slot's body dimensions are zero.

Pallet

pallet

If a pallet is fully filled with the same product, such a pallet is called a mono-pallet, and the following loading rules apply:

  1. The maximum allowed pallet height including the loaded goods is taken into account.
  2. The maximum allowed weight of the loaded pallet is taken into account.
  3. Product packagings can be placed only parallel to the pallet walls.
  4. Packagings can be rotated around the vertical Z axis only and only at right angles.
  5. To equalize the height between positions (in order to place another pallet on top), empty spaces can be added to the layered placement.

After mono-pallets have been formed, the remaining items of the same SKU are placed on the next pallet. Such a pallet is divided by a cardboard partition into zones so that each zone contains products of only one SKU, and the zones have the following constraints:

  1. The zones are rectangular.
  2. The aspect ratio of a zone's sides can be any.
  3. One side of any zone always touches the edge of the pallet.
  4. The allowed number of zones on a pallet: from 2 to 6.
  5. Each zone is filled according to the mono-pallet filling rules.
  6. The placement height of all goods does not exceed 50 mm so that another pallet can be placed on top.
  7. It is allowed to form pallets with different placement heights for different positions (height difference greater than 50 mm) if these are the topmost pallets in the stack.

Mixbox

mixbox

If at the steps described above it is not possible to place the items so that a pallet has the required height or weight, mixboxes are used:

  1. A mixbox can only be placed in a single layer.
  2. A single mixbox can contain different products; in this case it is divided by partitions similarly to a pallet (the only difference is that the height of the packed goods is not equalized).
  3. Mixboxes can be mixed with item positions on the same pallet.
  4. The same product can be packed in different mixboxes.

Coordinate system

coordinates

To indicate the location of packagings and goods, a local coordinate system is used, in which the coordinates of a specific object are given relative to the near lower-left corner of the parent object, where:

  • Horizontal plane — axes X, Y
  • Vertical — axis Z

Axis-to-dimension mapping for goods and packagings:

  • Width — along axis X
  • Length — along axis Y
  • Height — along axis Z

Entity diagram

erd

Pack

Calculation of the placement of products inside the packages.

Packing (SYNC)

Planning the optimal package.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

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.

Responses

Response Schema: application/json
required
object (tracedata)

Data for request tracing.

required
Array of objects (blueprint) [ 0 .. 70001 ] items

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 (packer_entity_warning_list) [ 0 .. 70001 ] items

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.

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.

Request samples

Content type
application/json
Example
{
}

Response samples

Content type
application/json
Example
{
}

Packing (ASYNC)

The result can be obtained using the result method, removing - with delete.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

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.

Responses

Response Schema: application/json
required
object (tracedata)

Data for request tracing.

process_code
required
string <uuid> (process_code)
Example: "11111111-2222-3333-4444-555555555555"

Process code - calculation identifier.

Request samples

Content type
application/json
Example
{
}

Response samples

Content type
application/json
{
}

Cancel calculation

Cancel calculation process by the calculation identifier.

Authorizations:
ApiKeyAuth
path Parameters
process_code
required
string <uuid> (process_code)
Example: 11111111-2222-3333-4444-555555555555

Unique process identifier.

Responses

Response samples

Content type
application/json
{
}

Calculation state

Read calculation state by the calculation identifier.

Authorizations:
ApiKeyAuth
path Parameters
process_code
required
string <uuid> (process_code)
Example: 11111111-2222-3333-4444-555555555555

Unique process identifier.

Responses

Response Schema: application/json
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.

Response Schema: application/json
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.

Response samples

Content type
application/json
{
}

Getting the result

Getting the result based on the calculation identifier.

Authorizations:
ApiKeyAuth
path Parameters
process_code
required
string <uuid> (process_code)
Example: 11111111-2222-3333-4444-555555555555

Unique process identifier.

Responses

Response Schema: application/json
required
object (tracedata)

Data for request tracing.

required
Array of objects (blueprint) [ 0 .. 70001 ] items

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 (packer_entity_warning_list) [ 0 .. 70001 ] items

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.

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.

Response Schema: application/json
required
object (tracedata)

Data for request tracing.

required
Array of objects (blueprint) [ 0 .. 70001 ] items

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 (packer_entity_warning_list) [ 0 .. 70001 ] items

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.

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.

Response samples

Content type
application/json
Example
{
}

Result removal

Removal of the planning result by the calculation identifier.

Authorizations:
ApiKeyAuth
path Parameters
process_code
required
string <uuid> (process_code)
Example: 11111111-2222-3333-4444-555555555555

Unique process identifier.

Responses

Response samples

Content type
application/json
{
}

Data validation

Checking data before planning.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

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.

Responses

Response Schema: application/json
required
object (tracedata)

Data for request tracing.

required
Array of objects (packer_entity_warning_list) [ 0 .. 70001 ] items

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.

Request samples

Content type
application/json
Example
{
}

Response samples

Content type
application/json
{
}

System

System functions. Auxiliary functionality common to all services.

Checking the availability

Checking the service availability.

Responses

Response Schema: application/json
health
required
number <double> [ 0 .. 1 ]
Example: "0.999"

The current health indicator of the service.

  • 0.0 means the service is not ready to perform tasks.
  • 1.0 means the service is fully ready to perform tasks.

Response samples

Content type
application/json
{
}

Getting the service version

Getting the service version.

Responses

Response Schema: application/json
major
required
integer <int32> [ 1 .. 100 ]
Example: "7"

Product version. Within a single version, compatibility of common data structures between services is guaranteed. A version change indicates changes that are incompatible with previous versions of the product (and all services).

minor
required
integer <int32> [ 0 .. 111 ]
Example: "15"

Minor version of the service. A version change indicates new functionality. The update is backward compatible with the major version of the service.

build
required
string [ 1 .. 64 ] characters
Example: "3754RC"

Build version.
Contains backwards compatible bug fixes and docs update.

Response samples

Content type
application/json
{
}

Getting the documentation

Getting the file with this service documentation.

path Parameters
filename
required
string [ 6 .. 128 ] characters
Example: file_en.html

File name.

Responses

Response Schema:
string (file_html) [ 0 .. 2000000000 ] characters

File with data in HTML format.

Response samples

Content type
application/json
{
}