Skip to content
Booked Help centre

Merge tags

Drop booking details into any message — names, times, prices and links.

A merge tag is a short code in curly brackets that Booked swaps for real booking details as the message goes out. In the editor you see it by name: {customer_first_name} shows as a blue First name tag, and every customer reads their own name. The same tags work in email subjects, email bodies and text messages.

What a merge tag is

Every message Booked sends is a template — one piece of wording covering every customer, every branch and every service. Tags are how that one template says something different to each person. The shipped Booking approved email opens “Hi First name,” and arrives as “Hi Grace,”; its When row is Date, with Start time to End time · How long underneath, and arrives as “Friday 4 September 2026” over “14:30 to 14:50 · 20 minutes”.

Templates store codes; the editor shows names. Behind every tag is its code — hover over a tag to see it, or press </> above the email to see the whole template as HTML with the codes written out (on a text, </> shows the codes). The tables below give both.

Codes are literal. Booked looks for the exact spelling and replaces it. Anything else in curly brackets is left in the message word for word, and your customer sees it — except the markers of a condition, such as {if video}, which Booked always takes out (see Conditions, below).

Inserting a tag

  1. Open the messageGo to Booked › Messages, choose Email templates or Text messages, and pick the event from the list.
  2. Put your cursor where the detail belongsClick in the text. Clicking a tag puts the cursor just after it.
  3. Press + Add a detail and pick oneThe menu opens above or below the button. Click a line and the tag appears at your cursor, by name; a ready-made section goes in as a card under your paragraph. To take one out, click just after it and press Backspace.
  4. For the subject, type the codeThe Subject line has no menu. Type {company_name}, say, and it turns into Business name when you click away.
  5. SaveThen Preview to see every tag filled in.
Booking approved
Email goes out

When a booking is confirmed.

Subject
Your appointment is confirmed — Business name
Email
BIU•Link</>
Hi First nameFilled in when it is sent · {customer_first_name},
Confirmed
Good news — your appointment is confirmed. Here are the details:
SERVICE
Service
WHEN
Date
Start time to End time · How long
WHERE
if a video call
Video call
otherwise
Branch
×
if a video call
Online, in your web browser
otherwise
Branch address
×
WITH
Who with
REFERENCE
Booking reference
…
+Add a detailShow only when…How to build emails →

The Booking approved email in the editor: details as tags, with the two menus underneath.

  • 1Subject — tags show here too, but it has no menu: type the code, such as {company_name}, and it becomes a tag when you click away. Every shipped subject to a customer names Business name, so they know who is writing.
  • 2</> — shows the whole email as HTML with every tag written out as its code. Press it again to go back to the tags.
  • 3A tag — the name of one detail. Hover over it and its code appears. Click it and the cursor lands just after it; Backspace takes it out.
  • 4+ Add a detail — opens the menu of tags, and a tag you pick drops in at your cursor, spelled correctly. The menu changes with the message: only the tags that message can fill in are offered, in groups from Ready-made sections to Your business. The sections are whole blocks, drawn in the editor as grey one-line cards. The same tags work on the Text messages tab, but each event has two separate templates: a tag you add to the email does not appear in the text.
  • 5Show only when… — turns the words you have selected into a condition group, so they appear only on some bookings. See Conditions, below.
Use the menu rather than typing

A code you type becomes a tag when you click away — if Booked knows it. Codes are case-sensitive and the spelling has to match: type {customer_firstname} or {Service_Name} and it stays as you typed it, and that is what lands in your customer’s inbox — brackets and all. Copying a tag copies its code, so a tag you copy and paste — into the Subject, a text or another template — keeps working.

Every tag, and what it prints

The + Add a detail menu under a message offers only what that message can fill in. These work in every message about a booking: the confirmations and changes, the reminders, the receipts and the alerts to your team. They are grouped as the menu is, with the ready-made sections first; each section shows its one-line description in the menu and on its card. You cannot create your own.

