Product Design of a Restaurant Data Integration API for Uber Eats
Company: Carta
Role: Product Manager
Category: Product Design & Strategy
Difficulty: medium
Interview Round: Other
You are a product manager at Uber Eats. Restaurants need a programmatic way to send their own data into the Uber Eats platform. Design the APIs that make this possible: who would use them, what they would let restaurants send, how an integration would work from setup to day-to-day updates, and how you would know the API product is succeeding.
```hint Who writes the code?
Most restaurants have no engineers of their own. Think about who actually builds and runs these integrations, and about what goes wrong for a diner when a restaurant's information in the app falls out of date.
```
### Clarifying Questions
- Which restaurants should the APIs serve first: large chains with their own engineering teams, or independent restaurants that run on a point-of-sale or online-ordering system?
- Which data is in scope: menus, prices and photos; opening hours and item availability; or also updates on orders, such as accepting an order or marking it ready for pickup?
- Do restaurants already maintain this data by hand in a dashboard or tablet, and should the APIs replace that or work alongside it?
- How deep should the design go: product requirements and capabilities, or down to endpoints and payloads?
### What a Strong Answer Covers
- The APIs' real users and the concrete problems that manual or stale restaurant data causes for diners, couriers and restaurants.
- A prioritized, phased scope of the data the APIs carry, justified by its impact on orders.
- Integration design at a product level: resources, update patterns, validation, authorization, versioning and error handling.
- Onboarding and developer experience for the partners who build integrations.
- Success metrics for the API as a product, with guardrails on data accuracy, reliability and the diner experience.
### Follow-up Questions
- A chain pushes a price change to thousands of locations and part of the batch fails validation. How should the API behave, and what does the chain see?
- Would you start by building integrations with the largest point-of-sale providers or by opening the APIs to any developer? What would change your mind?
- Diners keep ordering items that turn out to be sold out. Which part of your design addresses this, and how would you show that it improved?
Overview: A product design question that asks a product manager to design the APIs Uber Eats would offer so restaurants can send their data to the platform. It tests identifying the real API users, scoping and prioritizing restaurant data, integration and developer-experience choices, and success metrics for an API product.