How to Use AI in the Travel Industry: Weather Cancellations for Tours

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Use AI in the Travel Industry: Weather Cancellations for Tours.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Use AI in the Travel Industry: Weather Cancellations for Tours.

Write your cancel-or-go limits down before the season, log every decision with its forecast and time, and publish refund wording that offers a refund or a new date. AI then compares pasted forecasts with your limits, drafts the messages and reads the log afterwards. The guide or manager still makes every call.

AI should be neither the weather source nor the safety decision. A model can quote a stale page, and a safety call belongs to a qualified person working from your risk assessment, your insurer's conditions and your permits. What AI does well is the repetitive paperwork around the decision, which is where late, inconsistent and muddled communication usually comes from. Fix that and the decision itself gets easier, because it has been made on the same terms every time.

Follow me on Instagram@sagnikteaches

A day-tour operator and what weather costs it

The example is a small operator running a guided coastal walk for up to 12 guests at $55 each and a sheltered-water kayak trip for up to 8 guests at $75 each, six days a week through the season. All figures here are illustrative. Weather creates three separate problems, and each needs a different fix.

Connect on LinkedInSagnik Bhattacharya
  • Decisions made late. A guide checks the forecast at 6:45 for a 9:30 meeting and cancels at 7:15. Guests are already travelling.
  • Decisions made inconsistently. One guide cancels at a gust a colleague would run through. Guests compare notes, and the first complaint is about fairness rather than weather.
  • Messages made in a hurry. Nine bookings, three channels, a refund and a rebooking choice for each. Mistakes creep in: the wrong date, a missing refund option, a message to a guest who booked through a marketplace that has to be cancelled there.

A cancelled kayak morning with 8 guests is $600 of fares. A cancelled walk with 10 guests is $550. A trip run when it should have been cancelled costs far more than either, in safety and liability, so the aim isn't fewer cancellations. It's the same decision on the same terms every time, made early, recorded, and communicated cleanly. AI helps with the last two directly and with the first indirectly. For the policy side alone, see this tutorial on drafting a tour cancellation policy and customer messages.

Subscribe on YouTube@sagnikteaches

Write the limits before the forecast arrives

Limits written in advance turn "it feels windy" into a reading against a number. The numbers below are placeholders to show the structure. Set yours from your own risk assessment, your insurer's conditions, your permits and your guides' training, because nobody outside your business can give you safe limits for your routes. The rule is that the highest band reached by any reading decides the band for the trip.

ReadingGOAMBER: go with changes, or hold and recheckCANCEL
Official weather warning for the areaNoneAdvisory-level warning overlapping the tripSevere-level warning overlapping the trip
Sustained wind, kayak tripUp to 20 km/h21 to 28 km/hOver 28 km/h
Sustained wind, coastal walkUp to 45 km/h46 to 60 km/h, or gusts above 50Over 60 km/h
ThunderstormsNone forecastPossible during the trip windowLightning seen or forecast over the route
VisibilityOver 1 km500 m to 1 kmUnder 500 m
Rain and groundLight or intermittentSteady, slippery sections affectedFlooding, closed paths or access points

If your risk assessment already contains the numbers, AI can lay them out. Paste the assessment and ask for a table with one row per hazard and three bands, using only values stated in the document, and "NOT STATED" wherever the assessment is silent. Every NOT STATED row is a gap in the assessment to fill with a person who is qualified to fill it, and the AI should never suggest a value.

Pair the table with decision times, because the timing is what customers experience. The pattern I would use is a watch at 48 hours before the trip, a preliminary decision at 24 hours, a final decision about three hours before the meeting time, and a standing rule that any guide may stop or alter a trip once it is under way. Each decision time has an owner, a named person who can't be "whoever's free". Other businesses that cancel for weather have worked through the same structure, for example fishing charters handling weather call-offs and kayak rental with waivers and weather calls.

The decision log: one row per trip, three example days

The log is a sheet with one row per trip and a row added at every decision time. Its purpose is to make each decision checkable later: what you knew, when you knew it, who decided and when guests were told. These columns are enough: trip and meeting time; forecast source and the time it was issued; the readings and the band each one fell into; the decision (GO, GO WITH CHANGES, HOLD, CANCEL); who decided and when; when guests were notified; and the outcome. Here are three illustrative days.