In the editorCodeWhat it prints
Ready-made sections
▤ Appointment details{booking_details}The Service, When, Where, With and Reference table the shipped emails draw, filled in by Booked. A row with nothing to show is left out. In a text, the service, short date and time, and “video call” or the branch.
▤ What changed{change_details}The Was and Now boxes from Booking rescheduled, the old date and time struck through beside the new. Empty unless the appointment has moved. In a text, “Was Fri 2 Oct at 10:30, now Mon 5 Oct at 14:00.”
▤ Video call{video_details}The Your video call panel: a Join the video call button, the link written out and a tip about the camera and microphone. In a text, “Join the video call:” and the link. Empty unless it is a video call.
▤ Questions to answer{questions_details}The Before your appointment panel with an Answer the questions button, while the customer has questions still to answer. In a text, “Please answer a few questions before your visit:” and the link. Only in messages to the customer, and never added to a text unless you put it there.
▤ Everyone coming{party_details}Everyone in a group, numbered, with the price each and the total time. In a text, “Booked for:” and the names. Empty for one person.
▤ Course or visit details{visit_details}Everything booked into the same visit, with times and prices; or, for a course, which visit this is and every visit’s date. In a text, a course’s visits on one line.
▤ Payment summary{payment_details}What has been paid and what is left, or “Paid with your package credit”. In a text, “£20.00 to pay at your appointment.” when something is left. Empty for a free booking.
▤ Account link{account_link}A line linking to the customer’s account. In a text, “Manage it:” and the link. Empty unless customer accounts are on, and in alerts to your team.
▤ Anything else the booking needs{more_details}Nothing of its own. It marks where Booked puts whichever of the sections above the booking needs and the template leaves out. Without it, they go at the end.
Customer
First name{customer_first_name}The first word of the name field. “Mrs Jane Smith” becomes “Mrs”.
Full name{customer_name}The customer’s full name as they typed it.
Their email{customer_email}Their email address.
Their phone{customer_phone}Their phone number, if the form asked for one.
Number of people{party_size}How many people a booking is for — 1 on an ordinary booking.
Everyone’s names{attendee_names}The names on a group booking, in one line.
List of everyone{attendee_list}The same names as a list, for an email. Empty unless more than one person is booked; in a text it prints the one-line version.
Appointment
Service{service_name}The service booked.
Who with{employee_name}Who the appointment is with. Empty when nobody is assigned.
Branch{location_name}The branch, or “Video call” on a video appointment.
Branch address{location_address}The branch’s street address, town or city and postcode, separated by commas. Empty on a video appointment.
Branch phone{location_phone}The branch’s Phone, from its Details tab.
Where it is (in a sentence){booking_where}“By video call” or “At Bramhall”: the place as a phrase that fits in a sentence, in an email or a text alike. Empty when there is no branch. For the bare name, use Branch.
Booking reference{booking_reference}The booking’s reference, such as BK-00931-1.
Date{booking_date}The date written out, “Friday 4 September 2026”. In a text, “Fri 4 Sep”.
Short date{booking_date_short}Always the short date, “Fri 4 Sep”.
Start time
End time
{booking_time}
{booking_end_time}
The start and end times, as 14:30 or 2:30pm, following the clock chosen under Settings › Region & currency.
How long{booking_duration}How long it lasts, such as “1 hour 30 minutes”.
Booking status{booking_status}The status in words: Confirmed, Waiting for confirmation, Completed, Cancelled or No-show.
Old date
Old time
{old_date}
{old_time}
In Booking rescheduled and the team’s moved alert, the date and time it moved from.
Links
Video call link{video_link}The join link for a video appointment; empty on any other. The shipped emails and texts keep it inside an if a video call group.
Questions link{intake_link}The secure link to your appointment questions, when they were not asked on the form.
Manage-booking link{manage_link}The page where customers sign in to see their appointments, when customer accounts are on. Empty otherwise.
Money
Price{booking_price}The booking’s full price, not the amount paid.
Paid so far
Left to pay
{amount_paid}
{balance_due}
What has been paid so far, and what is left to pay. A booking paid with package credit, or marked paid, has nothing left to pay.
Your business
Business name
Business email
Business phone
{company_name}
{company_email}
{company_phone}
Your business name, Email and Phone from Settings › Company details.

Receipts and refunds

Only in Payment receipt and Booking refunded. In a receipt, Amount paid now is what was just taken, while Paid so far is everything paid so far.

In the editorCodeWhat it prints
▤ Receipt{receipt_details}The whole receipt: the amount, what it was for, the reference, when and how it was paid, the total price, what has been paid so far and what is left.
Amount paid now{payment_amount}The amount just taken.
How they paid{payment_method}How it was paid: “Card, online”, or “Card on file ending 4242”.
Payment date{payment_date}When it was taken, such as “29 September 2026, 10:49”.
Amount refunded{refund_amount}The amount refunded, as the payment system reports it.

Alerts to your team

Only in the alerts to your team about a booking. Answers to your questions are never included.

In the editorCodeWhat it prints
▤ The customer{customer_details}The customer card: name, email, phone, status, how it was booked, payment, whether questions are answered, and their note.
Link to the booking{booking_link}The address that opens the booking in Booked.
How they booked{booking_source}How it came in: Booked online, Booked through a booking link, Took a time from the waiting list, or Changed from their customer account.
Reason for cancelling{cancel_reason}The reason given for a cancellation, or “Not given”.
Their note{customer_note}The note the customer left on the booking.

The waiting list

