Food Not Available Experience

Food Not Available Experience

How we cut support calls for unavailable items by 87% on Iran's largest food delivery

Snappfood is Iran’s largest food delivery platform, serving over 8 million active users. It connects customers with their favorite restaurants, cafes, and grocery stores, ensuring fast and convenient service at scale.

Background

The restaurant doesn’t have all the items in your order

The restaurant doesn’t have all the items in your order

Imagine you place an order on Snappfood and wait for the restaurant to confirm it. But before the order is accepted, the restaurant realizes that one of your items isn’t available. They report the issue to Snappfood, the case moves to support, and an agent calls you to ask what should happen next: cancel the order, replace the missing item, or continue with what’s available.

Business Problem

Over 1.5% of Snappfood’s daily orders faced this issue

Over 1.5% of Snappfood’s daily orders faced this issue

At Snappfood’s scale, even a small percentage of orders could generate a large number of support calls. Each case needed an agent to call the customer, get their decision, and coordinate the next step with the vendor. What seemed like a simple availability issue was creating a recurring operational cost for the support team.

My Role

I led the design from problem framing to final solution

As the product designer on Snappfood’s 12-member Order & Follow-Up team, I worked with product, data, support, operations, and engineering to redesign how customers resolve Food Not Available cases after placing an order.

My role focused on breaking down the problem, exploring solution directions, validating the riskiest assumption with an MVP, and measuring the final impact.

Current Situation

The issue went from vendor report to support queue, then to a customer call

Before redesigning the experience, we mapped the support-led workflow to see where the customer decision was happening and how much operational effort it created.

We needed to understand what happened after Food Not Available

We needed to understand what happened after Food Not Available

From order review data, we found that

Food Not Available orders left users 10% less satisfied

Food Not Available orders left users 10% less satisfied

The data also showed that

The data also showed that

The manual process added 15–20 minutes of delay to each affected order

The manual process added 15–20 minutes of delay to each affected order

The manual process added 15–20 minutes of delay to each affected order

One unavailable item created cost for support and frustration for users

The issue had two sides: it increased support workload for the business, while users experienced delays, calls, and lower satisfaction.

64% of calls ended with a simple cancellation decision

64% of calls ended with a simple cancellation decision

When we mapped the user funnel, we found a pattern that had been overlooked for years: most support calls were not solving a complex problem.

After the agent reached the customer, 64.3% chose to cancel the order and the order again by themselves. This showed a clear opportunity: if customers could make that decision themselves, a large share of support calls could be avoided without redesigning the entire process at once.

1,300 affected users told us how they wanted to resolve the issue

1,300 affected users told us how they wanted to resolve the issue

To answer our questions, we ran a 3-day survey with users who had faced Food Not Available in the past 14 days. We sent it to around 14,000 users and received about 1,300 responses. This helped us understand their preferred resolution path and whether they actually wanted a support call.

User Problem

83.2% of users preferred resolving the issue in the app instead of getting a call

83.2% of users preferred resolving the issue in the app instead of getting a call

As one user put it: “I order online so nobody has to call me.”

Key Takeaway

Key Takeaway

Only 1.6% of users did not remember the issue. Almost everyone else remembered what had happened, showing how strongly this moment stayed in the user’s mind.

Benchmark

The strongest patterns kept the decision inside the order flow

The strongest patterns kept the decision inside the order flow

We benchmarked how other food delivery platforms handle unavailable items, including Uber Eats, DoorDash, Deliveroo, Wolt, Bolt Food, Just Eat and foodora.

Because this scenario happens after checkout, the exact customer flow was hard to benchmark publicly. But the available patterns pointed in one direction: stronger experiences treated Food Not Available as a decision moment inside the active order, not as a support ticket that had to be solved through calls.

Uber Eats lets users continue or cancel when an item is unavailable

Uber Eats lets users continue or cancel when an item is unavailable