TripForecast checkedReadings against limitsDecision and whoGuests toldOutcome
Tue kayak, meet 09:00Mon 18:00 forecastWind 18 km/h, no warnings: GOGO at 18:10, ManagerNot neededRan, 8 guests
Wed kayak, meet 09:00Tue 18:00Sustained wind 25 to 35 km/h crosses the 28 limit: CANCELCANCEL at 18:20, Manager18:30Cancelled, 6 guests: 4 rebooked, 2 refunded
Wed walk, meet 10:00Tue 18:00, then Wed 06:30Advisory warning from 12:00, gusts 55: AMBER. At 06:30 the warning is upgraded to severe: CANCELHOLD at 18:15, then CANCEL at 06:40, ManagerHeads-up Tue 18:30; cancellation 06:45Cancelled, 10 guests: 7 rebooked, 3 refunded
Thu kayak, meet 09:00Wed 18:00, then Thu 06:30Wind 25 km/h: AMBERGO WITH CHANGES at 06:45, Lead guide: sheltered inlet only, 90 minutes07:00Ran shortened; 1 of 6 guests took a refund

Wednesday shows two things. The kayak trip was cancelled the evening before, because the wind range crossed the limit. The walk shows why the log has a second entry: the warning was only advisory the evening before, so the walk was held, not cancelled, and guests were warned. When the warning was upgraded at 6:30, the decision was already half made and the message was already half written. Thursday shows the middle band. "Go with changes" is a real decision with its own message, not a polite way of saying go.

Let AI read the forecast against your limits

This is the job where AI earns its place and where the boundary needs to be explicit. Paste the forecast text, with its issue time, and your limits table into a fresh chat. The prompt asks for readings and bands. It does not ask for advice.

You compare a pasted weather forecast with my written limits. You do
NOT decide and you do NOT recommend cancelling or running.

For each row of my limits table, give: the forecast value, the band
(GO, AMBER or CANCEL) and the forecast time it applies to. If the
forecast gives a range that crosses a band, give the highest band it
reaches and say so. If a reading is missing from the forecast, write
NOT IN FORECAST. Finish with "Highest band for each trip: ..." and
the forecast issue time. Do not use any information that is not in
the pasted text.

LIMITS: [paste table]
TRIPS: Walk meets 10:00, ends 14:00. Kayak meets 09:00, ends 12:00.
FORECAST (issued 2026-07-14 18:00, for Wed 15 Jul 06:00-18:00):
Wind south-west 25-35 km/h, gusts 55 km/h from midday. Showers,
heavy at times after 14:00. Thunderstorms possible in the afternoon.
Visibility good, reducing in showers. Advisory-level wind warning
12:00-21:00.

An illustrative good answer: the official warning is AMBER for the walk, since it starts at midday and the walk runs until 14:00, and AMBER for the kayak trip only if the warning window overlapped, which it doesn't, so GO on that row. Sustained wind of 25 to 35 km/h is GO for the walk but crosses into CANCEL for the kayak trip, whose limit is 28, so the highest band for the kayak is CANCEL. Gusts of 55 are AMBER for the walk. Thunderstorms possible in the afternoon is AMBER for the walk, which ends at 14:00 and may overlap the first storms, and GO for the kayak trip that finishes at 12:00. Showers turn heavy only after 14:00, once both trips are over, so rain is GO for each, with the timing noted. Visibility is NOT IN FORECAST as a number, so it can't be banded. Highest band: walk AMBER, kayak CANCEL.

The manager now has something to decide on. The kayak trip cancels at the 24-hour decision, with guests told that evening. The walk is held, guests get a heads-up, and the 06:30 recheck decides. Two details make this safe. The NOT IN FORECAST line turns a silence in the forecast into a visible gap, which is better than the model assuming "fine". And the pasted text carries its issue time, so the log records exactly what was known. Models with web access can fetch forecasts themselves, but a fetched forecast is a model's summary of a page. Use the official service as the source, and keep a screenshot of it.

Refund wording that settles the argument in advance

Most weather disputes start with silence in the terms. Put a short weather section where guests will see it: on your site, in the booking confirmation and in any marketplace listing that lets you add text. A good one answers five questions: who decides, when, what the guest gets if you cancel, what happens if you run the trip and what happens if conditions change on the day. This is illustrative wording to adapt, not legal text.

WEATHER AND SAFETY
We decide whether each trip runs using our written weather limits
and the official forecast. If we cancel a trip because of weather or
safety, you can choose a full refund or a new date at no charge. We
decide by [time] on the day, and earlier when we can, and we will
message you straight away.
If we need to change a trip because of conditions, for example a
shorter route, we will tell you before we start. If you decide not to
join the changed trip, [your policy: refund, partial refund or new
date].
If we run the trip and you choose not to come, our standard
cancellation terms apply: [link].
Refunds go back to the original payment method and can take 5 to 10
business days to show on your statement.
If you booked through a marketplace, its terms also apply.

A few notes on that text. Make the refund the plain default and the new date the alternative, because in many places a customer whose trip you cancel is entitled to their money back, and a credit you impose can breach your terms or a marketplace's rules. The line about timing reflects what Stripe's documentation says: a refund can only go back to the original payment method, and the customer sees the credit roughly 5 to 10 business days later, depending on the bank. Check your own processor's page. Stripe also says that its processing fees from the original payment aren't returned when you refund, so each refunded booking costs you the fee. Some processors differ, so look up yours.

