Shipping options
Once customer information has been correctly entered, a choice of delivery methods is displayed. Their display and configuration depend on whether or not the Delivery Promise module is enabled.
With delivery promise
Before configuring this page, make sure that the Delivery Promise module is activated for your site, and that the delivery methods have been configured in the back office. Find out more here 🚚 Delivery Promise configuration.
Available methods
First of all, you need to find the identifiers for each delivery method, as they will be used in the configuration.
Then add the configuration key delivery_promise.available_methods
to indicate the methods available for each type of delivery. Each of these is an array containing the methods.
home
- Home delivery methods.ckc
- Click & Collect methodsrelay_point
- Pickup point methods
For each type of delivery, all methods must be specified for all sales channels. Then, when it comes to displaying the methods, the Store App will only keep those configured on the same sales channel as the store to display them. The zip code of the customer's delivery address will be used in the API call.
See below an example of configuration with 3 sales channels (GB, FR, DE), 3 home delivery methods (Sameday, express, standard), 1 click and collect method and 1 pickup point delivery method.
Displayed information
We display only the methods corresponding to the store's sales channel.
By default for each method, we display its name, estimated date, and carbon footprint if configured in the Delivery Promise response. However, this display can be modified in the BackOffice section Configuration > Store App > Pages > Catalog > Displayed Properties > Delivery promise information. More informations on displayed properties here: Displayed properties
Special cases
Base price on another metric
By default, the shipping fees displayed on the methods and added to the order corresponds to the cost
field returned by the Delivery Promise response. However you may decide to display another metric, for example to separate the actual cost from the cost billed to the customer. This can be done by modifying the corresponding metric in the "delivery_promise.metric"
key.
Order the results differently
By default, delivery methods are sorted on the “eta_end”
field of the delivery promise response, corresponding to the maximum delivery date. This can be changed using the “delivery_promise.sort_on”
configuration. For example, you can sort by shipping price using the “cost”
field.
Sorting is always done in ascending order.
Map view
When you select the “Click & Collect” or “Pickup point” method, a map appears displaying the available locations. The map is focused on the postal code of the customer's address. The search is performed within a 100 km radius, limited to the first 30 results. You can move around the map and relaunch the search using the “search this area” button at the top.
You can select a location both from the list and directly from the map by clicking on a pin and then on “Select this location”.
Notes
Once the method has been selected, a call is made to the Delivery Promise API for each location to refine details.
For pickup point delivery, you need to make sure that the transport service configured in the delivery method corresponds to the service used to search for pickup points. In fact, the store app will use this service to make the API call to the carriers and receive the available locations.
Without delivery promise
Available methods
When you don't have the delivery promise module, the setup of methods and prices is done entirely in the Order In Store configuration.
The available methods need to be defined in the configuration key delivery_promise.shipping.price_levels
in which the 3 possible types of delivery are listed:
home
- Home delivery methods.ckc
- Click & Collect methodsrelay_point
- Pickup point methods
Each delivery type is an array of objects, containing the various methods configured from the following fields:
currency
(mandatory) - Currency in ISO 4217 format (e.g. EUR, USD, GBP…). Separates methods according to basket currency.delivery_type
(mandatory) - Delivery method identifier (standard, express, sameday…)shipping_value
(mandatory) - Shipping fees value in corresponding currency.from_price
(optional) - Basket threshold value above which another shipping fee is proposedcarrier
(optional) - Only for “relay_point” method. Allows you to specify the carrier and method on which to search for available pickup locations.name
- carrier identifier in Onestock format .option
- pickup point option in the format expected by the carrier.
Methods are displayed according to these rules:
Only those that match the basket currency are kept.
Each different delivery type will correspond to an option displayed
If several delivery types are detected on the same currency, the first one whose from_price threshold is lower than the price will be displayed. If no threshold is set, the highest shipping_value will be displayed.
Unlike the delivery promise configuration, methods can be separated by currency, but not by sales channel.
Specific options
Shipping fees modifications
By default, shipping fees can be edited by the in-store vendor. To disable this option, add the configuration key "shipping.editable": false
Considering items for immediate pick-up
By default, Items on immediate pick-up are included in the total price of the order. The thresholds set on the methods therefore include these items. To disable this option, add the configuration key "shipping.include_straight_fulfilled": false
Manage the endpoints returned for ckc
For both configurations (with ou without DP), it is possible to manage the store that are returned in the display of endpoints for a click and collect order.
For exemple, it’s possible to return only stores tat have the country code “FR”, or only the store on which you are creating the OIS (see it bellow)