Home · Chatbot for a travel agency: tour selection quiz

Travel agency solutions

Chatbot for a travel agency: tour selection quiz

Tourists choose to go on vacation in the evenings and on weekends, when managers are not on call. In five questions, the bot finds out the direction, dates, composition, budget and phone number and opens a deal in the CRM - in the morning the manager calls with options, and not with clarifications.

Quiz works on the Free planTelegram, MAX, VKontakte and websiteNewsletters and AI - from Basic

What does a bot do for a travel agency?

Tour selection quiz

Five questions: direction, dates, composition, budget and vacation format. “Data collection” puts each answer into a variable, and at the end “Transaction in CRM” gets a name like “Türkiye - early October - 150 thousand - Anna.”

Applications at night and on weekends

The “condition” distinguishes between night and weekend in terms of time and day of the week: the bot writes “we’ll accept your lead, we’ll call you in the morning with a selection,” and during the day it immediately goes to questions. The quiz is the same, a night lead receives the “night” tag and waits for the morning in “Conversations”.

Budget Qualification

The bot asks for the budget as a number, and “Condition” diverts the flow: less than 100 thousand - tag burning and text about a selection of last-minute tours, from 350 thousand - tag premium and push to the team via “Notify operator”.

Answers about visas and documents

From Basic AI agent answers questions about visas, passports, luggage and payment terms - only according to your knowledge base of up to 15,000 characters. Enter the agent’s refusal via the “did not understand” exit in the “Operator” block.

Last minute tours by destination

Consent to the newsletter at the end of the quiz puts a direction tag: Gore-Türkiye, mountains-egypt. From Basic “Mailmails” send a last minute offer only to those who have chosen this direction.

Checklist before departure and review

The departure month tag sends a reminder about your passport, insurance and voucher. After the trip, the “Collection of reviews” template asks for a rating: 1–3 - immediately to the manager; satisfied ones can be sent with a button on the agency card on the maps.

How to run a quiz for a travel agency

  1. 1

    Open the Quiz-bot template

    Click “Use quiz template” and register: the template will be enabled in the first bot and will open in the editor. There are three steps in the template: a question with buttons, a name and a result.

  2. 2

    Rewrite questions for tours

    In the “Steps”, replace the question with buttons with “Data collection” → “Your” about the direction, also add dates, composition, budget and format with the “To variable” field. Then “Name”, “Phone” and “Transaction in CRM”.

  3. 3

    Add a night branch

    The first step is “Condition”: the “Working hours” branch (“Time ≥ 9”, “Time < 20”, “Day of the week” from 1 to 5) leads to the first question, “Else” - to the night greeting and tag night. At the end - “Operator”.

  4. 4

    Connect channels and check

    In “Channels”, connect Telegram using the token from @BotFather, if desired, MAX and VKontakte, in the “Widget” section - chat on the site. The test chat does not create a deal and does not show buttons - take the quiz in Telegram.

The finished script is the basis of the quiz

Quiz-bot template: question with buttons, name and final message. Replace the question with buttons with questions about the direction, dates, composition and budget, add a phone number - you get a tour selection quiz.

Quiz bot A couple of questions with buttons, then a contact. Open →

How the tour selection quiz works

A quiz in CHBT is not a separate survey engine but a branch of regular blocks, so you can extend it any way you like. The “Quiz bot” template is linear: a question with buttons, a name and a summary. A button does not save the choice to a variable, so answers needed in the deal title and in a “Condition” are asked via “Data collection”, and the client types them. A setup for tour selection:

QuestionFlow blockWhere the answer goes
Destination: “Where would you like to go? For example, Turkey, Egypt, UAE, Thailand, Russia — or type “recommend””“Data collection” → “Custom”, “Save to variable” countryVariable country
Dates: “When do you want to fly? Roughly is fine: “early October, 10 nights””“Data collection” → “Custom”, “Save to variable” datesVariable dates
Travelers: how many adults, any children, their ages“Data collection” → “Custom” with “Number” validation, “Save to variable” adults; then “Children and their ages — or “none”” → kidsVariables adults and kids
Budget: “Total budget in thousands of rubles — a single number”“Data collection” → “Custom” with “Number” validation, “Error message”: “Type a single number, for example 150”, “Save to variable” budgetA number in budget; the “Condition” uses it
Format: all-inclusive beach, sightseeing, mountains and active travel, family with a kids’ club“Data collection” → “Custom”, “Save to variable” formatVariable format
Name and phone“Data collection” → “Name”, then “Phone” with “Phone” validationContact card; the owner gets a new lead email
Summary“Action” → “CRM deal” titled {{country}} — {{dates}} — {{budget}}k — {{name}}The “New” column in the “CRM” section

