Variables let you drop live guest and reservation data into the messages your automations send. Write a single template, and each guest gets a personalized version when the automation runs.
You can use variables in any SMS, email subject, or email body in the workflow builder. The variable picker — accessible from the message field — inserts the right syntax for you.
A variable is a placeholder wrapped in double curly braces. When the automation runs, Hello Hotel replaces the placeholder with the actual value for that guest and reservation.
For example, the template:
Hi {{guest.firstName}}, your room {{reservation.spaceNumber}} is ready.
Becomes, at send time:
Hi Alex, your room 14 is ready.
If a variable has no value (for example, a guest with no first name on file), the placeholder renders as blank by default. Use the fallback syntax to provide a default value instead.
Add a pipe (|) followed by your fallback value to handle missing data:
{{guest.firstName|there}}This renders the first name if available, or "there" if not. You can use any text as a fallback:
{{guest.firstName|friend}} → "Alex" or "friend"
{{reservation.spaceNumber|your room}} → "14" or "your room"
The variable picker in the workflow builder is the source of truth — open any message field and click the picker to see the current list. The tables below mirror the picker, with the exact syntax that gets inserted.
Name | Inserted as | What it returns |
|---|---|---|
First Name |
| The guest's first name |
Last Name |
| The guest's last name |
Full Name |
| The guest's first and last name combined |
| The guest's email address | |
Phone |
| The guest's phone number |
Name | Inserted as | What it returns |
|---|---|---|
Check-in Date |
| The check-in date |
Check-out Date |
| The check-out date |
Check-in Time |
| The check-in time |
Check-out Time |
| The check-out time |
Check-in Date & Time |
| The check-in date and time combined |
Check-out Date & Time |
| The check-out date and time combined |
Space Number |
| The room or space number |
Space Category |
| The room category (e.g., "Deluxe Suite") |
Space Description |
| A description of the specific space |
Space Category Description |
| A description of the category (from your PMS) |
Space Directions |
| Directions to the space |
Status |
| The current reservation status (e.g., "Confirmed") |
Door Code |
| The guest's door access code (only available if your property has the RemoteLock integration connected) |
Mews uses the word "space" instead of "room." Anywhere you see "space" in a variable name, it refers to the room the guest is staying in.
Name | Inserted as | What it returns |
|---|---|---|
Guest Check-in URL |
| A one-tap magic link to the Mews guest portal online check-in flow. Falls back to the Navigator URL if the guest portal isn't activated for your property. See Mews Magic Links. |
Digital Key URL |
| A one-tap magic link to the guest's digital room key. Only available if your property has Digital Key Links enabled in Settings → Integrations → Mews. See Mews Magic Links. |
Payment Link |
| A link the guest can use to make a payment |
Pre-Authorization Link |
| A link the guest can use to authorize a hold on their card |
Booking Channel |
| The channel the guest booked through (e.g., Direct, Airbnb, VRBO) |
Use the picker. The variable picker in the workflow builder inserts the correct syntax with one click. No typing or memorizing names required.
Always use a fallback for guest names. {{guest.firstName|there}} is friendlier than a missing name. The fallback is invisible to the guest if the data is there.
Combine variables for richer messages. Hi {{guest.firstName|there}}, your room is {{reservation.spaceNumber}} and your check-out is at {{reservation.checkOutDateTime}}. reads naturally even when one or two fields are missing.
Send Test before activating. The Send Test button on any action runs the message with sample data so you can confirm every variable renders correctly.