0% found this document useful (0 votes)
108 views27 pages

PackNet.Cube User Manual [MANUAL-00001]

The PackNet.Cube User Manual provides detailed instructions on how to utilize the PackNet.Cube API for packing items into boxes using Right Size Bin Pack (RSBP) and Standard Bin Pack (SBP) methods. It includes information on creating box lists, API authentication methods, limitations, and property definitions essential for effective packing. Additionally, the manual outlines examples and best practices to optimize packing efficiency and computation time.

Uploaded by

vijay.ann.avijay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
108 views27 pages

PackNet.Cube User Manual [MANUAL-00001]

The PackNet.Cube User Manual provides detailed instructions on how to utilize the PackNet.Cube API for packing items into boxes using Right Size Bin Pack (RSBP) and Standard Bin Pack (SBP) methods. It includes information on creating box lists, API authentication methods, limitations, and property definitions essential for effective packing. Additionally, the manual outlines examples and best practices to optimize packing efficiency and computation time.

Uploaded by

vijay.ann.avijay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

PackNet.

Cube User Manual


31 March, 2023
[MANUAL-00001]
PACKNET.CUBE USER MANUAL

Table of Contents
1. Calling PackNet.Cube Directly ............................................................................................. 3
2. Right Size Bin Pack (RSBP) ................................................................................................... 4
2.1. Creating a Box List ................................................................................................... 4
3. Standard Bin Pack (SBP) ...................................................................................................... 5
4. Limitations and Variables ..................................................................................................... 6
5. Property Definitions ........................................................................................................... 7
5.1. items ...................................................................................................................... 7
5.2. selectionOptions ..................................................................................................... 7
5.3. limit ........................................................................................................................ 8
5.4. containerOptions (RSBP) .......................................................................................... 8
5.5. Box List (SBP) .......................................................................................................... 9
5.6. Other Response Properties ....................................................................................... 9
5.7. Modifiers ................................................................................................................ 9
5.8. Nesting and Containing ............................................................................................ 9
6. RSBP Example .................................................................................................................. 13
6.1. RSBP Example Request .......................................................................................... 13
6.2. RSBP Example Response ........................................................................................ 15
7. SBP Example .................................................................................................................... 23
7.1. SBP Example Request ............................................................................................ 23
7.2. SBP Example Response .......................................................................................... 24
8. Revision History ............................................................................................................... 27

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 2
PACKNET.CUBE USER MANUAL

1. Calling PackNet.Cube Directly

Bearer Token

With the username and password, a user will need to call the IdentityAPI using an API platform (Postman
or similar) to retrieve a Bearer token. If the user does not have a username or password setup, they will
need to work with their Packsize point of contact to have one created. The baseURL will be whichever
environment the user is assigned to.

curl --location --request POST '{baseURL}/IdentityApi/api/v1/oauth/token/acquire' \


--header 'Content-Type: application/json' \
--data-raw '{
"username": "yourUsername",
"password": "yourPassword"
}'

The response will return an access_token which contains the Bearer token.

{
"access_token": "yourAccessToken",
"token_type": "bearer",
"expires_in": 86400,
"refresh_token": null
}

The Bearer token can then be included in each request to PackNet.Cube.

curl --location --request POST '{baseURL}/cubeapi/api/v1/StandardBinPack' \


--header 'Authorization: Bearer yourAccessToken' \
--header 'Content-Type: application/json' \
--data-raw '{
. . .
}
}'

API Key

When a user is not using a Bearer token, they will need an API key to call PackNet.Cube. If the user does
not have a key, they will need to work with Packsize to get one. When using an API key, the routes are
slightly different:

RSBP: {baseUrl}/api/v1/tenants/{tenantId}/RightSizeBinPack

SBP: {baseUrl}/api/v1/tenants/{tenantId}/StandardBinPack

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 3
PACKNET.CUBE USER MANUAL

2. Right Size Bin Pack (RSBP)

This endpoint works by creating all possible boxes using the min/max dimensions and incrementBy
values in containerOptions, packs them in various directions, then returns a list of boxes ordered by
selectionOptions.orderBy as defined in the request. See selectionOptions [7].

