System design interview guide
BigBasket System Design: Delivery Slots, 10-Minute Orders and Items Sold by Weight
Short answer
BigBasket system design is one grocery app with two delivery promises. Big planned baskets come in a slot the customer picks, packed in waves in a warehouse and carried by van. Small urgent orders come in about 10 minutes from a nearby dark store. A shared catalog and cart sit on top. A promise service checks each item and can split one cart into two orders. Each slot is treated as stock: booking it is one update that only works while there is room. Weighed items like tomatoes are billed after packing, within a limit the customer agreed to.
Two courses by the author of this page:
770 lessons · 18 free to read
₹1,111 in India · $25 elsewhere, once
Get System DesignYou own this course
214 lessons · 10 free to read
₹1,333 in India · $35 elsewhere, once
Get Generative AI and Agentic AIYou own this course
Save your progress and get the interview checklist PDF
BigBasket began as a grocery app with scheduled delivery slots. In 2021 Tata Digital bought it. Later it moved its focus to 10-minute delivery, under the name BB Now. In June 2025 it ran about 700 dark stores. It planned to reach 1,000 to 1,200 by the end of 2025. That is up to 71% more stores in about six months. So the interview question is not just a quick-commerce app. It is one app that keeps two promises. A monthly basket arrives in a slot you chose. A forgotten packet of milk arrives in minutes.
BigBasket sells groceries online in India. It is owned by Tata Digital since May 2021. It is known for big monthly baskets delivered in a time slot the customer picks. It also runs BB Now, a 10-minute service from dark stores. A design like BigBasket's must handle both. A slot order is large and planned. It is packed in a big warehouse and carried by van with many other orders. A 10-minute order is small and urgent. It is packed in a dark store near the customer. Three things make this design its own. First, a delivery slot is stock: each slot holds only so many orders. Second, one cart may have to become two orders. Third, fruit and vegetables are sold by weight, so the final bill is known only after packing.
Where it shows up
A natural question for grocery, retail and logistics roles in India. Think of BigBasket, Swiggy Instamart, Zepto, Blinkit, JioMart and Amazon Fresh. The general forms are: design a grocery delivery app, or design slot booking. Another is a system with both scheduled and instant delivery.
Spec sheetBigBasket
- 01Dark stores
- ~700, target 1,000 to 1,200
- 02Orders one slot can hold
- 360 per hub (example)
- 03Scheduled orders per hub per day
- ~2,520 (example)
- 04A weighed item
- Rs 40.00 ordered, Rs 43.20 picked
worked through below, with the maths
in this guide
Design BigBasket, part by part
8 parts open to everyone · 3 with a free account · 3 with the course
You can read 8 of 14 parts. A free account opens the deep dive; the course opens all of it.
- Requirementsopen
- Scale estimatesopen
- High-level architectureopen
- One mixed cart, end to endopen
- Core componentsopen
- Data modelfree account
- Deep dives (6)free account
- Trade-offs to discussfree account
- What the interviewer asks nextwith the course
- The interview scorecardwith the course
- Mock interview on this questionwith the course
- How BigBasket actually does itopen
- Frequently asked questionsopen
- Interview readiness checkopen
The hard parts of this design are taught step by step in the System Design course: Saga Pattern, Database Sharding and Geospatial Indexing.
Why this question is asked
It tests whether you can see that time is a resource. Most candidates design the shop and forget the vans. But a slot is a promise with limited room, like a seat on a train. It must be held, sold and released like stock. The question also tests money handling, because a weighed item's price changes after payment. And it tests how you split one cart across two very different ways of delivering.
This page is the free part.
The course goes deeper on the BigBasket design
₹1,111 in India$25 everywhere elseonce, for the whole course
The System Design course covers the BigBasket design across a run of lessons, not one page. These 4 alone are about 99 minutes of step-by-step reading, 1 of them with code you run in the browser, all with a quiz.
- Saga Pattern
Long-lived transactions without distributed locking, orchestration vs choreography for microservices.
- Database Sharding
Splitting a database across multiple servers, the nuclear option for scaling writes, and the architecture behind Instagram, Uber, and YouTube.
- Geospatial Indexing
How databases efficiently answer 'find everything near me'. R-trees, geohashes, and spatial queries.
- Idempotency Keys
Safely retry failed API requests without causing duplicate side effects.
all part of
System Design Masterclass
770 lessons · about 287 hours · 18 free to read
₹1,111in India, by UPI
$25everywhere else, by PayPal
You own this course
Continue with Saga Patternpay once,
yours for life
Live from the course bench
Before you design BigBasket, try the questions it rests on.
Real interview questions, live diagrams and measured lab results, pulled at random from the lessons. A new set every time you come back.
Requirements
Always clarify these in the first 5 minutes of the interview. Do not start drawing boxes until both lists are agreed.
Functional requirements
- Show the slots open for the customer's address, and hold one at checkout
- Close a slot once it is full, and open more if vans are added
- Offer 10-minute delivery for items the nearest dark store has
- Split one cart into a slot order and a 10-minute order when needed
- Sell fruit, vegetables and meat by weight, and bill the weighed amount
- Let the customer approve or refuse a substitute for a missing item
- Plan van routes for each slot, and track the delivery
Non-functional requirements
- Never sell more orders into a slot than its vans can carry
- Never charge more than the customer agreed to for weighed items
- A 10-minute order must not wait behind slot planning
- A new dark store opens as a data change, not a code change
- A failure in route planning must not stop customers from ordering
Back-of-envelope scale estimates
Show your math. Pulling numbers from thin air signals you have not thought about the load.
Dark stores
~700, target 1,000 to 1,200
In June 2025, Business Standard reported about 700 dark stores. The target was 1,000 to 1,200 by the end of 2025. Going from 700 to 1,200 adds 500 stores, which is 71% more. Going to 1,000 adds 300, which is 43% more.
Orders one slot can hold
360 per hub (example)
Assume one city hub has 30 vans. Each van carries 12 big orders per trip. One round trip fits in a 2-hour slot. 30 times 12 times 1 is 360 orders per slot. These are interview assumptions.
Scheduled orders per hub per day
~2,520 (example)
From 7 am to 9 pm there are 7 slots of 2 hours. 360 orders times 7 slots is 2,520 orders per hub per day. Adding vans or a second trip raises it.
A weighed item
Rs 40.00 ordered, Rs 43.20 picked
Assume tomatoes at Rs 40 a kg. The customer orders 1 kg, so Rs 40. The picker's scale reads 1.08 kg. That is Rs 43.20. The bill must follow a rule the customer agreed to.
Card hold for a weighed basket
Rs 1,650 held, actual total charged
Assume a Rs 1,500 basket with weighed items. Hold 10% more on the card, which is Rs 1,650. After packing, charge the weighed total and release the rest. 10% is an assumption.
Carts that mix both kinds
5 to 10% of users
BigBasket's co-founder spoke to Business Standard in June 2025. He said 5 to 10% of users combine quick food items with regular grocery orders. So a mixed cart is not rare.
High-level architecture
Build one front and two back ends. The front is shared: the catalog, search, cart and payment. Behind it are two fulfilment paths. The slot path serves big planned baskets. Stock is counted per item, per large warehouse. Orders are packed in waves before each slot. Vans carry many orders on a planned route. The quick path serves small urgent orders. Stock is counted per item, per dark store. Orders are packed in a minute or two and taken by a rider. A promise service sits between the cart and the two paths. For each item in the cart, it asks: can the dark store send this now? Can a warehouse send this in a slot? It returns the options to the customer. Slot capacity is its own small service. It counts how many orders each slot at each hub can still take, and holds a place at checkout. Weighed items are priced as an estimate at checkout and finalised at packing. Events from both paths go through one queue, so tracking and notifications work the same way.
In a real interview, sketch this on the whiteboard before diving into any single box.
One mixed cart, end to end
A customer adds rice, oil, 1 kg of tomatoes and a packet of milk. She wants the milk now.
- 1
The promise check
The promise service checks each item. Her dark store has milk now. The warehouse has everything for the 6 to 8 pm slot.
- 2
The split
The cart becomes two orders: milk in 10 minutes, the rest in the 6 to 8 pm slot. She sees both before paying.
- 3
The holds
The dark store holds one milk. The warehouse holds rice, oil and tomatoes. The slot service holds one place in the 6 to 8 pm slot. All three must succeed, or none are kept.
- 4
The payment
One payment covers both orders. For the weighed tomatoes, a little extra is held on the card, by a set rule.
- 5
The milk arrives
The dark store packs the milk at once, and a rider brings it.
- 6
The basket arrives
Before the slot, the warehouse packs the basket. The tomatoes weigh 1.08 kg, so the bill becomes Rs 43.20 for them. The van brings it in the slot, and the final charge is the weighed total.
Core components
Walk through each service. The interviewer wants to hear what each one owns, not just the names.
Catalog, search and cart (shared)
One catalog for both paths. Each item knows if it can go by slot, by quick delivery, or both. The cart is shared, so the customer does not shop twice.
Promise service
For each item and address, it returns what can be promised. That is now from a dark store, or in some slots from a warehouse. It reads fast stock views and slot capacity. It does not change stock.
Slot capacity service
Keeps, for each hub and slot, how many orders it can take and how many are booked. Holds a place at checkout with one conditional update. Closes a slot when it is full.
Warehouse stock and wave picking
Stock per item in each large warehouse. Before each slot, orders are grouped into picking waves, so pickers fill many baskets in one walk.
Dark store stock and quick picking
Stock per item in each dark store, with a hold at checkout. Orders are picked one at a time, at once. This is the same design as the Blinkit and Zepto pages.
Weight and substitution service
Records the real weight of each weighed item at packing and computes the final price. Offers substitutes for missing items, by the customer's earlier choice.
Route planning and dispatch
Plans van routes for each slot once it closes, and assigns riders for quick orders. Route planning can run late without blocking any customer.
Data model
slot_capacity. One row per hub per slot. A booking adds one to booked, but only if booked is below capacity. Adding a van raises capacity.
Every table for BigBasket, its keys, and which store fits it and why.
Deep dives
A delivery slot is stock. A slot looks like a time on a screen. Underneath, it is room in vans. Say a hub has 30 vans, each taking 12 big orders per trip, and one trip fits a 2-hour slot. Then…
6 deep dives on the parts that break at scale, with 2 diagrams: A delivery slot is stock; One cart, two kinds of order; Items sold by weight.
Trade-offs to discuss
One app with two paths versus two separate apps. Two apps are simpler to build and run. But customers would shop twice and pay twice. One shared front with two fulfilment paths gives one cart. The cost is a promise…
4 decisions an interviewer expects you to defend, each with the alternative and why it loses here.
What the interviewer asks next
How do you decide the capacity of a slot?
3 follow-up questions with model answers, the interview scorecard for this question, and a mock interview on Design BigBasket with the AI tutor.
How BigBasket actually does it
BigBasket has not published how its systems are built in the sources read for this page. So the design here fits public facts; it is not a description of BigBasket's code. Business Standard reported in June 2025 that BigBasket had about 700 dark stores. It planned 1,000 to 1,200 by the end of 2025. And 5 to 10% of users mix quick food items into regular grocery orders. Storyboard18 reported the same month that Tata Digital acquired BigBasket in May 2021. It said the quick commerce service was renamed BB Now. It also said BigBasket shifted its focus from slotted deliveries to quick delivery. Slot sizes, van counts and weights on this page are interview assumptions.
Lessons to study before this interview
If any of these topics are fuzzy, the interviewer will catch it. Each lesson is 15 to 60 minutes with diagrams, code, and a quiz.
Saga Pattern
advanced / distributed systems core
Database Sharding
foundation / database fundamentals
Geospatial Indexing
intermediate / database types storage
Idempotency Keys
intermediate / api design protocols
Delayed Queue
intermediate / messaging event systems
Message Queues
intermediate / messaging event systems
Materialized Views
foundation / database fundamentals
Cache-Aside Pattern
foundation / caching strategies
System design interviews at Indian tech companies
28 walkthroughs of the products Indian interviewers ask about, each with the real scale numbers, the architecture and the trade-offs that company had to make.
Food delivery and quick commerce
- Swiggy system design
- Zomato system design
- Zepto system design
- Blinkit system design
- BigBasket system design (this page)
Payments and fintech
E-commerce
Travel and ticketing
Rides, logistics and services
Streaming and gaming
Frequently asked questions
interview readiness
Are you ready for Design BigBasket?
Three questions from this guide. Answer them without scrolling up, the way you would have to in the room.
Go deeper
This guide is built on these 6 lessons. Each one teaches one piece of the BigBasket design above, step by step.
- Saga PatternSystem Design · distributed systems core · 30 min
- Database ShardingSystem Design · database fundamentals · 35 min
- Geospatial IndexingSystem Design · database types storage · 16 min
- Idempotency KeysSystem Design · api design protocols · 18 min
- Delayed QueueSystem Design · messaging event systems · 18 min
- Message QueuesSystem Design · messaging event systems · 20 min
Practice with 770 system design lessons
Lifetime access for ₹1,111 in India or $25 elsewhere. Interactive diagrams, quizzes, and 20 capstone projects to practise on.
This one question is not enough for the interview.
Get all 200 questions in the System Design and Distributed Systems pack
Each question has why it is asked, a full answer, what the interviewer listens for, the follow-ups, the common mistakes and a diagram (268 diagrams in all). A PDF you keep, junior to staff level.
India: UPI, cards or netbanking through Razorpay. Elsewhere: card or PayPal. Download at once from My packs.
NEWSystem Design Hands-On
Included in the System Design course: real systems, built live
Postgres Sharding: Complete Hands-On (PgBouncer + Citus). 2 h 36 min and 20 chapters: one PostgreSQL loaded until it breaks, then four shards behind a router you write, PgBouncer and Citus, with the 139-page slide deck. The first 15 minutes are free to watch.

