Load planning software compared

LoadOptimizer.ai vs Cargo-Planner

LoadOptimizer.ai by LoadOptimizer.ai

LoadOptimizer.ai 29 of 149 documented · #8 of 9
Cargo-Planner 109 of 149 met · #1 of 9

What was read: API documentation set 'V0.5' for REST /v2 (OpenAPI 3.1, info.version 2.0.0).

About the evidence: Much of this product's documentation describes capabilities marked beta ('not callable on every account yet') or in development. Only generally available capabilities count; the others are shown as such.

Where Cargo-Planner goes further

81 requirements Cargo-Planner meets that LoadOptimizer.ai's public documentation does not show. The other way round, LoadOptimizer.ai documents 1 that ours does not yet show; each is marked on its row below.

69 more

By area

Area LoadOptimizer.ai Cargo-Planner
Equipment geometry 1 / 12 11 / 12
Fleet and equipment selection 4 / 11 9 / 11
Cargo items and shapes 1 / 9 4 / 9
Orientation 4 / 10 6 / 10
Stacking and load-bearing 1 / 17 13 / 17
Rules between items 4 / 13 11 / 13
Positioning 3 / 9 8 / 9
Weight, balance and axle loads (enforced) 1 / 14 6 / 14
Sequencing, priority and multi-drop 3 / 10 7 / 10
Pallet building, cartonisation and multi-stage loading 3 / 14 10 / 14
Objectives and search control 0 / 6 4 / 6
Expressiveness (user-built rules) 0 / 10 9 / 10
Plan output 4 / 14 11 / 14

Considering LoadOptimizer.ai? Test Cargo-Planner on the same load

Bring the load you would plan in LoadOptimizer.ai to a free trial, or book a demo and we will plan it with you.

Equipment geometry 1 of 12

The user can define a loading space by its internal length, width and height, and the planner keeps all cargo inside it.

Counts when: Documentation shows a loading space with user-entered or preset internal length, width and height that the planner packs within.

“Inline box geometry on a request entry (carrier or cargo). X = length, Y = width, Z = height, in units.length. Box is the only geometry this API implements; any other `type` is rejected with 400.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“Choose from 20 pre-configured containers across these categories.”

https://app.loadoptimizer.ai/docs/order-creation

V0.5 API and the web app both define a carrier by three dimensions (app dimensionZ is 'The maximum stacking height'). 20 app presets (ISO containers incl. reefer/open top, EU and US trailers, Sprinter van); ULD is modelled only on a Beta page. Plan ceilings on items and carriers per job apply (422).

Documented

Cargo-Planner: Documented

8 of 8 others document this.

The user can mark a fixed part of the loading space (such as a reefer unit, wheel arch or corner casting) as unusable, and the planner keeps cargo out of it.

Counts when: A documented input for at least one obstruction with a position and size inside the space, which the planner does not load into.

“A hold can list reservedRegions , boxes the solver must keep empty.”

https://www.loadoptimizer.ai/docs/partial-and-continued-loading.html

“Reserve along any axis: a rear/front slab (X), one side (Y), headroom (a region spanning the top, high Z), or an interior pocket.”

https://www.loadoptimizer.ai/docs/partial-and-continued-loading.html
  • Follows from documented behaviour rather than stated outright

In-development page ("Documented so you can design around it, not callable yet"). reservedRegions[] take an offset (min corner in the hold frame) and dimensionX/Y/Z; nothing is placed inside, 'not even overhang from neighbouring cargo', so nothing can be stacked on them either. The only GA advice is the FAQ's shrinking of internal dimensions, which the row excludes.

Documented as announced

Cargo-Planner: Documented

6 of 8 others document this.

The user can block any number of box-shaped regions, each at a freely chosen position and size, inside the loading space.

Counts when: Documentation shows more than one blocked region per space, each with its own free position and size.

“A hold can list reservedRegions , boxes the solver must keep empty. Each is positioned in the hold frame (offset is the min corner; defaults to the hold origin) with its own dimensions and an optional label.”

https://www.loadoptimizer.ai/docs/partial-and-continued-loading.html

“reservedRegions[] Hold Boxes kept clear of placement: offset (min corner in the hold frame), dimensionX/Y/Z, optional label.”

https://www.loadoptimizer.ai/docs/partial-and-continued-loading.html

In-development page ("Documented so you can design around it, not callable yet"). A list per hold, each with free position and size; the one worked example uses a single region. Must lie within the hold (rejected otherwise).

Documented as announced

Cargo-Planner: Documented

3 of 8 others document this.

For a plan, the user can keep a set gap below the ceiling (or cap the load height below the internal height) without redefining the equipment.

Counts when: A documented setting, per plan or per equipment, that lowers the usable height or enforces a ceiling clearance, separate from the internal height.

“The maximum stacking height (Z-axis)”

https://app.loadoptimizer.ai/docs/order-creation

“Custom heights — adjust for partial loads or stacking height restrictions”

https://www.loadoptimizer.ai/faq/

Not counted: only reachable by manual work or off-label use.

GA route is editing the carrier's dimensionZ (a workaround per the row). A dedicated per-job build-height cap (overrides.maxStackHeight on a referenced library carrier) is documented only on an In-development page, so it is announced, not available. A reserved headroom region (also In development) is a second future route.

Documented, not counted

Cargo-Planner: Documented

6 of 8 others document this.

The user can model a loading space whose floor or ceiling height changes along its length (drop-deck, step-deck, gooseneck, split-level), and the planner respects the steps.

Counts when: A documented input for at least one step in floor or ceiling height at a set distance along the space.

Near miss: several holds with different offset.z per carrier (Beta), or a reserved region under a raised section (In development), are not documented for this purpose; the row requires vendor documentation of the composable route.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: step, deck, gooseneck, drop, split-level, floor height, raised floor, offset, holds, reservedRegions. Holds have an offset and a carrier may list several holds (Beta), and reservedRegions (In development) could block a step, but no page documents either for a stepped floor or ceiling, or says cargo may span holds.

Not documented

Cargo-Planner: Documented

5 of 8 others document this.

The user can model a loading space whose cross-section is not rectangular, such as a ULD with a cut-back side or a rail wagon with a curved roof, and the planner keeps cargo inside that contour.

Counts when: A documented input that describes the contour (points, slope parameters or steps across the width or height), which the planner respects.

“Each chamfer names the face cut back, the baseHeight up to which the hold is full, and the inset distance the face is cut in at the floor; the cut tapers from nothing at baseHeight down to inset at z = 0.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

“an LD3 hold with the -Y lower corner chamfered to the fuselage contour.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html
  • Only in some editions, plans, methods or equipment types

Beta page ("not callable on every account yet"); not part of the V0.5 contract. holds[].chamfers[] {face, baseHeight, inset}; the example cuts the lower -Y corner of an LD3. Only lower-corner cuts are described; no upper contour or curve.

Documented as beta

Cargo-Planner: Documented

6 of 8 others document this.

The user can model a loading space whose cross-section is not rectangular and whose floor or ceiling height also changes along its length, both in the same unit, and the planner respects both. †

Counts when: Documentation shows a single space definition that combines a non-rectangular cross-section with a lengthwise height change, and the planner keeps cargo inside both.

Chamfers per face could plausibly combine a cross-section cut with a lengthwise cut, but no documentation shows both in one unit, which the row requires.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: chamfer, contour, face, baseHeight, inset, slope, step, deck. chamfers[] is a list keyed by face, so a +X/-X chamfer could in principle cut the side view, but every example and description shows a single -Y chamfer.

Not documented

Cargo-Planner: Documented

1 of 8 others document this.

The planner treats a sloped contour face as a slope, so cargo can be placed right up to the sloped wall rather than stopping at a rectangular step.

Counts when: Documentation shows the contour defined by an angle, chamfer or interpolated points, and cargo placed against it.

“the cut tapers from nothing at baseHeight down to inset at z = 0.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

“Air ULDs are carriers too , but their loadable shape has a cut corner to fit the fuselage. The hold's chamfers express that contour.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

Not counted: part of the pass condition is not shown.

Beta page ("not callable on every account yet"); not part of the V0.5 contract. The chamfer is defined by two distances giving a linear taper (a slope), not steps.

Documented as beta

Cargo-Planner: Documented

1 of 8 others document this.

The user can model one unit made of several separately packed sub-spaces, such as holds, sections, bays, a second deck, shelves or the two parts of a road train, each with its own dimensions.

Counts when: A documented input for at least two internal sub-spaces of one unit, each with its own geometry, that the planner packs as parts of that unit.

“If a carrier has more than one hold (e.g. a frozen + dry reefer container), a hold declares the capabilities it provides and an item declares what it requiresHold; matching cargo routes to the right compartment automatically.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

“Each level positions its contents in its own frame , measured from that parent's origin corner (X = 0 closed end, floor), with the parent hold's offset included.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html
  • Follows from documented behaviour rather than stated outright

Beta page ("not callable on every account yet"); not part of the V0.5 contract. holds[] each with own dimensionX/Y/Z, offset, walls, maxWeight. Multi-hold is described in one sentence with no multi-hold JSON example. The app lists a 'Double-Deck' trailer preset, but app carriers have only three dimensions, so no second deck is modelled there. Coupled tractor+trailer exists in the axle model (weight row).

Documented as beta

Cargo-Planner: Documented

4 of 8 others document this.

The user can set a door opening smaller than the internal cross-section, and the planner does not load items that cannot pass through it.

Counts when: A documented door width and height input, documented as limiting what is loaded.

“Height, overhang and door clearance checked while the build is still on screen.”

https://www.loadoptimizer.ai/air-cargo-uld/

“Knows Door And Hold Limits Checks access and clearance for the aircraft flying it, not only the hold volume.”

https://www.loadoptimizer.ai/air-cargo-uld/

Marketing on the air-cargo page only. No documented door dimension input, and the same page says aircraft-side checks are for the airline.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: door, aperture, opening, clearance, accessFace. No door width/height input exists in the OpenAPI contract, the Beta/In-development pages or the app docs; accessFace names a face only.

Correction: 'Door clearance' means checking a finished ULD against the aircraft door, not a door limiting what enters the space.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

The user can set which face of the space is the loading face (rear, side or top), and the planner builds the load, and any unloading order, from that face.

Counts when: A documented per-space loading or access face that changes how the load is built.

“accessFace is a carrier property , the physical door/unload side the load is reached from.”

https://www.loadoptimizer.ai/docs/multi-drop-lifo.html

“A carrier that's reached from more than one side , a curtain-sider open along both flanks , takes a list of faces: "accessFace": ["+Y", "-Y"].”

https://www.loadoptimizer.ai/docs/multi-drop-lifo.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. One of six signed faces or a list (multi-side access); default +X; drives LIFO reachability. In the GA app only the loading direction (fill axis) can be set for side loading, which is scored under positioning-fill-direction.

Documented as beta

Cargo-Planner: Not documented

3 of 8 others document this.

On open-top, flat-rack or flatbed equipment, the planner can let cargo rise above the walls or extend beyond the deck edges, up to set limits.

Counts when: A documented open-equipment behaviour or envelope setting that allows cargo beyond the wall height or deck length/width, with a stated limit, used by the planner when placing.

“cost; accessFace (door/unload side); the hold's maxWeight (payload cap), maxStackHeight (build-height cap), and overhang (protrusion allowance)”

https://www.loadoptimizer.ai/docs/libraries.html

“A walled face may not exceed the outer geometry (wall_exceeds_outer_geometry, 400) , keep the hold envelope within the container's outer box.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

Not counted: the evidence is a field name with no description of what it does.

In-development page ("Documented so you can design around it, not callable yet"). A per-job 'overhang (protrusion allowance)' override on a hold, plus hold walls listed per face (Beta) so a face can be left open. No units, directions or placement behaviour are stated. The app's 'Open Top' container preset is a plain box.

Documented as announced

Cargo-Planner: Documented

5 of 8 others document this.

Fleet and equipment selection 4 of 11

When the cargo does not fit one unit, the planner places the rest in further units of an offered type and reports how many are needed.

Counts when: Documentation shows the planner adding units automatically until the list is loaded (or an available quantity runs out), without the user adding each unit.

“How many instances are available. null/omitted = unlimited: the solver adds instances until the cargo runs out or the carrier fits nothing more, and only the carriers it used come back.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“Omit a carrier's quantity and the solver decides how many instances of it to use.”