The smaller the list of boxes, the faster the response. Be intentional with dimensions and increment by
whole numbers.

2.1. Creating a Box List


Instead of using a predefined list of boxes, PackNet.Cube dynamically creates a list of box sizes based
on three variables: minimum dimensions, maximum dimensions, and the increment between the min and
max dimensions for three sets of dimensions representing height, width, and length.

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 4
PACKNET.CUBE USER MANUAL

3. Standard Bin Pack (SBP)

This endpoint uses a predefined list of box sizes. PackNet.Cube takes the items to pack and returns a list
of boxes ordered by selectionOptions.orderBy as defined in the request. See selectionOptions [7].

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 5
PACKNET.CUBE USER MANUAL

4. Limitations and Variables

Being intentional with requests of the PackNet.Cube is critical. Every increment of a cube variable has an
exponential impact on the computation and will increase the time it takes to return an optimal solution.

• Items - Cube evaluates six permutations of how each item can be cubed. Each additional item not
only increases the permutations by the six sides of the second item, but 6 to the power of the
number of items to be cubed. For example, 62=36 versions of two items being packed together, or
6x where x = the number of items to be cubed.

63 = 36 permutations

64 = 1,296 permutations

65 = 7,776 permutations

69 = 10,077,696 permutations

• Min - Start with the dimensions of the single largest item to be packed, as there will never be a
100% packed box solution smaller than that.

Other considerations when setting minimum dimensions include machine limitations, label size and
placement, size and quality of the corrugated, conveyance, and shipping method.

• Max - If a box will be produced on a Packsize machine, start with the maximum container
producible. Other factors to consider include corrugated material quality and carton design.

• Increment - The increment is the measurable increase between the minimum and maximum
dimensions. Remember, the box list is dynamic. Setting the maximum dimensions, minimum
dimensions, and the increment to increase are just the largest box, smallest box, and every box
in between. The first box in the list is the minimum dimensions. If the increment is 1, the box
list will increment by 1 along each of the 3 dimensions until it reaches the established maximum
dimensions.

• Machine - Each machine has physical limitations to the size of the box that it can create. Consider
the limitations of the specific system being used, accounting for things like:

• Label size

• Label placement

• Conveyance width

• Conveyance speed

• Shipping requirements

• Weight limits

• Carton design

• Corrugate width

• Corrugate quality
Understand and use these machine limitations and variables to inform dimensions.

Impact of limitations and variables on compute time

Every single permutation that is accounted for in the dynamic box list takes a time to compute. One call
is a matter of milliseconds, but billions of milliseconds can add up to hours of computation time.

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 6
PACKNET.CUBE USER MANUAL

5. Property Definitions

5.1. items
The items property is an array of item objects with the following required properties:

• sku: Unique ID for this individual item.


• quantity: Number of duplicate items.
• dimension1, dimension2, and dimension3: Length, width, and height of an item. Because items can
be rotated in any orientation, the names length, width (or depth), and height are irrelevant to the
algorithm.

Additionally, PackNet.Cube accepts the following optional properties:

• weight: A value of zero indicates that no weight information is provided.


• canNest: A Boolean property that indicates that if the quantity is greater than 1, all items can be
stacked together (e.g., plates, cups, chairs, bookends).
• nestGrowthDimension1, nestGrowthDimension2, nestGrowthDimension3: Used to indicate how
an item grows in size as multiple items are stacked together. For example, cups or plates will have
the same length and width regardless, but when stacked there will be a base height for the first
item plus an incremental height for each successive item. nestGrowthDimension# must relate to the
item's dimension#.
• nestMaxDimension1, nestMaxDimension2, nestMaxDimension3: Used to indicate the maximum
dimension to stack/nest.
• canContain: A Boolean property that indicates whether or not an item has a usable cavity to contain
other items (e.g., a garbage can, storage container, or large bowl). Each of these items has usable
space that can reduce the final size of the carton.
• containDimension1, containDimension2, containDimension3: Dimensions of the cavity.

5.2. selectionOptions
The selectionOptions property is used to guide the decisions that PackNet.Cube makes while searching
for optimal solutions. It dictates to PackNet.Cube how to determine which solutions are more suitable or
less suitable.

