Enabling Merchants to Handle 200+ orders

My role
As an individual designer, I was in responsible for delivering an end to end experience. I worked closely with cross-functional teams and conducted on-ground studies to deeply understand store processes.
Team
1 designer
2 product managers
10+ engineers
Timeline
Feb 2022 - Jul 2022
Dunzo
One of the largest 24X7 delivery platforms in India, that picks and delivers anything and everything within the city.
Dunzo Daily
Org’s primary focus, Dunzo Daily is a quick e-commerce service which full-fills your daily needs through its micro-warehouses & local merchants.

How does Dunzo Daily work?

Customer places an order
Nearest merchant receives and prepares the order
Delivery partner picks up and deliver the order
How does order processing work at the store?

Picker finds and scans all the ordered items from the racks
Packer packs all the items in a bag
Handover person handover the order to the delivery partner
Research - Visiting stores
To avoid overlooking the details and to make an accurate comparison, we went to two Dunzo-owned stores and one marketplace store.
We began shadowing pickers as they processed orders to gain a better understanding of their process. We also processed a few orders to obtain firsthand insight.

Problems identified from research
📖
No way of managing store members’ database
The current process for managing store members' data is extremely chaotic. Some store managers would manage it in spreadsheets, while others would manage it offline in notebooks. It becomes more difficult when store members switch from one store to another.
🔎
No visibility of who is picking the order
Whenever store members want to communicate about a particular order internally, they would shout the order ID, and someone would shout back. The same problem would happen, when delivery partner asks for the specific order and the order is in progress.
🙆🏻♂️
Human interventions when deciding which order to pick
During peak hours, the store manager himself verbally assigns orders to pickers based on the complexity and urgency of the orders. When the order is complex, inexperienced pickers will ask other pickers if they can pick it. As a result, some pickers would end up working more than others while receiving the same pay.
Step by step approach

1.Create & manage members
From the dashboard, the store manager can manage all the store's members. When a new store member joins, the store manager can add them, and the details are obviously editable.
If a member moves from one store to another or leaves the store, the store manager can deactivate that member's profile. He/She can always reactivate the member if a member returns.

Onboarding for pickers
Pickers can now log in using their own account. Pickers will be notified in the app and communicated in person once their profile is created. They will log in using Google and begin processing orders.

Visibility of pickers
From the insights, we identified multiple touch points in order processing journey where store members needed to know who is picking up the particular order. Providing picker’s visibility will eliminate the communication gap in the store. And in the case of IID(issue with items delivered), the store manager will know the picker who can be educated later.

2.Availability of pickers
When an order is received by the store, the system needs to know which picker is available in order to assign it to that picker. We enabled pickers to go online/offline based on their availability.

Availability of pickers
Picker’s experience

Store manager can control from dashboard
The store manager will also be able to see whether the picker is online or offline. Because the store manager is the master user, we gave them full control so that in the event of an emergency or a technical issue, they can change the status of the pickers, avoiding order delays.

Availability of pickers
Observed unexpected behavior
Learning
After providing some level of training, we launched it in a few stores and started analysing. Data shows that pickers do not mark themselves offline when their shift ends or when they leave the store.
Potential consequences
If pickers do not mark themselves offline after their shift ends, our system will continue to assign them tasks. Because the pickers have already completed their shifts, these orders will be delayed until the store manager notices on the dashboard. In conclusion, our customer will suffer as a result of this flaw in our system.

Creating shifts
Store managers can create the shifts from merchant dashboard. Since there can only be a maximum of 4 shifts, we made it simpler for them by providing them with 4 options as the default. The only thing store managers need to do is add the timings for their specific stores.

Assigning shifts
The store manager can assign the pickers' shift times from the dashboard. Every time a new picker joins, they are given a shift time based on their preference, and the same is true for current pickers.

Assigning shifts
How shifts reflect in the app
Since we don't want any orders to be delayed, we created some hard-wired conditions that will mark pickers offline automatically in the below instances.

Updated workflow of order processing

Final designs
Key screens
We incorporated the revised flow into the product. Pickers will now be assigned a new order without any intervention and will begin processing the orders.

Final interactions
End to end experience

Impact & outcome
The entire feature went live in below no. of stores by Jan, 2022.
🏪
No. of stores
52
🛍
Orders/store/hour
~185
Feedback from surveys and calls
👉🏻 Previously, a few pickers would purposefully pick small basket orders; now that they are auto allocated, the workload is distributed evenly to everyone.
👉🏻 They also mentioned how simple it was to use and how quickly they were able to adapt to it.
👉🏻 The store manager is not required to intervene in the order processing, unless there is an emergency,

Future scope
Intelligent system which finds the best picker for particular order
We will learn from the current allocation system and establish performance metrics for the pickers. Pickers' experience, number of orders completed, average time to pick the order, number of items in the order, and so on will be taken into account by the system in order to find the best match for the specific order.
More flexible system to override the allocation
As previously stated, the store manager is the store's master user. When necessary, the store manager will be able to override the system's decision to select a specific picker for an order in the future.

Learnings
Have the first-hand experience of user to solve better
Coming from a background of designing for the ed-tech field, it was difficult to understand how the end-to-end system worked, how operations worked in the stores.
I spoke with the operations team, designers, and project managers, went through all research documents, and even watched store videos to better understand how things work in the store.
After a few months, I was able to visit a few stores and speak with store employees. It provided me with a fresh perspective altogether. Later I relocated to BLR and started visiting the stores frequently which helped me a LOT. I wouldn't have been able to design effectively for this context, If I hadn't made the visits.
Always push for the ideal experience
In an organisation where each project is competing with each other for tech bandwidth, it's easy to fall into the zone of prioritising technical constraints over user experience when designing. This happened to me as well.
I spoke with my senior designer, and we decided to try a reverse approach, in which we would present the best possible user experience while leaving the constraints to the developers. We'd keep the less optimal designs as backups and only discuss them when necessary.
And it worked! Developers would only recommend reusing existing designs or redoing something if absolutely necessary. It may appear obvious now, but trust me when I say it wasn't earlier.