Delivery Promise

Even before an order is placed, OneStock starts working and provides delivery promises to your customers. For each supported delivery method, OneStock provides the customer with information about the delivery/collection date, the cut-off for this date, the carbon footprint, the selected carrier(s), the shipping fees (paid by the customer), the transportation costs (paid by the retailer to the carriers), etc.

All this is done in the blink of an eye thanks to OneStock’s intelligent algorithm for Delivery promise.

The OneStock delivery promise returns all of the information displayed below, to be shown on the product page, or on the basket page:

Example of how the delivery promises may be displayed on a basket page

You can render and display this information as you want on your website.

The delivery promise doesn’t stop once the order has been placed. OneStock will continue calculating the promise to make sure that it will be delivered on time or inform the customer in case the order is getting late and provides him with a new promise (see Monitoring Order execution to meet the promised date ).

How to use it?

The Delivery promise is an API meant to be called from the Product Description Page and from the basket and checkout pages:

The same API is used on the Product and Basket page. The difference is that it is called for a single item on the product page, and for multiple items/quantities on the basket page.

OneStock takes care of the complex calculations

The power of the delivery promise resides in the number of criteria that are taken into account and the performance and speed of this calculation.

The delivery promise will consider:

  • Current stock positions at each stock location

  • Restrictions on certain items, locations, transportation modes

  • Transportation routes of each carrier: transportation time and cost

  • Carrier constraints: maximum weight, maximum dimensions

  • Stock location schedules: preparation time and carrier pick-up time, taking into account all the scheduled events such as special openings, bank holidays, etc.

  • Handling and carrier pick-up capacity: per day for each stock location and/or each carrier-stock location

  • Other optional parameters: carrier reliability, priority…

The operations necessary to fulfill an order are completely configurable in OneStock and will be counted to evaluate the ETA:

Capacity management: handling capacity

As mentioned, the handling capacity of stock locations can be managed by OneStock as well. It allows you to define how many items or how many orders can be prepared each day by each stock location.

Once its capacity of a day is reached, the stock location remains available and is still considered by OneStock, but the delivery promise will consider that the order will not be prepared on this day, but on the next day… or the following one if its capacity is full as well.

Every time an order is orchestrated to a specific stock location, it will consume capacity for the next opening day with capacity available. In case some future stocks are allocated as well, the capacity will be consume for the next opening day with capacity available on or after the latest receiving date of the latest future stock.

For example: my order has been orchestrated to the warehouse, with item A on on-hand stock, item B on future stock to be received between the 5th of May and 10th of May and item C to be received between the 8th of May and 15th of May. The capacity will be consumed on the 15th of May or the next opening day with capacity available. If the 15th of May is closed and the 16th of May has no available capacity, the capacity will be consumed on the 17th of May.

The handling capacity may be counted by number of orders, or by number of items. If you count the capacity by items, it is possible to consider a “workload” for each item. That allows you to indicate that a specific small accessory has a workload of 0.1 (counting just 1/10 of a normal item) and a big fridge has a workload of 10 (counting as 10 normal items). This workload must be indicated on the item information.

Capacity management: carrier pick-up capacity

In addition to the handling capacity of the stock location itself, OneStock allows defining the carrier pick-up capacity for each carrier at each stock location. It allows you to indicate for example that Royal Mail will be able to pick-up 300 parcels today in my warehouse A and that UPS can take 500 parcels today in my warehouse A.

Once its capacity for a day on a specific stock location is reached, the carrier remains available and is still considered by OneStock, but the delivery promise will consider that the order will not be shipped on this day, but on the next day… or the following one if its capacity is full as well.

This may result in the selection of another carrier by the delivery promise, to be able to deliver the customer faster.

Every time an order is orchestrated to a specific stock location, a parcel can be created and consume capacity for the carrier for the next opening day with capacity available. In case some future stocks are allocated as well, the capacity will be consume for the next opening day with capacity available on or after the latest receiving date of the latest future stock. The capacity of the carrier pick-up is always a date equal of after the preparation date, that means equal or after the handling capacity.

The carrier pick-up capacity may be counted by number of parcels, or by number of shipping orders. The difference is that a shipping order may be split in multiple parcels (if the items don’t fit in a single parcel).

How does it work?

The delivery promise considers all your carriers, all your stock locations, including your stores, with their current stock available to sell and supports splitting an order to fulfil it from several locations and supports future stocks as well… A very huge number of combinations must be evaluated to find the best one according to your criteria!

The intelligence of OneStock is to be able to handle these many combinations and evaluate them extremely fast. The performance is key in the OneStock delivery promise, to be able to reply to the API calls in just a few hundred of ms.

The magic happens thanks to a lot of pre-calculations done by OneStock based on the configuration. We won’t give you our recipe but the secret is a good mix of pre-calculations always kept up-to-date and real-time checks.

To guarantee the best performances and provides maximal flexibility, OneStock’s delivery promise calculations are based on configurations done in OneStock. There are no connection to the carriers because our evaluations are too complex and would trigger way too many calls to the carrier API to be able to handle it in a reasonable timeframe. That’s the reason why we keep all this logic within OneStock, to be able to guarantee the best performance.

DIY configuration

The delivery promise is entirely configurable from the OneStock backoffice. Click here for more information Delivery

It is also possible to configure it through APIs, though it is not the recommended way, as you need to make sure that all the configurations done by APIs are consistent.