Skip to main content

About order routing


Order routing or order sourcing is the process that determines from where and by when products in an order are sent to your customer.

There are 2 ways in which you can configure routing:

  • Default routing: NewStore routes the order to the best location based on the fulfillment configuration.
  • Prerouting: You provide a specific fulfillment location where the order can be fulfilled.

Default order routing

The default routing strategy in NewStore uses the settings in the fulfillment configuration to route orders. If an order imported into NewStore Omnichannel Cloud doesn't specify a strategy, this strategy is used by default.


For orders imported into NewStore from other systems, if the order quantity limits exceed the limits set for your business, they are put on hold and are not routed immediately even if inventory exists for the items. These orders require approval before they are routed and fulfilled. No inventory is reserved or allocated for items in these orders until they are approved on NewStore Omnichannel Manager. For more information, see Reviewing big orders and Importing orders with many items .

For managing orders that are on hold because of insufficient inventory or other reasons, see Managing On Hold orders .

How default order routing works

Let's consider an example where a customer wants to buy 2 products from your business. The items are in the shopping cart and they enter their shipping address. They choose the shipping option that they like best, and pay. When their payment is successful, they see that their order was placed successfully.

Phase 1: Reserving order items

When the customer enters their shipping address, NewStore ensures that:

  • there is enough ATP for the items to fulfill the order.
  • there are shipping options that can be offered to the customer.

This is done automatically within the platform and surfaced via Associate App or an external e-commerce solution that you may have integrated with.

To determine if the items in the order can be delivered, NewStore requests shipping options from the integrated shipping providers , for the ZIP code and the country in the shipping address. For example, the customer's address is in New York City and ATP for the items exists in a New Jersey store. Based on the provider, the shipping options may only include Next-day delivery and not Same-day delivery. For more information, see Shipping .

When the customer selects a shipping option and places the order, a soft allocation or reservation is placed on the items at fulfillment locations that have the highest ATP. The items are reserved for a configurable time period.

Technical configuration
The following section involves working with technical configurations and APIs. Contact your IT support team for more information.

To change or configure a reservation, See Setting the reservation timeout .

Phase 2: Requesting fulfillment to the best fulfillment location

Orders are routed only after the grace period configured for your business has ended. A grace period in the NewStore platform can be set for all orders in your business. You can define a specific grace period for each service level supported by your shipping provider, to override the grace period set for your business.

Technical configuration
The following section involves working with technical configurations and APIs. Contact your IT support team for more information.

To change or configure a grace period, see Setting the grace period .

NewStore tries to route the order:

  • using the shipping option the customer selected.
  • from the best fulfillment location.

The best fulfillment location is decided based on the settings in your fulfillment configuration.


If you are using the new process to set up your fulfillment configuration, and not the older alternative API, you can use multiple fulfillment locations as a location group to fulfill orders.

For help with updating your fulfillment configuration and migrating to the new process, see the guide .

Let's look at different scenarios and how NewStore routes orders for them. NewStore processes routing orders in the following sequence, to ensure that order fulfillment is efficient and quick.

  1. If the best location in the configuration matches the location where the products were reserved; and the promised shipping option can be met along with a successful check for routing capacity, the order is routed to this location.
  2. If the best fulfillment location cannot send the products, the order is routed to the next best location in the fulfillment configuration.
  3. If only part of the order can be sent from the best location, NewStore chooses the next best location from where all the ordered items can be sent in one shipment. The aim is to try to send the complete order in a single shipment.

If the order is routed using a shipping option that is different from what was promised during checkout, the customer is notified. For example, a change from Same-day delivery to Standard shipping.

When the best fulfillment location has been decided, an allocation is placed on the item, at the fulfillment location. The reservation placed in phase 1 is removed and the quantity is deducted from the ATP. When an item is shipped, allocation for the associated item is removed from NewStore Omnichannel Cloud.

Configuring default order routing


