Skip to main content

RoutingStrategy

Routing Strategy​

A reusable, company-owned definition of how an order's fulfillments are split across buildings: which buildings and in what priority, the algorithm, and the maximum number of fulfillments. Applied to an order to create its fulfillments.

type RoutingStrategy {
archivedAt: ISO8601DateTime
buildings: [RoutingBuilding!]!
company: Party!
companyId: ID!
createdAt: ISO8601DateTime!
description: String
destinationGrouping: DestinationGroupingEnum
fallbackWarehouseId: ID @deprecated
fulfillmentStrategy: FulfillmentStrategyEnum!
id: ID!
maxFulfillments: Int!
name: String!
shortfallPolicy: ShortfallPolicyEnum!
updatedAt: ISO8601DateTime!
}

Fields​

RoutingStrategy.archivedAt ● ISO8601DateTime scalar common​

When the routing strategy was archived, if applicable.

RoutingStrategy.buildings ● [RoutingBuilding!]! non-null object orders​

The buildings this strategy routes over, with priority and exclusion.

RoutingStrategy.company ● Party! non-null object common​

The company that owns this routing strategy.

RoutingStrategy.companyId ● ID! non-null scalar common​

ID of the company that owns this routing strategy.

RoutingStrategy.createdAt ● ISO8601DateTime! non-null scalar common​

When the routing strategy was created.

RoutingStrategy.description ● String scalar common​

Optional description of the routing strategy.

RoutingStrategy.destinationGrouping ● DestinationGroupingEnum enum orders​

How the order's destinations are grouped into fulfillments. Null means the order ships to a single destination.

RoutingStrategy.fallbackWarehouseId ● ID deprecated scalar common​

DEPRECATED

No longer affects routing. Use shortfallPolicy instead.

Formerly the building that took an order inventory could not cover.

RoutingStrategy.fulfillmentStrategy ● FulfillmentStrategyEnum! non-null enum orders​

How the strategy chooses buildings and splits the order.

RoutingStrategy.id ● ID! non-null scalar common​

Unique identifier for the routing strategy.

RoutingStrategy.maxFulfillments ● Int! non-null scalar common​

Maximum number of inventory-backed fulfillments for a single order, or for each destination when destinationGrouping is set. A backorder created by shortfallPolicy does not count toward it, so an order may end up with one more fulfillment than this.

RoutingStrategy.name ● String! non-null scalar common​

The name of the routing strategy.

RoutingStrategy.shortfallPolicy ● ShortfallPolicyEnum! non-null enum orders​

What the strategy does when no allowed set of buildings can source the whole order. Only BACKORDER_REMAINDER and SINGLE_FULFILLMENT are valid when destinationGrouping is set, because a destination has to be planned in full.

RoutingStrategy.updatedAt ● ISO8601DateTime! non-null scalar common​

When the routing strategy was last updated.

Returned By​

archiveRoutingStrategy mutation ● registerRoutingStrategy mutation ● routingStrategy query ● updateRoutingStrategy mutation

Member Of​

RoutingBuilding object ● RoutingStrategyConnection object ● RoutingStrategyEdge object