# Routing Strategy (DOMS)

Endpoints to configure the routing strategy of the DOMS.

## Get routing decision logs

> This part of the API is in Alpha status. For details please check the \<a href="<https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#alpha>" target="\_blank">api-release-life-cycle documentation\</a>.\<br />\<br />

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingDecisionLogs":{"properties":{"decisionLogs":{"items":{"$ref":"#/components/schemas/RoutingDecisionLog"},"type":"array"},"total":{"description":"Total number of found decision logs for this query","type":"integer"}},"required":["decisionLogs","total"],"type":"object","title":"RoutingDecisionLogs","description":"RoutingDecisionLogs"},"RoutingDecisionLog":{"properties":{"created":{"description":"The date this order was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"executionResults":{"$ref":"#/components/schemas/SourcingOptionsExecutionResults"},"id":{"type":"string"},"lastModified":{"description":"The date this order was modified last. This value is generated by the service.","format":"date-time","type":"string"},"relatedRefs":{"$ref":"#/components/schemas/RoutingDecisionLogRelatedRefs"},"routingStrategyEvaluationResult":{"$ref":"#/components/schemas/RoutingStrategyEvaluationResult"},"sourcingOptions":{"items":{"$ref":"#/components/schemas/SourcingOption"},"type":"array"}},"required":["id","created","lastModified","relatedRefs","sourcingOptions","executionResults"],"type":"object","xml":{"name":"RoutingDecisionLog"},"title":"RoutingDecisionLog","description":"RoutingDecisionLog"},"SourcingOptionsExecutionResults":{"properties":{"totalRatingResults":{"items":{"$ref":"#/components/schemas/SourcingOptionTotalRatingResult"},"type":"array"}},"type":"object","title":"SourcingOptionsExecutionResults","description":"SourcingOptionsExecutionResults"},"SourcingOptionTotalRatingResult":{"properties":{"avgPenalty":{"type":"number"},"id":{"type":"string"},"maxPenalty":{"type":"number"},"minPenalty":{"type":"number"}},"required":["id","minPenalty","maxPenalty","avgPenalty"],"type":"object","title":"SourcingOptionTotalRatingResult","description":"SourcingOptionTotalRatingResult"},"RoutingDecisionLogRelatedRefs":{"properties":{"orderRef":{"description":"The orderRef of the order this decision log is related to.","type":"string"},"processRef":{"description":"The processRef of the process this decision log is related to.","type":"string"},"routingPlanRefs":{"description":"The routingPlanRefs of the routing plans this decision log is related to.","items":{"type":"string"},"type":"array"},"sourcingOptionRefs":{"description":"The sourcingOptionsRefs of the request this decision log is related to.","items":{"type":"string"},"type":"array"},"sourcingOptionsRef":{"deprecated":true,"description":"The sourcingOptionsRef of the request this decision log is related to.","type":"string"},"tenantOrderId":{"description":"The tenantOrderId of the order this decision log is related to.","type":"string"}},"type":"object","xml":{"name":"RoutingDecisionLogRelatedRefs"},"title":"RoutingDecisionLogRelatedRefs","description":"RoutingDecisionLogRelatedRefs"},"RoutingStrategyEvaluationResult":{"properties":{"evaluatedConfig":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"evaluatedPath":{"items":{"$ref":"#/components/schemas/RoutingStrategyPathElement"},"type":"array"}},"required":["evaluatedConfig","evaluatedPath"],"type":"object","title":"RoutingStrategyEvaluationResult","description":"RoutingStrategyEvaluationResult"},"RoutingStrategyNodeConfig":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFence"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFence","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardRating"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyStandardRating","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfig","description":"RoutingStrategyNodeConfig"},"RoutingStrategyFallbackFacilityConfig":{"properties":{"active":{"default":false,"type":"boolean"},"facilityRefs":{"items":{"type":"string"},"maxItems":1,"minItems":1,"type":"array"},"fallbackAfterTime":{"default":"PT0H","description":"Default amount of time in ISO 8601 duration format after which a not routable routingplan is routed to a configured fallback facility.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"}},"required":["facilityRefs","active","fallbackAfterTime"],"title":"RoutingStrategyFallbackFacilityConfig","description":"RoutingStrategyFallbackFacilityConfig"},"RoutingStrategyStandardFence":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"name":{"type":"string"},"supportedModes":{"items":{"$ref":"#/components/schemas/FenceMode"},"type":"array"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"FenceMode":{"enum":["static","reactive"],"type":"string","title":"FenceMode","description":"FenceMode"},"FenceImplementation":{"description":"<i>This part of the API is currently under development. That means that this endpoint, model, etc. can contain breaking changes and / or might not be available at all times in your API instance. It could disappear also without warning. Thus it currently does not fall under our SLA regulations. For details on this topic please check our <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle\">documentation</a></i>","enum":["FACILITY-BUSINESSTYPE","STOCK-AVAILABILITY","FACILITY-CARRIERAVAILABILITY","FACILITY-COUNTRY","FACILITY-PICKING-TIME-CAPACITY","PRESELECTED-FACILITY","SAMEDAY-POSSIBLE","AVOID-ZERO-STOCK"],"type":"string","xml":{"name":"FenceImplementation"},"title":"FenceImplementation"},"RoutingStrategyStandardFenceType":{"enum":["StandardFence"],"type":"string","title":"RoutingStrategyStandardFenceType","description":"RoutingStrategyStandardFenceType"},"RoutingStrategyToolkitFence":{"additionalProperties":false,"description":"Routing Strategy Toolkit Fence.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not.","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this fence.","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"name":{"description":"The name of the fence.","type":"string"},"order":{"description":"Order in which this fence is executed","type":"integer"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitFenceType"}},"required":["nameLocalized","active","order","type","referenceId"],"title":"RoutingStrategyToolkitFence"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ToolkitComparisonRule":{"description":"The rule, comparing the left and right path values, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitComparisonPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitComparisonRule"},"ToolkitRuleScope":{"enum":["WHOLE_ENTITY","LINE_ITEM"],"type":"string","xml":{"name":"ToolkitRuleScope"},"title":"ToolkitRuleScope","description":"ToolkitRuleScope"},"ToolkitPredicateConnector":{"description":"The allowed operators for connecting multiple predicates","enum":["OR","AND"],"type":"string","xml":{"name":"ToolkitPredicateConnector"},"title":"ToolkitPredicateConnector"},"ToolkitComparisonPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitRuleComparisonOperatorType"},"leftEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity2 property"},"leftPropertyPath":{"minLength":1,"type":"string"},"leftTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"leftTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"},"rightEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity1 property"},"rightPropertyPath":{"minLength":1,"type":"string"},"rightTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"rightTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["rightPropertyPath","leftPropertyPath","entityOperator","leftEntity","rightEntity"],"type":"object","xml":{"name":"ToolkitComparisonPredicate"},"title":"ToolkitComparisonPredicate"},"ToolkitRuleComparisonOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["NO_MATCHES","ALL_MATCHES","LEFT_CONTAINS_RIGHT","RIGHT_CONTAINS_LEFT"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleComparisonOperatorType"},"ToolkitAllowedEntities":{"description":"The entities that can be compared by the toolkit fence or rating\n  * `ORDER`\n  * `FACILITY`\n  * `CARRIERCONNECTION`\n  * `LISTING`\n  * `ORDERING_FACILITY` - left side only\n  * `ORDERING_FACILITY_GROUPS` - left side only","enum":["ORDER","FACILITY","CARRIERCONNECTION","LISTING","ORDERING_FACILITY","ORDERING_FACILITY_GROUPS"],"type":"string","xml":{"name":"ToolkitAllowedEntities"},"title":"ToolkitAllowedEntities"},"ToolkitTransformationType":{"description":"The transformations available to apply on the entity property value before a predicate is evaluated","enum":["SUBSTRING","COUNT","SUM","LAST"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitTransformationType"},"ToolkitRule":{"description":"The rule, containing the left predicates and the right predicates, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"leftPart":{"$ref":"#/components/schemas/ToolkitRulePart"},"operator":{"$ref":"#/components/schemas/ToolkitRuleOperatorType"},"rightPart":{"$ref":"#/components/schemas/ToolkitRulePart"}},"required":["operator","leftPart","rightPart","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitRule"},"ToolkitRulePart":{"additionalProperties":false,"description":"One half of the rule, containing either the left or right predicates and booleanOperator.","properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"ToolkitRulePart"},"title":"ToolkitRulePart"},"ToolkitPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entity":{"$ref":"#/components/schemas/ToolkitAllowedEntities"},"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator","entity"],"type":"object","xml":{"name":"ToolkitPredicate"},"title":"ToolkitPredicate"},"ToolkitEntityOperatorType":{"description":"The possible operator types that can be used on given entities","enum":["VALUE_EQUALS","VALUE_NOT_EQUALS","ANY_VALUE_EQUALS","ANY_VALUE_GREATER_EQUALS","ANY_VALUE_GREATER_THAN","ANY_VALUE_LESS_EQUALS","ANY_VALUE_LESS_THAN","ANY_VALUE_CONTAINS","ANY_VALUE_NOT_CONTAINS","EVERY_VALUE_EQUALS","EVERY_VALUE_GREATER_EQUALS","EVERY_VALUE_GREATER_THAN","EVERY_VALUE_LESS_EQUALS","EVERY_VALUE_LESS_THAN","EVERY_VALUE_CONTAINS","EVERY_VALUE_NOT_CONTAINS","NO_VALUE_EQUALS","NO_VALUE_GREATER_EQUALS","NO_VALUE_GREATER_THAN","NO_VALUE_LESS_EQUALS","NO_VALUE_LESS_THAN","NO_VALUE_CONTAINS","NO_VALUE_NOT_CONTAINS","VALUE_CONTAINS","VALUE_NOT_CONTAINS","GREATER_THAN","GREATER_EQUALS","LESS_THAN","LESS_EQUALS"],"type":"string","xml":{"name":"ToolkitEntityOperatorType"},"title":"ToolkitEntityOperatorType"},"ToolkitRuleOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["EQUALS"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleOperatorType"},"RoutingStrategyToolkitFenceType":{"enum":["ToolkitFence"],"type":"string","title":"RoutingStrategyToolkitFenceType","description":"RoutingStrategyToolkitFenceType"},"RoutingStrategyOrderSplitConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"activeForSameday":{"type":"boolean"},"maxSplitCount":{"type":"integer"},"shouldUseWaitingRoomForPreBackOrderItems":{"type":"boolean"}},"required":["active","maxSplitCount","activeForSameday","shouldUseWaitingRoomForPreBackOrderItems"],"type":"object","title":"RoutingStrategyOrderSplitConfig","description":"RoutingStrategyOrderSplitConfig"},"RoutingStrategyStandardRating":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyStandardRating","type":"object"},"AbstractRatingConfiguration":{"description":"Base Configuration for Ratings. See documentation for Details.","type":"object","xml":{"name":"AbstractRatingConfiguration"},"title":"AbstractRatingConfiguration"},"RatingImplementation":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","enum":["STOCK-BALANCING","GEO-DISTANCE","TURNOVER","STOCK-AVAILABILITY","WORKLOAD-BALANCING","MATCHING-BUSINESSTYPE","PREFER-STORE","PREFER-WAREHOUSE","ZONE","EXPIRY-DATE","CAPACITY","DELIVERY-COSTS","DELIVERY-TIME","COST-COMPONENTS","NUMBER-OF-DELIVERIES"],"type":"string","xml":{"name":"RatingImplementation"},"title":"RatingImplementation"},"RoutingStrategyStandardRatingType":{"enum":["StandardRating"],"type":"string","title":"RoutingStrategyStandardRatingType","description":"RoutingStrategyStandardRatingType"},"RoutingStrategyToolkitRating":{"additionalProperties":false,"description":"Routing Strategy Toolkit Rating.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this rating","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"maxPenalty":{"description":"The maximum penalty this rating can have","type":"integer"},"name":{"description":"The name of the rating","type":"string"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitRatingType"}},"required":["type","nameLocalized","active","maxPenalty","referenceId"],"title":"RoutingStrategyToolkitRating"},"RoutingStrategyToolkitRatingType":{"enum":["ToolkitRating"],"type":"string","title":"RoutingStrategyToolkitRatingType","description":"RoutingStrategyToolkitRatingType"},"RoutingStrategyRerouteConfig":{"additionalProperties":false,"properties":{"clickAndCollect":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"},"manualReroute":{"type":"boolean"},"rerouteZeroPicksOnly":{"default":false,"description":"Specifies whether only pick jobs with zero items picked are eligible for rerouting.","type":"boolean"},"shipFromStore":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"}},"type":"object","title":"RoutingStrategyRerouteConfig","description":"RoutingStrategyRerouteConfig"},"RoutingStrategyFacilityRerouteConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"rerouteType":{"$ref":"#/components/schemas/RoutingStrategyRerouteType"}},"required":["rerouteType"],"type":"object","title":"RoutingStrategyFacilityRerouteConfig","description":"RoutingStrategyFacilityRerouteConfig"},"RoutingStrategyRerouteType":{"description":"The type of reroute to apply to the order\n  * `REROUTE`- the complete routing plan is rerouted.\n  * `ORDERSPLIT`- the order is splitted. The split line items will be moved to a new routing plan and rerouted.","enum":["REROUTE","ORDERSPLIT"],"type":"string","title":"RoutingStrategyRerouteType"},"RoutingStrategyPathElement":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"evaluationResult":{"$ref":"#/components/schemas/RoutingStrategyEvaluationResultType"},"ref":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyPathElementType"}},"required":["type","ref","evaluationResult","nameLocalized"],"type":"object","title":"RoutingStrategyPathElement","description":"RoutingStrategyPathElement"},"RoutingStrategyEvaluationResultType":{"enum":["NODE_INACTIVE","NODE_ACTIVE","CONDITION_INACTIVE","CONDITION_FALSE","CONDITION_TRUE"],"type":"string","title":"RoutingStrategyEvaluationResultType","description":"RoutingStrategyEvaluationResultType"},"RoutingStrategyPathElementType":{"enum":["CONDITION","NODE"],"type":"string","title":"RoutingStrategyPathElementType","description":"RoutingStrategyPathElementType"},"SourcingOption":{"properties":{"estimatedDeliveryDate":{"description":"Estimated delivery date in format YYYY-MM-DD.","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"id":{"type":"string"},"listingDetails":{"items":{"$ref":"#/components/schemas/SourcingOptionListingDetails"},"type":"array"},"nodes":{"items":{"$ref":"#/components/schemas/SourcingOptionNode"},"type":"array"},"nonAssignedOrderLineItems":{"items":{"$ref":"#/components/schemas/HandledItem"},"type":"array"},"ratingResults":{"items":{"$ref":"#/components/schemas/RatingResult"},"type":"array"},"runId":{"type":"string"},"totalCosts":{"$ref":"#/components/schemas/SourcingOptionCosts"},"totalPenalty":{"description":"The total calculated penalty we calculated for this option","type":"number"},"transfers":{"items":{"$ref":"#/components/schemas/SourcingOptionTransfer"},"type":"array"},"validUntil":{"description":"The latest date at which this option is still valid in UTC (ISO8601 format).","type":"string"}},"required":["id","runId","totalPenalty","nodes","transfers","ratingResults"],"type":"object","title":"SourcingOption","description":"SourcingOption"},"SourcingOptionListingDetails":{"properties":{"customAttributes":{"additionalProperties":true,"type":"object"},"facilityRef":{"type":"string"},"tenantArticleId":{"type":"string"}},"title":"SourcingOptionListingDetails","description":"SourcingOptionListingDetails"},"SourcingOptionNode":{"properties":{"facilityRef":{"type":"string"},"id":{"description":"id of this node, unique for this Sourcing Option Responses","type":"string"},"isPickUpLocation":{"description":"Indicates if this node is a pick up location","type":"boolean"},"lineItems":{"items":{"$ref":"#/components/schemas/HandledItem"},"type":"array"},"tenantFacilityId":{"type":"string"},"type":{"$ref":"#/components/schemas/NodeType"}},"required":["id","type","lineItems"],"type":"object","title":"SourcingOptionNode","description":"SourcingOptionNode"},"HandledItem":{"properties":{"quantity":{"minimum":1,"type":"number"},"tenantArticleId":{"type":"string"}},"required":["tenantArticleId"],"type":"object","title":"HandledItem","description":"HandledItem"},"NodeType":{"enum":["SUPPLIER","MANAGED_FACILITY","CUSTOMER"],"type":"string","title":"NodeType","description":"NodeType"},"RatingResult":{"properties":{"id":{"type":"string"},"name":{"type":"string"},"penalty":{"type":"number"},"routingStrategyNodeId":{"type":"string"},"type":{"description":"The type of the rating, e.g. 'StandardRating' or 'ToolkitRating'","type":"string"}},"required":["penalty","id","type","routingStrategyNodeId","name"],"title":"RatingResult","description":"RatingResult"},"SourcingOptionCosts":{"additionalProperties":false,"properties":{"salesPrices":{"description":"Sales prices and applied discounts of the individual items in the solution. Only present if costComponentRating is enabled.","items":{"$ref":"#/components/schemas/SourcingOptionSalesPrice"},"type":"array"},"totalCosts":{"$ref":"#/components/schemas/Money"},"totalSalesPriceAmount":{"$ref":"#/components/schemas/Money"},"totalShippingCosts":{"$ref":"#/components/schemas/ShippingCosts"}},"required":["salesPrices"],"type":"object","title":"SourcingOptionCosts","description":"SourcingOptionCosts"},"SourcingOptionSalesPrice":{"additionalProperties":false,"properties":{"amount":{"description":"The amount of the item in the solution","type":"number"},"discount":{"items":{"oneOf":[{"$ref":"#/components/schemas/FacilityDiscountRelative"},{"$ref":"#/components/schemas/FacilityDiscountAbsoluteForCreation"}]},"type":"array"},"salesPricePerUnitWithDiscountAmount":{"$ref":"#/components/schemas/Money","description":"The sales price per unit with discount"},"salesPricePerUnitWithoutDiscountAmount":{"$ref":"#/components/schemas/Money","description":"The sales price per unit without discount"},"sourceFacilityRef":{"description":"The facility reference of the source facility","type":"string"},"sourceTenantFacilityId":{"description":"The tenant facility id of the source facility","type":"string"},"tenantArticleId":{"description":"The tenant article id of the item","type":"string"}},"required":["tenantArticleId","salesPricePerUnitWithoutDiscountAmount","amount","sourceFacilityRef"],"type":"object","title":"SourcingOptionSalesPrice","description":"SourcingOptionSalesPrice"},"FacilityDiscountRelative":{"additionalProperties":false,"properties":{"type":{"enum":["RELATIVE"],"type":"string"},"value":{"description":"Provided discount in percent.","minimum":0.1,"type":"number"}},"required":["type","value"],"type":"object","title":"FacilityDiscountRelative","description":"FacilityDiscountRelative"},"FacilityDiscountAbsoluteForCreation":{"additionalProperties":false,"properties":{"type":{"enum":["ABSOLUTE"],"type":"string"},"values":{"items":{"$ref":"#/components/schemas/FacilityDiscountAbsoluteElement"},"minItems":1,"type":"array"}},"required":["type","values"],"type":"object","title":"FacilityDiscountAbsoluteForCreation","description":"FacilityDiscountAbsoluteForCreation"},"FacilityDiscountAbsoluteElement":{"additionalProperties":false,"properties":{"currency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"}],"description":"The currency of the price as an ISO 4217 code."},"decimalPlaces":{"description":"Number of decimal places for the given currency","minimum":0,"type":"integer"},"value":{"description":"Total value that should be shipped. Value is configured in the smallest subunit, e.g. cents.","minimum":1,"type":"integer"}},"required":["value","currency","decimalPlaces"],"type":"object","title":"FacilityDiscountAbsoluteElement","description":"FacilityDiscountAbsoluteElement"},"CurrencyCode":{"description":"The currency code is a three-letter code that represents a currency in the ISO 4217 standard.","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BOV","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHE","CHF","CHW","CLF","CLP","CNY","COP","COU","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MXV","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLE","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","USN","UYI","UYU","UYW","UZS","VED","VES","VND","VUV","WST","XAF","XAG","XAU","XBA","XBB","XBC","XBD","XCD","XDR","XOF","XPD","XPF","XPT","XSU","XTS","XUA","XXX","YER","ZAR","ZMW","ZWL"],"type":"string","title":"CurrencyCode"},"Money":{"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"decimalPlaces":{"type":"number"},"value":{"type":"number"}},"required":["value","currency"],"type":"object","xml":{"name":"Money"},"title":"Money","description":"Money"},"ShippingCosts":{"additionalProperties":false,"properties":{"packageCosts":{"description":"Costs of the individual packaging units","items":{"$ref":"#/components/schemas/PackageCost"},"type":"array"},"totalTransportCostAmount":{"$ref":"#/components/schemas/Money","description":"The total transport cost amount"}},"required":["totalTransportCostAmount"],"type":"object","title":"ShippingCosts","description":"ShippingCosts"},"PackageCost":{"additionalProperties":false,"properties":{"costAmount":{"$ref":"#/components/schemas/Money","description":"The total package cost amount"},"packageName":{"description":"Name of the package","type":"string"}},"required":["packageName","costAmount"],"type":"object","title":"PackageCost","description":"PackageCost"},"SourcingOptionTransfer":{"properties":{"carrier":{"properties":{"carrierKey":{"type":"string"},"carrierName":{"type":"string"}},"type":"object"},"facilityConnectionRef":{"type":"string"},"lineItems":{"items":{"$ref":"#/components/schemas/HandledItem"},"type":"array"},"packagingInformation":{"items":{"$ref":"#/components/schemas/SourcingOptionsTransferPackagingInformation"},"type":"array"},"sourceNodeRef":{"type":"string"},"targetNodeRef":{"type":"string"},"timeLine":{"$ref":"#/components/schemas/TransferTimeLine"}},"required":["sourceNodeRef","targetNodeRef","lineItems","packagingInformation"],"type":"object","title":"SourcingOptionTransfer","description":"SourcingOptionTransfer"},"SourcingOptionsTransferPackagingInformation":{"properties":{"packagingUnit":{"$ref":"#/components/schemas/SourcingOptionsTransferPackagingUnit"},"packedItems":{"items":{"$ref":"#/components/schemas/HandledItem"},"type":"array"},"totalCosts":{"$ref":"#/components/schemas/Money","description":"Total costs for this packaging information"}},"required":["packagingUnit","totalCosts","packedItems"],"type":"object","title":"SourcingOptionsTransferPackagingInformation","description":"SourcingOptionsTransferPackagingInformation"},"SourcingOptionsTransferPackagingUnit":{"properties":{"dimensions":{"$ref":"#/components/schemas/SourcingOptionsTransferPackagingUnitDimensions"},"maxItemQuantity":{"description":"The maximum number of items that can be packed in this packaging unit","type":"integer"},"name":{"type":"string"},"packagingUnitRef":{"type":"string"},"prices":{"items":{"$ref":"#/components/schemas/SourcingOptionsTransferDeliveryCost"},"type":"array"},"priority":{"description":"The priority of this packaging unit, lower values are preferred","type":"integer"},"tenantPackagingUnitId":{"type":"string"},"transitTime":{"$ref":"#/components/schemas/SourcingOptionsTransferTransitTime"},"volumeBufferInPercent":{"description":"The volume buffer in percent for this packaging unit","type":"number"}},"required":["name","priority"],"type":"object","title":"SourcingOptionsTransferPackagingUnit","description":"SourcingOptionsTransferPackagingUnit"},"SourcingOptionsTransferPackagingUnitDimensions":{"properties":{"height":{"type":"number"},"length":{"type":"number"},"maxWeightInGram":{"type":"number"},"width":{"type":"number"}},"type":"object","title":"SourcingOptionsTransferPackagingUnitDimensions","description":"SourcingOptionsTransferPackagingUnitDimensions"},"SourcingOptionsTransferDeliveryCost":{"allOf":[{"$ref":"#/components/schemas/Money"}],"properties":{"deliveryCostCoefficient":{"$ref":"#/components/schemas/SourcingOptionsTransferDeliverCostCoefficient"}},"type":"object","xml":{"name":"SourcingOptionsTransferDeliveryCost"},"title":"SourcingOptionsTransferDeliveryCost","description":"SourcingOptionsTransferDeliveryCost"},"SourcingOptionsTransferDeliverCostCoefficient":{"properties":{"measurementUnit":{"$ref":"#/components/schemas/CostCoefficientMeasurementUnit"},"value":{"type":"number"}},"required":["value","measurementUnit"],"type":"object","title":"SourcingOptionsTransferDeliverCostCoefficient","description":"SourcingOptionsTransferDeliverCostCoefficient"},"CostCoefficientMeasurementUnit":{"description":"The unit of measurement for the coefficient","enum":["GRAM"],"type":"string","title":"CostCoefficientMeasurementUnit"},"SourcingOptionsTransferTransitTime":{"properties":{"maxTransitDays":{"type":"number"},"minTransitDays":{"type":"number"}},"required":["minTransitDays","maxTransitDays"],"type":"object","title":"SourcingOptionsTransferTransitTime","description":"SourcingOptionsTransferTransitTime"},"TransferTimeLine":{"properties":{"calculationStartPoint":{"description":"The date and time from which all time-related calculations for the corresponding items are based.","format":"date-time","type":"string"},"earliestPickingStart":{"description":"The earliest date and time when picking for the corresponding items can begin.","format":"date-time","type":"string"},"earliestPossibleDeliveryTime":{"description":"The earliest date at which the corresponding items can be delivered to the recipient.","format":"date-time","type":"string"},"latestPickingStart":{"description":"The latest date and time when picking for the corresponding items can begin.","format":"date-time","type":"string"},"targetTime":{"description":"The desired date and time by which the corresponding items should be fulfilled.","format":"date-time","type":"string"},"usedTransitTimeInDays":{"description":"The raw amount of transit days used for timeline calculation","minimum":0,"type":"integer"}},"required":["calculationStartPoint","earliestPickingStart","latestPickingStart","targetTime"],"type":"object","xml":{"name":"TransferTimeLine"},"title":"TransferTimeLine","description":"TransferTimeLine"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/decisionlogs":{"get":{"description":"This part of the API is in Alpha status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#alpha\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","operationId":"getRoutingDecisionLogs","parameters":[{"description":"All decision logs for given sourcingOptionRef","in":"query","name":"sourcingOptionRef","required":false,"schema":{"type":"string"}},{"description":"All decision logs for given processRef","in":"query","name":"processRef","required":false,"schema":{"type":"string"}},{"description":"All decision logs for given orderRef","in":"query","name":"orderRef","required":false,"schema":{"type":"string"}},{"description":"All decision logs for given routingPlanRef","in":"query","name":"routingPlanRef","required":false,"schema":{"type":"string"}},{"description":"All decision logs for given sourcingOptionsRef","in":"query","name":"sourcingOptionsRef","required":false,"schema":{"type":"string"}},{"description":"All decision logs for given tenantOrderId","in":"query","name":"tenantOrderId","required":false,"schema":{"type":"string"}},{"description":"All decision logs after given Id","in":"query","name":"startAfterId","required":false,"schema":{"type":"string"}},{"description":"Number of decision logs to show","in":"query","name":"size","required":false,"schema":{"default":25,"maximum":500,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingDecisionLogs"}}},"description":"Decision logs were found & you were allowed to access them. The result is in the body."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Get routing decision logs","tags":["Routing Strategy (DOMS)"]}}}}
```

## GET /api/routing/nodeconfigcategories

> List category node configuration

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategyNodeConfigCategoryTransporter":{"properties":{"routingStrategyNodeConfigCategories":{"items":{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForResponse"},"type":"array"},"total":{"description":"Total number of entities found for this query","type":"integer"}},"required":["routingStrategyNodeConfigCategories","total"],"type":"object","xml":{"name":"RoutingStrategyNodeConfigCategoryTransporter"},"title":"RoutingStrategyNodeConfigCategoryTransporter","description":"RoutingStrategyNodeConfigCategoryTransporter"},"RoutingStrategyNodeConfigCategoryForResponse":{"allOf":[{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategory"}],"properties":{"name":{"type":"string"}},"title":"RoutingStrategyNodeConfigCategoryForResponse","description":"RoutingStrategyNodeConfigCategoryForResponse"},"RoutingStrategyNodeConfigCategory":{"allOf":[{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"id":{"type":"string"}},"required":["id"],"title":"RoutingStrategyNodeConfigCategory","description":"RoutingStrategyNodeConfigCategory"},"RoutingStrategyNodeConfigCategoryForCreation":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"color":{"type":"string"}},"required":["nameLocalized","color"],"type":"object","title":"RoutingStrategyNodeConfigCategoryForCreation","description":"RoutingStrategyNodeConfigCategoryForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/nodeconfigcategories":{"get":{"description":"","operationId":"getRoutingStrategyNodeConfigCategories","parameters":[{"description":"all entities","in":"query","name":"startAfterId","required":false,"schema":{"type":"string"}},{"description":"number of entities to show","in":"query","name":"size","required":false,"schema":{"default":25,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryTransporter"}}},"description":"The current list of available categories"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"No more elements available"}},"summary":"List category node configuration","tags":["Routing Strategy (DOMS)"]}}}}
```

