Order In Store

Order In Store

Introduction

The Order in Store is a fulfilment approach used by retailers that allows customers to order products online while visiting physical store locations. The module provided by Onestock enables store associates to place orders on behalf of customers directly from the Store Application. This functionality empowers stores to provide a seamless omnichannel experience by accessing the full product catalog, including items available in warehouses or other locations, and arranging home delivery or in-store pickup.

The experience is presented as a product catalog within the Onestock Store App, allowing users to browse items, add them to a cart, and place orders. Orders are then sent directly to our BackOffice for centralized processing and orchestration. To enrich the experience, the app connects to the retailer’s CRM systems and promotion engine, ensuring that customer data and commercial rules (discounts, loyalty, etc.) are fully integrated into the journey. Payment is also managed directly through Onestock, enabling a streamlined end-to-end flow from order creation to payment confirmation.

 

image-20250404-154611.png

Activation

Site module

Before entering the configuration details, make sure that the “Order In Store” module is activated for your project. If this is not the case, please get in touch with our sales team in order to set up a contract.

Store App menu

Then, the Store App menu must be configured to display the Catalog page if the store has the module active. To do this, create a new section and drag the “Catalog” page into it. Find out more about menu configuration here: Menus

image-20240828-101824.png

Stock location module

Finally, the “Catalog” module must be activated in the parameters of the stock location(s) on which you wish to have access to the Order In Store.

  • Catalog: allows you to view the catalog, but not to place an order. This module does not require license payment.

  • Immediate pickup: allows orders to be picked up immediately, i.e. the store holds the item and hands it directly to the customer. allows to pay with Onestock, without having to go to the cash desk.

  • Order taking: this is the most advanced sub-module. Allows you to place orders for home delivery, click & collect or pickup point. Uses all the network's stock coverage.

 

Configuration

Now that everything is activated, it's time to configure the Order In Store tab. To do this, go to the Configuration > Store App > Pages > Catalog > Specific Settings > Options Backoffice tab.

For the moment, the configuration needs to be overloaded is in JSON format. A default configuration is applied, see below.

{ "cancel_payment_order_state": "", "categories_navbar": false, "countries": {}, "create_customer": true, "credit_authorization_first": true, "customer": { "create_request_params": {}, "custom_fields": {}, "search_request_params": {}, "update_request_params": {}, "upsert_address_request_params": {} }, "customer_identifier": "email", "declinations": [ { "feature": "color" }, { "feature": "size" } ], "default_sales_channel": "ois", "delivery_promise": { "available_methods": { "ckc": [], "home": [] }, "include_straight_fulfilled": true, "sort_on": "eta_end" }, "discount_limitations": { "limitations": {}, "use_compare_at_price": false }, "display_credit_provider_name": false, "endpoints_map": { "basket_shipping_options": { "request": "basket_shipping_options_endpoints", "zoom": { "distance": 20000, "quantity": 100 } }, "product": { "request": "product_endpoints", "zoom": { "distance": 20000, "quantity": 3 } } }, "id_formatter": "", "mono_quantity": false, "order_script": "", "pagination_batch_size": 24, "phone_number_required": false, "promotion_engine": false, "promotion_engine_request_params": {}, "quick_purchase": true, "ruleset_chainings": { "ckc": "", "ffs": "" }, "rulesets": { "ckc": "", "ffs": "" }, "search_input_delay": 200, "shipping": { "editable": true, "include_straight_fulfilled": true, "price_levels": { "ckc": [ { "currency": "GBP", "delivery_type": "standard", "from_price": 0, "shipping_value": 0 }, { "currency": "EUR", "delivery_type": "standard", "from_price": 0, "shipping_value": 0 } ], "home": [ { "currency": "GBP", "delivery_type": "standard", "from_price": 0, "shipping_value": 0 }, { "currency": "GBP", "delivery_type": "express", "from_price": 0, "shipping_value": 0 }, { "currency": "EUR", "delivery_type": "standard", "from_price": 0, "shipping_value": 0 }, { "currency": "EUR", "delivery_type": "express", "from_price": 0, "shipping_value": 0 } ] } }, "stock_requests": { "classification_key": "", "mapping": { "default": { "detailed": "detailed", "unified": "unified" } } }, "unique_product_filter": [ "color" ], "use_credit": false, "use_search_button": false }

As the JSON configuration is quite complex, please follow the steps indicated in each of the tabs below.

  1. Catalog

  2. Product

  3. Basket

  4. Customer

  5. Shipping options

  6. Payment

  7. Order generation