In Joined the waiting list, A time has come up and the team’s New on the waiting list, alongside the customer’s name, email and phone, the service, the branch (“Any branch” when they did not choose one), Number of people and your business tags. The offer tags are empty until a time is offered.

In the editorCodeWhat it prints
▤ Waiting-list details{waitlist_details}In A time has come up, the offer as a table: the service, when, and where. In the other two, what they are waiting for, with “By video call” or the branch, and the times that suit them — plus, in the alert to your team, the customer and how many people. In a text, the same on one line.
Offered date
Offered time
{offer_date}
{offer_time}
The date and time that has come free.
Minutes it’s held{hold_minutes}How many minutes the offer is held for them.
Link to take the slot{claim_link}The link that books the offered time.
What they’re waiting for{waiting_for}The times that suit them, in words, such as “Tuesdays and Thursdays, mornings, from Thu 1 Oct”, or “Any time”.

Packages

In Package bought and the team’s Package sold, alongside the customer’s name and email, Manage-booking link and your business tags.

In the editorCodeWhat it prints
▤ Package details{package_details}A table of the package, what it covers, what was paid, when to use it by and the reference — with the customer first, in the alert to your team.
Package{package_name}The package’s name.
What’s in the package{package_contents}What it covers, such as “5 × Flu vaccination”.
Package price{package_price}What they paid, or “Free”.
Package expiry{package_expiry}The date it must be used by, or “It does not run out”.
Order reference{order_reference}The purchase’s reference, such as PK-00042.

Your own templates

The emails you write under Your own templates and send from a booking offer every tag in the first table except Old date, Old time, ▤ What changed and ▤ Anything else the booking needs: nothing has moved, and nothing is added to them. The other ready-made sections still work, each empty when it does not apply. See editing your emails and texts.

Codes the menu does not list

Four more work in any template but are not in the menu, for multi-visit courses: {visit_number} and {visit_total} (“visit 2 of 3”), {course_visits}, a table of every visit for an email, and {course_visits_text}, the same on one line for a text. Type them in; they stay as codes in the editor rather than turning into tags, and are filled in all the same. On an ordinary booking the first two print 1 and the lists print nothing. If a course booking’s message mentions none of them, nor ▤ Course or visit details, Booked adds the list of visits for you, underneath — except on a receipt or refund, which get nothing added. Follow-ups add a few tags of their own, such as What’s left on the package for passes.

Two more are kept out of the menu — {brand_color} and {brand_color_soft} — which the shipped designs use to colour pills and buttons. They print colour codes, not words, and you only see them in the </> view.

How the tags read once filled in

Here is the confirmation a customer of Meridian Pharmacy’s Bramhall branch receives, with the substituted details marked up.

Your appointment is confirmed — Meridian Pharmacy
to grace.whitfield@example.com
Meridian Pharmacy

Hi Grace,

Confirmed

Good news — your appointment is confirmed. Here are the details:

Service
Yellow Fever Vaccination
When
Friday 4 September 2026
14:30 to 14:50 · 20 minutes
Where
Bramhall
14 Ack Lane East, Bramhall, SK7 2BE
With
 
Reference
BK-00931-1
To pay at your appointment£85.00

We look forward to seeing you.

Meridian Pharmacy
0161 439 0000

The Booking approved email as the customer receives it.

  • 1The greeting — First name took the first word of “Grace Whitfield”. Had she typed “Mrs G Whitfield”, this would read “Hi Mrs,”. Use Full name if that worries you.
  • 2Date and time — Date written out, then the start and end times and the length. The times follow the 12- or 24-hour choice under Settings › Region & currency; there is no other way to format them.
  • 3The address — Branch address joins the branch’s street address, town or city and postcode with commas. A field left blank is simply skipped.
  • 4An empty tag leaves a gap — nobody was assigned, so Who with produced nothing. Booked does not hide the label or the row for you.

What happens when a tag is empty

A tag Booked recognises but has no value for vanishes completely — no placeholder, no dash. The wording around it stays, which is how you get “Your appointment is with .” Expect blanks from:

  • Who with when no staff member is assigned to the booking.
  • Branch phone, Branch address and Business phone until those fields are filled in under Locations and Settings › Company details.
  • Their phone if your booking form does not ask for a number.
  • Video call link on every in-person appointment, and Branch address on every video one.
  • Manage-booking link unless customer accounts are switched on.

Where a detail might be missing, give the tag a line of its own. A blank line reads as a tidy gap; a blank word mid-sentence reads as a mistake. The ready-made sections are the exception: a card that does not apply prints nothing at all, heading included.