## Create category node configuration

> Creates a new category for a routing strategies node config.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategyNodeConfigCategoryForCreation":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"color":{"type":"string"}},"required":["nameLocalized","color"],"type":"object","title":"RoutingStrategyNodeConfigCategoryForCreation","description":"RoutingStrategyNodeConfigCategoryForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"RoutingStrategyNodeConfigCategoryForResponse":{"allOf":[{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategory"}],"properties":{"name":{"type":"string"}},"title":"RoutingStrategyNodeConfigCategoryForResponse","description":"RoutingStrategyNodeConfigCategoryForResponse"},"RoutingStrategyNodeConfigCategory":{"allOf":[{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"id":{"type":"string"}},"required":["id"],"title":"RoutingStrategyNodeConfigCategory","description":"RoutingStrategyNodeConfigCategory"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/nodeconfigcategories":{"post":{"description":"Creates a new category for a routing strategies node config.","operationId":"postRoutingStrategyNodeConfigCategory","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForCreation"}}},"description":"The desired category","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForResponse"}}},"description":"The created routing strategy."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Create category node configuration","tags":["Routing Strategy (DOMS)"]}}}}
```

## Returns category node configuration

> returns the category

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategyNodeConfigCategoryForResponse":{"allOf":[{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategory"}],"properties":{"name":{"type":"string"}},"title":"RoutingStrategyNodeConfigCategoryForResponse","description":"RoutingStrategyNodeConfigCategoryForResponse"},"RoutingStrategyNodeConfigCategory":{"allOf":[{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"id":{"type":"string"}},"required":["id"],"title":"RoutingStrategyNodeConfigCategory","description":"RoutingStrategyNodeConfigCategory"},"RoutingStrategyNodeConfigCategoryForCreation":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"color":{"type":"string"}},"required":["nameLocalized","color"],"type":"object","title":"RoutingStrategyNodeConfigCategoryForCreation","description":"RoutingStrategyNodeConfigCategoryForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/nodeconfigcategories/{categoryId}":{"get":{"description":"returns the category","operationId":"getRoutingStrategyNodeConfigCategory","parameters":[{"description":"Id of the category you wish to retrieve","in":"path","name":"categoryId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForResponse"}}},"description":"The returned category."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Returns category node configuration","tags":["Routing Strategy (DOMS)"]}}}}
```

## Updates category node configuration

> Updates a category

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategyNodeConfigCategoryForModification":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"color":{"type":"string"},"version":{"type":"number"}},"required":["nameLocalized","color","version"],"type":"object","title":"RoutingStrategyNodeConfigCategoryForModification","description":"RoutingStrategyNodeConfigCategoryForModification"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"RoutingStrategyNodeConfigCategoryForResponse":{"allOf":[{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategory"}],"properties":{"name":{"type":"string"}},"title":"RoutingStrategyNodeConfigCategoryForResponse","description":"RoutingStrategyNodeConfigCategoryForResponse"},"RoutingStrategyNodeConfigCategory":{"allOf":[{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"id":{"type":"string"}},"required":["id"],"title":"RoutingStrategyNodeConfigCategory","description":"RoutingStrategyNodeConfigCategory"},"RoutingStrategyNodeConfigCategoryForCreation":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"color":{"type":"string"}},"required":["nameLocalized","color"],"type":"object","title":"RoutingStrategyNodeConfigCategoryForCreation","description":"RoutingStrategyNodeConfigCategoryForCreation"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/nodeconfigcategories/{categoryId}":{"put":{"description":"Updates a category","operationId":"putRoutingStrategyNodeConfigCategory","parameters":[{"description":"Id of the category you wish to update","in":"path","name":"categoryId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForModification"}}},"description":"The updated category","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyNodeConfigCategoryForResponse"}}},"description":"The updated category."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Updates category node configuration","tags":["Routing Strategy (DOMS)"]}}}}
```

## Delete category node configuration

> deletes the category

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/nodeconfigcategories/{categoryId}":{"delete":{"description":"deletes the category","operationId":"deleteRoutingStrategyNodeConfigCategory","parameters":[{"description":"Id of the category you want to delete","in":"path","name":"categoryId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The category has been deleted."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Delete category node configuration","tags":["Routing Strategy (DOMS)"]}}}}
```

## GET /api/routing/strategies