• orderBy: Tells PackNet.Cube how to sort the final set of solutions that are returned to the user, with
the first solution being most suitable. This property is a string, and accepts the following values (case
is important). NOTE: this property is not supported by the SBP endpoint.
• “none” – Return the solutions in whatever order they are found. Use this when not wanting to
make any assumptions about the solutions returned. PackNet.Cube always searches from the
smallest carton size to the largest, incrementing along each of the three dimensions one at a
time. Select this option when the step-size is large and the expected solution size is small.
• “percent-filled” – Results will be sorted based on the percentage filled, in descending order.
This ordering may result in selecting cartons that are awkwardly long (train-style) or awkwardly
wide and flat (pizza box).
• “distance” – Results will be sorted by cartons with the shortest distance to cartons with
the longest. Distance for an individual carton is calculated by the square root of its (length2
+ width2 + height2). Containers with a shorter distance will be more compact (cubic) than
containers with a longer distance. This correlates directly to using less corrugate overall.

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 7
PACKNET.CUBE USER MANUAL

• “volume” – Results are sorted by carton volume, from least to greatest. Sorting by volume yields
similar results to sorting by percent filled.

• “surfaceArea” – Results are sorted by surface area, from least to greatest. Sorting by surface
area yields results that are similar to sorting by distance. Surface area is the strongest indicator
of the amount of corrugate used; however, it does not account for the amount required for the
actual carton design that you select (e.g., RSC style patterns use the least amount of corrugate
overall compared to FOL style patterns and others).

• cutoffTime: An integer value in milliseconds. If the request takes longer than this amount of time,
all further processing for the job will be cancelled and PackNet.Cube will return whatever results
it managed to compute within that time. A value of 0 indicates no cutoff time, and PackNet.Cube
will take as long as it needs to search all possible carton sizes for the job. Use this property to set a
cutoff time for jobs that take a long time to pack.

• shrinkwrap: By default, RSBP will shrinkwrap. It can be disabled by passing 'false'. Shrinkwrap uses
the containers list created based on the containerOptions values and then trims any empty space
between the packed items and the container's wall to form a snug fit. This allows for a slightly larger
incrementBy value while still returning a box with less waste (saves processing time).

5.3. limit
This property tells PackNet.Cube how many solutions to return. Use any number less than 1 to indicate
no limit.

This property is optional. If it is missing, or if its value is ≤0, then PackNet.Cube will return all results.

NOTE
The result set for some requests can be extremely large (tens of megabytes). The
recommended size is between 50 and 200. Requests for 2-5 items will only have about 20
unique suitable solutions. All other solutions will be variations of the initial set of optimal
solutions, but with incrementally larger and larger carton sizes.

The set of optimal suitable solutions can vary greatly based on:

• Total number of items.

• Quantity of individual items.

• Longest dimension of each item, or the ratio between the two longest dimensions.

• Overall max carton dimensions.

5.4. containerOptions (RSBP)


The RSBP endpoint requires an additional property in the JSON request called containerOptions. This
property has the following sub-properties:

• minimumDimension1, minimumDimension2, minimumDimension3: The minimum carton


dimensions allowable. This is often based on the conveyance system and the shipping label location.

• maximumDimension1, maximumDimension2, maximumDimension3: The maximum carton


dimensions allowable. Set these dimensions according to the limitations of the conveyance system
and the dimensions of the Packsize machine(s) that are configured.

• incrementDimension1By, incrementDimension2By, incrementDimension3By: These three step-


sizes are used as increments when searching for optimal solutions.

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 8
PACKNET.CUBE USER MANUAL

• maximumWeight: The maximum weight the container can hold (packed items).

5.5. Box List (SBP)


A predefined list of containers used to pick from for cubing.

5.6. Other Response Properties


• timeoutReached: Boolean - If true, it means that it calculated as many solutions as possible within
the cutoff time, but still had more to try.
To prevent this from happening:
• incrementDimensionXBy can be increased (suggested value is 1-2 when shrinkwrap is enabled)
• minimumDimensionX can be increased if a larger box is expected
• minimumDimensionX can be lowered if a smaller box is expected
• cutoffTime can be increased (up to the internal maximum)
• isPacked: Boolean - True when item was packed in this solution.
• CoordinateX,Y,Z: The coordinates of the item within the box solution.
• packedDimensionX,Y,Z: The packed dimensions of the item within the box solution.
• voidContents: Information regarding the item's cavity's contents (if canContain is true and another
item was packed in its cavity, it will show here).
• nestedQuantity: If canNest is true and nesting/stacking was done for this solution, the number of
nested items would be reflected here.

