Skip to content

Email & notifications

ProSequences, full delivery logs & Mailchimp sync are Yatra Pro. The free plugin already sends every transactional email — you can edit subject, body, and HTML on all 25 templates without a Pro license.View pricing →

Yatra sends transactional emails at every important moment — booking confirmation, admin notice, payment receipt, departure reminder, post-trip review request. This page is the practical guide for editing them, making them deliverable, and unlocking multi-step sequences with Pro Email Automation.

The Email hub

Email hub — Delivery / Templates / Sequences / Logs tabs

Open Yatra → Email. The URL is admin.php?page=yatra&subpage=email-automation.

The hub has up to four tabs:

TabFreePro
Delivery✅ Site-wide sender settings.
Templates✅ All 25 transactional templates.
SequencesPRO Multi-step sequences.
Email logsPRO Per-send delivery log.

Sequences and Email logs only appear when Yatra Pro is active and the Email Automation module is on (toggle in Yatra → Modules).


Delivery settings

The Delivery tab covers the basics that decide whether your emails land in inboxes or spam:

  • From email — visible "From" address. Use a [email protected] on a domain you control.
  • From name — usually your tour-operator name.
  • Reply-to — where replies go (default: site admin).
  • Admin email — where admin-targeted notices go (new booking, new enquiry, etc.).
Important: WordPress's built-in wp_mail() is unreliable on most hosts. Connect a real ESP (SendGrid, Postmark, Mailgun, Amazon SES) using a transport plugin like WP Mail SMTP, FluentSMTP, or Post SMTP. Then configure SPF, DKIM, and DMARC for the From domain.

Templates

The Templates tab lists every template with these columns:

  • Name — what the template does.
  • AudienceCustomer or Admin.
  • Trigger — the event key that fires it (e.g. booking.created, payment.received).
  • Status — Active / Inactive toggle.

Module-gated templates stay listed

Templates that require a Pro module (Trip Consent, Scheduled Payments, Abandoned Booking Recovery) still appear in the list even without the module — you can read them and review their copy, but they're view-only until the module is enabled.

The 25 transactional templates

Every template's content is editable from the Templates tab; module-gated ones are read-only until the relevant Pro module is active.

Booking lifecycle (customer)

Template keyDisplay nameTriggerNotes
booking_confirmationBooking Confirmationbooking.createdThe unified customer email — sent at checkout, manual admin bookings, and on confirmation.
booking_cancelledBooking Cancelledbooking.cancelledCustomer-facing cancellation notice.
booking_completedBooking Completedbooking.completedSent when the trip-completion cron flips the booking after travel date.
booking_expired_customerBooking Expiredbooking.expiredSent when a pending booking is auto-cancelled by expiry cron.
new_booking(Legacy) New Bookingbooking.createdOlder event-specific template kept for backwards compatibility.
booking_payment(Legacy) Payment Receivedpayment.receivedOlder event-specific template kept for backwards compatibility.
booking_confirmed(Legacy) Booking Confirmedbooking.confirmedOlder event-specific template kept for backwards compatibility.

Booking lifecycle (admin)

Template keyDisplay nameTrigger
admin_new_bookingAdmin: New Bookingbooking.created
admin_payment_receivedAdmin: Payment Receivedpayment.received
admin_booking_cancelledAdmin: Booking Cancelledbooking.cancelled
admin_booking_expiredAdmin: Booking Expiredbooking.expired

Payment

Template keyDisplay nameTriggerModule-gated by
payment_receivedPayment Received (customer)payment.received
payment_reminderPayment Reminderpayment.reminder
scheduled_payment_reminderScheduled Payment Reminderscheduled.payment.reminderScheduled Payments PRO
scheduled_payment_succeededScheduled Payment Receivedscheduled.payment.succeededScheduled Payments PRO
scheduled_payment_failedScheduled Payment Failed (customer)scheduled.payment.failedScheduled Payments PRO
admin_scheduled_payment_failedAdmin: Scheduled Payment Failedscheduled.payment.failedScheduled Payments PRO

Reminders & marketing

Template keyDisplay nameTrigger
trip_reminderTrip Reminderreminder.trip
review_requestReview Requestmarketing.review_request

Enquiries

Template keyDisplay nameTrigger
enquiry_receivedEnquiry Receivedenquiry.created
enquiry_adminAdmin: New Enquiryenquiry.created
enquiry_responseEnquiry Responseenquiry.responded
Template keyDisplay nameTriggerModule-gated by
customer_email_verificationEmail Verificationaccount.email_verification
trip_consent_requestTrip Consent Requestconsent.requestedTrip Consent PRO

Abandoned booking recovery PRO

Module-gated by Abandoned Booking Recovery — listed in the catalog regardless, sends only when the module is active.