> List routing strategies

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategyTransporter":{"properties":{"routingStrategies":{"items":{"$ref":"#/components/schemas/RoutingStrategy"},"type":"array"},"total":{"description":"Total number of entities found for this query","type":"integer"}},"required":["routingStrategies","total"],"type":"object","xml":{"name":"RoutingStrategyTransporter"},"title":"RoutingStrategyTransporter","description":"RoutingStrategyTransporter"},"RoutingStrategy":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"globalConfiguration":{"$ref":"#/components/schemas/RoutingStrategyGlobalConfiguration"},"id":{"type":"string"},"inUse":{"description":"Only one strategy can be inUse","type":"boolean"},"name":{"type":"string"},"revision":{"description":"The revision of the routing strategy","type":"integer"},"rootNode":{"$ref":"#/components/schemas/RoutingStrategyNode"}},"required":["inUse","revision","id","nameLocalized","rootNode","globalConfiguration"]}],"type":"object","title":"RoutingStrategy","description":"RoutingStrategy"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"RoutingStrategyGlobalConfiguration":{"additionalProperties":false,"properties":{"blacklistAssignedFacilities":{"description":"If true, facilities that have already been assigned to the order in a previous routing attempt will not be considered in the next routing attempt.","type":"boolean"},"defaultPrice":{"default":10,"description":"The price applied when no specific price is defined in the order or listing","type":"number"},"restowAfterMinutes":{"description":"The amount of minutes after which a restow is executed. If not set, restows will not be executed.","type":"number"},"stopRoutingAttemptsAfterTime":{"default":"PT8H","description":"The amount of time, specified in ISO 8601 duration format, after which a routing plan is considered not routable. Note: The duration must be a multiple of 60 seconds.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"},"timeTriggered":{"$ref":"#/components/schemas/RoutingStrategyRerouteTimeTriggeredConfig"}},"required":["defaultPrice"],"type":"object","xml":{"name":"RoutingStrategyGlobalConfiguration"},"title":"RoutingStrategyGlobalConfiguration","description":"RoutingStrategyGlobalConfiguration"},"RoutingStrategyRerouteTimeTriggeredConfig":{"additionalProperties":false,"properties":{"clickAndCollectReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreDeliveryReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreSamedayReroute":{"$ref":"#/components/schemas/RerouteConfiguration"}},"required":["clickAndCollectReroute","shipFromStoreDeliveryReroute","shipFromStoreSamedayReroute"],"type":"object","title":"RoutingStrategyRerouteTimeTriggeredConfig","description":"RoutingStrategyRerouteTimeTriggeredConfig"},"RerouteConfiguration":{"properties":{"active":{"type":"boolean"},"leadTimeBeforeTimeTriggeredReroute":{"description":"How many minutes before a time triggered reroute a notification should be sent. Should be smaller than rerouteAfterMinutes","minimum":1,"type":"number"},"rerouteAfterMinutes":{"default":1440,"description":"The amount of minutes after which an automated reroute is executed","minimum":5,"type":"number"},"rerouteStartedJobs":{"$ref":"#/components/schemas/RerouteStartedJobsConfiguration"},"rerouteTargetTimeHours":{"default":48,"description":"Only pickjobs within the target time window are considered for reroute.","minimum":1,"type":"number"}},"required":["active","rerouteTargetTimeHours","rerouteAfterMinutes"],"title":"RerouteConfiguration","description":"RerouteConfiguration"},"RerouteStartedJobsConfiguration":{"properties":{"active":{"default":false,"description":"If true, the reroute will be executed for jobs that are already started.","type":"boolean"},"minimumStartedTimeInMinutes":{"description":"The minimum time in minutes that a job must be in a started status (eg. PAUSED, IN_PROGRESS) before it should be rerouted. This is to ensure that jobs are not rerouted too quickly after they have last been modified. Minimum value is 60 minutes.","minimum":60,"type":"number"}},"required":["active"],"title":"RerouteStartedJobsConfiguration","description":"RerouteStartedJobsConfiguration"},"RoutingStrategyNode":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"categoryRef":{"type":"string"},"config":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"}},"required":["active","config","id","nameLocalized"],"type":"object","title":"RoutingStrategyNode","description":"RoutingStrategyNode"},"ActivationTimeFrame":{"additionalProperties":false,"properties":{"activeFrom":{"description":"Sets a date before which the associated entity does not become active","format":"date-time","type":"string"},"activeUntil":{"description":"Sets a date after which the associated entity becomes active","format":"date-time","type":"string"},"recurrence":{"$ref":"#/components/schemas/ActivationTimeFrameRecurrenceType"}},"required":["recurrence"],"type":"object","title":"ActivationTimeFrame","description":"ActivationTimeFrame"},"ActivationTimeFrameRecurrenceType":{"enum":["YEARLY","NONRECURRING"],"type":"string","title":"ActivationTimeFrameRecurrenceType","description":"ActivationTimeFrameRecurrenceType"},"RoutingStrategyNodeConfig":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFence"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFence","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardRating"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyStandardRating","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfig","description":"RoutingStrategyNodeConfig"},"RoutingStrategyFallbackFacilityConfig":{"properties":{"active":{"default":false,"type":"boolean"},"facilityRefs":{"items":{"type":"string"},"maxItems":1,"minItems":1,"type":"array"},"fallbackAfterTime":{"default":"PT0H","description":"Default amount of time in ISO 8601 duration format after which a not routable routingplan is routed to a configured fallback facility.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"}},"required":["facilityRefs","active","fallbackAfterTime"],"title":"RoutingStrategyFallbackFacilityConfig","description":"RoutingStrategyFallbackFacilityConfig"},"RoutingStrategyStandardFence":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"name":{"type":"string"},"supportedModes":{"items":{"$ref":"#/components/schemas/FenceMode"},"type":"array"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"FenceMode":{"enum":["static","reactive"],"type":"string","title":"FenceMode","description":"FenceMode"},"FenceImplementation":{"description":"<i>This part of the API is currently under development. That means that this endpoint, model, etc. can contain breaking changes and / or might not be available at all times in your API instance. It could disappear also without warning. Thus it currently does not fall under our SLA regulations. For details on this topic please check our <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle\">documentation</a></i>","enum":["FACILITY-BUSINESSTYPE","STOCK-AVAILABILITY","FACILITY-CARRIERAVAILABILITY","FACILITY-COUNTRY","FACILITY-PICKING-TIME-CAPACITY","PRESELECTED-FACILITY","SAMEDAY-POSSIBLE","AVOID-ZERO-STOCK"],"type":"string","xml":{"name":"FenceImplementation"},"title":"FenceImplementation"},"RoutingStrategyStandardFenceType":{"enum":["StandardFence"],"type":"string","title":"RoutingStrategyStandardFenceType","description":"RoutingStrategyStandardFenceType"},"RoutingStrategyToolkitFence":{"additionalProperties":false,"description":"Routing Strategy Toolkit Fence.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not.","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this fence.","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"name":{"description":"The name of the fence.","type":"string"},"order":{"description":"Order in which this fence is executed","type":"integer"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitFenceType"}},"required":["nameLocalized","active","order","type","referenceId"],"title":"RoutingStrategyToolkitFence"},"ToolkitComparisonRule":{"description":"The rule, comparing the left and right path values, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitComparisonPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitComparisonRule"},"ToolkitRuleScope":{"enum":["WHOLE_ENTITY","LINE_ITEM"],"type":"string","xml":{"name":"ToolkitRuleScope"},"title":"ToolkitRuleScope","description":"ToolkitRuleScope"},"ToolkitPredicateConnector":{"description":"The allowed operators for connecting multiple predicates","enum":["OR","AND"],"type":"string","xml":{"name":"ToolkitPredicateConnector"},"title":"ToolkitPredicateConnector"},"ToolkitComparisonPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitRuleComparisonOperatorType"},"leftEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity2 property"},"leftPropertyPath":{"minLength":1,"type":"string"},"leftTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"leftTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"},"rightEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity1 property"},"rightPropertyPath":{"minLength":1,"type":"string"},"rightTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"rightTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["rightPropertyPath","leftPropertyPath","entityOperator","leftEntity","rightEntity"],"type":"object","xml":{"name":"ToolkitComparisonPredicate"},"title":"ToolkitComparisonPredicate"},"ToolkitRuleComparisonOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["NO_MATCHES","ALL_MATCHES","LEFT_CONTAINS_RIGHT","RIGHT_CONTAINS_LEFT"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleComparisonOperatorType"},"ToolkitAllowedEntities":{"description":"The entities that can be compared by the toolkit fence or rating\n  * `ORDER`\n  * `FACILITY`\n  * `CARRIERCONNECTION`\n  * `LISTING`\n  * `ORDERING_FACILITY` - left side only\n  * `ORDERING_FACILITY_GROUPS` - left side only","enum":["ORDER","FACILITY","CARRIERCONNECTION","LISTING","ORDERING_FACILITY","ORDERING_FACILITY_GROUPS"],"type":"string","xml":{"name":"ToolkitAllowedEntities"},"title":"ToolkitAllowedEntities"},"ToolkitTransformationType":{"description":"The transformations available to apply on the entity property value before a predicate is evaluated","enum":["SUBSTRING","COUNT","SUM","LAST"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitTransformationType"},"ToolkitRule":{"description":"The rule, containing the left predicates and the right predicates, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"leftPart":{"$ref":"#/components/schemas/ToolkitRulePart"},"operator":{"$ref":"#/components/schemas/ToolkitRuleOperatorType"},"rightPart":{"$ref":"#/components/schemas/ToolkitRulePart"}},"required":["operator","leftPart","rightPart","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitRule"},"ToolkitRulePart":{"additionalProperties":false,"description":"One half of the rule, containing either the left or right predicates and booleanOperator.","properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"ToolkitRulePart"},"title":"ToolkitRulePart"},"ToolkitPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entity":{"$ref":"#/components/schemas/ToolkitAllowedEntities"},"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator","entity"],"type":"object","xml":{"name":"ToolkitPredicate"},"title":"ToolkitPredicate"},"ToolkitEntityOperatorType":{"description":"The possible operator types that can be used on given entities","enum":["VALUE_EQUALS","VALUE_NOT_EQUALS","ANY_VALUE_EQUALS","ANY_VALUE_GREATER_EQUALS","ANY_VALUE_GREATER_THAN","ANY_VALUE_LESS_EQUALS","ANY_VALUE_LESS_THAN","ANY_VALUE_CONTAINS","ANY_VALUE_NOT_CONTAINS","EVERY_VALUE_EQUALS","EVERY_VALUE_GREATER_EQUALS","EVERY_VALUE_GREATER_THAN","EVERY_VALUE_LESS_EQUALS","EVERY_VALUE_LESS_THAN","EVERY_VALUE_CONTAINS","EVERY_VALUE_NOT_CONTAINS","NO_VALUE_EQUALS","NO_VALUE_GREATER_EQUALS","NO_VALUE_GREATER_THAN","NO_VALUE_LESS_EQUALS","NO_VALUE_LESS_THAN","NO_VALUE_CONTAINS","NO_VALUE_NOT_CONTAINS","VALUE_CONTAINS","VALUE_NOT_CONTAINS","GREATER_THAN","GREATER_EQUALS","LESS_THAN","LESS_EQUALS"],"type":"string","xml":{"name":"ToolkitEntityOperatorType"},"title":"ToolkitEntityOperatorType"},"ToolkitRuleOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["EQUALS"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleOperatorType"},"RoutingStrategyToolkitFenceType":{"enum":["ToolkitFence"],"type":"string","title":"RoutingStrategyToolkitFenceType","description":"RoutingStrategyToolkitFenceType"},"RoutingStrategyOrderSplitConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"activeForSameday":{"type":"boolean"},"maxSplitCount":{"type":"integer"},"shouldUseWaitingRoomForPreBackOrderItems":{"type":"boolean"}},"required":["active","maxSplitCount","activeForSameday","shouldUseWaitingRoomForPreBackOrderItems"],"type":"object","title":"RoutingStrategyOrderSplitConfig","description":"RoutingStrategyOrderSplitConfig"},"RoutingStrategyStandardRating":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyStandardRating","type":"object"},"AbstractRatingConfiguration":{"description":"Base Configuration for Ratings. See documentation for Details.","type":"object","xml":{"name":"AbstractRatingConfiguration"},"title":"AbstractRatingConfiguration"},"RatingImplementation":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","enum":["STOCK-BALANCING","GEO-DISTANCE","TURNOVER","STOCK-AVAILABILITY","WORKLOAD-BALANCING","MATCHING-BUSINESSTYPE","PREFER-STORE","PREFER-WAREHOUSE","ZONE","EXPIRY-DATE","CAPACITY","DELIVERY-COSTS","DELIVERY-TIME","COST-COMPONENTS","NUMBER-OF-DELIVERIES"],"type":"string","xml":{"name":"RatingImplementation"},"title":"RatingImplementation"},"RoutingStrategyStandardRatingType":{"enum":["StandardRating"],"type":"string","title":"RoutingStrategyStandardRatingType","description":"RoutingStrategyStandardRatingType"},"RoutingStrategyToolkitRating":{"additionalProperties":false,"description":"Routing Strategy Toolkit Rating.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this rating","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"maxPenalty":{"description":"The maximum penalty this rating can have","type":"integer"},"name":{"description":"The name of the rating","type":"string"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitRatingType"}},"required":["type","nameLocalized","active","maxPenalty","referenceId"],"title":"RoutingStrategyToolkitRating"},"RoutingStrategyToolkitRatingType":{"enum":["ToolkitRating"],"type":"string","title":"RoutingStrategyToolkitRatingType","description":"RoutingStrategyToolkitRatingType"},"RoutingStrategyRerouteConfig":{"additionalProperties":false,"properties":{"clickAndCollect":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"},"manualReroute":{"type":"boolean"},"rerouteZeroPicksOnly":{"default":false,"description":"Specifies whether only pick jobs with zero items picked are eligible for rerouting.","type":"boolean"},"shipFromStore":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"}},"type":"object","title":"RoutingStrategyRerouteConfig","description":"RoutingStrategyRerouteConfig"},"RoutingStrategyFacilityRerouteConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"rerouteType":{"$ref":"#/components/schemas/RoutingStrategyRerouteType"}},"required":["rerouteType"],"type":"object","title":"RoutingStrategyFacilityRerouteConfig","description":"RoutingStrategyFacilityRerouteConfig"},"RoutingStrategyRerouteType":{"description":"The type of reroute to apply to the order\n  * `REROUTE`- the complete routing plan is rerouted.\n  * `ORDERSPLIT`- the order is splitted. The split line items will be moved to a new routing plan and rerouted.","enum":["REROUTE","ORDERSPLIT"],"type":"string","title":"RoutingStrategyRerouteType"},"RoutingStrategyCondition":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"},"nextNode":{"$ref":"#/components/schemas/RoutingStrategyNode"},"rule":{"$ref":"#/components/schemas/RoutingStrategyConditionRule"}},"required":["nextNode","active","rule","id","nameLocalized"],"title":"RoutingStrategyCondition","description":"RoutingStrategyCondition"},"RoutingStrategyConditionRule":{"additionalProperties":false,"properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/RoutingStrategyConditionPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"RoutingStrategyConditionRule"},"title":"RoutingStrategyConditionRule","description":"RoutingStrategyConditionRule"},"RoutingStrategyConditionPredicate":{"description":"The predicate for a routing strategy condition rule","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator"],"type":"object","xml":{"name":"RoutingStrategyConditionPredicate"},"title":"RoutingStrategyConditionPredicate"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/strategies":{"get":{"description":"","operationId":"getRoutingStrategies","parameters":[{"description":"all entities","in":"query","name":"startAfterId","required":false,"schema":{"type":"string"}},{"description":"number of entities to show","in":"query","name":"size","required":false,"schema":{"default":25,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyTransporter"}}},"description":"The current list of available routing strategies"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"No more elements available"}},"summary":"List routing strategies","tags":["Routing Strategy (DOMS)"]}}}}
```

## Create routing strategy

> Creates a new revision of the routing strategy.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategyForCreation":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"}},"required":["nameLocalized"],"type":"object","xml":{"name":"RoutingStrategy"},"title":"RoutingStrategyForCreation","description":"RoutingStrategyForCreation"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"RoutingStrategy":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"globalConfiguration":{"$ref":"#/components/schemas/RoutingStrategyGlobalConfiguration"},"id":{"type":"string"},"inUse":{"description":"Only one strategy can be inUse","type":"boolean"},"name":{"type":"string"},"revision":{"description":"The revision of the routing strategy","type":"integer"},"rootNode":{"$ref":"#/components/schemas/RoutingStrategyNode"}},"required":["inUse","revision","id","nameLocalized","rootNode","globalConfiguration"]}],"type":"object","title":"RoutingStrategy","description":"RoutingStrategy"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"RoutingStrategyGlobalConfiguration":{"additionalProperties":false,"properties":{"blacklistAssignedFacilities":{"description":"If true, facilities that have already been assigned to the order in a previous routing attempt will not be considered in the next routing attempt.","type":"boolean"},"defaultPrice":{"default":10,"description":"The price applied when no specific price is defined in the order or listing","type":"number"},"restowAfterMinutes":{"description":"The amount of minutes after which a restow is executed. If not set, restows will not be executed.","type":"number"},"stopRoutingAttemptsAfterTime":{"default":"PT8H","description":"The amount of time, specified in ISO 8601 duration format, after which a routing plan is considered not routable. Note: The duration must be a multiple of 60 seconds.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"},"timeTriggered":{"$ref":"#/components/schemas/RoutingStrategyRerouteTimeTriggeredConfig"}},"required":["defaultPrice"],"type":"object","xml":{"name":"RoutingStrategyGlobalConfiguration"},"title":"RoutingStrategyGlobalConfiguration","description":"RoutingStrategyGlobalConfiguration"},"RoutingStrategyRerouteTimeTriggeredConfig":{"additionalProperties":false,"properties":{"clickAndCollectReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreDeliveryReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreSamedayReroute":{"$ref":"#/components/schemas/RerouteConfiguration"}},"required":["clickAndCollectReroute","shipFromStoreDeliveryReroute","shipFromStoreSamedayReroute"],"type":"object","title":"RoutingStrategyRerouteTimeTriggeredConfig","description":"RoutingStrategyRerouteTimeTriggeredConfig"},"RerouteConfiguration":{"properties":{"active":{"type":"boolean"},"leadTimeBeforeTimeTriggeredReroute":{"description":"How many minutes before a time triggered reroute a notification should be sent. Should be smaller than rerouteAfterMinutes","minimum":1,"type":"number"},"rerouteAfterMinutes":{"default":1440,"description":"The amount of minutes after which an automated reroute is executed","minimum":5,"type":"number"},"rerouteStartedJobs":{"$ref":"#/components/schemas/RerouteStartedJobsConfiguration"},"rerouteTargetTimeHours":{"default":48,"description":"Only pickjobs within the target time window are considered for reroute.","minimum":1,"type":"number"}},"required":["active","rerouteTargetTimeHours","rerouteAfterMinutes"],"title":"RerouteConfiguration","description":"RerouteConfiguration"},"RerouteStartedJobsConfiguration":{"properties":{"active":{"default":false,"description":"If true, the reroute will be executed for jobs that are already started.","type":"boolean"},"minimumStartedTimeInMinutes":{"description":"The minimum time in minutes that a job must be in a started status (eg. PAUSED, IN_PROGRESS) before it should be rerouted. This is to ensure that jobs are not rerouted too quickly after they have last been modified. Minimum value is 60 minutes.","minimum":60,"type":"number"}},"required":["active"],"title":"RerouteStartedJobsConfiguration","description":"RerouteStartedJobsConfiguration"},"RoutingStrategyNode":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"categoryRef":{"type":"string"},"config":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"}},"required":["active","config","id","nameLocalized"],"type":"object","title":"RoutingStrategyNode","description":"RoutingStrategyNode"},"ActivationTimeFrame":{"additionalProperties":false,"properties":{"activeFrom":{"description":"Sets a date before which the associated entity does not become active","format":"date-time","type":"string"},"activeUntil":{"description":"Sets a date after which the associated entity becomes active","format":"date-time","type":"string"},"recurrence":{"$ref":"#/components/schemas/ActivationTimeFrameRecurrenceType"}},"required":["recurrence"],"type":"object","title":"ActivationTimeFrame","description":"ActivationTimeFrame"},"ActivationTimeFrameRecurrenceType":{"enum":["YEARLY","NONRECURRING"],"type":"string","title":"ActivationTimeFrameRecurrenceType","description":"ActivationTimeFrameRecurrenceType"},"RoutingStrategyNodeConfig":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFence"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFence","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardRating"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyStandardRating","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfig","description":"RoutingStrategyNodeConfig"},"RoutingStrategyFallbackFacilityConfig":{"properties":{"active":{"default":false,"type":"boolean"},"facilityRefs":{"items":{"type":"string"},"maxItems":1,"minItems":1,"type":"array"},"fallbackAfterTime":{"default":"PT0H","description":"Default amount of time in ISO 8601 duration format after which a not routable routingplan is routed to a configured fallback facility.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"}},"required":["facilityRefs","active","fallbackAfterTime"],"title":"RoutingStrategyFallbackFacilityConfig","description":"RoutingStrategyFallbackFacilityConfig"},"RoutingStrategyStandardFence":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"name":{"type":"string"},"supportedModes":{"items":{"$ref":"#/components/schemas/FenceMode"},"type":"array"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"FenceMode":{"enum":["static","reactive"],"type":"string","title":"FenceMode","description":"FenceMode"},"FenceImplementation":{"description":"<i>This part of the API is currently under development. That means that this endpoint, model, etc. can contain breaking changes and / or might not be available at all times in your API instance. It could disappear also without warning. Thus it currently does not fall under our SLA regulations. For details on this topic please check our <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle\">documentation</a></i>","enum":["FACILITY-BUSINESSTYPE","STOCK-AVAILABILITY","FACILITY-CARRIERAVAILABILITY","FACILITY-COUNTRY","FACILITY-PICKING-TIME-CAPACITY","PRESELECTED-FACILITY","SAMEDAY-POSSIBLE","AVOID-ZERO-STOCK"],"type":"string","xml":{"name":"FenceImplementation"},"title":"FenceImplementation"},"RoutingStrategyStandardFenceType":{"enum":["StandardFence"],"type":"string","title":"RoutingStrategyStandardFenceType","description":"RoutingStrategyStandardFenceType"},"RoutingStrategyToolkitFence":{"additionalProperties":false,"description":"Routing Strategy Toolkit Fence.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not.","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this fence.","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"name":{"description":"The name of the fence.","type":"string"},"order":{"description":"Order in which this fence is executed","type":"integer"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitFenceType"}},"required":["nameLocalized","active","order","type","referenceId"],"title":"RoutingStrategyToolkitFence"},"ToolkitComparisonRule":{"description":"The rule, comparing the left and right path values, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitComparisonPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitComparisonRule"},"ToolkitRuleScope":{"enum":["WHOLE_ENTITY","LINE_ITEM"],"type":"string","xml":{"name":"ToolkitRuleScope"},"title":"ToolkitRuleScope","description":"ToolkitRuleScope"},"ToolkitPredicateConnector":{"description":"The allowed operators for connecting multiple predicates","enum":["OR","AND"],"type":"string","xml":{"name":"ToolkitPredicateConnector"},"title":"ToolkitPredicateConnector"},"ToolkitComparisonPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitRuleComparisonOperatorType"},"leftEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity2 property"},"leftPropertyPath":{"minLength":1,"type":"string"},"leftTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"leftTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"},"rightEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity1 property"},"rightPropertyPath":{"minLength":1,"type":"string"},"rightTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"rightTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["rightPropertyPath","leftPropertyPath","entityOperator","leftEntity","rightEntity"],"type":"object","xml":{"name":"ToolkitComparisonPredicate"},"title":"ToolkitComparisonPredicate"},"ToolkitRuleComparisonOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["NO_MATCHES","ALL_MATCHES","LEFT_CONTAINS_RIGHT","RIGHT_CONTAINS_LEFT"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleComparisonOperatorType"},"ToolkitAllowedEntities":{"description":"The entities that can be compared by the toolkit fence or rating\n  * `ORDER`\n  * `FACILITY`\n  * `CARRIERCONNECTION`\n  * `LISTING`\n  * `ORDERING_FACILITY` - left side only\n  * `ORDERING_FACILITY_GROUPS` - left side only","enum":["ORDER","FACILITY","CARRIERCONNECTION","LISTING","ORDERING_FACILITY","ORDERING_FACILITY_GROUPS"],"type":"string","xml":{"name":"ToolkitAllowedEntities"},"title":"ToolkitAllowedEntities"},"ToolkitTransformationType":{"description":"The transformations available to apply on the entity property value before a predicate is evaluated","enum":["SUBSTRING","COUNT","SUM","LAST"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitTransformationType"},"ToolkitRule":{"description":"The rule, containing the left predicates and the right predicates, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"leftPart":{"$ref":"#/components/schemas/ToolkitRulePart"},"operator":{"$ref":"#/components/schemas/ToolkitRuleOperatorType"},"rightPart":{"$ref":"#/components/schemas/ToolkitRulePart"}},"required":["operator","leftPart","rightPart","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitRule"},"ToolkitRulePart":{"additionalProperties":false,"description":"One half of the rule, containing either the left or right predicates and booleanOperator.","properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"ToolkitRulePart"},"title":"ToolkitRulePart"},"ToolkitPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entity":{"$ref":"#/components/schemas/ToolkitAllowedEntities"},"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator","entity"],"type":"object","xml":{"name":"ToolkitPredicate"},"title":"ToolkitPredicate"},"ToolkitEntityOperatorType":{"description":"The possible operator types that can be used on given entities","enum":["VALUE_EQUALS","VALUE_NOT_EQUALS","ANY_VALUE_EQUALS","ANY_VALUE_GREATER_EQUALS","ANY_VALUE_GREATER_THAN","ANY_VALUE_LESS_EQUALS","ANY_VALUE_LESS_THAN","ANY_VALUE_CONTAINS","ANY_VALUE_NOT_CONTAINS","EVERY_VALUE_EQUALS","EVERY_VALUE_GREATER_EQUALS","EVERY_VALUE_GREATER_THAN","EVERY_VALUE_LESS_EQUALS","EVERY_VALUE_LESS_THAN","EVERY_VALUE_CONTAINS","EVERY_VALUE_NOT_CONTAINS","NO_VALUE_EQUALS","NO_VALUE_GREATER_EQUALS","NO_VALUE_GREATER_THAN","NO_VALUE_LESS_EQUALS","NO_VALUE_LESS_THAN","NO_VALUE_CONTAINS","NO_VALUE_NOT_CONTAINS","VALUE_CONTAINS","VALUE_NOT_CONTAINS","GREATER_THAN","GREATER_EQUALS","LESS_THAN","LESS_EQUALS"],"type":"string","xml":{"name":"ToolkitEntityOperatorType"},"title":"ToolkitEntityOperatorType"},"ToolkitRuleOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["EQUALS"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleOperatorType"},"RoutingStrategyToolkitFenceType":{"enum":["ToolkitFence"],"type":"string","title":"RoutingStrategyToolkitFenceType","description":"RoutingStrategyToolkitFenceType"},"RoutingStrategyOrderSplitConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"activeForSameday":{"type":"boolean"},"maxSplitCount":{"type":"integer"},"shouldUseWaitingRoomForPreBackOrderItems":{"type":"boolean"}},"required":["active","maxSplitCount","activeForSameday","shouldUseWaitingRoomForPreBackOrderItems"],"type":"object","title":"RoutingStrategyOrderSplitConfig","description":"RoutingStrategyOrderSplitConfig"},"RoutingStrategyStandardRating":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyStandardRating","type":"object"},"AbstractRatingConfiguration":{"description":"Base Configuration for Ratings. See documentation for Details.","type":"object","xml":{"name":"AbstractRatingConfiguration"},"title":"AbstractRatingConfiguration"},"RatingImplementation":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","enum":["STOCK-BALANCING","GEO-DISTANCE","TURNOVER","STOCK-AVAILABILITY","WORKLOAD-BALANCING","MATCHING-BUSINESSTYPE","PREFER-STORE","PREFER-WAREHOUSE","ZONE","EXPIRY-DATE","CAPACITY","DELIVERY-COSTS","DELIVERY-TIME","COST-COMPONENTS","NUMBER-OF-DELIVERIES"],"type":"string","xml":{"name":"RatingImplementation"},"title":"RatingImplementation"},"RoutingStrategyStandardRatingType":{"enum":["StandardRating"],"type":"string","title":"RoutingStrategyStandardRatingType","description":"RoutingStrategyStandardRatingType"},"RoutingStrategyToolkitRating":{"additionalProperties":false,"description":"Routing Strategy Toolkit Rating.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this rating","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"maxPenalty":{"description":"The maximum penalty this rating can have","type":"integer"},"name":{"description":"The name of the rating","type":"string"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitRatingType"}},"required":["type","nameLocalized","active","maxPenalty","referenceId"],"title":"RoutingStrategyToolkitRating"},"RoutingStrategyToolkitRatingType":{"enum":["ToolkitRating"],"type":"string","title":"RoutingStrategyToolkitRatingType","description":"RoutingStrategyToolkitRatingType"},"RoutingStrategyRerouteConfig":{"additionalProperties":false,"properties":{"clickAndCollect":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"},"manualReroute":{"type":"boolean"},"rerouteZeroPicksOnly":{"default":false,"description":"Specifies whether only pick jobs with zero items picked are eligible for rerouting.","type":"boolean"},"shipFromStore":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"}},"type":"object","title":"RoutingStrategyRerouteConfig","description":"RoutingStrategyRerouteConfig"},"RoutingStrategyFacilityRerouteConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"rerouteType":{"$ref":"#/components/schemas/RoutingStrategyRerouteType"}},"required":["rerouteType"],"type":"object","title":"RoutingStrategyFacilityRerouteConfig","description":"RoutingStrategyFacilityRerouteConfig"},"RoutingStrategyRerouteType":{"description":"The type of reroute to apply to the order\n  * `REROUTE`- the complete routing plan is rerouted.\n  * `ORDERSPLIT`- the order is splitted. The split line items will be moved to a new routing plan and rerouted.","enum":["REROUTE","ORDERSPLIT"],"type":"string","title":"RoutingStrategyRerouteType"},"RoutingStrategyCondition":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"},"nextNode":{"$ref":"#/components/schemas/RoutingStrategyNode"},"rule":{"$ref":"#/components/schemas/RoutingStrategyConditionRule"}},"required":["nextNode","active","rule","id","nameLocalized"],"title":"RoutingStrategyCondition","description":"RoutingStrategyCondition"},"RoutingStrategyConditionRule":{"additionalProperties":false,"properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/RoutingStrategyConditionPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"RoutingStrategyConditionRule"},"title":"RoutingStrategyConditionRule","description":"RoutingStrategyConditionRule"},"RoutingStrategyConditionPredicate":{"description":"The predicate for a routing strategy condition rule","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator"],"type":"object","xml":{"name":"RoutingStrategyConditionPredicate"},"title":"RoutingStrategyConditionPredicate"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/strategies":{"post":{"description":"Creates a new revision of the routing strategy.","operationId":"postRoutingStrategy","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyForCreation"}}},"description":"The desired routing strategy","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategy"}}},"description":"The created routing strategy."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Create routing strategy","tags":["Routing Strategy (DOMS)"]}}}}
```