https://www.loadoptimizer.ai/docs/

V0.5 API. In the web app the user sets a quantity per carrier entry and the optimizer fills them in list order; automatic adding of units is documented for the API only. Plan ceilings on carrier instances per job apply (422).

Documented

Cargo-Planner: Documented

8 of 8 others document this.

From several offered equipment types, the planner decides which types to use and how many of each, in one run.

Counts when: Documentation shows an automatic choice among two or more equipment types within one plan.

“It fixes the cargo (every item must ship) and optimizes the number of carriers used: the solver looks for the fewest carriers, drawn from the types and quantities you offered, that can hold everything.”

https://www.loadoptimizer.ai/docs/objectives.html

“Offer several container types as separate carriers, each with its own availability. The solver mixes them to satisfy the objective:”

https://www.loadoptimizer.ai/docs/containers-and-uld.html
  • The vendor's own sources disagree on this point
  • Follows from documented behaviour rather than stated outright

V0.5 MinimizeCarriers draws from several offered types; an explicit mixed-type example appears only on the Beta containers page. In the app, several carriers are filled in list order (up to 5/25 carriers per optimisation by plan).

Documented

Cargo-Planner: Documented

6 of 8 others document this.

The user can cap how many units of each type are available, and the planner never uses more, leaving any remainder unloaded.

Counts when: A documented available-quantity input per equipment type that the planner honours.

“carriers[].quantity is the maximum number of that type available: never a fill target, and never a count the solver is asked to reach.”

https://www.loadoptimizer.ai/docs/objectives.html

“Leftovers in unplacedItems mean the cargo genuinely doesn't fit even using every carrier you made available.”

https://www.loadoptimizer.ai/docs/objectives.html

V0.5 API; an explicit quantity N returns all N instances, unused ones with empty placements. App: quantity per carrier entry.

Documented

Cargo-Planner: Documented

5 of 8 others document this.

The user can rank equipment so that a preferred type (or a given set of units) is filled first, and other types are used only when needed.

Counts when: A documented priority, preference or fill-order setting on equipment, or a documented fixed-then-automatic split.

“List more than one and the optimizer fills them in the order they appear.”

https://app.loadoptimizer.ai/docs/how-it-works

“The optimizer fills them in the order you list them, so you stay in control of which carrier gets loaded first.”

https://app.loadoptimizer.ai/changelog/wizard-and-multi-carrier

Documented for the web app (load and pallet wizards). For the V0.5 API the docs do not say list order matters under MinimizeCarriers.

Documented

Cargo-Planner: Documented

6 of 8 others document this.

Given several candidate equipment types, the planner picks the smallest type that holds a load: the whole shipment, or the last, partly filled unit.

Counts when: Documentation shows the planner selecting (not the user comparing) the smallest sufficient type for a whole shipment or swapping the last unit for a smaller type.

“When containers aren't equal , a 40HC costs more than a 20GP but holds more , switch to MinimizeCost and attach a per-carrier cost.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

“MinimizeCost is the cost-weighted form of MinimizeCarriers: all cargo must ship, and the solver minimizes the total cost of the top-level carriers it uses.”

https://www.loadoptimizer.ai/docs/cost-and-fleet.html
How it is done with general settings