The contact card stores answers to “Custom” questions under a single key, and each new answer replaces the previous one, so keep all answers in variables — the “Save to variable” field, with Latin names. They are inserted into the deal title, and when the conversation is handed to a manager, they appear in “Conversations” in the “Collected by bot” block, up to 12 variables. In the morning, the manager opens “CRM” and sees not “I want to go to the beach” but a deal with the tour parameters in the title.

Qualification is done by a “Condition” on the budget variable: the “< 100” branch adds the last-minute tag and sends a message about last-minute tour deals, the “≥ 350” branch adds the premium tag and “Notify an operator” with the text “Premium: {{country}}, {{dates}}”. The push goes to all bot members with notifications enabled; it cannot be addressed to a single senior manager. The quiz does not count points: “Set a variable” writes a value rather than adding to it. In “Steps”, after a branch the flow moves to the next step in the list, so end each branch that has its own actions with its own “Operator”; merging branches into one “Operator” is possible on the “Canvas” from Basic.

Buttons remain where the choice does not need to be saved, for example “Find a tour” and “Visas and documents” at the start of the conversation. Currently only one added message button gets its own output in “Destination”, while the template’s buttons continue through a shared output: keep the template button for the quiz and add “Visas and documents” as a new one. Buttons look different across channels: in Telegram and MAX one per row, in VK up to 10, two per row. How to choose questions and their order is covered on the “Quizzes in a chatbot” page.

Night shift and questions about visas

The first step of the flow is “Condition” with the branch “Working hours”: “Time ≥ 9”, “Time < 20”, “Day of the week ≥ 1” and “Day of the week ≤ 5” - the rules inside the branch are added by “AND”. During the day, the thread leads directly to the first question of the quiz. “Otherwise” is night and weekend: “Managers are in touch from 9:00, and we will accept the lead now”, “Action” with the tag night and then the same quiz, which ends with the “Operator” block. A separate daily greeting - “Manager is in touch - answer five questions, and he will immediately send you options” - followed by a general quiz, is collected on Canvas from Basic: in “Steps”, after a step, the script goes to the next one on the list.

In the morning, night conversations are waiting in the “Waiting for an answer” tab in “Conversations”: in the client card - tags, last deal and quiz answers. All nightlife will be shown by tag filter night in "Contacts". Those who are on duty in the evening answer from the phone: the office is installed as an application, and Web Push comes about the transfer of the conversation and “Notify operator”. You will receive a letter about the transfer if you enable “New conversations in the inbox” in your account notification settings. For those who do not want to take the quiz, the template is suitable “Collection of applications” - name and phone number for two questions - with a trigger on the word “manager”. Read more about night mode in the article about autoresponder in Telegram without Premium. In the chat on the website, the night is also visible in the header: the “Line Operator” status is on while someone has “Conversations” open, and the mode can be switched to “Scheduled” or “Bot responds around the clock.”

Questions “do I need a visa to Thailand for 30 days”, “how much luggage is included”, “can I pay in installments” charges from Basic AI agent. In the “AI Agents” section, create an agent and insert into the “Knowledge Base” in text the visa rules for your destinations, requirements for a foreign passport, terms of payment and return, and a list of documents for the contract. The base is up to 15,000 characters and the entire model leaves with each question, so keep only your directions in it. In “Persona” write: “Do not name the prices of tours and do not select hotels - suggest writing “selection.” About visas, answer only according to the database and remind you to check the relevance with the manager. If there is no answer, say: I don’t know, check with the manager.”

In the flow, it is more convenient to use the following: the “Visas and Documents” button → “Data Collection” with a client’s question → the “AI Agent” block in the “Answer and continue the flow” mode with the “Separate output “did not understand”” checkbox, leading to “Operator” → “Message”: “Another question - write “question”, select a tour - “selection”.” These words catch the “Keywords” triggers of the same flow with “Exact Match”: in “What step to start with” one has a question for the agent, the other has the first question of a quiz. The “didn’t understand” output is triggered when the agent’s response contains two refusal phrases like “I don’t know” and “clarify” - one is not enough in the usual answer, so both are in “Person”. The client will still receive the answer itself, and the loan will be written off. In the “Stay in conversation with AI” mode, the client himself will not leave the conversation with the agent - neither with a button, nor with the word “manager”. How to assemble a database so that the agent does not make things up - in the article about the knowledge base for the AI agent.

  • The “Condition” takes the time and day of the week according to the server clock CHBT, and not the client’s phone. The time is a whole hour: write 9 and 20, not “9:00”. Before launching, write to the bot around 20:05 from the second account.
  • Day of the week - number: 0 - Sunday, 1 - Monday, ... 6 - Saturday.
  • A deal in CRM and a letter about a new lead appear at night - only a call awaits in the morning.
  • AI agent model - choose from ten: GPT-5, Claude, Gemini, DeepSeek or Qwen. The default answer on models is one AI credit, on powerful models it is more expensive: the smarter the model, the more expensive the answer.
  • Credits are common for the bot: 150 for Basic and 500 for Business for the paid period. You can’t buy more, the balance doesn’t accumulate.

