# Routing Plans (DOMS)

Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).

## List reroute descriptions

> 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 />

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).","name":"Routing Plans (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":{"RerouteDescriptions":{"allOf":[{"$ref":"#/components/schemas/AbstractReasons"}],"properties":{"reasons":{"items":{"$ref":"#/components/schemas/RerouteDescription"},"type":"array"},"rerouteDescriptions":{"items":{"$ref":"#/components/schemas/RerouteDescription"},"type":"array"}},"required":["reasons","rerouteDescriptions"],"type":"object","title":"RerouteDescriptions","description":"RerouteDescriptions"},"AbstractReasons":{"properties":{"hasNextPage":{"description":"True if there are more results after the current page","type":"boolean"},"reasons":{"items":{"$ref":"#/components/schemas/AbstractReason"},"type":"array"},"total":{"description":"Total number of found entities for this query","type":"integer"}},"required":["reasons","hasNextPage","total"],"type":"object","xml":{"name":"AbstractReasons"},"title":"AbstractReasons","description":"AbstractReasons"},"AbstractReason":{"allOf":[{"$ref":"#/components/schemas/AbstractReasonForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"action":{"description":"The action this reason can be attached to.","type":"string"},"id":{"description":"The id of the Reason","type":"string"}},"required":["id","action"],"type":"object","xml":{"name":"AbstractReason"},"title":"AbstractReason","description":"AbstractReason"},"AbstractReasonForCreation":{"additionalProperties":false,"properties":{"reasonLocalized":{"$ref":"#/components/schemas/LocaleString"},"reason":{"description":"Text explaining the reason for a supported action.","type":"string"}},"required":["reason","reasonLocalized"],"type":"object","xml":{"name":"AbstractReasonForCreation"},"title":"AbstractReasonForCreation","description":"AbstractReasonForCreation"},"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"},"RerouteDescription":{"allOf":[{"$ref":"#/components/schemas/AbstractReason"}],"properties":{"action":{"enum":["REROUTE"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"RerouteDescription"},"title":"RerouteDescription","description":"RerouteDescription"},"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/reroutedescriptions":{"get":{"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 />","operationId":"getRerouteDescriptions","parameters":[{"description":"all entities after given Id","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/RerouteDescriptions"}}},"description":"RerouteDescription were found & you were allowed to access it. 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"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"User not found"}},"summary":"List reroute descriptions","tags":["Routing Plans (DOMS)"]}}}}
```

## Create reroute 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 />

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).","name":"Routing Plans (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":{"RerouteDescriptionForCreation":{"allOf":[{"$ref":"#/components/schemas/AbstractReasonForCreation"}],"type":"object","xml":{"name":"RerouteDescriptionForCreation"},"title":"RerouteDescriptionForCreation","description":"RerouteDescriptionForCreation"},"AbstractReasonForCreation":{"additionalProperties":false,"properties":{"reasonLocalized":{"$ref":"#/components/schemas/LocaleString"},"reason":{"description":"Text explaining the reason for a supported action.","type":"string"}},"required":["reason","reasonLocalized"],"type":"object","xml":{"name":"AbstractReasonForCreation"},"title":"AbstractReasonForCreation","description":"AbstractReasonForCreation"},"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"},"RerouteDescription":{"allOf":[{"$ref":"#/components/schemas/AbstractReason"}],"properties":{"action":{"enum":["REROUTE"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"RerouteDescription"},"title":"RerouteDescription","description":"RerouteDescription"},"AbstractReason":{"allOf":[{"$ref":"#/components/schemas/AbstractReasonForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"action":{"description":"The action this reason can be attached to.","type":"string"},"id":{"description":"The id of the Reason","type":"string"}},"required":["id","action"],"type":"object","xml":{"name":"AbstractReason"},"title":"AbstractReason","description":"AbstractReason"},"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/reroutedescriptions":{"post":{"operationId":"postRerouteDescription","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RerouteDescriptionForCreation"}}},"description":"The RerouteDescription","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RerouteDescription"}}},"description":"The RerouteDescription has been successfully created. The Location header includes the URL of the document."},"303":{"description":"The RerouteDescription already exists. The Location header contains the URL of the document."},"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 reroute description","tags":["Routing Plans (DOMS)"],"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 />"}}}}
```

## Trigger reroute

> 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 />

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).","name":"Routing Plans (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":{"RerouteRoutingPlan":{"properties":{"allReroutable":{"description":"if set to true every reroutable routing plan is rerouted. overrules every other identifier","type":"boolean"},"orderRefs":{"items":{"type":"string"},"maxItems":10,"type":"array"},"routingPlanIds":{"items":{"type":"string"},"maxItems":10,"type":"array"},"tenantOrderIds":{"items":{"type":"string"},"maxItems":10,"type":"array"}},"type":"object","title":"RerouteRoutingPlan","description":"RerouteRoutingPlan"},"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/commands/reroute":{"post":{"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 />","operationId":"reRoute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RerouteRoutingPlan"}}},"description":"An object, that can contain either lists of identifiers for which a reroute should be executed or an option to reroute every reroutable plan.","required":true},"responses":{"200":{"description":"Rerouting was successfully triggered"},"401":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Your user is not allowed to operate against this API instance"},"403":{"description":"Your user, although recognized, is not authorized to use this endpoint"}},"summary":"Trigger reroute","tags":["Routing Plans (DOMS)"]}}}}
```

## GET /api/routingplans

> List routing plans

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).","name":"Routing Plans (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":{"RoutingPlans":{"properties":{"routingPlans":{"items":{"$ref":"#/components/schemas/RoutingPlan"},"type":"array"},"total":{"description":"Total number of found entities for this query","type":"integer"}},"type":"object","title":"RoutingPlans","description":"RoutingPlans"},"RoutingPlan":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"activeConfig":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"childRoutingPlanRef":{"type":"string"},"consolidatedStatus":{"$ref":"#/components/schemas/ConsolidatedRoutingPlanStatus"},"customServices":{"items":{"$ref":"#/components/schemas/CustomServiceReference"},"minItems":1,"type":"array"},"decisionLogs":{"items":{"$ref":"#/components/schemas/DecisionLogRef"},"type":"array"},"deliveryPreferences":{"$ref":"#/components/schemas/DeliveryPreferences"},"earliestPickingStart":{"$ref":"#/components/schemas/EarliestPickingStart"},"expectedLineItems":{"items":{"$ref":"#/components/schemas/ExpectedLineItem"},"type":"array"},"facilityBlackList":{"items":{"description":"Contains a list of facilities to ignore when rerouting happens.","type":"string"},"type":"array"},"facilityRef":{"description":"The id of the facility reference. The given ID has to be present in the system.","type":"string"},"fallbackRoutingAfterTimeInSeconds":{"description":"In case this routing plan has an active fallback facility configuration, this is the time in seconds after which the fallback routing will be attempted.","type":"number"},"finalizeRun":{"description":"The iteration through the finalizer process","minimum":0,"type":"number"},"firstRoutingAttempt":{"description":"The date of the first routing attempt.","format":"date-time","type":"string"},"history":{"items":{"$ref":"#/components/schemas/RoutingPlanHistory"},"type":"array"},"id":{"type":"string"},"latestPickingStart":{"$ref":"#/components/schemas/LatestPickingStart"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"orderLineItems":{"items":{"$ref":"#/components/schemas/RoutingPlanLineItem"},"type":"array"},"orderRef":{"description":"The id of the order that lead to the creation of this pickjob. Can be empty / not present when the pickjob was created without having an order.","type":"string"},"parentRoutingPlanRef":{"type":"string"},"pickJobRef":{"description":"The id of the pickjob that has been created from the routing plan.","type":"string"},"predecessorRerouteRoutingPlanRefs":{"description":"Refs of the predecessor routing plans, in the case of a reroute.","items":{"type":"string"},"type":"array"},"priority":{"description":"priority of return plan","minimum":0,"type":"number"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"provisioningTime":{"description":"The point in time by which the order is supposed to be provisioned.","format":"date-time","type":"string"},"rerouteDescription":{"$ref":"#/components/schemas/RerouteDescription"},"reRoutedFacilityRef":{"description":"The id of the facility the order was rerouted from.","type":"string"},"reRoutedPickJobRef":{"description":"The id of the original pickjob that was rerouted.","type":"string"},"reRoutedRoutingPlanRef":{"description":"The id of the original routingplan that was rerouted.","type":"string"},"reRouteReason":{"$ref":"#/components/schemas/RerouteReason"},"routingRun":{"description":"The iteration through the routing process","type":"number"},"runId":{"description":"ID of the routing run this plan was created in","type":"string"},"runType":{"description":"The rule type of a decision log entry","enum":["DEFAULT","REROUTE","ORDERSPLIT_ON_SHORTPICK","MANUAL_ASSIGNMENT","PROCESS_MANUALASSIGNMENT","REACTIVATION"],"type":"string"},"splitCount":{"default":0,"description":"The number of order splits that happened before this routingplan was created","minimum":0,"type":"number"},"status":{"$ref":"#/components/schemas/RoutingPlanStatus"},"statusHistory":{"deprecated":true,"description":"This part of the API is deprecated. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#deprecated\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />@deprecated\n For more detailed information, use the History field. Saves all status changes when creating or updating a routing plan","items":{"$ref":"#/components/schemas/RoutingPlanStatus"},"type":"array"},"statusReasons":{"items":{"$ref":"#/components/schemas/RoutingPlanStatusReason"},"type":"array"},"successorRerouteRoutingPlanRefs":{"description":"Refs of the succeeding routing plans, in the case of a reroute.","items":{"type":"string"},"type":"array"},"targetAddress":{"$ref":"#/components/schemas/TargetAddress"},"targetAddressesByDeliveryEvent":{"items":{"$ref":"#/components/schemas/DeliveryEventTargetAddress"},"type":"array"},"targetTimeBaseDate":{"description":"This date is used as base/start to calculate the target time date.","format":"date-time","type":"string"},"tenantOrderId":{"description":"The id of the order in the tenant system that lead to the creation of this routingplan.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/Transfer"},"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]}},"required":["id","orderDate","created","lastModified","version","orderRef","priority","status","consolidatedStatus","decisionLogs","routingRun","finalizeRun","processId","predecessorRerouteRoutingPlanRefs","successorRerouteRoutingPlanRefs","workflowInformation"],"type":"object","title":"RoutingPlan","description":"RoutingPlan"},"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"},"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"},"ConsolidatedRoutingPlanStatus":{"description":"This status consolidates many of the RoutingPlanStatus and offers\na more detailes explanation of what happened to the routing plan.","enum":["REROUTED","MANUALLY_REROUTED","ORDER_MODIFIED_REROUTED","PROCESS_ORDER_MODIFIED_REROUTED_THEN_NOT_ROUTABLE","PROCESS_ORDER_MODIFIED_REROUTED_THEN_REROUTED_AND_SPLIT","PROCESS_ORDER_MODIFIED_REROUTED_THEN_ROUTED","ROUTED","ROUTED_THEN_REROUTED","PROCESS_MANUAL_REROUTED_THEN_ROUTED","PROCESS_MANUAL_REROUTED_THEN_NOT_ROUTABLE","PROCESS_MANUAL_REROUTED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTED_THEN_ROUTED_TO_SAME_FACILITY","ROUTING_PLAN_SHORTPICKED_THEN_ROUTED_TO_SAME_FACILITY","ROUTING_PLAN_CREATED_THEN_ROUTING","ROUTING_PLAN_CREATED_THEN_PLANNED","ROUTING_PLAN_REROUTED_THEN_FAILED","FACILITY_MANUALLY_ASSIGNED_TO_PICKJOB_THEN_ROUTED","FACILITY_MANUALLY_ASSIGNED_TO_PROCESS_THEN_ROUTED","STOCK_UPDATE_RECEIVED_THEN_REACTIVATED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED","ROUTING_PLAN_SHORTPICKED_THEN_SPLIT","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED_TO_SAME_FACILITY","PICKJOB_REJECTED_THEN_REROUTED","PICKJOB_REJECTED_THEN_NOT_ROUTABLE","PICKJOB_REJECTED_THEN_ROUTED_AND_SPLIT","ROUTED_AND_SPLIT","OBSOLETE","OBSOLETE_WAS_MANUALLY_REROUTED","OBSOLETE_WAS_MANUALLY_ASSIGNED","OBSOLETE_WAS_SHORTPICKED","OBSOLETE_WAS_ROUTED","UNKNOWN","RETRYABLE","FAILED_REROUTE","ROUTED_THEN_CANCELED","ROUTED_AND_SPLIT_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_SPLIT_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_THEN_CANCELED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","FACILITY_MANUALLY_ASSIGNED_TO_PICKJOB_THEN_ROUTED_THEN_CANCELED","FACILITY_MANUALLY_ASSIGNED_TO_PROCESS_THEN_ROUTED_THEN_CANCELED","PROCESS_MANUAL_REROUTED_THEN_ROUTED_THEN_CANCELED","PROCESS_MANUAL_REROUTED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","CANCELED","NOT_ROUTABLE","NOT_ROUTABLE_WAS_MANUALLY_REROUTED","NOT_ROUTABLE_WAS_MANUALLY_ASSIGNED","WAITING","WAITING_WAS_MANUALLY_REROUTED","WAITING_WAS_MANUALLY_ASSIGNED","WAITING_AND_SPLIT","WAITING_THEN_ROUTED","WAITING_THEN_ROUTED_AND_SPLIT","WAITING_THEN_NOT_ROUTABLE","WAITING_THEN_WAITING_AND_SPLIT","LOCKED","INITIAL"],"type":"string","xml":{"name":"RealRoutingPlanStatus"},"title":"ConsolidatedRoutingPlanStatus"},"CustomServiceReference":{"properties":{"articleItems":{"items":{"$ref":"#/components/schemas/ArticleItem"},"type":"array"},"customServiceDefinition":{"$ref":"#/components/schemas/CustomServiceDefinition"},"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItem"},"type":"array"},"id":{"type":"string"}},"required":["customServiceDefinition","articleItems","customServiceItems","id"],"type":"object","title":"CustomServiceReference","description":"CustomServiceReference"},"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"},"CustomServiceItem":{"allOf":[{"$ref":"#/components/schemas/CustomServiceItemForCreation"}],"properties":{"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItem"},"type":"array"},"id":{"type":"string"}},"required":["id","customServiceItems","articleItems","customServiceDefinition"],"type":"object","title":"CustomServiceItem","description":"CustomServiceItem"},"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"},"DecisionLogRef":{"properties":{"routingRun":{"type":"number"},"url":{"description":"A reference to the finalizer decision log","type":"string"}},"required":["url","finalizeRun"],"type":"object","xml":{"name":"DecisionLogRef"},"title":"DecisionLogRef","description":"DecisionLogRef"},"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"},"EarliestPickingStart":{"allOf":[{"$ref":"#/components/schemas/PickingStartBase"}],"properties":{"earliestPickingStartDate":{"format":"date-time","type":"string"}},"required":["earliestPickingStartDate"],"type":"object","title":"EarliestPickingStart","description":"EarliestPickingStart"},"PickingStartBase":{"properties":{"carrierRef":{"type":"string"},"targetTime":{"format":"date-time","type":"string"}},"required":["targetTime"],"type":"object","title":"PickingStartBase","description":"PickingStartBase"},"ExpectedLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItem"}],"properties":{"facilityRef":{"type":"string"},"transferId":{"type":"string"}},"required":["facilityRef","transferId"],"title":"ExpectedLineItem","description":"ExpectedLineItem"},"OrderLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItemForCreation"},{"properties":{"id":{"description":"The id of this orderline. It is generated during creation automatically by the API and suits as the primary identifier of the described line.","type":"string"}},"required":["id"],"type":"object"}],"title":"OrderLineItem","description":"OrderLineItem"},"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"},"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"},"RoutingPlanHistory":{"properties":{"created":{"description":"Information about the time, when a routing plan status is set","format":"date-time","type":"string"},"status":{"$ref":"#/components/schemas/RoutingPlanStatus"}},"required":["status","created"],"title":"RoutingPlanHistory","description":"RoutingPlanHistory"},"RoutingPlanStatus":{"description":"A routing plan line initially has the status INITIAL. Final state is ROUTED","enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string","xml":{"name":"RoutingPlanStatus"},"title":"RoutingPlanStatus"},"LatestPickingStart":{"allOf":[{"$ref":"#/components/schemas/PickingStartBase"}],"properties":{"latestPickingStartDate":{"format":"date-time","type":"string"}},"required":["latestPickingStartDate"],"type":"object","title":"LatestPickingStart","description":"LatestPickingStart"},"RoutingPlanLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItem"}],"properties":{"availabilityTimeframe":{"$ref":"#/components/schemas/AvailabilityTimeframe"},"available":{"type":"number"},"outOfStockBehaviour":{"$ref":"#/components/schemas/OutOfStockBehaviour"},"picked":{"type":"number"},"pieces":{"description":"@deprecated This property has been deprecated and has no meaning.","items":{"$ref":"#/components/schemas/RoutingPlanLineItemPiece"},"type":"array"}},"title":"RoutingPlanLineItem","description":"RoutingPlanLineItem"},"AvailabilityTimeframe":{"properties":{"start":{"format":"date-time","type":"string"}},"type":"object","title":"AvailabilityTimeframe","description":"AvailabilityTimeframe"},"OutOfStockBehaviour":{"description":"The PREORDER and RESTOCK can be only set, when the depending outOfStockConfig is provided.\nAlso PREORDER and RESTOCK values are 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 />","enum":["NONE","BACKORDER","PREORDER","RESTOCK","PREORDER_AND_RESTOCK"],"type":"string","title":"OutOfStockBehaviour"},"RoutingPlanLineItemPiece":{"properties":{"available":{"type":"number"},"location":{"$ref":"#/components/schemas/Location"},"mandatoryScore":{"type":"number"},"partialStockRef":{"type":"string"},"picked":{"type":"number"},"quantity":{"type":"number"},"sequenceScore":{"type":"number"}},"type":"object","title":"RoutingPlanLineItemPiece","description":"RoutingPlanLineItemPiece"},"Location":{"properties":{"locationRef":{"description":"The id of the location","type":"string"},"scannableCodes":{"description":"Represents barcodes that may be scanned at this location","items":{"type":"string"},"type":"array"}},"xml":{"name":"Location"},"title":"Location","description":"Location"},"RerouteDescription":{"allOf":[{"$ref":"#/components/schemas/AbstractReason"}],"properties":{"action":{"enum":["REROUTE"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"RerouteDescription"},"title":"RerouteDescription","description":"RerouteDescription"},"AbstractReason":{"allOf":[{"$ref":"#/components/schemas/AbstractReasonForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"action":{"description":"The action this reason can be attached to.","type":"string"},"id":{"description":"The id of the Reason","type":"string"}},"required":["id","action"],"type":"object","xml":{"name":"AbstractReason"},"title":"AbstractReason","description":"AbstractReason"},"AbstractReasonForCreation":{"additionalProperties":false,"properties":{"reasonLocalized":{"$ref":"#/components/schemas/LocaleString"},"reason":{"description":"Text explaining the reason for a supported action.","type":"string"}},"required":["reason","reasonLocalized"],"type":"object","xml":{"name":"AbstractReasonForCreation"},"title":"AbstractReasonForCreation","description":"AbstractReasonForCreation"},"RerouteReason":{"enum":["ORDERMODIFIED","PROCESSREROUTE","MANUAL","SHORTPICK","TIMETRIGGERED","STOCKZEROED","ABORTED","RECALCULATION"],"type":"string","title":"RerouteReason","description":"RerouteReason"},"RoutingPlanStatusReason":{"description":"Obsolete Status Reason","properties":{"reason":{"$ref":"#/components/schemas/RoutingPlanStatusReasonReason"},"status":{"$ref":"#/components/schemas/RoutingPlanStatusReasonStatus"}},"required":["reason","status"],"title":"RoutingPlanStatusReason"},"RoutingPlanStatusReasonReason":{"enum":["REROUTE_AFTER_SHORTPICK","MANUALLY_REROUTED","MANUALLY_ASSIGNED","ORDER_MODIFIED"],"type":"string","title":"RoutingPlanStatusReasonReason","description":"RoutingPlanStatusReasonReason"},"RoutingPlanStatusReasonStatus":{"enum":["OBSOLETE"],"type":"string","title":"RoutingPlanStatusReasonStatus","description":"RoutingPlanStatusReasonStatus"},"TargetAddress":{"allOf":[{"$ref":"#/components/schemas/ConsumerAddress"},{"properties":{"facilityRef":{"description":"The id of the facility reference. The given ID has to be present in the system.","type":"string"},"tenantFacilityId":{"description":"The tenantFacilityId of the facility. The given ID has to be present in the system.","type":"string"}},"type":"object"}],"type":"object","title":"TargetAddress","description":"TargetAddress"},"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"},"DeliveryEventTargetAddress":{"properties":{"deliveryEvent":{"$ref":"#/components/schemas/DeliveryEvent"},"facilityRef":{"type":"string"},"targetAddress":{"$ref":"#/components/schemas/TargetAddress"}},"required":["facilityRef","targetAddress","deliveryEvent"],"type":"object","title":"DeliveryEventTargetAddress","description":"DeliveryEventTargetAddress"},"Transfer":{"properties":{"transferId":{"type":"string"},"transferType":{"enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["transferId","transferType"],"title":"Transfer","description":"Transfer"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"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/routingplans":{"get":{"description":"","operationId":"getRoutingPlanBaseOnOrderRef","parameters":[{"description":"Reference to the order you want to get the corresponding routing plan.","in":"query","name":"orderRef","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingPlans"}}},"description":"Routing plan was found & you were allowed to access it. 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"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found, please look at details."}},"summary":"List routing plans","tags":["Routing Plans (DOMS)"]}}}}
```

