Help Center

All Shortcodes

These are all the variables that you can use to personalize your notifications and the booking form itself. Some codes are common for all email types, and some of them will appear only if the corresponding extra Bookly item (Add-on) is installed and activated.

Note that not all codes available for notifications are available in the Appearance section.


{appointments_count} – total quantity of appointments in a cart.

{appointment_date} – for bookings with multiple appointments, the code will be replaced with the dates for each of the appointments made as part of the booking, divided by a comma (via Cart, or Chain or Multiply Appointments).

{appointment_notes} – displays information entered in the ‘Notes’ field of the booking form.

{appointment_schedule} – recurring appointments schedule. Available with installed Recurring Appointments (Add-on).

{appointment_schedule_c} – recurring appointments schedule with cancellation link. Available with installed Recurring Appointments (Add-on).

{appointment_time} – same as with appointment dates, multiple appointment times will be shown for bundle bookings.

{appointment_end_date} – for services with the duration of 1 day or longer.

{appointment_end_time} – for services with the duration of 1 day or longer.

{appointment_waiting_list} – waiting list of appointment. Available with installed Waiting List (Add-on).

{approve_appointment_url} – an email (not a text message) can contain a link for staff to approve pending appointments online.

{approve_appointment_schedule_url} – URL for approving the whole schedule (to use inside <a> tag). Available with installed Recurring Appointments (Add-on).

{booking_number} – individual no. of a booking, useful for the client to know should they need to get in touch with you about it. Bundle bookings give one booking number for all appointments.

{cancel_appointment} – a link that lets your clients and staff to cancel an appointment online.

{cancel_appointment_confirm_url} – URL of cancel appointment link with confirmation (to use inside <a> tag).

{cancel_appointment_url} – URL of cancel appointment link (to use inside <a> tag).

{cancellation_reason} – reason you mentioned while deleting appointment.

{cancellation_time_limit} – date and time until which the appointment can be cancelled.

{cart_info} or {cart_info_c} – available for combined notifications with installed Cart (Add-on) and other add-ons where combined notifications can be used. The simpler {cart_info} just includes the booking summary table into the email, while the {cart_info_c} does the same also adding an appointment cancellation link next to each appointment.

{category_name} – name of the service category.

{coupon} – coupon code that has been used during the booking. Available with the Coupons (Add-on).

{custom_fields} & {custom_fields_2c} – info that the client answered custom questions with. Available with installed Custom Fields (Add-on).

{extras} – the titles of extras purchased with the appointment(s). Available with installed Service Extras (Add-on).

{extras_total_price} – available with installed Service Extras (Add-on).

{google_calendar_url} – this adds the appointment to the client's Google Calendar (to use inside <a> tag).

{internal_note} – internal note from appointment details.

{location_info} – available with installed Locations (Add-on).

{location_name} – available with installed Locations (Add-on).

{number_of_persons} – available with installed Group Booking (Add-on).

{online_meeting_join_url} – join URL for meeting attendee.

{online_meeting_password} – auto-generated meeting password.

{online_meeting_start_url} – start URL is for the meeting host to launch a meeting.

{online_meeting_url} – online meeting URL.

{payment_type} – type of the payment.

{package_life_time} – number of days when the customer can use a package. Available with installed Packages (Add-on).

{package_name} – service package name. Available with installed Packages (Add-on).

{package_size} – number of services in package. Available with installed Packages (Add-on).

{package_price} – service package price. Available with installed Packages (Add-on).

{recurring_count} – number of recurring appointments. Available with installed Recurring Appointments (Add-on).

{reject_appointment_url} – URL of reject appointment link (to use inside <a> tag).

{service_duration} – duration of service.

{service_info} – information about service.

{service_image} – image of service.

{service_name} – title of the service.

{service_price} – price of the service.

{site_address} – used in Notification to customer about their WordPress user login details.

{tomorrow_date} – date of next day.

{total_price} – total price of the booking (sum of all cart items after applying coupon).

{files_count} – number of uploaded files. Available with installed Files (Add-on).


{client_name} – full name will be used here.

{client_first_name} – first name of client.

{client_last_name} – last name of client.

{client_address} – address of client.

{client_birthday} – date of birth of client.

{client_email} – email address of client.

{client_note} – client note from Customer profile > Notes.

{client_phone} – phone number of client.

{client_timezone} – time zone of client.

{login_form} – can be added to the booking form and booking list online to let the user log in with their WordPress credentials and have the personal info automatically filled in with their info.

{new_password} – to be used in 'New customer's WordPress user login details' notification.

{new_username} – to be used in 'New customer's WordPress user login details' notification.


{company_name} – name of company.

{company_logo} – logo of company.

{company_address} – address of company.

{company_phone} – main phone number that you’ve included in General > Company info.

{company_website} – website address of company.


{staff_email} – email address of staff member.

{staff_info} – the description-like field that you might have used to give additional info on each team member in Staff Members.

{staff_name} – name of staff member.

{staff_phone} – phone of staff member.

{staff_photo} – photo of staff member.

{staff_rating_url} – URL of the page for staff rating.

{staff_timezone} – time zone of staff member.

{agenda_date} – date of agenda.

{next_day_agenda} – staff agenda for the next day.

{next_day_agenda_extended} – staff agenda for next day with information entered in custom fields and internal notes included. Available with installed Custom Fields (Add-on).


{amount_due} – Available with installed Deposit Payments (Add-on).

{amount_paid} – Available with installed Deposit Payments (Add-on).

{amount_to_pay} – Available with installed Deposit Payments (Add-on).

{deposit_value} – Available with installed Deposit Payments (Add-on).

{invoice_date} – Available with installed Invoices (Add-on).

{invoice_due_date} – Available with installed Invoices (Add-on).

{invoice_due_days} – Available with installed Invoices (Add-on).

{invoice_link} – Available with installed Invoices (Add-on).

{invoice_number} – Available with installed Invoices (Add-on).

{payment_status} – status of the payment.

{payment_type} – type of the payment.

{service_tax} – service tax amount. Available with installed Taxes (Add-on).

{service_tax_rate} – Available with installed Taxes (Add-on).

{total_price_no_tax} – total price without tax. Available with installed Taxes (Add-on).

{total_tax} – total tax included in the appointment (summary for all items). Available with installed Taxes (Add-on).


The if (e.g., {#if service_info}YOUR CONTENT{/if}) block can be used for conditional cases. If it is included in your content template, Bookly will check the condition and generate the content accordingly. If the condition is met, a particular text will be inserted and displayed in the email notification or in your booking form.


If you use add-ons that allow your clients to book multiple appointments in one session, you can iterate over those appointments to display separate information for each item. To do so use the each block:
{#each appointments as appointment}

Have more questions? Submit a request


Article is closed for comments.
Powered by Zendesk