--- title: Email & notifications description: Edit Yatra's transactional emails, configure deliverability, and unlock branded sequences and automation logs with Yatra Pro Email Automation. Every template, every merge tag. --- # Email & notifications
Pro Sequences, 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](/screenshots/email/email.webp) Open Yatra → Email. The URL is `admin.php?page=yatra&subpage=email-automation`. The hub has up to four tabs: | Tab | Free | Pro | | --- | --- | --- | | **Delivery** | ✅ Site-wide sender settings. | | | **Templates** | ✅ All 25 transactional templates. | | | **Sequences** | — | PRO Multi-step sequences. | | **Email logs** | — | PRO 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 `noreply@yourdomain.com` 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. - **Audience** — *Customer* or *Admin*. - **Trigger** — the event key that fires it (e.g. `booking.created`, `payment.received`). - **Status** — Active / Inactive toggle. ::: tip 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 key | Display name | Trigger | Notes | | --- | --- | --- | --- | | `booking_confirmation` | Booking Confirmation | `booking.created` | The unified customer email — sent at checkout, manual admin bookings, and on confirmation. | | `booking_cancelled` | Booking Cancelled | `booking.cancelled` | Customer-facing cancellation notice. | | `booking_completed` | Booking Completed | `booking.completed` | Sent when the trip-completion cron flips the booking after travel date. | | `booking_expired_customer` | Booking Expired | `booking.expired` | Sent when a pending booking is auto-cancelled by expiry cron. | | `new_booking` | (Legacy) New Booking | `booking.created` | Older event-specific template kept for backwards compatibility. | | `booking_payment` | (Legacy) Payment Received | `payment.received` | Older event-specific template kept for backwards compatibility. | | `booking_confirmed` | (Legacy) Booking Confirmed | `booking.confirmed` | Older event-specific template kept for backwards compatibility. | #### Booking lifecycle (admin) | Template key | Display name | Trigger | | --- | --- | --- | | `admin_new_booking` | Admin: New Booking | `booking.created` | | `admin_payment_received` | Admin: Payment Received | `payment.received` | | `admin_booking_cancelled` | Admin: Booking Cancelled | `booking.cancelled` | | `admin_booking_expired` | Admin: Booking Expired | `booking.expired` | #### Payment | Template key | Display name | Trigger | Module-gated by | | --- | --- | --- | --- | | `payment_received` | Payment Received (customer) | `payment.received` | — | | `payment_reminder` | Payment Reminder | `payment.reminder` | — | | `scheduled_payment_reminder` | Scheduled Payment Reminder | `scheduled.payment.reminder` | Scheduled Payments PRO | | `scheduled_payment_succeeded` | Scheduled Payment Received | `scheduled.payment.succeeded` | Scheduled Payments PRO | | `scheduled_payment_failed` | Scheduled Payment Failed (customer) | `scheduled.payment.failed` | Scheduled Payments PRO | | `admin_scheduled_payment_failed` | Admin: Scheduled Payment Failed | `scheduled.payment.failed` | Scheduled Payments PRO | #### Reminders & marketing | Template key | Display name | Trigger | | --- | --- | --- | | `trip_reminder` | Trip Reminder | `reminder.trip` | | `review_request` | Review Request | `marketing.review_request` | #### Enquiries | Template key | Display name | Trigger | | --- | --- | --- | | `enquiry_received` | Enquiry Received | `enquiry.created` | | `enquiry_admin` | Admin: New Enquiry | `enquiry.created` | | `enquiry_response` | Enquiry Response | `enquiry.responded` | #### Account & consent | Template key | Display name | Trigger | Module-gated by | | --- | --- | --- | --- | | `customer_email_verification` | Email Verification | `account.email_verification` | — | | `trip_consent_request` | Trip Consent Request | `consent.requested` | Trip 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 key | Display name | Trigger | | --- | --- | --- | | `abandoned_booking_recovery_first` | Abandoned Recovery — 1h reminder | `booking.abandoned_recovery` | | `abandoned_booking_recovery_second` | Abandoned Recovery — 1d reminder | `booking.abandoned_recovery` | | `abandoned_booking_recovery_final` | Abandoned Recovery — 3d final | `booking.abandoned_recovery` | ::: tip "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](/screenshots/email/email-template-editor.webp) ### 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 | Field | Notes | | --- | --- | | **Name** | Internal label for the Templates list. | | **From name** | Overrides the global *Delivery → From name* for this template only. | | **From email** | Overrides the global *From email*. | | **Reply-to** | Can use merge tags (e.g. `{{customer_email}}` so replies go directly to the customer). | | **CC / BCC** | Comma-separated addresses or merge tags. | ### Subject & body - **Subject line** — supports merge tags (e.g. `Your {{trip_name}} booking is confirmed · {{booking_reference}}`). - **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. ::: tip 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
### Trip consent tags PRO 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::onBookingCreatedEventTemplates` → `EmailAutomationService::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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (15)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (15)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (16)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (16)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
{{completion_date}}Date the trip / booking was marked completed.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (16)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
{{expiry_policy_note}}Message shown when a booking auto-expires for non-payment.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (15)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
Payment (10)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_amount_formatted}}Amount of the specific payment with currency.
{{payment_method}}Instrument label (e.g. Card, Bank Transfer).
{{transaction_id}}Gateway transaction reference for the payment.
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (15)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
Payment (10)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_amount_formatted}}Amount of the specific payment with currency.
{{payment_method}}Instrument label (e.g. Card, Bank Transfer).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
{{due_date}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (15)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
Reminder & review (3)
TagExplanation
{{days_until_trip}}Days remaining until departure.
{{reminder_days}}Configured number of days before the trip when the reminder fires.
{{reminder_extra_html}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (16)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
{{completion_date}}Date the trip / booking was marked completed.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
Reminder & review (1)
TagExplanation
{{review_url}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (3)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (2)
TagExplanation
{{trip_name}}Title of the trip the booking / enquiry is for.
{{trip_url}}Public link to the trip detail page.
Enquiry (5)
TagExplanation
{{enquiry_id}}Internal numeric enquiry identifier.
{{enquiry_date}}When the enquiry was submitted.
{{subject}}Subject line the customer provided.
{{message}}Customer message body (sanitised, line breaks preserved).
{{original_message}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (3)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (2)
TagExplanation
{{trip_name}}Title of the trip the booking / enquiry is for.
{{trip_url}}Public link to the trip detail page.
Enquiry (8)
TagExplanation
{{enquiry_id}}Internal numeric enquiry identifier.
{{enquiry_date}}When the enquiry was submitted.
{{subject}}Subject line the customer provided.
{{message}}Customer message body (sanitised, line breaks preserved).
{{original_message}}First message in the enquiry thread (no line-break escaping).
{{response}}Operator's typed reply (alias of response_message).
{{response_message}}Operator's typed reply.
{{response_date}}When the reply was sent.
--- ### `consent.requested` — Trip Consent Requested **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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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.
Booking (3)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{trip_name}}Title of the trip the booking / enquiry is for.
{{travel_date}}Departure date formatted per site settings.
Trip consent (4)
TagExplanation
{{recipient_name}}Traveler receiving the consent email.
{{form_name}}Title of the consent form.
{{consent_link}}URL to open and sign the form.
{{consent_test_notice_html}}Shown only on admin test sends.
Account / verification (1)
TagExplanation
{{expiry_notice_html}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (3)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_email}}Customer email address.
Account / verification (4)
TagExplanation
{{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 (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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (15)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
Scheduled payment (3)
TagExplanation
{{scheduled_amount_formatted}}Amount of the upcoming scheduled charge with currency.
{{scheduled_date_formatted}}When the next scheduled charge will run.
{{payment_type_label}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (15)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
Scheduled payment (4)
TagExplanation
{{scheduled_amount_formatted}}Amount of the upcoming scheduled charge with currency.
{{scheduled_date_formatted}}When the next scheduled charge will run.
{{payment_type_label}}Humanised type (Deposit, Final, Installment 2 of 4 ...).
{{balance_after_formatted}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (5)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
Booking (15)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
Payment (7)
TagExplanation
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
Scheduled payment (6)
TagExplanation
{{scheduled_amount_formatted}}Amount of the upcoming scheduled charge with currency.
{{scheduled_date_formatted}}When the next scheduled charge will run.
{{payment_type_label}}Humanised type (Deposit, Final, Installment 2 of 4 ...).
{{failure_reason}}Provided by the gateway when a scheduled charge fails.
{{failure_intro_html}}Intro block for the payment-failure email body.
{{failure_followup_html}}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
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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 (2)
TagExplanation
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_email}}Customer email address.
Booking (2)
TagExplanation
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{trip_name}}Title of the trip the booking / enquiry is for.
Abandoned recovery (3)
TagExplanation
{{recovery_link}}Resume the abandoned checkout from the customer email.
{{recovery_reminder_label}}Sequence-stage label (First, Second, Final).
{{recovery_intro_html}}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 event** — `booking.created` - **Audience** — Customer
Available merge tags (33 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `new_booking` — Legacy: New Booking - **Trigger event** — `booking.created` - **Audience** — Customer
Available merge tags (33 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `booking_confirmed` — Legacy: Booking Confirmed - **Trigger event** — `booking.confirmed` - **Audience** — Customer
Available merge tags (33 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `booking_cancelled` — Booking Cancelled - **Trigger event** — `booking.cancelled` - **Audience** — Customer
Available merge tags (34 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `booking_completed` — Booking Completed - **Trigger event** — `booking.completed` - **Audience** — Customer
Available merge tags (34 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
{{completion_date}}Date the trip / booking was marked completed.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `booking_expired_customer` — Booking Expired - **Trigger event** — `booking.expired` - **Audience** — Customer
Available merge tags (34 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
{{expiry_policy_note}}Message shown when a booking auto-expires for non-payment.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `booking_payment` — Legacy: Payment Received - **Trigger event** — `payment.received` - **Audience** — Customer
Available merge tags (36 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_amount_formatted}}Amount of the specific payment with currency.
{{payment_method}}Instrument label (e.g. Card, Bank Transfer).
{{transaction_id}}Gateway transaction reference for the payment.
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `admin_new_booking` — Admin: New Booking - **Trigger event** — `booking.created` - **Audience** — Admin
Available merge tags (33 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `admin_payment_received` — Admin: Payment Received - **Trigger event** — `payment.received` - **Audience** — Admin
Available merge tags (36 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_amount_formatted}}Amount of the specific payment with currency.
{{payment_method}}Instrument label (e.g. Card, Bank Transfer).
{{transaction_id}}Gateway transaction reference for the payment.
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `admin_booking_cancelled` — Admin: Booking Cancelled - **Trigger event** — `booking.cancelled` - **Audience** — Admin
Available merge tags (34 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `admin_booking_expired` — Admin: Booking Expired - **Trigger event** — `booking.expired` - **Audience** — Admin
Available merge tags (34 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
{{expiry_policy_note}}Message shown when a booking auto-expires for non-payment.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `payment_received` — Payment Received (customer) - **Trigger event** — `payment.received` - **Audience** — Customer
Available merge tags (36 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_amount_formatted}}Amount of the specific payment with currency.
{{payment_method}}Instrument label (e.g. Card, Bank Transfer).
{{transaction_id}}Gateway transaction reference for the payment.
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
--- ### `payment_reminder` — Payment Reminder - **Trigger event** — `payment.reminder` - **Audience** — Customer
Available merge tags (36 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_amount_formatted}}Amount of the specific payment with currency.
{{payment_method}}Instrument label (e.g. Card, Bank Transfer).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
{{due_date}}Payment due date for reminders.
--- ### `scheduled_payment_reminder` — Scheduled Payment Reminder - **Trigger event** — `scheduled.payment.reminder` - **Audience** — Customer - **Module gate** — Scheduled Payments (Pro)
Available merge tags (36 tags across 5 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
**Scheduled payment**
TagRenders
{{scheduled_amount_formatted}}Amount of the upcoming scheduled charge with currency.
{{scheduled_date_formatted}}When the next scheduled charge will run.
{{payment_type_label}}Humanised type (Deposit, Final, Installment 2 of 4 ...).
--- ### `scheduled_payment_succeeded` — Scheduled Payment Received - **Trigger event** — `scheduled.payment.succeeded` - **Audience** — Customer - **Module gate** — Scheduled Payments (Pro)
Available merge tags (37 tags across 5 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
**Scheduled payment**
TagRenders
{{scheduled_amount_formatted}}Amount of the upcoming scheduled charge with currency.
{{scheduled_date_formatted}}When the next scheduled charge will run.
{{payment_type_label}}Humanised type (Deposit, Final, Installment 2 of 4 ...).
{{balance_after_formatted}}Balance remaining after this charge succeeds.
--- ### `scheduled_payment_failed` — Scheduled Payment Failed - **Trigger event** — `scheduled.payment.failed` - **Audience** — Customer - **Module gate** — Scheduled Payments (Pro)
Available merge tags (39 tags across 5 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
**Scheduled payment**
TagRenders
{{scheduled_amount_formatted}}Amount of the upcoming scheduled charge with currency.
{{scheduled_date_formatted}}When the next scheduled charge will run.
{{payment_type_label}}Humanised type (Deposit, Final, Installment 2 of 4 ...).
{{failure_reason}}Provided by the gateway when a scheduled charge fails.
{{failure_intro_html}}Intro block for the payment-failure email body.
{{failure_followup_html}}Closing block prompting the customer to update payment.
--- ### `admin_scheduled_payment_failed` — Admin: Scheduled Payment Failed - **Trigger event** — `scheduled.payment.failed` - **Audience** — Admin - **Module gate** — Scheduled Payments (Pro)
Available merge tags (39 tags across 5 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
**Scheduled payment**
TagRenders
{{scheduled_amount_formatted}}Amount of the upcoming scheduled charge with currency.
{{scheduled_date_formatted}}When the next scheduled charge will run.
{{payment_type_label}}Humanised type (Deposit, Final, Installment 2 of 4 ...).
{{failure_reason}}Provided by the gateway when a scheduled charge fails.
{{failure_intro_html}}Intro block for the payment-failure email body.
{{failure_followup_html}}Closing block prompting the customer to update payment.
--- ### `trip_reminder` — Trip Reminder - **Trigger event** — `reminder.trip` - **Audience** — Customer
Available merge tags (36 tags across 5 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
**Reminder & review**
TagRenders
{{days_until_trip}}Days remaining until departure.
{{reminder_days}}Configured number of days before the trip when the reminder fires.
{{reminder_extra_html}}Optional extra block appended to reminder emails (packing list, etc.).
--- ### `review_request` — Review Request - **Trigger event** — `marketing.review_request` - **Audience** — Customer
Available merge tags (35 tags across 5 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_last_name}}Customer last name only.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{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 the booking / enquiry is for.
{{trip_url}}Public link to the trip detail 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.
{{completion_date}}Date the trip / booking was marked completed.
**Payment**
TagRenders
{{total_amount_formatted}}Total cost with currency symbol — preferred over total_amount.
{{amount_due_formatted}}Remaining balance with currency symbol.
{{currency}}ISO 4217 currency code (e.g. USD).
{{payment_gateway}}Internal gateway slug — stripe / paypal / razorpay etc.
{{payment_gateway_label}}Human-readable gateway name — Stripe, PayPal etc.
{{payment_schedule}}full / deposit / partial — raw value.
{{payment_schedule_label}}Humanised schedule (e.g. Deposit, Full Payment).
**Reminder & review**
TagRenders
{{review_url}}Public link the customer opens to leave a review.
--- ### `enquiry_received` — Enquiry Received - **Trigger event** — `enquiry.created` - **Audience** — Customer
Available merge tags (16 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{trip_name}}Title of the trip the booking / enquiry is for.
{{trip_url}}Public link to the trip detail page.
**Enquiry**
TagRenders
{{enquiry_id}}Internal numeric enquiry identifier.
{{enquiry_date}}When the enquiry was submitted.
{{subject}}Subject line the customer provided.
{{message}}Customer message body (sanitised, line breaks preserved).
{{original_message}}First message in the enquiry thread (no line-break escaping).
--- ### `enquiry_admin` — Admin: New Enquiry - **Trigger event** — `enquiry.created` - **Audience** — Admin
Available merge tags (16 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{trip_name}}Title of the trip the booking / enquiry is for.
{{trip_url}}Public link to the trip detail page.
**Enquiry**
TagRenders
{{enquiry_id}}Internal numeric enquiry identifier.
{{enquiry_date}}When the enquiry was submitted.
{{subject}}Subject line the customer provided.
{{message}}Customer message body (sanitised, line breaks preserved).
{{original_message}}First message in the enquiry thread (no line-break escaping).
--- ### `enquiry_response` — Enquiry Response - **Trigger event** — `enquiry.responded` - **Audience** — Customer
Available merge tags (19 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_email}}Customer email address.
{{customer_phone}}Customer phone number.
**Booking**
TagRenders
{{trip_name}}Title of the trip the booking / enquiry is for.
{{trip_url}}Public link to the trip detail page.
**Enquiry**
TagRenders
{{enquiry_id}}Internal numeric enquiry identifier.
{{enquiry_date}}When the enquiry was submitted.
{{subject}}Subject line the customer provided.
{{message}}Customer message body (sanitised, line breaks preserved).
{{original_message}}First message in the enquiry thread (no line-break escaping).
{{response}}Operator's typed reply (alias of response_message).
{{response_message}}Operator's typed reply.
{{response_date}}When the reply was sent.
--- ### `customer_email_verification` — Email Verification - **Trigger event** — `account.email_verification` - **Audience** — Customer
Available merge tags (13 tags across 3 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_first_name}}Customer first name only.
{{customer_email}}Customer email address.
**Account / 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 (consent / verification emails).
--- ### `trip_consent_request` — Trip Consent Request - **Trigger event** — `consent.requested` - **Audience** — Customer - **Module gate** — Trip Consent (Pro)
Available merge tags (14 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{trip_name}}Title of the trip the booking / enquiry is for.
{{travel_date}}Departure date formatted per site settings.
**Trip consent**
TagRenders
{{recipient_name}}Traveler receiving the consent email.
{{form_name}}Title of the consent form.
{{consent_link}}URL to open and sign the form.
{{consent_test_notice_html}}Shown only on admin test sends.
**Account / verification**
TagRenders
{{expiry_notice_html}}Link-expiry messaging block (consent / verification emails).
--- ### `abandoned_booking_recovery_first` — Abandoned Recovery — 1h - **Trigger event** — `booking.abandoned_recovery` - **Audience** — Customer - **Module gate** — Abandoned Booking Recovery (Pro)
Available merge tags (13 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_email}}Customer email address.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{trip_name}}Title of the trip the booking / enquiry is for.
**Abandoned recovery**
TagRenders
{{recovery_link}}Resume the abandoned checkout from the customer email.
{{recovery_reminder_label}}Sequence-stage label (First, Second, Final).
{{recovery_intro_html}}Lead paragraph specific to each recovery email.
--- ### `abandoned_booking_recovery_second` — Abandoned Recovery — 1d - **Trigger event** — `booking.abandoned_recovery` - **Audience** — Customer - **Module gate** — Abandoned Booking Recovery (Pro)
Available merge tags (13 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_email}}Customer email address.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{trip_name}}Title of the trip the booking / enquiry is for.
**Abandoned recovery**
TagRenders
{{recovery_link}}Resume the abandoned checkout from the customer email.
{{recovery_reminder_label}}Sequence-stage label (First, Second, Final).
{{recovery_intro_html}}Lead paragraph specific to each recovery email.
--- ### `abandoned_booking_recovery_final` — Abandoned Recovery — 3d - **Trigger event** — `booking.abandoned_recovery` - **Audience** — Customer - **Module gate** — Abandoned Booking Recovery (Pro)
Available merge tags (13 tags across 4 groups) **Universal**
TagRenders
{{site_name}}Your website name (from WordPress Site Title).
{{site_url}}Your website home URL.
{{admin_email}}Site administrator email address.
{{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**
TagRenders
{{customer_name}}Full name (first + last) of the customer / enquirer.
{{customer_email}}Customer email address.
**Booking**
TagRenders
{{booking_reference}}Customer-visible booking code (e.g. YTR-12345).
{{trip_name}}Title of the trip the booking / enquiry is for.
**Abandoned recovery**
TagRenders
{{recovery_link}}Resume the abandoned checkout from the customer email.
{{recovery_reminder_label}}Sequence-stage label (First, Second, Final).
{{recovery_intro_html}}Lead paragraph specific to each recovery email.
--- --- ## Sequences PRO
PRO Email 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](/screenshots/email/email-sequences.webp) Open the **Sequences** tab (visible only with the Email Automation module on). Each sequence has: | Field | Notes | | --- | --- | | **Name** | Internal label. | | **Trigger event** | One of `booking.created`, `booking.confirmed`, `booking.cancelled`, `booking.completed`, `payment.received`, `payment.reminder`, etc. | | **Audience filters** | Limit to customers from specific destinations / categories / countries / trip types. | | **Steps** | 1 or more steps; each has a **delay** (minutes / hours / days, relative to the trigger or to the previous step) and a **template**. | | **Active toggle** | Pause 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](/screenshots/email/email-logs.webp) 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. ::: tip Email debug log Enable **Debug mode** under [Settings → Advanced](/settings#_13-advanced). With it on, Yatra also writes a copy of every send to `wp-content/uploads/yatra/email-debug.log`. ::: --- ## Where templates are stored | Item | Location in WP-options | | --- | --- | | Per-template ON/OFF flag | `yatra_email_template_` (e.g. `yatra_email_template_booking`) | | Per-template subject | `yatra_email_tpl__subject` (e.g. `yatra_email_tpl_booking_subject`) | | Per-template body HTML | `yatra_email_tpl__body` | | Global delivery settings | `yatra_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 - [Pro modules](/modules) — toggle Email Automation, Trip Consent, Scheduled Payments, Abandoned Booking Recovery. - [Settings → Advanced](/settings#_13-advanced) — debug mode, logging toggles. - [Hooks & filters](/hooks-filters) — every action / filter the email pipeline fires. - [Troubleshooting](/troubleshooting) — fixing bounced or missing email.