When an item is out of stock, the order can be paused and the customer gets a limited time to continue without the item or let the order cancel.

DoorDash keeps unavailable-item decisions inside the active order

DoorDash keeps unavailable-item decisions inside the active order

Merchants can mark items as out of stock and follow the customer’s preference from the same order screen.

Deliveroo helps customers continue without the unavailable item

Deliveroo helps customers continue without the unavailable item

When part of an order is unavailable, customers can continue with the available items instead of going through a support-led cancellation.

The key takeaway was clear:

Users needed a quick, contextual way to decide what should happen next without leaving the order experience.

Design Direction

Design Direction

The decision needed to happen after checkout, inside the active order

We considered different points in the journey, but the data and survey made the direction clearer. Since only a small percentage of orders faced this issue, we didn’t want to change the ordering flow for everyone. The right moment was after checkout, inside the Follow Order experience, where users were already tracking their order.

Initial Solution

Initial Solution

The first solution added a break in the support flow for users to cancel or continue

The first version kept the support flow in place, but added a short break before assigning the issue to an agent. During that time, users could resolve the issue themselves inside Follow Order by either canceling the order or continuing without the unavailable item.

Entry point

Users were notified in Follow Order and through SMS and notification immediately.

Decision sheet

The bottom sheet explained which items were unavailable and let users choose the next step.

The bottom sheet explained which items were unavailable and let users choose.

Fallback

If users did not act in time, the issue moved to support and an agent called them as before.

Follow Order Page

Follow Order Page

  • Follow Order Page

Validation

If users missed Follow Order, the whole solution would fail to reduce calls ❌

If users missed Follow Order, the whole solution would fail to reduce calls ❌

Follow Order is a critical page in the food delivery journey, and changing it required meaningful technical effort. Before building the full decision flow, we needed to validate the riskiest assumption: Would users reach Follow Order in time after receiving an SMS or notification?

So we used a two-day MVP to test Follow Order visits with 30% of affected users

So we used a 2-day MVP to test Follow Order visits with 30% of affected users

So we used a 2-day MVP to test Follow Order visits with 30% of affected users

To test this with minimal technical effort, we built a simpler flow in
about 2 days.

For 2 weeks, we sent an SMS to 30% of affected users, asking them to open Follow Order to check their issue. Inside Follow Order, we only showed a simple message saying support would contact them soon.

This helped us measure whether users reached Follow Order in time, and how long it took after the issue happened.

To test this with minimal technical effort, we built a simpler flow in about two days.

For two weeks, we sent an SMS to 30% of affected users, asking them to open Follow Order to check their issue. Inside Follow Order, we only showed a simple message saying support would contact them soon.

This helped us measure whether users reached Follow Order in time, and how long it took after the issue happened.

33%

of affected users reached Follow Order

The MVP showed a promising signal: 33% of the test group visited Follow Order. Of those users, 14% opened the app themselves, while 19% entered through the SMS link. On average, users reached Follow Order 4 minutes after the vendor created the ticket. This gave us enough confidence to continue, and helped define how much buffer time we needed before assigning the issue to support.

A/B Test

The full flow let 37% of affected users resolve the issue without support

The full flow let 37% of affected users resolve the issue without support

Based on the validation result, we set the support delay to 6 minutes and launched the full solution as a one-month A/B test (50% 50%).

In the test group, 37% of affected users resolved the issue without a support call by either canceling the order or continuing through the app.

Key Findings

Key Findings

93% of support requests still ended in cancellation

93% of support requests still ended in cancellation

After talking to an agent, most users still chose the same outcome. The call was not changing the decision; it was only adding another step before cancellation.

43% of cancellations were caused by minimum basket rules

43% of cancellations were caused by minimum basket rules

When removing the unavailable item pushed the order below the vendor’s minimum basket value, the order could not continue anyway. In these cases, the support call only delayed an unavoidable cancellation.

Final Solution

The final flow removed unnecessary calls and handled unavoidable cancellations automatically