Template keyDisplay nameTrigger
abandoned_booking_recovery_firstAbandoned Recovery — 1h reminderbooking.abandoned_recovery
abandoned_booking_recovery_secondAbandoned Recovery — 1d reminderbooking.abandoned_recovery
abandoned_booking_recovery_finalAbandoned Recovery — 3d finalbooking.abandoned_recovery

"Free baseline" — 17 templates fire without Pro

Of the 25 templates in the catalog, 17 work in the free plugin out-of-the-box: every booking lifecycle email (customer + admin), payment received/reminder, enquiry triad, trip reminder, review request, and email verification. The other 8 require their corresponding Pro module to actually fire (the rows stay visible for content review).


Edit a template

Click a template name in the Templates tab to open the editor.

Email template editor — settings, subject, body HTML, merge-tag sidebar

Top of the page

  • ← Back to templates — return to the list.
  • Preview — opens a rendered preview in a new tab using the Sample data service so merge tags resolve to realistic values.
  • Save — persists changes.
  • Status toggle — Active / Inactive.

Settings section

FieldNotes
NameInternal label for the Templates list.
From nameOverrides the global Delivery → From name for this template only.
From emailOverrides the global From email.
Reply-toCan use merge tags (e.g. so replies go directly to the customer).
CC / BCCComma-separated addresses or merge tags.

Subject & body

  • Subject line — supports merge tags (e.g. Your booking is confirmed · ).
  • Email body (HTML) — the full message. WYSIWYG-style with raw HTML support.
  • Merge-tag sidebar — every available tag for this template, with click-to-copy.

Available merge tags

Merge tags use {{…}} syntax. Whitespace inside the braces is OK — {{ trip_name }} is the same as {{trip_name}}.

Tags below come from one place: the central merge-tag registry (Yatra\Services\EmailMergeTagRegistry). The renderer and the in-editor "Available Variables" sidebar both read from it, so any tag listed here is guaranteed to resolve at send time on the events shown — no drift between the docs, the sidebar, and the actual email.

See which tags apply to a specific template

Open any template in the editor — the merge-tag sidebar on the right shows you exactly which tags resolve for that event, with click-to-copy. The list narrows automatically when you change the template's trigger.

Universal tags (every template)

These are merged in by parseTemplate() so every event has them.

TagRenders
{{site_name}}WordPress Site Title.
{{site_url}}Site root URL.
{{admin_email}}Site administrator email.
{{admin_url}}Link to the Yatra admin dashboard.
{{current_date}}Today's date formatted per the site's date format.
{{current_year}}Current four-digit year.

Customer tags

Available on booking, enquiry, account, and consent / abandoned-recovery emails (customer_last_name / customer_phone are on booking + enquiry contexts only).

TagRenders
{{customer_name}}Full name (first + last).
{{customer_first_name}}First name only.
{{customer_last_name}}Last name only (booking events).
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone (booking + enquiry).

Booking tags

Available on every booking-context event (booking.*, payment.*, reminder.trip, marketing.review_request, scheduled.payment.*).

TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-2024-001234).
{{booking_id}}Internal numeric booking identifier.
{{booking_url}}Link to view the booking in My Account.
{{booking_status}}pending / confirmed / cancelled / completed.
{{payment_status}}unpaid / partial / paid / refunded.
{{trip_name}}Title of the trip.
{{trip_url}}Public link to the trip page.
{{travel_date}}Departure date formatted per site settings.
{{travelers_count}}Number of travelers on the booking.
{{travelers_list}}Plain-text list of traveler names.
{{travelers_list_html}}HTML-formatted list of traveler names.
{{traveler_custom_fields_html}}Dynamic Form Field answers per traveler, rendered as HTML.
{{booking_custom_fields_html}}Booking-level Dynamic Form Field answers as HTML.
{{special_requests}}Customer-entered special-requests text.
{{special_requests_html}}Special requests with line breaks preserved.
{{cancellation_reason}}Reason recorded when the booking was cancelled. (booking.cancelled only)
{{completion_date}}Date the trip was marked completed. (booking.completed, marketing.review_request)
{{expiry_policy_note}}Message shown when a pending booking auto-expires. (booking.expired only)

Money tags

TagRenders
{{total_amount_formatted}}Booking total with currency symbol — preferred over raw totals.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug (stripe / paypal / …).
{{payment_gateway_label}}Human-readable gateway name (Stripe, PayPal …).
{{payment_schedule}}full / deposit / partial.
{{payment_schedule_label}}Humanised schedule (e.g. "Deposit", "Full Payment").

Payment-event tags

TagRendersResolves on
{{payment_amount_formatted}}Amount of the specific payment with currency.payment.received, payment.reminder
{{payment_method}}Instrument label ("Card", "Bank Transfer", …).payment.received, payment.reminder
{{transaction_id}}Gateway transaction reference for the payment.payment.received
{{due_date}}Payment due date for reminders.payment.reminder