## Get routing strategy

> Returns the routing strategy.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategy":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"globalConfiguration":{"$ref":"#/components/schemas/RoutingStrategyGlobalConfiguration"},"id":{"type":"string"},"inUse":{"description":"Only one strategy can be inUse","type":"boolean"},"name":{"type":"string"},"revision":{"description":"The revision of the routing strategy","type":"integer"},"rootNode":{"$ref":"#/components/schemas/RoutingStrategyNode"}},"required":["inUse","revision","id","nameLocalized","rootNode","globalConfiguration"]}],"type":"object","title":"RoutingStrategy","description":"RoutingStrategy"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"RoutingStrategyGlobalConfiguration":{"additionalProperties":false,"properties":{"blacklistAssignedFacilities":{"description":"If true, facilities that have already been assigned to the order in a previous routing attempt will not be considered in the next routing attempt.","type":"boolean"},"defaultPrice":{"default":10,"description":"The price applied when no specific price is defined in the order or listing","type":"number"},"restowAfterMinutes":{"description":"The amount of minutes after which a restow is executed. If not set, restows will not be executed.","type":"number"},"stopRoutingAttemptsAfterTime":{"default":"PT8H","description":"The amount of time, specified in ISO 8601 duration format, after which a routing plan is considered not routable. Note: The duration must be a multiple of 60 seconds.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"},"timeTriggered":{"$ref":"#/components/schemas/RoutingStrategyRerouteTimeTriggeredConfig"}},"required":["defaultPrice"],"type":"object","xml":{"name":"RoutingStrategyGlobalConfiguration"},"title":"RoutingStrategyGlobalConfiguration","description":"RoutingStrategyGlobalConfiguration"},"RoutingStrategyRerouteTimeTriggeredConfig":{"additionalProperties":false,"properties":{"clickAndCollectReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreDeliveryReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreSamedayReroute":{"$ref":"#/components/schemas/RerouteConfiguration"}},"required":["clickAndCollectReroute","shipFromStoreDeliveryReroute","shipFromStoreSamedayReroute"],"type":"object","title":"RoutingStrategyRerouteTimeTriggeredConfig","description":"RoutingStrategyRerouteTimeTriggeredConfig"},"RerouteConfiguration":{"properties":{"active":{"type":"boolean"},"leadTimeBeforeTimeTriggeredReroute":{"description":"How many minutes before a time triggered reroute a notification should be sent. Should be smaller than rerouteAfterMinutes","minimum":1,"type":"number"},"rerouteAfterMinutes":{"default":1440,"description":"The amount of minutes after which an automated reroute is executed","minimum":5,"type":"number"},"rerouteStartedJobs":{"$ref":"#/components/schemas/RerouteStartedJobsConfiguration"},"rerouteTargetTimeHours":{"default":48,"description":"Only pickjobs within the target time window are considered for reroute.","minimum":1,"type":"number"}},"required":["active","rerouteTargetTimeHours","rerouteAfterMinutes"],"title":"RerouteConfiguration","description":"RerouteConfiguration"},"RerouteStartedJobsConfiguration":{"properties":{"active":{"default":false,"description":"If true, the reroute will be executed for jobs that are already started.","type":"boolean"},"minimumStartedTimeInMinutes":{"description":"The minimum time in minutes that a job must be in a started status (eg. PAUSED, IN_PROGRESS) before it should be rerouted. This is to ensure that jobs are not rerouted too quickly after they have last been modified. Minimum value is 60 minutes.","minimum":60,"type":"number"}},"required":["active"],"title":"RerouteStartedJobsConfiguration","description":"RerouteStartedJobsConfiguration"},"RoutingStrategyNode":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"categoryRef":{"type":"string"},"config":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"}},"required":["active","config","id","nameLocalized"],"type":"object","title":"RoutingStrategyNode","description":"RoutingStrategyNode"},"ActivationTimeFrame":{"additionalProperties":false,"properties":{"activeFrom":{"description":"Sets a date before which the associated entity does not become active","format":"date-time","type":"string"},"activeUntil":{"description":"Sets a date after which the associated entity becomes active","format":"date-time","type":"string"},"recurrence":{"$ref":"#/components/schemas/ActivationTimeFrameRecurrenceType"}},"required":["recurrence"],"type":"object","title":"ActivationTimeFrame","description":"ActivationTimeFrame"},"ActivationTimeFrameRecurrenceType":{"enum":["YEARLY","NONRECURRING"],"type":"string","title":"ActivationTimeFrameRecurrenceType","description":"ActivationTimeFrameRecurrenceType"},"RoutingStrategyNodeConfig":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFence"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFence","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardRating"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyStandardRating","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfig","description":"RoutingStrategyNodeConfig"},"RoutingStrategyFallbackFacilityConfig":{"properties":{"active":{"default":false,"type":"boolean"},"facilityRefs":{"items":{"type":"string"},"maxItems":1,"minItems":1,"type":"array"},"fallbackAfterTime":{"default":"PT0H","description":"Default amount of time in ISO 8601 duration format after which a not routable routingplan is routed to a configured fallback facility.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"}},"required":["facilityRefs","active","fallbackAfterTime"],"title":"RoutingStrategyFallbackFacilityConfig","description":"RoutingStrategyFallbackFacilityConfig"},"RoutingStrategyStandardFence":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"name":{"type":"string"},"supportedModes":{"items":{"$ref":"#/components/schemas/FenceMode"},"type":"array"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"FenceMode":{"enum":["static","reactive"],"type":"string","title":"FenceMode","description":"FenceMode"},"FenceImplementation":{"description":"<i>This part of the API is currently under development. That means that this endpoint, model, etc. can contain breaking changes and / or might not be available at all times in your API instance. It could disappear also without warning. Thus it currently does not fall under our SLA regulations. For details on this topic please check our <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle\">documentation</a></i>","enum":["FACILITY-BUSINESSTYPE","STOCK-AVAILABILITY","FACILITY-CARRIERAVAILABILITY","FACILITY-COUNTRY","FACILITY-PICKING-TIME-CAPACITY","PRESELECTED-FACILITY","SAMEDAY-POSSIBLE","AVOID-ZERO-STOCK"],"type":"string","xml":{"name":"FenceImplementation"},"title":"FenceImplementation"},"RoutingStrategyStandardFenceType":{"enum":["StandardFence"],"type":"string","title":"RoutingStrategyStandardFenceType","description":"RoutingStrategyStandardFenceType"},"RoutingStrategyToolkitFence":{"additionalProperties":false,"description":"Routing Strategy Toolkit Fence.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not.","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this fence.","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"name":{"description":"The name of the fence.","type":"string"},"order":{"description":"Order in which this fence is executed","type":"integer"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitFenceType"}},"required":["nameLocalized","active","order","type","referenceId"],"title":"RoutingStrategyToolkitFence"},"ToolkitComparisonRule":{"description":"The rule, comparing the left and right path values, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitComparisonPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitComparisonRule"},"ToolkitRuleScope":{"enum":["WHOLE_ENTITY","LINE_ITEM"],"type":"string","xml":{"name":"ToolkitRuleScope"},"title":"ToolkitRuleScope","description":"ToolkitRuleScope"},"ToolkitPredicateConnector":{"description":"The allowed operators for connecting multiple predicates","enum":["OR","AND"],"type":"string","xml":{"name":"ToolkitPredicateConnector"},"title":"ToolkitPredicateConnector"},"ToolkitComparisonPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitRuleComparisonOperatorType"},"leftEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity2 property"},"leftPropertyPath":{"minLength":1,"type":"string"},"leftTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"leftTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"},"rightEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity1 property"},"rightPropertyPath":{"minLength":1,"type":"string"},"rightTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"rightTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["rightPropertyPath","leftPropertyPath","entityOperator","leftEntity","rightEntity"],"type":"object","xml":{"name":"ToolkitComparisonPredicate"},"title":"ToolkitComparisonPredicate"},"ToolkitRuleComparisonOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["NO_MATCHES","ALL_MATCHES","LEFT_CONTAINS_RIGHT","RIGHT_CONTAINS_LEFT"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleComparisonOperatorType"},"ToolkitAllowedEntities":{"description":"The entities that can be compared by the toolkit fence or rating\n  * `ORDER`\n  * `FACILITY`\n  * `CARRIERCONNECTION`\n  * `LISTING`\n  * `ORDERING_FACILITY` - left side only\n  * `ORDERING_FACILITY_GROUPS` - left side only","enum":["ORDER","FACILITY","CARRIERCONNECTION","LISTING","ORDERING_FACILITY","ORDERING_FACILITY_GROUPS"],"type":"string","xml":{"name":"ToolkitAllowedEntities"},"title":"ToolkitAllowedEntities"},"ToolkitTransformationType":{"description":"The transformations available to apply on the entity property value before a predicate is evaluated","enum":["SUBSTRING","COUNT","SUM","LAST"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitTransformationType"},"ToolkitRule":{"description":"The rule, containing the left predicates and the right predicates, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"leftPart":{"$ref":"#/components/schemas/ToolkitRulePart"},"operator":{"$ref":"#/components/schemas/ToolkitRuleOperatorType"},"rightPart":{"$ref":"#/components/schemas/ToolkitRulePart"}},"required":["operator","leftPart","rightPart","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitRule"},"ToolkitRulePart":{"additionalProperties":false,"description":"One half of the rule, containing either the left or right predicates and booleanOperator.","properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"ToolkitRulePart"},"title":"ToolkitRulePart"},"ToolkitPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entity":{"$ref":"#/components/schemas/ToolkitAllowedEntities"},"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator","entity"],"type":"object","xml":{"name":"ToolkitPredicate"},"title":"ToolkitPredicate"},"ToolkitEntityOperatorType":{"description":"The possible operator types that can be used on given entities","enum":["VALUE_EQUALS","VALUE_NOT_EQUALS","ANY_VALUE_EQUALS","ANY_VALUE_GREATER_EQUALS","ANY_VALUE_GREATER_THAN","ANY_VALUE_LESS_EQUALS","ANY_VALUE_LESS_THAN","ANY_VALUE_CONTAINS","ANY_VALUE_NOT_CONTAINS","EVERY_VALUE_EQUALS","EVERY_VALUE_GREATER_EQUALS","EVERY_VALUE_GREATER_THAN","EVERY_VALUE_LESS_EQUALS","EVERY_VALUE_LESS_THAN","EVERY_VALUE_CONTAINS","EVERY_VALUE_NOT_CONTAINS","NO_VALUE_EQUALS","NO_VALUE_GREATER_EQUALS","NO_VALUE_GREATER_THAN","NO_VALUE_LESS_EQUALS","NO_VALUE_LESS_THAN","NO_VALUE_CONTAINS","NO_VALUE_NOT_CONTAINS","VALUE_CONTAINS","VALUE_NOT_CONTAINS","GREATER_THAN","GREATER_EQUALS","LESS_THAN","LESS_EQUALS"],"type":"string","xml":{"name":"ToolkitEntityOperatorType"},"title":"ToolkitEntityOperatorType"},"ToolkitRuleOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["EQUALS"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleOperatorType"},"RoutingStrategyToolkitFenceType":{"enum":["ToolkitFence"],"type":"string","title":"RoutingStrategyToolkitFenceType","description":"RoutingStrategyToolkitFenceType"},"RoutingStrategyOrderSplitConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"activeForSameday":{"type":"boolean"},"maxSplitCount":{"type":"integer"},"shouldUseWaitingRoomForPreBackOrderItems":{"type":"boolean"}},"required":["active","maxSplitCount","activeForSameday","shouldUseWaitingRoomForPreBackOrderItems"],"type":"object","title":"RoutingStrategyOrderSplitConfig","description":"RoutingStrategyOrderSplitConfig"},"RoutingStrategyStandardRating":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyStandardRating","type":"object"},"AbstractRatingConfiguration":{"description":"Base Configuration for Ratings. See documentation for Details.","type":"object","xml":{"name":"AbstractRatingConfiguration"},"title":"AbstractRatingConfiguration"},"RatingImplementation":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","enum":["STOCK-BALANCING","GEO-DISTANCE","TURNOVER","STOCK-AVAILABILITY","WORKLOAD-BALANCING","MATCHING-BUSINESSTYPE","PREFER-STORE","PREFER-WAREHOUSE","ZONE","EXPIRY-DATE","CAPACITY","DELIVERY-COSTS","DELIVERY-TIME","COST-COMPONENTS","NUMBER-OF-DELIVERIES"],"type":"string","xml":{"name":"RatingImplementation"},"title":"RatingImplementation"},"RoutingStrategyStandardRatingType":{"enum":["StandardRating"],"type":"string","title":"RoutingStrategyStandardRatingType","description":"RoutingStrategyStandardRatingType"},"RoutingStrategyToolkitRating":{"additionalProperties":false,"description":"Routing Strategy Toolkit Rating.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this rating","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"maxPenalty":{"description":"The maximum penalty this rating can have","type":"integer"},"name":{"description":"The name of the rating","type":"string"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitRatingType"}},"required":["type","nameLocalized","active","maxPenalty","referenceId"],"title":"RoutingStrategyToolkitRating"},"RoutingStrategyToolkitRatingType":{"enum":["ToolkitRating"],"type":"string","title":"RoutingStrategyToolkitRatingType","description":"RoutingStrategyToolkitRatingType"},"RoutingStrategyRerouteConfig":{"additionalProperties":false,"properties":{"clickAndCollect":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"},"manualReroute":{"type":"boolean"},"rerouteZeroPicksOnly":{"default":false,"description":"Specifies whether only pick jobs with zero items picked are eligible for rerouting.","type":"boolean"},"shipFromStore":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"}},"type":"object","title":"RoutingStrategyRerouteConfig","description":"RoutingStrategyRerouteConfig"},"RoutingStrategyFacilityRerouteConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"rerouteType":{"$ref":"#/components/schemas/RoutingStrategyRerouteType"}},"required":["rerouteType"],"type":"object","title":"RoutingStrategyFacilityRerouteConfig","description":"RoutingStrategyFacilityRerouteConfig"},"RoutingStrategyRerouteType":{"description":"The type of reroute to apply to the order\n  * `REROUTE`- the complete routing plan is rerouted.\n  * `ORDERSPLIT`- the order is splitted. The split line items will be moved to a new routing plan and rerouted.","enum":["REROUTE","ORDERSPLIT"],"type":"string","title":"RoutingStrategyRerouteType"},"RoutingStrategyCondition":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"},"nextNode":{"$ref":"#/components/schemas/RoutingStrategyNode"},"rule":{"$ref":"#/components/schemas/RoutingStrategyConditionRule"}},"required":["nextNode","active","rule","id","nameLocalized"],"title":"RoutingStrategyCondition","description":"RoutingStrategyCondition"},"RoutingStrategyConditionRule":{"additionalProperties":false,"properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/RoutingStrategyConditionPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"RoutingStrategyConditionRule"},"title":"RoutingStrategyConditionRule","description":"RoutingStrategyConditionRule"},"RoutingStrategyConditionPredicate":{"description":"The predicate for a routing strategy condition rule","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator"],"type":"object","xml":{"name":"RoutingStrategyConditionPredicate"},"title":"RoutingStrategyConditionPredicate"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/strategies/{strategyId}":{"get":{"description":"Returns the routing strategy.","operationId":"getRoutingStrategy","parameters":[{"description":"Id of the routing strategy you wish to retrieve","in":"path","name":"strategyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategy"}}},"description":"The returned routing strategy."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Get routing strategy","tags":["Routing Strategy (DOMS)"]}}}}
```

## Update routing strategy

> Updates a routing strategy

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategyForModification":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"globalConfiguration":{"$ref":"#/components/schemas/RoutingStrategyGlobalConfiguration"},"rootNode":{"$ref":"#/components/schemas/RoutingStrategyNodeForModification"},"version":{"type":"integer"}},"required":["rootNode","nameLocalized","version"],"xml":{"name":"RoutingStrategyForModification"},"title":"RoutingStrategyForModification","description":"RoutingStrategyForModification"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"RoutingStrategyGlobalConfiguration":{"additionalProperties":false,"properties":{"blacklistAssignedFacilities":{"description":"If true, facilities that have already been assigned to the order in a previous routing attempt will not be considered in the next routing attempt.","type":"boolean"},"defaultPrice":{"default":10,"description":"The price applied when no specific price is defined in the order or listing","type":"number"},"restowAfterMinutes":{"description":"The amount of minutes after which a restow is executed. If not set, restows will not be executed.","type":"number"},"stopRoutingAttemptsAfterTime":{"default":"PT8H","description":"The amount of time, specified in ISO 8601 duration format, after which a routing plan is considered not routable. Note: The duration must be a multiple of 60 seconds.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"},"timeTriggered":{"$ref":"#/components/schemas/RoutingStrategyRerouteTimeTriggeredConfig"}},"required":["defaultPrice"],"type":"object","xml":{"name":"RoutingStrategyGlobalConfiguration"},"title":"RoutingStrategyGlobalConfiguration","description":"RoutingStrategyGlobalConfiguration"},"RoutingStrategyRerouteTimeTriggeredConfig":{"additionalProperties":false,"properties":{"clickAndCollectReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreDeliveryReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreSamedayReroute":{"$ref":"#/components/schemas/RerouteConfiguration"}},"required":["clickAndCollectReroute","shipFromStoreDeliveryReroute","shipFromStoreSamedayReroute"],"type":"object","title":"RoutingStrategyRerouteTimeTriggeredConfig","description":"RoutingStrategyRerouteTimeTriggeredConfig"},"RerouteConfiguration":{"properties":{"active":{"type":"boolean"},"leadTimeBeforeTimeTriggeredReroute":{"description":"How many minutes before a time triggered reroute a notification should be sent. Should be smaller than rerouteAfterMinutes","minimum":1,"type":"number"},"rerouteAfterMinutes":{"default":1440,"description":"The amount of minutes after which an automated reroute is executed","minimum":5,"type":"number"},"rerouteStartedJobs":{"$ref":"#/components/schemas/RerouteStartedJobsConfiguration"},"rerouteTargetTimeHours":{"default":48,"description":"Only pickjobs within the target time window are considered for reroute.","minimum":1,"type":"number"}},"required":["active","rerouteTargetTimeHours","rerouteAfterMinutes"],"title":"RerouteConfiguration","description":"RerouteConfiguration"},"RerouteStartedJobsConfiguration":{"properties":{"active":{"default":false,"description":"If true, the reroute will be executed for jobs that are already started.","type":"boolean"},"minimumStartedTimeInMinutes":{"description":"The minimum time in minutes that a job must be in a started status (eg. PAUSED, IN_PROGRESS) before it should be rerouted. This is to ensure that jobs are not rerouted too quickly after they have last been modified. Minimum value is 60 minutes.","minimum":60,"type":"number"}},"required":["active"],"title":"RerouteStartedJobsConfiguration","description":"RerouteStartedJobsConfiguration"},"RoutingStrategyNodeForModification":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"categoryRef":{"type":"string"},"config":{"$ref":"#/components/schemas/RoutingStrategyNodeConfigForUpsert"},"description":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyConditionForModification"}},"required":["active","config","nameLocalized"],"type":"object","title":"RoutingStrategyNodeForModification","description":"RoutingStrategyNodeForModification"},"ActivationTimeFrame":{"additionalProperties":false,"properties":{"activeFrom":{"description":"Sets a date before which the associated entity does not become active","format":"date-time","type":"string"},"activeUntil":{"description":"Sets a date after which the associated entity becomes active","format":"date-time","type":"string"},"recurrence":{"$ref":"#/components/schemas/ActivationTimeFrameRecurrenceType"}},"required":["recurrence"],"type":"object","title":"ActivationTimeFrame","description":"ActivationTimeFrame"},"ActivationTimeFrameRecurrenceType":{"enum":["YEARLY","NONRECURRING"],"type":"string","title":"ActivationTimeFrameRecurrenceType","description":"ActivationTimeFrameRecurrenceType"},"RoutingStrategyNodeConfigForUpsert":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFenceForUpsert"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFenceForUpsert","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"maxItems":100,"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyRatingForUpsert"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyRatingForUpsert","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"maxItems":100,"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfigForUpsert","description":"RoutingStrategyNodeConfigForUpsert"},"RoutingStrategyFallbackFacilityConfig":{"properties":{"active":{"default":false,"type":"boolean"},"facilityRefs":{"items":{"type":"string"},"maxItems":1,"minItems":1,"type":"array"},"fallbackAfterTime":{"default":"PT0H","description":"Default amount of time in ISO 8601 duration format after which a not routable routingplan is routed to a configured fallback facility.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"}},"required":["facilityRefs","active","fallbackAfterTime"],"title":"RoutingStrategyFallbackFacilityConfig","description":"RoutingStrategyFallbackFacilityConfig"},"RoutingStrategyStandardFenceForUpsert":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"FenceMode":{"enum":["static","reactive"],"type":"string","title":"FenceMode","description":"FenceMode"},"FenceImplementation":{"description":"<i>This part of the API is currently under development. That means that this endpoint, model, etc. can contain breaking changes and / or might not be available at all times in your API instance. It could disappear also without warning. Thus it currently does not fall under our SLA regulations. For details on this topic please check our <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle\">documentation</a></i>","enum":["FACILITY-BUSINESSTYPE","STOCK-AVAILABILITY","FACILITY-CARRIERAVAILABILITY","FACILITY-COUNTRY","FACILITY-PICKING-TIME-CAPACITY","PRESELECTED-FACILITY","SAMEDAY-POSSIBLE","AVOID-ZERO-STOCK"],"type":"string","xml":{"name":"FenceImplementation"},"title":"FenceImplementation"},"RoutingStrategyStandardFenceType":{"enum":["StandardFence"],"type":"string","title":"RoutingStrategyStandardFenceType","description":"RoutingStrategyStandardFenceType"},"RoutingStrategyToolkitFence":{"additionalProperties":false,"description":"Routing Strategy Toolkit Fence.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not.","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this fence.","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"name":{"description":"The name of the fence.","type":"string"},"order":{"description":"Order in which this fence is executed","type":"integer"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitFenceType"}},"required":["nameLocalized","active","order","type","referenceId"],"title":"RoutingStrategyToolkitFence"},"ToolkitComparisonRule":{"description":"The rule, comparing the left and right path values, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitComparisonPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitComparisonRule"},"ToolkitRuleScope":{"enum":["WHOLE_ENTITY","LINE_ITEM"],"type":"string","xml":{"name":"ToolkitRuleScope"},"title":"ToolkitRuleScope","description":"ToolkitRuleScope"},"ToolkitPredicateConnector":{"description":"The allowed operators for connecting multiple predicates","enum":["OR","AND"],"type":"string","xml":{"name":"ToolkitPredicateConnector"},"title":"ToolkitPredicateConnector"},"ToolkitComparisonPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitRuleComparisonOperatorType"},"leftEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity2 property"},"leftPropertyPath":{"minLength":1,"type":"string"},"leftTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"leftTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"},"rightEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity1 property"},"rightPropertyPath":{"minLength":1,"type":"string"},"rightTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"rightTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["rightPropertyPath","leftPropertyPath","entityOperator","leftEntity","rightEntity"],"type":"object","xml":{"name":"ToolkitComparisonPredicate"},"title":"ToolkitComparisonPredicate"},"ToolkitRuleComparisonOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["NO_MATCHES","ALL_MATCHES","LEFT_CONTAINS_RIGHT","RIGHT_CONTAINS_LEFT"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleComparisonOperatorType"},"ToolkitAllowedEntities":{"description":"The entities that can be compared by the toolkit fence or rating\n  * `ORDER`\n  * `FACILITY`\n  * `CARRIERCONNECTION`\n  * `LISTING`\n  * `ORDERING_FACILITY` - left side only\n  * `ORDERING_FACILITY_GROUPS` - left side only","enum":["ORDER","FACILITY","CARRIERCONNECTION","LISTING","ORDERING_FACILITY","ORDERING_FACILITY_GROUPS"],"type":"string","xml":{"name":"ToolkitAllowedEntities"},"title":"ToolkitAllowedEntities"},"ToolkitTransformationType":{"description":"The transformations available to apply on the entity property value before a predicate is evaluated","enum":["SUBSTRING","COUNT","SUM","LAST"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitTransformationType"},"ToolkitRule":{"description":"The rule, containing the left predicates and the right predicates, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"leftPart":{"$ref":"#/components/schemas/ToolkitRulePart"},"operator":{"$ref":"#/components/schemas/ToolkitRuleOperatorType"},"rightPart":{"$ref":"#/components/schemas/ToolkitRulePart"}},"required":["operator","leftPart","rightPart","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitRule"},"ToolkitRulePart":{"additionalProperties":false,"description":"One half of the rule, containing either the left or right predicates and booleanOperator.","properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"ToolkitRulePart"},"title":"ToolkitRulePart"},"ToolkitPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entity":{"$ref":"#/components/schemas/ToolkitAllowedEntities"},"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator","entity"],"type":"object","xml":{"name":"ToolkitPredicate"},"title":"ToolkitPredicate"},"ToolkitEntityOperatorType":{"description":"The possible operator types that can be used on given entities","enum":["VALUE_EQUALS","VALUE_NOT_EQUALS","ANY_VALUE_EQUALS","ANY_VALUE_GREATER_EQUALS","ANY_VALUE_GREATER_THAN","ANY_VALUE_LESS_EQUALS","ANY_VALUE_LESS_THAN","ANY_VALUE_CONTAINS","ANY_VALUE_NOT_CONTAINS","EVERY_VALUE_EQUALS","EVERY_VALUE_GREATER_EQUALS","EVERY_VALUE_GREATER_THAN","EVERY_VALUE_LESS_EQUALS","EVERY_VALUE_LESS_THAN","EVERY_VALUE_CONTAINS","EVERY_VALUE_NOT_CONTAINS","NO_VALUE_EQUALS","NO_VALUE_GREATER_EQUALS","NO_VALUE_GREATER_THAN","NO_VALUE_LESS_EQUALS","NO_VALUE_LESS_THAN","NO_VALUE_CONTAINS","NO_VALUE_NOT_CONTAINS","VALUE_CONTAINS","VALUE_NOT_CONTAINS","GREATER_THAN","GREATER_EQUALS","LESS_THAN","LESS_EQUALS"],"type":"string","xml":{"name":"ToolkitEntityOperatorType"},"title":"ToolkitEntityOperatorType"},"ToolkitRuleOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["EQUALS"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleOperatorType"},"RoutingStrategyToolkitFenceType":{"enum":["ToolkitFence"],"type":"string","title":"RoutingStrategyToolkitFenceType","description":"RoutingStrategyToolkitFenceType"},"RoutingStrategyOrderSplitConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"activeForSameday":{"type":"boolean"},"maxSplitCount":{"type":"integer"},"shouldUseWaitingRoomForPreBackOrderItems":{"type":"boolean"}},"required":["active","maxSplitCount","activeForSameday","shouldUseWaitingRoomForPreBackOrderItems"],"type":"object","title":"RoutingStrategyOrderSplitConfig","description":"RoutingStrategyOrderSplitConfig"},"RoutingStrategyRatingForUpsert":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyRating","type":"object"},"AbstractRatingConfiguration":{"description":"Base Configuration for Ratings. See documentation for Details.","type":"object","xml":{"name":"AbstractRatingConfiguration"},"title":"AbstractRatingConfiguration"},"RatingImplementation":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","enum":["STOCK-BALANCING","GEO-DISTANCE","TURNOVER","STOCK-AVAILABILITY","WORKLOAD-BALANCING","MATCHING-BUSINESSTYPE","PREFER-STORE","PREFER-WAREHOUSE","ZONE","EXPIRY-DATE","CAPACITY","DELIVERY-COSTS","DELIVERY-TIME","COST-COMPONENTS","NUMBER-OF-DELIVERIES"],"type":"string","xml":{"name":"RatingImplementation"},"title":"RatingImplementation"},"RoutingStrategyStandardRatingType":{"enum":["StandardRating"],"type":"string","title":"RoutingStrategyStandardRatingType","description":"RoutingStrategyStandardRatingType"},"RoutingStrategyToolkitRating":{"additionalProperties":false,"description":"Routing Strategy Toolkit Rating.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this rating","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"maxPenalty":{"description":"The maximum penalty this rating can have","type":"integer"},"name":{"description":"The name of the rating","type":"string"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitRatingType"}},"required":["type","nameLocalized","active","maxPenalty","referenceId"],"title":"RoutingStrategyToolkitRating"},"RoutingStrategyToolkitRatingType":{"enum":["ToolkitRating"],"type":"string","title":"RoutingStrategyToolkitRatingType","description":"RoutingStrategyToolkitRatingType"},"RoutingStrategyRerouteConfig":{"additionalProperties":false,"properties":{"clickAndCollect":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"},"manualReroute":{"type":"boolean"},"rerouteZeroPicksOnly":{"default":false,"description":"Specifies whether only pick jobs with zero items picked are eligible for rerouting.","type":"boolean"},"shipFromStore":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"}},"type":"object","title":"RoutingStrategyRerouteConfig","description":"RoutingStrategyRerouteConfig"},"RoutingStrategyFacilityRerouteConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"rerouteType":{"$ref":"#/components/schemas/RoutingStrategyRerouteType"}},"required":["rerouteType"],"type":"object","title":"RoutingStrategyFacilityRerouteConfig","description":"RoutingStrategyFacilityRerouteConfig"},"RoutingStrategyRerouteType":{"description":"The type of reroute to apply to the order\n  * `REROUTE`- the complete routing plan is rerouted.\n  * `ORDERSPLIT`- the order is splitted. The split line items will be moved to a new routing plan and rerouted.","enum":["REROUTE","ORDERSPLIT"],"type":"string","title":"RoutingStrategyRerouteType"},"RoutingStrategyConditionForModification":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"description":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyConditionForModification"},"nextNode":{"$ref":"#/components/schemas/RoutingStrategyNodeForModification"},"rule":{"$ref":"#/components/schemas/RoutingStrategyConditionRule"}},"required":["nextNode","active","rule","nameLocalized"],"title":"RoutingStrategyConditionForModification","description":"RoutingStrategyConditionForModification"},"RoutingStrategyConditionRule":{"additionalProperties":false,"properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/RoutingStrategyConditionPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"RoutingStrategyConditionRule"},"title":"RoutingStrategyConditionRule","description":"RoutingStrategyConditionRule"},"RoutingStrategyConditionPredicate":{"description":"The predicate for a routing strategy condition rule","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator"],"type":"object","xml":{"name":"RoutingStrategyConditionPredicate"},"title":"RoutingStrategyConditionPredicate"},"RoutingStrategy":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"globalConfiguration":{"$ref":"#/components/schemas/RoutingStrategyGlobalConfiguration"},"id":{"type":"string"},"inUse":{"description":"Only one strategy can be inUse","type":"boolean"},"name":{"type":"string"},"revision":{"description":"The revision of the routing strategy","type":"integer"},"rootNode":{"$ref":"#/components/schemas/RoutingStrategyNode"}},"required":["inUse","revision","id","nameLocalized","rootNode","globalConfiguration"]}],"type":"object","title":"RoutingStrategy","description":"RoutingStrategy"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"RoutingStrategyNode":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"categoryRef":{"type":"string"},"config":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"}},"required":["active","config","id","nameLocalized"],"type":"object","title":"RoutingStrategyNode","description":"RoutingStrategyNode"},"RoutingStrategyNodeConfig":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFence"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFence","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardRating"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyStandardRating","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfig","description":"RoutingStrategyNodeConfig"},"RoutingStrategyStandardFence":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"name":{"type":"string"},"supportedModes":{"items":{"$ref":"#/components/schemas/FenceMode"},"type":"array"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"RoutingStrategyStandardRating":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyStandardRating","type":"object"},"RoutingStrategyCondition":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"},"nextNode":{"$ref":"#/components/schemas/RoutingStrategyNode"},"rule":{"$ref":"#/components/schemas/RoutingStrategyConditionRule"}},"required":["nextNode","active","rule","id","nameLocalized"],"title":"RoutingStrategyCondition","description":"RoutingStrategyCondition"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/strategies/{strategyId}":{"put":{"description":"Updates a routing strategy","operationId":"putRoutingStrategy","parameters":[{"description":"Id of the routing strategy you wish to update","in":"path","name":"strategyId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyForModification"}}},"description":"The updated routing strategy","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategy"}}},"description":"The updated routing strategy."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Update routing strategy","tags":["Routing Strategy (DOMS)"]}}}}
```