Last minute tours, flights and reviews

The bot can write first only to those who have already written to it, and advertising broadcasts should be sent to those who have agreed to it. Therefore, before the “Operator” block in the quiz there is a question based on the template “Consent to mailing list”: “Send last-minute tours to your destination? No more than twice a week. Answer “yes” or “no” - this is “Data collection” → “Own”, “Into a variable” consent. The template itself asks with the “Yes” / “No” buttons, sets the “mailing” tag to “Yes” and removes it using the word “stop”, but the variable country in another flow no longer exists. To ensure consent is in the direction, put a “Condition” with branches of two rules - consent «regex» ^yes and country «regex» Turkish - and in each thread “Add tag” Gore-Türkiye, mountains-egypt and so on: “regex” is case insensitive, “Türkiye” and “Türkiye” will match. In the unsubscribe thread of the template, add “Remove tag” with the same tags - otherwise the mailing Gore-Türkiye It will also reach the one who wrote “stop”.

The newsletter is sent from the “Mailouts” section from Basic: to “To” - Gore-Türkiye, text - “{{name}}, Antalya with departure on October 12, 7 nights, all inclusive - from 118 thousand for two. 4 places left. Answer “I want” - we’ll book it.” The answer is caught by a separate script: the “Keywords” trigger with the word “want” in the “Exact match” mode → “Notify operator” → “Operator”. The text of the mailing itself does not appear in the “Conversations” history, so in “Notify the operator” write the sentence: “Antalya 10/12 - {{name}}”. An exact match is important: the keywords are triggered in the middle of a quiz, and “I want” inside the phrase would take the client away from the questions. How to tag the database by destination, budget and season - in the article about tags as a segmentation system.

The bot does not know the departure date - it is in the contract. The owner or admin tags the contact card with the month of departure departure-2026-10, and at the beginning of the month a newsletter goes out on it: “Check: your passport is valid for another 6 months after your return, insurance and voucher are in a letter from the manager. Questions go here." If the client’s conversation is already closed, his answer will open a new conversation and the team will receive a push “New conversation” with the text of the question. The bot will not pick up the question itself without the keyword: answer from the “Conversations”, “At the bot” tab. For a close departure, the manager asks the client to write “departure” and clicks “Return to bot”: the keyword (also “Exact match”) launches a thread with a checklist and a “Pause”, for example for two days, until the message “Departure tomorrow”. The duration of the “Pause” is set in a block and is calculated from the client’s message, and not from the departure date; if the client writes to the bot during the “Pause”, another countdown will start and the reminder will come twice. You cannot trigger a reminder from your CRM using an incoming webhook - it does not address the event to the client in the messenger (webhook help).

After returning, a newsletter using the same tag: “How did you rest? Write a “review” - it’s a minute.” The word starts the pattern "Collecting reviews", if you add a “Keywords” trigger to it: a score from 1 to 5 and a couple of words, for 1–3 - a negative tag and “Operator”. For ratings 4-5, add a thread with an "Opens link" button to the agency card on maps. Tag flew-2026 for those who return, the audience for the next season: in January, they are the first to receive a newsletter about early bookings, without advertising costs.

  • Newsletter - text only with {{name}}: no pictures or buttons, please provide a link to a selection with photos.
  • In “To” - tags separated by commas; any of them is enough. You cannot exclude a tag.
  • Counters: recipients, delivered, errors and “no channel”. There are no opens or clicks.
  • Messages are sent one by one, no faster than about 20 per second; “Delayed start” - according to the server clock.
  • While the operator is in conversation, the bot is silent and the keywords do not work: close the processed request with the “Close” or “Return to the bot” button.

What a travel agency bot doesn’t do