5.7. Modifiers
Shrinkwrap

By Default, RSBP will shrinkwrap the items into a snug box. This allows users to use an incrementBy
value of 1 or 2 and still getting a good solution, but much faster than using 0.1.

To disable this feature, set shrinkwrap to false in the selectionOptions.

SelectionOptions.OrderBy

• "percent-filled"
• "distance"
• "volume"
• "surface-area"

5.8. Nesting and Containing


Nesting - stacking one or more of the same item inside of itself such as plastic cups or a stack of chairs.
Limitations for nesting depend on the largest box possible and the type of item that is being nested. It
isn't feasible to nest 1 chairs because it would not fit in the largest box but also creates a cumbersome
way of transporting the chairs. A user should be mindful of setting the number limit of items that can be
nested.

canContain - denotes whether an item has space in which another, smaller item can be placed inside of
the cavity. An example of this would be placing a hammer inside of a bucket.

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 9
PACKNET.CUBE USER MANUAL

Example 1 - Eight Buckets

This example includes eight buckets and four random, same-sized items that cannot nest, stack, or
contain. Based on the NestMaxDimension3, the stack size is limited to two buckets per stack. With
four additional items, the four bucket stacks can each contain one item as long as it fits the "contain"
dimensions of the bucket.

Items sent to RSBP

{
"dimension1": 6,
"dimension2": 6,
"dimension3": 10,
"id": 1,
"quantity": 8,
"sku": "Bucket",
"canNest":true,
"NestGrowthDimension1":0,
"NestGrowthDimension2":0,
"NestGrowthDimension3":1,
"NestMaxDimension1":0,
"NestMaxDimension2":0,
"NestMaxDimension3":11,
"canContain": true,
"containDimension1":4,
"containDimension2":4,
"containDimension3":8
},
{
"dimension1": 3,
"dimension2": 3,
"dimension3": 7,
"id": 1,
"quantity": 4,
"sku": "RandomTool"
}

Result

"dimension1": 11.0,
"dimension2": 12.0,
"dimension3": 12.0,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 10
PACKNET.CUBE USER MANUAL

Example 2 - Five Buckets

In this example, five buckets having a growth of 1 unit/inch on the height dimension
(NestMaxDimension3) of 11.

Items sent to RSBP

{
"dimension1": 6,
"dimension2": 6,
"dimension3": 10,
"id": 1,
"quantity": 5,
"sku": "Real01",
"canNest":true,
"NestGrowthDimension1":0,
"NestGrowthDimension2":0,
"NestGrowthDimension3":1,
"NestMaxDimension1":0,
"NestMaxDimension2":0,
"NestMaxDimension3":11
}

Result

"dimension1": 18.0,
"dimension2": 11.0,
"dimension3": 6.0,

Example 3 - Three Buckets

Three buckets have a growth of 1 unit/inch on the height dimension (NestMaxDimension3) of 11 so


each stack has a max of 2 buckets.

Sent to RSBP:

{
"dimension1": 6,
"dimension2": 6,
"dimension3": 10,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 11
PACKNET.CUBE USER MANUAL

"id": 1,
"quantity": 3,
"sku": "Real01",
"canNest":true,
"NestGrowthDimension1":0,
"NestGrowthDimension2":0,
"NestGrowthDimension3":1,
"NestMaxDimension1":0,
"NestMaxDimension2":0,
"NestMaxDimension3":11
}

Result:

"dimension1": 12.0,
"dimension2": 11.0,
"dimension3": 6.0,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 12
PACKNET.CUBE USER MANUAL

6. RSBP Example

6.1. RSBP Example Request


