The Filters page of the Order Routing interface displays all existing filters with a summary of what their logic was configured to do under the title. These filters are used to "filter out" fulfillers within the location group that do not match certain criteria.
Note that changes to Order Routing settings may not immediately take effect when processing orders. It may take up to 15 minutes for updates to be reflected in the system while the cache refreshes.
Examples
A filter can be created so that orders can only be assigned or viewed if a fulfiller is located within 100 miles of the customer.
Multiple filters can also be applied to a group to further narrow the list of fulfillers. For instance, two filters can be created so that the order can be only assigned or viewed if the fulfiller is located within 100 miles of the customer and the order total price is less than $1,000.
Create a Filter
To create a new filter from the Filters page:
- Click the New Filter action at the bottom of the left-hand navigation menu.
- Enter a name for the filter.
- Enter the Filter Type: the type of data that the filter will be based off of, whether an existing data point or custom value(s).
- Select the Filter Attribute: the property that will determine whether the order should be assigned to a location group with this filter. For an explanation of how each filter attribute works, see the table after the screenshot.
- Select the Logic that should be applied when comparing the attribute. The possible logic conditions will change depending on the data type of the attribute you selected.
- For logic conditions that support multiple values, such "or" and "any of," you will be able to select multiple values from the dropdown. For logic conditions that support only single conditions, like "equals" or "not equals," you will only be able to select one value.
- If you select a list filter type, it will support the "in" or "not in" logic conditions. For example, if your filter attribute was Material then you could use "in" to compare it against the Iron, Steel, and Aluminum custom values. If the item matches any one of those values, it will attempt assignment. These are available for both first-class and extensible attributes.
- Specify the Data Point Attribute or Custom Value that the filter should compare the first attribute against.
- The example statement below this option will update to describe your selected filter, helping you make sure you have configured it correctly. The below example shows a data point filter type.
- Click Save.
Filter Actions
Expand the menu in the top right of a filter to delete, copy, or edit the filter. Editing the filter will provide the same list of options as seen above for creating a new filter.
Click Add Filter to Group or Remove Filter from Group to quickly edit the fulfillment method groups that the filters applies to.
Filter Attributes
First class fields, or fields that are available out-of-the-box for use in routing filters, are listed below. They are grouped by location, customer, product, and order field topics and can be selected as filter attributes or comparison properties.
To select custom attributes as filter properties, use Extensible Order Routing to enable those attributes. Once enabled, they will be available when configuring a filter.
Location Fields
These fields are part of the location object in API data.
Field | Display Name | Description |
---|---|---|
N/A | Distance from Fulfillment Location to Order | May be used to limit order assignment to locations within a certain distance from the order location. You can also use this to specify what distance the locations would be excluded from. This is calculated based on the latitude/longitude of the location's address and the order's destination. Note that this does not automatically select the closest location for fulfillment - that is determined by the sort options configured for the route. |
countryCode | Fulfillment Location Country Code | Contained in the location address, this may be used to either prevent or allow assignment to locations that match a particular country code. This the set-up store location that is not part of the inbound order routing requests. It is recommended to use the "shipping country code" filter instead of this one in most cases. |
name | Fulfillment Location Name | This may be used to select fulfillment by locations which have a certain name. |
stateOrProvince | Fulfillment Location State/Province | Contained in the location address, this may be used to either prevent or allow assignment to locations that match a particular state or province. This the set-up store location that is not part of the inbound order routing requests. It is recommended to use the "shipping state/province" filter instead of this one in most cases. |
postalOrZipCode | Fulfillment Location Zip/Postal Code | Contained in the location address, this may be used to either prevent or allow assignment to locations that match a particular zip or postal code. This the set-up store location that is not part of the inbound order routing requests. |
Product Fields
Field | Display Name | Description |
---|---|---|
backorderable | Backorderable | If the inbound routing request has "backorderable" set to true on an item, then this will filter it appropriately. |
data | Custom Item Data Point | You can set custom data on order items (either when submitting the order by populating the items[].data object , or by using the exec.setItemData function in API Extension functions where it is available), which will allow you to filter on order items that have this specific (key, value) pair. |
isTaxable | Taxable | This may be used to filter assignment on items based on whether they are taxable or not, which is a true/false value. |
mfgPartNumber | Part Number | This may be used to filter assignment on items based on a specific Part number. |
packageHeight | Height | This may be used to filter assignment based on the dimensions of the item's package. |
packageLength | Length | This may be used to filter assignment based on the dimensions of the item's package. |
packageWeight | Weight | This may be used to filter assignment based on the dimensions of the item's package. |
packageWidth | Width | This may be used to filter assignment based on the dimensions of the item's package. |
productCode | SKU | This may be used to filter assignment on items with a specific SKU. |
productName | Product Title | This may be used to filter assignment on items based on a specific product name. |
upc | Item UPC | This may be used to filter assignment on items based on a specific UPC. |
Order Fields
Field | Display Name | Description |
---|---|---|
countryCode | Shipping Country Code | Contained in the shipping address, this may be used to either prevent or allow assignment to locations that match a particular country code. This is the customer's shipping address included in the inbound order routing requests. It is recommended to use this filter instead of the "fulfillment location country code" in most cases. |
express | Express Shipping | May be used to filter out locations that do not offer express shipping. You can enable this on a location by toggling the "Can Fulfill Express Orders" option in the Locations page of the Admin UI. |
code | Pickup Location Code | For transfer orders, this may be used to filter on locations where the original pickup location matches a certain code. |
postalOrZipCode | Shipping Zip/Postal Code | Contained in the shipping address. |
quantity | Item Quantity | May be used to prioritize whether certain locations fulfill larger or smaller orders. |
stateOrProvince | Shipping State/Province | Contained in the shipping address, this may be used to either prevent or allow assignment to locations that match a particular state or province. This is the customer's shipping address included in the inbound order routing requests. It is recommended to use this filter instead of the "fulfillment location state/province" in most cases. |
total | Total Order Price | This may be used to filter on orders less than, greater than, or equal to a certain amount if you want certain locations to handle larger or smaller order values. |
type | Type | Filters orders based on whether they are the "Offline" or "Online" order type. |