The final flow removed unnecessary calls and handled unavoidable cancellations automatically

After the A/B test, we refined the flow based on what the data showed. The final version removed unnecessary support calls, automatically handled orders that could not continue, and added an auto-call reminder to bring more users into the online flow before the support queue took over.

Removed the manual support option

Since 93% of users who requested a support call still canceled the order, we removed “contact support” as a primary option. The call was not changing the outcome; it was only delaying the decision.

Auto-canceled low-basket orders

If removing the unavailable item pushed the order below the vendor’s minimum basket value, the order could not continue. In those cases, we automatically canceled the order and notified the user by SMS.

To reduce drop-off after cancellation, we connected this flow to a redesigned cancellation experience, which I cover in a separate case study.

Added an auto-call reminder for inactive users

Some users still missed the SMS or did not open Follow Order in time. To bring more of them into the online flow, we added an automated call reminder that prompted users to check Follow Order and resolve the issue before the case moved forward to support.

Outcome

Outcome

Understanding both user pain and business cost helped us reduce support load with a simpler flow

Three months after launch, the results were stable. The new flow reduced the need for manual support while keeping the order experience healthy.

40%

users interacted with the flow or resolved the issue

+3%

relative increase in satisfaction for affected orders

40%

users interacted with the flow or resolved the issue

-87%

in Food Not Available related support calls.

+3%

relative increase in satisfaction for affected orders

Health Metrics / Guardrails

Also the new experience did not create a meaningful increase in cancellations and users did not compensate by contacting support through other channels.

Takeaways & Next Steps

The biggest wins came from moving simple decisions to the right moment

The biggest wins came from moving simple decisions to the right moment

This project showed that not every support-heavy problem needs a more complex support process. In many cases, users already know what they want to do; they just need a clear way to act at the right moment.

By combining data, user feedback, and close collaboration with support, operations, product, and engineering, we turned a recurring manual process into a faster self-service experience.

Future Plans

Future Plans

Cancellation page redesign
Streamline the reordering experience after cancellation and help users recover faster.

Item replacement feature
Allow users to replace unavailable items directly inside the app instead of choosing only between canceling or continuing.

Voices from the Work

A few words from the people I've worked closely with.

A few words from the people I've worked closely with.

"Amirhosein consistently demonstrates an impressive level of accuracy in their work. Their attention to detail and meticulous approach to product design ensures that every aspect of our platform is thoughtfully crafted and user-friendly. Their ability to translate complex concepts into intuitive and elegant designs has greatly contributed to the success of our projects."

Mahdi Majidzadeh ⋅ Product Director, Digikala

"Amirhosein is a beast of a designer. Sharp, detail-obsessed, and ridiculously good at both design and code. He doesn’t just think outside the box; he straight-up redesigns it. Clear communicator, problem solver and the guy you want on your team when things get tough."

Yousef Kasiri ⋅ Senior Product Designer, Snappfood

"I highly recommend Amirhosein as a talented design leader with a strong track record. He has a keen eye for identifying design opportunities that delight users while supporting business goals. He would be an invaluable addition to any product design team."

Mahsa Kazemi ⋅ Product Manager, TransPerfect

About

I’m a senior product designer based in Vienna with 8+ years of hands-on experience, building B2C products with full ownership from concept to launch. I work closely with cross-functional teams to turn complex problems into clear, scalable experiences that ship and perform. Most of my work has been across fintech, e-commerce, and food delivery.

Let's discuss how I can make your product better!

I'm currently open to new opportunities — full-time or part-time.

Copy Email

Copied

© 2026 All right reserved

Let's discuss how I can make your product better!

I'm currently open to new opportunities — full-time or part-time.

Copy Email

Copied

© 2026 All right reserved

Let's discuss how I can make your product better!

I'm currently open to new opportunities — full-time or part-time.

Copy Email

Copied

© 2026 All right reserved