TravDesk V2 · Now with Lead CRM, Package Quotes, Invoices & REST API

The complete platform for travel agencies.

TravDesk V2 brings full lead pipeline management, hotel and package quotations, itinerary building, booking confirmations, invoice tracking, and a REST API into one production-grade platform. Built by Desiment for the travel industry.

0+
Modules
0+
Features
∞
Agencies (multi-tenant)
0
Logins to view a quote
V2 Changelog

Four major additions in V2.

V1 → V2
New · Module 01
Lead CRM & Pipeline
Full pipeline from inquiry to booked. Lead scoring, activity logging, source tracking, and one-click convert to client.
New · Module 02
Package Quotations
Full tour packages — flights, hotels, activities — with per-person pricing for adults, children, and infants.
New · Module 03
Place & Image Library
Reusable destination place library with tags and cover photos. Per-agency image gallery via Cloudinary for itineraries.
New · Module 04
Booking Confirmations & Vouchers
Auto-generate branded booking confirmation PDFs and guest vouchers the moment a quote is accepted. Includes booking reference and full travel details.
The Problem

Travel agencies deserve
better tools.

Most agencies still juggle Excel, WhatsApp, and printed rate sheets — and have no visibility over leads, team performance, or pipeline.

Manual quote building in Excel
Hours copying hotel names, room rates, and formulas — constant errors and no audit trail.
No lead tracking or follow-up system
Inquiries arrive and disappear into WhatsApp chats. No pipeline, no scoring, no follow-up reminders.
No client or team visibility
Contacts scattered across phones. No way to see what each agent is quoting, following up on, or winning.
Seasonal pricing done manually
Peak and off-season rates stored in memory. One wrong rate and you under-quote a booking.
Itineraries built from scratch every time
No template library. Every Rajasthan or Shimla itinerary typed out again, with no day-by-day structure.
Zero business visibility
No win rates, no revenue data, no agent rankings. Decisions run on gut feeling, not numbers.
Lead CRM + Quote Builder
From first inquiry to signed booking
Capture leads, score them automatically, build professional multi-hotel or package quotes, and close with WhatsApp or email — all in one place.
Itinerary + Hotel Library
Build once. Reuse forever.
Save hotels with seasonal rates, build reusable itinerary templates, and pick from your place library. Every new booking is faster than the last.
Analytics + API
Real data, real decisions
Win rates, agent leaderboards, top destinations, and revenue trends — plus a REST API to connect TravDesk with any external system.
Features

Every tool your agency needs.

200+ FEATURES · 21 MODULES
Dashboard

Real-time KPIs, lead counts, revenue chart, follow-up alerts, and expiring quotes — everything visible the moment you log in.

8
Revenue KPI Cards
Revenue this month (accepted quotes) and pipeline value (draft + sent + discussion), each with month-over-month change.
Leads & Clients Cards
New leads this month and active clients count — a live snapshot of pipeline health at the top of every session.
Revenue Trend Chart
6-month bar chart with Daily / Monthly / Yearly tabs. Bars split into Accepted (solid) and Pipeline (muted) values.
Follow-Up Alerts
Count of leads with overdue or today's follow-up dates. One click navigates to the filtered leads list.
Expiring Quotes Alert
Sent quotes expiring within 7 days surfaced at login. Click to see the full list and trigger follow-up messages.
Recent Quotes Table
Latest quotes with client name, quote number, status badge, total amount, and quick-action buttons.
Quick Action Links
One-click shortcuts to create a lead, create a quote, and view full analytics — visible from the dashboard header.
Cached Snapshots
Stats cached per agency (5-min TTL) via MaterializeDashboard command. Instant reads even under heavy load.
Leads & CRM

Full pipeline from first inquiry to booked. Auto lead scoring, activity logging, source tracking, and one-click client conversion.

12
Lead Capture Form
10 fields: contact name, phone, email, destination (multi-value), travel month, pax count, budget, budget type, source, assigned agent.
Pipeline Stages
Five stages: new → contacted → negotiation → booked → lost. Move from list view or lead detail. Auto-moves on quote acceptance.
Lead Scoring (Hot / Warm / Cold)
Async score calculated from 7 signals: stage, budget, budget type, follow-up date. ≥3 = hot, ≥1 = warm, <1 = cold.
Convert Lead to Client
One click creates a Client record pre-filled with the lead's contact details. No double entry.
Activity Logging
Log every interaction per lead: call, email, meeting, WhatsApp, note. Records type, outcome, notes, next action and date.
Follow-Up & Last Contacted
Set a follow-up date per lead. Overdue follow-ups surface on the dashboard. Last contacted date auto-stamps on activity log.
Source Tracking
Record where each inquiry came from. Feeds into analytics to identify your highest-converting acquisition channels.
Lost Reason Capture
When a lead is marked lost, a reason is recorded. Aggregated in analytics to identify pricing or timing patterns.
Agent Assignment
Assign any lead to a specific team member. Admins see all; agents see only their own pipeline.
Quotations

