Exhibit A
A delivery attempt failed — what happens next?
Question 1 · up to 3
What reason did the courier give?
Your answers
None yet — pick an answer to start down the tree.
Path map
Depth 0 of up to 3. Circles are questions, squares are outcomes.
All possible outcomes (6)
Request a reattempt
Push a reattempt, with the buyer's preferred day if the courier supports it, through the NDR API before the cut-off, and send a one-line confirmation.
Path: “Customer not available” → “Reattempt tomorrow”
Update the address and reattempt
Send the corrected address and phone to the courier's NDR API. Changes within the same city are usually accepted; others may need a fresh shipment.
Path: “Address incomplete or not found” → “Yes, through the address message”
Raise a false-attempt dispute
Escalate the AWB to the courier with the chat as evidence, request a reattempt, and track false attempts by partner and pincode.
Path: “Customer not available” → “Nobody came to my door”
Escalate to a call
No usable answer before the cut-off. An agent calls or retries next morning; after the final attempt the parcel is marked for RTO.
Path: “Customer not available” → “No reply before the cut-off”
Accept the return (RTO)
Mark the order for return and cancel it in your system. You pay forward and return shipping, so record the reason for future COD risk checks.
Path: “Customer refused the parcel” → “Changed my mind, cancel it”
Fix it with the courier
Not the buyer's problem: reassign to a partner that serves the pincode, or cancel and refund, then tell the buyer what changed.
Path: “Pincode outside the delivery area”
Question 1: What reason did the courier give? 4 options.
What is an NDR (non-delivery report)?
An NDR, or non-delivery report, is the status a courier raises when it tries to deliver a parcel and cannot. In Indian e-commerce it comes with a reason — customer not available, address incomplete or not found, premises closed, customer refused, cash not ready for a cash-on-delivery order, or delivery rescheduled at the buyer's request — and reaches the seller through the courier's or shipping aggregator's dashboard, API or webhook, tied to the shipment's AWB number.
The NDR is a decision point, not an outcome. The seller has until the courier's cut-off for the next attempt — often that evening or early next morning — to say what should happen: reattempt, optionally on a date the buyer chose; deliver to a corrected address or phone number; or cancel. Couriers make a limited number of attempts, commonly two or three depending on the partner. When attempts run out or the buyer refuses, the parcel travels back as an RTO (return to origin), and the seller pays forward and return shipping with no sale.
WhatsApp is how many sellers get the buyer's answer in time. A utility template sent within minutes of the NDR quotes the courier's reason and offers a quick reply button for each choice: Reattempt tomorrow, Change address and Cancel order. Unlike an order status update, which only reports progress, it asks the buyer to decide something before a deadline. A tap opens the 24-hour customer service window, so the seller can follow up with an address message or questions and push the decision to the courier's NDR API before the cut-off. In email, "NDR" means an email bounce — an unrelated message that shares the abbreviation.
Key takeaways
- An NDR is the courier's report that a delivery attempt failed, with a reason such as customer not available, bad address or refusal.
- Each NDR is a decision the seller must make before the courier's next-attempt cut-off: reattempt, new address or cancel.
- Couriers usually make two or three attempts; after that the parcel returns as an RTO, with both shipping legs paid and no sale.
- The common WhatsApp pattern is a utility template with Reattempt, Change address and Cancel buttons, sent within minutes.
- The buyer's choice only counts once it reaches the courier's NDR API, so log every call against the AWB.
Example: A Surat saree seller's evening NDR batch
At 7 pm a Surat saree seller receives 46 NDRs from its shipping aggregator, most marked customer not available. Each buyer gets a utility template within ten minutes: the order number, the saree name, the courier's stated reason and three buttons. By 10 pm, 29 have tapped Reattempt tomorrow, 6 have shared a corrected address through an address message, 3 have cancelled and 4 have replied that nobody came to the door, which the seller raises with the courier as false attempts. The last 4 are called the next morning, and every decision reaches the courier's API before its cut-off. (Figures illustrative.)
How does an NDR (non-delivery report) work?
Receive the NDR event
Subscribe to your courier's or aggregator's NDR webhook (or poll its API) and capture the AWB, the attempt number, the reason and the cut-off for acting on it.
Message the buyer within minutes
Send a utility template that names the order, quotes the courier's reason and offers quick replies: Reattempt, Change address, Cancel. Keep it factual, with no offers attached.
Collect the details in the window
The buyer's tap opens the service window. For a new address, send an address message (offered for India-based businesses and their customers in India) or ask in text; for a reattempt, ask which day or time slot suits them.
Push the action to the courier
Call the courier's NDR action API — reattempt, update address or phone, or return — before the cut-off, and record the buyer's choice and the API response against the AWB.
Escalate what is left
No reply within a few hours, a buyer who says nobody came, or a second NDR on the same AWB goes to an agent or a call, and suspected fake attempts go back to the courier as disputes.
Why does an NDR (non-delivery report) matter?
Every NDR is a parcel whose shipping is already paid and which is one or two attempts away from coming back unsold. Asking the buyer directly, on the app they actually read, separates genuine reschedules from refusals and fake attempts, rescues orders a call centre would not reach before the cut-off, and gives the courier a clear instruction instead of a guess. For sellers with a large share of cash-on-delivery orders, NDR handling — together with COD confirmation before dispatch — is one of the most direct levers on RTO cost.
Common mistakes with an NDR (non-delivery report)
Messaging after the cut-off
An answer that arrives after the courier's next-attempt cut-off changes nothing. Trigger the template from the NDR event itself, not from a nightly batch job.
A marketing tone in a delivery message
A discount or upsell in an NDR message makes it marketing content, which costs more and can be recategorised. Keep NDR templates strictly about the shipment.
Not closing the loop with the courier
The buyer's choice is useless unless it reaches the courier's NDR API. Log every API call against the AWB and alert when one fails.
Accepting every "customer not available"
Some failed attempts never happened. When buyers say nobody came, raise the AWB with the courier and track false-attempt rates by partner and pincode.
Collecting addresses as free text
Typed addresses miss pincodes and landmarks, and the next attempt fails too. Use the structured address message where it is available and check the pincode is serviceable.
Best practices for an NDR (non-delivery report)
- Quote the courier's reason in the message — buyers respond faster when they can see what went wrong.
- Offer a choice of day for reattempts; tomorrow is not always right.
- Put the order number and item name first so the buyer recognises the parcel instantly.
- Measure NDR-to-delivered conversion by reason and by courier, not only overall RTO.
NDR FAQs
What is the difference between NDR and RTO?+
Which template category fits an NDR message?+
Can I ask the buyer for a new address on WhatsApp?+
Should every NDR trigger a WhatsApp message?+
* Per-message rates for India, ex-GST: marketing, utility and authentication effective 1 July 2026; service messages ₹0.145 since 1 October 2026 (they were ₹0 until 30 September 2026). Volume commitments earn discounts — final rate is confirmed on your account; applicable GST extra. Rates for other countries differ (see the international rate table on /pricing).