---
title: "Travel agency App template: enquiries, supplier quotes, proposals and bookings | Kylon apps gallery"
description: "An App template for a travel agency trip desk: enquiries with the brief in fields, supplier quotes per trip, versioned proposals with an approver, bookings with deposits and balances, and pre-departure checks, with demo records to open it on."
url: "https://kylon.io/fork/travel-desk"
language: "en"
---

[Kylon home](https://kylon.io/) [Start free](https://app.kylon.io/sign-up)

[Back to the Apps](https://kylon.io/apps)

Post

Travel DeskApp · Travel · sample data

# Take a custom trip from the first enquiry to a priced, approved proposal

A custom trip is one brief and seven supplier conversations that all have to hold the same dates and the same party. This template keeps the enquiry, the travellers, every supplier quote, each version of the proposal, the deposit and balance, and the pre-departure check on one set of linked records, so the state of a trip is a fact on the screen rather than a search through someone's inbox.

The overview. New enquiries, trips out for quotes, proposals waiting on the approver, and the departure checks still open.

[Make your own](https://app.kylon.io/sign-up?build_intent=Download+https%3A%2F%2Fkylon.io%2Fapp-templates%2Ftravel-desk-template.zip+and+build+me+a+travel+agency+trip+desk+from+it.+Unpack+it%2C+read+README.md+and+TEMPLATE_GUIDE.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+the+source+into+the+checkout%2C+replace+the+placeholder+app+id+and+base+URL%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand.+The+numbered+files+in+db%2Fmigrations+apply+themselves+in+order+to+a+new+empty+database+and+seed+the+demo+trips%2C+travellers%2C+suppliers%2C+quotes%2C+proposals%2C+bookings+and+departure+checks%2C+so+the+pipeline+is+full+on+the+first+open.+Leave+those+rows+in.+Then+stop.+Do+not+import+our+real+clients%2C+do+not+connect+our+mailbox%2C+calendar+or+payment+accounts%2C+and+ask+me+before+anything+real+goes+in.) [Instruction](https://kylon.io/fork/travel-desk#instruction) [Share](https://x.com/intent/tweet?text=Travel%20Desk%3A%20Take%20a%20custom%20trip%20from%20the%20first%20enquiry%20to%20a%20priced%2C%20approved%20proposal.%20Make%20your%20own%20on%20Kylon%3A&url=https%3A%2F%2Fkylon.io%2Ffork%2Ftravel-desk)

What it puts on screen

-   The brief lives in fields. Party size, dates, budget band, destination, travel style, accessibility and dietary notes sit on the trip record, so every supplier request and every proposal reads from the same facts.
-   Quotes hang off the trip. Each supplier quote is its own line against the trip: requested, received, selected or declined, with net cost and sell price. The proposal is built from the selected lines.
-   A proposal has versions and an approver. A proposal moves through draft, approval, sent and accepted, and a revision is a new version rather than an overwrite. The approver named on it signs it off before it goes out.
-   After the deposit, a dated check. An accepted proposal opens the booking with its deposit and balance, and a departure check for passports, the rooming list, dietary notes and documents. A passport inside six months of the return date holds the check open.

The screens

![Trip list with status, departure date, party size, budget band and next step](https://kylon.io/_next/image?url=%2Ftemplate-assets%2Ftravel-desk%2Ftrips.webp&w=3840&q=75&dpl=dpl_JQZYJoZ9Ri4sZ3AQx8obn8f4FAGt)

Trips. One line per enquiry, with the stage, the departure date, the party, the budget band and the next step.

![Supplier quote list with service, sell price, currency and status per trip](https://kylon.io/_next/image?url=%2Ftemplate-assets%2Ftravel-desk%2Fquotes.webp&w=3840&q=75&dpl=dpl_JQZYJoZ9Ri4sZ3AQx8obn8f4FAGt)

Quotes. What each supplier quoted against each trip, and which lines were selected for the proposal.

![Proposal list with version, total price, currency and approval status](https://kylon.io/_next/image?url=%2Ftemplate-assets%2Ftravel-desk%2Fproposals.webp&w=3840&q=75&dpl=dpl_JQZYJoZ9Ri4sZ3AQx8obn8f4FAGt)

Proposals. Every version kept, with the total and who has to approve it before it goes to the client.

Three things the template leaves to you

-   Which trip stages your desk actually uses, and what you call them.
-   Who approves a proposal, and whether the advisor or a senior planner owns the margin.
-   Which pre-departure items a trip cannot leave without, and how far ahead each one is due.

The setup guides inside the archive walk your agent through each one.

Questions

### Is this a booking engine?

It is the coordination record around the booking: the enquiry, the supplier quotes, the proposal, the deposit and balance, and the pre-departure check. Reservations stay with the suppliers and the tools you already book through.

### Does it email suppliers or clients?

Not on its own. Mail is not connected in the template, so the App records what was asked, what came back and what was sent. Connect a mailbox and your agent can draft supplier requests and proposals from the trip record for you to send.

### Can it check passports before a trip leaves?

Yes, against the dates on the record. The departure check stays open while any traveller's passport expiry is missing or falls inside six months of the return date, and while the balance is not recorded as received.

The instruction behind it

Every client, traveller, supplier, price and email that ships with it is invented and labelled DEMO, and the addresses sit on a reserved .example domain, so the first screen is safe to show anyone. Mail, calendar, payments and booking systems are not connected: sending a proposal or recording a deposit records the fact inside the App and sends nothing out until you connect an account.

Download https://kylon.io/app-templates/travel-desk-template.zip and build me a travel agency trip desk from it. Unpack it, read README.md and TEMPLATE\_GUIDE.md, and follow them: create the App, provision its database, copy the source into the checkout, replace the placeholder app id and base URL, then push a draft and send me the link. Never run SQL by hand. The numbered files in db/migrations apply themselves in order to a new empty database and seed the demo trips, travellers, suppliers, quotes, proposals, bookings and departure checks, so the pipeline is full on the first open. Leave those rows in. Then stop. Do not import our real clients, do not connect our mailbox, calendar or payment accounts, and ask me before anything real goes in.

## Discover more

General CRMApp · sample data

Take an enquiry from first contact to closed, without losing where it came from

[![Pipeline list in the Sales CRM template](https://kylon.io/_next/image?url=%2Ftemplate-assets%2Fcrm%2Fthumb.png&w=3840&q=75&dpl=dpl_JQZYJoZ9Ri4sZ3AQx8obn8f4FAGt)](https://app.kylon.io/sign-up?build_intent=Download+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fsales-crm-template.zip+and+build+me+a+sales+CRM+from+it.+Unpack+it%2C+read+README.md+and+TEMPLATE_GUIDE.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+the+source+into+the+checkout%2C+replace+the+placeholder+app+id+and+base+URL%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand.+The+numbered+files+in+db%2Fmigrations+apply+themselves+in+order+to+a+new+empty+database+and+seed+the+demo+accounts%2C+leads+and+opportunities%2C+so+the+leads+list+and+the+pipeline+are+full+on+the+first+open.+Leave+those+rows+in.+Then+stop.+Do+not+import+our+real+customers+and+do+not+connect+email+or+calendar.+Ask+me+before+anything+real+goes+in.)

[Make your own](https://app.kylon.io/sign-up?build_intent=Download+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fsales-crm-template.zip+and+build+me+a+sales+CRM+from+it.+Unpack+it%2C+read+README.md+and+TEMPLATE_GUIDE.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+the+source+into+the+checkout%2C+replace+the+placeholder+app+id+and+base+URL%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand.+The+numbered+files+in+db%2Fmigrations+apply+themselves+in+order+to+a+new+empty+database+and+seed+the+demo+accounts%2C+leads+and+opportunities%2C+so+the+leads+list+and+the+pipeline+are+full+on+the+first+open.+Leave+those+rows+in.+Then+stop.+Do+not+import+our+real+customers+and+do+not+connect+email+or+calendar.+Ask+me+before+anything+real+goes+in.) [Screens](https://kylon.io/apps/crm) [Share](https://x.com/intent/tweet?text=General%20CRM.%20Make%20your%20own%20on%20Kylon%3A&url=https%3A%2F%2Fkylon.io%2Ffork%3Fw%3Dapps%2Fcrm)

Creator ManagementApp · sample data

Source creators, track every post, and see what each one returned

[![Creator roster with agency pitched and self sourced creators in one table](https://kylon.io/_next/image?url=%2Ftemplate-assets%2Fcreator-crm%2Fthumb.png&w=3840&q=75&dpl=dpl_JQZYJoZ9Ri4sZ3AQx8obn8f4FAGt)](https://app.kylon.io/sign-up?build_intent=Build+me+a+creator+CRM+from+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fcreator-crm-app-template.zip%0A%0ADownload+it%2C+read+setup%2F01-build-the-app.md+and+app%2FTEMPLATE_GUIDE.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+app%2F.+into+the+checkout%2C+set+the+app+id%2C+name+and+base+URL%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand%2C+db%2Fmigrations+applies+itself%2C+and+it+seeds+six+invented+creators+so+the+roster+is+full+on+the+first+open.+Leave+those+rows+in.%0A%0AThen+stop.+Do+not+collect+anything+real+and+do+not+create+the+workflows.+Ask+me+whether+to+start+filling+in+real+creators%2C+and+tell+me+that+is+where+token+spend+begins.)

[Make your own](https://app.kylon.io/sign-up?build_intent=Build+me+a+creator+CRM+from+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fcreator-crm-app-template.zip%0A%0ADownload+it%2C+read+setup%2F01-build-the-app.md+and+app%2FTEMPLATE_GUIDE.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+app%2F.+into+the+checkout%2C+set+the+app+id%2C+name+and+base+URL%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand%2C+db%2Fmigrations+applies+itself%2C+and+it+seeds+six+invented+creators+so+the+roster+is+full+on+the+first+open.+Leave+those+rows+in.%0A%0AThen+stop.+Do+not+collect+anything+real+and+do+not+create+the+workflows.+Ask+me+whether+to+start+filling+in+real+creators%2C+and+tell+me+that+is+where+token+spend+begins.) [Screens](https://kylon.io/apps/creator-crm) [Share](https://x.com/intent/tweet?text=Creator%20Management.%20Make%20your%20own%20on%20Kylon%3A&url=https%3A%2F%2Fkylon.io%2Ffork%3Fw%3Dapps%2Fcreator-crm)

Sampling DeskApp · sample data

Track every sample from shipped to posted, and the sales it brought

[![Work queue listing overdue samples ranked by creator GMV](https://kylon.io/_next/image?url=%2Ftemplate-assets%2Fsampling-desk%2Fthumb.png&w=3840&q=75&dpl=dpl_JQZYJoZ9Ri4sZ3AQx8obn8f4FAGt)](https://app.kylon.io/sign-up?build_intent=Download+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fsampling-desk-app-template.zip+and+build+me+a+TikTok+Shop+sampling+desk+from+it.+Unpack+it%2C+read+README.md+and+setup%2F01-build-the-app.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+app%2F.+into+the+checkout%2C+replace+the+placeholder+app+id+and+hosting+slug%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand.+db%2Fmigrations+applies+itself%2C+and+the+last+file+seeds+14+invented+creators+and+24+samples+so+the+work+queue+has+a+real+backlog+on+the+first+open.+Leave+those+rows+in.+Then+stop.+Do+not+import+anything+real%2C+do+not+create+the+workflows%2C+and+do+not+set+CHASE_WEBHOOK_URL.+Ask+me+whether+to+start+loading+our+own+creators+and+samples.)

[Make your own](https://app.kylon.io/sign-up?build_intent=Download+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fsampling-desk-app-template.zip+and+build+me+a+TikTok+Shop+sampling+desk+from+it.+Unpack+it%2C+read+README.md+and+setup%2F01-build-the-app.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+app%2F.+into+the+checkout%2C+replace+the+placeholder+app+id+and+hosting+slug%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand.+db%2Fmigrations+applies+itself%2C+and+the+last+file+seeds+14+invented+creators+and+24+samples+so+the+work+queue+has+a+real+backlog+on+the+first+open.+Leave+those+rows+in.+Then+stop.+Do+not+import+anything+real%2C+do+not+create+the+workflows%2C+and+do+not+set+CHASE_WEBHOOK_URL.+Ask+me+whether+to+start+loading+our+own+creators+and+samples.) [Screens](https://kylon.io/apps/sampling-desk) [Share](https://x.com/intent/tweet?text=Sampling%20Desk.%20Make%20your%20own%20on%20Kylon%3A&url=https%3A%2F%2Fkylon.io%2Ffork%3Fw%3Dapps%2Fsampling-desk)

Remodeling CRMApp · sample data

Carry a renovation lead from the first call to the paid design fee

[![Pipeline list of renovation projects with stage, next action, owner and due date](https://kylon.io/_next/image?url=%2Ftemplate-assets%2Fremodeling-crm%2Fthumb.png&w=3840&q=75&dpl=dpl_JQZYJoZ9Ri4sZ3AQx8obn8f4FAGt)](https://app.kylon.io/sign-up?build_intent=Download+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fremodeling-crm-template.zip+and+build+me+a+remodeling+sales+CRM+from+it.+Unpack+it%2C+read+README.md+and+TEMPLATE_GUIDE.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+the+source+into+the+checkout%2C+replace+the+placeholder+app+id+and+base+URL%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand.+The+numbered+files+in+db%2Fmigrations+apply+themselves+in+order+to+a+new+empty+database+and+seed+the+demo+projects%2C+so+the+pipeline+and+the+board+are+full+on+the+first+open.+Leave+those+rows+in.+Then+stop.+Do+not+import+our+real+clients%2C+do+not+connect+accounting+or+estimating%2C+and+ask+me+before+anything+real+goes+in.)

[Make your own](https://app.kylon.io/sign-up?build_intent=Download+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fremodeling-crm-template.zip+and+build+me+a+remodeling+sales+CRM+from+it.+Unpack+it%2C+read+README.md+and+TEMPLATE_GUIDE.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+the+source+into+the+checkout%2C+replace+the+placeholder+app+id+and+base+URL%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand.+The+numbered+files+in+db%2Fmigrations+apply+themselves+in+order+to+a+new+empty+database+and+seed+the+demo+projects%2C+so+the+pipeline+and+the+board+are+full+on+the+first+open.+Leave+those+rows+in.+Then+stop.+Do+not+import+our+real+clients%2C+do+not+connect+accounting+or+estimating%2C+and+ask+me+before+anything+real+goes+in.) [Screens](https://kylon.io/apps/remodeling-crm) [Share](https://x.com/intent/tweet?text=Remodeling%20CRM.%20Make%20your%20own%20on%20Kylon%3A&url=https%3A%2F%2Fkylon.io%2Ffork%3Fw%3Dapps%2Fremodeling-crm)

Recruiting WorkspaceApp · sample data

Take a role from approved to first day without a spreadsheet in the middle

[![Recruiting overview with the hiring pipeline by stage](https://kylon.io/_next/image?url=%2Ftemplate-assets%2Fhiring%2Fthumb.png&w=3840&q=75&dpl=dpl_JQZYJoZ9Ri4sZ3AQx8obn8f4FAGt)](https://app.kylon.io/sign-up?build_intent=Download+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fhiring-template.zip+and+build+me+an+internal+recruiting+workspace+from+it.+Unpack+it%2C+read+README.md+and+TEMPLATE_GUIDE.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+the+source+into+the+checkout%2C+replace+the+placeholder+app+id+and+base+URL%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand.+The+numbered+files+in+db%2Fmigrations+apply+themselves+in+order+to+a+new+empty+database+and+seed+the+demo+jobs%2C+applicants%2C+interviews%2C+offers+and+onboarding%2C+so+the+pipeline+is+full+on+the+first+open.+Leave+those+rows+in.+Then+stop.+Do+not+import+our+real+applicants%2C+do+not+connect+our+mailbox+or+calendar%2C+and+ask+me+before+anything+real+goes+in.)

[Make your own](https://app.kylon.io/sign-up?build_intent=Download+https%3A%2F%2Fkylon.io%2Fapp-templates%2Fhiring-template.zip+and+build+me+an+internal+recruiting+workspace+from+it.+Unpack+it%2C+read+README.md+and+TEMPLATE_GUIDE.md%2C+and+follow+them%3A+create+the+App%2C+provision+its+database%2C+copy+the+source+into+the+checkout%2C+replace+the+placeholder+app+id+and+base+URL%2C+then+push+a+draft+and+send+me+the+link.+Never+run+SQL+by+hand.+The+numbered+files+in+db%2Fmigrations+apply+themselves+in+order+to+a+new+empty+database+and+seed+the+demo+jobs%2C+applicants%2C+interviews%2C+offers+and+onboarding%2C+so+the+pipeline+is+full+on+the+first+open.+Leave+those+rows+in.+Then+stop.+Do+not+import+our+real+applicants%2C+do+not+connect+our+mailbox+or+calendar%2C+and+ask+me+before+anything+real+goes+in.) [Screens](https://kylon.io/apps/hiring) [Share](https://x.com/intent/tweet?text=Recruiting%20Workspace.%20Make%20your%20own%20on%20Kylon%3A&url=https%3A%2F%2Fkylon.io%2Ffork%3Fw%3Dapps%2Fhiring)

## How Make your own works

1.  1Press Make your ownKylon opens with this work loaded. New here, you sign up first.
2.  2Your agents make itThey use your name, your data and your people.
3.  3Check before it goes outEmails and messages wait as drafts until someone on your team sends them.