Hotel and package quote builder with seasonal pricing, tiered options, PDF, WhatsApp, email, and shareable read-only links.

18
Hotel Quote Builder
Multi-hotel quotes with rooms, meal plans, extra adult/child rates, transport cost, GST, discount, deposit, and selling price.
Package Quote Builder
Full tour packages — flights, hotels, activities — with per-person adult/child/infant pricing, taxes, service markup, and discount.
Options Mode (Tiered Quotes)
Present up to 4 hotel packages (Budget → Premium) in a single quote. Client picks their tier from one link.
Seasonal Rate Auto-Apply
Check-in date matched against hotel's seasonal rate tables. Correct rate applied automatically — no manual lookup.
Auto Quote Number
Format QT{YY}{MM}-{NNNN} (e.g. QT2605-0001). Race-condition-safe via SELECT … FOR UPDATE locking. Never duplicated.
Quote Status Lifecycle
draft → sent → discussion → accepted / rejected / expired. Accepting auto-moves linked lead to "booked".
Shareable Public Link
64-char random token URL lets clients view the full branded quote without login. Expires at valid_until + 30 days.
WhatsApp Share
4 pre-built templates: Formal, Friendly, Follow-Up, Brief. Templates customisable per agency with dynamic variables.
PDF & Guest Voucher
Branded PDF via Browsershot (headless Chrome). Separate guest voucher PDF for accepted bookings and confirmations.
Itinerary Builder

Day-by-day travel document creator with versioning, template library, per-person pricing, and auto-save.

10
Day-by-Day Builder
Add entries with date, title, activities, hotel, and highlights per day. Reorder as needed. Links to lead or client.
Version Management
Mark itineraries v1/v2/v3/final. Status workflow: draft → sent → approved → archived. Clone to next version in one click.
Per-Person Pricing
Adult, child, and infant prices with taxes & fees, service markup, and discount. All calculated and displayed in the document.
Template System
Save any itinerary as a reusable template. Clone from template library for new bookings — stop starting from scratch.
Inclusions & Exclusions
12 common inclusion defaults as toggleable chips. Add custom chips. Exclusions stored as structured JSON.
Agency Branding Snapshot
Agency logo, name, tagline, and emergency phone snapshotted at save time. PDF always reflects branding at point of send.
Auto-Save
Frontend auto-saves as you type, throttled to 1 save per 5 seconds. No work is ever lost mid-edit.
Print View
Dedicated print URL triggers window.print() for browser PDF. Clean page layout, no UI chrome.
Hotel & Places

Reusable hotel database with seasonal rates, room types, and a place library for destinations and an image gallery for itineraries.

12
Hotel CRUD
Add hotels with name, star rating, city, address, phone, email, GST number, description, preferred and active flags.
Multiple Room Types
Unlimited room types per hotel, each with base rate, meal plan, max occupancy, extra adult and child rates.
Meal Plan Pricing
Separate rates for EP, CP, MAP, and AP per room type. Auto-applied in Quote Builder when agent selects meal plan.
Seasonal Rate Tables
Date-range seasons with override prices per room type. Quote Builder auto-applies the correct season by check-in date.
Media & Maps
Cover photo URL, gallery link, and Google Maps link displayed on client-facing quotes and itineraries.
Place Library
Reusable destination records: cities, attractions, beaches, POIs with type, tags, description, highlights, and cover photo.
Image Gallery (Cloudinary)
Per-agency image library. Upload images (resized to 1000px), hover to copy URL for use in itineraries. Delete removes from Cloudinary.
Clients

Contact database with auto-creation from quotes, travel preferences, key dates, CSV import/export, and bulk management.

9
Client CRUD
Create and manage contacts with name, phone, email, city, and notes. Full edit and delete with confirmation.
Travel Preferences
Store budget level, hotel type preference, food preference, and travel style per client for personalised quoting.
Key Dates
Birthday, anniversary, and passport expiry — surface relationship touchpoints and renewal opportunities.
Walk-In Auto-Resolution
Create a quote without selecting a client — system resolves or creates a walk-in record from name/phone/email automatically.
Auto-Save from Quotes
New clients saved automatically when a quote is created. No separate data entry step.
CSV Import with Dedup
Upload CSV in bulk. Records with matching phone or email are auto-skipped to prevent duplicates.
CSV Export & Bulk Delete
Download all clients as CSV at any time. Select and delete multiple records in a single action.
Analytics

