Ordering food online
Redesigning the experience of placing an order and waiting for it to arrive.
April 2017

The Challenge

When a customer orders food online, a dozen systems come to life. The restaurant starts cooking, the billing and invoicing happens in the background, the delivery boy picks up food, and the app shows an ETA. We hope the customer always receives the food on time. There are times when things don't go as planned. Maybe a new customer gets lost in the process, there’s a payment failure, or the food is late.

Our challenge in this project was to identify suboptimal experiences and provide better way around them. The project is in two parts — Checkout and Crystal. Checkout is online when the customer is placing an order. Crystal — named after our desire to be “crystal clear” — is offline, and begins when the food leaves the restaurant. I worked with my colleague Pranu on this project.

Happy path

If a customer were to have a great experience with Checkout and Crystal, here's how the happy path would look.


A first-time customer doesn't know how we will get food into their hands. They may have an idea if they used other online ordering platforms. Our goal is to walk them through the first-time process. We take them step-by-step: enter contact details, then enter an address and confirm it on the map, verify everything on the cart, and finally proceed to payment. This makes them feel they're in control.

For a returning customer, we wanted to make it fast. We default the customer's contact details, address, and payment method. It's a one-tap checkout to pay. Apple Pay and Amazon provided the inspiration for this flow.


Once the order is on its way, we provide contact details for the delivery boy. This gives the customer a communication channel for the last mile delivery. (Especially useful for busy Indian roads!) Future versions include tracking the order on the map.

Late orders

We want to direct customers to chat support automatically when their order is late. This is different from earlier, when the burden to contact Zomato was on the customer. Moving the customer to support helps them make less decisions and get answers quicker. Inevitably, they are seeking our help. Chat lets our customer support team handle 3-4 orders at once. This is a win for both sides.

Start Customer is waiting for the order
Step 1 It's time! Have you received your order?
Step 2 If "No", move customer to chat. Customer support helps out.
Step 3 User goes back to order tracking.
End User informs Zomato when they receive the order.


A big part of this project was separating the new vs. returning user experiences. For a new customer, handholding them through the process and keeping their anxiety low felt very important. It's the first time they are placing an order, anticipating the food they'll get, and giving us their card information. For a returning customer, reducing decision-making and confirmation steps makes the ordering experience feel effortless. This is important considering we want them to open Zomato Order before getting takeaway.

Back to top