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
Status colour Yellow title embedded Create the parcel
Status colour Yellow title embedded Use the delivery promise
Status colour Blue title Automatic Carrier assignation
Status colour Blue title 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
Status colour Yellow title optional
Carriers
Account
Parameters
Delivery promise
Status colour Yellow title optional
Defined within the order 🗒️
Status | ||||
---|---|---|---|---|
|
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).
Info |
---|
If the carrier is not known at the order creation, it can still be patched later and the shipment will be created rightfully. |
This method is suited if all carrier information are available before the order orchestration.
Through parcel creation 📦
Status | ||||
---|---|---|---|---|
|
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.
Info |
---|
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. |
This method is suited if all carrier information are available at the moment of the parcel creation.
Use the carrier assignation 🖥️
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Principle
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.
Info |
---|
The assignation mecanism is used if :
|
This method is suited if no information are available, and especially if the carrier depends on multiple simple geographical or business parameters.
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.
Info |
---|
Service and metadata are free information to use for the shipment request. |
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 📆
Status | ||||
---|---|---|---|---|
|
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.
Info |
---|
The delivery promise mecanism is always used if provided. If no delivery promise information are given, the system fallbacks on any of the previous mechanism. |
This method is suited if the order is placed with the delivery promise details.
Note that this method is not mandatory if the delivery promise is activated.
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.
Info |
---|
This option allow the orchestration to re-compute the delivery promise and postpone the estimated date if any major step is exceeded. |
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.
Info |
---|
This action updates the computed date and expiration key steps, and defines the route to use for the shipment. |
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 from the one already available in the parcel (false
by default).
Info |
---|
This action modify the carrier in the parcel with the best one from the delivery promise and orchestration. |