## Call routing strategy action

> Performs an action on a routing strategy.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategyActionsParameter":{"oneOf":[{"$ref":"#/components/schemas/RoutingStrategyActivateActionParameter"},{"$ref":"#/components/schemas/RoutingStrategyCreateCopyActionParameter"},{"$ref":"#/components/schemas/RoutingStrategyReplaceGlobalConfigurationActionParameter"},{"$ref":"#/components/schemas/RoutingStrategyReplaceNodeActionParameter"},{"$ref":"#/components/schemas/RoutingStrategyReplaceConditionActionParameter"}],"title":"RoutingStrategyActionsParameter","description":"RoutingStrategyActionsParameter"},"RoutingStrategyActivateActionParameter":{"allOf":[{"$ref":"#/components/schemas/AbstractRoutingStrategyActionsParameter"}],"description":"Action to activate a routing strategy.","properties":{"name":{"enum":["ACTIVATE"],"type":"string"}},"required":["name","version"],"title":"RoutingStrategyActivateActionParameter"},"AbstractRoutingStrategyActionsParameter":{"discriminator":{"propertyName":"name"},"properties":{"name":{"type":"string"},"version":{"description":"Version of the entity to be changed","minimum":0,"type":"integer"}},"required":["name","version"],"title":"AbstractRoutingStrategyActionsParameter","description":"AbstractRoutingStrategyActionsParameter"},"RoutingStrategyCreateCopyActionParameter":{"allOf":[{"$ref":"#/components/schemas/AbstractRoutingStrategyActionsParameter"}],"description":"Action to create a copy of a routing strategy.","properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"name":{"enum":["COPY"],"type":"string"}},"required":["name","nameLocalized","version"],"title":"RoutingStrategyCreateCopyActionParameter"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"RoutingStrategyReplaceGlobalConfigurationActionParameter":{"allOf":[{"$ref":"#/components/schemas/AbstractRoutingStrategyActionsParameter"}],"description":"Action to replace the global configuration of a routing strategy.","properties":{"globalConfiguration":{"$ref":"#/components/schemas/RoutingStrategyGlobalConfiguration"},"name":{"enum":["REPLACE_GLOBAL_CONFIGURATION"],"type":"string"}},"required":["name","globalConfiguration","version"],"title":"RoutingStrategyReplaceGlobalConfigurationActionParameter"},"RoutingStrategyGlobalConfiguration":{"additionalProperties":false,"properties":{"blacklistAssignedFacilities":{"description":"If true, facilities that have already been assigned to the order in a previous routing attempt will not be considered in the next routing attempt.","type":"boolean"},"defaultPrice":{"default":10,"description":"The price applied when no specific price is defined in the order or listing","type":"number"},"restowAfterMinutes":{"description":"The amount of minutes after which a restow is executed. If not set, restows will not be executed.","type":"number"},"stopRoutingAttemptsAfterTime":{"default":"PT8H","description":"The amount of time, specified in ISO 8601 duration format, after which a routing plan is considered not routable. Note: The duration must be a multiple of 60 seconds.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"},"timeTriggered":{"$ref":"#/components/schemas/RoutingStrategyRerouteTimeTriggeredConfig"}},"required":["defaultPrice"],"type":"object","xml":{"name":"RoutingStrategyGlobalConfiguration"},"title":"RoutingStrategyGlobalConfiguration","description":"RoutingStrategyGlobalConfiguration"},"RoutingStrategyRerouteTimeTriggeredConfig":{"additionalProperties":false,"properties":{"clickAndCollectReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreDeliveryReroute":{"$ref":"#/components/schemas/RerouteConfiguration"},"shipFromStoreSamedayReroute":{"$ref":"#/components/schemas/RerouteConfiguration"}},"required":["clickAndCollectReroute","shipFromStoreDeliveryReroute","shipFromStoreSamedayReroute"],"type":"object","title":"RoutingStrategyRerouteTimeTriggeredConfig","description":"RoutingStrategyRerouteTimeTriggeredConfig"},"RerouteConfiguration":{"properties":{"active":{"type":"boolean"},"leadTimeBeforeTimeTriggeredReroute":{"description":"How many minutes before a time triggered reroute a notification should be sent. Should be smaller than rerouteAfterMinutes","minimum":1,"type":"number"},"rerouteAfterMinutes":{"default":1440,"description":"The amount of minutes after which an automated reroute is executed","minimum":5,"type":"number"},"rerouteStartedJobs":{"$ref":"#/components/schemas/RerouteStartedJobsConfiguration"},"rerouteTargetTimeHours":{"default":48,"description":"Only pickjobs within the target time window are considered for reroute.","minimum":1,"type":"number"}},"required":["active","rerouteTargetTimeHours","rerouteAfterMinutes"],"title":"RerouteConfiguration","description":"RerouteConfiguration"},"RerouteStartedJobsConfiguration":{"properties":{"active":{"default":false,"description":"If true, the reroute will be executed for jobs that are already started.","type":"boolean"},"minimumStartedTimeInMinutes":{"description":"The minimum time in minutes that a job must be in a started status (eg. PAUSED, IN_PROGRESS) before it should be rerouted. This is to ensure that jobs are not rerouted too quickly after they have last been modified. Minimum value is 60 minutes.","minimum":60,"type":"number"}},"required":["active"],"title":"RerouteStartedJobsConfiguration","description":"RerouteStartedJobsConfiguration"},"RoutingStrategyReplaceNodeActionParameter":{"allOf":[{"$ref":"#/components/schemas/AbstractRoutingStrategyActionsParameter"}],"description":"Action to replace a node of a routing strategy.","properties":{"name":{"enum":["REPLACE_NODE"],"type":"string"},"node":{"$ref":"#/components/schemas/RoutingStrategyNodeForReplace"},"nodeId":{"type":"string"}},"required":["name","nodeId","node","version"],"title":"RoutingStrategyReplaceNodeActionParameter"},"RoutingStrategyNodeForReplace":{"additionalProperties":false,"description":"Node data for replacing a node in a routing strategy.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"categoryRef":{"type":"string"},"config":{"$ref":"#/components/schemas/RoutingStrategyNodeConfigForUpsert"}},"required":["active","nameLocalized","config"],"title":"RoutingStrategyNodeForReplace"},"ActivationTimeFrame":{"additionalProperties":false,"properties":{"activeFrom":{"description":"Sets a date before which the associated entity does not become active","format":"date-time","type":"string"},"activeUntil":{"description":"Sets a date after which the associated entity becomes active","format":"date-time","type":"string"},"recurrence":{"$ref":"#/components/schemas/ActivationTimeFrameRecurrenceType"}},"required":["recurrence"],"type":"object","title":"ActivationTimeFrame","description":"ActivationTimeFrame"},"ActivationTimeFrameRecurrenceType":{"enum":["YEARLY","NONRECURRING"],"type":"string","title":"ActivationTimeFrameRecurrenceType","description":"ActivationTimeFrameRecurrenceType"},"RoutingStrategyNodeConfigForUpsert":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFenceForUpsert"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFenceForUpsert","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"maxItems":100,"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyRatingForUpsert"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyRatingForUpsert","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"maxItems":100,"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfigForUpsert","description":"RoutingStrategyNodeConfigForUpsert"},"RoutingStrategyFallbackFacilityConfig":{"properties":{"active":{"default":false,"type":"boolean"},"facilityRefs":{"items":{"type":"string"},"maxItems":1,"minItems":1,"type":"array"},"fallbackAfterTime":{"default":"PT0H","description":"Default amount of time in ISO 8601 duration format after which a not routable routingplan is routed to a configured fallback facility.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"}},"required":["facilityRefs","active","fallbackAfterTime"],"title":"RoutingStrategyFallbackFacilityConfig","description":"RoutingStrategyFallbackFacilityConfig"},"RoutingStrategyStandardFenceForUpsert":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"FenceMode":{"enum":["static","reactive"],"type":"string","title":"FenceMode","description":"FenceMode"},"FenceImplementation":{"description":"<i>This part of the API is currently under development. That means that this endpoint, model, etc. can contain breaking changes and / or might not be available at all times in your API instance. It could disappear also without warning. Thus it currently does not fall under our SLA regulations. For details on this topic please check our <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle\">documentation</a></i>","enum":["FACILITY-BUSINESSTYPE","STOCK-AVAILABILITY","FACILITY-CARRIERAVAILABILITY","FACILITY-COUNTRY","FACILITY-PICKING-TIME-CAPACITY","PRESELECTED-FACILITY","SAMEDAY-POSSIBLE","AVOID-ZERO-STOCK"],"type":"string","xml":{"name":"FenceImplementation"},"title":"FenceImplementation"},"RoutingStrategyStandardFenceType":{"enum":["StandardFence"],"type":"string","title":"RoutingStrategyStandardFenceType","description":"RoutingStrategyStandardFenceType"},"RoutingStrategyToolkitFence":{"additionalProperties":false,"description":"Routing Strategy Toolkit Fence.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not.","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this fence.","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"name":{"description":"The name of the fence.","type":"string"},"order":{"description":"Order in which this fence is executed","type":"integer"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitFenceType"}},"required":["nameLocalized","active","order","type","referenceId"],"title":"RoutingStrategyToolkitFence"},"ToolkitComparisonRule":{"description":"The rule, comparing the left and right path values, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitComparisonPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitComparisonRule"},"ToolkitRuleScope":{"enum":["WHOLE_ENTITY","LINE_ITEM"],"type":"string","xml":{"name":"ToolkitRuleScope"},"title":"ToolkitRuleScope","description":"ToolkitRuleScope"},"ToolkitPredicateConnector":{"description":"The allowed operators for connecting multiple predicates","enum":["OR","AND"],"type":"string","xml":{"name":"ToolkitPredicateConnector"},"title":"ToolkitPredicateConnector"},"ToolkitComparisonPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitRuleComparisonOperatorType"},"leftEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity2 property"},"leftPropertyPath":{"minLength":1,"type":"string"},"leftTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"leftTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"},"rightEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity1 property"},"rightPropertyPath":{"minLength":1,"type":"string"},"rightTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"rightTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["rightPropertyPath","leftPropertyPath","entityOperator","leftEntity","rightEntity"],"type":"object","xml":{"name":"ToolkitComparisonPredicate"},"title":"ToolkitComparisonPredicate"},"ToolkitRuleComparisonOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["NO_MATCHES","ALL_MATCHES","LEFT_CONTAINS_RIGHT","RIGHT_CONTAINS_LEFT"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleComparisonOperatorType"},"ToolkitAllowedEntities":{"description":"The entities that can be compared by the toolkit fence or rating\n  * `ORDER`\n  * `FACILITY`\n  * `CARRIERCONNECTION`\n  * `LISTING`\n  * `ORDERING_FACILITY` - left side only\n  * `ORDERING_FACILITY_GROUPS` - left side only","enum":["ORDER","FACILITY","CARRIERCONNECTION","LISTING","ORDERING_FACILITY","ORDERING_FACILITY_GROUPS"],"type":"string","xml":{"name":"ToolkitAllowedEntities"},"title":"ToolkitAllowedEntities"},"ToolkitTransformationType":{"description":"The transformations available to apply on the entity property value before a predicate is evaluated","enum":["SUBSTRING","COUNT","SUM","LAST"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitTransformationType"},"ToolkitRule":{"description":"The rule, containing the left predicates and the right predicates, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"leftPart":{"$ref":"#/components/schemas/ToolkitRulePart"},"operator":{"$ref":"#/components/schemas/ToolkitRuleOperatorType"},"rightPart":{"$ref":"#/components/schemas/ToolkitRulePart"}},"required":["operator","leftPart","rightPart","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitRule"},"ToolkitRulePart":{"additionalProperties":false,"description":"One half of the rule, containing either the left or right predicates and booleanOperator.","properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"ToolkitRulePart"},"title":"ToolkitRulePart"},"ToolkitPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entity":{"$ref":"#/components/schemas/ToolkitAllowedEntities"},"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator","entity"],"type":"object","xml":{"name":"ToolkitPredicate"},"title":"ToolkitPredicate"},"ToolkitEntityOperatorType":{"description":"The possible operator types that can be used on given entities","enum":["VALUE_EQUALS","VALUE_NOT_EQUALS","ANY_VALUE_EQUALS","ANY_VALUE_GREATER_EQUALS","ANY_VALUE_GREATER_THAN","ANY_VALUE_LESS_EQUALS","ANY_VALUE_LESS_THAN","ANY_VALUE_CONTAINS","ANY_VALUE_NOT_CONTAINS","EVERY_VALUE_EQUALS","EVERY_VALUE_GREATER_EQUALS","EVERY_VALUE_GREATER_THAN","EVERY_VALUE_LESS_EQUALS","EVERY_VALUE_LESS_THAN","EVERY_VALUE_CONTAINS","EVERY_VALUE_NOT_CONTAINS","NO_VALUE_EQUALS","NO_VALUE_GREATER_EQUALS","NO_VALUE_GREATER_THAN","NO_VALUE_LESS_EQUALS","NO_VALUE_LESS_THAN","NO_VALUE_CONTAINS","NO_VALUE_NOT_CONTAINS","VALUE_CONTAINS","VALUE_NOT_CONTAINS","GREATER_THAN","GREATER_EQUALS","LESS_THAN","LESS_EQUALS"],"type":"string","xml":{"name":"ToolkitEntityOperatorType"},"title":"ToolkitEntityOperatorType"},"ToolkitRuleOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["EQUALS"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleOperatorType"},"RoutingStrategyToolkitFenceType":{"enum":["ToolkitFence"],"type":"string","title":"RoutingStrategyToolkitFenceType","description":"RoutingStrategyToolkitFenceType"},"RoutingStrategyOrderSplitConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"activeForSameday":{"type":"boolean"},"maxSplitCount":{"type":"integer"},"shouldUseWaitingRoomForPreBackOrderItems":{"type":"boolean"}},"required":["active","maxSplitCount","activeForSameday","shouldUseWaitingRoomForPreBackOrderItems"],"type":"object","title":"RoutingStrategyOrderSplitConfig","description":"RoutingStrategyOrderSplitConfig"},"RoutingStrategyRatingForUpsert":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyRating","type":"object"},"AbstractRatingConfiguration":{"description":"Base Configuration for Ratings. See documentation for Details.","type":"object","xml":{"name":"AbstractRatingConfiguration"},"title":"AbstractRatingConfiguration"},"RatingImplementation":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","enum":["STOCK-BALANCING","GEO-DISTANCE","TURNOVER","STOCK-AVAILABILITY","WORKLOAD-BALANCING","MATCHING-BUSINESSTYPE","PREFER-STORE","PREFER-WAREHOUSE","ZONE","EXPIRY-DATE","CAPACITY","DELIVERY-COSTS","DELIVERY-TIME","COST-COMPONENTS","NUMBER-OF-DELIVERIES"],"type":"string","xml":{"name":"RatingImplementation"},"title":"RatingImplementation"},"RoutingStrategyStandardRatingType":{"enum":["StandardRating"],"type":"string","title":"RoutingStrategyStandardRatingType","description":"RoutingStrategyStandardRatingType"},"RoutingStrategyToolkitRating":{"additionalProperties":false,"description":"Routing Strategy Toolkit Rating.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this rating","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"maxPenalty":{"description":"The maximum penalty this rating can have","type":"integer"},"name":{"description":"The name of the rating","type":"string"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitRatingType"}},"required":["type","nameLocalized","active","maxPenalty","referenceId"],"title":"RoutingStrategyToolkitRating"},"RoutingStrategyToolkitRatingType":{"enum":["ToolkitRating"],"type":"string","title":"RoutingStrategyToolkitRatingType","description":"RoutingStrategyToolkitRatingType"},"RoutingStrategyRerouteConfig":{"additionalProperties":false,"properties":{"clickAndCollect":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"},"manualReroute":{"type":"boolean"},"rerouteZeroPicksOnly":{"default":false,"description":"Specifies whether only pick jobs with zero items picked are eligible for rerouting.","type":"boolean"},"shipFromStore":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"}},"type":"object","title":"RoutingStrategyRerouteConfig","description":"RoutingStrategyRerouteConfig"},"RoutingStrategyFacilityRerouteConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"rerouteType":{"$ref":"#/components/schemas/RoutingStrategyRerouteType"}},"required":["rerouteType"],"type":"object","title":"RoutingStrategyFacilityRerouteConfig","description":"RoutingStrategyFacilityRerouteConfig"},"RoutingStrategyRerouteType":{"description":"The type of reroute to apply to the order\n  * `REROUTE`- the complete routing plan is rerouted.\n  * `ORDERSPLIT`- the order is splitted. The split line items will be moved to a new routing plan and rerouted.","enum":["REROUTE","ORDERSPLIT"],"type":"string","title":"RoutingStrategyRerouteType"},"RoutingStrategyReplaceConditionActionParameter":{"allOf":[{"$ref":"#/components/schemas/AbstractRoutingStrategyActionsParameter"}],"description":"Action to replace a condition of a routing strategy.","properties":{"condition":{"$ref":"#/components/schemas/RoutingStrategyConditionForReplace"},"conditionId":{"type":"string"},"name":{"enum":["REPLACE_CONDITION"],"type":"string"}},"required":["name","conditionId","condition","version"],"title":"RoutingStrategyReplaceConditionActionParameter"},"RoutingStrategyConditionForReplace":{"additionalProperties":false,"description":"Condition data for replacing a condition in a routing strategy.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"rule":{"$ref":"#/components/schemas/RoutingStrategyConditionRule"}},"required":["active","nameLocalized","rule"],"title":"RoutingStrategyConditionForReplace"},"RoutingStrategyConditionRule":{"additionalProperties":false,"properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/RoutingStrategyConditionPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"RoutingStrategyConditionRule"},"title":"RoutingStrategyConditionRule","description":"RoutingStrategyConditionRule"},"RoutingStrategyConditionPredicate":{"description":"The predicate for a routing strategy condition rule","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator"],"type":"object","xml":{"name":"RoutingStrategyConditionPredicate"},"title":"RoutingStrategyConditionPredicate"},"RoutingStrategy":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/VersionedResource"},{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"globalConfiguration":{"$ref":"#/components/schemas/RoutingStrategyGlobalConfiguration"},"id":{"type":"string"},"inUse":{"description":"Only one strategy can be inUse","type":"boolean"},"name":{"type":"string"},"revision":{"description":"The revision of the routing strategy","type":"integer"},"rootNode":{"$ref":"#/components/schemas/RoutingStrategyNode"}},"required":["inUse","revision","id","nameLocalized","rootNode","globalConfiguration"]}],"type":"object","title":"RoutingStrategy","description":"RoutingStrategy"},"VersionedResource":{"properties":{"created":{"description":"The date this entity was created at the platform. This value is generated by the service.","format":"date-time","type":"string"},"lastModified":{"description":"The date this entity was modified last. This value is generated by the service.","format":"date-time","type":"string"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version"],"type":"object","title":"VersionedResource","description":"VersionedResource"},"RoutingStrategyNode":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"categoryRef":{"type":"string"},"config":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"}},"required":["active","config","id","nameLocalized"],"type":"object","title":"RoutingStrategyNode","description":"RoutingStrategyNode"},"RoutingStrategyNodeConfig":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFence"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFence","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardRating"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyStandardRating","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfig","description":"RoutingStrategyNodeConfig"},"RoutingStrategyStandardFence":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"name":{"type":"string"},"supportedModes":{"items":{"$ref":"#/components/schemas/FenceMode"},"type":"array"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"RoutingStrategyStandardRating":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyStandardRating","type":"object"},"RoutingStrategyCondition":{"additionalProperties":false,"properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"activationTimeFrames":{"items":{"$ref":"#/components/schemas/ActivationTimeFrame"},"maxItems":1,"type":"array"},"active":{"type":"boolean"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nextCondition":{"$ref":"#/components/schemas/RoutingStrategyCondition"},"nextNode":{"$ref":"#/components/schemas/RoutingStrategyNode"},"rule":{"$ref":"#/components/schemas/RoutingStrategyConditionRule"}},"required":["nextNode","active","rule","id","nameLocalized"],"title":"RoutingStrategyCondition","description":"RoutingStrategyCondition"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/strategies/{strategyId}/actions":{"post":{"description":"Performs an action on a routing strategy.","operationId":"actionsRoutingStrategy","parameters":[{"description":"Id of the routing strategy","in":"path","name":"strategyId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyActionsParameter"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategy"}}},"description":"The updated routing strategy."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Call routing strategy action","tags":["Routing Strategy (DOMS)"]}}}}
```

## Evaluate routing strategy

> Evaluates a routing strategy against a given order

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"OrderForCreation":{"additionalProperties":false,"properties":{"consumer":{"$ref":"#/components/schemas/OrderForCreationConsumer"},"customAttributes":{"description":"Attributes that can be added to the order. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"customServices":{"items":{"$ref":"#/components/schemas/CustomServiceReferenceForCreation"},"minItems":1,"type":"array"},"deliveryPreferences":{"$ref":"#/components/schemas/DeliveryPreferences"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"orderLineItems":{"items":{"$ref":"#/components/schemas/OrderLineItemForCreation"},"type":"array"},"paymentInfo":{"$ref":"#/components/schemas/OrderPaymentInfoForCreation"},"promisesOptions":{"$ref":"#/components/schemas/OrderPromisesOptions"},"source":{"description":"Defines the source of this order. This field is not required, if the order is created based on an external system.","oneOf":[{"$ref":"#/components/schemas/SourceRef"},{"$ref":"#/components/schemas/TenantSourceId"}],"type":"object"},"status":{"$ref":"#/components/schemas/OrderStatus"},"statusReasons":{"items":{"$ref":"#/components/schemas/OrderStatusReason"},"type":"array"},"stickers":{"items":{"$ref":"#/components/schemas/Sticker"},"maxItems":100,"minItems":1,"type":"array"},"tenantOrderId":{"description":"Field can be used as a reference number in foreign systems, for example as a reference to the source system's identifier for this order.","type":"string"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"minItems":1,"type":"array"}},"required":["orderDate","orderLineItems","consumer"],"type":"object","xml":{"name":"Order"},"title":"OrderForCreation","description":"OrderForCreation"},"OrderForCreationConsumer":{"properties":{"addresses":{"items":{"$ref":"#/components/schemas/ConsumerAddress"},"type":"array"},"consumerId":{"description":"The id of the consumer.","type":"string"},"customAttributes":{"description":"Attributes that can be added to the consumer. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"email":{"deprecated":true,"description":"@deprecated The email address of the consumer. Use email in addresses array\n","format":"email","type":"string"},"facilityRef":{"description":"ID of the facility, if the recipient is a facility.","type":"string"},"tenantFacilityId":{"description":"tenantFacilityId of the facility, if the recipient is a facility","type":"string"}},"type":"object","title":"OrderForCreationConsumer","description":"OrderForCreationConsumer"},"ConsumerAddress":{"allOf":[{"$ref":"#/components/schemas/Address"}],"properties":{"addressType":{"$ref":"#/components/schemas/AddressType"},"companyName":{"type":"string"},"coordinates":{"$ref":"#/components/schemas/Coordinates"},"email":{"format":"email","minLength":1,"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"personalTitle":{"type":"string"},"salutation":{"type":"string"}},"type":"object","title":"ConsumerAddress","description":"ConsumerAddress"},"Address":{"properties":{"additionalAddressInfo":{"type":"string"},"city":{"pattern":"^.+$","type":"string"},"country":{"description":"A two-digit country code as per ISO 3166-1 alpha-2","pattern":"^[A-Z]{2}$","type":"string"},"customAttributes":{"description":"Attributes that can be added to the address. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"houseNumber":{"pattern":"^.+$","type":"string"},"phoneNumbers":{"items":{"properties":{"customAttributes":{"description":"Attributes that can be added to the phonenumber. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"label":{"description":"Can be used to give a description for the number, like \"private\", \"business number\", etc.","type":"string"},"type":{"enum":["MOBILE","PHONE"],"type":"string"},"value":{"description":"The number itself. We do not enforce any format (yet).","type":"string"}},"required":["value","type"],"type":"object"},"type":"array"},"postalCode":{"pattern":"^.+$","type":"string"},"province":{"pattern":"^.+$","type":"string"},"street":{"pattern":"^.+$","type":"string"}},"required":["street","city","postalCode","country"],"type":"object","title":"Address","description":"Address"},"AddressType":{"description":"Type of this address, used e.g. for communication with the carrier. Use POSTAL_ADDRESS for the address where the order should be shipped to, INVOICE_ADDRESS for the address where the invoice is sent to and PARCEL_LOCKER if a parcel locker is used for this order.","enum":["POSTAL_ADDRESS","PARCEL_LOCKER","INVOICE_ADDRESS"],"type":"string","title":"AddressType"},"Coordinates":{"description":"Coordinates of the WGS84 geodetic reference system in Mercator projection, as used e.g. by the Google Maps API","properties":{"lat":{"description":"Latitude value","type":"number"},"lon":{"description":"Longitude value","type":"number"}},"required":["lat","lon"],"type":"object","title":"Coordinates"},"CustomServiceReferenceForCreation":{"additionalProperties":false,"properties":{"articleItems":{"items":{"$ref":"#/components/schemas/ArticleItem"},"type":"array"},"customServiceDefinition":{"$ref":"#/components/schemas/CustomServiceDefinition"},"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItemForCreation"},"type":"array"}},"required":["customServiceDefinition","articleItems","customServiceItems"],"type":"object","title":"CustomServiceReferenceForCreation","description":"CustomServiceReferenceForCreation"},"ArticleItem":{"additionalProperties":false,"properties":{"quantity":{"minimum":1,"type":"number"},"tenantArticleRef":{"type":"string"}},"required":["quantity","tenantArticleRef"],"type":"object","title":"ArticleItem","description":"ArticleItem"},"CustomServiceDefinition":{"properties":{"additionalInformation":{"description":"Additional information necessary to fulfil the custom service","items":{"properties":{"additionalInformationRef":{"description":"A reference to the specific additional information of the custom service","type":"string"},"tenantAdditionalInformationId":{"description":"The id of the tenant specific additional information","type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"}],"description":"The value of the additional information"}},"required":["additionalInformationRef"],"type":"object"},"type":"array"},"customAttributes":{"description":"Attributes that can be added to the consumer. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"customServiceRef":{"description":"A reference to the custom service to be applied to the orderline items","type":"string"},"isBundled":{"description":"if true all articles below this service are intrpreted as a bundle","type":"boolean"},"tenantCustomServiceId":{"description":"The id of the tenant specific custom service","type":"string"}},"type":"object","title":"CustomServiceDefinition","description":"CustomServiceDefinition"},"CustomServiceItemForCreation":{"additionalProperties":false,"properties":{"articleItems":{"items":{"$ref":"#/components/schemas/ArticleItem"},"type":"array"},"customServiceDefinition":{"$ref":"#/components/schemas/CustomServiceDefinition"},"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItemForCreation"},"type":"array"}},"required":["customServiceItems","articleItems","customServiceDefinition"],"type":"object","title":"CustomServiceItemForCreation","description":"CustomServiceItemForCreation"},"DeliveryPreferences":{"additionalProperties":false,"properties":{"collect":{"items":{"$ref":"#/components/schemas/CollectDelivery"},"maxItems":1,"type":"array"},"reservationPreferences":{"$ref":"#/components/schemas/DeliveryReservationPreferences"},"shipping":{"$ref":"#/components/schemas/DeliveryPreferencesShipping"},"sourcingOptionRefs":{"description":"Id of the SourcingOptions","items":{"description":"Reference of a SourcingOptions","type":"string"},"type":"array"},"supplyingFacilities":{"description":"@deprecated Use supplyingFacilities under collect","items":{"description":"Reference of a Facility","type":"string"},"type":"array"},"targetTime":{"description":"At which time the result is expected.","format":"date-time","type":"string"}},"type":"object","title":"DeliveryPreferences","description":"DeliveryPreferences"},"CollectDelivery":{"anyOf":[{"required":["facilityRef"]},{"required":["tenantFacilityId"]}],"properties":{"facilityRef":{"description":"Reference to the facility where the consumer expects to collect the items","type":"string"},"paid":{"default":false,"description":"Indicates if the order is already paid.","type":"boolean"},"provisioningTime":{"description":"The point in time by which the order is supposed to be provisioned.","format":"date-time","type":"string"},"supplyingFacilities":{"deprecated":true,"description":"@deprecated Use supplyingFacilitiesConfigurations","items":{"description":"Reference of a Facility.","type":"string"},"type":"array"},"supplyingFacilitiesConfigurations":{"description":"References of facility that could supply contents of the order to another facility with specific configuration of its usage","items":{"$ref":"#/components/schemas/SupplyingFacilityConfiguration"},"type":"array"},"tenantFacilityId":{"description":"Reference to the facility where the consumer expects to collect the items.","type":"string"}},"type":"object","title":"CollectDelivery","description":"CollectDelivery"},"SupplyingFacilityConfiguration":{"anyOf":[{"required":["facilityRef"]},{"required":["tenantFacilityId"]}],"properties":{"deliveryEvents":{"items":{"$ref":"#/components/schemas/DeliveryEvent"},"type":"array"},"facilityRef":{"description":"ID of the facility.","type":"string"},"tenantFacilityId":{"description":"Reference to the facility.","type":"string"}},"required":["deliveryEvents"],"title":"SupplyingFacilityConfiguration","description":"SupplyingFacilityConfiguration"},"DeliveryEvent":{"properties":{"deliveryTarget":{"$ref":"#/components/schemas/DeliveryTarget"},"deliveryTrigger":{"enum":["DEFAULT"],"type":"string"}},"required":["deliveryTarget","deliveryTrigger"],"title":"DeliveryEvent","description":"DeliveryEvent"},"DeliveryTarget":{"description":"The destination for a delivery","enum":["SHIP_TO_STORE","SHIP_TO_CUSTOMER"],"type":"string","title":"DeliveryTarget"},"DeliveryReservationPreferences":{"properties":{"mode":{"$ref":"#/components/schemas/DeliveryReservationMode"},"reservationTime":{"format":"date-time","type":"string"}},"required":["mode"],"type":"object","title":"DeliveryReservationPreferences","description":"DeliveryReservationPreferences"},"DeliveryReservationMode":{"enum":["SCHEDULED","ASAP","ALAP"],"title":"DeliveryReservationMode","description":"DeliveryReservationMode"},"DeliveryPreferencesShipping":{"properties":{"carrierProductCategory":{"$ref":"#/components/schemas/CarrierProductCategory"},"desiredDeliveryTime":{"format":"date-time","type":"string"},"preferredCarriers":{"items":{"$ref":"#/components/schemas/PreferredCarrier"},"type":"array"},"preferredCarriersWithProduct":{"items":{"$ref":"#/components/schemas/PreferredCarrierWithProduct"},"type":"array"},"preselectedFacilities":{"items":{"$ref":"#/components/schemas/PreselectedFacility"},"type":"array"},"serviceLevel":{"description":"DELIVERY: The parcel will reach the recipient according to the cycle time of the carrier, typically 1-3 days when shipping nationaly. SAMEDAY: The parcel will reach the recipient the same day when ordering.","enum":["DELIVERY","SAMEDAY"],"type":"string"}},"type":"object","title":"DeliveryPreferencesShipping","description":"DeliveryPreferencesShipping"},"CarrierProductCategory":{"description":"Desired product class to choose when ordering a label, this is not a carrier specific value","enum":["STANDARD","EXPRESS","VALUE","FORWARDING"],"type":"string","title":"CarrierProductCategory"},"PreferredCarrier":{"description":"Keys of the preferred carriers to handle out the order","type":"string","title":"PreferredCarrier"},"PreferredCarrierWithProduct":{"additionalProperties":false,"properties":{"carrierKey":{"type":"string"},"carrierProduct":{"type":"string"},"carrierServices":{"items":{"$ref":"#/components/schemas/CarrierServices"},"type":"array"}},"required":["carrierKey"],"title":"PreferredCarrierWithProduct","description":"PreferredCarrierWithProduct"},"CarrierServices":{"description":"Services which should be booked from carrier","enum":["SIGNATURE","CUSTOMER_SIGNATURE","ADULT_SIGNATURE","SATURDAY_DELIVERY","IDENTITY_CHECK_COMPANY","IDENTITY_CHECK_PRIVATE","ADDITIONAL_TRANSPORTATION_INSURANCE"],"type":"string","title":"CarrierServices"},"PreselectedFacility":{"anyOf":[{"required":["facilityRef"]},{"required":["tenantFacilityId"]}],"properties":{"facilityRef":{"description":"Reference to the facility which is supposed to fulfill the order.","type":"string"},"tenantFacilityId":{"description":"Reference to the facility which is supposed to fulfill the order.","type":"string"}},"type":"object","title":"PreselectedFacility","description":"PreselectedFacility"},"OrderLineItemForCreation":{"additionalProperties":false,"properties":{"allowedSubstitutes":{"description":"Array of allowed substitutes for given orderLineItem. If an empty array is provided, no substitute is allowed for this orderLineItem. If allowedSubstitutes is not provided, this configured substitutes on listing level will be available","items":{"$ref":"#/components/schemas/Substitute"},"type":"array"},"article":{"$ref":"#/components/schemas/OrderLineItemArticle"},"customAttributes":{"description":"Attributes that can be added to the orderline. These attributes cannot be used within fulfillment processes, but it could be useful to have the informations carried here.","type":"object"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","type":"string"},"measurementValidation":{"$ref":"#/components/schemas/MeasurementValidation"},"quantity":{"description":"quantity of the specific article that has been ordered","format":"int64","minimum":1,"type":"integer"},"scannableCodes":{"items":{"description":"Codes, that identify the article","type":"string"},"type":"array"},"secondaryMeasurementUnitKey":{"description":"Secondary identifier for items unit of measurement.","type":"string"},"secondaryQuantity":{"description":"Secondary quantity of the specific article that has been ordered","format":"int64","minimum":0,"type":"integer"},"shopPrice":{"description":"@deprecated price per piece of this line item Use attributes instead (see: <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/customization-via-attributes\">customization by attributes</a>)\n","type":"number"},"tags":{"items":{"$ref":"#/components/schemas/TagReference"},"type":"array"}},"required":["article","quantity"],"type":"object","title":"OrderLineItemForCreation","description":"OrderLineItemForCreation"},"Substitute":{"properties":{"attributes":{"items":{"$ref":"#/components/schemas/SubstituteAttributeItem"},"maxItems":40,"type":"array"},"imageUrl":{"type":"string"},"measurementUnitKey":{"description":"Identifier for items unit of measurement.","type":"string"},"measurementValidation":{"$ref":"#/components/schemas/MeasurementValidation"},"priority":{"description":"This field allows you to rank substitutes against each other. The lowest number is the most preferrable substitute.","minimum":0,"type":"number"},"scannableCodes":{"items":{"description":"Strings, that identify the substitute article","type":"string"},"type":"array"},"secondaryMeasurementUnitKey":{"description":"Identifier for items unit of measurement. E.g. measurementUnitKey is pieces and secondaryQuantity is gram","type":"string"},"tenantArticleId":{"type":"string"},"title":{"type":"string"}},"required":["title","tenantArticleId"],"type":"object","xml":{"name":"Substitute"},"title":"Substitute","description":"Substitute"},"SubstituteAttributeItem":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItem"}],"title":"SubstituteAttributeItem","description":"SubstituteAttributeItem"},"ArticleAttributeItem":{"properties":{"valueLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category"},"keyLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the key of the attribute. This can be only filled with a descriptive category. Excluding for %%subtitle%%"},"category":{"description":"This category is used by OCFF to customize implemented processes.\nCategorized attributes are used by various processes and tools\nthroughout our platform. For a complete list of possible categories\nand the correct use of those please refer to the documentation.\nDefault value: miscellaneous","enum":["descriptive","miscellaneous","pickingSequence","customs","insurance","shop","dimensions","carrierService","salesPrice"],"type":"string"},"context":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItemContext"}],"description":"Context for salesPrice category and valuePerUnit key. Can only be set via Listing endpoints."},"key":{"description":"Providing the key %%subtitle%% (see example) here will cause the\nvalue to appear for example in the App directly under the title.\nWith all other attributes also the key will be displayed in the\n clients.","minLength":1,"type":"string"},"priority":{"description":"This value gives the priority in the respective attribute category.\nThe lower the value the higher is the priority, e.g. priority 1 is\nhigher than priority 10. Attributes that have the highest priority\nmight be selected for display in different articles of OCFF. Default\nValue is 1001. For details please contact the product owners.","format":"int64","maximum":1001,"minimum":1,"type":"integer"},"type":{"default":"STRING","description":"The type of the attribute.","enum":["STRING","NUMBER","CURRENCY","BOOLEAN"],"type":"string"},"value":{"minLength":1,"type":"string"}},"required":["key","value"],"title":"ArticleAttributeItem","type":"object","description":"ArticleAttributeItem"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ArticleAttributeItemContext":{"properties":{"type":{"description":"Indicates the entity type the value refers to.","enum":["FACILITY_GROUP","FACILITY","TAG_REFERENCE"],"type":"string"},"value":{"description":"Holds the reference to the entity the attribute refers to.","minLength":1,"type":"string"}},"required":["type","value"],"title":"ArticleAttributeItemContext","type":"object","description":"ArticleAttributeItemContext"},"MeasurementValidation":{"properties":{"overPickHardTolerancePercentage":{"description":"Allowed hard over pick deviation tolerance.","minimum":0,"type":"number"},"overPickSoftTolerancePercentage":{"description":"Allowed soft over pick deviation tolerance.","minimum":0,"type":"number"},"shortPickHardTolerancePercentage":{"description":"Allowed hard short pick deviation tolerance.","maximum":100,"minimum":0,"type":"number"},"shortPickSoftTolerancePercentage":{"description":"Allowed soft short pick deviation tolerance.","maximum":100,"minimum":0,"type":"number"}},"title":"MeasurementValidation","description":"MeasurementValidation"},"OrderLineItemArticle":{"allOf":[{"$ref":"#/components/schemas/AbstractArticle"},{"properties":{"attributes":{"description":"Attributes are used in the fulfillmenttools platform in order to impose a certain degree of customization to a process, such as improving the appearance in the platform and clients.\nDetails about usage can be found <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/customization-via-attributes\">here</a>","items":{"$ref":"#/components/schemas/OrderArticleAttributeItem"},"type":"array"},"customAttributes":{"deprecated":true,"description":"@deprecated Please use customAttributes in OrderLineItem.\n","nullable":true,"type":"object"}},"type":"object"}],"xml":{"name":"OrderLineItemArticle"},"title":"OrderLineItemArticle","description":"OrderLineItemArticle"},"AbstractArticle":{"properties":{"titleLocalized":{"allOf":[{"$ref":"#/components/schemas/LocaleString"}],"description":"The translations for the title of the product"},"customAttributes":{"description":"Attributes that can be added to this entity. These attributes **cannot** be used within fulfillment processes, but enable you to attach custom data from your systems to fulfillmenttools entities.","nullable":true,"type":"object"},"imageUrl":{"description":"A web link to a picture of this article. Please make sure that no authentication is required to fetch the image!","type":"string"},"tenantArticleId":{"description":"This is a reference to an article number","type":"string"},"title":{"description":"The title of the product","type":"string"},"weight":{"description":"weight value is in gram","minimum":0,"type":"number"}},"required":["tenantArticleId","title"],"title":"AbstractArticle","type":"object","description":"AbstractArticle"},"OrderArticleAttributeItem":{"allOf":[{"$ref":"#/components/schemas/ArticleAttributeItem"}],"title":"OrderArticleAttributeItem","description":"OrderArticleAttributeItem"},"TagReference":{"properties":{"id":{"type":"string"},"value":{"type":"string"}},"required":["value","id"],"title":"TagReference","description":"TagReference"},"OrderPaymentInfoForCreation":{"additionalProperties":false,"properties":{"methodLocalized":{"$ref":"#/components/schemas/LocaleString"},"currency":{"description":"The currency in which the consumer paid with","type":"string"}},"type":"object","title":"OrderPaymentInfoForCreation","description":"OrderPaymentInfoForCreation"},"OrderPromisesOptions":{"additionalProperties":false,"properties":{"validUntil":{"description":"The date the promised order will become invalid and is cancelled automatically, when not transformed into an actual order.","format":"date-time","type":"string"}},"required":["validUntil"],"type":"object","xml":{"name":"OrderPromisesOptions"},"title":"OrderPromisesOptions","description":"OrderPromisesOptions"},"SourceRef":{"additionalProperties":false,"properties":{"sourceRef":{"type":"string"}},"required":["sourceRef"],"type":"object","title":"SourceRef","description":"SourceRef"},"TenantSourceId":{"additionalProperties":false,"properties":{"tenantSourceId":{"type":"string"}},"required":["tenantSourceId"],"type":"object","title":"TenantSourceId","description":"TenantSourceId"},"OrderStatus":{"description":"The state of the order. Initially it is OPEN.","enum":["OPEN","CANCELLED","PROMISED","LOCKED","OBSOLETE"],"type":"string","title":"OrderStatus"},"OrderStatusReason":{"description":"Order Status Reason.","properties":{"reason":{"description":"The reason for setting this order status","type":"string"},"status":{"$ref":"#/components/schemas/OrderStatus"}},"required":["reason","status"],"title":"OrderStatusReason"},"Sticker":{"additionalProperties":false,"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString","description":"Dictionary of possible translations, min 1 entry, max 14 characters per description"},"color":{"description":"optional color coding for the sticker","type":"string"},"key":{"description":"unique identifier","type":"string"},"name":{"description":"Translated display name","type":"string"},"priority":{"description":"priority of the given sticker","format":"int64","maximum":10000,"minimum":1,"type":"integer"}},"required":["key","nameLocalized","priority"],"title":"Sticker","description":"Sticker"},"RoutingStrategyEvaluationResult":{"properties":{"evaluatedConfig":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"evaluatedPath":{"items":{"$ref":"#/components/schemas/RoutingStrategyPathElement"},"type":"array"}},"required":["evaluatedConfig","evaluatedPath"],"type":"object","title":"RoutingStrategyEvaluationResult","description":"RoutingStrategyEvaluationResult"},"RoutingStrategyNodeConfig":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFence"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFence","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardRating"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyStandardRating","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfig","description":"RoutingStrategyNodeConfig"},"RoutingStrategyFallbackFacilityConfig":{"properties":{"active":{"default":false,"type":"boolean"},"facilityRefs":{"items":{"type":"string"},"maxItems":1,"minItems":1,"type":"array"},"fallbackAfterTime":{"default":"PT0H","description":"Default amount of time in ISO 8601 duration format after which a not routable routingplan is routed to a configured fallback facility.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"}},"required":["facilityRefs","active","fallbackAfterTime"],"title":"RoutingStrategyFallbackFacilityConfig","description":"RoutingStrategyFallbackFacilityConfig"},"RoutingStrategyStandardFence":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"name":{"type":"string"},"supportedModes":{"items":{"$ref":"#/components/schemas/FenceMode"},"type":"array"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"FenceMode":{"enum":["static","reactive"],"type":"string","title":"FenceMode","description":"FenceMode"},"FenceImplementation":{"description":"<i>This part of the API is currently under development. That means that this endpoint, model, etc. can contain breaking changes and / or might not be available at all times in your API instance. It could disappear also without warning. Thus it currently does not fall under our SLA regulations. For details on this topic please check our <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle\">documentation</a></i>","enum":["FACILITY-BUSINESSTYPE","STOCK-AVAILABILITY","FACILITY-CARRIERAVAILABILITY","FACILITY-COUNTRY","FACILITY-PICKING-TIME-CAPACITY","PRESELECTED-FACILITY","SAMEDAY-POSSIBLE","AVOID-ZERO-STOCK"],"type":"string","xml":{"name":"FenceImplementation"},"title":"FenceImplementation"},"RoutingStrategyStandardFenceType":{"enum":["StandardFence"],"type":"string","title":"RoutingStrategyStandardFenceType","description":"RoutingStrategyStandardFenceType"},"RoutingStrategyToolkitFence":{"additionalProperties":false,"description":"Routing Strategy Toolkit Fence.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not.","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this fence.","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"name":{"description":"The name of the fence.","type":"string"},"order":{"description":"Order in which this fence is executed","type":"integer"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitFenceType"}},"required":["nameLocalized","active","order","type","referenceId"],"title":"RoutingStrategyToolkitFence"},"ToolkitComparisonRule":{"description":"The rule, comparing the left and right path values, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitComparisonPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitComparisonRule"},"ToolkitRuleScope":{"enum":["WHOLE_ENTITY","LINE_ITEM"],"type":"string","xml":{"name":"ToolkitRuleScope"},"title":"ToolkitRuleScope","description":"ToolkitRuleScope"},"ToolkitPredicateConnector":{"description":"The allowed operators for connecting multiple predicates","enum":["OR","AND"],"type":"string","xml":{"name":"ToolkitPredicateConnector"},"title":"ToolkitPredicateConnector"},"ToolkitComparisonPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitRuleComparisonOperatorType"},"leftEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity2 property"},"leftPropertyPath":{"minLength":1,"type":"string"},"leftTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"leftTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"},"rightEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity1 property"},"rightPropertyPath":{"minLength":1,"type":"string"},"rightTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"rightTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["rightPropertyPath","leftPropertyPath","entityOperator","leftEntity","rightEntity"],"type":"object","xml":{"name":"ToolkitComparisonPredicate"},"title":"ToolkitComparisonPredicate"},"ToolkitRuleComparisonOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["NO_MATCHES","ALL_MATCHES","LEFT_CONTAINS_RIGHT","RIGHT_CONTAINS_LEFT"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleComparisonOperatorType"},"ToolkitAllowedEntities":{"description":"The entities that can be compared by the toolkit fence or rating\n  * `ORDER`\n  * `FACILITY`\n  * `CARRIERCONNECTION`\n  * `LISTING`\n  * `ORDERING_FACILITY` - left side only\n  * `ORDERING_FACILITY_GROUPS` - left side only","enum":["ORDER","FACILITY","CARRIERCONNECTION","LISTING","ORDERING_FACILITY","ORDERING_FACILITY_GROUPS"],"type":"string","xml":{"name":"ToolkitAllowedEntities"},"title":"ToolkitAllowedEntities"},"ToolkitTransformationType":{"description":"The transformations available to apply on the entity property value before a predicate is evaluated","enum":["SUBSTRING","COUNT","SUM","LAST"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitTransformationType"},"ToolkitRule":{"description":"The rule, containing the left predicates and the right predicates, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"leftPart":{"$ref":"#/components/schemas/ToolkitRulePart"},"operator":{"$ref":"#/components/schemas/ToolkitRuleOperatorType"},"rightPart":{"$ref":"#/components/schemas/ToolkitRulePart"}},"required":["operator","leftPart","rightPart","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitRule"},"ToolkitRulePart":{"additionalProperties":false,"description":"One half of the rule, containing either the left or right predicates and booleanOperator.","properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"ToolkitRulePart"},"title":"ToolkitRulePart"},"ToolkitPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entity":{"$ref":"#/components/schemas/ToolkitAllowedEntities"},"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator","entity"],"type":"object","xml":{"name":"ToolkitPredicate"},"title":"ToolkitPredicate"},"ToolkitEntityOperatorType":{"description":"The possible operator types that can be used on given entities","enum":["VALUE_EQUALS","VALUE_NOT_EQUALS","ANY_VALUE_EQUALS","ANY_VALUE_GREATER_EQUALS","ANY_VALUE_GREATER_THAN","ANY_VALUE_LESS_EQUALS","ANY_VALUE_LESS_THAN","ANY_VALUE_CONTAINS","ANY_VALUE_NOT_CONTAINS","EVERY_VALUE_EQUALS","EVERY_VALUE_GREATER_EQUALS","EVERY_VALUE_GREATER_THAN","EVERY_VALUE_LESS_EQUALS","EVERY_VALUE_LESS_THAN","EVERY_VALUE_CONTAINS","EVERY_VALUE_NOT_CONTAINS","NO_VALUE_EQUALS","NO_VALUE_GREATER_EQUALS","NO_VALUE_GREATER_THAN","NO_VALUE_LESS_EQUALS","NO_VALUE_LESS_THAN","NO_VALUE_CONTAINS","NO_VALUE_NOT_CONTAINS","VALUE_CONTAINS","VALUE_NOT_CONTAINS","GREATER_THAN","GREATER_EQUALS","LESS_THAN","LESS_EQUALS"],"type":"string","xml":{"name":"ToolkitEntityOperatorType"},"title":"ToolkitEntityOperatorType"},"ToolkitRuleOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["EQUALS"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleOperatorType"},"RoutingStrategyToolkitFenceType":{"enum":["ToolkitFence"],"type":"string","title":"RoutingStrategyToolkitFenceType","description":"RoutingStrategyToolkitFenceType"},"RoutingStrategyOrderSplitConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"activeForSameday":{"type":"boolean"},"maxSplitCount":{"type":"integer"},"shouldUseWaitingRoomForPreBackOrderItems":{"type":"boolean"}},"required":["active","maxSplitCount","activeForSameday","shouldUseWaitingRoomForPreBackOrderItems"],"type":"object","title":"RoutingStrategyOrderSplitConfig","description":"RoutingStrategyOrderSplitConfig"},"RoutingStrategyStandardRating":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyStandardRating","type":"object"},"AbstractRatingConfiguration":{"description":"Base Configuration for Ratings. See documentation for Details.","type":"object","xml":{"name":"AbstractRatingConfiguration"},"title":"AbstractRatingConfiguration"},"RatingImplementation":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","enum":["STOCK-BALANCING","GEO-DISTANCE","TURNOVER","STOCK-AVAILABILITY","WORKLOAD-BALANCING","MATCHING-BUSINESSTYPE","PREFER-STORE","PREFER-WAREHOUSE","ZONE","EXPIRY-DATE","CAPACITY","DELIVERY-COSTS","DELIVERY-TIME","COST-COMPONENTS","NUMBER-OF-DELIVERIES"],"type":"string","xml":{"name":"RatingImplementation"},"title":"RatingImplementation"},"RoutingStrategyStandardRatingType":{"enum":["StandardRating"],"type":"string","title":"RoutingStrategyStandardRatingType","description":"RoutingStrategyStandardRatingType"},"RoutingStrategyToolkitRating":{"additionalProperties":false,"description":"Routing Strategy Toolkit Rating.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this rating","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"maxPenalty":{"description":"The maximum penalty this rating can have","type":"integer"},"name":{"description":"The name of the rating","type":"string"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitRatingType"}},"required":["type","nameLocalized","active","maxPenalty","referenceId"],"title":"RoutingStrategyToolkitRating"},"RoutingStrategyToolkitRatingType":{"enum":["ToolkitRating"],"type":"string","title":"RoutingStrategyToolkitRatingType","description":"RoutingStrategyToolkitRatingType"},"RoutingStrategyRerouteConfig":{"additionalProperties":false,"properties":{"clickAndCollect":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"},"manualReroute":{"type":"boolean"},"rerouteZeroPicksOnly":{"default":false,"description":"Specifies whether only pick jobs with zero items picked are eligible for rerouting.","type":"boolean"},"shipFromStore":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"}},"type":"object","title":"RoutingStrategyRerouteConfig","description":"RoutingStrategyRerouteConfig"},"RoutingStrategyFacilityRerouteConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"rerouteType":{"$ref":"#/components/schemas/RoutingStrategyRerouteType"}},"required":["rerouteType"],"type":"object","title":"RoutingStrategyFacilityRerouteConfig","description":"RoutingStrategyFacilityRerouteConfig"},"RoutingStrategyRerouteType":{"description":"The type of reroute to apply to the order\n  * `REROUTE`- the complete routing plan is rerouted.\n  * `ORDERSPLIT`- the order is splitted. The split line items will be moved to a new routing plan and rerouted.","enum":["REROUTE","ORDERSPLIT"],"type":"string","title":"RoutingStrategyRerouteType"},"RoutingStrategyPathElement":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"evaluationResult":{"$ref":"#/components/schemas/RoutingStrategyEvaluationResultType"},"ref":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyPathElementType"}},"required":["type","ref","evaluationResult","nameLocalized"],"type":"object","title":"RoutingStrategyPathElement","description":"RoutingStrategyPathElement"},"RoutingStrategyEvaluationResultType":{"enum":["NODE_INACTIVE","NODE_ACTIVE","CONDITION_INACTIVE","CONDITION_FALSE","CONDITION_TRUE"],"type":"string","title":"RoutingStrategyEvaluationResultType","description":"RoutingStrategyEvaluationResultType"},"RoutingStrategyPathElementType":{"enum":["CONDITION","NODE"],"type":"string","title":"RoutingStrategyPathElementType","description":"RoutingStrategyPathElementType"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/strategies/{strategyId}/evaluation":{"post":{"description":"Evaluates a routing strategy against a given order","operationId":"evaluateRoutingStrategy","parameters":[{"description":"Id of the routing strategy","in":"path","name":"strategyId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderForCreation"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyEvaluationResult"}}},"description":"The result of the evaluation of the routing strategy."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The routing strategy does not exist"}},"summary":"Evaluate routing strategy","tags":["Routing Strategy (DOMS)"]}}}}
```

