Implementing Locker Collection
Author:
Ashwin Anand
Changed on:
5 Sept 2025
Key Points
- A simple way to illustrate how to enable the locker collection option in the Click & Collect workflow
- Illustrates a way to expose the locker information to the order sales channel via the Fulfilment Options workflow
- Access to the lockers is assumed via the carrier company delivering to the locker location (i.e. there is no hardware integration)
Steps
The Problem
Before you begin
Objective:
Locker-Based PickupPrerequisites (Fluent):
- Locker locations (stores) with required location attributes
- Existing network “Click & Collect” (CC_NETWORK)
- Existing “Fulfillment Options” and “Click & Collect” order workflow
Implementation/Configuration Steps:
To implement the physical collection locker system, leverage the existing “Fulfillment Options” and “Click & Collect” order workflows.The “Fulfillment Options” workflow identifies the three nearest plans, options, or stores based on the customer’s address, allowing them to choose one before placing an order. Once the order is placed, the “Click & Collect” order workflow is triggered.
1. “Fulfillment options” Workflow Implementation/Configuration Steps:
Locker locations (Stores: VR01, VR02, VR03, VR04 & VR05) configuration in the Fluent OMS with required location attributes:
- This configuration represents physical locker locations of type Store in the Fluent OMS web application.
- In the back-end logic, utilise the locker store's parameters like ref, name, address, latitude and longitude to check distances from the address.

- Location attribute is used to represent the locker store. The attribute name
`IS_LOCKER _STORE`represents the locker store. If the value of such an attribute is`true`, it is treated as a locker store.

Network configuration in Fluent OMS:
- Utilise the click & collect related network, which is configured within the related workflow.
- In the back-end workflow, the logic accesses the network and the locations within it. Only locations that are part of the
`CC_NETWORK`and have an`ACTIVE`status are considered for the different rules checks of the CC order.

Ruleset related to network (Workflow: “Fulfilment options: Default”):
Code sample: Rule: `GetLocationsForNetworkFO`
Add locker locations (VR01, VR02, VR03, VR04 & VR05) in network (`CC_NETWORK`):
- Only locations that are part of the
`CC_NETWORK`and have an`ACTIVE`status are considered for the different rules checks of the CC order. - The logic employs locker locations (VR01, VR02, VR03, VR04, and VR05) within the
`GetLocationsForNetworkFO`rules’ Java class, utilizing the network specified in the fulfillment option workflow.
Inventory checks (Virtual Position):
- Since most of the business requirements related to locker collection points have no inventory check related constraint, inventory check can be disabled to avoid the stock related checks.
- The code sample below gives the view of how the inventory check is bypassed in such a scenario.
Ruleset related to inventory checks (Workflow: “Fulfillment options: Default”):
Code sample: Rule: `SearchInventoryAtLocationsFO`
Fulfillment Plans:
- From the filtered locations based on all the above-mentioned checks the logic proposes the 3 nearest fulfillment plans/locations from the address so customers can select any of them and place an order.
- Since locker stores serve as collection points without their own inventory, orders for these lockers are fulfilled from the nearest store or location. Therefore, if the fulfillment plan includes locker collection points, those orders are always fulfilled from the stores or locations associated with these pickup points.
- In the back-end logic, the workflow refers to the properties that denote the relation between the locker Pick-up Store ID and their corresponding fulfillment store (where the actual inventory will be fulfilled from). Based on the corresponding tagging to stores, the appropriate locker fulfillment store is assigned to the locker collection location as the fulfillment store.
- So for example, Locker Collection Points: VR01, VR02, VR03, VR04 & VR05 delivery are tagged to
`FULFILMENT_REF = “VC63”`store. Similarly, Locker Collection Points: SR01, SR02 & SR03 delivery are tagged to`FULFILMENT_REF = “SC03”`store for their respective fulfillment.
Ruleset related to fulfillment plans (Workflow: “Fulfillment options: Default”):
Code sample: Rule: `CreateFulfilmentPlans`
2. “Order: Click & Collect” Workflow Implementation/Configuration Steps:
Create fulfillment based on the fulfillment plan for the CC order:
- If the fulfillment plan exists and the pickup/collection point is “Locker location/store”:
- If a fulfillment plan exists for the order and the fulfillment location reference in the plan details is a locker location, the order is fulfilled from the locker fulfillment store. For locker orders, the “TO Location” is one of the locker locations (VR01, VR02, VR03, VR04, or VR05), and the “FROM Location” is always “VC63.”
- This ruleset calls the event
`UpdateOrderAttributeForCollectionPoint`as the next ruleset.
Ruleset related to the create fulfillment for CC order (Workflow: “Order: Click & Collect”):
Code sample: Rule: `CreateFulfillmentCC`
Add a new ruleset `UpdateOrderAttributeForCollectionPoint` for the “Order: Click & Collect” Workflow:
- Add the ruleset
`UpdateOrderAttributeForCollectionPoint`to differentiate the locker collection point orders from the other orders. - The order includes an attribute field, and by applying this new rule, a new attribute is added to identify the locker collection point order.
- This rule updates the order attribute for locker collection point orders as below:
`"attributeName": "IS_LOCKER_ORDER", ``"attributeType": "STRING", ``"attributeValue": "TRUE"`
Ruleset `UpdateOrderAttributeForCollectionPoint` (Workflow: “Order: Click & Collect”):
Code sample: Rule: `UpdateOrderAttributeForCollectionPoint`
Conclusion:
- After implementing this feature, new stores can be added and designated as lockers using the location attribute. The attribute
`IS_LOCKER_STORE`is used to identify locker stores, and if its value is set to “true,” the store is treated as a locker collection point. - The “Fulfillment Options: Default” workflow includes a ruleset for the distance radius threshold. Locations within “x” kms from the address are considered for the fulfillment option plan or subsequent checks, allowing for store selection based on proximity.
- From the filtered locations that pass all “Fulfillment Options: Default” workflow checks, customers can view the three nearest fulfillment plans, options, or stores on the front-end screen when placing a Click & Collect order. They can then select one of these options before finalizing their order, ensuring they can pick up their order from the nearest and most convenient locker collection store.
