Handelswerk
slotting plan
Takes a warehouse as a table and returns a placement. You supply the storage locations with their walking distance to the pick-and-drop point and, where they exist, their weight and volume limits; you supply the SKUs with pick frequency, weight and volume; and you may supply the joint-pick pairs.
POST https://handel.halowerk.com/v1/slotting-planEingaben
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| skus | array | Ja | The SKUs to place. |
| locations | array | Ja | The storage locations available for the plan. |
| affinities | array | Nein | Pairs of SKUs that are picked together. Used to slot them near each other. |
| abc_share_pct | array | Nein | Cumulative pick share in percent that ends class A and class B. First value must be smaller than the second. |
| return_trip | boolean | Nein | Whether the picker walks back the same way. True doubles every distance. |
Vollständiges Eingabeschema anzeigen
{
"type": "object",
"required": [
"skus",
"locations"
],
"additionalProperties": false,
"properties": {
"skus": {
"type": "array",
"minItems": 1,
"maxItems": 2000,
"description": "The SKUs to place.",
"items": {
"type": "object",
"required": [
"sku",
"picks_per_period"
],
"additionalProperties": false,
"properties": {
"sku": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Your SKU identifier. Must be unique within the request."
},
"picks_per_period": {
"type": "number",
"minimum": 0,
"maximum": 1000000,
"description": "Number of picks in the period you are planning for. The period itself is yours; it only has to be the same for every SKU."
},
"weight_kg": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "Weight of one storage unit in kilograms. Checked against max_weight_kg of the location."
},
"volume_l": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "Volume of one storage unit in litres. Checked against max_volume_l of the location."
},
"current_location_id": {
"type": "string",
"maxLength": 64,
"description": "Where the SKU sits today. Only used for the before-and-after comparison."
}
}
}
},
"locations": {
"type": "array",
"minItems": 1,
"maxItems": 5000,
"description": "The storage locations available for the plan.",
"items": {
"type": "object",
"required": [
"location_id",
"travel_distance_m"
],
"additionalProperties": false,
"properties": {
"location_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Your location identifier. Must be unique within the request."
},
"travel_distance_m": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "One-way walking distance in metres from the pick-and-drop point to this location."
},
"zone": {
"type": "string",
"maxLength": 64,
"description": "Free-text zone label, passed through unchanged."
},
"max_weight_kg": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "Weight limit of this location in kilograms. Omitted means no limit."
},
"max_volume_l": {
"type": "number",
"minimum": 0,
"maximum": 100000,
"description": "Volume limit of this location in litres. Omitted means no limit."
}
}
}
},
"affinities": {
"type": "array",
"maxItems": 5000,
"description": "Pairs of SKUs that are picked together. Used to slot them near each other.",
"items": {
"type": "object",
"required": [
"sku_a",
"sku_b",
"joint_picks_per_period"
],
"additionalProperties": false,
"properties": {
"sku_a": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"sku_b": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"joint_picks_per_period": {
"type": "number",
"minimum": 0,
"maximum": 1000000,
"description": "How often the two are picked in the same order, in the same period as picks_per_period."
}
}
}
},
"abc_share_pct": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"default": [
80,
95
],
"items": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"description": "Cumulative pick share in percent that ends class A and class B. First value must be smaller than the second."
},
"return_trip": {
"type": "boolean",
"default": true,
"description": "Whether the picker walks back the same way. True doubles every distance."
}
}
}Veröffentlichtes Eingabebeispiel
{
"skus": [
{
"sku": "A-100",
"picks_per_period": 420,
"weight_kg": 2.5,
"volume_l": 8,
"current_location_id": "L-07"
},
{
"sku": "A-101",
"picks_per_period": 380,
"weight_kg": 1.2,
"volume_l": 5,
"current_location_id": "L-01"
},
{
"sku": "B-200",
"picks_per_period": 95,
"weight_kg": 18,
"volume_l": 40,
"current_location_id": "L-03"
},
{
"sku": "C-300",
"picks_per_period": 12,
"weight_kg": 0.4,
"volume_l": 2,
"current_location_id": "L-02"
}
],
"locations": [
{
"location_id": "L-01",
"travel_distance_m": 6,
"zone": "front",
"max_weight_kg": 25,
"max_volume_l": 60
},
{
"location_id": "L-02",
"travel_distance_m": 9,
"zone": "front",
"max_weight_kg": 25,
"max_volume_l": 60
},
{
"location_id": "L-03",
"travel_distance_m": 22,
"zone": "middle",
"max_weight_kg": 40,
"max_volume_l": 120
},
{
"location_id": "L-07",
"travel_distance_m": 48,
"zone": "back",
"max_weight_kg": 40,
"max_volume_l": 120
}
],
"affinities": [
{
"sku_a": "A-100",
"sku_b": "A-101",
"joint_picks_per_period": 210
}
],
"abc_share_pct": [
80,
95
],
"return_trip": true
}Ergebnis & Dokumentation
Veröffentlichtes Ergebnisschema anzeigen
{
"$ref": "https://handel.halowerk.com/v1/slotting-plan/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
- Handelswerk0,005 USDC
allergen check
POSThttps://handel.halowerk.com/v1/allergen-checkReturns what a product declares about allergens: the allergen tags, the trace warnings, the ingredients text in its original language, and the completeness of the record. The distinction it holds to throughout is between not declared and no
- Handelswerk0,006 USDC
container load
POSThttps://handel.halowerk.com/v1/container-loadLoads 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
- Handelswerk0,004 USDC
delivery note json
POSThttps://handel.halowerk.com/v1/delivery-note-jsonAdds structured delivery-note extraction alongside the existing invoice extractor and purchase-order matcher; does not duplicate invoice-extract or filing-to-json. Strict namespace-aware XML parsing, no model or foreign API. Only supplied s