1. Offer each candidate type as a carrier entry with quantity null and a cost that rises with its size (carriers[].cost / overrides.cost) [https://www.loadoptimizer.ai/docs/cost-and-fleet.html]. 2. Set configuration.objective to MinimizeCost [https://www.loadoptimizer.ai/docs/containers-and-uld.html]. 3. The solver ships everything at lowest total cost, so for a load that fits one unit it picks the cheapest, i.e. smallest, sufficient type [https://www.loadoptimizer.ai/docs/cost-and-fleet.html].

  • Combination of general settings, assembled by the auditor from documented parts
  • The vendor's own sources disagree on this point

In development only (MinimizeCost is 'not callable yet'; pricing lists 'minimize costs' on Enterprise). V0.5 MinimizeCarriers minimises count, not size, and has no downsizing of a last unit. Pricing also lists a 'max first truck' method (Business+), undocumented.

Documented as announced

Cargo-Planner: Documented

5 of 8 others document this.

Each equipment type can be given a cost, and the planner chooses the combination of units with the lowest total cost.

Counts when: A documented per-equipment cost input and a documented cost-minimising selection.

“Give each carrier type a cost, optimize for MinimizeCost, and let the solver pick the cheapest mix from several available carrier types.”

https://www.loadoptimizer.ai/docs/cost-and-fleet.html

“Loading method: minimize costs ✗ ✗ ✗ ✗ ✓”

https://www.loadoptimizer.ai/pricing/
  • The vendor's own sources disagree on this point
  • Only in some editions, plans, methods or equipment types

In-development page ("not callable yet"). Flat unitless cost per carrier, top-level carriers only; summary.totalCost in the result; no rate tables. Pricing restricts the method to Enterprise, while the features page markets it as current.

Documented as announced

Cargo-Planner: Documented

3 of 8 others document this.

The user can cap the fill of a unit at a set percentage of its volume or weight.

Counts when: A documented maximum fill-percentage input per unit or per plan that the planner respects.

No maximum fill-percentage input. hold maxWeight (Beta) is an absolute payload cap, scored under weight-payload.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: fill, percent, %, utilization, cap, maximum fill, air circulation, maxWeight, maxStackHeight. Only volumeUtilization as an output and hold maxWeight (a weight, Beta) were found.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

The user can set a minimum fill for a unit, below which the unit is not used and its cargo is moved or left unloaded.

Counts when: A documented minimum-fill input (percentage, weight, volume or unit count) that the planner acts on.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: minimum fill, min fill, under-filled, threshold, minimum, utilization.

Not documented

Cargo-Planner: Not documented

2 of 8 others document this.

The user can restrict a specific item (or group) to certain equipment types, or exclude it from others, including which pallet type it is built on.

Counts when: A documented per-item or per-group rule, hard or stated as such, that limits which equipment types it may be loaded into.

“WM-01 has a single-candidate loadInto (the truck) , the only eligible parent, so it never palletizes”

https://www.loadoptimizer.ai/docs/mixed-routing.html

“The solver never guesses what may go where , it only decides the arrangement within the candidates you allow.”

https://www.loadoptimizer.ai/docs/mixed-routing.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. loadInto lists eligible parent types (carrier libraryId or inline name, or a pre-loaded pallet id) per entry, per group or job default; hard. Also hold capabilities/requiresHold for compartments. The same mechanism chooses the pallet type an item goes on.

Documented as beta

Cargo-Planner: Documented

6 of 8 others document this.

The user can assign a specific item (or group) to one particular unit of the plan.

Counts when: A documented input that ties an item or group to an individual unit (for example the n-th container, or a named unit), which the planner respects.

“loadInto is a list of candidate parents , each is a carrier type reference (or the id of a pre-loaded cargo pallet; see Pre-loaded pallets & stacking onto them).”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html

“Define several pre-loaded pallets and the loose SKUs, and point each SKU at the pallets it's eligible for.”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html
  • Only in some editions, plans, methods or equipment types

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Native for individual pre-loaded pallets (targeted by id). For vehicles, loadInto targets a type; tying cargo to one specific truck needs a separate inline carrier entry with quantity 1 and a unique name, which the docs do not show for this purpose.

Documented as beta

Cargo-Planner: Documented

4 of 8 others document this.

The planner can determine the dimensions of a new container, carton or pallet load within user-set minimum and maximum ranges.

Counts when: Documentation shows the planner choosing the dimensions of the space itself within stated ranges.

Carrier dimensions are always inputs.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: carton size, box size, dimension range, minimum/maximum dimensions, cartonization, custom size, sizing. The cost page says the API has 'no parcel-carton selection'.

Not documented

Cargo-Planner: Vendor documents a limit

2 of 8 others document this.

Cargo items and shapes 1 of 9

The user can enter several box-shaped item types in one plan, each with length, width, height, weight and quantity.

Counts when: Documentation shows several cuboid item types with dimensions, weight and quantity in one calculation.

“How many identical units this line represents.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“Per-unit weight, in units.weight.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

Scale: plan ceilings on total cargo units, carrier entries and carrier instances per job (422; example detail 'Order exceeds the maximum of 500 items'). FAQ says no specific box limit in the app; Free plan saves 2 items.

Documented

Cargo-Planner: Documented

8 of 8 others document this.

The user can enter cylindrical items (drums, rolls, pipes) by diameter, and the planner packs them as cylinders rather than as bounding boxes.

Counts when: A documented cylinder item type with a diameter input.

“Box-only geometry. /v2 implements the box-packing subset of the target API; other geometry types are not implemented, so any geometry.type other than "box" is a 400.”

https://www.loadoptimizer.ai/docs/building-load-units.html

“Cylinders — measure the smallest rectangular box that contains the cylinder”

https://www.loadoptimizer.ai/faq/
  • The vendor's own sources disagree on this point

API and FAQ say box only, with bounding-box advice (fails the row). Marketing pages and the pricing table claim cylinders by diameter and real shape on all plans; no cylinder field is documented anywhere.

Vendor documents a limit

Cargo-Planner: Documented

5 of 8 others document this.

The planner can nest cylinders in offset rows (hexagonal or pyramid packing), so that each sits in the gap between two cylinders below or beside it.

Counts when: Documentation of a nesting, staggered or honeycomb arrangement for cylindrical items.

“which way up a drum must stand, whether a coil may be stacked or must sit on the floor, and how pipes may nest or be laid in rows.”

https://www.loadoptimizer.ai/cylindrical-load-optimization-software/
  • The vendor's own sources disagree on this point

One marketing sentence; cylinders themselves are documented as unsupported (box only).

Marketing claim only

Cargo-Planner: Not documented

1 of 8 others document this.

Two items of a non-rectangular shape can interlock: the planner uses the shape of both the item being placed and the item it is placed against (for example L-shapes nested into each other, or tapered items flipped against each other). †

Counts when: Documentation shows the planner fitting a shaped item against another shaped item using both shapes, not only the bounding box of the item being placed.

All documented geometry is boxes.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: interlock, L-shape, nest, tapered, mesh, CAD, shape, geometry type. The FAQ advises splitting L-shaped items into boxes; marketing mentions CAD/mesh input but never interlocking.

Not documented

Cargo-Planner: Documented, not counted

2 of 8 others document this.

Other cargo can be placed into the free space inside or under an item (a cavity, a frame, the space under an overhang or an L-shape's seat), with the placed cargo treated as its bounding box. †

Counts when: Documentation shows cargo of a different item placed into the free space of another item.

“A pre-loaded pallet you want stacked onto must be cargo with both an id and a hold.”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“hold and contents are independent. Keep both to ship the pallet and let the engine keep filling it.”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html
  • Combination of general settings, assembled by the auditor from documented parts

Beta page ("not callable on every account yet"); not part of the V0.5 contract. The recursive load-unit model lets a cargo entry carry a hold (free space, with offset) that other cargo is routed into via loadInto. Documented only for pre-loaded pallets being topped up, not for cavities, frames or the space under an overhang.

Correction: Only documented use of a hold is topping up a pre-loaded pallet; no cavity inside an item's geometry.

Documented as beta

Cargo-Planner: Documented

2 of 8 others document this.

The user can enter items of arbitrary 3D shape (for example from a CAD or mesh model), and the planner packs the actual shape.

Counts when: Documentation of an arbitrary-geometry item input that the planner packs by its real shape.

“Box is the only geometry this API implements; any other `type` is rejected with 400.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“LoadOptimizer is optimized for rectangular boxes (the standard for most shipping scenarios). For irregular items, use the bounding box method:”

https://www.loadoptimizer.ai/faq/
  • The vendor's own sources disagree on this point

Marketing claims CAD/mesh upload; the API rejects non-box geometry and no upload is documented.

Vendor documents a limit

Cargo-Planner: Not documented

No other product documents this.

The user can plan bulk or shapeless cargo given by volume and weight rather than by dimensions.

Counts when: A documented bulk or amorphous cargo input with a stated way of occupying space.

Volume is output-only in the API.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: bulk, liquid, loose, volume input, amorphous, grain. The units page says 'there is no place to submit a volume, an area or a loading-metre figure as input'.

Not documented

Cargo-Planner: Not documented

No other product documents this.

The planner can compress a soft item (pillows, duvets) by up to a set percentage in a dimension so that it fits.

Counts when: A documented compression allowance per item, with a limit, applied by the planner.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: compress, soft, squeeze, bulge, deform.

Not documented

Cargo-Planner: Not documented

1 of 8 others document this.

An order quantity can be given in inner units, and the planner breaks it down into the item's available pack levels or bundles (each, case, layer, pallet, bundle).

Counts when: Documentation shows several packaging configurations for one item and the planner choosing the breakdown.

Pack sizes are not modelled; every cargo line is one box size.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: pack level, case, inner, each, bundle, layer, pack size, unit of measure. Mixed routing splits a line between pallets and loose loading (pallet-split-routing), not between pack levels.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

Orientation 4 of 10

The user can keep an item upright (a set face down), so that it is never tipped onto a side or an end.

Counts when: A documented per-item setting that keeps the item's vertical axis fixed.

“Omitted → upright, free to spin about Z (equivalent to ["Z"]); [] explicitly locks the box in the submitted orientation with no rotation at all.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“Z keeps the box upright and only gives it a quarter turn.”

https://app.loadoptimizer.ai/docs/boxes

Per cargo line. API default is ['Z'] (upright); the app Excel import defaults to X,Y,Z. A Beta 'uprightFaces' field appears in examples only.

Documented

Cargo-Planner: Documented

7 of 8 others document this.

The user can stop an item turning about the vertical axis, so that it keeps a set direction relative to the equipment's length (for example forklift entry from the door).

Counts when: A documented per-item setting that fixes the horizontal orientation, or forces lengthwise or widthwise alignment.

“[] no rotation at all, placed exactly as submitted”

https://www.loadoptimizer.ai/docs/constraints.html

“Untick every option to keep the box exactly as entered.”

https://app.loadoptimizer.ai/docs/boxes

An empty allowedRotations fixes the submitted orientation, including the horizontal direction relative to the carrier's X (length) axis.

Documented

Cargo-Planner: Documented

6 of 8 others document this.

When the user allows it, the planner can place an item on any of its six faces.

Counts when: Documentation shows that an item may be laid on its side and stood on its end by the planner.

“X and Y lay the box onto a side; useful for long or flat items.”

https://app.loadoptimizer.ai/docs/boxes

“The algorithm tests all 6 possible orientations for each box to find the optimal placement.”

https://www.loadoptimizer.ai/faq/

allowedRotations ['X','Y','Z'] (the Excel default 'X,Y,Z' 'allows every turn').

Documented

Cargo-Planner: Documented

7 of 8 others document this.

The user can let an item lie on its side while forbidding it to stand on its end (that is, choose which of its dimensions may be vertical).

Counts when: A documented per-item setting that allows some but not all tipped orientations.

“Axes (case-insensitive on input) the box may be turned 90° about, relative to the submitted orientation.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“["X"] or ["Y"] the box tips onto another face”

https://www.loadoptimizer.ai/docs/constraints.html
  • Follows from documented behaviour rather than stated outright

Allowing X but not Y lets the box tip about its length axis (onto a side) while forbidding a tip about its width axis (onto an end).

Documented

Cargo-Planner: Documented

5 of 8 others document this.

The user can allow any subset of an item's six orientations.

Counts when: Documentation shows each of the six orientations can be allowed or forbidden independently (for example a six-bit mask or six checkboxes).

Three axis toggles (X, Y, Z) cannot express an arbitrary subset of the six orientations; no per-orientation list is documented. uprightFaces (Beta) appears only in examples.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: orientation, rotation, six, 6, allowedRotations, uprightFaces, mask. Rotation is controlled only by three axis tokens: 'This is the only rotation control'.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

The user can mark a preferred orientation that the planner uses where possible, while other orientations stay allowed.

Counts when: A documented soft preference for one orientation.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: prefer, preferred orientation, soft, orientation. The only documented soft preference is loadInto list order (routing), not orientation.

Not documented

Cargo-Planner: Not documented

1 of 8 others document this.

The user can allow an orientation only when the item is not on the floor (or only when it is).

Counts when: A documented rule that ties an allowed orientation to floor or non-floor placement.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: floor, bottom layer, orientation, rotation, tier.

Not documented

Cargo-Planner: Not documented

3 of 8 others document this.

The user can set stacking limits (stack count or load-bearing weight) that differ with the item's orientation.

Counts when: A documented per-orientation stack limit or load-bearing limit for an item.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: orientation, on its side, per orientation, maxWeightOnTop, allowStackingOnTop. Stacking flags are per cargo line, not per orientation.

Not documented

Cargo-Planner: Not documented

4 of 8 others document this.

The planner can place items at angles other than multiples of 90 degrees (for example leaning against a wall).

Counts when: Documentation of automatic non-orthogonal placement.

“Rotation in degrees, always a multiple of 90.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“Because every angle is a multiple of 90°, a placed box is always axis-aligned, so this path needs no rotation maths”

https://www.loadoptimizer.ai/docs/concepts.html

Placements are always axis-aligned, including in manual Edit Mode.

Vendor documents a limit

Cargo-Planner: Not documented

No other product documents this.

The user can choose whether a cylindrical item stands upright or lies down.

Counts when: A documented per-item upright/lying choice for cylinders.

“You set which way up an item must travel and whether it can be stacked, so a drum stays upright and a coil that must sit on the floor is never buried under other cargo.”

https://www.loadoptimizer.ai/cylindrical-load-optimization-software/
  • The vendor's own sources disagree on this point

Cylinders are not a documented item type (box only), so the only documented attitude control is allowedRotations on a bounding box.

Marketing claim only

Cargo-Planner: Documented

5 of 8 others document this.

Stacking and load-bearing 1 of 17

The user can make an item non-stackable, so that nothing is placed on top of it.

Counts when: A documented per-item setting that forbids any cargo on top of the item.

“allowStackingOnTop: false (the default) means nothing may be placed on top of this cargo line; true allows other items to be stacked on it.”

https://www.loadoptimizer.ai/docs/constraints.html

“When enabled, other boxes can be placed on top of this box”

https://app.loadoptimizer.ai/docs/boxes

Per cargo line. Default false in the API, true in the app Excel import. Beta adds maxWeightOnTop (0 is equivalent).

Documented

Cargo-Planner: Documented

7 of 8 others document this.

The user can require an item to stand on the floor of the space.

Counts when: A documented per-item must-be-on-floor setting.

“must stay on the floor ("never on top of another pallet") a directOn rule forbidding its class from resting on the pallet class”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“"classRelations": { "directOn": [ { "upper": "std_pallet", "lower": "fragile_pallet" } ]”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html
How it is done with general settings

1. Give the floor-only item a class and give every other cargo entry a class (cargo classes[]) [https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html]. 2. Add job-level constraints.classRelations.directOn entries with the floor-only class as upper and each other class as lower, so it may rest on nothing [https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html]. 3. The vendor documents this pattern for pallets ('must stay on the floor') in its pallet-on-pallet rule table [https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html].

  • Combination of general settings, shown by the vendor

Beta page ("not callable on every account yet"); not part of the V0.5 contract. The vendor's own table maps 'must stay on the floor' to a directOn rule, shown for pallets only. The cylindrical page claims floor-only for coils.

Documented as beta

Cargo-Planner: Documented

4 of 8 others document this.

The user can require an item to be placed on top of other items, never on the floor.

Counts when: A documented per-item must-not-be-on-floor setting.

No must-not-be-on-floor rule; directOn only forbids resting on a class, so it cannot force an item off the floor.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: not on floor, on top, top layer, must stay on top, directOn, classRelations. Marketing's 'which must go on top' is not defined and reads as fragile/no-top, not as a ban on floor placement.

Not documented

Cargo-Planner: Documented

5 of 8 others document this.

The user can limit how many units of the same item may be stacked on each other.

Counts when: A documented per-item tier or stack-count limit.

No per-item stack-count field in the API, app or Beta pages.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: stack count, tiers, layers, max stack, stack height, how many high, double stacked. Marketing mentions 'maximum stack height' (a length, see stacking-max-height) and pallets 'single stacked or double stacked where the freight allows', but no count limit.

Not documented

Cargo-Planner: Documented

7 of 8 others document this.

The user can limit the tier an item may occupy, or the total number of tiers in a stack, whatever items are below it (for example never above the second tier).

Counts when: A documented limit on stack levels that counts different items, per item or for the whole unit.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: tier, level, layers, stack levels, max stack.

Not documented

Cargo-Planner: Documented

4 of 8 others document this.

The user can limit the height above the floor at which a specific item may be placed or to which it may be stacked.

Counts when: A documented per-item maximum placement or stacking height in length units.

“You set per-item properties such as the weight each item can bear, fragile or do-not-stack flags, required orientation, and maximum stack height, and the engine applies each one as a hard constraint.”

https://www.loadoptimizer.ai/load-optimization-software-with-stacking-rules/

“Custom stacking constraints ✗ ✗ ✗ ✗ ✓”

https://www.loadoptimizer.ai/pricing/
  • Only in some editions, plans, methods or equipment types

Claimed on a solution page; pricing lists custom stacking constraints on Enterprise only; no per-item field is documented.

Marketing claim only

Cargo-Planner: Documented

3 of 8 others document this.

The user can set the maximum weight an item may carry on top of it.

Counts when: A documented per-item load-bearing (weight on top) limit that the planner enforces.

“constraints.allowStackingOnTop: false (≡ maxWeightOnTop: 0)”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“the lower pallet's constraints.maxWeightOnTop (what it can bear) and the upper pallet's constraints.minSupport (how much of its base must rest on the surface below) then govern load-bearing and stability.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html
  • The vendor's own sources disagree on this point

Beta page ("not callable on every account yet"); not part of the V0.5 contract. constraints.maxWeightOnTop per cargo entry (and library defaultConstraints). Not stated whether it counts the whole column or only direct contact. The V0.5 constraints page says its two fields 'are the whole model'.

Documented as beta

Cargo-Planner: Documented

7 of 8 others document this.

The load-bearing limit is evaluated as pressure (weight per area of the supporting face) rather than as a total weight per item. †

Counts when: Documentation states that the bearing limit depends on the contact area or is given per support face as a pressure.

maxWeightOnTop is a plain weight.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: pressure, per area, kg/m2, contact area, surface load, maxWeightOnTop.

Not documented

Cargo-Planner: Not documented

1 of 8 others document this.

The load-bearing limit also applies within a stack of identical units.

Counts when: Documentation shows the weight-on-top limit checked when an item is stacked on units of the same item.

The docs do not say whether maxWeightOnTop is checked within a stack of identical units.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: maxWeightOnTop, same item, identical, like items, stack of.

Not documented

Cargo-Planner: Not documented

1 of 8 others document this.

The planner never places an item on top of a lighter, different item.

Counts when: A documented weight-ordering stacking rule.

“Heavy-to-bottom — heavier boxes are placed on the floor first, creating a stable base”

https://www.loadoptimizer.ai/faq/

“The engine places heavy cartons low and fragile ones high”

https://www.loadoptimizer.ai/mixed-palletizing-software/

A built-in behaviour described in the FAQ and marketing, with no rule or parameter in the API or app docs.

Marketing claim only

Cargo-Planner: Documented

3 of 8 others document this.

The user can give items a numeric strength or fragility index, and the planner never places an item on one with a weaker index.

Counts when: A documented per-item stacking index with a stated ordering rule.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: strength, fragility, index, crush, class, rank.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

The user can state, for a specific pair of items, whether one may be stacked on the other.

Counts when: A documented item-to-item stacking permission list or matrix.

“the directOn rule above (a std_pallet may not rest on a fragile_pallet) governs pallet-on-pallet stacking in the container too”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“Stacking onto the existing load obeys the normal rules: minSupport, maxWeightOnTop, and the directOn/notAbove class relations (see Constraints).”

https://www.loadoptimizer.ai/docs/partial-and-continued-loading.html
  • Follows from documented behaviour rather than stated outright

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Cargo carries classes[]; job-level classRelations.directOn lists {upper, lower} pairs that may not rest directly on each other. Each item can be given its own class, so pairs can be item-specific.

Documented as beta

Cargo-Planner: Documented

6 of 8 others document this.

The user can forbid an item from being stacked on an item with a smaller (or a different) footprint, or require stacks to form aligned columns.

Counts when: A documented footprint, alignment or column rule for stacking.

minSupport (Beta) is a support percentage, scored under stacking-min-support.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: footprint, same size, column, aligned, corner, larger on smaller, square over the base. Marketing's 'keeps the stack square over the base' (mixed palletizing page) is a general stability claim, not a footprint rule.

Not documented

Cargo-Planner: Documented

6 of 8 others document this.

The user can require a minimum share of an item's base to be supported (or limit how far it overhangs the item below), and the planner refuses unsupported placements.

Counts when: A documented support-percentage, overhang-over-support or centre-of-mass-over-support rule enforced by the planner.

“with at least minSupport % of its base resting on the surface below”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“"constraints": { "minSupport": 80 }”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. constraints.minSupport per cargo entry (per item). The FAQ claims a support check for every box in the current engine, with no parameter.

Documented as beta

Cargo-Planner: Documented

6 of 8 others document this.

The user can set how large a height difference between neighbouring supporting surfaces an item may bridge.

Counts when: A documented maximum vertical gap or height-difference parameter for stacking across several items.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: height difference, bridging, gap, level surface, uneven, minSupport.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

Stacking uses the item's actual top shape: nestable items add only a set height per extra unit, and items with a smaller or open top carry load only on the real top surface.

Counts when: A documented nesting height increment or top-shape description used when stacking.

“Give the pallet its existing contents (the items already on it, each placed) so the engine knows the real loaded weight, centre of gravity and top surface , everything it needs to check support for anything stacked on top.”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“the items are still shown in the viewer and its weight/CoG/top-surface are accurate (so anything stacked above rests on the real surface), but the engine adds nothing into it.”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html
  • Only in some editions, plans, methods or equipment types

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Documented only for pre-loaded pallets whose contents define an uneven top; no nesting height increment exists.

Documented as beta

Cargo-Planner: Not documented

1 of 8 others document this.

The user can require that only complete stacks or complete layers of an item are loaded, with remainders handled separately.

Counts when: A documented complete-stacks, complete-layers or flat-top rule.

Near miss: floor-by-floor building is documented, but with no complete-only rule or remainder handling.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: complete layer, full layer, complete stack, flat top, remainder, one complete floor. The pallet wizard and Bottom→Top direction build 'one complete floor at a time', a build order, not a rule that only complete layers are loaded.

Not documented

Cargo-Planner: Documented, not counted

3 of 8 others document this.

Rules between items 4 of 13

The planner can keep all units of the same item together in one block.

Counts when: A documented setting that keeps like items together (or stops identical items being spread).

“Integer (0 or higher). Boxes with the same groupId are grouped together. If omitted, each row gets its own group.”

https://app.loadoptimizer.ai/docs/excel-format

“When enabled, each group is loaded as one block. Within a carrier the groups follow the order you set in the Boxes step. Leftover space in a section is not filled by another group.”

https://app.loadoptimizer.ai/docs/order-creation
How it is done with general settings

1. Leave groupId empty in the Excel Boxes sheet so each box row (one item type) is its own group [https://app.loadoptimizer.ai/docs/excel-format]. 2. In the Configuration step turn on 'Grouping: Load groups as separate sections' so each group is loaded as one block [https://app.loadoptimizer.ai/docs/order-creation].

  • Combination of general settings, assembled by the auditor from documented parts
  • Relies on a setting other rows also use; they may not all work at once
  • Only in some editions, plans, methods or equipment types

Web app only; at most 20 groups per order; forces Back→Front or Left→Right; each block's leftover space stays empty. V0.5 API groups have no solver behaviour.

Documented

Cargo-Planner: Documented

7 of 8 others document this.

The user can assign items to groups (such as orders or customers), and the planner keeps each group's items together in the unit.

Counts when: A documented group attribute and a keep-together rule.

“When enabled, each group is loaded as one block. Within a carrier the groups follow the order you set in the Boxes step. Leftover space in a section is not filled by another group.”

https://app.loadoptimizer.ai/docs/order-creation

“Boxes that belong together, such as the goods for one customer or one stop, can now be loaded together.”

https://app.loadoptimizer.ai/changelog/grouping-separate-sections

Web app (released 25 Sep 2026): groups set per box (Cards drag, Spreadsheet Group column, Excel groupId); up to 20 groups. In the V0.5 API groups carry no solver behaviour; Beta pages say named groups 'carry keep-together' without specifying it. Pricing lists 'Order grouping' on all plans.

Documented

Cargo-Planner: Documented

7 of 8 others document this.

The user can require all items of a group to go in the same unit when the shipment needs several units.

Counts when: A documented rule that forbids splitting a group across units.

Not stated whether a group section can continue in the next carrier.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: split, same carrier, one carrier, group, keep together, across carriers, cannot split. The app says groups follow their order 'within a carrier' but not whether a group may be split across carriers; marketing mentions 'Orders that cannot split' in a load-building explainer without a control.

Not documented

Cargo-Planner: Documented

4 of 8 others document this.

When not everything fits, a group of items (for example one order or shipment) is loaded completely or not at all. †

Counts when: Documentation shows an option that leaves a whole group unloaded rather than loading part of it.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: all or nothing, complete, whole order, partial, leave out, unplaced, group.

Not documented

Cargo-Planner: Documented

2 of 8 others document this.

The user can have each group loaded in its own section of the unit, with no other group's items in it.

Counts when: A documented rule that separates groups into distinct sections (an invisible wall, zero overlap, segmented stops or barriers).

“Leftover space in a section is not filled by another group.”

https://app.loadoptimizer.ai/docs/order-creation

“Each stop is a contiguous block along the access axis , an invisible wall between drops, no interleaving. Add barrier for a real divider/buffer.”

https://www.loadoptimizer.ai/docs/multi-drop-lifo.html

GA in the app ('Load groups as separate sections'), no divider thickness. The Beta stop mode 'segmented' adds an optional barrier thickness in units.length. The FAQ's older 'INVISIBLE WALL' priority mode is absent from the current app docs.

Documented

Cargo-Planner: Documented

6 of 8 others document this.

The user can forbid items of one group (order, stop, customer) from being stacked on items of another group.

Counts when: A documented group-level stacking ban.

“When enabled, each group is loaded as one block. Within a carrier the groups follow the order you set in the Boxes step. Leftover space in a section is not filled by another group.”

https://app.loadoptimizer.ai/docs/order-creation

“noCrossStack Stops may mix on the floor (no wall), but no unit may rest on a unit bound for a different stop.”

https://www.loadoptimizer.ai/docs/multi-drop-lifo.html
How it is done with general settings

1. Put each order/customer's boxes in its own group [https://app.loadoptimizer.ai/docs/order-creation]. 2. Turn on 'Load groups as separate sections': each group becomes its own block and no other group uses its leftover space, so no group is stacked on another [https://app.loadoptimizer.ai/docs/order-creation].

  • Combination of general settings, assembled by the auditor from documented parts
  • Follows from documented behaviour rather than stated outright
  • Relies on a setting other rows also use; they may not all work at once

GA route is stronger than needed (full sections). A dedicated ban, stopSeparation.mode 'noCrossStack', exists for stops on a Beta page; class directOn rules (Beta) could also encode it.

Documented

Cargo-Planner: Documented

7 of 8 others document this.

The user can prevent specific items or groups from sharing a unit.

Counts when: A documented rule, compatibility matrix or group-to-unit restriction that keeps chosen items out of the same unit.

“For an inline carrier, target its name instead.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html

“Override for a named group via groups[name].loadInto, or for one entry via that entry's loadInto.”

https://www.loadoptimizer.ai/docs/mixed-routing.html
How it is done with general settings

1. Offer the vehicle type as two inline carrier entries with different names (e.g. 'truck-A', 'truck-B') [https://www.loadoptimizer.ai/docs/palletize-then-truck.html]. 2. Put the incompatible items in different groups and give each group a loadInto naming only its own carrier entry [https://www.loadoptimizer.ai/docs/mixed-routing.html]. 3. The solver only places cargo into the listed candidates, so the two groups never share a unit [https://www.loadoptimizer.ai/docs/mixed-routing.html].

  • Combination of general settings, assembled by the auditor from documented parts

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Works by fixing groups to separate carrier entries, so it also fixes which fleet each group may use. No compatibility matrix or dedicated not-together rule is documented.

Documented as beta

Cargo-Planner: Documented

5 of 8 others document this.

The user can keep specific items (or classes) apart within the same unit: at least a set distance apart, or never anywhere above one another.

Counts when: A documented separation-distance or not-above rule between items or classes in one unit.

“Stacking onto the existing load obeys the normal rules: minSupport, maxWeightOnTop, and the directOn/notAbove class relations (see Constraints).”

https://www.loadoptimizer.ai/docs/partial-and-continued-loading.html

“it only lands somewhere it's allowed: within that pallet's maxWeightOnTop, with at least minSupport % of its base resting on the surface below, and obeying any separation/directOn/requiresHold rules;”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

Not counted: the evidence is a field name with no description of what it does.

'notAbove' class relations and 'separation' rules are named on Beta and In-development pages; the Constraints page they point to documents only the V0.5 fields. No distance parameter or field shape is shown. The FAQ's INVISIBLE WALL mode is not in the current app docs.

Documented as beta

Cargo-Planner: Documented

3 of 8 others document this.

The user can give items dangerous-goods classes, and the planner applies segregation between classes without the user defining each pair.

Counts when: A documented hazard-class attribute with built-in segregation rules.

No hazard-class attribute or built-in segregation; the vendor's own suggestion is manual repositioning.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: hazard, dangerous, DG, ADR, IMDG, IATA DGR, segregation, class. Only the FAQ's INVISIBLE WALL ('Use for hazardous materials') and the manual-edit page ('Hazardous goods need separation? ... Manually reposition items') mention hazardous goods.

Not documented

Cargo-Planner: Vendor documents a limit

No other product documents this.

The user can cap, per unit, the total of a per-item quantity other than weight and volume, such as declared value, dangerous-goods points or piece count.

Counts when: A documented per-unit cap on the sum of at least one such per-item quantity.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: value, declared value, piece count, points, cap, limit, sum, maximum per carrier.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

The user can cap how many distinct items (or orders) a unit may contain.

Counts when: A documented per-unit (or per-zone) limit on distinct item types or order numbers.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: distinct, SKU count, number of items types, orders per carrier, single SKU.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

The user can require items to be loaded in a fixed ratio in every unit (for example one table to four chairs).

Counts when: A documented set or ratio rule applied per unit.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: ratio, set, kit, proportion, per carrier.

Not documented

Cargo-Planner: Documented

5 of 8 others document this.

The user can require an item to be loaded into each unit only in multiples of a set number.

Counts when: A documented batch or multiple-of-N rule per item.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: multiple of, batch, lot, increments, per carrier.

Not documented

Cargo-Planner: Not documented

1 of 8 others document this.

Positioning 3 of 9

The user can fix part of a plan (placed items, pre-loaded pallets or whole units) and have the planner complete or re-plan the rest around it.

Counts when: Documentation shows existing placements kept fixed while the planner adds or re-plans the remaining cargo.

“When not all boxes of a type are placed, an amber warning icon is shown. Click the arrow button next to that box type to auto-place one box at the optimal position. Repeat to place additional boxes one at a time.”

https://app.loadoptimizer.ai/docs/edit-mode

“You can even add new boxes automatically (AI-placed) while keeping your manual adjustments intact.”

https://www.loadoptimizer.ai/features/manual-edit/

GA: in Edit Mode, manually placed boxes stay where they are and remaining boxes are auto-placed one per click. Beta: pre-loaded pallet contents are locked while the engine loads around them; In development: carrier contents for continued loading.

Documented

Cargo-Planner: Documented

5 of 8 others document this.

The user can give an item's exact position as input data, without manual placement in an editor, and the planner loads the rest around it.

Counts when: A documented input field for an item's position (coordinates) that the planner treats as fixed.

“Give the pallet its existing contents (the items already on it, each placed) so the engine knows the real loaded weight, centre of gravity and top surface”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“contents cargo entry Items already loaded (each a PrePlacedUnit with a position); fixed by default.”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html
  • Only in some editions, plans, methods or equipment types

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Positions as input data exist for items on a pre-loaded pallet (Beta) and for items aboard a pre-filled vehicle (In development, carrier quantity must be 1). V0.5 has no position input.

Documented as beta

Cargo-Planner: Not documented

No other product documents this.

The user can confine an item to a defined region of the unit, such as the front, the rear, one side or a zone.

Counts when: A documented per-item (or per-class) region, zone or location rule the planner respects.

“a hold declares the capabilities it provides and an item declares what it requiresHold; matching cargo routes to the right compartment automatically.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html
  • Follows from documented behaviour rather than stated outright

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Confinement to a hold (compartment) by capability matching; unplaced reason 'no_compatible_hold'. No front/rear/side region rule within one space.

Documented as beta

Cargo-Planner: Documented

3 of 8 others document this.

The user can keep items out of a defined region of the unit (for example the first metre at the door, or a central aisle).

Counts when: A documented rule that keeps an item, or all items, out of a region of a unit.

“The engine places nothing inside them and loads everything else into the remaining space.”

https://www.loadoptimizer.ai/docs/partial-and-continued-loading.html

“Here a 13.6 m tautliner holds back its rear 4 m (the door end, high X) for a later stop:”

https://www.loadoptimizer.ai/docs/partial-and-continued-loading.html

In development (not callable yet). reservedRegions are set per job on the carrier's hold and exclude all items; no per-item exclusion.

Documented as announced

Cargo-Planner: Documented

4 of 8 others document this.

The user can choose the direction in which the planner fills the unit (for example front to back, bottom to top or side to side).

Counts when: A documented setting with at least two fill directions or fill patterns.

“The packing axis to consolidate toward. Only these three values are supported: the solver fills outward from the carrier frame's zero position and cannot gather toward the opposite end, so +X/+Y are rejected with 400.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“Back→Front packs against the closed front wall first and works toward the doors, the usual pattern for rear loading. Left→Right fills from one side wall to the other, for side loading. Bottom→Top builds complete floors and stacks upward.”

https://app.loadoptimizer.ai/docs/order-creation

Cannot be switched off (default -X) and cannot gather toward +X/+Y. Bottom→Top is unavailable while group sections are on.

Documented

Cargo-Planner: Documented

5 of 8 others document this.

The user can make the planner cover the floor before stacking, for a whole plan or for specific items.

Counts when: A documented floor-first, spread or floor-to-ceiling strategy.

“Bottom→Top builds complete floors and stacks upward.”

https://app.loadoptimizer.ai/docs/order-creation

“-X holds them against the x = 0 end, -Y against the y = 0 side, Z on the floor.”

https://www.loadoptimizer.ai/docs/objectives.html

Plan-wide only; not per item.

Documented

Cargo-Planner: Documented

6 of 8 others document this.

The user can make the planner respect handling-equipment limits: how deep a loading block may reach, or room to turn an item with a forklift.

Counts when: A documented maximum reach or block depth, or a forklift-turning check.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: forklift, reach, block depth, turning, handling, pallet jack.

Not documented

Cargo-Planner: Documented

4 of 8 others document this.

The user can require clearance around items: a gap between all units, or extra space around a specific item.

Counts when: A documented gap or clearance setting (plan-wide or per item) that the planner leaves empty.

Near miss: the Beta barrier leaves a set gap between stop blocks only.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: gap, clearance, spacing, buffer, margin, bulge. The only gap setting is stopSeparation.barrier (Beta), a buffer between stop blocks, not around items.

Not documented

Cargo-Planner: Documented

5 of 8 others document this.

The planner makes sure every item is backed in the loading direction (and, if the user asks, sideways) by a wall or another item, so it cannot shift.

Counts when: A documented check that each item rests against the wall or another item, lengthwise and/or laterally.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: shift, secure, backed, against the wall, lateral support, lashing, stability. The FAQ's 'Stability verification — every box has proper support' concerns support from below.

Not documented

Cargo-Planner: Documented

2 of 8 others document this.

Weight, balance and axle loads (enforced) 1 of 14

The planner never exceeds the maximum payload of a unit, including a pallet's maximum load.

Counts when: A documented maximum-weight input per unit that the planner enforces.

“holds[].maxWeight carrier Hold weight capacity (e.g. container payload).”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

“There is no per-carrier weight limit: nothing in this API enforces a maximum load weight against a carrier's capacity”

https://www.loadoptimizer.ai/docs/objectives.html
  • The vendor's own sources disagree on this point

GA state is a documented limitation: the V0.5 API has no carrier weight limit, and the app docs list only three carrier dimensions (the mixed-pallet wizard has no weight field either). Beta: holds[].maxWeight (unplaced reason over_weight) and axle.grossCapacity (GVW/GCW). Marketing claims weight limits in the app.

Documented as beta

Cargo-Planner: Documented

8 of 8 others document this.

Each compartment, deck or part of a unit can have its own weight limit, which the planner respects.

Counts when: A documented weight limit per compartment, section, zone, deck or part.

“holds[].maxWeight carrier Hold weight capacity (e.g. container payload).”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

“If a carrier has more than one hold (e.g. a frozen + dry reefer container), a hold declares the capabilities it provides”

https://www.loadoptimizer.ai/docs/containers-and-uld.html
  • Follows from documented behaviour rather than stated outright

Beta page ("not callable on every account yet"); not part of the V0.5 contract. maxWeight is per hold, and a carrier may have several holds.

Documented as beta

Cargo-Planner: Documented

2 of 8 others document this.

The user can set different maximum weights for lengthwise sections of the unit (for example front, middle and rear floor sections).

Counts when: A documented per-section weight limit along the length that the planner enforces.

No lengthwise section limits within one space.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: section, zone, front, rear, floor section, per metre, lengthwise, maxWeight. Separate holds along the length each with maxWeight (Beta) are not documented for this purpose.

Not documented

Cargo-Planner: Not documented

2 of 8 others document this.

The planner keeps the weight per unit of length below a set value everywhere along the unit.

Counts when: A documented maximum weight-per-length rule.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: per metre, kg/m, linear, running metre, density, concentrated load. Marketing mentions spreading concentrated weight over axles only.

Not documented

Cargo-Planner: Documented

2 of 8 others document this.

The user can set a maximum load for each axle group, and the planner does not produce a plan that exceeds it.

Counts when: Documentation stating that axle limits are respected while the plan is built (not only calculated afterwards).

“The regulated unit is the axle group: each group sits at a longitudinal position (X, in units.length from the carrier's X = 0 end) and carries a structural maxLoad.”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

“This is a hard constraint, not an objective: legal limits are never knowingly exceeded.”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html
  • The vendor's own sources disagree on this point

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Enforced while planning; cargo that would exceed an effective limit goes to unplacedItems with reason axle_limit.

Documented as beta

Cargo-Planner: Documented

2 of 8 others document this.

The axle model accepts three or more axle groups on one vehicle, each with its own position and limit.

Counts when: A documented axle input that allows at least three groups per vehicle.

“{ "role": "trailer", "position": 8200, "maxLoad": 24000 }”

https://www.loadoptimizer.ai/docs/libraries.html

“axle.axleGroups[] carrier The regulated axle groups.”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. axleGroups[] is a list with no stated maximum; examples use two and three groups (steer, drive, trailer), used for both limits and reporting. Groups can be refined into inner axles[].

Documented as beta

Cargo-Planner: Not documented

4 of 8 others document this.

The axle calculation includes the empty vehicle's own weight on each axle.

Counts when: A documented tare-per-axle, empty-axle-load or tare centre-of-gravity input used in the axle calculation.

“tareWeight + tareCoG , the empty weight and its center of gravity”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

“tareWeight + emptyAxleLoads , a convenience: give the empty load measured on each axle group (in axleGroups order) and the engine derives the tare CoG for you”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. In V0.5, tareWeight is 'stored with the job' with no stated effect.

Documented as beta

Cargo-Planner: Not documented

3 of 8 others document this.

The axle calculation includes the towing unit: the load on a semi-trailer's kingpin (or on a drawbar) is passed to the tractor's axles.

Counts when: Documentation that coupling load is transferred to the towing vehicle's axles.

“The solver resolves the statics across the coupling: a fifth wheel transfers a large kingpin load onto the towing unit , so loading the trailer changes the tractor's steer and drive loads , while a drawbar transfers little.”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

“the per-coupling vertical reaction (e.g. the kingpin load) is reported in the result as axle.couplingReactions[].”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html
  • Follows from documented behaviour rather than stated outright

Beta page ("not callable on every account yet"); not part of the V0.5 contract. axle.couplings[] {type fifthWheel|drawbar, position, transmitsVertical}.

Documented as beta

Cargo-Planner: Not documented

1 of 8 others document this.

The user can set a permitted range for the lengthwise position of the load's centre of gravity, and the planner keeps within it.

Counts when: A documented longitudinal centre-of-gravity range that the planner enforces.

“For dense or offset loads you can also clamp the load's center of gravity to an envelope, expressed as a max % offset from the carrier center. Like the axle limits, cogLimit is a hard constraint:”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

“This keeps the load CoG within 10% of center longitudinally and 5% laterally.”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. configuration.cogLimit.maxLongitudinalPct, symmetric around the carrier centre, job-level applied per carrier; unplaced reason cog_limit. An asymmetric window cannot be set.

Documented as beta

Cargo-Planner: Documented

3 of 8 others document this.

The user can set a permitted range for the sideways position of the load's centre of gravity (left/right balance), and the planner keeps within it.

Counts when: A documented lateral centre-of-gravity range, or maximum left/right difference, that the planner enforces.

“configuration.cogLimit.maxLateralPct caps how far the load's CoG may sit off the centreline.”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

“axle.trackWidth and the load's lateral centre of gravity drive left/right balance and rollover assessment”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. The FAQ's 'weight is distributed evenly across the carrier width' is a GA claim only.

Documented as beta

Cargo-Planner: Documented

3 of 8 others document this.

The user can cap the height of the load's centre of gravity.

Counts when: A documented vertical centre-of-gravity limit that the planner enforces.

Rollover assessment (Beta) is named with trackWidth but no vertical limit or output is specified.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: vertical, height of centre of gravity, cog z, maxVertical, cogLimit, rollover. cogLimit has only maxLongitudinalPct and maxLateralPct; the result reports centerOfGravity.z but no limit exists.

Not documented

Cargo-Planner: Not documented

No other product documents this.

The planner can improve weight distribution as a goal rather than a limit: moving the load's centre of gravity toward the centre, or evening out axle loads.

Counts when: A documented option that shifts or arranges the load for balance without a hard bound.

“CenterLoadMass centres the load's mass after solving; consolidation picks the axis the solver packs along from the first step.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“When enabled, the algorithm will attempt to center the weight distribution for better stability during transport.”

https://app.loadoptimizer.ai/docs/order-creation

Shift Mass to Center applies to the load wizard only, not pallets; no target or tolerance.

Documented

Cargo-Planner: Not documented

2 of 8 others document this.

The user can give an item an off-centre centre of gravity, and the weight calculations use it.

Counts when: A documented per-item centre-of-gravity offset input.

“Only drop contents too (give just geometry + weight, optionally centerOfGravity) when you don't have the item detail”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“sku entries add weight/centerOfGravity.”

https://www.loadoptimizer.ai/docs/libraries.html

Not counted: the evidence is a field name with no description of what it does.

  • Only in some editions, plans, methods or equipment types

Beta page ("not callable on every account yet"); not part of the V0.5 contract. For pre-loaded pallets shipped as solid blocks (Beta) and SKU library entries (In development). Not available on an inline V0.5 cargo line; the field shape is not shown.

Documented as beta

Cargo-Planner: Not documented

1 of 8 others document this.

Sequencing, priority and multi-drop 3 of 10

The user can set an order among items or groups, and the planner places earlier ones deeper in the unit (further from the door).

Counts when: A documented user-set sequence (list order, sequence number or group order) that the planner follows when placing.

“Drag each group by its handle into the order you want them loaded. Group 1 goes in first, deepest in the carrier and farthest from the doors.”

https://app.loadoptimizer.ai/docs/order-creation

“Put them in the same group, choose the order of the groups, and each group is loaded as its own section of the carrier. Group 1 goes in first, deepest in the carrier.”

https://app.loadoptimizer.ai/changelog/grouping-separate-sections

Web app, with 'Load groups as separate sections' on (up to 20 groups; Back→Front or Left→Right). Built-in FAQ rule: heavy boxes to the floor first. Beta: stops[].sequence with destination.

Documented

Cargo-Planner: Documented

8 of 8 others document this.

When not everything fits, the user can decide by priority which items are loaded and which are left out.

Counts when: A documented priority that controls which items are loaded first or dropped.

“Use MaximizeFill when carriers are the constraint (limited quantity) and leftover cargo is acceptable , it lands in unplacedItems by priority.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

“The reason is one of no_space, over_weight, axle_limit, no_compatible_hold, constraint_violation, cog_limit, or dropped_by_priority”

https://www.loadoptimizer.ai/docs/mixed-routing.html

Not counted: the evidence is a field name with no description of what it does.

  • The vendor's own sources disagree on this point

Priority is named on Beta and In-development pages (a job-level property, an overridable ItemConstraint, and the dropped_by_priority reason) but its field and ordering direction are never defined. V0.5 explicitly has none. The FAQ tells app users to 'Remove lower-priority items' by hand.

Documented as beta

Cargo-Planner: Documented

7 of 8 others document this.

The user can mark items as optional (fill items), so that they are loaded only into space left after all required items.

Counts when: A documented optional or fill-item flag.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: optional, fill item, filler, nice to have, if space, top up. MinimizeCarriers 'fixes the cargo (every item must ship)'.

Not documented

Cargo-Planner: Documented

4 of 8 others document this.

The user can assign items to delivery stops, and the planner places each stop's items nearer the door than the items for later stops.

Counts when: A documented stop or destination attribute with a load rule that orders stops along the unit.

“Boxes that belong together, such as the goods for one customer or one stop, can now be loaded together. Put them in the same group, choose the order of the groups, and each group is loaded as its own section of the carrier. Group 1 goes in first, deepest in the carrier.”

https://app.loadoptimizer.ai/changelog/grouping-separate-sections

“Group 1 goes in first, deepest in the carrier and farthest from the doors.”

https://app.loadoptimizer.ai/docs/order-creation
How it is done with general settings

1. Assign each stop's boxes to its own group (Cards drag, Spreadsheet Group column or Excel groupId) [https://app.loadoptimizer.ai/docs/order-creation, https://app.loadoptimizer.ai/docs/excel-format]. 2. Order the groups so the last stop is Group 1 (deepest, farthest from the doors) and the first stop is the last group [https://app.loadoptimizer.ai/docs/order-creation]. 3. Choose Back→Front (rear door) or Left→Right (side door) [https://app.loadoptimizer.ai/docs/order-creation]. 4. Turn on 'Grouping: Load groups as separate sections' [https://app.loadoptimizer.ai/docs/order-creation].

  • Combination of general settings, shown by the vendor
  • Relies on a setting other rows also use; they may not all work at once
  • Only in some editions, plans, methods or equipment types

GA in the web app via ordered group sections; the changelog names 'one stop' as a use. Up to 20 stops; sections are not back-filled. A native stops[]/destination model with access face and four separation modes exists on a Beta page.

Documented

Cargo-Planner: Documented

7 of 8 others document this.

The planner guarantees that no item for a later stop is in front of or on top of an item for an earlier stop, so each stop unloads without moving other goods.

Counts when: Documentation stating that items of later stops never block earlier stops (front or above), as a hard rule.

“ordered is soft (it bends under physics, like LIFO itself); segmented, layered and noCrossStack are hard , cargo that can't be placed within the rule comes back in unplacedItems rather than breaking it.”

https://www.loadoptimizer.ai/docs/multi-drop-lifo.html

“layered Stops may share the same floor footprint, but earlier-off cargo must sit on top , you reach down in unload order.”

https://www.loadoptimizer.ai/docs/multi-drop-lifo.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. The default 'ordered' mode is soft. The GA app sections (see sequence-multi-drop) keep groups in separate ordered blocks but the app docs do not state this as a no-blocking guarantee.

Documented as beta

Cargo-Planner: Documented

4 of 8 others document this.

The user can set how far one stop's goods may overlap the next stop's along the unit's length.

Counts when: A documented overlap or mixing distance between stops or sequences.

Only zero overlap (segmented / app sections) or unbounded interleaving (ordered) are available.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: overlap, interleave, mix, look-ahead, stopSeparation, barrier. Stops either interleave freely ('ordered') or not at all ('segmented', with an optional gap), with no overlap distance.

Not documented

Cargo-Planner: Not documented

2 of 8 others document this.

The user can give items a pickup stop as well as a drop-off stop, and the planner keeps the load accessible at every stop.

Counts when: A documented per-item origin and destination stop.

Near miss (In development): reservedRegions plus carrier contents allow a two-job leg-1/leg-2 workflow, not pickup-and-delivery stops per item.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: pickup, pick-up, origin, collection, milk-run, leg, reserve. The In-development partial-loads page reserves space for 'a pickup further along the route' and continues loading in a second job, but has no per-item origin stop.

Not documented

Cargo-Planner: Not documented

1 of 8 others document this.

Stop-order rules still apply when the shipment spans several units.

Counts when: Documentation that multi-drop ordering works in multi-unit plans (within each unit or across consecutive units).

“When enabled, each group is loaded as one block. Within a carrier the groups follow the order you set in the Boxes step.”

https://app.loadoptimizer.ai/docs/order-creation

“You can define one or more carriers per order. When more than one is present, the optimizer fills them in the order they appear on the Carriers sheet.”

https://app.loadoptimizer.ai/docs/order-creation
How it is done with general settings

1. Build multi-drop as ordered group sections (see sequence-multi-drop) [https://app.loadoptimizer.ai/docs/order-creation]. 2. List several carriers; the optimizer fills them in list order [https://app.loadoptimizer.ai/docs/order-creation]. 3. 'Within a carrier the groups follow the order you set', so the stop order holds inside each carrier [https://app.loadoptimizer.ai/docs/order-creation].

  • Combination of general settings, assembled by the auditor from documented parts
  • Follows from documented behaviour rather than stated outright
  • Relies on a setting other rows also use; they may not all work at once

Inferred from the 'within a carrier' wording; the Beta LIFO page describes one vehicle only and says nothing about multi-unit plans.

Documented

Cargo-Planner: Documented

4 of 8 others document this.

When not everything fits, each stop's (or sequence's) items are loaded completely or not at all.

Counts when: A documented rule that a stop or sequence is never partially loaded.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: all or nothing, whole stop, partial stop, complete, drop, unplaced, stop.

Not documented

Cargo-Planner: Documented

2 of 8 others document this.

The planner can assign items to units or shipping dates by due or storage date, within set limits.

Counts when: A documented date input and a rule that uses it to allocate cargo.

“2. Group by ship date and lane first. Orders can only share a vehicle if they can share a departure and a direction.”

https://www.loadoptimizer.ai/load-building-software/

“Our load building software groups the open orders into loads, then plans how each vehicle is stacked.”

https://www.loadoptimizer.ai/

Marketing only; no date, lane or order field exists in the API, Beta pages or app.

Marketing claim only

Cargo-Planner: Not documented

1 of 8 others document this.

Pallet building, cartonisation and multi-stage loading 3 of 14

The user can build a load on a pallet, with the deck height counted and a maximum total height that includes the deck.

Counts when: Documentation of a pallet as a loading space with deck height and total height limit.

“The load height is the space above the pallet deck that your boxes may fill.”

https://app.loadoptimizer.ai/docs/mixed-palletizing

“You enter the space above the deck, and the wizard shows the height of the finished unit next to it, pallet included.”

https://app.loadoptimizer.ai/docs/mixed-palletizing

App Mixed Palletizing (paid plans): 8 catalogue footprints plus custom; load height per entry. The deck height itself is not a user field. Beta API: a pallet carrier with a hold offset by the deck (offset z 144).

Documented

Cargo-Planner: Documented

7 of 8 others document this.

For a single item type, the planner generates the layer pattern and number of layers for a pallet (Hi/Ti).

Counts when: Documentation of automatic single-item pallet pattern generation.

“Build mixed pallets from your box list. Pick the footprints you ship on, set the load height above the deck, and let the optimizer stack them.”

https://app.loadoptimizer.ai/docs/mixed-palletizing

“Boxes are stacked from the bottom up, one complete floor at a time, which is how a pallet gets built.”

https://app.loadoptimizer.ai/docs/mixed-palletizing
  • Follows from documented behaviour rather than stated outright

The pallet wizard builds pallets automatically from any box list, including a single type; no Hi/Ti output or alternative patterns are documented. The V0.5 quickstart also packs one box type onto a pallet carrier.

Documented

Cargo-Planner: Documented

8 of 8 others document this.

The user can steer the pallet pattern: choose a pattern style (block, pinwheel, interlocked), supply a saved pattern, fix the number of cases per pallet, or rotate alternate layers.

Counts when: At least one documented control over the pattern the planner builds.

“The options step has nothing to set yet, and that is on purpose.”

https://app.loadoptimizer.ai/docs/mixed-palletizing

“EUR, US, and custom pallet footprints, with overhang and layer control for your cartons”

https://www.loadoptimizer.ai/pallet-loading-software/
  • The vendor's own sources disagree on this point

The app states the pallet options step has no settings. Marketing claims 'layer control' and pattern testing (column, interlocking, pinwheel) with no documented control.

Vendor documents a limit

Cargo-Planner: Documented

6 of 8 others document this.

The planner builds pallets that carry several different item types.

Counts when: Documentation of automatic mixed-item pallet building.

“A second wizard, built around the pallet. Choose the footprints you ship on, set the load height above the deck, and let the optimizer stack your mixed boxes.”

https://app.loadoptimizer.ai/changelog/mixed-palletizing

“Boxes are stacked from the bottom up, one complete floor at a time, which is how a pallet gets built.”

https://app.loadoptimizer.ai/docs/mixed-palletizing

Released 26 Aug 2026; paid plans only; no overhang, weight or stacking options on the pallet step.

Documented

Cargo-Planner: Documented

6 of 8 others document this.

The user can allow cargo to overhang the pallet edge by up to a set distance.

Counts when: A documented pallet overhang allowance with a limit.

“Letting boxes hang past the footprint by a margin you set is the next thing we are building here.”

https://app.loadoptimizer.ai/docs/mixed-palletizing

“cost; accessFace (door/unload side); the hold's maxWeight (payload cap), maxStackHeight (build-height cap), and overhang (protrusion allowance)”

https://www.loadoptimizer.ai/docs/libraries.html
  • The vendor's own sources disagree on this point

Not available in the app; announced as the next feature. An 'overhang (protrusion allowance)' override also appears on an In-development API page. Marketing pages claim overhang limits already.

Vendor documents a limit

Cargo-Planner: Vendor documents a limit

5 of 8 others document this.

The user can control where the load sits on the pallet deck: centred, or within a set distance inside the edge.

Counts when: A documented centre-load or underhang (inset) setting.

Marketing's 'keeps the stack square over the base' is not a setting.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: centre on pallet, center, underhang, inset, edge, square over the base, deck position.

Not documented

Cargo-Planner: Not documented

3 of 8 others document this.

The planner inserts slip sheets or interlayers of a set thickness every N layers.

Counts when: A documented interlayer setting with thickness and frequency.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: slip sheet, interlayer, tier sheet, layer pad, cardboard. 'slip sheets' appears only in a load-building explainer about weight.

Not documented

Cargo-Planner: Not documented

1 of 8 others document this.

The user can prevent items of different groups (customers, orders, stops) from sharing a pallet.

Counts when: A documented rule keeping groups on separate pallets.

“Override for a named group via groups[name].loadInto, or for one entry via that entry's loadInto.”

https://www.loadoptimizer.ai/docs/mixed-routing.html

“For an inline carrier, target its name instead.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html
How it is done with general settings

1. Define the pallet as two (or more) inline carrier entries with the same geometry but different names, each with quantity null and loadInto the truck [https://www.loadoptimizer.ai/docs/palletize-then-truck.html]. 2. Put each customer/order's cargo in its own group and set groups[name].loadInto to that group's own pallet entry [https://www.loadoptimizer.ai/docs/mixed-routing.html]. 3. Routing is explicit, so a group's boxes only go on its own pallet entries and groups never share a pallet [https://www.loadoptimizer.ai/docs/mixed-routing.html].

  • Combination of general settings, assembled by the auditor from documented parts

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Marketing claims 'product families that cannot mix'. The app pallet wizard has no grouping option.

Documented as beta

Cargo-Planner: Documented

4 of 8 others document this.

In one run, the planner builds pallets from cases and then loads those pallets into vehicles or containers.

Counts when: Documentation of a single calculation that palletises and then loads the pallets.

“Pack boxes onto pallets and load those pallets into a truck , in a single job , using the recursive load-unit model.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html

“So a loaded pallet is not something you can place inside a truck in one job. Nesting carriers that way is planned for a future release.”

https://www.loadoptimizer.ai/docs/concepts.html
  • The vendor's own sources disagree on this point

Beta page ("not callable on every account yet"); not part of the V0.5 contract. In the V0.5 API and the web app (two separate wizards) palletising and vehicle loading are separate runs.

Documented as beta

Cargo-Planner: Documented

5 of 8 others document this.

A built pallet or packed carton can be carried into a later vehicle plan as an item with its actual size and weight, without re-entering them.

Counts when: Documentation of saving a pallet or carton result as a loadable item, or of assigning a built pallet to a vehicle.

“Ship pallets a customer has already built, optionally let the optimizer keep stacking loose goods onto them, and load everything into containers , all in one job.”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“The pallet's loaded weight and CoG are derived from its contents, so you don't restate weight.”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. A built pallet enters a vehicle plan as cargo with its contents (weight/CoG/envelope derived). Carrying a pallet result from the app pallet wizard into a load plan is not documented.

Documented as beta

Cargo-Planner: Not documented

5 of 8 others document this.

The planner chains three or more packing levels (for example items into cartons, cartons onto pallets, pallets into trucks).

Counts when: Documentation of at least three nested levels in one plan or chained stages.

“The pallet is a carrier and an item. It appears in carriers[] (so the solver may spawn as many as it needs , quantity: null = unlimited), and its own loadInto: ["carrier_eu_tautliner_3axle"] declares the pallet→truck step. An intermediate carrier routes onward exactly as cargo does.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html

“You get accurate axle loads no matter how deep the cargo nests.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html
How it is done with general settings

1. Define the carton as an intermediate carrier with loadInto the pallet [https://www.loadoptimizer.ai/docs/palletize-then-truck.html]. 2. Define the pallet as an intermediate carrier with loadInto the truck, and leave the truck without loadInto (terminal) [https://www.loadoptimizer.ai/docs/palletize-then-truck.html]. 3. Give the items loadInto the carton; the solver follows the chain and nests the result [https://www.loadoptimizer.ai/docs/palletize-then-truck.html].

  • Combination of general settings, assembled by the auditor from documented parts
  • Follows from documented behaviour rather than stated outright

Beta page ("not callable on every account yet"); not part of the V0.5 contract. The worked example is box→pallet→truck (two packing steps); a third step follows from 'routes onward exactly as cargo does' and 'no matter how deep'.

Documented as beta

Cargo-Planner: Documented

4 of 8 others document this.

The user controls how an item's quantity splits between full pallets, partial or mixed pallets and loose loading (or packed versus shipped in its own box), or the planner decides per unit.

Counts when: A documented remainder rule or palletise-or-loose choice per item.

“Line splitting , a single cargo line's amount may split across its candidates: some onto pallets, the remainder loose, when that packs better.”

https://www.loadoptimizer.ai/docs/mixed-routing.html

“Boxes that don't fill a final pallet can be allowed to load loose in the truck instead , that's mixed routing.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract.

Documented as beta

Cargo-Planner: Documented

6 of 8 others document this.

Built pallets get their own orientation and stacking rules in the vehicle, independent of the items on them (including whether a pallet may carry another and how full its top must be).

Counts when: Documented orientation, stacking or floor rules set on built pallets for the next stage.

“To forbid it, add a job-level directOn rule (the pallet class may not rest on the pallet class) or set the pallet's constraints.allowStackingOnTop: false.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html

“for a carrier, these govern it when it's itself stacked, e.g. a loaded pallet on a truck”

https://www.loadoptimizer.ai/docs/libraries.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Built/pre-loaded pallets take allowStackingOnTop, maxWeightOnTop, minSupport and class relations in the vehicle; library defaultConstraints on carriers (In development).

Documented as beta

Cargo-Planner: Documented

6 of 8 others document this.

The planner sizes pallet height to the space available in the vehicle (for example shorter pallets for the top tier).

Counts when: Documentation of pallet heights adapted to the vehicle or to the space above a lower tier.

Heights are user-set, not adapted by the planner.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: pallet height, load height, top tier, double stack, adapt, maxStackHeight. The app tells the user to take the load height from 'the roof of the trailer the pallets travel in' (a manual input); the In-development maxStackHeight override is also user-set.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

Objectives and search control 0 of 6

The planner maximises the cargo loaded into a given set of units, leaving any excess unloaded.

Counts when: Documentation that the planner fills fixed units as fully as possible.

“Use MaximizeFill when carriers are the constraint (limited quantity) and leftover cargo is acceptable , it lands in unplacedItems by priority.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

“Any other value is rejected with a 400, including "MaximizeFill", a primary objective in the target API that /v2 does not implement.”

https://www.loadoptimizer.ai/docs/objectives.html
  • The vendor's own sources disagree on this point

MaximizeFill is Beta; V0.5 rejects it. Under V0.5 MinimizeCarriers with a fixed quantity, leftovers are reported, but the docs do not say the given units are filled as fully as possible. Pricing lists a 'max first truck' method (Business+), undocumented.

Documented as beta

Cargo-Planner: Documented

7 of 8 others document this.

The user can make the planner maximise loaded weight (or weight utilisation) instead of volume.

Counts when: A documented weight-based objective or selection strategy.

No weight-based objective among the documented primaries (MinimizeCarriers, MaximizeFill, BalanceCarriers, MinimizeCost).

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: weight utilization, maximize weight, weight objective, heavy, payload objective. weightUtilization appears only as a Beta output KPI.

Not documented

Cargo-Planner: Not documented

2 of 8 others document this.

The planner can spread the load evenly over the units used, instead of filling each to the maximum in turn.

Counts when: A documented balancing or redistribution option across units.

“objective: BalanceCarriers configuration Spread the load evenly across the available carriers.”

https://www.loadoptimizer.ai/docs/containers-and-uld.html

“Two further packing strategies are coming soon: Minimize (use the fewest carriers) and Balance (spread boxes evenly across carriers).”

https://app.loadoptimizer.ai/changelog/wizard-and-multi-carrier
  • The vendor's own sources disagree on this point
  • Follows from documented behaviour rather than stated outright

Beta page ("not callable on every account yet"); not part of the V0.5 contract. 'Evenly' is not defined (volume, weight or count). The June 2026 changelog calls Balance 'coming soon' in the app; the pricing table lists 'balance fill' from Standard up.

Documented as beta

Cargo-Planner: Documented

4 of 8 others document this.

The planner works out how many units of an item (or complete sets) fit, or tops up leftover space with more of the items already planned, without a quantity being given.

Counts when: A documented cube-out, maximum-sets or top-up mode.

“When all boxes of a type are placed, a green check icon is shown. Click the plus button to add an extra box beyond the original count.”

https://app.loadoptimizer.ai/docs/edit-mode

“If there is no space available for the box, a dialog will inform you.”

https://app.loadoptimizer.ai/docs/edit-mode

Not counted: only reachable by manual work or off-label use.

No cube-out, maximum-sets or automatic top-up mode; the user adds extra boxes one at a time and each is auto-placed until a 'does not fit' dialog appears.

Documented, not counted

Cargo-Planner: Documented

5 of 8 others document this.

The user can trade calculation time for plan quality (for example a time limit, search depth, quality level or fast mode).

Counts when: A documented run-time or quality control.

“Fast heuristic for instant results; AI-optimized runs for complex mixed loads.”

https://www.loadoptimizer.ai/

“Pick heuristic or AI-run, the load planning software returns optimized 3D plan in seconds.”

https://www.loadoptimizer.ai/

Homepage only. The objectives page calls CenterLoadMass and consolidation 'deterministic switches'; nothing is said about run-to-run reproducibility.

Marketing claim only

Cargo-Planner: Documented

7 of 8 others document this.

The planner returns several alternative plans (for example one per strategy or per candidate equipment) for the user to compare.

Counts when: Documentation of multiple solutions produced in one run.

One plan per job.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: alternative, several plans, compare, options, variants, batch. Batch jobs (In development) run several independent jobs; the truck page suggests the user 'compare the same order across two vehicle types' by planning twice.

Not documented

Cargo-Planner: Vendor documents a limit

2 of 8 others document this.

Expressiveness (user-built rules) 0 of 10

The user can write a rule that selects items by a condition on an attribute (for example all items over 500 kg) and applies a constraint to them.

Counts when: A documented rule mechanism that selects items by an attribute condition.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: rule, condition, if, where, threshold, over, attribute, filter, select. Rules attach to named entries, groups or classes only.

Not documented

Cargo-Planner: Documented

2 of 8 others document this.

The user can define their own item attributes and use them in planning rules.

Counts when: Documentation of user-defined fields that a rule, matrix or objective can select on.

“Free labels, no solver behaviour. Echoed back as the (singular) group array on placements and unplaced entries.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“Optional display hint for the viewer (e.g. "box"), echoed on the result. Free text: presentation only, not a closed set.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

V0.5 labels (groups, category, externalId, description, color) are display-only. On Beta pages, free class labels (classes[]) drive classRelations and hold capability labels drive routing; those are scored under the class-matrix and compartment rows. No general user-defined attribute a rule can select on.

Vendor documents a limit

Cargo-Planner: Documented

1 of 8 others document this.

The user can define item classes and a matrix of which class may be stacked on which.

Counts when: A documented class code per item and a class-to-class stacking matrix.

“"constraints": { "classRelations": { "directOn": [ { "upper": "std_pallet", "lower": "fragile_pallet" } ]”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“the directOn rule above (a std_pallet may not rest on a fragile_pallet) governs pallet-on-pallet stacking in the container too”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html
  • Follows from documented behaviour rather than stated outright

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Class codes per entry (classes[], several allowed) and a list of forbidden {upper, lower} pairs. No per-orientation exceptions; notAbove is named but unspecified.

Documented as beta

Cargo-Planner: Documented

5 of 8 others document this.

The user can define item classes and a matrix of which classes may share a unit.

Counts when: A documented class code per item and a class-to-class compatibility matrix for sharing a unit.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: compatible, incompatible, same carrier, share, matrix, classes, requiresHold, capabilities. Hold capabilities route items to compartments within a unit; no class-to-class matrix for sharing a unit.

Not documented

Cargo-Planner: Documented

2 of 8 others document this.

The user can cap, per unit (or per group within a unit), the sum of any per-item numeric value they choose.

Counts when: A documented mechanism in which the user chooses the attribute to be summed and capped.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: sum, total, cap, limit, custom attribute, per group weight, per carrier.

Not documented

Cargo-Planner: Documented

1 of 8 others document this.

Rule settings can differ from one equipment unit to another within one plan.

Counts when: Documentation of rule or optimiser profiles assigned per unit or equipment type.

No rule or optimiser profile per carrier.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: per carrier, per vehicle, profile, settings, configuration, defaultConstraints, accessFace. Configuration (objective, secondaries, cogLimit, stopSeparation) is job-level; carriers carry physical properties (holds, axles, accessFace) and, in the library, defaultConstraints for when the carrier itself is stacked.

Not documented

Cargo-Planner: Documented

3 of 8 others document this.

Several stacking criteria (for example footprint, weight order and a class matrix) can be active at the same time in one plan.

Counts when: Documentation that more than one stacking criterion applies simultaneously.

“it only lands somewhere it's allowed: within that pallet's maxWeightOnTop, with at least minSupport % of its base resting on the surface below, and obeying any separation/directOn/requiresHold rules;”

https://www.loadoptimizer.ai/docs/preloaded-and-stacking.html

“Stacking onto the existing load obeys the normal rules: minSupport, maxWeightOnTop, and the directOn/notAbove class relations (see Constraints).”

https://www.loadoptimizer.ai/docs/partial-and-continued-loading.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. In V0.5 the only stacking criterion is allowStackingOnTop.

Documented as beta

Cargo-Planner: Documented

5 of 8 others document this.

The user can combine several objectives in a priority order or with weights (for example fewest units, then axle balance, within a tolerance).

Counts when: A documented mechanism for ordered or weighted multiple objectives.

“Secondaries are applied lexicographically after the primary, so give the primary a tolerance band so the balancer has room to act:”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

“Combination is lexicographic, never a weighted sum: the primary objective wins, then each entry in secondaryObjectives breaks ties in order.”

https://www.loadoptimizer.ai/docs/cost-and-fleet.html
  • The vendor's own sources disagree on this point
  • Only in some editions, plans, methods or equipment types

Beta (axle-legal page) and In development (cost page). V0.5 rejects tolerance with 400 and treats its two secondaries as unordered switches. Pricing lists 'multi objective' on Enterprise only.

Documented as beta

Cargo-Planner: Documented

1 of 8 others document this.

The user can add their own constraint or objective logic (script, plug-in or callback) that the planner evaluates.

Counts when: Documentation of a user-accessible extension mechanism for constraints or objectives.

Vendor-built customisation (Enterprise) only.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: script, plugin, plug-in, callback, custom rule, extension, webhook, custom functionality. Webhooks (In development) are job notifications; Enterprise pricing offers 'Custom functionality development' by the vendor, which fails as a user capability.

Not documented

Cargo-Planner: Documented, not counted

No other product documents this.

For a given rule, the user can choose whether it is a hard limit or a preference the planner follows where it can. †

Counts when: Documentation shows at least one constraint type that can be set either as a hard rule or as a soft preference.

“ordered is soft (it bends under physics, like LIFO itself); segmented, layered and noCrossStack are hard”

https://www.loadoptimizer.ai/docs/multi-drop-lifo.html

“When you need a stricter discipline , a hard divide between stops, or a rule about stacking across stops , set configuration.stopSeparation.mode:”

https://www.loadoptimizer.ai/docs/multi-drop-lifo.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. The user picks soft (ordered) or hard (segmented/layered/noCrossStack) stop ordering. loadInto candidate order is a soft preference while a single candidate is hard. Axle and CoG limits are always hard, with separate soft objectives.

Documented as beta

Cargo-Planner: Documented

4 of 8 others document this.

Plan output 4 of 14

The plan gives the position and orientation of every loaded unit, individually or as blocks with counts along each axis.

Counts when: Documented coordinates (and orientation or placed dimensions) for each unit or block.

“A positioned unit in its carrier's frame. `x,y,z` is the min corner of the placed box's rotated bounding box; `sizeX/Y/Z` are that box's rotated extents; the rotation is already applied.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“Rotation in degrees, always a multiple of 90.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

API result and app Excel/CSV export.

Documented

Cargo-Planner: Documented

8 of 8 others document this.

The plan includes step-by-step loading instructions, with a diagram for each step.

Counts when: Documented step-by-step instructions with per-step views.

“Generate a printable PDF document with step-by-step stacking instructions. Each page shows which box to place next with 3D visualizations.”

https://app.loadoptimizer.ai/docs/excel-format

“Creates a *derived* job that renders one loading-instruction PDF per packed carrier instance of the source job, which must have already succeeded.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

The API units page says its PDF 'shows lengths only; no weights or volumes', while the app docs and FAQ list box weights in the PDF.

Documented

Cargo-Planner: Documented

8 of 8 others document this.

The plan lists, for each unit (including each built pallet), which items it holds and how many, and its volume and weight utilisation.

Counts when: Documented per-unit contents and utilisation figures.

“% of the carrier's geometry volume used by placements (0-100). Unit-free.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“Sum of placement weights, in units.weight.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

Per carrier: placements (contents), itemCount, volumeUtilization, loadedWeight, loadedVolume. Weight utilisation % and per-pallet KPIs appear only in Beta results (V0.5 has no weight limit to measure against).

Documented

Cargo-Planner: Documented

8 of 8 others document this.

The plan reports the floor length used or left free (loading metres).

Counts when: A documented loading-metre, length-used or end-gap figure.

“"kpis": { "volumeUtilization": 71.0, "weightUtilization": 64.0, "floorUtilization": 88.0, "ldm": 9.6, "loadedWeight": 1225, "itemCount": 9 }”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html

“area and ldm are accepted and echoed but express nothing in the result today.”

https://www.loadoptimizer.ai/docs/concepts.html
  • The vendor's own sources disagree on this point

kpis.ldm and floorUtilization appear only in Beta/In-development result examples; the V0.5 contract states ldm expresses nothing in the result today. The site's LDM calculator is a separate free tool.

Documented as beta

Cargo-Planner: Documented

6 of 8 others document this.

The plan lists the items that could not be loaded, with quantities.

Counts when: A documented not-loaded or cut list.

“A cargo line that could not be fully placed. Intentionally carries no category, geometry, weight or color: only what identifies the line and how much of it is missing.”

https://www.loadoptimizer.ai/docs/loadoptimizer-openapi.yaml

“the two columns an export adds to the Boxes sheet, unplaced and inputItemId, are ignored on the way back in.”

https://app.loadoptimizer.ai/docs/excel-format

API unplacedItems[] with amount per line; app Excel Boxes sheet 'unplaced' column and Edit Mode box counts.

Documented

Cargo-Planner: Documented

7 of 8 others document this.

The plan states why each unplaced item was not loaded.

Counts when: A documented reason per unplaced item (for example too large, over weight, no space, rule violation).

“The reason is one of no_space, over_weight, axle_limit, no_compatible_hold, constraint_violation, cog_limit, or dropped_by_priority (with constraintRef naming the rule for constraint_violation).”

https://www.loadoptimizer.ai/docs/mixed-routing.html

“The assistant looks at the calculation, tells you which boxes did not fit and why, and offers a fix like 'add_more_carriers' or 'reduce_box_count'.”

https://app.loadoptimizer.ai/docs/loady-assistant

Beta page ("not callable on every account yet"); not part of the V0.5 contract. V0.5 UnplacedItem has no reason field. In the GA app the Loady assistant explains a partial fit and suggests one of a few common fixes.

Documented as beta

Cargo-Planner: Documented

2 of 8 others document this.

The plan reports the load's centre of gravity as a position (lengthwise and sideways).

Counts when: A documented numeric centre-of-gravity output, or numeric offsets from the centre of the space.

“centerOfGravity gives the load CoG in the carrier frame”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

“"centerOfGravity": { "x": 3.35, "y": 0, "z": 1.18 }”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html
  • The vendor's own sources disagree on this point

Beta page ("not callable on every account yet"); not part of the V0.5 contract. The V0.5 result has no CoG figure. Marketing and pricing claim a CoG check on every plan, including Free; no CoG output appears in the app docs.

Documented as beta

Cargo-Planner: Documented

3 of 8 others document this.

The plan reports the load on each axle group and whether it is within its limit.

Counts when: Documented per-axle load figures in the output.

“Per group you get load, the effective maxLoad, utilization %, and withinLimit; the combination reports gross (weight / limit / withinLimit)”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

“In LoadOptimizer the axle weight and center of gravity check runs on every plan, including the Free plan.”

https://www.loadoptimizer.ai/truck-loading-software/
  • The vendor's own sources disagree on this point

Beta page ("not callable on every account yet"); not part of the V0.5 contract. Limits and margins (utilization, withinLimit) are shown. No axle output appears in the V0.5 result or the app docs, although marketing says axle loads are shown in the app.

Documented as beta

Cargo-Planner: Documented

5 of 8 others document this.

The plan reports how weight is distributed along the unit's length (per section or per unit length).

Counts when: A documented weight-distribution output along the length.

Claimed heatmaps only; axle loads (Beta) are the only documented weight-position output.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: distribution, along the length, per metre, section, heatmap, floor weight. The features page claims 'visual weight distribution heatmaps for every load plan', with no documented output.

Not documented

Cargo-Planner: Not documented

3 of 8 others document this.

The plan reports gross weight including the equipment's tare (for example for a verified gross mass declaration).

Counts when: A documented gross or total weight that includes tare.

“"gross": { "weight": 25400, "limit": 26000, "withinLimit": true }”

https://www.loadoptimizer.ai/docs/axle-legal-loading.html

“placements[].weight result Effective weight = tare + contents for a loaded carrier.”

https://www.loadoptimizer.ai/docs/palletize-then-truck.html
  • Only in some editions, plans, methods or equipment types

Beta page ("not callable on every account yet"); not part of the V0.5 contract. axle.gross.weight includes the vehicle tare (example: 16400 kg load + 9000 kg tare = 25400). For containers without an axle block, V0.5 reports only cargo weight (loadedWeight excludes tare); the VGM claim is marketing.

Documented as beta

Cargo-Planner: Documented

3 of 8 others document this.

The plan gives per-stop information: the contents for each stop and a view of the unit at each stop.

Counts when: Documented per-stop summaries or views.

“The result adds a top-level stops[] rollup , per stop you get itemCount and weight. Each placement also carries its own stop id, so you can colour or filter the 3D layout by drop:”

https://www.loadoptimizer.ai/docs/multi-drop-lifo.html

Beta page ("not callable on every account yet"); not part of the V0.5 contract. No per-stop view or per-stop instructions are documented.

Documented as beta

Cargo-Planner: Documented

5 of 8 others document this.

The planner checks a plan, including one edited by hand, against the item rules and lists any violations.

Counts when: Documented rule validation of an edited or imported plan, with a violations list or warnings.

“When you know something the data does not, such as a drop that must come off first, you can drag pallets to new positions and the software keeps the fit, weight, and axle checks live as you adjust.”

https://www.loadoptimizer.ai/truck-loading-software/

“A red warning appears when a box exceeds the container height. Reposition the box to resolve the violation.”

https://app.loadoptimizer.ai/docs/edit-mode

The app docs document only a container-height warning in Edit Mode (noted as insufficient by the row). POST /jobs/validate checks request syntax, not a plan.

Marketing claim only

Cargo-Planner: Not documented

1 of 8 others document this.

The plan identifies empty voids above a set size (for example for dunnage or airbags).

Counts when: Documented void or empty-space output.

Where we looked

Full text of: OpenAPI contract (loadoptimizer-openapi.yaml, all schemas); API docs concepts, constraints, job-request, objectives, units, building-load-units, quickstart, errors, exports-and-sharing; all Beta pages (axle-legal-loading, containers-and-uld, multi-drop-lifo, palletize-then-truck, mixed-routing, preloaded-and-stacking); In-development pages (cost-and-fleet, partial-and-continued-loading, libraries, batch-jobs, webhooks); app help centre app.loadoptimizer.ai/docs (overview, how-it-works, order-creation, mixed-palletizing, boxes, excel-format, 3d-viewer, edit-mode, loady-assistant) and app.loadoptimizer.ai/changelog with all 8 entries; FAQ, pricing, features, features/manual-edit, how-it-works, homepage and 15 solution pages (truck, container, container-stuffing, load-building, multi-carrier, cylindrical, tank-and-pipe, pallet-loading, mixed-palletizing, stacking-rules, air-cargo-uld, automotive, api-documentation, api-integrations). Keyword search (regex, case-insensitive) for: void, empty space, gap, dunnage, airbag, free space. 'dunnage' appears only in explainer text about weight.

Not documented

Cargo-Planner: Not documented

3 of 8 others document this.

The plan reports the cost of the equipment used, and the cost allocated to each item.

Counts when: Documented plan cost output.

“The result's summary.totalCost is the sum of the used top-level carriers' costs; per-carrier the chosen type is identifiable by libraryId/name.”

https://www.loadoptimizer.ai/docs/cost-and-fleet.html

In development (not callable yet). No per-item cost allocation; cost is unitless with a display-only currency.

Documented as announced

Cargo-Planner: Documented

2 of 8 others document this.

Cargo-Planner meets 109 of 149. Try it on yours.

Start a free trial with your own equipment and load list, or book a demo and we will plan it with you.

Sources read

Read on 30 September 2026. Public material only: nothing behind a login, a trial or a video.

Are you LoadOptimizer.ai, and see something we got wrong? How to request a correction.