fulfillmenttools
API documentationIncident ManagementFeedback
Products
Products
  • Products
  • Core
    • Fulfillmenttools and it's surrounding system
    • Facilities
      • Managed facilities
      • Supplier facilities
      • Facility groups
      • Facility discounts
    • 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

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

More information about the decision logs can be found in the decision logs REST API documentation.

PreviousRe-routeNextUnroutable orders

Last updated 6 months ago