# How to build a travel agency quote that clients actually accept

> What a travel agency quote needs so it gets accepted: the fields, the order, the expiry date and what the Word template is missing. With a table and an example.

- URL: https://www.viajalo.ar/en/blog/how-to-build-a-travel-agency-quote
- Publicado: 2026-09-05
- Idioma: en
- Autor: Facundo
- Otras versiones: es: https://www.viajalo.ar/blog/como-armar-un-presupuesto-para-agencia-de-viajes

A travel agency quote is a proposal with a total price per person, dates, what is included and what is not, cancellation terms and a date until which it is valid. The client compares it with two or three others, so the one that wins is the one that can be understood on a phone in under a minute and accepted without calling anyone.

## Seven parts, none of them optional

A travel agency quote has seven parts, and the order they appear in weighs as much as the content, because the client reads it on a phone, standing up, and decides on the first screen whether to keep reading.

| Part | What it is there for | The most common mistake |
|---|---|---|
| What is being quoted | So the client recognises their request in the first line | Opening with the logo, the company name and the tax ID |
| Dates and number of travellers | Avoids the "it was for the 14th, not the 15th" round trip | Putting them at the end, in small print |
| Total price per person | The number they will compare against the other quotes | Showing only the group total, or the price before tax |
| What is included and what is not | Prevents the argument on the day of the excursion | A "please ask" where there should be a yes or a no |
| An itinerary, even a short one | Turns a list of services into a trip | Pasting the supplier's text as is |
| Cancellation terms | The client buys calmly if they know how to back out | A link to a 4-page PDF |
| Expiry date and how to accept | Without a date there is no urgency; without a button there is no acceptance | Closing with "let us know if you have any questions" |

None of the seven is optional. If one is missing, the client asks about it on WhatsApp, and every question is one more afternoon without closing.

## Order matters more than design

The right order for a quote follows the questions the client asks themselves, in the order they ask them: what is it, when, how much, what is included, how do I cancel, how do I accept.

Most templates do the opposite. They open with the agency (logo, address, tax ID, general terms) and end with the only thing the client came for. That is the logic of an invoice, not of a sale.

A simple test: open your last quote on a phone and count how many times you have to swipe before you see the price per person. If it is more than once, the order is backwards.

## The price per person gets compared before the brand does

A client who receives three quotes compares the total price per person first, then what that price includes, and only then looks at who sent it, so those two pieces of data have to be impossible to miss.

The price per person has to be the one they will pay, tax included, and with the boarding fee or the park entrance if they apply. A "plus tax" price that later goes up by 21% does not read as a lower price: it reads as a surprise.

What is included is best written with concrete verbs. "Pickup from downtown hotels" says something. "Services as per programme" says nothing and forces a question.

## What the Word template is missing

The Word template, exported to PDF and sent over WhatsApp, covers almost every part of the table and fails at a single thing: after sending it, the agency knows nothing more.

It does not know whether the client opened it. It does not know whether they compared it with two others. It does not know whether they accepted it until the client writes back, and when they write back it is often to ask for a change, which means redoing the file, exporting it and sending it again.

There is a second, quieter problem. The PDF does not book anything. When the client says "go ahead", someone has to go into the system (or the spreadsheet) and enter the booking by hand, with the date, the travellers and the pickup that were already written on the quote. That double entry is where the errors on departure day are born.