Win rates, revenue trends, lead funnel, top destinations, agent rankings, and hotel performance — filtered any way you need.

8
Revenue Trend
6-month bar chart: accepted revenue vs pipeline value. See if your funnel is growing or stalling.
Lead Funnel by Stage
Count of leads at each pipeline stage. Spot where inquiries drop off from contacted to negotiation to booked.
Conversion Rate
Accepted / total quotes, updated dynamically by date range and agent filter.
Agent Leaderboard
Rank agents by total quotes sent, win rate %, and revenue closed. Identify top performers and coaching opportunities.
Top Destinations
Quote count per destination. Identify the routes your clients want most and where your seasonal rates matter.
Hotel Performance Table
Appearances in quotes, accepted count, win rate, and avg booking revenue per hotel property.
Date Range + Agent Filter
All charts and tables update dynamically. Scope to any date range or specific agent in one click.
Cached with Read Replica
Results cached 15 min per agency with stampede-safe locking. Reads route to MySQL replica when DB_REPLICA_HOST is set.
Settings & Team

Agency branding, financial defaults, WhatsApp and email templates, team invites, role management, and data export/import.

13
Agency Branding
Name, logo (Cloudinary), address, phone, website. Applied to all quotes, invoices, and itinerary PDFs.
Financial Defaults
Set default currency, GST %, and deposit %. Pre-filled in every new quote — override per quote as needed.
WhatsApp Templates
4 templates (Formal, Friendly, Follow-Up, Brief) customisable with dynamic variables: name, dates, total, hotel block, agent.
Email Configuration
Custom sender name and reply-to email. Test email button to verify delivery before first use.
Payment QR Code
Upload UPI / payment QR image shown on quotation PDFs so clients can pay directly from the document.
Team Invites & Roles
Invite agents by email. Assign owner or member role. Activate/deactivate members without deletion.
Member Limit Enforcement
Set a maximum team size per agency. Prevents over-provisioning without manual monitoring.
Data Export / Import
Export leads, clients, quotes, hotels, itineraries as JSON or CSV. Import from JSON with preview before running.
Auth & Security

Email login, TOTP 2FA, CAPTCHA protection, session control, role-based access, and secure password management — protecting your agency and your clients' data.

8
Email + Password Login
Standard Laravel Jetstream/Fortify auth. Registration hidden behind a secret URL code to prevent public sign-ups.
TOTP Two-Factor Auth
Optional 2FA per user. Agency admins can require 2FA for their entire team — a single setting that applies to all members.
Cloudflare CAPTCHA
Turnstile CAPTCHA on login and register, validated server-side. Throttled at 30 req/min to block credential-stuffing attacks.
Profile & Account Settings
Update name, email, profile photo, and timezone from your account page. Each team member manages their own profile independently.
Session Management
View all active sessions across devices. Log out of any or all sessions remotely — essential for shared workstations and field agents.
Password Reset Flow
Secure email-based password reset with expiring tokens. Works for all team members including invited agents — no admin intervention needed.
Permission-Based Access
Agents see only their own leads, quotes, and clients. Admins control team settings, branding, and agency configuration.
Security Headers & Rate Limits
X-Frame-Options, HSTS, CSP, Referrer-Policy. Rate limits per user, per agency, per endpoint. Authorization probing detection middleware.
API & System

REST API v1 with Bearer tokens, global search, activity logs, multi-tenancy isolation, scheduled jobs, and super admin panel.

10
REST API v1
Full API for quotations, leads, and clients. Bearer tokens via POST /api/v1/tokens. Paginated collection + single resource responses.
API Rate Limiting
120 req/min per user · 600 req/min per agency · 30 req/min for public endpoints. Standardised error responses.
Multi-Tenancy (AgencyScope)
Every model has agency_id. EnsureAgencyScope middleware strips tenant fields from all requests. No cross-agency data leaks.
Global Search
Single search across leads, clients, quotations, hotels, and itineraries. Returns grouped results by entity type.
Activity Log (Global)
Cross-entity log of all calls, emails, meetings, WhatsApp, and notes. Global list view for admins; per-lead view for agents.
Scheduled Jobs
Auto-expire past-valid_until quotes daily. Dashboard snapshots every 5 min. Weekly backup restore drill. Daily DB + file backup.
Webhook Notifications
Register webhook URLs to receive real-time events on lead creation, quote status changes, and booking acceptance. Integrates with any external system.
Queue & Cache Infrastructure
Laravel Horizon for queues. TenantAwareJob sets agency context in background jobs. Stampede-safe cache via TenantCache::rememberWithLock().
Real Use Cases

