Order Orchestration
Definition
An important role of OneStock consists in orchestrating orders. Orchestration consists of :
Assigning an order or part of an order to one or more stock locations (stores, warehouses, dropshippers, etc.) to prepare and dispatch it (or collect it in the case of click&collect and reserve&collect),
Reallocation of the order in the event of a problem during execution: if the stores do not claim the order assigned to them or if a stock location declares a stock discrepancy or if a store leaves an order previously claimed.
OneStock supports “competitive allocation”, that allows proposing the same order (or part of order) to multiple stores at the same time, rather than one by one. It means that these stores will have to claim the order to confirm that it will take it in charge. Once the order is claimed by a store, the other stores will not see it anymore and will not be able to claim it (don’t worry, OneStock checks it for you).
Rulesets
Orchestration rulesets are the definition of the rules to be applied. It is the translation in OneStock of the rules decided by the business.
Several rulesets can be defined. A specific ruleset must be assigned to each imported order based on the order parameters: type, delivery address, price, content, etc. Ruleset chaining can be associated to the order instead of a simple ruleset but it will be discussed later on.
A ruleset is defined as an ordered sequence of orchestration rules, from the most favourable to the least favourable.
At a configurable step of its lifecycle, an order can be orchestrated by OneStock by following this sequence of rules. The orchestration is not mandatory to process an order: if you know exactly where it must be processed, it can be forced (for example: reserve&collect orders must always be prepared in the collection store). To orchestrate the order, OneStock will try to apply the first rule and if no stock location is a valid candidate according to this rule, OneStock moves to the next rule.
If candidates have been found but they ignore the order, a timer can be set on the rule so that OneStock will move to the next rule once expired, if none of the candidates claimed the order.
Delivery promise
While following the rules, OneStock can check if the delivery promise can be met by the selected candidates. If the rule found some candidates that will not be able to deliver the order on time, they will be automatically excluded from the candidate list.
That means that you don’t need to worry too much about respecting the Delivery promise during orchestration, because OneStock takes care.
Of course, it may look a bit too strict. In case, an order is getting late, you may want a bit more flexibility. Ruleset chainings will help you with that.
Ruleset chaining
Instead of assigning a ruleset to an order, you can assign it a “ruleset chaining”. It consists in a sequence of rulesets that will be applied one after the other until the order gets fully orchestrated.
For each ruleset called in the ruleset chaining, a flag indicates if the delivery promise must be checked by OneStock or not, and if a tolerance must be applied (allow delivering the order 1 day after the promised delivery).
A ruleset chaining can call the same ruleset multiple times in the sequence, with different tolerances to the delivery promise.