Decision Logs
The decision log records all decisions that finally led to the final assignment of the order to a facility. It is 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.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.The
result
quickly summarizes which was the best rated facility and which was the best facility available.
Example: 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.
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"
}
The API documentation can be found here.
Last updated