Personalizing your messages with variables in Waitwhile allows you to create dynamic, tailored communication that enhances the customer experience. By using variables, you can insert relevant customer data—such as names, appointment times, or waitlist positions—into messages automatically, making each message feel personal and relevant without manual effort.
In this article, we’ll explain our more advanced placeholders and how to configure them within Waitwhile.
Advanced variable options:
Variable options in Waitwhile are organized into several categories. Choose a category below to jump directly to the relevant variables:
Customer and visit data
Placeholder variables for Input Field values that have been enable from your default Customer details.
Data Variable | Description & Rules | Example Value |
{{ name }} | Name Customer's first name or full name. It depends on the "Separate first and last name" setting in Settings > Waitlist > Customer info > Name | Jane |
{{ firstName }} | First Name | Jane |
{{ lastName }} | Last Name | Doe |
{{ id }} | Customer ID | WW123 |
{{ phone }} | Phone | (555) 555-5555 |
{{ email }} | ||
{{ partySize }} | Party Size | 5 |
{{ notes }} | Notes | Also interested in a color consultation. |
Custom data fields
To use variables for custom data fields, you need to know the custom field ID (dataFieldId
) which is used as part of the variable.
The data field Id can be found by clicking on the custom field and opening the summary details of the created field.
Custom data field variables:
Data Variable | Description & Rules | Example Value |
{{ fields.dataFieldId.id }}
Example: {fields.DFxlYIdtBNJoqQ2Kcxr1.id} | Custom Field ID (dataFieldId) |
|
{{ fields.dataFieldId.name }} | Custom Field name | Age |
{{ fields.dataFieldId.displayName }} | Custom Field display name | Your age |
{{ fields.dataFieldId.description }} | Custom Field description | It helps us with preparing the right choice of hairstyles for you |
{{ fields.dataFieldId.value }} | Custom Field value or values (for multiple selected options it will be comma-separated) | 20 (for "Age") |
{{ dataField }} | Comma-separated display names or names (if display name is unavailable) and values of all custom fields assigned to the visit | Age: 20, Hair color: brown, Preferred styles: undercut, low taper, high razor |
Resources
To use variables for an individual Resource, you need to know the Resource ID (resourceID
) which is used as part of the variable. The resourceId
can be found within the summary view for each Resource.
Resource variables:
Data Variable | Description & Rules | Example Value |
{{ resource }} | Comma-separated display names or names (if display name is unavailable) of all resources assigned to the visit. If a category is assigned the name is "first available" | Adam, Monica |
{{ resources.resourceId.id }} | Resource ID |
|
{{ resources.resourceId.name }} | Resource name | Monica |
{{ resources.resourceId.displayName }} | Resource display name | Monica Roberts |
{{ resources.resourceId.firstName }} | First word of display name or name (if display name is unavailable) | Monica |
{{ resources.resourceId.lastName }} | Second word of display name or name (if display name is unavailable) | Roberts |
{{ resources.resourceId.description }} | Resource description | Our best barber |
{{ resources.resourceId.phone }} | Resource phone | +15417543010 |
{{ resources.resourceId.email }} | Resource email. | |
{{ resources.resourceId.url }} | Resource URL (eg. zoom meeting link, link to a profile, etc.) Note that these links can only be added to Email templates. External, non-Waitwhile links can be added to the SMS templates only on the Enterprise plan. | |
{{ resources.resourceId.location }} | Resource location, where the resource is located | Counter A |
Services
To use variables for an individual Service, you need to know the Service ID (serviceID
) which is used as part of the variable. The serviceId
can be found within the summary view for each service
Service variables:
Data Variable | Description & Rules | Example Value |
{{ service }} | Comma-separated display names or names (if display name is unavailable) of all services assigned to the visit. If a category is assigned the name is "first available" | Beard styling, Head shave |
{{ services.serviceId.id }} | Service ID |
|
{{ services.serviceId.name }} | Service name | Beard |
{{ services.serviceId.displayName }} | Service display name | Beard styling |
{{ services.serviceId.description }} | Service description | This option is for everyone looking to achieve an even beard and sharp look |
{{ services.serviceId.currency }} | Service currency | USD |
{{ services.serviceId.price }} | Service price | $20.00 |
Other Data Variables
Data Variable | Description & Rules | Example Value |
{{ fullName }} | Customer's first name + Last name or name. It depends on the "Separate first and last name" setting in Settings > Waitlist > Customer info > Name | Jane Doe |
{{ business }} | Location business name (Settings > Business info > Business name) | Bobby's Barber Shop |
{{ waitlist }} | Location name (Settings > Waitlist > Location name) | Barber Shop |
{{ currency }} | Location currency (Settings > Localization > Currency) | USD |
{{ locale }} | Visit or location locale Settings > Localization > Language & Region > Select language/Select region | en-US |
{{ timezone }} | Location timezone (Settings > Localization > Timezone) | America/Los_Angeles |
{{ link }} | Unique Waitwhile link to the visit | app.waitwhile.com/l/barbershop/eiyM19 |
{{ quote }} | Quoted wait duration (in seconds) | 900 |
{{ date }} | Booking date or visit creation date in the location timezone ("MMM Do" format) | Mar 13th |
{{ calendar }} | Booking date or visit creation date in the location timezone (Calendar time format) | Last Friday at 2:00 PM |
{{ dateTime }} | Booking date or visit creation date in the location timezone ("L LT" format) | 03/13/2020 2:00 PM |
{{ time }} | Booking date or visit creation date in the location timezone ("LT" format) | 2:00 PM |
{{ hour }} | Booking date or visit creation date in the location timezone ("LT" format) | 2:00 PM |
{{ eta }} | Estimated wait duration (humanized) | 15 minutes |
{{ placeInLine }} | Position in the line | 2 |
{{ order }} | Same as placeInLine | 2 |
{{ location }} | Entire location object including, but not limited to, fields listed in the API docs. | 102 Street Avenue (location.address.street) |
{{ locationsLink }} | All locations public waitlist URL. The recipient's phone or email is pre-filled (depending on the message channel) | app.waitwhile.com/lists/barbercenter?email=john%40doe.com |
{{ locationsCheckInLink }} | All locations public check-in URL. The recipient's phone or email is pre-filled (depending on the message channel) | app.waitwhile.com/lists/barbercenter/join?email=john%40doe.com |
{{ checkInLink }} | Public check-in URL. The recipient's phone or email is pre-filled (depending on the message channel) | app.waitwhile.com/checkin/barbershop?email=john%40doe.com |
{{ schedulingLink }} | Public scheduling URL. The recipient's phone or email is pre-filled (depending on the message channel) | app.waitwhile.com/book/barbershop?email=john%40doe.com |
{{ emailUrl }} | The recipient's email (URI-encoded) | john%40doe.com |
{{ phoneUrl }} | The recipient's phone (URI-encoded) | %2B12025550117 |
{{ account.id }} | Account ID |
|
Note: Placeholders cannot be used within localization fields or HTML areas for Public Pages (with a couple exceptions below).
Using Placeholders in HTML Areas for Public Pages
Only two placeholders are currently supported within HTML areas which can be used on Public Pages, such as your Welcome Page.
Data Variable | Description & Rules | Example Value |
{business} | Location's business name (Settings > Business info > Business name) | Outdoor Equipment Store |
{location} | Location/waitlist name (Settings > Waitlist > Location Name) | Shoe Department |
Setting fallback text
In case certain fields (e.g name) are empty, configure fallback text to avoid blank spaces. Variables that are eligible for fallback text are identified in yellow.
To set fallback text, click on the yellow variable text and type in the fallback text you want to use
Example:
"Hi {{ name | default: "Valued Customer" }}! Thank you for registering for the waitlist at {business}. Your current estimated wait time is {eta}."
Using variables in Waitwhile helps you create personalized and professional communication at scale. Whether you’re confirming an appointment or sending a waitlist status update, dynamic variables save you time and make every message feel tailored to each customer.
Have additional questions or need assistance? Reach out to us via chat or at support@waitwhile.com.