Packing plans for warehouse operations
Make box selection part of the warehouse workflow.
Match each order with boxes and stock the packing station can use now, before the operator starts work.
The decision
Use cartons the station can actually pick.
Send the site inventory and carton list. StoaPack returns the selected site, box and item positions.
Start with a current carton and stock snapshot.
Use item names operators recognize.
Keep reservation and work release in your WMS.
A practical boundary
A plan for the station to review.
Your WMS remains responsible for inventory and work release. StoaPack supplies the box and placement details. Surface the named carton and item list before printing the station pick ticket.
Before work starts
Check the carton at the station.
Confirm the selected site, carton, packed units and leftovers before work release.
Checked placement view
A mixed subscription order, placed in a stocked box.
The recorded order includes a mug, glass jar, candle and smaller goods, with its supplied fill allowance.
Recorded placements from the subscription example.
8 units in 1 package. The response includes item positions and dimensions.
- Small box, 25 × 20 × 15 cm at Warehouse — 62.66% of its volume used.
- Bookmark × 1
- Ceramic Mug × 1
- Glass Jar × 1
- Honey Bottle × 1
- Scented Candle × 1
- Soap Bar × 2
- Tea Sampler × 1
Space used describes item volume against box volume; it is not a measurement of required padding.
For your existing workflow
Send an order. Review the placements.
Show the cURL request for this checked order
Try the same order from your server
Create a key in your dashboard, then replace the key variable below. This request calls the published API directly and leaves AI review off.
curl -X POST "https://stoapack.stoalogistics.com/api/v1/optimize" \
-H "Content-Type: application/json" \
-H "X-API-Key: $STOAPACK_API_KEY" \
-d '{
"items": [
{
"id": "scented-candle",
"width": 10,
"height": 10,
"depth": 12,
"weight": 0.4,
"quantity": 1,
"name": "Scented Candle"
},
{
"id": "tea-sampler",
"width": 15,
"height": 10,
"depth": 5,
"weight": 0.3,
"quantity": 1,
"name": "Tea Sampler"
},
{
"id": "soap-bar",
"width": 8,
"height": 5,
"depth": 3,
"weight": 0.12,
"quantity": 2,
"name": "Soap Bar"
},
{
"id": "bookmark",
"width": 15,
"height": 5,
"depth": 0.5,
"weight": 0.02,
"quantity": 1,
"name": "Bookmark"
},
{
"id": "ceramic-mug",
"width": 12,
"height": 10,
"depth": 10,
"weight": 0.35,
"quantity": 1,
"name": "Ceramic Mug"
},
{
"id": "glass-jar",
"width": 8,
"height": 8,
"depth": 12,
"weight": 0.25,
"quantity": 1,
"name": "Glass Jar"
},
{
"id": "honey-bottle",
"width": 6,
"height": 6,
"depth": 14,
"weight": 0.5,
"quantity": 1,
"name": "Honey Bottle"
}
],
"unit": "cm",
"weight_unit": "kg",
"ai_review": false,
"warehouses": [
{
"id": "warehouse",
"inventory": {
"scented-candle": 1,
"tea-sampler": 1,
"soap-bar": 2,
"bookmark": 1,
"ceramic-mug": 1,
"glass-jar": 1,
"honey-bottle": 1
},
"available_boxes": [
{
"id": "subscription",
"width": 30,
"height": 25,
"depth": 20,
"quantity": 10,
"max_weight": 20,
"fill_percentage": 80
},
{
"id": "small",
"width": 25,
"height": 20,
"depth": 15,
"quantity": 10,
"max_weight": 20,
"fill_percentage": 80
}
]
}
]
}'