AI can tidy the plain-language version, but it doesn't know consumer rules where you sell. Ask it: "Rewrite my weather policy in under 150 words of plain language. Keep every commitment, add none, and flag any sentence that could be read two ways." Then have an adviser check the final text for the places you sell, since consumer rules on cancellation and refunds differ.

Five messages and a batch run

Write the messages once, before the season, so that nobody drafts wording under pressure at 6:45. Each states the decision, the guest's options and a deadline.

1. Heads-up (day before, trip on AMBER)
Hi [first name], we are watching tomorrow's forecast for your
[trip] at [time]. We will confirm by [time] whether it runs. If it
doesn't, you can choose a full refund or a new date. Nothing to do
for now. [your name]

2. Cancellation
Hi [first name], we have cancelled your [trip] on [date] because of
[reason in plain words]. Your options: (1) a full refund to your
original payment method, which can take 5 to 10 business days to
show, or (2) a new date. Reply 1 or 2 by [date], or use [link].
We're sorry. Safety comes first. [your name]

3. Go with changes
Hi [first name], your [trip] is running tomorrow with one change:
[what is different]. If that doesn't suit you, reply by [time] for a
full refund or a new date. [your name]

4. Rebooking confirmation
Hi [first name], you are rebooked for [new date] at [time] for
[group size]. Your reference is [ref]; the same terms apply. [your name]

5. Shortened or stopped trip (after the trip)
Hi [first name], thank you for joining us. We [shortened / stopped]
the trip because of [reason]. Here is what we are offering: [your
policy]. [your name]

For a whole day's bookings, let AI fill the template while you keep control of the wording. Export tomorrow's bookings as a CSV with first name, group size, reference and source, then give it the batch prompt below. It separates direct bookings, which you message, from marketplace bookings, which have to be cancelled inside the marketplace.

Below are the bookings for tomorrow's cancelled kayak trip (CSV).
For every row with source = direct, fill message 2 exactly as
written, replacing only the placeholders. For rows with source =
marketplace, write no message; list the reference under CANCEL IN
PLATFORM. If a row has no first name, group size or reference, list
it under MISSING DATA. Do not change any wording.

first_name,group_size,reference,source
[first name],2,K1042,direct
[first name],4,K1043,direct
[first name],2,M7781,marketplace

The result is two filled messages, one reference under CANCEL IN PLATFORM and an empty MISSING DATA list (illustrative). Read two or three of the filled messages in full before you send any, because a missing date or a wrong reason is the typical error, and send a test to yourself first. Done this way, a cancellation that takes about 25 minutes by hand, with 9 bookings, three channels and the log, takes closer to 12. That is a small saving over a season. The bigger gain is a message that always includes both options. If you are choosing booking software, this comparison of tour booking software lists what small operators should check.

Rebooking: fit the guests into the capacity you actually have

The refund-or-new-date choice hides a puzzle: the new dates have limited seats, and groups shouldn't be split. Say seven of the Wednesday walk's ten guests chose a new date, in three bookings, and each walk takes 12. The first table shows the seats left over the next four days, and the second shows what the three bookings need.

DateSeats left
Thu4
Fri6
Sat2
Sun7
BookingGuestsCan do
K10512Saturday only
K10524Thursday or Friday
K10531Thursday only
Allocate these cancelled bookings to new dates. Never split a
booking, never exceed the seats left on a date, and respect each
booking's constraint. Show a table: booking, guests, new date, seats
left on that date afterwards. If any booking can't be placed, say
so instead of bending a rule. Then add up the guests on each date
to prove none exceeds its seats.

SEATS LEFT: Thu 4, Fri 6, Sat 2, Sun 7
BOOKINGS: K1051 2 guests Saturday only; K1052 4 guests Thursday or
Friday; K1053 1 guest Thursday only

The one valid answer puts K1053 on Thursday (3 seats left), K1052 on Friday (2 left) and K1051 on Saturday (full). A model that places K1052 on Thursday first fills the day and strands K1053, which can only do Thursday. Models are fallible at exactly this kind of counting, which is why the last line of the prompt demands a per-date sum and a flag for anything that can't be placed, and why you should add the sums yourself. Check each date's total against its seats, then send message 4 to each booking. If the puzzle can't be solved, the answer is an extra departure or a refund, and that is a decision for you.

Cancelling on a marketplace: record it where the booking lives

A booking sold through a marketplace is the marketplace's booking as well as yours, so the cancellation has to be recorded in its system, and its rules decide what the customer receives. Viator's partner documentation is a useful example. It treats a tour the supplier cancelled "due to bad weather or other reasons beyond the customer's control" as grounds for a refund, and it lets suppliers send customers weather alerts directly when the booking carries their contact details. Its Standard cancellation policy, used by most products, gives customers a full refund if they cancel up to 24 hours before the start time, counted in the supplier's local time.

