PragmaticTours Quotes & Proposals Engine — Operator & Architecture Guide
Welcome to the comprehensive guide on the Quotes, Proposals & Pre-Invoices system in PragmaticTours. This module empowers Destination Management Companies (DMCs), incoming tour operators, and charter agencies to design complex multi-day custom itineraries, model dynamic tiered pricing, generate branded interactive client presentations, issue commercial pre-invoices, and convert approved bookings into scheduled operational tours in a single click.
1. Overview & Business Purpose
Tour agencies often spend hours in spreadsheets calculating per-pax transport costs, room-type supplements, guide day-rates, and markup margins, then manually re-typing those numbers into Word documents to create client proposals. When a client books, dispatchers must manually recreate those tours on the operational schedule.
The PragmaticTours Quotes Engine unifies this entire pipeline into one seamless workflow:
flowchart LR
A[Create Quote<br/>Dates, Pax, Currency] --> B[Build Itinerary Days<br/>Tours, Hotels, Transfers]
B --> C[Configure Pricing Tiers<br/>Cost, Markup, Single Supp]
C --> D[Generate Client Documents<br/>Web Canvas, PDF & Email]
D --> E{Client Approves}
E -->|Approved| F[1-Click Convert to Tours<br/>Scheduled on Dispatch Grid]
E -->|Changes| B
Key Highlights
- Multi-Day Itinerary Builder: Add and reorder consecutive tour days with drag-and-drop or sequential management.
- Service Composition: Attach Catalog Tours, Partner Accommodations & Room Types, Private Transfers, Attraction Tickets, Park Fees, or Custom Expenses.
- Dynamic Pricing Engine: Set tiered pricing (e.g., 2–5 pax, 6–10 pax, 11–20 pax) with automatic markup, single room supplement, and double occupancy rates.
- FOC Trip Leader Modeling: Calculate passenger economics with free-of-charge tour leaders separated from paying travelers.
- Two Distinct Document Types:
- Proposal: A visual itinerary presentation designed to win client approval.
- Pre-Invoice: A financial document specifying required deposit amounts, banking details, and payment conditions.
- Omni-Channel Delivery: Interactive token-protected client web links, print-ready headless Chromium PDF generation, and automated email dispatches via
QuoteMailer. - Automatic Conversion to Live Dispatch: Once approved, quotes automatically generate scheduled operational tours, linking manifests and resources directly to your dispatch dashboard.
2. Core Concepts & Data Architecture
The Quotes module adheres strictly to PragmaticTours' multi-tenant logistics architecture (include Tenantable), ensuring complete data isolation per agency workspace.
Data Models
classDiagram
Account "1" --> "*" Quote : has_many
Customer "1" --> "*" Quote : belongs_to (client)
Customer "0..1" --> "*" Quote : belongs_to (agent)
TourTemplate "0..1" --> "*" Quote : base template
Quote "1" --> "*" QuoteDay : has_many (ordered)
QuoteDay "1" --> "*" QuoteItem : has_many
Quote "1" --> "*" QuotePricingTier : has_many (ordered by min_pax)
Quote --> "0..1" Tour : scheduled_tour (converted)
Account --> "0..1" ProposalTemplate : default template
Quote:quote_number: Unique auto-generated identifier (e.g.,QT-2026-0001).title: Commercial title (e.g., "7-Day Panama Rainforest & San Blas Island Discovery").status: Enum (draft,completed,sent,pre_invoice_sent,approved,cancelled).customer_id: Primary lead traveler or agency contact.agent_id: Optional B2B reseller/travel agent on commission.start_date,end_date,duration_days: Itinerary timeline.pax_count: Paying guest count.foc_leader_count: Free-of-charge tour guides or trip leaders.currency&exchange_rate_to_base: Multi-currency budgeting support (USD, EUR, GBP, CAD, etc.).-
total_estimated_cost,total_quoted_price,markup_percentage,deposit_required_amount. -
QuoteDay: - Represents Day 1, Day 2, ... Day N of the itinerary.
-
Holds
day_number,date,title(e.g., "Day 1: Arrival & Casco Viejo Sunset Walking Tour"), anddescription. -
QuoteItem: - Individual services assigned to a day.
item_type:tour: Linked to an existing catalogTourTemplateor custom tour.accommodation: Linked to a supplier lodging property and specificRoomType.transfer: Airport pickup, inter-city private shuttle, or boat transfer.attraction_ticket: Museum pass, national park entrance ticket.fee: Port authority fee, government tax, visa charge.custom/manual: Miscellaneous vendor expenses.
-
unit_cost,quantity,total_cost,currency. -
QuotePricingTier: - Allows pricing matrix for variable group sizes (e.g. 2–4 pax @ $1,250/pax, 5–8 pax @ $950/pax, 9–14 pax @ $820/pax).
- Configures
single_supplementanddouble_occupancy_price.
3. Step-by-Step Operator Walkthrough
Step 1: Initiating a New Quote
- Go to Quotes & Proposals (
/quotes) in the left navigation sidebar. - Click "+ New Quote" (
/quotes/new). - Fill in the core logistics parameters:
- Quote Title: Clear name for the proposal.
- Customer: Select an existing client or quick-create a new profile (name, email, phone, language preference).
- B2B Agent (Optional): Select an agency if quoting for a wholesale tour operator or DMC partner.
- Start Date & Duration: Enter the tour start date and number of days (the end date syncs automatically).
- Pax Count: Number of paying travelers.
- FOC Leaders: Number of tour leaders whose costs are absorbed into the group total.
- Currency & FX Rate: Select quoting currency and rate against your agency base currency.
- Click Create Quote.
Step 2: Designing the Itinerary Days & Adding Services
In the quote editor, build the day-by-day experience: - Add Itinerary Days: Click "Add Day" to generate sequential day cards. - Assign Activities & Tours: Choose from your internal Product Catalog or enter custom operations. - Lodging & Room Configuration: Link hotels and specify room occupancy types (Single, Double, Triple, Quad, Child Bed, Guide Single). - Transfers & Logistics: Add airport meet-and-greets, private coach legs, or boat charters. - Custom Inclusions & Consumables: Add tickets, tastings, or park fees. Costs automatically roll up into the day subtotal.
Step 3: Setting Margins, Pricing Tiers & Deposits
- Review the Cost Summary Table: PragmaticTours aggregates total transport, guide fees, hotel nights, and admission costs.
- Set the Target Markup (%): (e.g.,
25%or35%). The system computes the Suggested Quoted Price. - Set Pricing Overrides: Enter manual price per pax, single supplement rates, and double occupancy package prices.
- Define the Deposit Requirement: Enter percentage or flat deposit (e.g.,
30%deposit due upon booking).
Step 4: Previewing and Delivering Client Documents
Operators can toggle between two purpose-built views:
| Document | Purpose | Client Experience | Delivery Methods |
|---|---|---|---|
| Proposal | Sales presentation & itinerary showcase | Visual hero, day breakdown, highlights, inclusions, exclusions, pricing options | Web link, PDF attachment, Email |
| Pre-Invoice | Commercial proforma & payment request | Formal payment schedule, bank wires, deposit terms, breakdown of balances | Web link, PDF attachment, Email |
Viewing the Web Canvas
Click "Preview Proposal" or "Preview Pre-Invoice" to open the responsive client canvas. Clients can view the proposal on any mobile device or browser, toggle days, and click "Download PDF" anytime.
Generating Server-Side Headless Chromium PDFs
Clicking "Export PDF" utilizes our headless Chromium engine (Quotes::GeneratePdf), rendering print-ready PDFs with:
- Standard Letter portrait layout with exact print margins.
- High-resolution cover banners, vector typography, and full-color fidelity (print-color-adjust: exact).
- Header and footer integration across page breaks.
- Clean PDF line item tables, price breakdowns, and terms.
Automated Email Delivery
Click "Send Proposal via Email" or "Send Pre-Invoice via Email":
- Renders the email in the customer's preferred language (EN, ES, FR, NL, or PT).
- Attaches the freshly generated PDF directly (Proposal_QT-2026-0001.pdf).
- Embeds the custom header banner as an inline MIME attachment.
- Sets reply_to to the quote creator or agency dispatcher so client replies route directly to the responsible agent.
Step 5: Approval & Conversion to Live Operations
When the customer confirms:
1. Mark the quote status as approved.
2. Click "Convert to Scheduled Tour".
3. PragmaticTours creates a live tour entry on your Dispatch Calendar and Dashboard.
4. All itinerary details, passenger counts, and customer contacts automatically migrate into the operational tour manifest, ready for guide and vehicle auto-assignment!
4. Document Branding & White-Labeling
Agencies can customize document presentation under Settings → Account Settings → Proposal & Pre-Invoice Branding:
1. Separate Header Banner Images
Proposals and pre-invoices often serve different branding needs:
- Proposal Header Banner (proposal_header_image): A vibrant, high-impact marketing banner (e.g. 1200x320 px scenic destination photo with logo) that wows prospective clients.
- Pre-Invoice Header Banner (pre_invoice_header_image): A formal corporate header with official tax credentials, legal name, and payment notice.
Each banner can be uploaded, previewed, and updated independently with 1-click removal.
2. Contact Details & Social Links
Easily configure phone numbers, email addresses, website links, and social channels (Instagram, Facebook, LinkedIn) that display in document headers.
3. Customizable Proposal Templates
Agencies can customize templates (ProposalTemplate) with markdown or HTML content and dynamic placeholders:
- {{quote_number}}: Quote identifier (e.g. QT-2026-0001)
- {{customer_name}}: Lead client name
- {{total_price}}: Formatted total price
- {{deposit_required}}: Formatted deposit amount
- {{start_date}} & {{end_date}}: Tour dates
- {{powered_by}}: System footer credit on free tier
5. Subscription Plan Tiers & Watermarking
The Quotes module is available across all subscription plans with tier-specific capabilities:
| Plan | Pricing | Quoting Features | Document Branding |
|---|---|---|---|
| Basecamp (Free) | $0/mo | Up to 10 quotes & tours, manual itinerary builder, PDF export, web canvas | Includes "Power by: https://pragmatictours.com" in PDF footers, web canvas, and email templates |
| Voyage (Pro) | $25/mo | Unlimited quotes & tours, custom proposal banners, pre-invoice banners, email dispatch | 100% White-Label: No watermarks, completely custom branding |
| Expedition (Advanced) | $50/mo | All Voyage features + Instant Quote-to-Tour Operations, Multi-Currency pricing, API integration | 100% White-Label with priority account support |
6. Multi-Language Support (I18n)
Quotes support 5 languages out of the box:
- English (en)
- Spanish (es)
- French (fr)
- Dutch (nl)
- Portuguese (pt)
The client canvas, PDF documents, and transactional email dispatches automatically translate based on the customer's language preference (customer.language_preference), ensuring an authentic localized booking experience for international travelers.