Delivery charges by pincode sound like the obvious way to price delivery: ₹20 for 452001, ₹40 for 452010, nothing to 452018. In practice a pincode is a rough unit. Some cover a kilometre, some cover eight, and one edge of a pincode can be next door to your kitchen while the other is across the river. Distance-based delivery zones give you what owners want from pincode pricing, a different charge for a different area, measured from where the rider actually starts.
This post shows how to turn the pincode list in your head into zones, how to price each zone from what the rider costs you, how free-delivery thresholds work per zone, and what the customer sees when they share their location on WhatsApp or the store page.
Why pincodes are a rough proxy for distance
A restaurant in Vijay Nagar, Indore thinks of delivery in areas: "Vijay Nagar and Scheme 54 are near, Palasia is medium, Rau is far." Pincodes are the postal service's map of the same city, drawn for sorting letters, and the two do not line up. A single pincode often spans a near area and a far one. Charging it one rate means either overcharging the near customer or losing money on the far one.
The rider does not think in pincodes either. The rider thinks in kilometres and minutes, and that is what you pay for. A zone drawn as a distance ring from the kitchen matches the cost. The general approach to drawing zones, with examples for different city layouts, is in how to set delivery zones and charges by distance.
Where pincodes still help is in talking to customers. "We deliver to 452001, 452010 and 452011" is a sentence a customer understands. Keep that list for your store page description and your Google listing, and use distance for the actual charge.
Mapping your areas to zones
Take the areas you deliver to, note how far each is from the kitchen by road, and group them into three or four rings. For a kitchen in Vijay Nagar it might look like this.
| Zone | Distance from kitchen | Areas covered | Delivery charge | Free above |
|---|---|---|---|---|
| Zone 1 | 0 to 2 km | Vijay Nagar, Scheme 54, Scheme 78 | ₹20 | ₹299 |
| Zone 2 | 2 to 4 km | Bhawarkua, Palasia, LIG | ₹40 | ₹499 |
| Zone 3 | 4 to 6 km | Sudama Nagar, Rajendra Nagar | ₹60 | ₹799 |
| Zone 4 | 6 to 8 km | Rau, Bijalpur | ₹90 | None |
| Outside | Beyond 8 km | Everything else | Not delivered; pickup offered | None |
The areas column is for you and your riders; the distance column is what the system uses. A customer in Palasia who happens to be 1.9 km away gets Zone 1 pricing, which is right, because that delivery costs you Zone 1 money.
Pricing each zone from rider cost
Price the charge from what the trip costs, then decide how much of it the customer should pay. A reasonable way to cost a trip for an in-house rider is a share of the rider's daily wage per delivery plus fuel per kilometre.
- Rider at ₹700 a day doing 25 deliveries: ₹28 per delivery in wages.
- Fuel at roughly ₹3 per kilometre, there and back: ₹12 for a 2 km trip, ₹36 for a 6 km trip.
- Zone 1 trip cost: about ₹40. Zone 3 trip cost: about ₹64. Zone 4: about ₹76.
Against those, the charges in the table recover half of Zone 1, most of Zone 3 and all of Zone 4. That is a common shape: subsidise the near zone, where orders are frequent and small, and charge the far zone its full cost, so that a far order is at least never a loss. The full breakdown of what a small order costs to deliver is in what a 200 rupee order really costs to deliver.
If you use third-party riders, replace the wage and fuel lines with their per-trip rate by distance, which already comes in bands, and set your zones to match their bands.
What this looks like on Tezzu
In the Tezzu dashboard, delivery zones are set as distance rings from your outlet. For each zone you enter the distance it extends to, the delivery charge, and, if you want one, the order value above which delivery is free in that zone. Anything beyond your last zone is outside delivery, and if you have self-pickup switched on the customer is offered pickup instead of being turned away.
On WhatsApp, the customer builds their order and the bot asks for their location. They share it, the bot works out which zone it falls in, and the order summary shows the delivery charge for that zone before they pay. If their order is ₹520 in Zone 2, the delivery line reads ₹0 because they crossed the ₹499 threshold, which is the nudge that makes the next customer add a side. On the store page at tezzu.in/store/your-name the same thing happens when they enter their address at checkout.
A customer outside the last ring is told you do not deliver to that address, and is offered pickup if you have it on. Nobody argues about a charge after the fact, because the charge was shown before payment.
In the dashboard, each order carries its delivery charge, so at the end of the week you can see how many orders came from the far zone and whether it is worth keeping. Full setup steps are in delivery zones, charges and free-delivery thresholds in Tezzu, and the delivery, pickup and payment features together are on the features page.
Draw your zones once and stop quoting charges by hand
Set three or four rings with charges and thresholds, and every customer sees the right delivery charge before they pay. Every plan starts with a 7-day free trial, then ₹10 per order and no commission.
Start your free 7-day trialFree-delivery thresholds, zone by zone
A single free-delivery threshold for the whole city costs money in the far zone and orders in the near one. Set it per zone, and set it where the extra items the customer adds to reach it cover the charge you are giving up.
In Zone 1 the charge is ₹20, so a ₹299 threshold on a ₹250 average order asks the customer to add one item worth ₹50 or more to save ₹20; many do, and the extra item carries more margin than the ₹20 you forgave. In Zone 4 the charge is ₹90 and the trip costs ₹76; giving that away needs an order large enough that the margin on it exceeds ₹76, which is why the table leaves Zone 4 without a threshold. Where to set the number for each zone is worked through in free delivery threshold: what minimum order should you set?.
Edge cases and how to handle them
The customer just outside the ring. They will message you. Decide in advance: either extend the last zone by 500 metres and accept the cost, or hold the line and offer pickup. Changing the zone for one person by hand, every time, is the thing the zones were meant to end.
Wrong location shared. Occasionally a customer shares the office when they mean home. The rider calls, the charge was for the wrong zone, and you absorb the difference once. Encourage customers to add a landmark with the address, and this happens less.
Two outlets. If you open a second kitchen, each outlet gets its own rings, and the order goes to the nearer one. That is a separate feature, nearest-outlet routing, and it is set up on its own.
Different menus by area. Some kitchens serve a shorter menu to the far zone, because certain dishes do not travel 8 km well. That idea is explored in location-based ordering: serving the right menu by customer address.
Frequently asked questions
How do I set delivery charges by pincode?
Most ordering systems, including Tezzu, set charges by distance rather than by pincode, because a pincode can span near and far areas. List the pincodes you serve for customers to read, then draw distance zones from your kitchen and attach a charge to each. The customer's shared location or address decides the zone, and the charge appears before they pay.
What is a reasonable delivery charge for a restaurant in India?
It depends on what the trip costs you. In-house riders commonly work out to somewhere between ₹30 and ₹80 per delivery depending on distance, and third-party riders charge in distance bands. Many restaurants charge ₹20 to ₹40 within 2 to 3 km and ₹60 to ₹100 beyond 5 km, and waive the charge above an order value in the near zones.
Should I offer free delivery everywhere?
No. Free delivery in the far zone means paying ₹70 or more out of a ₹300 order. Offer it per zone, with a threshold high enough that the extra items the customer adds cover the charge you give up, and keep the farthest zone paid or stop delivering there at all.
What happens when a customer is outside my delivery area?
The ordering system tells them at the address step, before payment, so there is no refund to process. If you have self-pickup switched on, they are offered that instead. Keep the zone boundary firm; extending it by hand for individual customers brings back the manual work the zones were meant to remove.