Shipping options

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.

DP configuration in the BackOffice

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 methods

  • relay_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.

Path : Configuration > Store App > Pages > Catalog > Specific settings > Options

{ "delivery_promise": { "available_methods": { "ckc": [ "click_and_collect_ois_gb", "click_and_collect_ois_fr", "click_and_collect_ois_de", ], "home": [ "standard_home_delivery_ois_gb", "standard_home_delivery_ois_fr", "standard_home_delivery_ois_de", "express_home_delivery_ois_gb", "express_home_delivery_ois_fr", "express_home_delivery_ois_de", "sameday_home_delivery_ois_gb", "sameday_home_delivery_ois_fr", "sameday_home_delivery_ois_de" ], "relay_point": [ "pickup_delivery_ois_gb", "pickup_delivery_ois_fr", "pickup_delivery_ois_de" ] }, "sort_on": "eta_end" } }

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.

Path : Configuration > Store App > Pages > Catalog > Specific settings > Options

{ "delivery_promise": { "metric": "shipping_fees" } } }

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.

Path : Configuration > Store App > Pages > Catalog > Specific settings > Options

{ "delivery_promise": { "sort_on": "cost" } } }

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 methods

  • relay_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 proposed

  • carrier (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:

  1. Only those that match the basket currency are kept.

  2. Each different delivery type will correspond to an option displayed

  3. 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.

If my basket is in euros, the following methods are displayed :

  • Click and Collect - Standard - Free

  • Home Delivery - Standard - 4.99€ if my basket’s price < 100€, Free above

  • Home Delivery - Express - 8€

  • Pickup point delivery - Standard - 2.99€

If my basket is in pounds, the following methods are displayed :

  • Click and Collect - Standard - Free

  • Home Delivery - Standard - £5.99€ if my basket’s price < £80, Free above

  • Home Delivery - Express - £10

  • Pickup point delivery - Standard - £2.99

Path : Configuration > Store App > Pages > Catalog > Specific settings > Options

{ "shipping": { "price_levels": { "ckc": [ { "currency": "GBP", "delivery_type": "standard", "shipping_value": 0 }, { "currency": "EUR", "delivery_type": "standard", "shipping_value": 0 } ], "home": [ { "currency": "GBP", "delivery_type": "standard", "shipping_value": 5.99 }, { "currency": "GBP", "delivery_type": "standard", "from_price": 80, "shipping_value": 0 }, { "currency": "GBP", "delivery_type": "express", "shipping_value": 10 }, { "currency": "EUR", "delivery_type": "standard", "shipping_value": 4.99 }, { "currency": "EUR", "delivery_type": "standard", "from_price": 100, "shipping_value": 0 }, { "currency": "EUR", "delivery_type": "express", "shipping_value": 8 } ], "relay_point": [ { "currency": "GBP", "delivery_type": "standard", "shipping_value": 2.99, "carrier": { "name": "ups", "option": "LCO" } }, { "currency": "EUR", "delivery_type": "standard", "shipping_value": 2.99, "carrier": { "name": "colissimov2", "option": "A2P" } } ] } } }

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

Path : Configuration > Store App > Pages > Catalog > Specific settings > Options

{ "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

Path : Configuration > Store App > Pages > Catalog > Specific settings > Options

{ "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)

Path : Configuration > Store App > Pages > Catalog > Query Overload > Shipping option on the basket page

{ "classification": [ { "store": [ "%endpoint.classification.store%" ] } ], "modules": { "ckc": true } }