## Evaluate routing strategy node

> Evaluates a routing strategy node and return the path.

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to configure the routing strategy of the DOMS.","name":"Routing Strategy (DOMS)"}],"servers":[{"url":"https://{tenant}.api.fulfillmenttools.com","variables":{"tenant":{"default":"your-tenant-name"}}}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoutingStrategyEvaluationResult":{"properties":{"evaluatedConfig":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"evaluatedPath":{"items":{"$ref":"#/components/schemas/RoutingStrategyPathElement"},"type":"array"}},"required":["evaluatedConfig","evaluatedPath"],"type":"object","title":"RoutingStrategyEvaluationResult","description":"RoutingStrategyEvaluationResult"},"RoutingStrategyNodeConfig":{"additionalProperties":false,"properties":{"fallbackFacility":{"$ref":"#/components/schemas/RoutingStrategyFallbackFacilityConfig"},"fences":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardFence"},{"$ref":"#/components/schemas/RoutingStrategyToolkitFence"}],"discriminator":{"propertyName":"type","mapping":{"StandardFence":"#/components/schemas/RoutingStrategyStandardFence","ToolkitFence":"#/components/schemas/RoutingStrategyToolkitFence"}}},"type":"array"},"orderSplit":{"$ref":"#/components/schemas/RoutingStrategyOrderSplitConfig"},"ratings":{"items":{"anyOf":[{"$ref":"#/components/schemas/RoutingStrategyStandardRating"},{"$ref":"#/components/schemas/RoutingStrategyToolkitRating"}],"discriminator":{"propertyName":"type","mapping":{"StandardRating":"#/components/schemas/RoutingStrategyStandardRating","ToolkitRating":"#/components/schemas/RoutingStrategyToolkitRating"}}},"type":"array"},"reroute":{"$ref":"#/components/schemas/RoutingStrategyRerouteConfig"}},"required":["fences","ratings"],"type":"object","title":"RoutingStrategyNodeConfig","description":"RoutingStrategyNodeConfig"},"RoutingStrategyFallbackFacilityConfig":{"properties":{"active":{"default":false,"type":"boolean"},"facilityRefs":{"items":{"type":"string"},"maxItems":1,"minItems":1,"type":"array"},"fallbackAfterTime":{"default":"PT0H","description":"Default amount of time in ISO 8601 duration format after which a not routable routingplan is routed to a configured fallback facility.","pattern":"^P(?:(\\d+W)|(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+S)?)?)$","type":"string"}},"required":["facilityRefs","active","fallbackAfterTime"],"title":"RoutingStrategyFallbackFacilityConfig","description":"RoutingStrategyFallbackFacilityConfig"},"RoutingStrategyStandardFence":{"additionalProperties":false,"description":"Routing Strategy Fence.","properties":{"active":{"type":"boolean"},"activeMode":{"$ref":"#/components/schemas/FenceMode"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/FenceImplementation"},"name":{"type":"string"},"supportedModes":{"items":{"$ref":"#/components/schemas/FenceMode"},"type":"array"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardFenceType"}},"required":["active","implementation","type"],"title":"RoutingStrategyFence","type":"object"},"FenceMode":{"enum":["static","reactive"],"type":"string","title":"FenceMode","description":"FenceMode"},"FenceImplementation":{"description":"<i>This part of the API is currently under development. That means that this endpoint, model, etc. can contain breaking changes and / or might not be available at all times in your API instance. It could disappear also without warning. Thus it currently does not fall under our SLA regulations. For details on this topic please check our <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle\">documentation</a></i>","enum":["FACILITY-BUSINESSTYPE","STOCK-AVAILABILITY","FACILITY-CARRIERAVAILABILITY","FACILITY-COUNTRY","FACILITY-PICKING-TIME-CAPACITY","PRESELECTED-FACILITY","SAMEDAY-POSSIBLE","AVOID-ZERO-STOCK"],"type":"string","xml":{"name":"FenceImplementation"},"title":"FenceImplementation"},"RoutingStrategyStandardFenceType":{"enum":["StandardFence"],"type":"string","title":"RoutingStrategyStandardFenceType","description":"RoutingStrategyStandardFenceType"},"RoutingStrategyToolkitFence":{"additionalProperties":false,"description":"Routing Strategy Toolkit Fence.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not.","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this fence.","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"name":{"description":"The name of the fence.","type":"string"},"order":{"description":"Order in which this fence is executed","type":"integer"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitFenceType"}},"required":["nameLocalized","active","order","type","referenceId"],"title":"RoutingStrategyToolkitFence"},"LocaleString":{"additionalProperties":{"type":"string"},"description":"Provides Localized values. The key is the locale, the value is the translation. https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/localization","title":"LocaleString","type":"object"},"ToolkitComparisonRule":{"description":"The rule, comparing the left and right path values, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitComparisonPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitComparisonRule"},"ToolkitRuleScope":{"enum":["WHOLE_ENTITY","LINE_ITEM"],"type":"string","xml":{"name":"ToolkitRuleScope"},"title":"ToolkitRuleScope","description":"ToolkitRuleScope"},"ToolkitPredicateConnector":{"description":"The allowed operators for connecting multiple predicates","enum":["OR","AND"],"type":"string","xml":{"name":"ToolkitPredicateConnector"},"title":"ToolkitPredicateConnector"},"ToolkitComparisonPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entityOperator":{"$ref":"#/components/schemas/ToolkitRuleComparisonOperatorType"},"leftEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity2 property"},"leftPropertyPath":{"minLength":1,"type":"string"},"leftTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"leftTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"},"rightEntity":{"$ref":"#/components/schemas/ToolkitAllowedEntities","description":"The entity that is used for the right side of the comparison - overrides the entity1 property"},"rightPropertyPath":{"minLength":1,"type":"string"},"rightTransformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"rightTransformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["rightPropertyPath","leftPropertyPath","entityOperator","leftEntity","rightEntity"],"type":"object","xml":{"name":"ToolkitComparisonPredicate"},"title":"ToolkitComparisonPredicate"},"ToolkitRuleComparisonOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["NO_MATCHES","ALL_MATCHES","LEFT_CONTAINS_RIGHT","RIGHT_CONTAINS_LEFT"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleComparisonOperatorType"},"ToolkitAllowedEntities":{"description":"The entities that can be compared by the toolkit fence or rating\n  * `ORDER`\n  * `FACILITY`\n  * `CARRIERCONNECTION`\n  * `LISTING`\n  * `ORDERING_FACILITY` - left side only\n  * `ORDERING_FACILITY_GROUPS` - left side only","enum":["ORDER","FACILITY","CARRIERCONNECTION","LISTING","ORDERING_FACILITY","ORDERING_FACILITY_GROUPS"],"type":"string","xml":{"name":"ToolkitAllowedEntities"},"title":"ToolkitAllowedEntities"},"ToolkitTransformationType":{"description":"The transformations available to apply on the entity property value before a predicate is evaluated","enum":["SUBSTRING","COUNT","SUM","LAST"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitTransformationType"},"ToolkitRule":{"description":"The rule, containing the left predicates and the right predicates, that will be evaluated applying a RuleOperator","properties":{"evaluationScope":{"$ref":"#/components/schemas/ToolkitRuleScope"},"leftPart":{"$ref":"#/components/schemas/ToolkitRulePart"},"operator":{"$ref":"#/components/schemas/ToolkitRuleOperatorType"},"rightPart":{"$ref":"#/components/schemas/ToolkitRulePart"}},"required":["operator","leftPart","rightPart","evaluationScope"],"type":"object","xml":{"name":"ToolkitRule"},"title":"ToolkitRule"},"ToolkitRulePart":{"additionalProperties":false,"description":"One half of the rule, containing either the left or right predicates and booleanOperator.","properties":{"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitPredicate"},"maxItems":100,"minItems":1,"type":"array"}},"required":["predicates"],"type":"object","xml":{"name":"ToolkitRulePart"},"title":"ToolkitRulePart"},"ToolkitPredicate":{"description":"The predicate for a Toolkit V2 Fence that defines how conditions are constructed","properties":{"entity":{"$ref":"#/components/schemas/ToolkitAllowedEntities"},"entityOperator":{"$ref":"#/components/schemas/ToolkitEntityOperatorType"},"expectedValue":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"propertyPath":{"minLength":1,"type":"string"},"transformation":{"$ref":"#/components/schemas/ToolkitTransformationType"},"transformationArgs":{"items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"maxItems":100,"type":"array"}},"required":["propertyPath","entityOperator","entity"],"type":"object","xml":{"name":"ToolkitPredicate"},"title":"ToolkitPredicate"},"ToolkitEntityOperatorType":{"description":"The possible operator types that can be used on given entities","enum":["VALUE_EQUALS","VALUE_NOT_EQUALS","ANY_VALUE_EQUALS","ANY_VALUE_GREATER_EQUALS","ANY_VALUE_GREATER_THAN","ANY_VALUE_LESS_EQUALS","ANY_VALUE_LESS_THAN","ANY_VALUE_CONTAINS","ANY_VALUE_NOT_CONTAINS","EVERY_VALUE_EQUALS","EVERY_VALUE_GREATER_EQUALS","EVERY_VALUE_GREATER_THAN","EVERY_VALUE_LESS_EQUALS","EVERY_VALUE_LESS_THAN","EVERY_VALUE_CONTAINS","EVERY_VALUE_NOT_CONTAINS","NO_VALUE_EQUALS","NO_VALUE_GREATER_EQUALS","NO_VALUE_GREATER_THAN","NO_VALUE_LESS_EQUALS","NO_VALUE_LESS_THAN","NO_VALUE_CONTAINS","NO_VALUE_NOT_CONTAINS","VALUE_CONTAINS","VALUE_NOT_CONTAINS","GREATER_THAN","GREATER_EQUALS","LESS_THAN","LESS_EQUALS"],"type":"string","xml":{"name":"ToolkitEntityOperatorType"},"title":"ToolkitEntityOperatorType"},"ToolkitRuleOperatorType":{"description":"The type of the rule operator applied to the results of evaluating the left predicates and the right predicates","enum":["EQUALS"],"type":"string","xml":{"name":"ToolkitTransformationType"},"title":"ToolkitRuleOperatorType"},"RoutingStrategyToolkitFenceType":{"enum":["ToolkitFence"],"type":"string","title":"RoutingStrategyToolkitFenceType","description":"RoutingStrategyToolkitFenceType"},"RoutingStrategyOrderSplitConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"activeForSameday":{"type":"boolean"},"maxSplitCount":{"type":"integer"},"shouldUseWaitingRoomForPreBackOrderItems":{"type":"boolean"}},"required":["active","maxSplitCount","activeForSameday","shouldUseWaitingRoomForPreBackOrderItems"],"type":"object","title":"RoutingStrategyOrderSplitConfig","description":"RoutingStrategyOrderSplitConfig"},"RoutingStrategyStandardRating":{"additionalProperties":false,"description":"A rating is used to rate a set of possible facilities against each other during routing of orders.","properties":{"active":{"type":"boolean"},"configuration":{"$ref":"#/components/schemas/AbstractRatingConfiguration"},"description":{"type":"string"},"implementation":{"$ref":"#/components/schemas/RatingImplementation"},"maxPenalty":{"minimum":0,"type":"number"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyStandardRatingType"}},"required":["active","implementation","maxPenalty","type"],"title":"RoutingStrategyStandardRating","type":"object"},"AbstractRatingConfiguration":{"description":"Base Configuration for Ratings. See documentation for Details.","type":"object","xml":{"name":"AbstractRatingConfiguration"},"title":"AbstractRatingConfiguration"},"RatingImplementation":{"description":"This part of the API is in Beta status. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#beta\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />","enum":["STOCK-BALANCING","GEO-DISTANCE","TURNOVER","STOCK-AVAILABILITY","WORKLOAD-BALANCING","MATCHING-BUSINESSTYPE","PREFER-STORE","PREFER-WAREHOUSE","ZONE","EXPIRY-DATE","CAPACITY","DELIVERY-COSTS","DELIVERY-TIME","COST-COMPONENTS","NUMBER-OF-DELIVERIES"],"type":"string","xml":{"name":"RatingImplementation"},"title":"RatingImplementation"},"RoutingStrategyStandardRatingType":{"enum":["StandardRating"],"type":"string","title":"RoutingStrategyStandardRatingType","description":"RoutingStrategyStandardRatingType"},"RoutingStrategyToolkitRating":{"additionalProperties":false,"description":"Routing Strategy Toolkit Rating.","properties":{"descriptionLocalized":{"$ref":"#/components/schemas/LocaleString"},"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"active":{"default":false,"description":"Indicates whether this fence is active or not","type":"boolean"},"comparisonRule":{"$ref":"#/components/schemas/ToolkitComparisonRule"},"description":{"description":"The description of this rating","type":"string"},"entity1":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"entity2":{"$ref":"#/components/schemas/ToolkitAllowedEntities","deprecated":true,"description":"This field is obsolete, was replaced by the entity fields at predicate level."},"maxPenalty":{"description":"The maximum penalty this rating can have","type":"integer"},"name":{"description":"The name of the rating","type":"string"},"referenceId":{"type":"string"},"rule":{"$ref":"#/components/schemas/ToolkitRule"},"type":{"$ref":"#/components/schemas/RoutingStrategyToolkitRatingType"}},"required":["type","nameLocalized","active","maxPenalty","referenceId"],"title":"RoutingStrategyToolkitRating"},"RoutingStrategyToolkitRatingType":{"enum":["ToolkitRating"],"type":"string","title":"RoutingStrategyToolkitRatingType","description":"RoutingStrategyToolkitRatingType"},"RoutingStrategyRerouteConfig":{"additionalProperties":false,"properties":{"clickAndCollect":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"},"manualReroute":{"type":"boolean"},"rerouteZeroPicksOnly":{"default":false,"description":"Specifies whether only pick jobs with zero items picked are eligible for rerouting.","type":"boolean"},"shipFromStore":{"$ref":"#/components/schemas/RoutingStrategyFacilityRerouteConfig"}},"type":"object","title":"RoutingStrategyRerouteConfig","description":"RoutingStrategyRerouteConfig"},"RoutingStrategyFacilityRerouteConfig":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"rerouteType":{"$ref":"#/components/schemas/RoutingStrategyRerouteType"}},"required":["rerouteType"],"type":"object","title":"RoutingStrategyFacilityRerouteConfig","description":"RoutingStrategyFacilityRerouteConfig"},"RoutingStrategyRerouteType":{"description":"The type of reroute to apply to the order\n  * `REROUTE`- the complete routing plan is rerouted.\n  * `ORDERSPLIT`- the order is splitted. The split line items will be moved to a new routing plan and rerouted.","enum":["REROUTE","ORDERSPLIT"],"type":"string","title":"RoutingStrategyRerouteType"},"RoutingStrategyPathElement":{"properties":{"nameLocalized":{"$ref":"#/components/schemas/LocaleString"},"evaluationResult":{"$ref":"#/components/schemas/RoutingStrategyEvaluationResultType"},"ref":{"type":"string"},"type":{"$ref":"#/components/schemas/RoutingStrategyPathElementType"}},"required":["type","ref","evaluationResult","nameLocalized"],"type":"object","title":"RoutingStrategyPathElement","description":"RoutingStrategyPathElement"},"RoutingStrategyEvaluationResultType":{"enum":["NODE_INACTIVE","NODE_ACTIVE","CONDITION_INACTIVE","CONDITION_FALSE","CONDITION_TRUE"],"type":"string","title":"RoutingStrategyEvaluationResultType","description":"RoutingStrategyEvaluationResultType"},"RoutingStrategyPathElementType":{"enum":["CONDITION","NODE"],"type":"string","title":"RoutingStrategyPathElementType","description":"RoutingStrategyPathElementType"},"ApiError":{"items":{"$ref":"#/components/schemas/ErrorInner"},"type":"array","xml":{"name":"ApiError"},"title":"ApiError","description":"ApiError"},"ErrorInner":{"properties":{"description":{"type":"string"},"requestVersion":{"description":"The version provided within an invalid request.","format":"int64","type":"integer"},"summary":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["summary"],"type":"object","title":"ErrorInner","description":"ErrorInner"}}},"paths":{"/api/routing/strategies/{strategyId}/nodes/{nodeId}/evaluation":{"post":{"description":"Evaluates a routing strategy node and return the path.","operationId":"evaluateRoutingStrategyNode","parameters":[{"description":"Id of the routing strategy","in":"path","name":"strategyId","required":true,"schema":{"type":"string"}},{"description":"Id of the node","in":"path","name":"nodeId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingStrategyEvaluationResult"}}},"description":"The result of the evaluation of this routing strategy node."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Invalid input. See response for details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user, although recognized, is not authorized to use this endpoint"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The routing strategy node does not exist"}},"summary":"Evaluate routing strategy node","tags":["Routing Strategy (DOMS)"]}}}}
```
