Abandoned Booking Recovery PRO

When a customer starts a booking but doesn't pay, Yatra tracks the session and (with this module on) emails them up to three personalised "complete your booking" reminders — each with a one-click link back to the saved checkout. Recovered bookings are tagged and reported separately so you can see real revenue impact.
What you'll need
| Thing | Where to get it |
|---|---|
| Yatra Pro license | Yatra → License |
| Abandoned Booking Recovery enabled | Yatra → Modules → Abandoned Booking Recovery |
| Working transactional email | Your SMTP / ESP must be sending properly — test from Yatra → Email first |
| At least one published trip | Recovery only triggers when the customer started a real booking flow |
Step 1 — Enable the module
- Open Yatra → Modules.
- Find Abandoned Booking Recovery → toggle on.
- A new menu item appears: Yatra → Abandoned Recovery.
Step 2 — Configure recovery settings
Open Yatra → Abandoned Recovery → Settings.

| Setting | Default | Notes |
|---|---|---|
| Enable recovery emails | off | Master toggle. |
| First email — send after | 1 hour | Delay after abandonment for the first reminder. |
| Second email — send after | 1 day | Delay after abandonment for the second reminder. |
| Final email — send after | 3 days | Delay after abandonment for the final reminder. |
| Discount code (optional) | (empty) | A promo code to attach to one of the reminder emails for an extra incentive. Created on the Discounts page. |
| Discount applies to | Final only | Which of the three emails carries the discount. |
| Auto-expire after (days) | 7 | Stop sending reminders after this many days; mark the abandoned record as Expired. |
| Track in reports | on | Tag recovered bookings so they show in the Recovery Stats card. |
Step 3 — Customise the three email templates
The module ships with three default templates — open Yatra → Email → Templates and look for:
- Abandoned Recovery — 1h reminder (
abandoned_booking_recovery_first) - Abandoned Recovery — 1d reminder (
abandoned_booking_recovery_second) - Abandoned Recovery — 3d final (
abandoned_booking_recovery_final)
Each is editable like any other template — subject, body HTML, sender override. They support all the standard merge tags plus a special tag that resolves to the customer's saved-checkout URL.
Recovery link details
The URL contains a short-lived token that rehydrates the customer's prior cart state — selected trip, traveler counts, picked date, custom-field answers. They land back on the payment step, not the start.
Step 4 — Verify with a test abandonment
- In a private browser window, start a booking on any trip.
- Fill in customer details, reach the Payment step.
- Close the browser tab without paying.
- In the admin, open Yatra → Abandoned Recovery.
- Your test session should appear with status Abandoned.
- Wait for the first-email delay (or manually trigger via the Send first email now action on the row).
- Email arrives → click the recovery link → land back in the payment step → complete payment.
- The row flips to Recovered. Reporting updates.
The Abandoned Recovery admin

Status filter pills
| Pill | What's in it |
|---|---|
| All | Everything across all states. |
| Abandoned | Open carts that haven't received any recovery emails yet. |
| Contacted | At least one recovery email has been sent. |
| Recovered | Customer came back and completed the booking. |
| Expired | Past the auto_expire_after window with no recovery. |
Default columns
- Customer (name + email captured before abandonment)
- Trip (with travel date if set)
- Value (estimated booking total)
- Emails sent (0–3, with timestamps on hover)
- Status
- Time elapsed (since abandonment)
Per-row actions
- Send recovery email now (skips the delay)
- View timeline (every email send + open + click event)
- Mark expired (stops the sequence)
- Delete
Recovery Stats card
Top of the page, four tiles:
- Total abandoned in the period
- Total recovered
- Recovery rate (% of contacted)
- Recovered revenue (sum of completed bookings tagged as recovered)
How the recovery flow works
Customer adds trip + clicks Continue → Yatra creates abandoned_booking row
↓
1 hour later: First email
↓
1 day later: Second email
↓
3 days later: Final email (with discount code)
↓
7 days later: Auto-expire if not recoveredIf at any point the customer pays — via the recovery link OR directly — Yatra cancels the remaining emails and flips the row to Recovered.
Troubleshooting
No abandoned rows showing up — confirm the module is enabled AND the recovery settings have Enable recovery emails turned on. Yatra only starts tracking sessions after the toggle is on.
Emails not sending — first test ordinary booking emails work. The recovery system uses the same SMTP path; if booking confirmations don't arrive, recovery emails won't either. See Email & notifications.
Recovery links land on the trip page, not the payment step — the saved session expired. Sessions are valid for the auto_expire_after window. Increase it if your traffic profile needs longer.
Discount code in the email shows the literal — the Discount code field in Step 2 is empty. Add a code and pick which email carries it.
Recovered count looks too high / low — make sure Track in reports is on. Bookings completed without going through the recovery link aren't counted as recovered.
Useful links
- Email & notifications — customise the three template bodies.
- Discounts — create the discount code attached to the final email.
- Hooks & filters —
yatra_abandoned_booking_recovered,yatra_abandoned_email_sent.
Where to read more
- All modules — module catalog.