Scheduled-payment tags PRO

Resolve on scheduled.payment.reminder / scheduled.payment.succeeded / scheduled.payment.failed (Scheduled Payments module).

TagRendersResolves on
{{scheduled_amount_formatted}}Amount of the upcoming scheduled charge with currency.all three
{{scheduled_date_formatted}}When the next scheduled charge will run.all three
{{payment_type_label}}"Deposit", "Final", "Installment 2 of 4", …all three
{{balance_after_formatted}}Balance remaining after this charge succeeds.scheduled.payment.succeeded
{{failure_reason}}Gateway-supplied reason a scheduled charge failed.scheduled.payment.failed
{{failure_intro_html}}Intro block for the payment-failure email body.scheduled.payment.failed
{{failure_followup_html}}Closing block prompting the customer to update payment.scheduled.payment.failed

Reminder & review tags

Resolve on reminder.trip and marketing.review_request.

TagRendersResolves on
{{days_until_trip}}Days remaining until departure.reminder.trip
{{reminder_days}}Configured number of days before the trip when the reminder fires.reminder.trip
{{reminder_extra_html}}Optional extra block (packing list, etc.).reminder.trip
{{review_url}}Public link the customer opens to leave a review.marketing.review_request

Enquiry tags

Resolve on enquiry.created and enquiry.responded. The response-only fields are injected solely on the response email — they don't appear in enquiry.created.

TagRendersResolves on
{{enquiry_id}}Internal numeric enquiry identifier.both
{{enquiry_date}}When the enquiry was submitted.both
{{subject}}Subject line the customer provided.both
{{message}}Customer message body (sanitised, line breaks preserved).both
{{original_message}}First message in the enquiry thread (no line-break escaping).both
{{response}}Operator's typed reply.enquiry.responded
{{response_message}}Same as response.enquiry.responded
{{response_date}}When the reply was sent.enquiry.responded

Resolve on consent.requested (Trip Consent module).

TagRenders
{{recipient_name}}Traveler receiving the consent email.
{{form_name}}Title of the consent form.
{{consent_link}}URL to open and sign the form.
{{expiry_notice_html}}Optional expiry-message block.
{{consent_test_notice_html}}Shown only on admin test sends.

Account / verification tags

Resolve on account.email_verification.

TagRenders
{{verification_link}}Magic link the customer opens to verify their email.
{{intro_paragraph}}Opening sentence (registration / resend variant).
{{footer_note}}Disclaimer for unintended recipients.
{{expiry_notice_html}}Link-expiry messaging block (also used by consent emails).

Abandoned-recovery tags PRO

Resolve on booking.abandoned_recovery (Abandoned Booking Recovery module).

TagRenders
{{recovery_link}}Resume the abandoned checkout from the customer email.
{{recovery_reminder_label}}Sequence-stage label ("First reminder", "Final reminder", …).
{{recovery_intro_html}}Lead paragraph specific to each recovery email.

Extending the registry

Modules can append their own tags without forking core:

php
add_filter( 'yatra_email_merge_tag_definitions', function ( array $catalog ) {
    $catalog['airline_pnr'] = [
        'key' => 'airline_pnr',
        'label' => 'Airline PNR',
        'description' => 'Six-character GDS reservation code.',
        'category' => 'booking',
        'sample' => 'ABC123',
        'events' => [ 'booking.confirmed', 'booking.created' ],
    ];
    return $catalog;
} );

Whatever you append flows into the sidebar AND must be injected by the relevant dispatcher (filter yatra_booking_email_variables for booking events, yatra_send_transactional_email for any send). Otherwise the tag renders empty in the email.


Per-event reference

Every email Yatra sends is fired from one of 17 events. Each entry below explains when the event fires, which dispatcher assembles the variables, which templates subscribe to it, and the full variable list with explanations. Generated from the central registry.

booking.created — Booking Created

When it fires. A new booking is inserted into the database. Triggered by checkout (POST /yatra/v1/bookings/place) and by the admin "Create Booking" flow. The Email Automation hook fans the event out to every active template keyed to this event.

Dispatcher. yatra_booking_created action → EmailAutomationHooks::onBookingCreatedEventTemplatesEmailAutomationService::mergeBookingVariablesForTemplates()

Templates listening to this event:

  • booking_confirmation — Booking Confirmation (Customer)
  • new_booking — Legacy: New Booking (Customer)
  • admin_new_booking — Admin: New Booking (Admin)

