sometimes dispatchers want to know why a certain order hasn't been scheduled. Let me explain how to approach this in Optiflow API.Important update 4.2.2026: as we invented a dedicated new output property named "UnscheduledOrders" in Version 1.45 (4.2.2026) some parts of this thread may required your attention!
Let me first define three categories of orders at the end of a given planning - just my personal approach:
- Category GREEN: an order has successfully been assigned to a vehicle
- Category RED: an order is not assigned and there's an individual reason why such an order remains unscheduled, e.g. because
- none of the vehicles has sufficient quantities
- no driver is available at the time the order's tasks have to be served
- no vehicle has the required equipment
- Category YELLOW: a yellow order is not part of the output plan but the algorithm
- either did not manage to schedule the order in the plan's the algorithm has evaluated (at least not yet!)
- or the algorithm decided to sacrifice the order for the sake of another order (always cost driven)
- Giving the algorithm more duration in the settings will definetly not convert a red order into a green/yellow one.
- But there's a chance that increasing the duration / waiting longer will manage to transform a yellow into a green.
- RED: if an order appears in the warnings with ROUTE_OPTIMIZATION_NO_VEHICLE_FOR_ORDER this means he is RED. BUT: at least today this is not an equivalence: it might happen that from a logical perspective should be seen as RED but the warnings do not report the order as RED.
- GREEN: well, it appears in the output tours ...
- YELLOW: appears in the input but is neither GREEN nor RED
