New Feature: Reason for unassigned services/shipments

We now provide you detailed information on unassigned services/shipments. For this purpose, we add an array called “details” to “unassigned” like this:

"unassigned": {
    "services": [
      "visit_munich",
      "visit_hamburg"
    ],
    "shipments": [],
    "breaks": [],
    "details": [
      {
        "id": "visit_munich",
        "code": 2,
        "reason": "cannot be visited within time window"
      },
      {
        "id": "visit_hamburg",
        "code": 3,
        "reason": "does not fit into any vehicle due to capacity"
      }
    ]
  }

We use the following codes:
code, reason
1, "cannot serve required skill
2, “cannot be visited within time window”
3, “does not fit into any vehicle due to capacity”
4, “cannot be assigned due to max distance constraint of vehicles”
21, “could not be assigned due to relation constraint”
22, “could not be assigned due to allowed vehicle constraint”

Please note that codes and the underlying reasons are stable, but reason strings might change once we find even more precise terms.

2 Likes

Want to know if these reasons are available in jsprit library ?

Hi, Here you can find more info of how to add this to jsprit: https://github.com/graphhopper/jsprit/issues/180.
Best,
Stefan