Zum Inhalt
HALOWERK

Handelswerk

container load

Loads a package list into one loading space and returns the plan, not an estimate. The floor starts as one free surface; packages are sorted by footprint, then height, then weight, then identifier, and each one is placed on the lowest, then frontmost, then smallest free surface it fits on, turned by 90 degrees around the vertical axis where that makes it fit.

POST https://handel.halowerk.com/v1/container-load

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
containerobjectJaInner loading space and payload of the container, trailer or swap body.
itemsarrayJaThe packages to load. Each entry is one type with a quantity.
axlesarrayNeinExactly two axle groups, for the static axle load. With more than two the load split is statically indeterminate and cannot be computed from geometry alone, so only two are accepted.
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "required": [
    "container",
    "items"
  ],
  "additionalProperties": false,
  "properties": {
    "container": {
      "type": "object",
      "required": [
        "length_mm",
        "width_mm",
        "height_mm",
        "max_payload_kg"
      ],
      "additionalProperties": false,
      "description": "Inner loading space and payload of the container, trailer or swap body.",
      "properties": {
        "length_mm": {
          "type": "number",
          "minimum": 1,
          "maximum": 30000,
          "description": "Inner length in millimetres. The x axis, measured from the front wall."
        },
        "width_mm": {
          "type": "number",
          "minimum": 1,
          "maximum": 5000,
          "description": "Inner width in millimetres. The y axis."
        },
        "height_mm": {
          "type": "number",
          "minimum": 1,
          "maximum": 5000,
          "description": "Inner height in millimetres. The z axis."
        },
        "max_payload_kg": {
          "type": "number",
          "minimum": 0,
          "maximum": 100000,
          "description": "Payload in kilograms. Loading stops before this is exceeded."
        }
      }
    },
    "items": {
      "type": "array",
      "minItems": 1,
      "maxItems": 200,
      "description": "The packages to load. Each entry is one type with a quantity.",
      "items": {
        "type": "object",
        "required": [
          "item_id",
          "length_mm",
          "width_mm",
          "height_mm",
          "weight_kg"
        ],
        "additionalProperties": false,
        "properties": {
          "item_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Your identifier for this package type. Must be unique within the request."
          },
          "length_mm": {
            "type": "number",
            "minimum": 1,
            "maximum": 30000,
            "description": "Length of one package in millimetres."
          },
          "width_mm": {
            "type": "number",
            "minimum": 1,
            "maximum": 30000,
            "description": "Width of one package in millimetres."
          },
          "height_mm": {
            "type": "number",
            "minimum": 1,
            "maximum": 30000,
            "description": "Height of one package in millimetres. Never used as a footprint side: packages are not tipped."
          },
          "weight_kg": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000,
            "description": "Weight of one package in kilograms."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "default": 1,
            "description": "How many packages of this type."
          },
          "stackable": {
            "type": "boolean",
            "default": true,
            "description": "Whether anything may be placed on top of this package. False ends the stack above it."
          },
          "rotatable": {
            "type": "boolean",
            "default": true,
            "description": "Whether the package may be turned by 90 degrees around the vertical axis. Never tipped."
          },
          "max_stack_load_kg": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000,
            "description": "How much weight one package can carry on top of it. Checked against the load actually resting on it."
          }
        }
      }
    },
    "axles": {
      "type": "array",
      "minItems": 2,
      "maxItems": 2,
      "description": "Exactly two axle groups, for the static axle load. With more than two the load split is statically indeterminate and cannot be computed from geometry alone, so only two are accepted.",
      "items": {
        "type": "object",
        "required": [
          "axle_id",
          "position_mm"
        ],
        "additionalProperties": false,
        "properties": {
          "axle_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32,
            "description": "Your label for this axle group, for example front or bogie."
          },
          "position_mm": {
            "type": "number",
            "minimum": -30000,
            "maximum": 60000,
            "description": "Position along the x axis in millimetres, measured from the front wall of the loading space. May be negative if the axle sits ahead of it."
          },
          "max_load_kg": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000,
            "description": "Permitted load on this axle group in kilograms, payload share only."
          }
        }
      }
    }
  }
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "container": {
    "length_mm": 5900,
    "width_mm": 2350,
    "height_mm": 2390,
    "max_payload_kg": 28000
  },
  "items": [
    {
      "item_id": "EUR-PAL-HIGH",
      "length_mm": 1200,
      "width_mm": 800,
      "height_mm": 1600,
      "weight_kg": 620,
      "quantity": 4,
      "stackable": false,
      "rotatable": true
    },
    {
      "item_id": "EUR-PAL-LOW",
      "length_mm": 1200,
      "width_mm": 800,
      "height_mm": 750,
      "weight_kg": 410,
      "quantity": 8,
      "stackable": true,
      "rotatable": true,
      "max_stack_load_kg": 900
    },
    {
      "item_id": "CRATE-S",
      "length_mm": 600,
      "width_mm": 400,
      "height_mm": 400,
      "weight_kg": 35,
      "quantity": 20,
      "stackable": true,
      "rotatable": true,
      "max_stack_load_kg": 120
    }
  ],
  "axles": [
    {
      "axle_id": "front",
      "position_mm": 900,
      "max_load_kg": 7000
    },
    {
      "axle_id": "rear",
      "position_mm": 4600,
      "max_load_kg": 18000
    }
  ]
}

Ergebnis & Dokumentation

Veröffentlichtes Ergebnisschema anzeigen
{
  "$ref": "https://handel.halowerk.com/v1/container-load/schema#/outputSchema"
}

Veröffentlichtes Ergebnisbeispiel öffnen

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →