Carrier selection for Orders
Overview
Define the right carrier for an order is an essential step for the final stage of the order life and to complete the delivery process.
In OneStock there are multiple ways to define the carrier that will be in charge of an order. The system allows to either push a known carrier, or let the application automatically define the right carrier for an order.
4 methods are available to select the carrier during the order treatment :
Use the order details embedded
Create the parcel embedded
Use the delivery promise Automatic
Carrier assignation Automatic
Before setting up carrier selection of orders, the following configurations must already be set up :
Lifecycle
Order
Parcel
Stock locations
Tags
Calendars
Carrier account optional
Carriers
Account
Parameters
Delivery promise optional
Defined within the order embedded
When importing an order, the dedicated field order.delivery.carrier
allows to describe which carrier to use.
To be used, the field order.delivery.carrier.name
must be completed. order.delivery.carrier.option
and order.delivery.carrier.information
are not mandatory, but are used to define the right service to generate the shipment.
The order field is used at the moment of the parcel creation (Either via workflow or API call).
If the carrier is not known at the order creation, it can still be patched later and the shipment will be created rightfully.
Make sure that the order is containing a carrier before the parcel is created.
This method is suited if all carrier information are available before the order orchestration.
Through parcel creation embedded
If parcels are created through API, the dedicated field parcel.delivery.carrier
allows to describe which carrier to use.
To be used, the field parcel.delivery.carrier.name
must be completed. parcel.delivery.carrier.option
is not mandatory, but used to define the right service to generate the shipment similarly to the order.
The parcel field is at the moment of the API call.
If the carrier is not known at the moment of the POST API call, it can be modified later using a PATCH.
If the POST /parcel is done without any carrier information (in the parcel or the order), the automatic assignation is done.
Use the carrier assignation Automatic 12.6
If the order and parcel are created without any information on the carrier.name
, the OMS runs a mechanism to automatically select the carrier based on
A specific configuration
Order details
Stock location details
The assignation mechanism is used at the moment of the parcel creation and updated at every new claim of the order.
Configuration
A dedicated interface for assignation of carriers is available in the Carrier configuration page.
The Carrier assignation page displays a search bar, an assignation add button, and the ruleset assignations available.
Assignations are displayed in the same order they are run to define the right carrier for an assignation.
The sequence of the assignation has an impact on the behaviour of the service. It is then possible to re-order the assignations by drag and droping an attribution.
The mechanism runs each assignation depending on the conditions set up, and assign the carrier as soon as a matching condition is detected. The last rule is condition-less and let an order have a default carrier if no match is encounter.
Adding an attribution is done by clicking on the dedicated button.
An attribution can be named, and a carrier must be chosen.
Additionally, a service to use for the shipment and a metadata can be added.
When created, the assignation can be modified with two type of parameters :
Conditions
Options
When a condition is created or modified, it can either being done on the same line which add a condition to verify on the same level (logical AND), or n a new line which add a condition to verify in parallel (logical OR).
The available conditions to compare are the following :
Order type
Order Sales channel
Delivery type
Order price
Item quantity
Item price
Carrier name and option
Destination (Country, zipcode, region)
Origin (Country, zipcode, region)
Stock location manual tag
Stock location sales channel
The option allow to define a period date for the assignation to be active.
If not defined, the assignation will always be running.
Delivery promise Automatic
When importing an order, the dedicated field order.delivery_promise
allows to use the delivery promis information to orchestrate and handle an order.
Through the order life, and using the promised date, the delivery estimation of the order can evolve.
Furthermore, stock locations and their delivery route can be compatible or not, as well as the different carrier services and transit time.
As a result the fitting carrier to respect a delivery promise can switch.
OneStock uses an automatic way to use the right carrier at the moment the parcel is created.
The delivery promise mechanism is used at the moment of the dedicated workflow action.
Configuration
To use the delivery promise automatic mechanism, 1 configuration and 2 actions are mandatory in the workflow to use the evolving delivery date for the carrier assignation.
Firstly make sure that the option “Calculation of order ETA” is activated before any order is orchestrated.
Then, the first action is to set up in the workflow is the set_milstone
action.
It needs to be set once, on the claiming transition after the assign_origin
action.
Finally the last action to set up is the set_parcel_eligible_carriers
in the parcel workflow.
The option forced
on this action allows to overwrite the carrier given by the delivery promise, with the carrier embedded in the parcel detail (false
by default).