<figure>
  <svg viewBox="0 0 760 210" role="img" aria-labelledby="quote-diag-t quote-diag-d" style={{ width: "100%", height: "auto", fontFamily: "inherit" }}>
    <title id="quote-diag-t">The path of a quote, from drafting to booking</title>
    <desc id="quote-diag-d">Five steps in a row: it is built from catalogue products, sent as a link, opened by the client on their phone, accepted with a tap, and the booking is created on its own with its seats and its payment link.</desc>
    <defs>
      <marker id="quote-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
        <path d="M 0 0 L 10 5 L 0 10 z" fill="#94A3B8" />
      </marker>
    </defs>
    <g fontSize="13" fill="#0F172A">
      <rect x="16" y="52" width="128" height="86" rx="10" fill="#FFFFFF" stroke="#E2E8F0" />
      <text x="80" y="80" textAnchor="middle" fontWeight="600">1. Built</text>
      <text x="80" y="100" textAnchor="middle" fill="#64748B" fontSize="12">products, dates,</text>
      <text x="80" y="116" textAnchor="middle" fill="#64748B" fontSize="12">travellers, expiry</text>

      <line x1="144" y1="95" x2="168" y2="95" stroke="#94A3B8" strokeWidth="1.5" markerEnd="url(#quote-arrow)" />

      <rect x="172" y="52" width="128" height="86" rx="10" fill="#FFFFFF" stroke="#E2E8F0" />
      <text x="236" y="80" textAnchor="middle" fontWeight="600">2. Sent</text>
      <text x="236" y="100" textAnchor="middle" fill="#64748B" fontSize="12">as a link, on WhatsApp</text>
      <text x="236" y="116" textAnchor="middle" fill="#64748B" fontSize="12">or by email</text>

      <line x1="300" y1="95" x2="324" y2="95" stroke="#94A3B8" strokeWidth="1.5" markerEnd="url(#quote-arrow)" />

      <rect x="328" y="52" width="128" height="86" rx="10" fill="#FFFFFF" stroke="#E2E8F0" />
      <text x="392" y="80" textAnchor="middle" fontWeight="600">3. Opened</text>
      <text x="392" y="100" textAnchor="middle" fill="#64748B" fontSize="12">on the phone, with photos,</text>
      <text x="392" y="116" textAnchor="middle" fill="#64748B" fontSize="12">map and itinerary</text>

      <line x1="456" y1="95" x2="480" y2="95" stroke="#94A3B8" strokeWidth="1.5" markerEnd="url(#quote-arrow)" />

      <rect x="484" y="52" width="128" height="86" rx="10" fill="#FFF4EE" stroke="#FE5303" strokeWidth="2" />
      <text x="548" y="80" textAnchor="middle" fontWeight="700">4. Accepted</text>
      <text x="548" y="100" textAnchor="middle" fill="#64748B" fontSize="12">with one tap, before</text>
      <text x="548" y="116" textAnchor="middle" fill="#64748B" fontSize="12">it expires</text>

      <line x1="612" y1="95" x2="636" y2="95" stroke="#94A3B8" strokeWidth="1.5" markerEnd="url(#quote-arrow)" />

      <rect x="640" y="52" width="108" height="86" rx="10" fill="#FFFFFF" stroke="#E2E8F0" />
      <text x="694" y="80" textAnchor="middle" fontWeight="600">5. Booked</text>
      <text x="694" y="100" textAnchor="middle" fill="#64748B" fontSize="12">seats drawn down</text>
      <text x="694" y="116" textAnchor="middle" fill="#64748B" fontSize="12">and payment link</text>

      <text x="380" y="176" textAnchor="middle" fill="#64748B" fontSize="12">From step 1 to step 5 nobody retypes the date, the travellers or the pickup.</text>
    </g>
  </svg>
  <figcaption>A quote that is accepted on the same page does not need anyone to enter the booking afterwards.</figcaption>
</figure>

## Without an expiry date there is no decision

The expiry date of a quote is the date until which the agency commits to holding the price and the seat, and it is the piece of data that closes the most quotes and that the most agencies forget.

Without an expiry date, the client saves it to "look at later" and opens it again in March with January prices. With one, they decide. For a regular excursion, 3 to 7 days is enough. For a package with a hotel in high season, 48 hours, because the room will not wait longer.

On when to send it there is a rule that works: the same day the client asked. A quote that arrives after 48 hours competes with two that arrived after 2.

## From quote to booking without retyping

In Viajalo the quote is a web page, not a file: it is built from catalogue products, sent as a link, the client opens it on their phone and accepts it right there, and the booking is born on its own with its seats drawn down and its payment link.

That fixes both failures of the template at once. The agency can see whether the quote was accepted, and when it is, nobody enters anything by hand: the date, the travellers and the pickup the client already saw are the same ones that end up on the booking.

A few details that change the daily work. Templates are saved per agency, for the combinations that repeat every week. Each product goes in its own currency, without inventing an exchange rate. The page comes out in the client's language, with more than 15 available. And every quote carries its own UTM tags, so at month end you can see which channel brings quotes that get accepted and which brings quotes that get looked at and nothing more.

What does not change is the work of thinking through the trip. Choosing which excursion suits a windy Tuesday in Bariloche is still the agency's job. What goes away is the Word file.

## Preguntas frecuentes

### How long should a quote stay valid?

As long as the price and the seat you are promising hold. For a regular excursion, 3 to 7 days is reasonable. For a package with a hotel in high season, 48 hours, because the hotel will not hold the room longer than that. What matters is that the date is written on the quote and that it can no longer be accepted once it passes.

### Which currency should the quote be in?

The currency you charge each product in, with no conversion. If the excursion sells in pesos and the private transfer in dollars, the quote shows both and the client pays each in its own. Adding everything up at the day's exchange rate forces you to redo the quote every time the rate moves.

### What happens when the client accepts?

The booking has to be born, without anyone retyping what was already on the quote. Seats are drawn down from each departure and the client receives the payment link. If a departure sells out between acceptance and payment, it is better to find out at that moment than on the day of the excursion.
