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

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
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.


From order review data, we found that

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.

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.
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
As one user put it: “I order online so nobody has to call me.”
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

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.

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.

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

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.
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.
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
Fallback
If users did not act in time, the issue moved to support and an agent called them as before.
Validation
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?


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
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.
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.
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

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.
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.
-87%
in Food Not Available related support calls.

Takeaways & Next Steps
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

"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.