{
"orderId":"OrderIdFromCustomer",
"customfields":
{
"customField": "customString",
"customInt": 123,
"customobject": {
"firstName": "...",
"lastName":"...",
"age":1300
},
"customIntArray":[1,2,3,4],
"customListOfObjects":[
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
}
]
} ,
"ContainerOptions": {
"incrementDimension1By": 1,
"incrementDimension2By": 1,
"incrementDimension3By": 1,
"maximumDimension1": 50.0,
"maximumDimension2": 50.0,
"maximumDimension3": 50.0,
"minimumDimension1": 3.0,
"minimumDimension2": 3.0,
"minimumDimension3": 3.0
},
"items": [
{
"dimension1": 13.9,
"dimension2": 4.7,
"dimension3": 1.9,
"id": 1,
"quantity": 1,
"sku": "Real01"

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 13
PACKNET.CUBE USER MANUAL

},
{
"dimension1": 17.0,
"dimension2": 7.7,
"dimension3": 2.3,
"id": 1,
"quantity": 1,
"sku": "Real02"
},
{
"dimension1": 16.9,
"dimension2": 7.7,
"dimension3": 2.2,
"id": 1,
"quantity": 1,
"sku": "Real04"
}
],
"limit": 2,
"maximumPotentialContainers": 500,
"selectionOptions": {
"cutoffTime": 1200000, //20min
"orderBy": "percent-filled"
}
}{
"items": [
{
"id": 0,
"dimension1": 0,
"dimension2": 0,
"dimension3": 0,
"quantity": 0,
"volume": 0,
"canNest": true,
"nestGrowthDimension1": 0,
"nestGrowthDimension2": 0,
"nestGrowthDimension3": 0,
"nestMaxDimension1": 0,
"nestMaxDimension2": 0,
"nestMaxDimension3": 0,
"canContain": true,
"containDimension1": 0,
"containDimension2": 0,
"containDimension3": 0,
"sku": "string",
"weight": 0
}
],
"selectionOptions": {
"orderBy": "string",
"cutoffTime": 0,
"shrinkwrap": true
},
"limit": 0,
},

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 14
PACKNET.CUBE USER MANUAL

"containerOptions": {
"minimumDimension1": 0,
"maximumDimension1": 0,
"incrementDimension1By": 0,
"minimumDimension2": 0,
"maximumDimension2": 0,
"incrementDimension2By": 0,
"minimumDimension3": 0,
"maximumDimension3": 0,
"incrementDimension3By": 0,
"maximumWeight": 0
}
}

6.2. RSBP Example Response