The limits are clear before you launch.

  • Does not search for tours in tour operator systems and does not show prices in real time: there is no integration with tour search engines in CHBT. The bot collects parameters, and the manager makes the selection.
  • The contract and the main payment go through you: the bot will not know about a payment made via an “Opens link” button. A fixed-amount prepayment can be taken by the “Payment” block in a flow — via Prodamus, YooKassa or CloudPayments, with a “Paid” output after payment.
  • Does not send photos of hotels to Telegram, MAX and VKontakte: there are only text and buttons, and in broadcasts there is only text. Let's link a selection with photos; files only reach the chat on the site.
  • Doesn’t know the departure date and reservation status: reminders are based on tags and “Pause”, and the incoming webhook from your CRM does not address the event to the client in the messenger.
  • It does not write first to those who did not write to the bot, and does not send messages to phone numbers: the mailing goes only to those who themselves started a conversation in Telegram, MAX or VKontakte.
  • The AI agent does not know the visa rules itself and does not respond to the word “manager”: it responds only to your database, the access to the person is collected in the script. Requests to the model go to an external provider - do not put personal data of tourists into the database.

Available plans

Quiz, “Condition” by time, tags and “Deal in CRM” work on Free in the “Steps” mode: 30 conversations per month - that’s 30 different interlocutors across all channels together, only the owner responds. Mailings of last-minute tours, AI agent, “Canvas” and employees in the account - from Basic, 650 ₽ per bot per month. Business for 1290 ₽ differs in the number of AI credits: 500 instead of 150. Convenient launch procedure: week 1 - quiz and night thread in Telegram, week 2 - chat on the site and MAX, week 3 - consent to the newsletter and destination tags, second month - AI agent for visas and the first mailing of last-minute tours.

Free0 ₽
Quiz, night thread and CRM - 30 conversations per month
Basic650 ₽/month
Unlimited conversations, broadcasts and AI agent
Business1,290 ₽/month
Like Basic, 500 AI credits instead of 150

Compare Plans in full →

FAQ

Will the bot select a tour from the tour operator database and show the price?

No. There are no integrations with tour search systems in CHBT, the bot does not know prices in real time. He collects the direction, dates, composition, budget and phone number and enters a deal in CRM, and the manager makes the selection in his systems and sends it to the client.

Can I show photos of hotels in the bot?

In Telegram, MAX and VKontakte - no: the “Message” block sends only text and buttons there, broadcasts - only text. Give a selection with a photo a link - the “Opens link” button to a website page or document. Files and pictures only reach the chat on the site.

Is it possible to pay for a tour in a bot?

A prepayment — yes: the “Payment” block in a flow sends a link for a fixed amount through your provider — Prodamus, YooKassa or CloudPayments — and after payment the flow continues through the “Paid” output. Handle the contract and the full payment for the tour yourself; if the client pays via a link to your page, the bot cannot find out — the manager sets the “Paid” stage in the CRM. A tour or booking can also be sold through the shop in your bot — a storefront with payment via YooKassa or CloudPayments.

Will an AI agent answer about a visa to any country?

Only by what you put in its knowledge base: this is one text of up to 15,000 characters, which the model receives in its entirety with each question. What is not in the database, the agent must honestly say and leave upon exiting “I didn’t understand” to the manager - that’s how they set him up. The default answer for models is one AI credit, more expensive on powerful models from the Basic plan.

Does the quiz work on the website, in MAX and VKontakte?

Yes, one flow responds in all connected channels. The website chat is installed with one line of code: a pre-chat form can ask for a phone number, an exit message (desktop only) offers to leave trip details, and “Leave contacts” creates a deal on its own. In MAX, buttons are one per row; in VK, up to 10.

Is it possible to download a tourist database and send out last-minute tours?

No. Messengers allow the bot to write only to those who have started a conversation with it, so sending messages to phone numbers is impossible. There is CSV import in “Contacts”, but the newsletter will reach such contacts only if they have already written to this bot. The database is collected by a link to the bot and a QR code for Telegram, and the newsletter does not go to visitors of the chat on the site.

Is the Free plan enough?

To check the quiz - yes: the Free one works with a template, “Condition” by time, tags and deals, 30 conversations per month with different clients across all channels. Above the limit, the bot responds to new clients with a phrase about the limit. Mailings of last-minute tours, AI agent and employees in the account - from Basic, 650 ₽ per bot per month.

Applications for tours - even at night

Open the “Quiz-bot” template, replace the questions with direction, dates, composition and budget - and the night lead will be waiting for the manager in the CRM in the morning. Free plan - no card required.

Use quiz template