## GET /api/routingplans/{routingplanId}

> Get routing plan

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).","name":"Routing Plans (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":{"RoutingPlan":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"activeConfig":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"childRoutingPlanRef":{"type":"string"},"consolidatedStatus":{"$ref":"#/components/schemas/ConsolidatedRoutingPlanStatus"},"customServices":{"items":{"$ref":"#/components/schemas/CustomServiceReference"},"minItems":1,"type":"array"},"decisionLogs":{"items":{"$ref":"#/components/schemas/DecisionLogRef"},"type":"array"},"deliveryPreferences":{"$ref":"#/components/schemas/DeliveryPreferences"},"earliestPickingStart":{"$ref":"#/components/schemas/EarliestPickingStart"},"expectedLineItems":{"items":{"$ref":"#/components/schemas/ExpectedLineItem"},"type":"array"},"facilityBlackList":{"items":{"description":"Contains a list of facilities to ignore when rerouting happens.","type":"string"},"type":"array"},"facilityRef":{"description":"The id of the facility reference. The given ID has to be present in the system.","type":"string"},"fallbackRoutingAfterTimeInSeconds":{"description":"In case this routing plan has an active fallback facility configuration, this is the time in seconds after which the fallback routing will be attempted.","type":"number"},"finalizeRun":{"description":"The iteration through the finalizer process","minimum":0,"type":"number"},"firstRoutingAttempt":{"description":"The date of the first routing attempt.","format":"date-time","type":"string"},"history":{"items":{"$ref":"#/components/schemas/RoutingPlanHistory"},"type":"array"},"id":{"type":"string"},"latestPickingStart":{"$ref":"#/components/schemas/LatestPickingStart"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"orderLineItems":{"items":{"$ref":"#/components/schemas/RoutingPlanLineItem"},"type":"array"},"orderRef":{"description":"The id of the order that lead to the creation of this pickjob. Can be empty / not present when the pickjob was created without having an order.","type":"string"},"parentRoutingPlanRef":{"type":"string"},"pickJobRef":{"description":"The id of the pickjob that has been created from the routing plan.","type":"string"},"predecessorRerouteRoutingPlanRefs":{"description":"Refs of the predecessor routing plans, in the case of a reroute.","items":{"type":"string"},"type":"array"},"priority":{"description":"priority of return plan","minimum":0,"type":"number"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"provisioningTime":{"description":"The point in time by which the order is supposed to be provisioned.","format":"date-time","type":"string"},"rerouteDescription":{"$ref":"#/components/schemas/RerouteDescription"},"reRoutedFacilityRef":{"description":"The id of the facility the order was rerouted from.","type":"string"},"reRoutedPickJobRef":{"description":"The id of the original pickjob that was rerouted.","type":"string"},"reRoutedRoutingPlanRef":{"description":"The id of the original routingplan that was rerouted.","type":"string"},"reRouteReason":{"$ref":"#/components/schemas/RerouteReason"},"routingRun":{"description":"The iteration through the routing process","type":"number"},"runId":{"description":"ID of the routing run this plan was created in","type":"string"},"runType":{"description":"The rule type of a decision log entry","enum":["DEFAULT","REROUTE","ORDERSPLIT_ON_SHORTPICK","MANUAL_ASSIGNMENT","PROCESS_MANUALASSIGNMENT","REACTIVATION"],"type":"string"},"splitCount":{"default":0,"description":"The number of order splits that happened before this routingplan was created","minimum":0,"type":"number"},"status":{"$ref":"#/components/schemas/RoutingPlanStatus"},"statusHistory":{"deprecated":true,"description":"This part of the API is deprecated. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#deprecated\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />@deprecated\n For more detailed information, use the History field. Saves all status changes when creating or updating a routing plan","items":{"$ref":"#/components/schemas/RoutingPlanStatus"},"type":"array"},"statusReasons":{"items":{"$ref":"#/components/schemas/RoutingPlanStatusReason"},"type":"array"},"successorRerouteRoutingPlanRefs":{"description":"Refs of the succeeding routing plans, in the case of a reroute.","items":{"type":"string"},"type":"array"},"targetAddress":{"$ref":"#/components/schemas/TargetAddress"},"targetAddressesByDeliveryEvent":{"items":{"$ref":"#/components/schemas/DeliveryEventTargetAddress"},"type":"array"},"targetTimeBaseDate":{"description":"This date is used as base/start to calculate the target time date.","format":"date-time","type":"string"},"tenantOrderId":{"description":"The id of the order in the tenant system that lead to the creation of this routingplan.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/Transfer"},"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]}},"required":["id","orderDate","created","lastModified","version","orderRef","priority","status","consolidatedStatus","decisionLogs","routingRun","finalizeRun","processId","predecessorRerouteRoutingPlanRefs","successorRerouteRoutingPlanRefs","workflowInformation"],"type":"object","title":"RoutingPlan","description":"RoutingPlan"},"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"},"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"},"ConsolidatedRoutingPlanStatus":{"description":"This status consolidates many of the RoutingPlanStatus and offers\na more detailes explanation of what happened to the routing plan.","enum":["REROUTED","MANUALLY_REROUTED","ORDER_MODIFIED_REROUTED","PROCESS_ORDER_MODIFIED_REROUTED_THEN_NOT_ROUTABLE","PROCESS_ORDER_MODIFIED_REROUTED_THEN_REROUTED_AND_SPLIT","PROCESS_ORDER_MODIFIED_REROUTED_THEN_ROUTED","ROUTED","ROUTED_THEN_REROUTED","PROCESS_MANUAL_REROUTED_THEN_ROUTED","PROCESS_MANUAL_REROUTED_THEN_NOT_ROUTABLE","PROCESS_MANUAL_REROUTED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTED_THEN_ROUTED_TO_SAME_FACILITY","ROUTING_PLAN_SHORTPICKED_THEN_ROUTED_TO_SAME_FACILITY","ROUTING_PLAN_CREATED_THEN_ROUTING","ROUTING_PLAN_CREATED_THEN_PLANNED","ROUTING_PLAN_REROUTED_THEN_FAILED","FACILITY_MANUALLY_ASSIGNED_TO_PICKJOB_THEN_ROUTED","FACILITY_MANUALLY_ASSIGNED_TO_PROCESS_THEN_ROUTED","STOCK_UPDATE_RECEIVED_THEN_REACTIVATED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED","ROUTING_PLAN_SHORTPICKED_THEN_SPLIT","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED_TO_SAME_FACILITY","PICKJOB_REJECTED_THEN_REROUTED","PICKJOB_REJECTED_THEN_NOT_ROUTABLE","PICKJOB_REJECTED_THEN_ROUTED_AND_SPLIT","ROUTED_AND_SPLIT","OBSOLETE","OBSOLETE_WAS_MANUALLY_REROUTED","OBSOLETE_WAS_MANUALLY_ASSIGNED","OBSOLETE_WAS_SHORTPICKED","OBSOLETE_WAS_ROUTED","UNKNOWN","RETRYABLE","FAILED_REROUTE","ROUTED_THEN_CANCELED","ROUTED_AND_SPLIT_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_SPLIT_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_THEN_CANCELED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","FACILITY_MANUALLY_ASSIGNED_TO_PICKJOB_THEN_ROUTED_THEN_CANCELED","FACILITY_MANUALLY_ASSIGNED_TO_PROCESS_THEN_ROUTED_THEN_CANCELED","PROCESS_MANUAL_REROUTED_THEN_ROUTED_THEN_CANCELED","PROCESS_MANUAL_REROUTED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","CANCELED","NOT_ROUTABLE","NOT_ROUTABLE_WAS_MANUALLY_REROUTED","NOT_ROUTABLE_WAS_MANUALLY_ASSIGNED","WAITING","WAITING_WAS_MANUALLY_REROUTED","WAITING_WAS_MANUALLY_ASSIGNED","WAITING_AND_SPLIT","WAITING_THEN_ROUTED","WAITING_THEN_ROUTED_AND_SPLIT","WAITING_THEN_NOT_ROUTABLE","WAITING_THEN_WAITING_AND_SPLIT","LOCKED","INITIAL"],"type":"string","xml":{"name":"RealRoutingPlanStatus"},"title":"ConsolidatedRoutingPlanStatus"},"CustomServiceReference":{"properties":{"articleItems":{"items":{"$ref":"#/components/schemas/ArticleItem"},"type":"array"},"customServiceDefinition":{"$ref":"#/components/schemas/CustomServiceDefinition"},"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItem"},"type":"array"},"id":{"type":"string"}},"required":["customServiceDefinition","articleItems","customServiceItems","id"],"type":"object","title":"CustomServiceReference","description":"CustomServiceReference"},"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"},"CustomServiceItem":{"allOf":[{"$ref":"#/components/schemas/CustomServiceItemForCreation"}],"properties":{"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItem"},"type":"array"},"id":{"type":"string"}},"required":["id","customServiceItems","articleItems","customServiceDefinition"],"type":"object","title":"CustomServiceItem","description":"CustomServiceItem"},"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"},"DecisionLogRef":{"properties":{"routingRun":{"type":"number"},"url":{"description":"A reference to the finalizer decision log","type":"string"}},"required":["url","finalizeRun"],"type":"object","xml":{"name":"DecisionLogRef"},"title":"DecisionLogRef","description":"DecisionLogRef"},"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"},"EarliestPickingStart":{"allOf":[{"$ref":"#/components/schemas/PickingStartBase"}],"properties":{"earliestPickingStartDate":{"format":"date-time","type":"string"}},"required":["earliestPickingStartDate"],"type":"object","title":"EarliestPickingStart","description":"EarliestPickingStart"},"PickingStartBase":{"properties":{"carrierRef":{"type":"string"},"targetTime":{"format":"date-time","type":"string"}},"required":["targetTime"],"type":"object","title":"PickingStartBase","description":"PickingStartBase"},"ExpectedLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItem"}],"properties":{"facilityRef":{"type":"string"},"transferId":{"type":"string"}},"required":["facilityRef","transferId"],"title":"ExpectedLineItem","description":"ExpectedLineItem"},"OrderLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItemForCreation"},{"properties":{"id":{"description":"The id of this orderline. It is generated during creation automatically by the API and suits as the primary identifier of the described line.","type":"string"}},"required":["id"],"type":"object"}],"title":"OrderLineItem","description":"OrderLineItem"},"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"},"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"},"RoutingPlanHistory":{"properties":{"created":{"description":"Information about the time, when a routing plan status is set","format":"date-time","type":"string"},"status":{"$ref":"#/components/schemas/RoutingPlanStatus"}},"required":["status","created"],"title":"RoutingPlanHistory","description":"RoutingPlanHistory"},"RoutingPlanStatus":{"description":"A routing plan line initially has the status INITIAL. Final state is ROUTED","enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string","xml":{"name":"RoutingPlanStatus"},"title":"RoutingPlanStatus"},"LatestPickingStart":{"allOf":[{"$ref":"#/components/schemas/PickingStartBase"}],"properties":{"latestPickingStartDate":{"format":"date-time","type":"string"}},"required":["latestPickingStartDate"],"type":"object","title":"LatestPickingStart","description":"LatestPickingStart"},"RoutingPlanLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItem"}],"properties":{"availabilityTimeframe":{"$ref":"#/components/schemas/AvailabilityTimeframe"},"available":{"type":"number"},"outOfStockBehaviour":{"$ref":"#/components/schemas/OutOfStockBehaviour"},"picked":{"type":"number"},"pieces":{"description":"@deprecated This property has been deprecated and has no meaning.","items":{"$ref":"#/components/schemas/RoutingPlanLineItemPiece"},"type":"array"}},"title":"RoutingPlanLineItem","description":"RoutingPlanLineItem"},"AvailabilityTimeframe":{"properties":{"start":{"format":"date-time","type":"string"}},"type":"object","title":"AvailabilityTimeframe","description":"AvailabilityTimeframe"},"OutOfStockBehaviour":{"description":"The PREORDER and RESTOCK can be only set, when the depending outOfStockConfig is provided.\nAlso PREORDER and RESTOCK values are 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 />","enum":["NONE","BACKORDER","PREORDER","RESTOCK","PREORDER_AND_RESTOCK"],"type":"string","title":"OutOfStockBehaviour"},"RoutingPlanLineItemPiece":{"properties":{"available":{"type":"number"},"location":{"$ref":"#/components/schemas/Location"},"mandatoryScore":{"type":"number"},"partialStockRef":{"type":"string"},"picked":{"type":"number"},"quantity":{"type":"number"},"sequenceScore":{"type":"number"}},"type":"object","title":"RoutingPlanLineItemPiece","description":"RoutingPlanLineItemPiece"},"Location":{"properties":{"locationRef":{"description":"The id of the location","type":"string"},"scannableCodes":{"description":"Represents barcodes that may be scanned at this location","items":{"type":"string"},"type":"array"}},"xml":{"name":"Location"},"title":"Location","description":"Location"},"RerouteDescription":{"allOf":[{"$ref":"#/components/schemas/AbstractReason"}],"properties":{"action":{"enum":["REROUTE"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"RerouteDescription"},"title":"RerouteDescription","description":"RerouteDescription"},"AbstractReason":{"allOf":[{"$ref":"#/components/schemas/AbstractReasonForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"action":{"description":"The action this reason can be attached to.","type":"string"},"id":{"description":"The id of the Reason","type":"string"}},"required":["id","action"],"type":"object","xml":{"name":"AbstractReason"},"title":"AbstractReason","description":"AbstractReason"},"AbstractReasonForCreation":{"additionalProperties":false,"properties":{"reasonLocalized":{"$ref":"#/components/schemas/LocaleString"},"reason":{"description":"Text explaining the reason for a supported action.","type":"string"}},"required":["reason","reasonLocalized"],"type":"object","xml":{"name":"AbstractReasonForCreation"},"title":"AbstractReasonForCreation","description":"AbstractReasonForCreation"},"RerouteReason":{"enum":["ORDERMODIFIED","PROCESSREROUTE","MANUAL","SHORTPICK","TIMETRIGGERED","STOCKZEROED","ABORTED","RECALCULATION"],"type":"string","title":"RerouteReason","description":"RerouteReason"},"RoutingPlanStatusReason":{"description":"Obsolete Status Reason","properties":{"reason":{"$ref":"#/components/schemas/RoutingPlanStatusReasonReason"},"status":{"$ref":"#/components/schemas/RoutingPlanStatusReasonStatus"}},"required":["reason","status"],"title":"RoutingPlanStatusReason"},"RoutingPlanStatusReasonReason":{"enum":["REROUTE_AFTER_SHORTPICK","MANUALLY_REROUTED","MANUALLY_ASSIGNED","ORDER_MODIFIED"],"type":"string","title":"RoutingPlanStatusReasonReason","description":"RoutingPlanStatusReasonReason"},"RoutingPlanStatusReasonStatus":{"enum":["OBSOLETE"],"type":"string","title":"RoutingPlanStatusReasonStatus","description":"RoutingPlanStatusReasonStatus"},"TargetAddress":{"allOf":[{"$ref":"#/components/schemas/ConsumerAddress"},{"properties":{"facilityRef":{"description":"The id of the facility reference. The given ID has to be present in the system.","type":"string"},"tenantFacilityId":{"description":"The tenantFacilityId of the facility. The given ID has to be present in the system.","type":"string"}},"type":"object"}],"type":"object","title":"TargetAddress","description":"TargetAddress"},"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"},"DeliveryEventTargetAddress":{"properties":{"deliveryEvent":{"$ref":"#/components/schemas/DeliveryEvent"},"facilityRef":{"type":"string"},"targetAddress":{"$ref":"#/components/schemas/TargetAddress"}},"required":["facilityRef","targetAddress","deliveryEvent"],"type":"object","title":"DeliveryEventTargetAddress","description":"DeliveryEventTargetAddress"},"Transfer":{"properties":{"transferId":{"type":"string"},"transferType":{"enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["transferId","transferType"],"title":"Transfer","description":"Transfer"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"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/routingplans/{routingplanId}":{"get":{"description":"","operationId":"getRoutingPlan","parameters":[{"description":"ID of the routing plan want to get","in":"path","name":"routingplanId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingPlan"}}},"description":"Routing plan was found & you were allowed to access it. 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"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Not found, please look at details."}},"summary":"Get routing plan","tags":["Routing Plans (DOMS)"]}}}}
```

## PATCH /api/routingplans/{routingplanId}

> Update routing plan

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).","name":"Routing Plans (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":{"RoutingPlanPatchActions":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/ModifyRoutingPlanAction"},"minItems":1,"type":"array"},"version":{"description":"The version of the document to be used in optimistic locking mechanisms.","format":"int64","type":"integer"}},"required":["version","actions"],"type":"object","xml":{"name":"RoutingPlanPatchActions"},"title":"RoutingPlanPatchActions","description":"RoutingPlanPatchActions"},"ModifyRoutingPlanAction":{"allOf":[{"$ref":"#/components/schemas/AbstractModificationAction"},{"additionalProperties":false,"properties":{"action":{"description":"Use value 'ModifyRoutingPlan', because you want to modify a routing plan","enum":["ModifyRoutingPlan"],"type":"string"},"facilityRef":{"description":"The id of the facility reference. The given ID has to be present in the system.","type":"string"},"status":{"$ref":"#/components/schemas/RoutingPlanStatus"}},"required":["action"],"type":"object"}],"xml":{"name":"ModifyRoutingPlanAction"},"title":"ModifyRoutingPlanAction","description":"ModifyRoutingPlanAction"},"AbstractModificationAction":{"discriminator":{"propertyName":"action"},"properties":{"action":{"description":"","enum":["AddAllowedValueToTag","ModifyPickJob","ModifyPickJobLastEditor","RestartPickJob","ResetPickJob","CancelPickRun","CancelHandoverjob","AbortPickJob","FinishPickRun","StartPickRun","ModifyPickLineItem","ModifyPickRunLineItem","ModifyPackJob","PausePackJob","ModifyPackLineItem","SplitLineItemsPackJob","ModifyFacility","ModifyListing","ModifyRetainedOfflineStock","ModifyListingReactivationAfter","ModifyUser","ModifyShipment","ModifyHandoverjob","ModifyCarrier","ModifyShortpick","ModifyRoutingPlan","ModifyFence","ModifyRating","ModifyTimingMode","ModifyGlobalRoutingConfiguration","ModifyOrderSplit","ModifyPrioritization","ModifyLoadUnitType","ModifyFeature","ModifyParcel","ModifyParcelLoadUnit","ModifyRestowItem","RemovePickJobFromPickRun","ModifyPartialStock","AddTagsToProcess","AssignFacilityToProcess","UpdateGdprCleanupDateAction","ModifyStorageLocation","ModifyPackingContainerType","ModifyPackingContainerTypeIcon","ReplaceCodesInPackingTargetContainer","ReplaceLoadUnitLineItems","AddLineItemToPackingTargetContainer","RemoveLineItemFromPackingTargetContainer","UpdateLineItemOnPackingTargetContainer","UpdatePackingTargetContainerLineItemRecordableAttributes","ModifyCustomService","UnlockOrder"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"AbstractModificationAction"},"title":"AbstractModificationAction","description":"AbstractModificationAction"},"RoutingPlanStatus":{"description":"A routing plan line initially has the status INITIAL. Final state is ROUTED","enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string","xml":{"name":"RoutingPlanStatus"},"title":"RoutingPlanStatus"},"RoutingPlan":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"activeConfig":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"childRoutingPlanRef":{"type":"string"},"consolidatedStatus":{"$ref":"#/components/schemas/ConsolidatedRoutingPlanStatus"},"customServices":{"items":{"$ref":"#/components/schemas/CustomServiceReference"},"minItems":1,"type":"array"},"decisionLogs":{"items":{"$ref":"#/components/schemas/DecisionLogRef"},"type":"array"},"deliveryPreferences":{"$ref":"#/components/schemas/DeliveryPreferences"},"earliestPickingStart":{"$ref":"#/components/schemas/EarliestPickingStart"},"expectedLineItems":{"items":{"$ref":"#/components/schemas/ExpectedLineItem"},"type":"array"},"facilityBlackList":{"items":{"description":"Contains a list of facilities to ignore when rerouting happens.","type":"string"},"type":"array"},"facilityRef":{"description":"The id of the facility reference. The given ID has to be present in the system.","type":"string"},"fallbackRoutingAfterTimeInSeconds":{"description":"In case this routing plan has an active fallback facility configuration, this is the time in seconds after which the fallback routing will be attempted.","type":"number"},"finalizeRun":{"description":"The iteration through the finalizer process","minimum":0,"type":"number"},"firstRoutingAttempt":{"description":"The date of the first routing attempt.","format":"date-time","type":"string"},"history":{"items":{"$ref":"#/components/schemas/RoutingPlanHistory"},"type":"array"},"id":{"type":"string"},"latestPickingStart":{"$ref":"#/components/schemas/LatestPickingStart"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"orderLineItems":{"items":{"$ref":"#/components/schemas/RoutingPlanLineItem"},"type":"array"},"orderRef":{"description":"The id of the order that lead to the creation of this pickjob. Can be empty / not present when the pickjob was created without having an order.","type":"string"},"parentRoutingPlanRef":{"type":"string"},"pickJobRef":{"description":"The id of the pickjob that has been created from the routing plan.","type":"string"},"predecessorRerouteRoutingPlanRefs":{"description":"Refs of the predecessor routing plans, in the case of a reroute.","items":{"type":"string"},"type":"array"},"priority":{"description":"priority of return plan","minimum":0,"type":"number"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"provisioningTime":{"description":"The point in time by which the order is supposed to be provisioned.","format":"date-time","type":"string"},"rerouteDescription":{"$ref":"#/components/schemas/RerouteDescription"},"reRoutedFacilityRef":{"description":"The id of the facility the order was rerouted from.","type":"string"},"reRoutedPickJobRef":{"description":"The id of the original pickjob that was rerouted.","type":"string"},"reRoutedRoutingPlanRef":{"description":"The id of the original routingplan that was rerouted.","type":"string"},"reRouteReason":{"$ref":"#/components/schemas/RerouteReason"},"routingRun":{"description":"The iteration through the routing process","type":"number"},"runId":{"description":"ID of the routing run this plan was created in","type":"string"},"runType":{"description":"The rule type of a decision log entry","enum":["DEFAULT","REROUTE","ORDERSPLIT_ON_SHORTPICK","MANUAL_ASSIGNMENT","PROCESS_MANUALASSIGNMENT","REACTIVATION"],"type":"string"},"splitCount":{"default":0,"description":"The number of order splits that happened before this routingplan was created","minimum":0,"type":"number"},"status":{"$ref":"#/components/schemas/RoutingPlanStatus"},"statusHistory":{"deprecated":true,"description":"This part of the API is deprecated. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#deprecated\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />@deprecated\n For more detailed information, use the History field. Saves all status changes when creating or updating a routing plan","items":{"$ref":"#/components/schemas/RoutingPlanStatus"},"type":"array"},"statusReasons":{"items":{"$ref":"#/components/schemas/RoutingPlanStatusReason"},"type":"array"},"successorRerouteRoutingPlanRefs":{"description":"Refs of the succeeding routing plans, in the case of a reroute.","items":{"type":"string"},"type":"array"},"targetAddress":{"$ref":"#/components/schemas/TargetAddress"},"targetAddressesByDeliveryEvent":{"items":{"$ref":"#/components/schemas/DeliveryEventTargetAddress"},"type":"array"},"targetTimeBaseDate":{"description":"This date is used as base/start to calculate the target time date.","format":"date-time","type":"string"},"tenantOrderId":{"description":"The id of the order in the tenant system that lead to the creation of this routingplan.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/Transfer"},"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]}},"required":["id","orderDate","created","lastModified","version","orderRef","priority","status","consolidatedStatus","decisionLogs","routingRun","finalizeRun","processId","predecessorRerouteRoutingPlanRefs","successorRerouteRoutingPlanRefs","workflowInformation"],"type":"object","title":"RoutingPlan","description":"RoutingPlan"},"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"},"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"},"ConsolidatedRoutingPlanStatus":{"description":"This status consolidates many of the RoutingPlanStatus and offers\na more detailes explanation of what happened to the routing plan.","enum":["REROUTED","MANUALLY_REROUTED","ORDER_MODIFIED_REROUTED","PROCESS_ORDER_MODIFIED_REROUTED_THEN_NOT_ROUTABLE","PROCESS_ORDER_MODIFIED_REROUTED_THEN_REROUTED_AND_SPLIT","PROCESS_ORDER_MODIFIED_REROUTED_THEN_ROUTED","ROUTED","ROUTED_THEN_REROUTED","PROCESS_MANUAL_REROUTED_THEN_ROUTED","PROCESS_MANUAL_REROUTED_THEN_NOT_ROUTABLE","PROCESS_MANUAL_REROUTED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTED_THEN_ROUTED_TO_SAME_FACILITY","ROUTING_PLAN_SHORTPICKED_THEN_ROUTED_TO_SAME_FACILITY","ROUTING_PLAN_CREATED_THEN_ROUTING","ROUTING_PLAN_CREATED_THEN_PLANNED","ROUTING_PLAN_REROUTED_THEN_FAILED","FACILITY_MANUALLY_ASSIGNED_TO_PICKJOB_THEN_ROUTED","FACILITY_MANUALLY_ASSIGNED_TO_PROCESS_THEN_ROUTED","STOCK_UPDATE_RECEIVED_THEN_REACTIVATED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED","ROUTING_PLAN_SHORTPICKED_THEN_SPLIT","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED_TO_SAME_FACILITY","PICKJOB_REJECTED_THEN_REROUTED","PICKJOB_REJECTED_THEN_NOT_ROUTABLE","PICKJOB_REJECTED_THEN_ROUTED_AND_SPLIT","ROUTED_AND_SPLIT","OBSOLETE","OBSOLETE_WAS_MANUALLY_REROUTED","OBSOLETE_WAS_MANUALLY_ASSIGNED","OBSOLETE_WAS_SHORTPICKED","OBSOLETE_WAS_ROUTED","UNKNOWN","RETRYABLE","FAILED_REROUTE","ROUTED_THEN_CANCELED","ROUTED_AND_SPLIT_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_SPLIT_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_THEN_CANCELED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","FACILITY_MANUALLY_ASSIGNED_TO_PICKJOB_THEN_ROUTED_THEN_CANCELED","FACILITY_MANUALLY_ASSIGNED_TO_PROCESS_THEN_ROUTED_THEN_CANCELED","PROCESS_MANUAL_REROUTED_THEN_ROUTED_THEN_CANCELED","PROCESS_MANUAL_REROUTED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","CANCELED","NOT_ROUTABLE","NOT_ROUTABLE_WAS_MANUALLY_REROUTED","NOT_ROUTABLE_WAS_MANUALLY_ASSIGNED","WAITING","WAITING_WAS_MANUALLY_REROUTED","WAITING_WAS_MANUALLY_ASSIGNED","WAITING_AND_SPLIT","WAITING_THEN_ROUTED","WAITING_THEN_ROUTED_AND_SPLIT","WAITING_THEN_NOT_ROUTABLE","WAITING_THEN_WAITING_AND_SPLIT","LOCKED","INITIAL"],"type":"string","xml":{"name":"RealRoutingPlanStatus"},"title":"ConsolidatedRoutingPlanStatus"},"CustomServiceReference":{"properties":{"articleItems":{"items":{"$ref":"#/components/schemas/ArticleItem"},"type":"array"},"customServiceDefinition":{"$ref":"#/components/schemas/CustomServiceDefinition"},"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItem"},"type":"array"},"id":{"type":"string"}},"required":["customServiceDefinition","articleItems","customServiceItems","id"],"type":"object","title":"CustomServiceReference","description":"CustomServiceReference"},"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"},"CustomServiceItem":{"allOf":[{"$ref":"#/components/schemas/CustomServiceItemForCreation"}],"properties":{"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItem"},"type":"array"},"id":{"type":"string"}},"required":["id","customServiceItems","articleItems","customServiceDefinition"],"type":"object","title":"CustomServiceItem","description":"CustomServiceItem"},"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"},"DecisionLogRef":{"properties":{"routingRun":{"type":"number"},"url":{"description":"A reference to the finalizer decision log","type":"string"}},"required":["url","finalizeRun"],"type":"object","xml":{"name":"DecisionLogRef"},"title":"DecisionLogRef","description":"DecisionLogRef"},"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"},"EarliestPickingStart":{"allOf":[{"$ref":"#/components/schemas/PickingStartBase"}],"properties":{"earliestPickingStartDate":{"format":"date-time","type":"string"}},"required":["earliestPickingStartDate"],"type":"object","title":"EarliestPickingStart","description":"EarliestPickingStart"},"PickingStartBase":{"properties":{"carrierRef":{"type":"string"},"targetTime":{"format":"date-time","type":"string"}},"required":["targetTime"],"type":"object","title":"PickingStartBase","description":"PickingStartBase"},"ExpectedLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItem"}],"properties":{"facilityRef":{"type":"string"},"transferId":{"type":"string"}},"required":["facilityRef","transferId"],"title":"ExpectedLineItem","description":"ExpectedLineItem"},"OrderLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItemForCreation"},{"properties":{"id":{"description":"The id of this orderline. It is generated during creation automatically by the API and suits as the primary identifier of the described line.","type":"string"}},"required":["id"],"type":"object"}],"title":"OrderLineItem","description":"OrderLineItem"},"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"},"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"},"RoutingPlanHistory":{"properties":{"created":{"description":"Information about the time, when a routing plan status is set","format":"date-time","type":"string"},"status":{"$ref":"#/components/schemas/RoutingPlanStatus"}},"required":["status","created"],"title":"RoutingPlanHistory","description":"RoutingPlanHistory"},"LatestPickingStart":{"allOf":[{"$ref":"#/components/schemas/PickingStartBase"}],"properties":{"latestPickingStartDate":{"format":"date-time","type":"string"}},"required":["latestPickingStartDate"],"type":"object","title":"LatestPickingStart","description":"LatestPickingStart"},"RoutingPlanLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItem"}],"properties":{"availabilityTimeframe":{"$ref":"#/components/schemas/AvailabilityTimeframe"},"available":{"type":"number"},"outOfStockBehaviour":{"$ref":"#/components/schemas/OutOfStockBehaviour"},"picked":{"type":"number"},"pieces":{"description":"@deprecated This property has been deprecated and has no meaning.","items":{"$ref":"#/components/schemas/RoutingPlanLineItemPiece"},"type":"array"}},"title":"RoutingPlanLineItem","description":"RoutingPlanLineItem"},"AvailabilityTimeframe":{"properties":{"start":{"format":"date-time","type":"string"}},"type":"object","title":"AvailabilityTimeframe","description":"AvailabilityTimeframe"},"OutOfStockBehaviour":{"description":"The PREORDER and RESTOCK can be only set, when the depending outOfStockConfig is provided.\nAlso PREORDER and RESTOCK values are 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 />","enum":["NONE","BACKORDER","PREORDER","RESTOCK","PREORDER_AND_RESTOCK"],"type":"string","title":"OutOfStockBehaviour"},"RoutingPlanLineItemPiece":{"properties":{"available":{"type":"number"},"location":{"$ref":"#/components/schemas/Location"},"mandatoryScore":{"type":"number"},"partialStockRef":{"type":"string"},"picked":{"type":"number"},"quantity":{"type":"number"},"sequenceScore":{"type":"number"}},"type":"object","title":"RoutingPlanLineItemPiece","description":"RoutingPlanLineItemPiece"},"Location":{"properties":{"locationRef":{"description":"The id of the location","type":"string"},"scannableCodes":{"description":"Represents barcodes that may be scanned at this location","items":{"type":"string"},"type":"array"}},"xml":{"name":"Location"},"title":"Location","description":"Location"},"RerouteDescription":{"allOf":[{"$ref":"#/components/schemas/AbstractReason"}],"properties":{"action":{"enum":["REROUTE"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"RerouteDescription"},"title":"RerouteDescription","description":"RerouteDescription"},"AbstractReason":{"allOf":[{"$ref":"#/components/schemas/AbstractReasonForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"action":{"description":"The action this reason can be attached to.","type":"string"},"id":{"description":"The id of the Reason","type":"string"}},"required":["id","action"],"type":"object","xml":{"name":"AbstractReason"},"title":"AbstractReason","description":"AbstractReason"},"AbstractReasonForCreation":{"additionalProperties":false,"properties":{"reasonLocalized":{"$ref":"#/components/schemas/LocaleString"},"reason":{"description":"Text explaining the reason for a supported action.","type":"string"}},"required":["reason","reasonLocalized"],"type":"object","xml":{"name":"AbstractReasonForCreation"},"title":"AbstractReasonForCreation","description":"AbstractReasonForCreation"},"RerouteReason":{"enum":["ORDERMODIFIED","PROCESSREROUTE","MANUAL","SHORTPICK","TIMETRIGGERED","STOCKZEROED","ABORTED","RECALCULATION"],"type":"string","title":"RerouteReason","description":"RerouteReason"},"RoutingPlanStatusReason":{"description":"Obsolete Status Reason","properties":{"reason":{"$ref":"#/components/schemas/RoutingPlanStatusReasonReason"},"status":{"$ref":"#/components/schemas/RoutingPlanStatusReasonStatus"}},"required":["reason","status"],"title":"RoutingPlanStatusReason"},"RoutingPlanStatusReasonReason":{"enum":["REROUTE_AFTER_SHORTPICK","MANUALLY_REROUTED","MANUALLY_ASSIGNED","ORDER_MODIFIED"],"type":"string","title":"RoutingPlanStatusReasonReason","description":"RoutingPlanStatusReasonReason"},"RoutingPlanStatusReasonStatus":{"enum":["OBSOLETE"],"type":"string","title":"RoutingPlanStatusReasonStatus","description":"RoutingPlanStatusReasonStatus"},"TargetAddress":{"allOf":[{"$ref":"#/components/schemas/ConsumerAddress"},{"properties":{"facilityRef":{"description":"The id of the facility reference. The given ID has to be present in the system.","type":"string"},"tenantFacilityId":{"description":"The tenantFacilityId of the facility. The given ID has to be present in the system.","type":"string"}},"type":"object"}],"type":"object","title":"TargetAddress","description":"TargetAddress"},"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"},"DeliveryEventTargetAddress":{"properties":{"deliveryEvent":{"$ref":"#/components/schemas/DeliveryEvent"},"facilityRef":{"type":"string"},"targetAddress":{"$ref":"#/components/schemas/TargetAddress"}},"required":["facilityRef","targetAddress","deliveryEvent"],"type":"object","title":"DeliveryEventTargetAddress","description":"DeliveryEventTargetAddress"},"Transfer":{"properties":{"transferId":{"type":"string"},"transferType":{"enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["transferId","transferType"],"title":"Transfer","description":"Transfer"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"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/routingplans/{routingplanId}":{"patch":{"description":"","operationId":"patchRoutingPlan","parameters":[{"description":"ID of routing plan you want to patch","in":"path","name":"routingplanId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingPlanPatchActions"}}},"description":"Patch set","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingPlan"}}},"description":"Routing plan was found & patch-set has been applied. The patched entity 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"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found, for more information please look at details."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity version conflict"}},"summary":"Update routing plan","tags":["Routing Plans (DOMS)"]}}}}
```

## GET /api/routingplans/{routingplanId}/decisionlogs/{routingRun}

> List routing plan decision log

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).","name":"Routing Plans (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":{"DecisionLog":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"facilityDecisions":{"items":{"$ref":"#/components/schemas/FacilityDecision"},"type":"array"},"id":{"type":"string"},"latestPickingStartHints":{"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 />In case no LPS could be calculated for this facility, the possible causes will be listed in this array. This property is an alpha property and still under development","type":"object"},"orderSplitDecision":{"$ref":"#/components/schemas/OrderSplitDecision"},"results":{"$ref":"#/components/schemas/RoutingResults"},"routingPlanRef":{"type":"string"},"routingRun":{"type":"number"},"routingStrategyEvaluationResult":{"$ref":"#/components/schemas/RoutingStrategyEvaluationResult"},"statistics":{"$ref":"#/components/schemas/RoutingStatistics"}},"required":["id","routingPlanRef","facilityDecisions","routingRun","statistics","results","created","lastModified","version"],"type":"object","xml":{"name":"DecisionLog"},"title":"DecisionLog","description":"DecisionLog"},"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"},"FacilityDecision":{"properties":{"availabilities":{"items":{"$ref":"#/components/schemas/AvailabilityDuringRouting"},"type":"array"},"facility":{"$ref":"#/components/schemas/DecisionLogFacilityInfo"},"isBestAvailable":{"type":"boolean"},"isBestRated":{"type":"boolean"},"isBestReassignmentCandidate":{"type":"boolean"},"latestPickingStartInformation":{"$ref":"#/components/schemas/LatestPickingStartForDecisionLog"},"orderFences":{"items":{"$ref":"#/components/schemas/OrderFenceDecision"},"type":"array"},"orderLineItemFences":{"items":{"$ref":"#/components/schemas/OrderLineItemFenceDecisions"},"type":"array"},"orderRatings":{"items":{"$ref":"#/components/schemas/OrderRatingDecision"},"type":"array"},"rank":{"type":"number"},"totalPenalty":{"type":"number"}},"required":["facility","orderFences","orderLineItemFences","orderRatings","orderLineItemRatings","availabilities"],"title":"FacilityDecision","description":"FacilityDecision"},"AvailabilityDuringRouting":{"properties":{"articleTitle":{"type":"string"},"available":{"type":"number"},"availablePostRerouteAdjustment":{"type":"number"},"bundleInformation":{"items":{"$ref":"#/components/schemas/BundleInformation"},"type":"array"},"isBackOrderable":{"default":false,"type":"boolean"},"preOrderDate":{"format":"date-time","type":"string"},"requestedQuantity":{"type":"number"},"rerouteInformation":{"$ref":"#/components/schemas/AvailabilityDuringRerouteStock"},"tenantArticleId":{"type":"string"}},"required":["tenantArticleId","requestedQuantity","available","isBackOrderable"],"title":"AvailabilityDuringRouting","description":"AvailabilityDuringRouting"},"BundleInformation":{"properties":{"customServiceNodeId":{"type":"string"},"requestedQuantity":{"type":"number"}},"required":["customServiceNodeId","requestedQuantity"],"title":"BundleInformation","description":"BundleInformation"},"AvailabilityDuringRerouteStock":{"properties":{"pickedQuantity":{"type":"number"},"rerouteReason":{"$ref":"#/components/schemas/RerouteReason"}},"title":"AvailabilityDuringRerouteStock","description":"AvailabilityDuringRerouteStock"},"RerouteReason":{"enum":["ORDERMODIFIED","PROCESSREROUTE","MANUAL","SHORTPICK","TIMETRIGGERED","STOCKZEROED","ABORTED","RECALCULATION"],"type":"string","title":"RerouteReason","description":"RerouteReason"},"DecisionLogFacilityInfo":{"properties":{"facilityRef":{"type":"string"},"name":{"type":"string"}},"required":["name","facilityRef"],"title":"DecisionLogFacilityInfo","description":"DecisionLogFacilityInfo"},"LatestPickingStartForDecisionLog":{"properties":{"carrierRef":{"type":"string"},"latestPickingStartDate":{"format":"date-time","type":"string"},"lpsCalculationHints":{"description":"@deprecated, use hints","items":{"type":"string"},"type":"array"},"targetTime":{"format":"date-time","type":"string"}},"type":"object","title":"LatestPickingStartForDecisionLog","description":"LatestPickingStartForDecisionLog"},"OrderFenceDecision":{"properties":{"decision":{"$ref":"#/components/schemas/FenceResultStatus"},"details":{"items":{"anyOf":[{"$ref":"#/components/schemas/OrderFenceDecisionDetail"},{"$ref":"#/components/schemas/ToolkitDecisionDetail"},{"$ref":"#/components/schemas/ToolkitComparisonDecisionDetail"}]},"type":"array"},"name":{"type":"string"}},"required":["name","decision","details"],"type":"object","title":"OrderFenceDecision","description":"OrderFenceDecision"},"FenceResultStatus":{"enum":["FAILED","PASSED","REACTIVE_PASSING_POSSIBLE"],"title":"FenceResultStatus","description":"FenceResultStatus"},"OrderFenceDecisionDetail":{"allOf":[{"$ref":"#/components/schemas/BaseDecisionDetail"}],"description":"Order Fence Decision Detail.","properties":{"actualValue":{"type":"string"},"contextReference":{"$ref":"#/components/schemas/ContextReference"},"expectedValue":{"type":"string"},"reactiveErrorReason":{"$ref":"#/components/schemas/ReactiveErrorReason"}},"required":["expectedValue","decisionType"],"title":"OrderFenceDecisionDetail"},"BaseDecisionDetail":{"properties":{"decisionType":{"$ref":"#/components/schemas/DecisionType"}},"required":["decisionType"],"title":"BaseDecisionDetail","description":"BaseDecisionDetail"},"DecisionType":{"enum":["FENCE","TOOLKIT","TOOLKITCOMPARISON","RATING"],"title":"DecisionType","description":"DecisionType"},"ContextReference":{"properties":{"reference":{"type":"string"},"routingDecisionContext":{"$ref":"#/components/schemas/RoutingDecisionContext"}},"required":["reference","routingDecisionContext"],"title":"ContextReference","description":"ContextReference"},"RoutingDecisionContext":{"enum":["LISTING","CARRIER"],"title":"RoutingDecisionContext","description":"RoutingDecisionContext"},"ReactiveErrorReason":{"enum":["BACKORDER_LISTING","PREORDER_LISTING"],"title":"ReactiveErrorReason","description":"ReactiveErrorReason"},"ToolkitDecisionDetail":{"allOf":[{"$ref":"#/components/schemas/BaseDecisionDetail"}],"description":"Toolkit Decision Detail.","properties":{"comparisonOperator":{"$ref":"#/components/schemas/ToolkitRuleComparisonOperatorType"},"description":{"type":"string"},"explanation":{"$ref":"#/components/schemas/ToolkitRuleOperatorResultExplanation"},"leftPredicatesDetail":{"$ref":"#/components/schemas/ToolkitPredicatesDecisionDetail"},"leftSideEvaluation":{"type":"boolean"},"rightPredicatesDetail":{"$ref":"#/components/schemas/ToolkitPredicatesDecisionDetail"},"rightSideEvaluation":{"type":"boolean"}},"required":["decisionType","leftSideEvaluation","description"],"title":"ToolkitDecisionDetail"},"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"},"ToolkitRuleOperatorResultExplanation":{"enum":["SKIPPED","BOTH_CONDITIONS_MET","ONLY_FIRST_CONDITION_MET","ONLY_SECOND_CONDITION_MET","SKIPPED_BECAUSE_OF_ERROR"],"title":"ToolkitRuleOperatorResultExplanation","description":"ToolkitRuleOperatorResultExplanation"},"ToolkitPredicatesDecisionDetail":{"properties":{"connector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolkitPredicateDecisionDetail"},"type":"array"}},"required":["connector","predicates"],"title":"ToolkitPredicatesDecisionDetail","description":"ToolkitPredicatesDecisionDetail"},"ToolkitPredicateConnector":{"description":"The allowed operators for connecting multiple predicates","enum":["OR","AND"],"type":"string","xml":{"name":"ToolkitPredicateConnector"},"title":"ToolkitPredicateConnector"},"ToolkitPredicateDecisionDetail":{"properties":{"evaluationResult":{"type":"boolean"},"originalValue":{"items":{"type":"string"},"type":"array"},"predicate":{"$ref":"#/components/schemas/ToolkitPredicate"},"transformedValue":{"items":{"type":"string"},"type":"array"}},"required":["originalValue","transformedValue","evaluationResult","predicate"],"title":"ToolkitPredicateDecisionDetail","description":"ToolkitPredicateDecisionDetail"},"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"},"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"},"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"},"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"},"ToolkitComparisonDecisionDetail":{"allOf":[{"$ref":"#/components/schemas/BaseDecisionDetail"}],"description":"Toolkit Comparison Decision Detail.","properties":{"description":{"type":"string"},"explanation":{"$ref":"#/components/schemas/ToolkitRuleComparePropertiesOperatorResultExplanation"},"predicateConnector":{"$ref":"#/components/schemas/ToolkitPredicateConnector"},"predicates":{"items":{"$ref":"#/components/schemas/ToolKitComparisonDetails"},"type":"array"}},"required":["predicates","predicateConnector","description"],"title":"ToolkitComparisonDecisionDetail"},"ToolkitRuleComparePropertiesOperatorResultExplanation":{"enum":["ALL_PREDICATES_MET","NOT_ALL_PREDICATES_MET","SKIPPED_BECAUSE_OF_ERROR"],"title":"ToolkitRuleComparePropertiesOperatorResultExplanation","description":"ToolkitRuleComparePropertiesOperatorResultExplanation"},"ToolKitComparisonDetails":{"properties":{"evaluationResult":{"type":"boolean"},"leftPart":{"$ref":"#/components/schemas/ToolKitComparisonPart"},"predicate":{"$ref":"#/components/schemas/ToolkitComparisonPredicate"},"rightPart":{"$ref":"#/components/schemas/ToolKitComparisonPart"}},"required":["leftPart","rightPart","evaluationResult","predicate"],"title":"ToolKitComparisonDetails","description":"ToolKitComparisonDetails"},"ToolKitComparisonPart":{"properties":{"originalValue":{"items":{"type":"string"},"type":"array"},"transformedValue":{"items":{"type":"string"},"type":"array"}},"required":["originalValue","transformedValue"],"title":"ToolKitComparisonPart","description":"ToolKitComparisonPart"},"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"},"OrderLineItemFenceDecisions":{"properties":{"name":{"type":"string"},"orderLineItems":{"items":{"$ref":"#/components/schemas/OrderLineItemFenceDecision"},"type":"array"}},"required":["name","orderLineItems"],"title":"OrderLineItemFenceDecisions","description":"OrderLineItemFenceDecisions"},"OrderLineItemFenceDecision":{"properties":{"articleTitle":{"type":"string"},"decision":{"$ref":"#/components/schemas/FenceResultStatus"},"details":{"items":{"anyOf":[{"$ref":"#/components/schemas/OrderFenceDecisionDetail"},{"$ref":"#/components/schemas/ToolkitDecisionDetail"},{"$ref":"#/components/schemas/ToolkitComparisonDecisionDetail"}]},"type":"array"},"reactiveErrorReason":{"$ref":"#/components/schemas/ReactiveErrorReason"},"tenantArticleId":{"type":"string"}},"required":["tenantArticleId","articleTitle","decision","details"],"type":"object","title":"OrderLineItemFenceDecision","description":"OrderLineItemFenceDecision"},"OrderRatingDecision":{"properties":{"details":{"items":{"anyOf":[{"$ref":"#/components/schemas/ToolkitDecisionDetail"},{"$ref":"#/components/schemas/ToolkitComparisonDecisionDetail"}]},"type":"array"},"maxPenalty":{"type":"number"},"name":{"type":"string"},"normalizedScore":{"type":"number"},"score":{"type":"number"}},"required":["name","normalizedScore","maxPenalty"],"type":"object","title":"OrderRatingDecision","description":"OrderRatingDecision"},"OrderSplitDecision":{"properties":{"reassignment":{"$ref":"#/components/schemas/ReassignmentInformation"},"split":{"$ref":"#/components/schemas/SplitInformation"},"splitType":{"$ref":"#/components/schemas/SplitResultType"}},"required":["splitType"],"title":"OrderSplitDecision","description":"OrderSplitDecision"},"ReassignmentInformation":{"properties":{"reassignedItems":{"items":{"$ref":"#/components/schemas/AssignmentItem"},"type":"array"},"sourceFacility":{"$ref":"#/components/schemas/DecisionLogFacilityInfo"}},"required":["sourceFacility","reassignedItems"],"title":"ReassignmentInformation","description":"ReassignmentInformation"},"AssignmentItem":{"properties":{"articleTitle":{"type":"string"},"quantity":{"type":"number"},"tenantArticleId":{"type":"string"}},"required":["tenantArticleId","quantity"],"title":"AssignmentItem","description":"AssignmentItem"},"SplitInformation":{"properties":{"splitCount":{"type":"number"},"splittedItems":{"items":{"$ref":"#/components/schemas/AssignmentItem"},"type":"array"},"targetFacility":{"$ref":"#/components/schemas/DecisionLogFacilityInfo"},"targetRoutingPlanRef":{"type":"string"}},"required":["splitCount","targetRoutingPlanRef","splittedItems"],"title":"SplitInformation","description":"SplitInformation"},"SplitResultType":{"enum":["SPLIT","DO_NOT_SPLIT","DO_NOT_SPLIT_USE_BEST_RATED","DO_NOT_SPLIT_BECAUSE_AVAILABILITY_USE_BEST_RATED","DO_NOT_SPLIT_USE_BEST_AVAILABLE","REASSIGN_TO_PARENT","REASSIGN_TO_PARENT_COMPLETELY","FAIL","INVALID_SPLIT","PARK_IN_WAITING_ROOM"],"title":"SplitResultType","description":"SplitResultType"},"RoutingResults":{"properties":{"assignedItems":{"items":{"$ref":"#/components/schemas/AssignmentItem"},"type":"array"},"bestAvailableFacility":{"$ref":"#/components/schemas/DecisionLogFacilityInfo"},"bestRatedFacility":{"$ref":"#/components/schemas/DecisionLogFacilityInfo"},"bestReassignmentFacility":{"$ref":"#/components/schemas/DecisionLogFacilityInfo"},"routingPlanStatus":{"$ref":"#/components/schemas/RoutingPlanStatus"}},"required":["assignedItems"],"title":"RoutingResults","description":"RoutingResults"},"RoutingPlanStatus":{"description":"A routing plan line initially has the status INITIAL. Final state is ROUTED","enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string","xml":{"name":"RoutingPlanStatus"},"title":"RoutingPlanStatus"},"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"},"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"},"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"},"RoutingStatistics":{"properties":{"durationMs":{"type":"number"},"fenceStatistics":{"items":{"$ref":"#/components/schemas/FenceStatistic"},"type":"array"},"ratingStatistics":{"items":{"$ref":"#/components/schemas/RatingStatistic"},"type":"array"}},"required":["fenceStatistics","ratingStatistics","lineItemFenceStatistics"],"title":"RoutingStatistics","description":"RoutingStatistics"},"FenceStatistic":{"properties":{"durationMs":{"description":"Duration in Milliseconds","type":"number"},"name":{"type":"string"},"passedAmount":{"type":"number"},"passedPercentage":{"type":"number"},"rejectedAmount":{"type":"number"}},"required":["name","rejectedAmount","passedAmount","passedPercentage","durationMs"],"title":"FenceStatistic","description":"FenceStatistic"},"RatingStatistic":{"properties":{"durationMs":{"description":"Duration in Milliseconds","type":"number"},"maxPenalty":{"type":"number"},"maxScore":{"type":"number"},"minScore":{"type":"number"},"name":{"type":"string"}},"required":["name","maxPenalty","durationMs"],"title":"RatingStatistic","description":"RatingStatistic"},"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/routingplans/{routingplanId}/decisionlogs/{routingRun}":{"get":{"description":"","operationId":"getDecisionlog","parameters":[{"description":"ID of the routing plan you want to get it's decision log","in":"path","name":"routingplanId","required":true,"schema":{"type":"string"}},{"description":"ID of the decision log you want to get","in":"path","name":"routingRun","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionLog"}}},"description":"Decision log was found."},"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":"Decision log not found"}},"summary":"List routing plan decision log","tags":["Routing Plans (DOMS)"]}}}}
```

## List routing plans (search)

> 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 />Search for RoutingPlan

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).","name":"Routing Plans (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":{"RoutingPlanSearchPayload":{"properties":{"after":{"deprecated":false,"description":"The cursor to start after for forward pagination. The value is provided in the `pageInfo.endCursor` field of the response. Cannot be used with `before` or `last`.","type":"string"},"before":{"description":"The cursor to start before for backward pagination. The value is provided in the `pageInfo.startCursor` field of the response. Cannot be used with `after` or `size` (first).","type":"string"},"last":{"description":"Number of items to return for backward pagination. Cannot be used with 'size' (first). Default: 20.","maximum":250,"minimum":1,"type":"number"},"options":{"$ref":"#/components/schemas/SearchOptions"},"query":{"$ref":"#/components/schemas/RoutingPlanSearchQuery"},"size":{"description":"Number of items to return for forward pagination. Cannot be used with 'last'. Default: 20.","maximum":250,"minimum":1,"type":"number"},"sort":{"description":"Use for sorting the result.","items":{"$ref":"#/components/schemas/RoutingPlanSort"},"maxItems":1,"minItems":1,"type":"array"},"startAfterId":{"deprecated":true,"description":"The ID to start after. Deprecated, use `after` with the value provided in `pageInfo.endCursor` instead.","type":"string"}},"required":["query"],"title":"RoutingPlanSearchPayload","type":"object","description":"RoutingPlanSearchPayload"},"SearchOptions":{"properties":{"withTotal":{"description":"Set to true to include the total count of items in the search result.","type":"boolean"}},"title":"SearchOptions","type":"object","description":"SearchOptions"},"RoutingPlanSearchQuery":{"properties":{"and":{"items":{"$ref":"#/components/schemas/RoutingPlanSearchQuery"},"maxItems":500,"type":"array"},"anonymized":{"allOf":[{"$ref":"#/components/schemas/BooleanFilter"}],"description":"Search by anonymized"},"customServices":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesListFilter"}],"description":"Nested list search by customServices"},"deliveryPreferences":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanDeliveryPreferencesFilter"}],"description":"Nested search by deliveryPreferences"},"earliestPickingStart":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanEarliestPickingStartFilter"}],"description":"Nested search by earliestPickingStart"},"history":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanHistoryListFilter"}],"description":"Nested list search by history"},"latestPickingStart":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanLatestPickingStartFilter"}],"description":"Nested search by latestPickingStart"},"or":{"items":{"$ref":"#/components/schemas/RoutingPlanSearchQuery"},"maxItems":500,"type":"array"},"orderDate":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search entries by orderDate. Applying a narrow and well-considered filter value is strongly recommended, as it can greatly improve response times, especially when working with large datasets."},"orderLineItems":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanOrderLineItemsListFilter"}],"description":"Nested list search by orderLineItems"},"orderRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by orderRef"},"pickJobRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by pickJobRef"},"priority":{"allOf":[{"$ref":"#/components/schemas/NumberFilter"}],"description":"Search by priority"},"processId":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by processId"},"provisioningTime":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by provisioningTime"},"reRouteReason":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by reRouteReason"},"splitCount":{"allOf":[{"$ref":"#/components/schemas/NumberFilter"}],"description":"Search by splitCount"},"status":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanStatusEnumFilter"}],"description":"Search by status"},"statusReasons":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanStatusReasonsListFilter"}],"description":"Nested list search by statusReasons"},"targetAddress":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanTargetAddressFilter"}],"description":"Nested search by targetAddress"}},"title":"RoutingPlanSearchQuery","type":"object","description":"RoutingPlanSearchQuery"},"BooleanFilter":{"properties":{"eq":{"type":"boolean"},"notEq":{"type":"boolean"}},"title":"BooleanFilter","type":"object","description":"BooleanFilter"},"RoutingPlanCustomServicesListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanCustomServicesListFilter","type":"object","description":"RoutingPlanCustomServicesListFilter"},"RoutingPlanCustomServicesFilter":{"properties":{"articleItems":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesArticleItemsListFilter"}],"description":"Nested list search by articleItems"},"customServiceDefinition":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesCustomServiceDefinitionFilter"}],"description":"Nested search by customServiceDefinition"},"customServiceItems":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesCustomServiceItemsListFilter"}],"description":"Nested list search by customServiceItems"}},"title":"RoutingPlanCustomServicesFilter","type":"object","description":"RoutingPlanCustomServicesFilter"},"RoutingPlanCustomServicesArticleItemsListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesArticleItemsFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanCustomServicesArticleItemsListFilter","type":"object","description":"RoutingPlanCustomServicesArticleItemsListFilter"},"RoutingPlanCustomServicesArticleItemsFilter":{"properties":{"tenantArticleRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by tenantArticleRef"}},"title":"RoutingPlanCustomServicesArticleItemsFilter","type":"object","description":"RoutingPlanCustomServicesArticleItemsFilter"},"StringFilter":{"properties":{"eq":{"maxLength":256,"type":"string"},"in":{"items":{"maxLength":256,"type":"string"},"maxItems":25,"type":"array"},"notEq":{"maxLength":256,"type":"string"},"notIn":{"items":{"maxLength":256,"type":"string"},"maxItems":25,"type":"array"}},"title":"StringFilter","type":"object","description":"StringFilter"},"RoutingPlanCustomServicesCustomServiceDefinitionFilter":{"properties":{"additionalInformation":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesCustomServiceDefinitionAdditionalInformationListFilter"}],"description":"Nested list search by additionalInformation"},"customServiceRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by customServiceRef"}},"title":"RoutingPlanCustomServicesCustomServiceDefinitionFilter","type":"object","description":"RoutingPlanCustomServicesCustomServiceDefinitionFilter"},"RoutingPlanCustomServicesCustomServiceDefinitionAdditionalInformationListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesCustomServiceDefinitionAdditionalInformationFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanCustomServicesCustomServiceDefinitionAdditionalInformationListFilter","type":"object","description":"RoutingPlanCustomServicesCustomServiceDefinitionAdditionalInformationListFilter"},"RoutingPlanCustomServicesCustomServiceDefinitionAdditionalInformationFilter":{"properties":{"additionalInformationRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by additionalInformationRef"}},"title":"RoutingPlanCustomServicesCustomServiceDefinitionAdditionalInformationFilter","type":"object","description":"RoutingPlanCustomServicesCustomServiceDefinitionAdditionalInformationFilter"},"RoutingPlanCustomServicesCustomServiceItemsListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesCustomServiceItemsFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanCustomServicesCustomServiceItemsListFilter","type":"object","description":"RoutingPlanCustomServicesCustomServiceItemsListFilter"},"RoutingPlanCustomServicesCustomServiceItemsFilter":{"properties":{"articleItems":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesCustomServiceItemsArticleItemsListFilter"}],"description":"Nested list search by articleItems"}},"title":"RoutingPlanCustomServicesCustomServiceItemsFilter","type":"object","description":"RoutingPlanCustomServicesCustomServiceItemsFilter"},"RoutingPlanCustomServicesCustomServiceItemsArticleItemsListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanCustomServicesCustomServiceItemsArticleItemsFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanCustomServicesCustomServiceItemsArticleItemsListFilter","type":"object","description":"RoutingPlanCustomServicesCustomServiceItemsArticleItemsListFilter"},"RoutingPlanCustomServicesCustomServiceItemsArticleItemsFilter":{"properties":{"tenantArticleRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by tenantArticleRef"}},"title":"RoutingPlanCustomServicesCustomServiceItemsArticleItemsFilter","type":"object","description":"RoutingPlanCustomServicesCustomServiceItemsArticleItemsFilter"},"RoutingPlanDeliveryPreferencesFilter":{"properties":{"collect":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanDeliveryPreferencesCollectListFilter"}],"description":"Nested list search by collect"},"shipping":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanDeliveryPreferencesShippingFilter"}],"description":"Nested search by shipping"},"supplyingFacilities":{"allOf":[{"$ref":"#/components/schemas/StringListFilter"}],"description":"Search by supplyingFacilities"},"targetTime":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by targetTime"}},"title":"RoutingPlanDeliveryPreferencesFilter","type":"object","description":"RoutingPlanDeliveryPreferencesFilter"},"RoutingPlanDeliveryPreferencesCollectListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanDeliveryPreferencesCollectFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanDeliveryPreferencesCollectListFilter","type":"object","description":"RoutingPlanDeliveryPreferencesCollectListFilter"},"RoutingPlanDeliveryPreferencesCollectFilter":{"properties":{"facilityRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by facilityRef"},"paid":{"allOf":[{"$ref":"#/components/schemas/BooleanFilter"}],"description":"Search by paid"},"supplyingFacilities":{"allOf":[{"$ref":"#/components/schemas/StringListFilter"}],"description":"Search by supplyingFacilities"}},"title":"RoutingPlanDeliveryPreferencesCollectFilter","type":"object","description":"RoutingPlanDeliveryPreferencesCollectFilter"},"StringListFilter":{"properties":{"contains":{"$ref":"#/components/schemas/StringEqFilter"}},"title":"StringListFilter","type":"object","description":"StringListFilter"},"StringEqFilter":{"properties":{"eq":{"maxLength":256,"type":"string"},"notEq":{"maxLength":256,"type":"string"}},"title":"StringEqFilter","type":"object","description":"StringEqFilter"},"RoutingPlanDeliveryPreferencesShippingFilter":{"properties":{"preferredCarriers":{"allOf":[{"$ref":"#/components/schemas/StringListFilter"}],"description":"Search by preferredCarriers"},"preferredCarriersWithProduct":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanDeliveryPreferencesShippingPreferredCarriersWithProductListFilter"}],"description":"Nested list search by preferredCarriersWithProduct"}},"title":"RoutingPlanDeliveryPreferencesShippingFilter","type":"object","description":"RoutingPlanDeliveryPreferencesShippingFilter"},"RoutingPlanDeliveryPreferencesShippingPreferredCarriersWithProductListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanDeliveryPreferencesShippingPreferredCarriersWithProductFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanDeliveryPreferencesShippingPreferredCarriersWithProductListFilter","type":"object","description":"RoutingPlanDeliveryPreferencesShippingPreferredCarriersWithProductListFilter"},"RoutingPlanDeliveryPreferencesShippingPreferredCarriersWithProductFilter":{"properties":{"carrierKey":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by carrierKey"}},"title":"RoutingPlanDeliveryPreferencesShippingPreferredCarriersWithProductFilter","type":"object","description":"RoutingPlanDeliveryPreferencesShippingPreferredCarriersWithProductFilter"},"DateFilter":{"properties":{"after":{"description":"Search using ISO‑8601 dates relative to today. Prefix with “–” for past dates. Results include events after the specified date. Example: “–P1D” for yesterday, “P1W” for next week.","maxLength":256,"type":"string"},"before":{"description":"Search using ISO‑8601 dates relative to today. Prefix with “–” for past dates. Results include events before the specified date. Example: “–P1D” for yesterday, “P1W” for next week.","maxLength":256,"type":"string"},"eq":{"format":"date-time","type":"string"},"gt":{"format":"date-time","type":"string"},"gte":{"format":"date-time","type":"string"},"lt":{"format":"date-time","type":"string"},"lte":{"format":"date-time","type":"string"},"notEq":{"format":"date-time","type":"string"}},"title":"DateFilter","type":"object","description":"DateFilter"},"RoutingPlanEarliestPickingStartFilter":{"properties":{"carrierRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by carrierRef"},"earliestPickingStartDate":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by earliestPickingStartDate"},"targetTime":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by targetTime"}},"title":"RoutingPlanEarliestPickingStartFilter","type":"object","description":"RoutingPlanEarliestPickingStartFilter"},"RoutingPlanHistoryListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanHistoryFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanHistoryListFilter","type":"object","description":"RoutingPlanHistoryListFilter"},"RoutingPlanHistoryFilter":{"properties":{"created":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search entries by created. Applying a narrow and well-considered filter value is strongly recommended, as it can greatly improve response times, especially when working with large datasets."},"status":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanHistoryRoutingPlanStatusEnumFilter"}],"description":"Search by status"}},"title":"RoutingPlanHistoryFilter","type":"object","description":"RoutingPlanHistoryFilter"},"RoutingPlanHistoryRoutingPlanStatusEnumFilter":{"properties":{"eq":{"description":"Search by status","enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string"},"in":{"description":"Search by status","items":{"enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string"},"maxItems":500,"type":"array"},"notEq":{"description":"Search by status","enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string"}},"title":"RoutingPlanHistoryRoutingPlanStatusEnumFilter","type":"object","description":"RoutingPlanHistoryRoutingPlanStatusEnumFilter"},"RoutingPlanLatestPickingStartFilter":{"properties":{"carrierRef":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by carrierRef"},"latestPickingStartDate":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by latestPickingStartDate"},"targetTime":{"allOf":[{"$ref":"#/components/schemas/DateFilter"}],"description":"Search by targetTime"}},"title":"RoutingPlanLatestPickingStartFilter","type":"object","description":"RoutingPlanLatestPickingStartFilter"},"RoutingPlanOrderLineItemsListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanOrderLineItemsFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanOrderLineItemsListFilter","type":"object","description":"RoutingPlanOrderLineItemsListFilter"},"RoutingPlanOrderLineItemsFilter":{"properties":{"id":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by id"}},"title":"RoutingPlanOrderLineItemsFilter","type":"object","description":"RoutingPlanOrderLineItemsFilter"},"NumberFilter":{"properties":{"eq":{"type":"number"},"gt":{"type":"number"},"gte":{"type":"number"},"in":{"items":{"type":"number"},"maxItems":25,"type":"array"},"lt":{"type":"number"},"lte":{"type":"number"},"notEq":{"type":"number"},"notIn":{"items":{"type":"number"},"maxItems":25,"type":"array"}},"title":"NumberFilter","type":"object","description":"NumberFilter"},"RoutingPlanStatusEnumFilter":{"properties":{"eq":{"description":"Search by status","enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string"},"in":{"description":"Search by status","items":{"enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string"},"maxItems":500,"type":"array"},"notEq":{"description":"Search by status","enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string"}},"title":"RoutingPlanStatusEnumFilter","type":"object","description":"RoutingPlanStatusEnumFilter"},"RoutingPlanStatusReasonsListFilter":{"properties":{"contains":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanStatusReasonsFilter"}],"description":"Contains returns if at least one entry matches"}},"title":"RoutingPlanStatusReasonsListFilter","type":"object","description":"RoutingPlanStatusReasonsListFilter"},"RoutingPlanStatusReasonsFilter":{"properties":{"reason":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanStatusReasonsRoutingPlanStatusReasonReasonEnumFilter"}],"description":"Search by reason"},"status":{"allOf":[{"$ref":"#/components/schemas/RoutingPlanStatusReasonsRoutingPlanStatusReasonStatusEnumFilter"}],"description":"Search by status"}},"title":"RoutingPlanStatusReasonsFilter","type":"object","description":"RoutingPlanStatusReasonsFilter"},"RoutingPlanStatusReasonsRoutingPlanStatusReasonReasonEnumFilter":{"properties":{"eq":{"description":"Search by reason","enum":["REROUTE_AFTER_SHORTPICK","MANUALLY_REROUTED","MANUALLY_ASSIGNED","ORDER_MODIFIED"],"type":"string"},"in":{"description":"Search by reason","items":{"enum":["REROUTE_AFTER_SHORTPICK","MANUALLY_REROUTED","MANUALLY_ASSIGNED","ORDER_MODIFIED"],"type":"string"},"maxItems":500,"type":"array"},"notEq":{"description":"Search by reason","enum":["REROUTE_AFTER_SHORTPICK","MANUALLY_REROUTED","MANUALLY_ASSIGNED","ORDER_MODIFIED"],"type":"string"}},"title":"RoutingPlanStatusReasonsRoutingPlanStatusReasonReasonEnumFilter","type":"object","description":"RoutingPlanStatusReasonsRoutingPlanStatusReasonReasonEnumFilter"},"RoutingPlanStatusReasonsRoutingPlanStatusReasonStatusEnumFilter":{"properties":{"eq":{"description":"Search by status","enum":["OBSOLETE"],"type":"string"},"in":{"description":"Search by status","items":{"enum":["OBSOLETE"],"type":"string"},"maxItems":500,"type":"array"},"notEq":{"description":"Search by status","enum":["OBSOLETE"],"type":"string"}},"title":"RoutingPlanStatusReasonsRoutingPlanStatusReasonStatusEnumFilter","type":"object","description":"RoutingPlanStatusReasonsRoutingPlanStatusReasonStatusEnumFilter"},"RoutingPlanTargetAddressFilter":{"properties":{"city":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by city"},"country":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by country"},"customAttributes":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/BooleanFilter"},{"$ref":"#/components/schemas/StringEqFilter"},{"$ref":"#/components/schemas/NumberEqFilter"},{"$ref":"#/components/schemas/DateFilter"}]},"description":"Search by custom attributes","type":"object"},"province":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by province"},"street":{"allOf":[{"$ref":"#/components/schemas/StringFilter"}],"description":"Search by street"}},"title":"RoutingPlanTargetAddressFilter","type":"object","description":"RoutingPlanTargetAddressFilter"},"NumberEqFilter":{"properties":{"eq":{"type":"number"},"gt":{"type":"number"},"gte":{"type":"number"},"lt":{"type":"number"},"lte":{"type":"number"},"notEq":{"type":"number"}},"title":"NumberEqFilter","type":"object","description":"NumberEqFilter"},"RoutingPlanSort":{"properties":{"anonymized":{"enum":["ASC","DESC"],"type":"string"},"orderDate":{"enum":["ASC","DESC"],"type":"string"},"orderRef":{"enum":["ASC","DESC"],"type":"string"},"processId":{"enum":["ASC","DESC"],"type":"string"},"provisioningTime":{"enum":["ASC","DESC"],"type":"string"},"status":{"enum":["ASC","DESC"],"type":"string"}},"title":"RoutingPlanSort","type":"object","description":"RoutingPlanSort"},"RoutingPlanPaginatedResult":{"properties":{"pageInfo":{"allOf":[{"$ref":"#/components/schemas/PageInfo"}],"description":"Pagination information for the search result."},"routingPlans":{"items":{"$ref":"#/components/schemas/RoutingPlan"},"type":"array"},"total":{"description":"The total number of items matching the search criteria. Only filled, if withTotal is set to true in the search options.","minimum":0,"type":"number"}},"required":["pageInfo","routingPlans"],"title":"RoutingPlanPaginatedResult","type":"object","description":"RoutingPlanPaginatedResult"},"PageInfo":{"properties":{"endCursor":{"description":"The cursor to use to fetch the next page of items. Use with parameter `after`.","type":"string"},"hasNextPage":{"description":"If true, there are more items after the current page.","type":"boolean"},"hasPreviousPage":{"description":"If true, there are more items before the current page.","type":"boolean"},"startCursor":{"description":"The cursor to use to fetch the previous page of items.","type":"string"}},"required":["hasNextPage","hasPreviousPage","startCursor","endCursor"],"title":"PageInfo","type":"object","description":"PageInfo"},"RoutingPlan":{"allOf":[{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"activeConfig":{"$ref":"#/components/schemas/RoutingStrategyNodeConfig"},"anonymized":{"description":"Indicates if gdpr related data was anonymized","type":"boolean"},"childRoutingPlanRef":{"type":"string"},"consolidatedStatus":{"$ref":"#/components/schemas/ConsolidatedRoutingPlanStatus"},"customServices":{"items":{"$ref":"#/components/schemas/CustomServiceReference"},"minItems":1,"type":"array"},"decisionLogs":{"items":{"$ref":"#/components/schemas/DecisionLogRef"},"type":"array"},"deliveryPreferences":{"$ref":"#/components/schemas/DeliveryPreferences"},"earliestPickingStart":{"$ref":"#/components/schemas/EarliestPickingStart"},"expectedLineItems":{"items":{"$ref":"#/components/schemas/ExpectedLineItem"},"type":"array"},"facilityBlackList":{"items":{"description":"Contains a list of facilities to ignore when rerouting happens.","type":"string"},"type":"array"},"facilityRef":{"description":"The id of the facility reference. The given ID has to be present in the system.","type":"string"},"fallbackRoutingAfterTimeInSeconds":{"description":"In case this routing plan has an active fallback facility configuration, this is the time in seconds after which the fallback routing will be attempted.","type":"number"},"finalizeRun":{"description":"The iteration through the finalizer process","minimum":0,"type":"number"},"firstRoutingAttempt":{"description":"The date of the first routing attempt.","format":"date-time","type":"string"},"history":{"items":{"$ref":"#/components/schemas/RoutingPlanHistory"},"type":"array"},"id":{"type":"string"},"latestPickingStart":{"$ref":"#/components/schemas/LatestPickingStart"},"orderDate":{"description":"The date this order was created at the supplying system.","format":"date-time","type":"string"},"orderLineItems":{"items":{"$ref":"#/components/schemas/RoutingPlanLineItem"},"type":"array"},"orderRef":{"description":"The id of the order that lead to the creation of this pickjob. Can be empty / not present when the pickjob was created without having an order.","type":"string"},"parentRoutingPlanRef":{"type":"string"},"pickJobRef":{"description":"The id of the pickjob that has been created from the routing plan.","type":"string"},"predecessorRerouteRoutingPlanRefs":{"description":"Refs of the predecessor routing plans, in the case of a reroute.","items":{"type":"string"},"type":"array"},"priority":{"description":"priority of return plan","minimum":0,"type":"number"},"processId":{"description":"Id of the global process related to this entity. For example used for starting the GDPR process and others.","type":"string"},"provisioningTime":{"description":"The point in time by which the order is supposed to be provisioned.","format":"date-time","type":"string"},"rerouteDescription":{"$ref":"#/components/schemas/RerouteDescription"},"reRoutedFacilityRef":{"description":"The id of the facility the order was rerouted from.","type":"string"},"reRoutedPickJobRef":{"description":"The id of the original pickjob that was rerouted.","type":"string"},"reRoutedRoutingPlanRef":{"description":"The id of the original routingplan that was rerouted.","type":"string"},"reRouteReason":{"$ref":"#/components/schemas/RerouteReason"},"routingRun":{"description":"The iteration through the routing process","type":"number"},"runId":{"description":"ID of the routing run this plan was created in","type":"string"},"runType":{"description":"The rule type of a decision log entry","enum":["DEFAULT","REROUTE","ORDERSPLIT_ON_SHORTPICK","MANUAL_ASSIGNMENT","PROCESS_MANUALASSIGNMENT","REACTIVATION"],"type":"string"},"splitCount":{"default":0,"description":"The number of order splits that happened before this routingplan was created","minimum":0,"type":"number"},"status":{"$ref":"#/components/schemas/RoutingPlanStatus"},"statusHistory":{"deprecated":true,"description":"This part of the API is deprecated. For details please check the <a href=\"https://docs.fulfillmenttools.com/documentation/developer-docs/api/core-concepts/api-release-life-cycle#deprecated\" target=\"_blank\">api-release-life-cycle documentation</a>.<br /><br />@deprecated\n For more detailed information, use the History field. Saves all status changes when creating or updating a routing plan","items":{"$ref":"#/components/schemas/RoutingPlanStatus"},"type":"array"},"statusReasons":{"items":{"$ref":"#/components/schemas/RoutingPlanStatusReason"},"type":"array"},"successorRerouteRoutingPlanRefs":{"description":"Refs of the succeeding routing plans, in the case of a reroute.","items":{"type":"string"},"type":"array"},"targetAddress":{"$ref":"#/components/schemas/TargetAddress"},"targetAddressesByDeliveryEvent":{"items":{"$ref":"#/components/schemas/DeliveryEventTargetAddress"},"type":"array"},"targetTimeBaseDate":{"description":"This date is used as base/start to calculate the target time date.","format":"date-time","type":"string"},"tenantOrderId":{"description":"The id of the order in the tenant system that lead to the creation of this routingplan.","type":"string"},"transfers":{"items":{"$ref":"#/components/schemas/Transfer"},"type":"array"},"workflowInformation":{"oneOf":[{"$ref":"#/components/schemas/WorkflowInformation"},{"$ref":"#/components/schemas/WorkflowUnavailable"}]}},"required":["id","orderDate","created","lastModified","version","orderRef","priority","status","consolidatedStatus","decisionLogs","routingRun","finalizeRun","processId","predecessorRerouteRoutingPlanRefs","successorRerouteRoutingPlanRefs","workflowInformation"],"type":"object","title":"RoutingPlan","description":"RoutingPlan"},"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"},"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"},"ConsolidatedRoutingPlanStatus":{"description":"This status consolidates many of the RoutingPlanStatus and offers\na more detailes explanation of what happened to the routing plan.","enum":["REROUTED","MANUALLY_REROUTED","ORDER_MODIFIED_REROUTED","PROCESS_ORDER_MODIFIED_REROUTED_THEN_NOT_ROUTABLE","PROCESS_ORDER_MODIFIED_REROUTED_THEN_REROUTED_AND_SPLIT","PROCESS_ORDER_MODIFIED_REROUTED_THEN_ROUTED","ROUTED","ROUTED_THEN_REROUTED","PROCESS_MANUAL_REROUTED_THEN_ROUTED","PROCESS_MANUAL_REROUTED_THEN_NOT_ROUTABLE","PROCESS_MANUAL_REROUTED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTED_THEN_ROUTED_TO_SAME_FACILITY","ROUTING_PLAN_SHORTPICKED_THEN_ROUTED_TO_SAME_FACILITY","ROUTING_PLAN_CREATED_THEN_ROUTING","ROUTING_PLAN_CREATED_THEN_PLANNED","ROUTING_PLAN_REROUTED_THEN_FAILED","FACILITY_MANUALLY_ASSIGNED_TO_PICKJOB_THEN_ROUTED","FACILITY_MANUALLY_ASSIGNED_TO_PROCESS_THEN_ROUTED","STOCK_UPDATE_RECEIVED_THEN_REACTIVATED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED","ROUTING_PLAN_SHORTPICKED_THEN_SPLIT","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED_AND_SPLIT","ROUTING_PLAN_REROUTE_STOCK_ZERO_THEN_REROUTED_TO_SAME_FACILITY","PICKJOB_REJECTED_THEN_REROUTED","PICKJOB_REJECTED_THEN_NOT_ROUTABLE","PICKJOB_REJECTED_THEN_ROUTED_AND_SPLIT","ROUTED_AND_SPLIT","OBSOLETE","OBSOLETE_WAS_MANUALLY_REROUTED","OBSOLETE_WAS_MANUALLY_ASSIGNED","OBSOLETE_WAS_SHORTPICKED","OBSOLETE_WAS_ROUTED","UNKNOWN","RETRYABLE","FAILED_REROUTE","ROUTED_THEN_CANCELED","ROUTED_AND_SPLIT_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_SPLIT_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_THEN_CANCELED","ROUTING_PLAN_SHORTPICKED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_THEN_CANCELED","ROUTING_PLAN_REROUTE_TIMETRIGGERED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","FACILITY_MANUALLY_ASSIGNED_TO_PICKJOB_THEN_ROUTED_THEN_CANCELED","FACILITY_MANUALLY_ASSIGNED_TO_PROCESS_THEN_ROUTED_THEN_CANCELED","PROCESS_MANUAL_REROUTED_THEN_ROUTED_THEN_CANCELED","PROCESS_MANUAL_REROUTED_THEN_REROUTED_AND_SPLIT_THEN_CANCELED","CANCELED","NOT_ROUTABLE","NOT_ROUTABLE_WAS_MANUALLY_REROUTED","NOT_ROUTABLE_WAS_MANUALLY_ASSIGNED","WAITING","WAITING_WAS_MANUALLY_REROUTED","WAITING_WAS_MANUALLY_ASSIGNED","WAITING_AND_SPLIT","WAITING_THEN_ROUTED","WAITING_THEN_ROUTED_AND_SPLIT","WAITING_THEN_NOT_ROUTABLE","WAITING_THEN_WAITING_AND_SPLIT","LOCKED","INITIAL"],"type":"string","xml":{"name":"RealRoutingPlanStatus"},"title":"ConsolidatedRoutingPlanStatus"},"CustomServiceReference":{"properties":{"articleItems":{"items":{"$ref":"#/components/schemas/ArticleItem"},"type":"array"},"customServiceDefinition":{"$ref":"#/components/schemas/CustomServiceDefinition"},"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItem"},"type":"array"},"id":{"type":"string"}},"required":["customServiceDefinition","articleItems","customServiceItems","id"],"type":"object","title":"CustomServiceReference","description":"CustomServiceReference"},"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"},"CustomServiceItem":{"allOf":[{"$ref":"#/components/schemas/CustomServiceItemForCreation"}],"properties":{"customServiceItems":{"items":{"$ref":"#/components/schemas/CustomServiceItem"},"type":"array"},"id":{"type":"string"}},"required":["id","customServiceItems","articleItems","customServiceDefinition"],"type":"object","title":"CustomServiceItem","description":"CustomServiceItem"},"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"},"DecisionLogRef":{"properties":{"routingRun":{"type":"number"},"url":{"description":"A reference to the finalizer decision log","type":"string"}},"required":["url","finalizeRun"],"type":"object","xml":{"name":"DecisionLogRef"},"title":"DecisionLogRef","description":"DecisionLogRef"},"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"},"EarliestPickingStart":{"allOf":[{"$ref":"#/components/schemas/PickingStartBase"}],"properties":{"earliestPickingStartDate":{"format":"date-time","type":"string"}},"required":["earliestPickingStartDate"],"type":"object","title":"EarliestPickingStart","description":"EarliestPickingStart"},"PickingStartBase":{"properties":{"carrierRef":{"type":"string"},"targetTime":{"format":"date-time","type":"string"}},"required":["targetTime"],"type":"object","title":"PickingStartBase","description":"PickingStartBase"},"ExpectedLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItem"}],"properties":{"facilityRef":{"type":"string"},"transferId":{"type":"string"}},"required":["facilityRef","transferId"],"title":"ExpectedLineItem","description":"ExpectedLineItem"},"OrderLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItemForCreation"},{"properties":{"id":{"description":"The id of this orderline. It is generated during creation automatically by the API and suits as the primary identifier of the described line.","type":"string"}},"required":["id"],"type":"object"}],"title":"OrderLineItem","description":"OrderLineItem"},"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"},"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"},"RoutingPlanHistory":{"properties":{"created":{"description":"Information about the time, when a routing plan status is set","format":"date-time","type":"string"},"status":{"$ref":"#/components/schemas/RoutingPlanStatus"}},"required":["status","created"],"title":"RoutingPlanHistory","description":"RoutingPlanHistory"},"RoutingPlanStatus":{"description":"A routing plan line initially has the status INITIAL. Final state is ROUTED","enum":["INITIAL","PRIORITIZED","ROUTING","PROPOSED","PLANNED","ROUTED","NOT_ROUTABLE","MANUAL_PLANNED","FAILED","REDUNDANT_REROUTE","FAILED_REROUTE","RETRYABLE","FALLBACK_ROUTING","WAITING","OBSOLETE","CANCELED","LOCKED","PROMISED","REROUTED"],"type":"string","xml":{"name":"RoutingPlanStatus"},"title":"RoutingPlanStatus"},"LatestPickingStart":{"allOf":[{"$ref":"#/components/schemas/PickingStartBase"}],"properties":{"latestPickingStartDate":{"format":"date-time","type":"string"}},"required":["latestPickingStartDate"],"type":"object","title":"LatestPickingStart","description":"LatestPickingStart"},"RoutingPlanLineItem":{"allOf":[{"$ref":"#/components/schemas/OrderLineItem"}],"properties":{"availabilityTimeframe":{"$ref":"#/components/schemas/AvailabilityTimeframe"},"available":{"type":"number"},"outOfStockBehaviour":{"$ref":"#/components/schemas/OutOfStockBehaviour"},"picked":{"type":"number"},"pieces":{"description":"@deprecated This property has been deprecated and has no meaning.","items":{"$ref":"#/components/schemas/RoutingPlanLineItemPiece"},"type":"array"}},"title":"RoutingPlanLineItem","description":"RoutingPlanLineItem"},"AvailabilityTimeframe":{"properties":{"start":{"format":"date-time","type":"string"}},"type":"object","title":"AvailabilityTimeframe","description":"AvailabilityTimeframe"},"OutOfStockBehaviour":{"description":"The PREORDER and RESTOCK can be only set, when the depending outOfStockConfig is provided.\nAlso PREORDER and RESTOCK values are 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 />","enum":["NONE","BACKORDER","PREORDER","RESTOCK","PREORDER_AND_RESTOCK"],"type":"string","title":"OutOfStockBehaviour"},"RoutingPlanLineItemPiece":{"properties":{"available":{"type":"number"},"location":{"$ref":"#/components/schemas/Location"},"mandatoryScore":{"type":"number"},"partialStockRef":{"type":"string"},"picked":{"type":"number"},"quantity":{"type":"number"},"sequenceScore":{"type":"number"}},"type":"object","title":"RoutingPlanLineItemPiece","description":"RoutingPlanLineItemPiece"},"Location":{"properties":{"locationRef":{"description":"The id of the location","type":"string"},"scannableCodes":{"description":"Represents barcodes that may be scanned at this location","items":{"type":"string"},"type":"array"}},"xml":{"name":"Location"},"title":"Location","description":"Location"},"RerouteDescription":{"allOf":[{"$ref":"#/components/schemas/AbstractReason"}],"properties":{"action":{"enum":["REROUTE"],"type":"string"}},"required":["action"],"type":"object","xml":{"name":"RerouteDescription"},"title":"RerouteDescription","description":"RerouteDescription"},"AbstractReason":{"allOf":[{"$ref":"#/components/schemas/AbstractReasonForCreation"},{"$ref":"#/components/schemas/VersionedResource"}],"properties":{"action":{"description":"The action this reason can be attached to.","type":"string"},"id":{"description":"The id of the Reason","type":"string"}},"required":["id","action"],"type":"object","xml":{"name":"AbstractReason"},"title":"AbstractReason","description":"AbstractReason"},"AbstractReasonForCreation":{"additionalProperties":false,"properties":{"reasonLocalized":{"$ref":"#/components/schemas/LocaleString"},"reason":{"description":"Text explaining the reason for a supported action.","type":"string"}},"required":["reason","reasonLocalized"],"type":"object","xml":{"name":"AbstractReasonForCreation"},"title":"AbstractReasonForCreation","description":"AbstractReasonForCreation"},"RerouteReason":{"enum":["ORDERMODIFIED","PROCESSREROUTE","MANUAL","SHORTPICK","TIMETRIGGERED","STOCKZEROED","ABORTED","RECALCULATION"],"type":"string","title":"RerouteReason","description":"RerouteReason"},"RoutingPlanStatusReason":{"description":"Obsolete Status Reason","properties":{"reason":{"$ref":"#/components/schemas/RoutingPlanStatusReasonReason"},"status":{"$ref":"#/components/schemas/RoutingPlanStatusReasonStatus"}},"required":["reason","status"],"title":"RoutingPlanStatusReason"},"RoutingPlanStatusReasonReason":{"enum":["REROUTE_AFTER_SHORTPICK","MANUALLY_REROUTED","MANUALLY_ASSIGNED","ORDER_MODIFIED"],"type":"string","title":"RoutingPlanStatusReasonReason","description":"RoutingPlanStatusReasonReason"},"RoutingPlanStatusReasonStatus":{"enum":["OBSOLETE"],"type":"string","title":"RoutingPlanStatusReasonStatus","description":"RoutingPlanStatusReasonStatus"},"TargetAddress":{"allOf":[{"$ref":"#/components/schemas/ConsumerAddress"},{"properties":{"facilityRef":{"description":"The id of the facility reference. The given ID has to be present in the system.","type":"string"},"tenantFacilityId":{"description":"The tenantFacilityId of the facility. The given ID has to be present in the system.","type":"string"}},"type":"object"}],"type":"object","title":"TargetAddress","description":"TargetAddress"},"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"},"DeliveryEventTargetAddress":{"properties":{"deliveryEvent":{"$ref":"#/components/schemas/DeliveryEvent"},"facilityRef":{"type":"string"},"targetAddress":{"$ref":"#/components/schemas/TargetAddress"}},"required":["facilityRef","targetAddress","deliveryEvent"],"type":"object","title":"DeliveryEventTargetAddress","description":"DeliveryEventTargetAddress"},"Transfer":{"properties":{"transferId":{"type":"string"},"transferType":{"enum":["SUPPLIER","RECEIVER"],"type":"string"}},"required":["transferId","transferType"],"title":"Transfer","description":"Transfer"},"WorkflowInformation":{"additionalProperties":false,"properties":{"instanceRef":{"description":"The id identifying the workflow instance this entity belongs to.","type":"string"},"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[true],"type":"boolean"},"nodeRef":{"description":"The id identifying the node within the workflow instance tha this entity belongs to.","type":"string"}},"title":"WorkflowInformation","type":"object","description":"WorkflowInformation"},"WorkflowUnavailable":{"additionalProperties":false,"properties":{"isAvailable":{"description":"Explicitly states if this entity is part of a workflow.","enum":[false],"type":"boolean"}},"title":"WorkflowUnavailable","type":"object","description":"WorkflowUnavailable"},"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/routingplans/search":{"post":{"deprecated":false,"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 />Search for RoutingPlan","operationId":"searchRoutingPlan","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingPlanSearchPayload"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingPlanPaginatedResult"}}},"description":"Your search result"},"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"}},"summary":"List routing plans (search)","tags":["Routing Plans (DOMS)"]}}}}
```

## GET /api/routingplansgraph

> List routing plans graphs

```json
{"openapi":"3.0.1","info":{"title":"fulfillmenttools","version":"VERSIONLESS"},"tags":[{"description":"Endpoints to get information out of the brain of our Distributed Order Management System (DOMS).","name":"Routing Plans (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":{"RoutingPlansGraph":{"additionalProperties":false,"description":"A graph representation of the routing plans. The nodes are the routing plans and the edges are the rerouting reasons.","properties":{"edges":{"items":{"$ref":"#/components/schemas/RoutingPlansGraphEdge"},"type":"array"},"nodes":{"items":{"$ref":"#/components/schemas/RoutingPlansGraphNode"},"type":"array"}},"required":["nodes","edges"],"title":"RoutingPlansGraph"},"RoutingPlansGraphEdge":{"additionalProperties":false,"properties":{"from":{"type":"string"},"reason":{"$ref":"#/components/schemas/RoutingPlansGraphEdgeReason"},"to":{"type":"string"}},"required":["from","to","reason"],"type":"object","title":"RoutingPlansGraphEdge","description":"RoutingPlansGraphEdge"},"RoutingPlansGraphEdgeReason":{"enum":["SPLIT","REROUTE","INTER_FACILITY_TRANSFER"],"type":"string","title":"RoutingPlansGraphEdgeReason","description":"RoutingPlansGraphEdgeReason"},"RoutingPlansGraphNode":{"additionalProperties":false,"properties":{"routingPlanRef":{"type":"string"}},"required":["routingPlanRef"],"type":"object","title":"RoutingPlansGraphNode","description":"RoutingPlansGraphNode"},"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/routingplansgraph":{"get":{"description":"","operationId":"getRoutingPlansGraphBaseOnProcessRef","parameters":[{"description":"Reference to the process you want to get the corresponding routing plans graph.","in":"query","name":"processRef","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingPlansGraph"}}},"description":"Routing plans graph was found & you were allowed to access it. 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"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Entity not found, please look at details."}},"summary":"List routing plans graphs","tags":["Routing Plans (DOMS)"]}}}}
```