Tags that only suit some messages

  • Price ({booking_price}) is the booking’s full price, never the amount paid. If you take deposits, do not write “you have paid Price”; write “you have paid Paid so far, and Left to pay is left to pay”.
  • Booking status ({booking_status}) prints the status in words — “Confirmed”, “Waiting for confirmation” — so it is safe in front of customers, though the shipped designs use a coloured label instead.
  • Video call link ({video_link}) only has a value on video appointments, so keep it inside an if a video call group, as the shipped emails and texts do. A template with neither it nor ▤ Video call gets Booked’s own video panel on Booking approved, Booking changed, Booking rescheduled and every reminder, so the link is never lost.
  • Date ({booking_date}) in Booking rescheduled is the new date; Old date and Old time give the old one, and the shipped design shows it struck through — or add ▤ What changed, which draws both.
Some tags switch off what Booked adds

Booked adds the sections a booking needs — the video call panel, everyone in a group, questions still to answer, the visit, what has been paid, the account line — when a built-in template leaves them out: at ▤ Anything else the booking needs, or at the end. A section is not added again when the template already has it, or a tag it is built from: Video call link for the video panel; List of everyone, Everyone’s names or Number of people for the group; Questions link for the questions; Manage-booking link for the account line; and Paid so far, Left to pay or ▤ Receipt for the payment. See editing your emails and texts.

Conditions: words for some bookings only

A condition is not a tag: it prints nothing itself, but decides whether the words around it are sent. In the editor it is an amber group around those words, with a header saying when they show — if a video callwords× — and, when there is an alternative, an otherwise strip dividing the two: if a video callwordsotherwiseother words×. A group that holds a whole paragraph is a box; one inside a sentence is drawn in the line. To make one, select some words, press Show only when… and pick a condition; with the cursor inside the group’s words, Show only when… › Otherwise… splits it there for the alternative (the item is greyed out until the cursor is inside a group that has no otherwise yet). The × on a group takes the condition away and keeps the words. To turn one round, type {if not video} and {/if}: the group is headed if not a video call. Conditions work in subjects, emails, texts and follow-ups.

In the menuCodeTrue when
A video call{if video}The appointment is a video call.
In person{if in_person}It is not a video call.
More than one person{if group}More than one person is booked.
Something left to pay{if to_pay}Something is left to pay.
Nothing left to pay{if paid}Nothing is left to pay on a booking with a price.
Questions still to answer{if questions}Questions are still to answer.
Customer accounts are on{if account}Customer accounts are switched on.
Part of a course{if course}The booking is part of a course.
More than one service in the visit{if bundle}More than one service is booked into the same visit.

Waiting-list messages understand only the first three, and package messages none. A misspelt name counts as not true, so its words are hidden. The shipped Booking approved email, for example, signs off with a group that reads “Speak soon.”, then otherwise “We look forward to seeing you.” — {if video}Speak soon.{else}We look forward to seeing you.{/if} in code. A condition whose start and end fall in different paragraphs shows as three small amber pills, if a video call, otherwise and end, and works the same. The full rules, with worked examples, are in editing your emails and texts.

Tags in text messages

The text templates on the Text messages tab use the same tags and lean on them heavily. The field is called Message: a plain box with no formatting, where tags still show by name and </> shows the codes. A few tags print a shorter version to save characters: Date and Old date give “Fri 4 Sep”, and List of everyone prints the names on one line. The shipped Booking approved text ends with a condition drawn in the line, if a video call. It’s a video call - join here: Video call linkotherwise.×, so only a video customer gets the link.

MeridianRxMeridian Pharmacy: Your appointment for Yellow Fever Vaccination on Fri 4 Sep at 14:30 is confirmed.

The shipped Booking approved text for an in-person appointment, once the tags have filled in.

  • 1Say who you are — a text has no subject line and no branded header, so Business name at the front is doing real work. Keep it.
  • 2Long values cost money — the count under the editor counts each tag at the length of its code, and both sides of an otherwise, but the tags are filled in before the text is sent and charged. Wording that looks short in the editor can run past the one-message limit for a customer with a long name or service, and be charged as two.
  • 3The short date — in a text, Date prints “Fri 4 Sep”. The time follows the same 12- or 24-hour choice as your emails.

Check your tags with a test email

Press Preview under the editor to see the message with every tag filled in from made-up details, including edits you have not saved. Email me a test sends the same thing to the address you type, with “[Test]” in front of the subject. A misspelt code stands out in brackets. The choice beside them — A normal booking, A video call or A group of three — decides which tags have something to show: Video call link and anything inside an if a video call group show only for the video call, and List of everyone only for the group of three. For texts, Preview and Text me a test sit in the same places on the Text messages tab.

Tests are not logged. Messages › Sent lists what went to real customers and your team: each email’s subject and the opening of each text, with the tags filled in.

Updates leave your wording alone

When Booked ships a new design for its messages, it only replaces templates nobody has edited. A template you have rewritten keeps your words and your tags.