fulfillmenttools
API documentationIncident ManagementFeedback
Products
Products
  • Products
  • Core
    • Fulfillmenttools and it's surrounding system
    • Facilities
      • Managed facilities
      • Supplier facilities
      • Facility groups
    • User management
    • GDPR
    • External actions
    • Notification center
    • Incident management
    • Tags
    • Stickers
    • Articles
  • Inventory Management
    • Overview inventory modules
    • Listing
    • Article categories
    • Stock
      • Stock availability
      • Stock properties
      • Stock updates
    • Reservations
    • Inbound process
    • Storage location
    • Zone
    • Inventory traits
    • Channel inventory
    • Measurement units
    • Stow jobs
    • External stock change reasons
    • Configurations
  • Availability & Promising
    • Availability & promising in customer journey
      • Earliest possible delivery date
      • Availability in delivery time period
      • Availability for specific delivery date
      • Checkout options
      • Delivery promise
    • Latest picking start
  • Distributed Order Management
    • Order management
    • Order routing
      • Fences
      • Ratings
      • Order split
      • Routing strategy
      • Item bundles
      • Re-route
      • Decision logs
      • Unroutable orders
      • Pre- and backorders
      • DOMS toolkit
  • Order fulfillment
    • Picking
    • Packing
    • Handover
    • Custom services
    • External documents
    • Load units
    • Interfacility transfer
    • Pick job target time
    • Configurations
      • Picking configuration
      • Packing configuration
      • Handover configuration
      • Printing & document configuration
      • Parcel tag configuration
  • Carrier management
    • Carriers and connection to facilities
    • Carrier country service mapping
    • Same day delivery
    • Custom carrier
    • Available carriers
  • Returns Management
    • Introduction to returns
    • Return reasons
  • Use Cases
    • Creating & executing stow jobs
    • Creating orders with interfacility transfers
    • Demand-driven replenishment
    • Expected stock in availability
    • Incoming goods & storage
    • Multi order picking
Powered by GitBook
On this page
Edit on GitHub
  1. Distributed Order Management
  2. Order routing

Decision logs

PreviousRe-routeNextUnroutable orders

Last updated 4 months ago

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 was configured, meaning which fences and ratings were activated. The decision log is connected to the .

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"
}

More information about the decision logs can be found in the .

DOMS
decision logs REST API documentation
routing plan