Decision logs
The decision logs are helpful for understanding, why an order was routed to a certain facility. Crucial for this decision is how the DOMS was configured, meaning which fences and ratings were activated. The decision log is connected to the routing plan.
The routing plan contains an array with references to the URL where the decision logs for this routing plan can be retrieved. Each decision log contains information on how a facility performed in the routing process.
The array facility
contains the decisions made for every facility. For facility A, all fences were passed and in the ratings it also was the best rated facility. The other facilities did not have enough stock. The details show that 1 item was expected, while the facilities had no items available. The result
quickly summarizes which was the best rated facility and which was the best facility available.
In the statistics
object there are statistics for each fence and rating, e.g., how many facilities were passed or were rejected for a certain fence or which was the maximum or minimum score a facility received in the routing process.
Example of a decision log
{
"facilityDecisions": [
{
"facility": {
"name": "Facility A",
"facilityRef": "e02dab98-95dc-4951-b54c-31ff4f7bb58f"
},
"availabilities": [
{
"articleTitle": "Shoulder Bag",
"requestedQuantity": 1,
"stockInformation": {
"stock": 6,
"stockConsideringOfflineStock": 6,
"reserved": 0,
"available": 6
},
"tenantArticleId": "SHOULDER_BAG",
"bundleInformation": [
{
"customServiceNodeId": "UNBUNDLED",
"requestedQuantity": 1
}
]
}
],
"orderFences": [
{
"name": "Internal - BlacklistFence",
"decision": "PASSED",
"details": []
},
{
"name": "Preselected facilities",
"decision": "PASSED",
"details": []
},
{
"name": "Service type",
"decision": "PASSED",
"details": []
},
{
"name": "Ensure minimum picking",
"decision": "PASSED",
"details": []
}
],
"orderRatings": [
{
"name": "Geodistance",
"maxPenalty": 20,
"score": 664133.7479457706,
"normalizedScore": 0,
"details": []
},
{
"name": "Stock availability",
"maxPenalty": 200,
"score": 1,
"normalizedScore": 0,
"details": []
}
],
"orderLineItemFences": [],
"rank": 1,
"totalPenalty": 0,
"isBestRated": true,
"isBestAvailable": true,
"isBestReassignmentCandidate": null
},
{
"facility": {
"name": "Facility B",
"facilityRef": "b3fc73b2-df0e-4705-8034-85b2697ea308"
},
"availabilities": [],
"orderFences": [
{
"name": "Internal - BlacklistFence",
"decision": "PASSED",
"details": []
},
{
"name": "Preselected facilities",
"decision": "PASSED",
"details": []
},
{
"name": "Service type",
"decision": "PASSED",
"details": []
},
{
"name": "Ensure minimum picking",
"decision": "FAILED",
"details": [
{
"actualValue": "0",
"contextReference": {
"reference": "SHOULDER_BAG",
"routingDecisionContext": "LISTING"
},
"expectedValue": "1",
"decisionType": "FENCE",
"reactiveErrorReason": null
}
]
}
],
"orderRatings": [],
"orderLineItemFences": [],
"rank": null,
"isBestRated": null,
"isBestAvailable": null,
"isBestReassignmentCandidate": null
},
{
"facility": {
"name": "Facility C",
"facilityRef": "c83350ac-371e-4ad3-b2af-3771f3a4a193"
},
"availabilities": [],
"orderFences": [
{
"name": "Internal - BlacklistFence",
"decision": "PASSED",
"details": []
},
{
"name": "Preselected facilities",
"decision": "PASSED",
"details": []
},
{
"name": "Service type",
"decision": "PASSED",
"details": []
},
{
"name": "Ensure minimum picking",
"decision": "FAILED",
"details": [
{
"actualValue": "0",
"contextReference": {
"reference": "SHOULDER_BAG",
"routingDecisionContext": "LISTING"
},
"expectedValue": "1",
"decisionType": "FENCE",
"reactiveErrorReason": null
}
]
}
],
"orderRatings": [],
"orderLineItemFences": [],
"rank": null,
"isBestRated": null,
"isBestAvailable": null,
"isBestReassignmentCandidate": null
},
{
"facility": {
"name": "FACILITY D",
"facilityRef": "e49fc721-01b4-40cb-b4cf-dfa36d3d9770"
},
"availabilities": [],
"orderFences": [
{
"name": "Internal - BlacklistFence",
"decision": "PASSED",
"details": []
},
{
"name": "Preselected facilities",
"decision": "PASSED",
"details": []
},
{
"name": "Service type",
"decision": "PASSED",
"details": []
}
],
"orderRatings": [],
"orderLineItemFences": [],
"rank": null,
"isBestRated": null,
"isBestAvailable": null,
"isBestReassignmentCandidate": null
}
],
"results": {
"assignedItems": [
{
"articleTitle": "Shoulder Bag",
"quantity": 1,
"tenantArticleId": "SHOULDER_BAG"
}
],
"bestRatedFacility": {
"name": "Facility A",
"facilityRef": "e02dab98-95dc-4951-b54c-31ff4f7bb58f"
},
"bestAvailableFacility": {
"name": "Facility A",
"facilityRef": "e02dab98-95dc-4951-b54c-31ff4f7bb58f"
},
"bestReassignmentFacility": null,
"routingPlanStatus": "PLANNED"
},
"routingPlanRef": "f5ea2d1c-e613-4533-a919-0b2f6faf0337",
"statistics": {
"fenceStatistics": [
{
"durationMs": 2.6547759999521077,
"name": "Internal - BlacklistFence",
"passedAmount": 233,
"rejectedAmount": 0,
"passedPercentage": 100
},
{
"durationMs": 2.729102000128478,
"name": "Internal - GeoDistanceFence",
"passedAmount": 233,
"rejectedAmount": 0,
"passedPercentage": 100
},
{
"durationMs": 37.36173000000417,
"name": "Preselected facilities",
"passedAmount": 233,
"rejectedAmount": 0,
"passedPercentage": 100
},
{
"durationMs": 18.877612999873236,
"name": "Service type",
"passedAmount": 233,
"rejectedAmount": 0,
"passedPercentage": 100
},
{
"durationMs": 883.5412559998222,
"name": "Ensure minimum picking",
"passedAmount": 1,
"rejectedAmount": 232,
"passedPercentage": 0.4291845493562232
}
],
"ratingStatistics": [
{
"name": "Geodistance",
"maxPenalty": 20,
"durationMs": 0.5270390000659972,
"maxScore": 664133.7479457706,
"minScore": 664133.7479457706
},
{
"name": "Stock availability",
"maxPenalty": 200,
"durationMs": 0.19809900014661252,
"maxScore": 1,
"minScore": 1
}
],
"durationMs": 10.137880000052974
},
"version": 1,
"routingRun": 1,
"lastModified": "2024-07-04T13:06:15.539Z",
"id": "8375a514-1152-40b2-8873-7bde493bd738",
"created": "2024-07-04T13:06:15.539Z"
}
Please see here for the API documentation.
Last updated