
Stay updated
Stay informed and see how CaptainBook evolves to deliver smarter
v27.6.0
Captainbook v27.6.0
New
AI crawlers can now read your booking catalogue as plain text
Your booking pages now publish a machine-readable index of your experiences at
yoursubdomain/llms.txt, so AI tools and assistants that don't run JavaScript can
read what you offer and link customers straight to the right booking page. It
lists exactly what your public widget shows — nothing hidden or unlisted — and
every operator gets it automatically.
See exactly which terms apply to your account, and get told before a renewal is charged
Your billing page now shows the terms and conditions that apply to your
account, with a dated PDF of your acceptance record you can download at any
time. You will also get an email before an annual subscription renews,
stating the amount and the date, so a renewal is never a surprise on your
statement.
Reprice a single departure without touching the others that day
You can now set or clear a per-departure price override on one departure at a
time. Clearing an override makes that departure follow your catalogue price
again, so a price you rounded or corrected no longer stays frozen at the old
number. Previewing a price change before applying it now tells you exactly how
many departures would actually change.
Improved
WhatsApp staff alerts now link straight to the booking
Your team's WhatsApp alerts (new booking, cancellation, reschedule, payment,
signed document, and more) now include a tap-through link that opens the
booking or the relevant page in your dashboard, instead of just telling you to
go look it up. Same one-tap convenience the SMS and email alerts already had.
Fixed
Translation and message-feedback screens now show their status messages
Running out of AI credits, saving translations, or sending feedback on a thread
message used to perform the action but show nothing on screen. Those confirmations
and warnings now appear as toasts, so you can tell what happened — including why an
action did nothing when you have no credits left.
Ticket PDFs now show your public contact email instead of your account email
Your ticket and voucher PDFs were showing the email address you signed up with,
which is usually a private inbox rather than the one you want customers writing
to. They now show the contact email set on the widget the booking came through
(Channels > Direct > Contact email). If you have not set one, your account email
is still used as before, so nothing disappears.
The Download QR Code button works again
Downloading a QR code from a widget or folder page did nothing when you
clicked the button. It now downloads the PNG as expected. The Remove button
on the Affiliates screen was broken the same way and is fixed too.
Extending a season now always continues from your last bookable day
Rolling a year-round product forward could still leave a hole right after your last
departure — up to four weeks if your product has been running for less than a year,
and up to a week if your dates ran into the end of a 53-week year. Those days are
now filled from your current schedule, and the preview tells you how many were
added. Publishing also stops if dates you already have would be double-booked, and
the "generate a new draft" button now works instead of reporting that a draft
already exists.
v27.5.6
Captainbook v27.5.6
Improved
Clearer WhatsApp setup guidance in notification settings
Notification settings now explain that connecting your own WhatsApp sender is
optional (it sends from your own number), and link to step-by-step guides for
connecting a WhatsApp Business account or your personal WhatsApp. Opening a page
for a feature you don't have now shows a proper "not found" page instead of an error.
Fixed
Fixed the login link sent to new workspaces
The one-click login link handed to you at the end of signup opened an error
page instead of your dashboard. It now signs you straight in. Workspace owners
were also missing some account emails — including the alert that Stripe needs
more information before payouts can start — and now receive them.
v27.5.5
Captainbook v27.5.5
Fixed
Viator now shows a price for every traveller type on repriced departures
Departures where you repriced only some traveller types could reach Viator with
no price on the types you left alone, or with the wrong tier price for larger
parties. Every type now carries the fare you actually charge.
Product pages now show price and availability in Google search results
Your experience pages were being rejected by Google because their listing data
was missing a price. They now publish the same "From" price the page shows, so
Google can display it directly in search results instead of dropping the listing.
Fixed a crash when changing the schedule while creating a booking
Creating a booking for a resource no longer errors out if you change the schedule after picking a time slot. The booking panel now stays on a valid slot for the schedule you're on.
v27.5.4
Captainbook v27.5.4
Improved
The mobile day view loads faster
The day view in the mobile app now loads with far fewer database queries, so it
appears faster — especially on a slow connection in the field. Nothing about what
you see on the screen changes.
Fixed
Extras tied to a question stay in sync in the booking form
When you change the guest count or an extra elsewhere in the booking form, extras
attached to a question now update their quantity and per-guest cap correctly
instead of silently going stale.
Pre-selected extras keep their quantity on the booking form
When an extra is already selected or required for a question, its quantity now
shows correctly as the booking form loads instead of resetting to zero, and
changing an extra in one place keeps the matching selectors in sync.
Internal-only fares no longer appear on Viator
Fares you have marked "only used internally" are no longer sent to Viator.
Previously they appeared as an extra, usually zero-priced ticket alongside a
band you really sell, and a traveller who picked one was rejected at the last
step. Products with a group minimum are also priced correctly again.
Back-office comp fares no longer reach Viator or GetYourGuide
Prices you mark as internal — staff seats, comp fares — are no longer sent to
Viator or GetYourGuide when you set them as a price override on a departure.
Previously one could be published alongside your real price, and on Viator a
customer booking could be held at it.
Mandatory extras are now applied to bookings made from the calendar widget
Extras you marked as mandatory are now added to every booking made through the
calendar widget, and appear on the checkout page like they do everywhere else.
Previously they were silently left off, so guests were never shown or charged
for them.
Confirmed bookings no longer disappear from the feed
A confirmed booking that still carried an old hold-expiry timer (for example
after a reschedule) was hidden from the bookings feed. It now stays visible in
the feed and under the Confirmed tab.
Lapsed accounts no longer keep serving a live booking website
If a subscription lapses, the operator's public website and booking pages now
show a clear "Account disabled" message instead of continuing to take bookings.
Logged-in admins see a link straight to billing so they can reactivate and bring
the site back immediately.
Internal pricing categories are no longer offered or booked through connected sales channels
If you marked a pricing category as internal (a staff, comp, or agent rate), a
connected sales channel could still see it under its own name and take real
bookings against it at a price you never meant to sell. Those categories are now
hidden from the channel and rejected at booking time, so your back-office rates
stay in the back office. Bookings already taken on one keep showing their price
unchanged.
Booking widget keeps add-on extras in sync when you change the number of guests
On the embedded booking widget, add-on extras (services and products) now update
correctly when the party size changes, including capping per-guest add-ons to the
new guest count. Previously these could show a stale quantity after the guest
count changed.
v27.5.1
Captainbook v27.5.1
New
AI assistants can now read a clean version of your booking pages
AI assistants and crawlers (ChatGPT, Claude, Perplexity and others) now get a
clean, text-only version of your public booking pages — product pages, reviews,
gift certificates and lists — so they can read and recommend your trips more
accurately. Normal visitors still see the usual page. Checkout and booking pages
are left out so customer details are never exposed.
Improved
Your booking pages now appear once in Google instead of once per language
Your booking pages were being listed in Google once for every language the
widget supports, even when the listing itself was only written in one. They
now consolidate into a single result, and product pages can show their star
rating in search. Login and checkout pages no longer appear in search at all.
Fixed
The manifest now shows the full party for voucher check-ins
Checking in a booking on a voucher product marked the whole party as arrived,
but the manifest only counted it as one guest — so a group of four showed as
"1 / 4" on screen and in the printed manifest. Both now show the real headcount,
and the pricing-category breakdown splits the party across Adults / Children
instead of filing it under "uncategorized".
v27.5.0
Captainbook v27.5.0
New
Choose WhatsApp for your staff notifications
You can now pick WhatsApp for the notifications on your Notification Settings
page. Until WhatsApp delivery goes live, these still arrive as SMS, so nothing
is lost in the meantime.
Send staff notifications over WhatsApp
Operator notifications you chose to receive on WhatsApp now arrive over
WhatsApp once Captainbook's WhatsApp account is connected. Until then, or if it
is paused, they fall back to SMS so nothing is missed.
Send booking notifications via WhatsApp
Operators can now connect their WhatsApp Business account and automatically send booking confirmations, reminders, reschedules, cancellations, document reminders, and waitlist notifications to guests via WhatsApp. Includes opt-out handling so guests can stop receiving messages by replying STOP, and a per-product toggle to control which products use WhatsApp notifications.
Chat with your customers on WhatsApp from your dashboard
Connect your existing WhatsApp number by scanning a QR code, then read and reply
to customer messages right inside Captainbook — no separate app, no WhatsApp
Business account required. Your personal chats stay private: only conversations
with customers (and unknown numbers messaging your business) appear, and you can
forget any contact at any time.
Download every participant's waiver for a departure as one PDF
Operators can now download a single PDF with every participant's liability waiver for a departure — signed and unsigned — led by a summary page that shows who still needs to sign. It replaces gathering and printing waivers one participant at a time before a trip.
See at a glance who has checked in, without tapping Check-in
The day list in the mobile app now shows how many guests on each booking have
been checked in, and how many are marked no-show, alongside the party size.
Previously the only way to find out was to tap Check-in — which admitted the
whole booking. Slot headers show the same counts across every booking on the
departure.
Send booking notifications over WhatsApp
Operators can now connect a WhatsApp Business account (or pair their personal
WhatsApp) and send booking confirmations, reminders, cancellations and waitlist
alerts over WhatsApp instead of SMS. On a WhatsApp Business account, if Meta
reports a message undeliverable it falls back to SMS automatically. Personal
WhatsApp is best-effort (no SMS fallback once sent), so use a Business account
when delivery must be guaranteed.
Control how your chat assistant opens, and keep it on your own catalogue
You can now hide the "See our experiences" button in the chat, and choose
whether customers land on the chat's home tab or go straight to messages.
The chat also now shows the brand of the widget it is attached to, and its
experiences button opens that widget's catalogue rather than your default
one, so operators running more than one widget no longer send customers
into the wrong product list.
Improved
See at a glance which folders hold experiences running out of departures
Folders in your experience list now show how many of the experiences inside them
are running out of departures, coloured by how urgent the soonest one is. If your
catalogue is organised into folders, the dashboard warning now tells you where to
look instead of leaving you to open every folder. Experiences you have deactivated
no longer claim to be bookable.
Fixed
Delete, publish and resend buttons across the back office now work when clicked
Several buttons in the back office did nothing when clicked, with no error and
no explanation: deleting an experience or a discount, deleting a widget or
setting it as the default, deleting or publishing a website version, resending
a gift certificate payment link, clearing a blocked slot in the resources
agenda, and downloading a signed agreement PDF. All of them now do what they
say. Queueing a tenant availability roll also shows a confirmation message that
previously never appeared.
Editing an experience's basic details no longer changes its pricing
Saving the basic details of an experience used to silently overwrite its
pricing (the "starting from" price and pricing options), even though you only
touched the general fields. Each section of the edit screen now saves only its
own settings, so your pricing stays exactly as you left it.
Availability navigation now keeps the same time slot when paging across days
On an availability's page, the previous/next day arrows now take you to the same
time of day on the neighbouring day instead of jumping to a different slot. The
within-day arrows also work now, so you can step through a day's other times.
Free ticket tiers no longer publish a €0 price to Google listings
If a product had a free tier (for example free entry for kids) alongside paid
tiers, its Google Things to Do listing could show a starting price of 0. Free
tiers are now left out of the price sent to Google, so the listing shows the
correct lowest paid price. Fully free products still publish as free.
Stop form buttons from submitting twice while the next page loads
When you click a button that saves and then sends you to another page, the button now stays locked until the next page loads, so an impatient second click can't submit the same thing twice. Two-step "are you sure?" confirm buttons are unaffected.
v27.3.3
Captainbook v27.3.3
Fixed
Extend season is now available on every experience, from the actions menu
The "Extend season" action was missing on experiences that had not taken a
booking in the last year, even though they were still on sale. It now appears
for every experience, and has moved into the ... actions menu alongside
Duplicate, Edit and Translations.
Seasons now extend automatically even for experiences that have been quiet
Automatic season extension used to skip any experience that had not taken a booking
in the past year, which is exactly the experience most at risk of quietly running out
of dates. It now drafts next season for those too, and it will never put a season on
sale without first sending you the preview email and giving you the full 14 days to
change or cancel it.
Extending a year-round experience now continues from where its calendar ends
Experiences that run all year round were being extended from the wrong
starting point, so the new departures could begin months after the existing
ones finished and cover far more than a year. Extending one of these now adds
exactly twelve months of departures, starting the week after your current
calendar ends. Seasonal experiences are unaffected.
Your notifications page loads again
The notifications page could fail to load for operators who had received an
inventory reminder. It now opens normally, and those reminders show a readable
title, summary and a link straight to the screen that acts on them. The same
fix applies to the notification bell and to notifications in the mobile app.
Workflows now spot a guide who is blocked for a single schedule
The "Determine if Available" workflow step could report a guide as free even
when you had blocked them, if the block applied to specific schedules rather
than all of them. It now takes every entry on the guide's calendar into
account, so workflows that branch on availability no longer offer someone who
is already committed.
Translation and message-feedback screens now show their status messages
Running out of AI credits, saving translations, or sending feedback on a thread
message used to perform the action but show nothing on screen. Those confirmations
and warnings now appear as toasts, so you can tell what happened — including why an
action did nothing when you have no credits left.
v27.3.2
Captainbook v27.3.2
Fixed
Inventory reminders now go to your planners, in a single daily email
Reminders that an experience is running out of availability were going to
everyone who can edit a schedule — including field staff — and arrived as a
separate email for each urgency level. They now go only to people with the new
"Receive Inventory Notifications" permission (admins and managers by default,
editable under Settings > Roles), as one email a day grouped by urgency.
Extend season is now available on every experience, from the actions menu
The "Extend season" action was missing on experiences that had not taken a
booking in the last year, even though they were still on sale. It now appears
for every experience, and has moved into the ... actions menu alongside
Duplicate, Edit and Translations.
v27.3.1
Captainbook v27.3.1
Improved
Jump to the required question you missed at checkout
If you try to continue past checkout with a required question left blank, the
page now scrolls straight to that question and highlights it, instead of only
showing an error banner at the top. Fewer people get stuck not knowing what
still needs answering.
Fixed
Channel-manager bookings no longer fail for reseller accounts
Reseller bookings created through the channel-manager API could fail with a server error since late February. They now go through correctly.
Customer fields no longer disappear when switching a booking back to Direct
When adding a booking by hand, if you picked a partner and then switched back to Direct, the email, phone, country and zip fields vanished and only the name field was left. Those fields now stay in place so you can finish entering the customer.
v27.3.0
Captainbook v27.3.0
New
Get warned before a season runs out, and roll it forward in one screen
CaptainBook now tracks how far into the future each of your products is still
bookable and warns you before it runs out — at 90, 30 and 7 days, and again on the
day it goes dark. From the warning you can open next season already drafted from
this one: same weekdays, same times, same prices and capacities, with any missing
departures flagged so you can add them or deliberately keep them closed. Review it,
publish it, and undo it for 30 days if it was not what you wanted. Products you opt
in extend themselves automatically and email you the receipt.
Improved
See which travel agent booked, on the booking page
Bookings made through an agency widget now show the booking agent's email
under the channel name, so you can tell one agency from another at a glance
instead of relying on how the widget was named.
Fixed
Fix gift-card and voucher amounts in your Revenue stats
Selling a gift card now adds to your Revenue at the moment of sale, and
cancelling or refunding gift-card and voucher bookings adjusts Revenue
correctly instead of leaving it too high or driving it negative. Your
Revenue dashboard now reflects what you actually earned.
Revenue counts foreign-currency gift-card sales in your own currency
When a customer bought a gift card in a currency different from your account's,
the sale was added to your revenue total in the customer's currency, so the
figure was off — and it stayed off after a refund. Gift-card revenue is now
always counted in your account currency.
Product names with apostrophes no longer break the booking widget
Products, pricing categories and extras whose names contain an apostrophe
("Jack's Sunset Cruise", "Children's ticket") could stop parts of the booking
widget from loading, and sent mangled names to analytics. Names with quotes,
ampersands and accents now display and track correctly everywhere.
Embedded calendar widgets load again
Calendar widgets embedded on your website were showing an empty box instead of your availability. They now load normally again. No action needed on your side.
Product booking pages no longer error on broken links
Embedded product pages could show an error instead of loading when a booking
link carried a broken guest-count value (from crawlers or copy-paste damage).
They now load normally and ignore the bad value.
Extra prices now update when you switch currency in the booking widget
When a customer changed the currency on the checkout page of the embedded
booking widget, the add-on extra prices stopped updating and could throw a
client-side error. They now re-label to the selected currency correctly.
The booking widget no longer lets the page slide around behind it on mobile
Opening the booking widget on a phone could leave the page underneath
still draggable, so a few pixels of the site would slide into view along
the edge of the widget. The page now stays put while the widget is open,
and you land back exactly where you were when you close it.
Revenue and booking-count stats now add up correctly across gift cards, vouchers and channel bookings
Reporting now recognises a gift-card sale as revenue once, counts vouchers as real
revenue, and keeps Revenue and booking counters consistent when bookings are
confirmed, refunded, cancelled or deleted through channels and the mobile app. A
maintenance command can rebuild historical figures that earlier bugs recorded wrong.