That documentation is written for software partners. If you manage bookings through a supplier portal, the steps differ, so read the help pages for each platform you sell on, and the supplier terms in your contract, before the season. Two habits help. Keep a list of which bookings in tomorrow's trip came from which source, which the batch prompt above does, so none gets a direct message when it needed a platform cancellation, or the reverse. And log the platform cancellation time in the same row as the decision. Add your weather wording to any marketplace listing that allows text. If a cancelled day leads to a review, this tutorial on replying to TripAdvisor reviews as a tour company covers the reply.

When the weather turns during a trip

Standing rules for the field matter as much as the morning decision. Give every guide authority to stop or change a trip when conditions cross a limit, with no need to phone the office first. Make it specific: if any reading reaches the CANCEL band while a trip is out, the guide ends it and brings the group back. Then decide, in advance and with your adviser, what guests get when a trip is shortened or stopped. Typical options are a partial refund by proportion of the trip run, a credit for a new date or no refund once more than a stated share has been delivered. Whichever you choose, write it into the wording above, so the guide quotes policy rather than negotiating at the car park.

Log the mid-trip decision in the same sheet: time, reading, who decided and what the group was told. Afterwards, message 5 goes out the same day. This is a good job for AI because the facts are already in the log row and the tone matters. Give it the row and message 5, ask for the filled version, and read it for anything that sounds like blame or promises more than the policy does.

Reading the log at the end of the season

A season of log rows is the best input you will ever have for tuning your limits. Do the counting in the sheet, where it is reliable, with COUNTIFS on the decision and band columns. Then ask an AI to read the notes and spot patterns you can't see in the counts.

Below is my weather decision log as CSV: trip, meeting time,
readings with bands, decision, decided by, time decided, time guests
were told, outcome, notes.

1. List every GO or GO WITH CHANGES row where any reading was in the
   CANCEL band.
2. List every CANCEL row where every reading was GO or AMBER.
3. For each cancelled trip, give the notice in hours between the time
   guests were told and the meeting time.
4. List rows with no decided-by or no notification time.
5. Read the notes column and list any weather factor mentioned in
   three or more rows that is not in my limits table.
Quote row numbers. Do not recommend new limits.

A useful answer (illustrative) might flag three GO decisions with a CANCEL-band reading, two cancellations where all readings were in the GO or AMBER bands, a median notice of just over four hours and five rows with no notification time, and note that "river level" appears in the notes of six rows but not in the table. Each is a question for the manager. The three GO rows may be forecast errors or lapses in the rule. The two cancellations may point to a missing reading, here river level, which then goes into the table for next season. Changing the limits is a human decision, so the prompt forbids recommendations.

A quick sum puts the season in proportion (illustrative). Nine weather cancellations averaging $575 of fares each put $5,175 in play. If 60% of guests rebook, about $2,070 is refunded, and at an assumed card fee of 3% that is about $62 in fees you don't get back. The money lost in fees is small. The cost to protect is the lost day, the reputation and the guest's trust, and a written limit, a log and clean messages protect all three. Time saved is modest, perhaps eight hours over a season between the forecast checks and the messages, which is a bonus rather than the case for doing this.

Questions tour operators ask about weather and AI

Can I let AI fetch the forecast for me?

Treat that as a convenience, not a source. A model can quote a stale page or summarise the wrong location, and it won't tell you which. Choose the official forecast service you rely on, paste its text with the issue time into your prompt, and keep a screenshot in the log. The AI compares what you pasted with your limits. It never supplies the weather.

Should I offer a credit instead of a refund?

Offer a choice, not a substitute. In many places a customer whose trip you cancel is entitled to their money back, and a credit you impose can breach your own terms or a marketplace's rules. Make the refund the clear default, offer a new date as the alternative, and have an adviser check the wording for the places you sell.

What if guests ask for a refund when I do run the trip?

Your standard cancellation terms apply unless your own limits say conditions are unsafe, which is exactly why the limits and the log exist. Decide in advance what you do for guests who feel conditions are worse than forecast, and write it down so every guide answers the same way. Judge goodwill requests case by case and record the reason.

How early should I tell guests?

As early as you are confident, and always at the decision times you set. A heads-up the day before when a trip is on amber, then a firm message at the final decision, beats a surprise at the meeting point. The rule that matters is consistency, so log when each message went out and look at your average notice at the end of the season.

Further reads

Sources: Viator Partner API documentation (cancellation policies, weather cancellations, supplier messages to customers); Stripe documentation on refunds and processing fees.

Want a weather decision process your guides will follow?

On a 1:1 call we can set up your limits, decision log and message templates around your own trips and booking system, and decide which steps AI should draft and which a person must own.

Book a 1:1 call with me