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.


© 2021-2026 CaptainBook.io - All rights reserved.
Legal Terms - Privacy policy

© 2021-2026 CaptainBook.io - All rights reserved.
Legal Terms - Privacy policy

© 2021-2026 CaptainBook.io - All rights reserved.
Legal Terms - Privacy policy