Shipping and order routing settings are inter-related, and they must each be understood in the context of the other. For more information, See Shipping .

Order routing can be customized to best suit your business. The way orders are routed depends on the settings in your fulfillment configuration:

  • The shipping address ZIP/postal code and country.
  • The shipping option chosen by the customer.
  • The fulfillment locations that can satisfy the selected shipping option.
  • The capacity of the locations to fulfill orders.
  • The priority of each fulfillment location for the given address and shipping option.

If changes in your business impact this configuration, update it using the relevant APIs or Omnichannel Manager . For example, to prevent routing orders to deactivated stores, ensure that the store is not part of the fulfillment location priority.

Share the following information with your NewStore contact point:

  1. An order routing table

    A table containing a mapping of fulfillment location priority and shipping options, for each country and ZIP code that your business supports. The table is read top to bottom. See the Example section, to understand this better.


    To create generic zip code formats, you can use the star sign (*) to represent all characters (letters or digits). For example, 10* matches all zip codes starting with 10. A rule matching ZIP codes equal to * matches all ZIP codes.

  2. A prioritized list of shipping options (if you offer several shipping options).

    If all the fulfillment locations for a shipping option are unavailable, other shipping options are tested. The order in which the other shipping options are tried is based on the priority you provide.

    For example: Same-day delivery > Expedite delivery > Standard delivery.

    Orders are split (when items in the order are fulfilled from different locations) when NewStore has tried all fulfillment locations for all the shipping options and found no fulfillment solution.

Technical configuration
The following section involves working with technical configurations and APIs. Contact your IT support team for more information.

If you are using the Routing ruleset and Service levels APIs to set up your fulfillment configuration, and only using the legacy fulfillment configuration API, to set up provider rates (customer-facing shipping options), you need to group your fulfillment locations and zip code regions to facilitate easier order fulfillment.

For more information, see Tutorial: Setting up a fulfillment configuration .


Consider this example with deliveries to the US and Canada, where the shipping priority is Same Day > Standard > Standard International:

CountryZip codeFulfillment locations and prioritySupported shipping option
US10*,02*DC1 > DC2 > DC3Standard
US*DC1 > DC2Standard
CA*DC5Standard international

Based on the table, for orders shipped within the US:

  • ZIP codes 10xxx and 02xxx match New York City and Boston. DC1, DC2, and DC3 have been set up to to fulfill Standard delivery orders to New-York and Boston. The order is routed first to DC1. If DC1 cannot fulfill the order, it is routed to DC2 and, eventually, to DC3.
  • All other standard orders to the rest of the country are fulfilled from DC1 first, then from DC2, with DC3 as the last option.
  • Same-day delivery orders are routed only to DC4.
  • If DC1, DC2, and DC3 are unavailable, only deliveries to New York might be fulfilled from DC4.
  • Orders shipped to Canada only from DC5.

Notice the importance of the line order. The US * rule is not applied to New York or Boston orders because the 10*,02* rule is higher in the table, making it the main routing rule for these two cities.

Capacity-based routing

Capacity-based routing allows you to specify how many items will be routed and processed at a set number of locations, based on how many items each store has processed over a certain period of time. This can be changed over the course of time, but allows you the flexibility of prioritizing stores with a lot of traffic.

For example, you can set up a policy for all your stores in the US that specifies your business to:

Route a maximum of 10 items, during the hours of 8:00 am and 8:00 pm on weekdays, and from 10:00 am to 2:00 pm on weekends.


The time periods specified for such routing limits must be set in complete hours. For example from 8 am till 8 pm on Sunday, and not 8:20 am till 5:30 pm.

For more information, see the configuration guide .

Prerouting to a specific location

When you send orders to NewStore, you can set the routing strategy to prerouted and specify the fulfillment location where the order must be fulfilled. For example, in a click and collect order that you import into the NewStore platform, you can specify the store from which the customer wants to collect the order, and the shipping option offered to the customer. See the create order method.

Related topics