How agencies use TravDesk.

6 WORKFLOWS
01 — Lead to Booking
“Inquiry comes in on WhatsApp for a Shimla trip, 4 people.”
1
Create a lead: name, phone, destination, pax, budget. Score auto-calculated as hot.
2
Build a quote from the lead. Seasonal rate auto-detects. Add transport and GST.
3
Share via WhatsApp. Client accepts. Lead auto-moves to "Booked".
One pipeline, zero manual updates. Lead → quote → booking in 10 minutes.
02 — Tiered Options
“Client wants Budget vs Deluxe vs Premium choices in one document.”
1
Enable Options Mode in Quote Builder.
2
Add up to 4 hotel packages as separate tiers.
3
Client receives one link, picks their tier — no back-and-forth.
One document, three choices. Client decides without a second email.
03 — Itinerary Build
“Building a 7-day Rajasthan package itinerary from a saved template.”
1
Clone the Rajasthan template from the library.
2
Update hotel and activity details for this client's specific dates.
3
Set per-person pricing, save as v1, send for approval.
A polished 7-day itinerary in under 20 minutes — not 2 hours.
04 — Analytics Review
“Admin wants to know which agent and hotel performed best this month.”
1
Open Analytics, set date range to current month.
2
Agent leaderboard shows win rate % and revenue per agent.
3
Hotel table shows which properties close most reliably.
Instant visibility. No manual report, no spreadsheet.
05 — API Integration
“External website form pushes new inquiries into TravDesk automatically.”
1
Issue a Bearer token from POST /api/v1/tokens.
2
Website form POSTs lead data to /api/v1/leads on submission.
3
Lead appears in TravDesk pipeline instantly, assigned to the right agent.
Zero manual entry. Every web inquiry lands in the CRM automatically.
06 — Repeat Booking
“Returning client wants the same Goa package as last year, with updated rates.”
1
Find last year's accepted quote. Clone it in one click from the quote detail page.
2
Update hotel rates, travel dates, and transport costs for the new season.
3
Send revised quote via WhatsApp. Client accepts. Booking confirmation PDF generated instantly.
Returning client re-booked in under 5 minutes. Zero data re-entry.
How It Works

Up and running in minutes.

01
Set up your agency
Add company name, logo, default GST, deposit %, and WhatsApp/email templates in Settings. 10 minutes, done once.
02
Build your library
Add hotels with room types, meal plans, and seasonal rates. Add destinations to the place library. Set up once, used on every quote forever.
03
Invite your team
Add agents by email. Assign roles. Admins see everything — agents stay focused on their own leads and pipeline.
04
Start closing
Capture leads, build quotes, build itineraries, share via WhatsApp, track acceptance, generate invoices, and watch the dashboard fill with live data.
FAQ

Common questions.

No. Every quote gets a 64-character shareable URL. Your client clicks the link and sees the full branded quote — no login, no app download required. The link expires 30 days after the quote's valid-until date.
Hotel quotes are for hotel-only bookings with room-level pricing. Package quotes are for full tour packages — flights, hotels, and activities — using per-person adult/child/infant pricing with a service markup. Both support GST, discount, deposit, and WhatsApp/PDF sharing.
Scoring runs asynchronously when a lead is created or updated. It evaluates 7 signals: pipeline stage, whether a budget is set, budget type, and follow-up date. Scores ≥3 = hot, ≥1 = warm, below 1 = cold. The score updates automatically as the lead progresses.
Yes. Once a quote is accepted, TravDesk generates a GST-compliant invoice pre-filled with client details, booking dates, line items, and your agency's payment QR code. Download as PDF or share directly from the quote page.
No. Agents only see their own leads, quotes, and clients. Admins have full visibility across all team members and can filter analytics by individual agent.
Every record (leads, clients, quotes, hotels, itineraries) carries an agency_id enforced by a global Eloquent scope. The EnsureAgencyScope middleware strips tenant fields from all requests. Data between agencies is never accessible — even by accident.
Yes. REST API v1 is available at /api/v1. Issue Bearer tokens via POST /api/v1/tokens. Endpoints cover quotations, leads, and clients — with search, filtering, status updates, and WhatsApp message generation. Rate limited at 120 req/min per user.
Yes. Agency Settings includes full data export as JSON or CSV for every entity — leads, clients, quotations, hotels, and itineraries. JSON exports can be re-imported with a preview step before committing. GDPR-compliant client data erasure is also available.
✦TravDesk V2 · Built by Desiment · Delhi

Your agency deserves a smarter workflow.

21 modules. 200+ features. Lead CRM, package quotes, itinerary builder, booking confirmations, invoice tracking, and REST API — all in one platform.