Variables available (33 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (15)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

booking.confirmed — Booking Confirmed

When it fires. Booking status flips to confirmed — typically after a deposit / full payment lands, or when an operator manually confirms a pending booking in admin.

Dispatcher. BookingService::sendStatusEmail() (status_confirmed branch) → free renderer → Pro override via maybeSendTransactional

Templates listening to this event:

  • booking_confirmed — Legacy: Booking Confirmed (Customer)

Variables available (33 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (15)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

booking.cancelled — Booking Cancelled

When it fires. Booking status flips to cancelled. Either the customer cancels through My Account or an operator cancels in admin; the cancellation reason is stored on the booking row and exposed to the template.

Dispatcher. BookingService::sendStatusEmail() (cancelled branch) → free renderer → Pro override

Templates listening to this event:

  • booking_cancelled — Booking Cancelled (Customer)
  • admin_booking_cancelled — Admin: Booking Cancelled (Admin)

Variables available (34 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (16)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Reason recorded when the booking was cancelled.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

booking.completed — Trip Completed

When it fires. Booking is marked completed — usually by the yatra_booking_completion_cron after the travel date passes, or by an operator manually flipping the status.

Dispatcher. BookingService::sendStatusEmail() (completed branch) and EmailAutomationHooks::maybeSendCompletedTemplate

Templates listening to this event:

  • booking_completed — Booking Completed (Customer)

Variables available (34 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (16)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Date the trip / booking was marked completed.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

booking.expired — Booking Expired (Non-payment)

When it fires. The booking-expiry cron auto-cancels a pending booking that wasn't paid within the configured window. Sends both customer and admin variants.

Dispatcher. BookingCronService::expireBookings()TYPE_BOOKING_EXPIRED_CUSTOMER / TYPE_ADMIN_BOOKING_EXPIRED

Templates listening to this event:

  • booking_expired_customer — Booking Expired (Customer)
  • admin_booking_expired — Admin: Booking Expired (Admin)

Variables available (34 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (16)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Message shown when a booking auto-expires for non-payment.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

payment.received — Payment Received

When it fires. A payment (full, deposit, or partial) is captured. Fired from every gateway (Stripe, PayPal, Razorpay, Paystack, Mollie, COD) via yatra_payment_completed. Sends both customer receipt and admin notification.

Dispatcher. NotificationService::sendPaymentReceived()TYPE_PAYMENT_CONFIRMATION / TYPE_ADMIN_PAYMENT_RECEIVED

Templates listening to this event:

  • booking_payment — Legacy: Payment Received (Customer)
  • admin_payment_received — Admin: Payment Received (Admin)
  • payment_received — Payment Received (customer) (Customer)

Variables available (36 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (15)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Payment (10)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Amount of the specific payment with currency.
Instrument label (e.g. Card, Bank Transfer).
Gateway transaction reference for the payment.
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

payment.reminder — Payment Reminder

When it fires. A balance is outstanding past its due date. Currently no built-in cron dispatcher — operators trigger sends from the booking detail page, or wire one via the yatra_send_transactional_email filter. Tag list reflects what variablesFromBooking() + payment context provide when fired.

Dispatcher. Operator-triggered or custom cron → TYPE_PAYMENT_REMINDER

Templates listening to this event:

  • payment_reminder — Payment Reminder (Customer)

Variables available (36 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (15)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Payment (10)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Amount of the specific payment with currency.
Instrument label (e.g. Card, Bank Transfer).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).
Payment due date for reminders.

reminder.trip — Trip Reminder

When it fires. The trip-reminder cron fires reminder_days before travel date (default 3 days, configurable in Settings → Bookings). Sends a "your trip is coming up" email with packing-list / weather extras.

Dispatcher. BookingCronService::sendReminders()TYPE_BOOKING_REMINDER

Templates listening to this event:

  • trip_reminder — Trip Reminder (Customer)

Variables available (36 across 5 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (15)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).
Reminder & review (3)
TagExplanation
Days remaining until departure.
Configured number of days before the trip when the reminder fires.
Optional extra block appended to reminder emails (packing list, etc.).

marketing.review_request — Review Request

When it fires. After a booking is marked completed, the ReviewReminderService schedules an email some configurable number of days later inviting the customer to leave a review.

Dispatcher. ReviewReminderService::sendReminder()TYPE_REVIEW_REQUEST

Templates listening to this event:

  • review_request — Review Request (Customer)

Variables available (35 across 5 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (16)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Date the trip / booking was marked completed.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).
Reminder & review (1)
TagExplanation
Public link the customer opens to leave a review.

enquiry.created — Enquiry Received

When it fires. A visitor submits the enquiry form on a trip page (POST /yatra/v1/enquiries). Sends a confirmation to the visitor AND a notification to the configured admin address.

Dispatcher. EnquiryService::createEnquiry()TYPE_ENQUIRY_CUSTOMER_RECEIVED + TYPE_ENQUIRY_ADMIN

Templates listening to this event:

  • enquiry_received — Enquiry Received (Customer)
  • enquiry_admin — Admin: New Enquiry (Admin)

Variables available (16 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (3)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer email address.
Customer phone number.
Booking (2)
TagExplanation
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Enquiry (5)
TagExplanation
Internal numeric enquiry identifier.
When the enquiry was submitted.
Subject line the customer provided.
Customer message body (sanitised, line breaks preserved).
First message in the enquiry thread (no line-break escaping).

enquiry.responded — Enquiry Response

When it fires. An operator types a reply in the admin enquiry detail panel and clicks Send. The response is recorded on the thread and emailed back to the customer.

Dispatcher. EnquiryService::respondToEnquiry()TYPE_ENQUIRY_CUSTOMER_RESPONSE

Templates listening to this event:

  • enquiry_response — Enquiry Response (Customer)

Variables available (19 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (3)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer email address.
Customer phone number.
Booking (2)
TagExplanation
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Enquiry (8)
TagExplanation
Internal numeric enquiry identifier.
When the enquiry was submitted.
Subject line the customer provided.
Customer message body (sanitised, line breaks preserved).
First message in the enquiry thread (no line-break escaping).
Operator's typed reply (alias of response_message).
Operator's typed reply.
When the reply was sent.

When it fires. An operator (or auto-trigger) sends a consent form to a booking traveler. Each traveler receives a unique signing URL.

Dispatcher. TripConsentService::sendConsentRequest()TYPE_TRIP_CONSENT_REQUEST

Templates listening to this event:

  • trip_consent_request — Trip Consent Request (Customer)

Variables available (14 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Booking (3)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Title of the trip the booking / enquiry is for.
Departure date formatted per site settings.
Trip consent (4)
TagExplanation
Traveler receiving the consent email.
Title of the consent form.
URL to open and sign the form.
Shown only on admin test sends.
Account / verification (1)
TagExplanation
Link-expiry messaging block (consent / verification emails).

account.email_verification — Customer Email Verification

When it fires. A new customer registers OR requests a fresh verification link. The email contains a magic link that, when opened, flips the yatra_email_verified user meta to 1 and lets the customer complete checkout.

Dispatcher. AuthController::sendVerificationEmail()TYPE_CUSTOMER_EMAIL_VERIFICATION

Templates listening to this event:

  • customer_email_verification — Email Verification (Customer)

Variables available (13 across 3 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (3)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer email address.
Account / verification (4)
TagExplanation
Magic link the customer opens to verify their email.
Opening sentence (registration / resend variant).
Disclaimer for unintended recipients.
Link-expiry messaging block (consent / verification emails).

scheduled.payment.reminder — Scheduled Payment Reminder

When it fires. The Scheduled Payments cron runs before each installment is charged, sending a heads-up email with the upcoming amount and date.

Dispatcher. ScheduledPaymentService::sendUpcomingReminder()TYPE_SCHEDULED_PAYMENT_REMINDER

Templates listening to this event:

  • scheduled_payment_reminder — Scheduled Payment Reminder (Customer)

Variables available (36 across 5 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (15)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).
Scheduled payment (3)
TagExplanation
Amount of the upcoming scheduled charge with currency.
When the next scheduled charge will run.
Humanised type (Deposit, Final, Installment 2 of 4 ...).

scheduled.payment.succeeded — Scheduled Payment Succeeded

When it fires. A scheduled installment is successfully captured by the gateway. The email confirms the charge and shows the remaining balance.

Dispatcher. ScheduledPaymentService::handleSuccess()TYPE_SCHEDULED_PAYMENT_SUCCEEDED

Templates listening to this event:

  • scheduled_payment_succeeded — Scheduled Payment Received (Customer)

Variables available (37 across 5 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (15)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).
Scheduled payment (4)
TagExplanation
Amount of the upcoming scheduled charge with currency.
When the next scheduled charge will run.
Humanised type (Deposit, Final, Installment 2 of 4 ...).
Balance remaining after this charge succeeds.

scheduled.payment.failed — Scheduled Payment Failed

When it fires. A scheduled installment fails — card declined, insufficient funds, etc. Sends both a customer notice (with a "fix payment method" CTA) and an admin alert.

Dispatcher. ScheduledPaymentService::handleFailure()TYPE_SCHEDULED_PAYMENT_FAILED + TYPE_ADMIN_SCHEDULED_PAYMENT_FAILED

Templates listening to this event:

  • scheduled_payment_failed — Scheduled Payment Failed (Customer)
  • admin_scheduled_payment_failed — Admin: Scheduled Payment Failed (Admin)

Variables available (39 across 5 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (5)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.
Booking (15)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Payment (7)
TagExplanation
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).
Scheduled payment (6)
TagExplanation
Amount of the upcoming scheduled charge with currency.
When the next scheduled charge will run.
Humanised type (Deposit, Final, Installment 2 of 4 ...).
Provided by the gateway when a scheduled charge fails.
Intro block for the payment-failure email body.
Closing block prompting the customer to update payment.

booking.abandoned_recovery — Abandoned Checkout Recovery

When it fires. A customer started checkout but didn't complete payment. The abandoned-recovery cron sends a sequence of reminders (1h, 1d, 3d by default) each containing a resume-checkout link.

Dispatcher. AbandonedBookingService::sendRecoveryEmail()TYPE_ABANDONED_BOOKING_RECOVERY_FIRST/SECOND/FINAL

Templates listening to this event:

  • abandoned_booking_recovery_first — Abandoned Recovery — 1h (Customer)
  • abandoned_booking_recovery_second — Abandoned Recovery — 1d (Customer)
  • abandoned_booking_recovery_final — Abandoned Recovery — 3d (Customer)

Variables available (13 across 4 groups):

Universal (6)
TagExplanation
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.
Customer (2)
TagExplanation
Full name (first + last) of the customer / enquirer.
Customer email address.
Booking (2)
TagExplanation
Customer-visible booking code (e.g. YTR-12345).
Title of the trip the booking / enquiry is for.
Abandoned recovery (3)
TagExplanation
Resume the abandoned checkout from the customer email.
Sequence-stage label (First, Second, Final).
Lead paragraph specific to each recovery email.


Per-template merge-tag reference

This section enumerates every template and the exact tags that resolve when it sends. Generated from the central registry — when a new tag is added there, this table is the canonical place to update.

booking_confirmation — Booking Confirmation

  • Trigger eventbooking.created
  • Audience — Customer
Available merge tags (33 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

new_booking — Legacy: New Booking

  • Trigger eventbooking.created
  • Audience — Customer
Available merge tags (33 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

booking_confirmed — Legacy: Booking Confirmed

  • Trigger eventbooking.confirmed
  • Audience — Customer
Available merge tags (33 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

booking_cancelled — Booking Cancelled

  • Trigger eventbooking.cancelled
  • Audience — Customer
Available merge tags (34 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Reason recorded when the booking was cancelled.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

booking_completed — Booking Completed

  • Trigger eventbooking.completed
  • Audience — Customer
Available merge tags (34 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Date the trip / booking was marked completed.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

booking_expired_customer — Booking Expired

  • Trigger eventbooking.expired
  • Audience — Customer
Available merge tags (34 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Message shown when a booking auto-expires for non-payment.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

booking_payment — Legacy: Payment Received

  • Trigger eventpayment.received
  • Audience — Customer
Available merge tags (36 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Amount of the specific payment with currency.
Instrument label (e.g. Card, Bank Transfer).
Gateway transaction reference for the payment.
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

admin_new_booking — Admin: New Booking

  • Trigger eventbooking.created
  • Audience — Admin
Available merge tags (33 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

admin_payment_received — Admin: Payment Received

  • Trigger eventpayment.received
  • Audience — Admin
Available merge tags (36 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Amount of the specific payment with currency.
Instrument label (e.g. Card, Bank Transfer).
Gateway transaction reference for the payment.
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

admin_booking_cancelled — Admin: Booking Cancelled

  • Trigger eventbooking.cancelled
  • Audience — Admin
Available merge tags (34 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Reason recorded when the booking was cancelled.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

admin_booking_expired — Admin: Booking Expired

  • Trigger eventbooking.expired
  • Audience — Admin
Available merge tags (34 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Message shown when a booking auto-expires for non-payment.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

payment_received — Payment Received (customer)

  • Trigger eventpayment.received
  • Audience — Customer
Available merge tags (36 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Amount of the specific payment with currency.
Instrument label (e.g. Card, Bank Transfer).
Gateway transaction reference for the payment.
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

payment_reminder — Payment Reminder

  • Trigger eventpayment.reminder
  • Audience — Customer
Available merge tags (36 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Amount of the specific payment with currency.
Instrument label (e.g. Card, Bank Transfer).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).
Payment due date for reminders.

scheduled_payment_reminder — Scheduled Payment Reminder

  • Trigger eventscheduled.payment.reminder
  • Audience — Customer
  • Module gate — Scheduled Payments (Pro)
Available merge tags (36 tags across 5 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

Scheduled payment

TagRenders
Amount of the upcoming scheduled charge with currency.
When the next scheduled charge will run.
Humanised type (Deposit, Final, Installment 2 of 4 ...).

scheduled_payment_succeeded — Scheduled Payment Received

  • Trigger eventscheduled.payment.succeeded
  • Audience — Customer
  • Module gate — Scheduled Payments (Pro)
Available merge tags (37 tags across 5 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

Scheduled payment

TagRenders
Amount of the upcoming scheduled charge with currency.
When the next scheduled charge will run.
Humanised type (Deposit, Final, Installment 2 of 4 ...).
Balance remaining after this charge succeeds.

scheduled_payment_failed — Scheduled Payment Failed

  • Trigger eventscheduled.payment.failed
  • Audience — Customer
  • Module gate — Scheduled Payments (Pro)
Available merge tags (39 tags across 5 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

Scheduled payment

TagRenders
Amount of the upcoming scheduled charge with currency.
When the next scheduled charge will run.
Humanised type (Deposit, Final, Installment 2 of 4 ...).
Provided by the gateway when a scheduled charge fails.
Intro block for the payment-failure email body.
Closing block prompting the customer to update payment.

admin_scheduled_payment_failed — Admin: Scheduled Payment Failed

  • Trigger eventscheduled.payment.failed
  • Audience — Admin
  • Module gate — Scheduled Payments (Pro)
Available merge tags (39 tags across 5 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

Scheduled payment

TagRenders
Amount of the upcoming scheduled charge with currency.
When the next scheduled charge will run.
Humanised type (Deposit, Final, Installment 2 of 4 ...).
Provided by the gateway when a scheduled charge fails.
Intro block for the payment-failure email body.
Closing block prompting the customer to update payment.

trip_reminder — Trip Reminder

  • Trigger eventreminder.trip
  • Audience — Customer
Available merge tags (36 tags across 5 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

Reminder & review

TagRenders
Days remaining until departure.
Configured number of days before the trip when the reminder fires.
Optional extra block appended to reminder emails (packing list, etc.).

review_request — Review Request

  • Trigger eventmarketing.review_request
  • Audience — Customer
Available merge tags (35 tags across 5 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer last name only.
Customer email address.
Customer phone number.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Internal numeric booking identifier.
Link to view the booking in My Account.
pending / confirmed / cancelled / completed.
unpaid / partial / paid / refunded.
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.
Departure date formatted per site settings.
Number of travelers on the booking.
Plain-text list of traveler names.
HTML-formatted list of traveler names.
Dynamic Form Field answers per traveler, rendered as HTML.
Booking-level Dynamic Form Field answers as HTML.
Customer-entered special requests text.
Special requests with line breaks preserved.
Date the trip / booking was marked completed.

Payment

TagRenders
Total cost with currency symbol — preferred over total_amount.
Remaining balance with currency symbol.
ISO 4217 currency code (e.g. USD).
Internal gateway slug — stripe / paypal / razorpay etc.
Human-readable gateway name — Stripe, PayPal etc.
full / deposit / partial — raw value.
Humanised schedule (e.g. Deposit, Full Payment).

Reminder & review

TagRenders
Public link the customer opens to leave a review.

enquiry_received — Enquiry Received

  • Trigger eventenquiry.created
  • Audience — Customer
Available merge tags (16 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer email address.
Customer phone number.

Booking

TagRenders
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.

Enquiry

TagRenders
Internal numeric enquiry identifier.
When the enquiry was submitted.
Subject line the customer provided.
Customer message body (sanitised, line breaks preserved).
First message in the enquiry thread (no line-break escaping).

enquiry_admin — Admin: New Enquiry

  • Trigger eventenquiry.created
  • Audience — Admin
Available merge tags (16 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer email address.
Customer phone number.

Booking

TagRenders
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.

Enquiry

TagRenders
Internal numeric enquiry identifier.
When the enquiry was submitted.
Subject line the customer provided.
Customer message body (sanitised, line breaks preserved).
First message in the enquiry thread (no line-break escaping).

enquiry_response — Enquiry Response

  • Trigger eventenquiry.responded
  • Audience — Customer
Available merge tags (19 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer email address.
Customer phone number.

Booking

TagRenders
Title of the trip the booking / enquiry is for.
Public link to the trip detail page.

Enquiry

TagRenders
Internal numeric enquiry identifier.
When the enquiry was submitted.
Subject line the customer provided.
Customer message body (sanitised, line breaks preserved).
First message in the enquiry thread (no line-break escaping).
Operator's typed reply (alias of response_message).
Operator's typed reply.
When the reply was sent.

customer_email_verification — Email Verification

  • Trigger eventaccount.email_verification
  • Audience — Customer
Available merge tags (13 tags across 3 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer first name only.
Customer email address.

Account / verification

TagRenders
Magic link the customer opens to verify their email.
Opening sentence (registration / resend variant).
Disclaimer for unintended recipients.
Link-expiry messaging block (consent / verification emails).

  • Trigger eventconsent.requested
  • Audience — Customer
  • Module gate — Trip Consent (Pro)
Available merge tags (14 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Title of the trip the booking / enquiry is for.
Departure date formatted per site settings.

Trip consent

TagRenders
Traveler receiving the consent email.
Title of the consent form.
URL to open and sign the form.
Shown only on admin test sends.

Account / verification

TagRenders
Link-expiry messaging block (consent / verification emails).

abandoned_booking_recovery_first — Abandoned Recovery — 1h

  • Trigger eventbooking.abandoned_recovery
  • Audience — Customer
  • Module gate — Abandoned Booking Recovery (Pro)
Available merge tags (13 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer email address.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Title of the trip the booking / enquiry is for.

Abandoned recovery

TagRenders
Resume the abandoned checkout from the customer email.
Sequence-stage label (First, Second, Final).
Lead paragraph specific to each recovery email.

abandoned_booking_recovery_second — Abandoned Recovery — 1d

  • Trigger eventbooking.abandoned_recovery
  • Audience — Customer
  • Module gate — Abandoned Booking Recovery (Pro)
Available merge tags (13 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer email address.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Title of the trip the booking / enquiry is for.

Abandoned recovery

TagRenders
Resume the abandoned checkout from the customer email.
Sequence-stage label (First, Second, Final).
Lead paragraph specific to each recovery email.

abandoned_booking_recovery_final — Abandoned Recovery — 3d

  • Trigger eventbooking.abandoned_recovery
  • Audience — Customer
  • Module gate — Abandoned Booking Recovery (Pro)
Available merge tags (13 tags across 4 groups)

Universal

TagRenders
Your website name (from WordPress Site Title).
Your website home URL.
Site administrator email address.
Link to the Yatra admin dashboard.
Today's date formatted per the site's date format.
Current four-digit year.

Customer

TagRenders
Full name (first + last) of the customer / enquirer.
Customer email address.

Booking

TagRenders
Customer-visible booking code (e.g. YTR-12345).
Title of the trip the booking / enquiry is for.

Abandoned recovery

TagRenders
Resume the abandoned checkout from the customer email.
Sequence-stage label (First, Second, Final).
Lead paragraph specific to each recovery email.


Sequences PRO

PROEmail Automation — multi-step sequences

Trigger a sequence on booking confirmed → wait 7 days → send "tips for your upcoming trip" → wait until 1 day before travel → send "weather + packing list" → wait until day after travel → send "leave a review" — all without a separate marketing tool.

Unlock sequences →

Sequences tab — multi-step automation list with stats

Open the Sequences tab (visible only with the Email Automation module on).

Each sequence has:

FieldNotes
NameInternal label.
Trigger eventOne of booking.created, booking.confirmed, booking.cancelled, booking.completed, payment.received, payment.reminder, etc.
Audience filtersLimit to customers from specific destinations / categories / countries / trip types.
Steps1 or more steps; each has a delay (minutes / hours / days, relative to the trigger or to the previous step) and a template.
Active togglePause or activate the whole sequence site-wide without deleting it.

Sequence stats

Per-sequence: number of customers entered, number completed, opens, clicks, unsubscribes — populated from ESP webhooks (when your transport plugin posts opens/clicks back to Yatra).


Email logs PRO

Email logs tab — every send, with status, recipient, template

Every email send is recorded with:

  • Timestamp
  • Recipient
  • Template key
  • Status — sent / failed / bounced / opened (when ESP webhooks are wired up)
  • ESP response code — for debugging delivery failures
  • Subject — final rendered subject after merge tags

Filter by status, by template, or by date range. Click a row for the full payload (rendered HTML, headers, merge-tag values).

Useful when a customer says "I didn't get an email" — the log shows whether it actually sent and the ESP response.


Test a template

Three ways, in order of fidelity:

  1. Preview button in the template editor — renders against the Sample Data Service (realistic booking, customer, trip data without sending).
  2. Send a test email — most templates expose a Send test to admin email button.
  3. End-to-end — book a trip yourself in a private window and watch the Booking Confirmation + Payment Received + Admin: New Booking emails actually land in the configured inboxes.

Email debug log

Enable Debug mode under Settings → Advanced. With it on, Yatra also writes a copy of every send to wp-content/uploads/yatra/email-debug.log.


Where templates are stored

ItemLocation in WP-options
Per-template ON/OFF flagyatra_email_template_<slug> (e.g. yatra_email_template_booking)
Per-template subjectyatra_email_tpl_<slug>_subject (e.g. yatra_email_tpl_booking_subject)
Per-template body HTMLyatra_email_tpl_<slug>_body
Global delivery settingsyatra_email_from_name, yatra_email_from_email, yatra_email_reply_to, yatra_admin_email
Sequences (Pro)Database table wp_yatra_email_sequences
Email logs (Pro)Database table wp_yatra_email_logs

You can read/write these from code via SettingsService::get() / update_option(). Default content lives in app/Services/EmailTemplateDefaults.php; the runtime renderer is EmailService and TransactionalEmailTemplateService.


What's next