volumeEstimation

Pallet floorspace calculation.

Takes a number of pallets and boxes and calculates the required floor space to transport all pallets. The boxes are translated into pallets and the pallets are stacked.


The volume estimation calculation is divided into two steps: a box-to-floor space calculation and a pallet-to-floor space calculation. The result of these two is summed to get the final required floor space.

Box to floorspace
Volume of all box-type items is summed and divided by the waste-adjusted maximum volume of a bin. This value is then rounded up to the next whole integer.
Pallet to floorspace
Pallets will be stacked on top of each other until the maximum stacking height is reached. Pallets which are non-stackable will create their own floor space and will not be considered during stacking.

Just getting started?

Take a look at our quick start page.

Not sure which endpoint to use?

Take a look at our features for more information.


Establishing Connection

Connectivity
Base url
https://www.packing-optimizer.com
Path
/api/volumeEstimation
Method
POST

All API requests must be made over HTTPS.

Headers
Authorization
Basic-Auth
Content-Type
application/json

Your credentials can be retrieved (and reset) from your account settings.


curl --user username:password -d @input.json -H "Content-Type: application/json" https://www.packing-optimizer.com/api/volumeEstimation


The Request

The Stacker object

Calculation parameters that influence the packing calculation.

The request takes an array of bin objects as input.

A bin is a shipping unit which will contain items. Think of a box, pallet, or container.

Mandatory attributes

stacker.palletCode string

Identifies items which will need to go through the pallet to floorspace calculation.
Example: PLT


stacker.boxCode string

Identifies items which will need to go through to floorspace calculation.
Example: BOX


stacker.wasteFactor numeric

Factor which will be subtracted from the maximum volume of a pallet.
Example: 0.05


stacker.maxPalletStackHeight numeric

Maximum height that pallets are allowed to be stacked.
Example: 2.2


stacker.width numeric

Width of the bin.
Example: 1.2


stacker.depth numeric

Depth of the bin.
Example: 0.8


stacker.height numeric

Height of the bin.
Example: 1.65


The Item object

Information about the items that have to be packed.

The request takes an array of item objects as input.

Shared item attributes

items[].type string

determine if a pallet-to-floorspace or a box-to-pallet calculation calculation applies.
Example: PAL-12


Optional attributes

Items with the same consolidation key will be separated from the other items and grouped in their own bin(s). Items with different consolidation key values will never be grouped in the same bin. Items with no key will group together by default.
Default: none
Example: customerX


Box item attributes

These items follow the box-to-floorspace calculation.

items[].volume numeric

Volume of the item.
Example: 0.2


Pallet item attributes

These items follow the pallet-to-floorspace calculation.

items[].id string

Id to identify this individual item.
Example: ITEM001


items[].stackable boolean

Indicates if the item can be stacked on top of another item.
Options: true, false
Default: true


items[].height numeric

The height of the item.
Example: 0.20


Query String Options

Parameters which provide some control over the data being transmitted in the response, such as specifying the quantity or format of the data.

If true, the stacker.palletCode and stacker.boxCode will be interpreted as regex patterns while matching items[].type.
Options: true or false
Default: false
Example: /api/volumeEstimation?regexAllowed=true


Example


{
    "stacker": {
        "palletCode": "PLT.*",
        "boxCode": "BOX",
        "wasteFactor": 0.05,
        "maxPalletStackHeight": 2.2,
        "width": 1.20,
        "depth": 0.8,
        "height": 1.65
    },
    "items": [{
            "type": "PLT-XY",
            "id": "PLT1",
            "stackable": true,
            "height": 0.6
        },
        {
            "type": "PLT-YZ",
            "id": "PLT2",
            "consolidationKey": "customer-YZ",
            "height": 0.4
        },
        {
            "type": "PLT-Z",
            "id": "PLT3",
            "stackable": false,
            "height": 0.4
        },
        {
            "type": "PLT",
            "id": "PLT4",
            "stackable": true,
            "height": 0.4
        },
        {
            "type": "BOX",
            "volume": 0.384
        },
        {
            "type": "BOX",
            "volume": 0.4
        }
    ]
}

The Response

Header

totalFloorspace numeric

Total floorspace, this is the sum of boxToPalletFloorspace and palletToFloorspace.


boxToPalletFloorspace numeric

Total floorspace result of to floorspace calculation.


palletToFloorspace numeric

Total floorspace result of the pallet to floorspace calculation.


palletFloorspaceDetails[] array

Contains the information about individual floorspaces.


Pallet Floor Space

palletFloorspaceDetails[].id numeric

Incrementing floorspace counter.


palletFloorspaceDetails[].height numeric

Total height of the stacked pallets.


palletFloorspaceDetails[].pallets[] array

Contains the id's of the pallets stacked onto this floorspace.


Example


{
    "totalFloorspace": 4,
    "boxToPalletFloorspace": 1,
    "palletToFloorspace": 3,
    "palletFloorspaceDetails": [
        {
            "id": 1,
            "height": 1.0,
            "pallets": [
                "PLT1",
                "PLT4"
            ]
        },
        {
            "id": 2,
            "height": 0.4,
            "pallets": [
                "PLT3"
            ]
        },
        {
            "id": 3,
            "height": 0.4,
            "pallets": [
                "PLT2"
            ]
        }
    ]
}