typical pre-packaging scenario
Posted: Tue Sep 23, 2025 2:01 pm
Today a client asked me for a sample / solution for the following requirement:
Here's my demo setting.
Important lessons at this stage:
To make sure that the output sequence is 4711a / 4711b / 4711c I applied respected sequences on top:
Bernd
PS: Feedback is welcome - as always!
- Some of his orders belong together into a logical "group"
- All orders of a group are supposed to be served by the same vehicle.
- There's also a predefined sequence of these packed orders.
- In his case it is possible to place further orders in between the given package orders
Here's my demo setting.
- Among further orders there are the pre-packaged orders 200, 202 and 203
- order 200 : "4711", "4711a"
- order 202 : "4711","4711b"
- order 203 : "4711", "4711c"

- Defining categories doesn't change anything if you do not use constraints or rules to derive consequences!
- The categories I used are on the level of the "delivery task" - often users assign the categories to the "order" itself, but in this case this wouldn't work.
- SAME_ROUTE enforces the tasks of category "4711" to be served opn the same route
Code: Select all
"constraints": { "tasks": { "groups": [ { "taskCategory": "4711", "constraint": "SAME_ROUTE" } ] } }
- If I use CONSECUTIVE instead of SAME_ROUTE then it is ensured that the prepackaged orders on the same route are not interrupted by tasks not belonging to that group.
This does NOT ensure that the pre-packaged orders are assigned to the same route!
Code: Select all
"constraints": { "tasks": { "groups": [ { "taskCategory": "4711", "constraint": "CONSECUTIVE" } ] } }
- To make sure that the pre-packaged orders are ON THE SAME ROUTE and without interruption you need to apply BOTH constraints!
Code: Select all
"constraints": { "tasks": { "groups": [ { "taskCategory": "4711", "constraint": "CONSECUTIVE" }, { "taskCategory": "4711", "constraint": "SAME_ROUTE" } ] } }
To make sure that the output sequence is 4711a / 4711b / 4711c I applied respected sequences on top:
-
Code: Select all
"constraints": { "tasks": { "respectedSequences": [ { "taskCategories": [ "4711a", "4711b", "4711c" ] } ], "groups": [ { "taskCategory": "4711", "constraint": "CONSECUTIVE" }, { "taskCategory": "4711", "constraint": "SAME_ROUTE" } ] } }
Bernd
PS: Feedback is welcome - as always!