Find sections across all documentation pages
What BookerKit records in Zenoti when a guest books through the widget: the booking note, the guest profile note, and what is never sent.
Nearly every booking made through your widget arrives in Zenoti with a short note attached — the exceptions are covered under When Each Note Is Written. The note tells your team how the booking happened: which promotion it came from, which code it arrived with, whether a deposit was part of the booking, and where the visitor came from. It is a few plain lines of text in a fixed format that BookerKit builds — three of those lines carry wording you or your campaign links supplied, which is covered below — so nobody has to open another tool to see where an appointment came from.
The note is up to five lines. The first line is always there. Every other line appears only when there is something to show, so most notes are shorter than this one:
Booked online via BookerKit
Promo: Spring Refresh
Code (from link): SUMMER25
Deposit required: $50
Source (from link): google / spring-refreshMost campaign pages show a Code line and no Promo line
The Promo line only ever carries a promotion title from the list you built in Widget Settings. BookerKit matches the promotion in play against that list and sends its own copy of the title, so nothing typed elsewhere can put different wording on the line.
A promo title written into the embed code — which is what the embed generator in your dashboard produces — pre-selects a promotion without the guest choosing anything. If that title exactly matches one in your promo list, it produces a Promo line the same as a guest pick would. If it matches nothing on the list, it changes the banner the guest sees and produces no Promo line.
A campaign landing page advertising an offer that is not in your promo list will therefore produce a Code line and no Promo line. That is expected, not a missing note. Worth knowing the other way round too: if a landing page's data-promo-title matches a promotion in your list, that title reaches the appointment note and the guest profile note with nobody selecting it — so the naming advice below applies to embed-supplied titles as much as to guest-chosen ones.
The Source line is campaign tags only
Source comes from the utm_source and utm_campaign tags on the link the guest clicked, and from nothing else. BookerKit does not fill it in from the site the visitor came from — an untagged visit, including one arriving from a Google search, simply produces no Source line at all. Every word on that line was written by whoever built the link, which is why keeping guest details out of your campaign tags matters below.
There are two notes, and they are written at different moments.
If Zenoti reads the note and rejects it, BookerKit confirms the appointment again without it: the booking still goes through and still shows on your calendar, it simply arrives with no note attached. That second attempt only happens for a clean rejection of the note itself. If the confirm fails for another reason, what the guest is told depends on whether BookerKit knows the outcome:
Deposit required is the booking's terms, not a payment status
Deposit required: $50means the booking was made under your widget's deposit setting and a $50 deposit was part of its terms. It does not mean the deposit is unpaid, and it is not updated after the deposit is charged. The line reads the same before and after payment.
To see whether the money actually landed, check the invoice in Zenoti. That is the only place payment status lives.
Going by Zenoti's own documentation, the booking note travels with the appointment, so it should be visible wherever you open the appointment itself. The guest profile note is filed as a "Booking" note on the guest record, alongside any other notes your team has added there.
Not yet confirmed in every Zenoti setup
We have not yet verified exactly which screens show these notes in every Zenoti setup. Check your appointment view and your guest profile view, and tell us if they are somewhere else so we can correct this page.
The note is built from your own settings and the link the guest arrived on. BookerKit never adds:
Three lines carry wording you wrote
The Promo lineis the promotion title from your Widget Settings, copied exactly. It only ever comes from your own promo list — nobody can inject a different one — but it is your wording, so a promotion you named “Semaglutide Special” or “HRT Consult” puts that name on the appointment note and on the guest's profile note. The appointment already names the service that was booked, so that note adds nothing new; the guest profile note is the one to think about. If you would rather a treatment name not sit on a guest profile, name the promotion after the offer instead of the product — “Spring Refresh”, “New Guest 50”.
The Code and Source lines are the campaign code set on your embed and the campaign tags on the link the guest clicked. BookerKit checks both for shape only — allowed characters, allowed length, and a rejection of anything holding an email address or a long run of digits — and never for what they otherwise say. That last check removes the two shapes a stray merge tag actually produces, but it is not a guarantee: other wording your pages or ad links put there goes into the note exactly as written. That is why both lines are printed with the (from link) label — anyone can edit a campaign tag or a landing page before clicking through, so the chart says where the wording came from rather than leaving staff to assume BookerKit or a colleague wrote it.
Campaign tags must be single words. A utm_source or utm_campaign value containing a space produces no Source line at all. Use the token forms your ad platform already emits — spring-refresh-2026 or spring_refresh_2026, not Spring Refresh 2026 — or the booking is simply recorded without a source. Be clear about what that rule does and does not do: it keeps a space-separated sentence off the note, but dots, hyphens and underscores are allowed, so deposit-waived-per-owner still reaches the chart. No character rule can tell an instruction from a campaign name, and the Code line takes the same wording with no link tag involved at all — the (from link)label on both lines is what tells a reader not to take them as BookerKit's words.
So the promise above is about what BookerKit adds on its own. Keep guest details out of your campaign codes and campaign tags, choose promotion titles you are happy to see on a guest profile, and the note stays clean. The promo code guidance in the Embedding Guide covers what is safe to put there.
For how campaign codes get onto a page in the first place, see the Embedding Guide. For the developer view of the same integration — the Zenoti calls behind these notes — see the Zenoti API reference. For the terms used above, see the Glossary.