Waves
Waves worden gebruikt om orders te groeperen, alloceren en picktaken aan te maken. Een wave wordt aangemaakt op basis van een wave-definitie die bepaalt welke orders geselecteerd worden.
Endpoints
| Methode | Pad | Beschrijving |
|---|---|---|
GET | /wave-definitions | Alle wave-definities ophalen |
POST | /wave-definitions | Wave-definitie aanmaken |
GET | /wave-definitions/:id | Specifieke wave-definitie ophalen |
PUT | /wave-definitions/:id | Wave-definitie bijwerken |
DELETE | /wave-definitions/:id | Wave-definitie verwijderen |
POST | /waves/create | Wave aanmaken op basis van definitie |
POST | /waves/start | Wave starten (alloceren + picktaken) |
GET | /waves | Alle waves ophalen |
GET | /waves/:id | Specifieke wave ophalen |
DELETE | /waves/:id | Wave verwijderen |
GET | /waves/:id/orders | Orders in een wave ophalen |
GET | /waves/:id/claimsets | Claimsets van een wave ophalen |
GET | /waves/:id/claims | Claims van een wave ophalen |
GET | /waves/:id/tasks | Taken van een wave ophalen |
Wave-definities
Een wave-definitie bepaalt de criteria waarmee orders automatisch geselecteerd worden bij het aanmaken van een wave.
Alle wave-definities ophalen
GET /wave-definitions
Response 200 OK
[
{
"id": 1,
"description": "Alle orders PostNL",
"criterium": "Order - Vervoerder",
"value": "PostNL",
"picktypedescription": "Per order",
"autostart": true,
"criterium_id": 4,
"pick_type": 1,
"site_id": "SITE01"
}
]
Criteria (criterium_id)
| ID | Beschrijving | Waarde-voorbeeld |
|---|---|---|
| 1 | Klant - Naam | "Bedrijf BV" |
| 2 | Order - Order ID | "ORD-001" |
| 3 | Order - Datum | "14-03-2026" |
| 4 | Order - Vervoerder | "PostNL" |
| 5 | Alles | (leeg — selecteert alle orders) |
| 6 | Klant - Plaats | "Amsterdam" |
| 7 | Order - Te verzenden datum | "16-03-2026" |
| 8 | Fulfillment - Per client | "CLIENT01" |
Pick type
| ID | Beschrijving |
|---|---|
| 1 | Per order |
| 2 | Per wave |
| 3 | Per klant |
| 4 | Per vervoerder |
Wave-definitie aanmaken
POST /wave-definitions
{
"description": "Alle orders voor vandaag",
"criterium_id": 5,
"value": null,
"pick_type": 1,
"autostart": true
}
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
description | string | ✅ | Omschrijving |
criterium_id | number | ✅ | Selectiecriterium (zie tabel hierboven) |
value | string | Nee | Filterwaarde (afhankelijk van criterium) |
pick_type | number | ✅ | Manier van picken (zie tabel) |
autostart | boolean | Nee | Automatisch starten na aanmaken |
Response 204 No Content
Wave aanmaken
Maak een nieuwe wave aan op basis van een wave-definitie.
POST /waves/create
Request
{
"wavedef_id": 1
}
Response 200 OK
{
"message": "Wave met id 42 is aangemaakt",
"wave_id": 42
}
Als autostart is ingeschakeld op de definitie:
{
"message": "Wave met id 42 wordt aangemaakt en automatisch gestart",
"wave_id": 42
}
Als er geen orders zijn voor de criteria:
{
"message": "Wave met id 42 is aangemaakt maar bevat geen orders",
"wave_id": 42
}
Wave starten
Start een bestaande wave (allocatie + picktaken aanmaken).
POST /waves/start
Request
{
"wave_id": 42
}
Response 200 OK
{
"message": "Wave met id 42 is gestart"
}
Of wanneer geen orders gevonden:
{
"message": "Geen orders in deze wave"
}
Wat gebeurt er bij het starten?
- Orders worden geselecteerd op basis van de criteria
- Geselecteerde orders worden gealloceerd (voorraad gereserveerd)
- Picktaken worden aangemaakt
- Order status verandert van "Released" naar "Allocated"
Alle waves ophalen
GET /waves
Response 200 OK
[
{
"id": 42,
"status": "Released",
"criterium": "Alles",
"value": null,
"picktypedescription": "Per order",
"status_id": 14,
"criterium_id": 5,
"pick_type": 1,
"autostart": true,
"site_id": "SITE01"
}
]
Wave sub-data
Orders in wave
GET /waves/:id/orders
[
{
"order_id": "ORD-001",
"order_date": "2026-03-14",
"status": "Allocated",
"customer": "Bedrijf BV - Amsterdam",
"ship_by_date": "2026-03-16",
"carrier": "PostNL",
"ship_dock": "DOCK-01"
}
]
Claimsets in wave
GET /waves/:id/claimsets
[
{
"id": 1,
"claimset_break": "ORD-001",
"status": "released",
"pick_type": "Per order",
"claim_count": 3,
"total_qty": 25
}
]
Claims in wave
GET /waves/:id/claims
[
{
"id": 1,
"content_id": 1001,
"sku_id": "SKU-001",
"qty": 10,
"order_id": "ORD-001",
"line_id": 1,
"claimset": 1,
"status": "allocated",
"loc_id": "LOC-A01"
}
]
Taken in wave
GET /waves/:id/tasks
[
{
"id": 1,
"quantity": 10,
"tag_id": "TAG-0001",
"from_loc_id": "LOC-A01",
"to_loc_id": "STAGE-01",
"final_loc_id": "DOCK-01",
"sku_id": "SKU-001",
"creation_date": "2026-03-14",
"wave_id": 42,
"claimset": 1
}
]