[
{
"containerId": 2238,
"timeoutReached": false,
"orderId":"OrderIdFromCustomer",
"packagingResult": {
"isCompletePack": true,
"packedItems": [
{
"id": 1,
"isPacked": true,
"dimension1": 16.9,
"dimension2": 7.7,
"dimension3": 2.2,
"coordinateX": 0.0,
"coordinateY": 0.0,
"coordinateZ": 0.0,
"quantity": 1,
"packedDimensionX": 16.9,
"packedDimensionY": 2.2,
"packedDimensionZ": 7.7,
"volume": 286.286,
"canNest": false,
"nestGrowthDimension1": 0.0,
"nestGrowthDimension2": 0.0,
"nestGrowthDimension3": 0.0,
"nestMaxDimension1": 0.0,
"nestMaxDimension2": 0.0,
"nestMaxDimension3": 0.0,
"canContain": false,
"containDimension1": 0.0,
"containDimension2": 0.0,
"containDimension3": 0.0,
"sku": "Real04",
"voidContents": null,
"nestedQuantity": 0,
"weight": 0.0
},
{
"id": 1,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 15
PACKNET.CUBE USER MANUAL

"isPacked": true,
"dimension1": 13.9,
"dimension2": 4.7,
"dimension3": 1.9,
"coordinateX": 0.0,
"coordinateY": 0.0,
"coordinateZ": 7.7,
"quantity": 1,
"packedDimensionX": 13.9,
"packedDimensionY": 4.7,
"packedDimensionZ": 1.9,
"volume": 124.127,
"canNest": false,
"nestGrowthDimension1": 0.0,
"nestGrowthDimension2": 0.0,
"nestGrowthDimension3": 0.0,
"nestMaxDimension1": 0.0,
"nestMaxDimension2": 0.0,
"nestMaxDimension3": 0.0,
"canContain": false,
"containDimension1": 0.0,
"containDimension2": 0.0,
"containDimension3": 0.0,
"sku": "Real01",
"voidContents": null,
"nestedQuantity": 0,
"weight": 0.0
},
{
"id": 1,
"isPacked": true,
"dimension1": 17.0,
"dimension2": 7.7,
"dimension3": 2.3,
"coordinateX": 0.0,
"coordinateY": 2.2,
"coordinateZ": 0.0,
"quantity": 1,
"packedDimensionX": 17.0,
"packedDimensionY": 2.3,
"packedDimensionZ": 7.7,
"volume": 301.070,
"canNest": false,
"nestGrowthDimension1": 0.0,
"nestGrowthDimension2": 0.0,
"nestGrowthDimension3": 0.0,
"nestMaxDimension1": 0.0,
"nestMaxDimension2": 0.0,
"nestMaxDimension3": 0.0,
"canContain": false,
"containDimension1": 0.0,
"containDimension2": 0.0,
"containDimension3": 0.0,
"sku": "Real02",
"voidContents": null,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 16
PACKNET.CUBE USER MANUAL

"nestedQuantity": 0,
"weight": 0.0
}
],
"packTimeInMilliseconds": 0,
"percentContainerVolumePacked": 83.70,
"percentItemVolumePacked": 100.0,
"unpackedItems": []
},
"container": {
"id": 2238,
"dimension1": 17.0,
"dimension2": 10.0,
"dimension3": 5.0,
"volume": 850.000,
"ratio": 1.7,
"surfaceArea": 610.00,
"distance": 20.3469899493758,
"maximumWeight": 0.0
},
"solutionTimeMs": 23,
"customfields":
{
"customField": "customString",
"customInt": 123,
"customobject": {
"firstName": "...",
"lastName":"...",
"age":1300
},
"customIntArray":[1,2,3,4],
"customListOfObjects":[
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
}
]
}
},
{
"containerId": 2239,
"timeoutReached": false,
"orderId":"OrderIdFromCustomer",
"packagingResult": {

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 17
PACKNET.CUBE USER MANUAL

"isCompletePack": true,
"packedItems": [
{
"id": 1,
"isPacked": true,
"dimension1": 16.9,
"dimension2": 7.7,
"dimension3": 2.2,
"coordinateX": 0.0,
"coordinateY": 0.0,
"coordinateZ": 0.0,
"quantity": 1,
"packedDimensionX": 16.9,
"packedDimensionY": 2.2,
"packedDimensionZ": 7.7,
"volume": 286.286,
"canNest": false,
"nestGrowthDimension1": 0.0,
"nestGrowthDimension2": 0.0,
"nestGrowthDimension3": 0.0,
"nestMaxDimension1": 0.0,
"nestMaxDimension2": 0.0,
"nestMaxDimension3": 0.0,
"canContain": false,
"containDimension1": 0.0,
"containDimension2": 0.0,
"containDimension3": 0.0,
"sku": "Real04",
"voidContents": null,
"nestedQuantity": 0,
"weight": 0.0
},
{
"id": 1,
"isPacked": true,
"dimension1": 13.9,
"dimension2": 4.7,
"dimension3": 1.9,
"coordinateX": 0.0,
"coordinateY": 0.0,
"coordinateZ": 7.7,
"quantity": 1,
"packedDimensionX": 13.9,
"packedDimensionY": 4.7,
"packedDimensionZ": 1.9,
"volume": 124.127,
"canNest": false,
"nestGrowthDimension1": 0.0,
"nestGrowthDimension2": 0.0,
"nestGrowthDimension3": 0.0,
"nestMaxDimension1": 0.0,
"nestMaxDimension2": 0.0,
"nestMaxDimension3": 0.0,
"canContain": false,
"containDimension1": 0.0,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 18
PACKNET.CUBE USER MANUAL

"containDimension2": 0.0,
"containDimension3": 0.0,
"sku": "Real01",
"voidContents": null,
"nestedQuantity": 0,
"weight": 0.0
},
{
"id": 1,
"isPacked": true,
"dimension1": 17.0,
"dimension2": 7.7,
"dimension3": 2.3,
"coordinateX": 0.0,
"coordinateY": 2.2,
"coordinateZ": 0.0,
"quantity": 1,
"packedDimensionX": 17.0,
"packedDimensionY": 2.3,
"packedDimensionZ": 7.7,
"volume": 301.070,
"canNest": false,
"nestGrowthDimension1": 0.0,
"nestGrowthDimension2": 0.0,
"nestGrowthDimension3": 0.0,
"nestMaxDimension1": 0.0,
"nestMaxDimension2": 0.0,
"nestMaxDimension3": 0.0,
"canContain": false,
"containDimension1": 0.0,
"containDimension2": 0.0,
"containDimension3": 0.0,
"sku": "Real02",
"voidContents": null,
"nestedQuantity": 0,
"weight": 0.0
}
],
"packTimeInMilliseconds": 0,
"percentContainerVolumePacked": 79.05,
"percentItemVolumePacked": 100.0,
"unpackedItems": []
},
"container": {
"id": 2239,
"dimension1": 18.0,
"dimension2": 10.0,
"dimension3": 5.0,
"volume": 900.000,
"ratio": 1.8,
"surfaceArea": 640.00,
"distance": 21.1896201004171,
"maximumWeight": 0.0
},
"solutionTimeMs": 23,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 19
PACKNET.CUBE USER MANUAL

"customfields":
{
"customField": "customString",
"customInt": 123,
"customobject": {
"firstName": "...",
"lastName":"...",
"age":1300
},
"customIntArray":[1,2,3,4],
"customListOfObjects":[
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
}
]
}
}
][
{
"containerId": 0,
"timeoutReached":false,
"packagingResult": {
"isCompletePack": true,
"packedItems": [
{
"id": 0,
"isPacked": true,
"dimension1": 0,
"dimension2": 0,
"dimension3": 0,
"coordinateX": 0,
"coordinateY": 0,
"coordinateZ": 0,
"quantity": 0,
"packedDimensionX": 0,
"packedDimensionY": 0,
"packedDimensionZ": 0,
"volume": 0,
"canNest": true,
"nestGrowthDimension1": 0,
"nestGrowthDimension2": 0,
"nestGrowthDimension3": 0,
"nestMaxDimension1": 0,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 20
PACKNET.CUBE USER MANUAL

"nestMaxDimension2": 0,
"nestMaxDimension3": 0,
"canContain": true,
"containDimension1": 0,
"containDimension2": 0,
"containDimension3": 0,
"sku": "string",
"voidContents": "string",
"nestedQuantity": 0,
"weight": 0
}
],
"packTimeInMilliseconds": 0,
"percentContainerVolumePacked": 0,
"percentItemVolumePacked": 0,
"unpackedItems": [
{
"id": 0,
"isPacked": true,
"dimension1": 0,
"dimension2": 0,
"dimension3": 0,
"coordinateX": 0,
"coordinateY": 0,
"coordinateZ": 0,
"quantity": 0,
"packedDimensionX": 0,
"packedDimensionY": 0,
"packedDimensionZ": 0,
"volume": 0,
"canNest": true,
"nestGrowthDimension1": 0,
"nestGrowthDimension2": 0,
"nestGrowthDimension3": 0,
"nestMaxDimension1": 0,
"nestMaxDimension2": 0,
"nestMaxDimension3": 0,
"canContain": true,
"containDimension1": 0,
"containDimension2": 0,
"containDimension3": 0,
"sku": "string",
"voidContents": "string",
"nestedQuantity": 0,
"weight": 0
}
]
},
"container": {
"id": 0,
"dimension1": 0,
"dimension2": 0,
"dimension3": 0,
"volume": 0,
"ratio": 0,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 21
PACKNET.CUBE USER MANUAL

"surfaceArea": 0,
"distance": 0,
"maximumWeight": 0
},
"solutionTimeMs": 0
}
]

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 22
PACKNET.CUBE USER MANUAL

