Smartcodes
Smartcodes are the {{group.key}} placeholders email templates, landing pages, and notification bodies are written with. 59 are declared in Helper::getEditorShortCodes(); a few more are derived per event at runtime.
Codes marked HTML only are offered exclusively in contexts that accept markup — a plain-text email body does not get them. The ##code## form is used where a value has to survive being placed in an href.
Groups
| Group | Key | Codes |
|---|---|---|
| Attendee Data | guest | 9 |
| Booking Data | booking | 34 |
| Host Data | host | 3 |
| Other | other | 7 |
| Payment Data | payment | 6 |
Attendee Data
| Smartcode | Description | HTML only |
|---|---|---|
{{guest.first_name}} | Guest First Name | No |
{{guest.last_name}} | Guest Last Name | No |
{{guest.full_name}} | Guest Full Name | No |
{{guest.email}} | Guest Email | No |
{{guest.note}} | Guest Note | No |
{{booking.phone}} | Guest Main Phone Number (if provided) | No |
{{guest.timezone}} | Guest Timezone | No |
{{guest.total_guest}} | Total Guest Count | No |
{{guest.form_data_html}} | Guest Form Submitted Data (HTML) | Yes |
Booking Data
| Smartcode | Description | HTML only |
|---|---|---|
{{booking.event_name}} | Event Name | No |
{{booking.description}} | Event Description | No |
{{booking.booking_title}} | Booking Title | No |
{{booking.additional_guests}} | Additional Guests | No |
{{booking.full_start_end_guest_timezone}} | Full Start Date Time (with guest timezone) | No |
{{booking.full_start_end_host_timezone}} | Full Start Date Time (with host timezone) | No |
{{booking.full_start_and_end_guest_timezone}} | Full Start & End Date Time (with guest timezone) | No |
{{booking.full_start_and_end_host_timezone}} | Full Start & End Date Time (with host timezone) | No |
{{booking.all_bookings_short_times_guest_timezone}} | All Bookings Short Times (with guest timezone) | No |
{{booking.all_bookings_short_times_host_timezone}} | All Bookings Short Times (with host timezone) | No |
{{booking.all_bookings_full_times_guest_timezone}} | All Bookings Full Times (with guest timezone) | No |
{{booking.all_bookings_full_times_host_timezone}} | All Bookings Full Times (with host timezone) | No |
{{booking.start_date_time}} | Event Date Time (UTC) | No |
{{booking.start_date_time_for_attendee}} | Event Date Time (with attendee timezone) | No |
{{booking.start_date_time_for_host}} | Event Date Time (with host timezone) | No |
{{booking.start_date_time_for_attendee.format.Y-m-d}} | Event Date Time (with attendee timezone) (Ex: 2024-05-20) | No |
{{booking.start_date_time_for_host.format.Y-m-d}} | Event Date Time (with host timezone) (Ex: 2024-05-20) | No |
{{booking.location_details_text}} | Event Location Details | No |
{{booking.cancel_reason}} | Event Cancel Reason | No |
{{booking.start_time_human_format}} | Event Start Time (ex: 2 hours from now) | No |
##booking.cancelation_url## | Booking Cancellation URL | No |
##booking.reschedule_url## | Booking Reschedule URL | No |
##booking.admin_booking_url## | Booking Details Admin URL | No |
{{booking.source_url}} | Source URL | No |
{{booking.utm_source}} | UTM Source | No |
{{booking.utm_medium}} | UTM Medium | No |
{{booking.utm_campaign}} | UTM Campaign | No |
{{booking.utm_term}} | UTM Term | No |
{{booking.utm_content}} | UTM Content | No |
{{booking.booking_hash}} | Unique Booking Hash | No |
{{booking.reschedule_reason}} | Event Reschedule Reason | No |
{{booking.previous_meeting_date_time_host_timezone}} | Previous Meeting Date & Time (with host timezone) | No |
{{booking.previous_meeting_date_time_guest_timezone}} | Previous Meeting Date & Time (with guest timezone) | No |
{{booking.location_details_html}} | Event Location Details (HTML) | Yes |
Host Data
| Smartcode | Description | HTML only |
|---|---|---|
{{host.name}} | Host Name | No |
{{host.email}} | Host Email | No |
{{host.timezone}} | Host Timezone | No |
Other
| Smartcode | Description | HTML only |
|---|---|---|
{{event.id}} | Event ID | No |
{{calendar.id}} | Calendar ID | No |
{{event.title}} | Event Title | No |
{{calendar.title}} | Calendar Title | No |
{{calendar.description}} | Calendar Description | No |
{{add_booking_to_calendar}} | Add Booking to Calendar | No |
{{event.calendar_id}} | Calendar ID | Yes |
Payment Data
| Smartcode | Description | HTML only |
|---|---|---|
{{payment.payment_total}} | Payment Total | No |
{{payment.payment_status}} | Payment Status | No |
{{payment.payment_method}} | Payment Method | No |
{{payment.currency}} | Currency | No |
{{payment.payment_date}} | Payment Date | No |
{{payment.receipt_html}} | Payment Receipt (HTML) | Yes |
Per-event codes
These are added to the list when an event is in context, so they depend on that event's configuration:
| Pattern | Notes |
|---|---|
{{booking.custom.<field_key>}} | One per custom booking field on the event; date fields also get a .format.Y-m-d variant. |
{{team_member.<n>.name}} / {{team_member.<n>.email}} | One pair per extra host on a multi-host event, numbered from 1. |
Adding your own
The whole group map passes through fluent_booking/editor_shortcodes_groups, so an add-on can append a group or extra codes:
php
add_filter('fluent_booking/editor_shortcodes_groups', function ($groups, $calendarEvent, $isHtmlSupported) {
$groups['my_addon'] = [
'title' => 'My Add-on',
'key' => 'my_addon',
'shortcodes' => [
'{{my_addon.reference}}' => 'Internal reference',
],
];
return $groups;
}, 10, 3);Parsed from fluent-booking/app/Services/Helper.php:1882.