---
title: Bookings & customers
description: The Yatra booking lifecycle — admin workflow, traveler details, customer accounts, guest checkout, enquiries, and reviews moderation.
---
# Bookings & customers
This page is your operational guide — the day-to-day "where do I click to manage these bookings" reference.
## The Bookings list
Open Yatra → Bookings.
You'll see a table of every booking with:
- **Search** by booking number, customer, or trip.
- **Booking status filter** — Pending, Confirmed, Cancelled, Completed.
- **Payment status filter** — Pending, Partial, Paid, Refunded, Failed.
- **Sort** by Booking Date, Travel Date, Booking Number, Customer, Trip, Amount, Status.
Default columns (toggleable): booking number, customer, trip, travelers count, dates, amount, payment status, booking status.
### Bulk actions
Tick rows, then choose:
- **Mark as Confirmed** / **Mark as Pending** / **Mark as Cancelled** / **Mark as Completed** / **Delete permanently**.
(The bulk options shown depend on which status tab you're viewing.)
## Booking detail page
Click any booking row to open the detail page.
### Header
The header shows the booking number and a **+ Edit Booking** button (visible if you have the `yatra_edit_bookings` capability).
### Sections (top to bottom)
#### Booking Overview
- Booking number, trip title, travel dates.
- Traveler count badges (e.g. "2 Adults · 1 Child").
#### Payment Summary
A breakdown of the financials:
- Subtotal.
- Discounts applied (per-coupon line).
- Taxes (per-tax line).
- Itinerary costs / extras.
- Grand Total.
- **Due Now** — the unpaid balance (if any).
#### Customer Information
Name, email, phone — pulled from the customer record.
#### Travelers Information
For each traveler on the booking:
- Name and category badge (Adult / Child / Infant / Senior).
- Document number (if collected).
- "Lead Traveler" / "Primary Contact" badges.
#### Emergency Contact
Shown only if the customer filled it in at checkout.
#### Special Requests
Internal notes from the customer (dietary, accessibility, etc.).
#### Sidebar — Google Calendar Sync PRO
PRO
Google Calendar two-way sync
Push every booking to your operations Google Calendar. Per-trip calendar selection, color coding, and automatic date updates if the customer reschedules.
Unlock calendar sync →
When the **Google Calendar Integration** module is on and the booking has been synced, the sidebar shows the calendar status, link to the calendar event, and a **Re-sync** action.
#### Payment Information
- Status pill (Paid / Pending / Partial / Refunded / Failed).
- Method (PayPal / Stripe / etc.).
- Trip Price per Person.
- Total Amount.
- Tax Incl. badge if your settings say prices include tax.
- Discount card if a coupon or group discount was applied.
#### Consent Status PRO
PRO
Trip Consent & digital waivers
Collect liability waivers, COVID forms, or release-of-image consents at checkout. Each traveler signs digitally; you see a "signed N of M travelers" status here, with a link to Manage Consents.
Unlock trip consent →
#### Timeline
Created at + Last updated at + a brief history of status changes.
## Booking statuses
| Status | Meaning |
| --- | --- |
| **Pending** | Customer started but hasn't paid (or paid partial). |
| **Confirmed** | Paid in full. Trip is locked in. |
| **Cancelled** | Customer or admin cancelled. Refund handled separately. |
| **Completed** | The trip has run. Useful for after-trip review requests. |
Bookings auto-transition Pending → Confirmed when the gateway webhook lands (PayPal IPN, Stripe charge.succeeded, etc.).
You can manually transition with the bulk action menu or by editing the booking.
## Edit a booking
Click **+ Edit Booking** in the header to load the booking edit form. You can:
- Add or remove travelers.
- Change traveler categories.
- Change the trip / departure / dates (recalculates totals).
- Add internal notes.
- Override the price (for special quotes).
Click **Save** to persist. The customer doesn't get an automatic email — use the **Send email** action if you want them notified.
## Customers
Open Yatra → Customers.
This is the list of every customer who has ever booked or registered:
- Status filters: All / Active / Inactive / Blocked.
- Sort by Registration Date, Name, Email, Country, Bookings, Total Spent.
Click a customer row to see:
- Profile (name, email, phone, address).
- All bookings.
- All payments.
- All enquiries.
- Internal notes (admin-only).
### Bulk actions on customers
- Mark as **Active**, **Inactive**, or **Blocked**.
- Delete permanently (warns before deleting).
Blocking a customer prevents new bookings from their account but doesn't touch existing data.
## Guest checkout
If your Settings → Customer has **Allow guest checkout** on, customers don't need an account before booking. Yatra creates a customer record on first booking. They can later set a password and claim the account by visiting the password-reset link in their booking confirmation email.
If guest checkout is **off**, customers must register or log in before booking.
## Enquiries
Open Yatra → Enquiries for the enquiry pipeline.
Customers submit enquiries from the **Make an Enquiry** modal on the trip page. Each enquiry has:
- Customer name, email, phone.
- Trip (linked).
- Preferred travel date and traveler count.
- Message body.
- Status (New / In Progress / Quoted / Won / Lost).
Click an enquiry to view, reply, or convert it to a booking. Yatra fires the `yatra_enquiry_created` action so you can route to a CRM via Zapier or a custom integration.
## Reviews
Open Yatra → Reviews.
Reviews are moderated by default. The list has:
- Status filters: All / Pending / Approved / Rejected.
- Columns: rating, customer, trip, body excerpt, submitted at.
Click any review to read the full body, reply (admin reply), or moderate.
Per-trip review settings are in Yatra → Settings → Review: enable / disable, allow anonymous, auto-approve threshold, minimum rating to display.
## Discounts (coupons)
Open Yatra → Discounts.
Each coupon has:
- **Code**, **Description**, **Type** (percentage / fixed), **Amount**.
- **Maximum discount** (cap for percentage coupons).
- **Usage limit** (total) and **per customer** limits.
- **Valid from** and **expiry date** (DatePicker).
- **Status** — draft / publish / trash.
- **Applicable to** — all trips or specific trips.
- **Minimum booking amount**.
- **First-time customer only** flag.
PRO
Advanced & group discounts
Auto-apply group-size discounts (e.g. 5% off for 4+ travelers, 10% off for 8+), stack with promo codes, and exclude specific trips. The Pro Advanced Discount module unlocks all of this.
Unlock advanced discounts →
## Booking flow on the front end
When a customer clicks **Book now** on a trip:
1. They pick a **date / departure** (date picker on the trip page).
2. Set **traveler counts** by category (Adult / Child / etc.).
3. Continue to checkout.
4. Fill in **contact** + **traveler details** (one form section per traveler).
5. Optional **emergency contact**.
6. Pick a **payment method**.
7. Pay.
After successful payment, they land on the **Booking confirmation** page (rendered from `templates/partials/booking-content.php`).
## What's next
- [Payments](/payment-settings) — gateway-by-gateway setup, refunds.
- [Email & notifications](/email-settings) — what fires on confirmation.
- [Pro modules](/third-party-integrations) — every Pro feature listed.