7. SBP Example

7.1. SBP Example Request


"orderId":"OrderIdFromCustomer",
"customfields":
{
"customField": "customString",
"customInt": 123,
"customobject": {
"firstName": "...",
"lastName":"...",
"age":1300
},
"customIntArray":[1,2,3,4],
"customListOfObjects":[
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
}
]
} ,
{

"BoxListParameters":
[
{
"Alias": "Box1",
"Dimension1": 10,
"Dimension2": 8,
"Dimension3": 4.5
},
{
"Alias": "Box2",
"Dimension1": 10,
"Dimension2": 8,
"Dimension3": 4.75
},
{
"Alias": "Box3",
"Dimension1": 10,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 23
PACKNET.CUBE USER MANUAL

"Dimension2": 8,
"Dimension3": 5
}
],
"items": [
{
"dimension1": 10.95,
"dimension2": 8.5,
"dimension3": 1,
"id": 2,
"quantity": 2,
"sku": "Real01"
}
],
"limit": 1,
"maximumPotentialContainers": 500,
"selectionOptions": {
"cutoffTime": 0,
"orderBy": "percent-filled"
}
}

7.2. SBP Example Response


[
{
"containerId": 56,
"timeoutReached": false,
"orderId":"OrderIdFromCustomer",
"packagingResult": {
"isCompletePack": true,
"packedItems": [
{
"id": 2,
"isPacked": true,
"dimension1": 10.95,
"dimension2": 8.5,
"dimension3": 1.0,
"coordinateX": 0.0,
"coordinateY": 0.0,
"coordinateZ": 0.0,
"quantity": 1,
"packedDimensionX": 10.95,
"packedDimensionY": 1.0,
"packedDimensionZ": 8.5,
"volume": 93.075,
"canNest": false,
"nestGrowthDimension1": 0.0,
"nestGrowthDimension2": 0.0,
"nestGrowthDimension3": 0.0,
"nestMaxDimension1": 0.0,
"nestMaxDimension2": 0.0,
"nestMaxDimension3": 0.0,
"canContain": false,
"containDimension1": 0.0,
"containDimension2": 0.0,

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 24
PACKNET.CUBE USER MANUAL

"containDimension3": 0.0,
"sku": "Real01",
"voidContents": null,
"nestedQuantity": 0,
"weight": 0.0
},
{
"id": 2,
"isPacked": true,
"dimension1": 10.95,
"dimension2": 8.5,
"dimension3": 1.0,
"coordinateX": 0.0,
"coordinateY": 1.0,
"coordinateZ": 0.0,
"quantity": 1,
"packedDimensionX": 10.95,
"packedDimensionY": 1.0,
"packedDimensionZ": 8.5,
"volume": 93.075,
"canNest": false,
"nestGrowthDimension1": 0.0,
"nestGrowthDimension2": 0.0,
"nestGrowthDimension3": 0.0,
"nestMaxDimension1": 0.0,
"nestMaxDimension2": 0.0,
"nestMaxDimension3": 0.0,
"canContain": false,
"containDimension1": 0.0,
"containDimension2": 0.0,
"containDimension3": 0.0,
"sku": "Real01",
"voidContents": null,
"nestedQuantity": 0,
"weight": 0.0
}
],
"packTimeInMilliseconds": 0,
"percentContainerVolumePacked": 94.02,
"percentItemVolumePacked": 100.0,
"unpackedItems": []
},
"container": {
"id": 56,
"dimension1": 11.0,
"dimension2": 9.0,
"dimension3": 2.0,
"volume": 198.0,
"ratio": 1.2222222222222222222222222222,
"surfaceArea": 278.0,
"distance": 14.3527000944073,
"maximumWeight": 100.0
},
"solutionTimeMs": 483,
"customfields":

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 25
PACKNET.CUBE USER MANUAL

{
"customField": "customString",
"customInt": 123,
"customobject": {
"firstName": "...",
"lastName":"...",
"age":1300
},
"customIntArray":[1,2,3,4],
"customListOfObjects":[
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
},
{
"firstName": "...",
"lastName":"",
"age":1300
}
]
}
}
]

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 26
PACKNET.CUBE USER MANUAL

8. Revision History

Rev Effective Published Department Description


1.0.0 01 Apr 2023 01 Apr 2023 Software Initial release

RESTRICTED
© All rights reserved. Proprietary and confidential. DISTRIBUTION 27

You might also like