Message Templates
Message templates let you save time on repetitive communications and ensure consistent, professional messaging across your team. Combine templates with lifecycle automations to send the right message at the right moment -- automatically.
Overview
Every property management team sends the same kinds of messages over and over: check-in instructions, Wi-Fi details, checkout reminders, booking confirmations. Instead of typing these out each time (or copying from a notes document), you can create templates with dynamic variables that auto-fill with real booking, guest, and property data.
Templates fall into two categories:
- Manual templates -- Reusable messages you insert into a conversation when composing a reply.
- Lifecycle templates -- Messages that send automatically when a specific booking event occurs.
Both types support dynamic variables and multiple languages.
Creating a Template
To create a new template:
- Go to Settings > Messaging > Templates.
- Click New Template.
- Enter a name for internal reference (e.g., "Check-in Instructions" or "Wi-Fi Details").
- Select the category -- this helps organize templates as your library grows.
- Write the message body, using variables where you want dynamic data inserted.
- Click Save.
[Screenshot: Template editor showing name, category, and message body with variable tokens highlighted]
Template Variables
Variables are placeholders wrapped in curly braces that the system replaces with real data when the message is sent. The following variables are available:
| Variable | Description | Example Value |
|---|---|---|
{guest_name} | Guest's full name | Maria Rodriguez |
{guest_first_name} | Guest's first name | Maria |
{property_name} | Property display name | Villa Mariposa |
{check_in_date} | Arrival date | March 15, 2026 |
{check_out_date} | Departure date | March 22, 2026 |
{check_in_time} | Property check-in time | 3:00 PM |
{check_out_time} | Property checkout time | 11:00 AM |
{num_nights} | Length of stay in nights | 7 |
{num_guests} | Number of guests on the booking | 4 |
{booking_code} | Booking confirmation code | BK-20260315-001 |
{property_address} | Full property address | Playa Hermosa, Guanacaste |
{company_name} | Your company name | 2CRVR |
{company_phone} | Your company phone number | +506 2222-3333 |
{portal_link} | Guest portal access link | https://... |
Variables that cannot be resolved (for example, {check_in_date} on a conversation with no linked booking) are left as-is so you can spot and fix them before sending.
Example Template
A check-in instructions template might look like this:
Hi {guest_first_name}, welcome to Costa Rica! Here are your check-in details for {property_name}:
Arrival date: {check_in_date} Check-in time: {check_in_time} Address:
Your guest portal has directions, Wi-Fi info, and house rules:
If you need anything before arrival, just reply to this message. We are here to help!
When sent to a guest named Maria staying at Villa Mariposa, every variable is replaced with the real values.
Using Templates in Conversations
To insert a template while replying to a conversation:
- Open the conversation in the inbox.
- In the reply composer, click the template icon (or use the keyboard shortcut).
- Browse or search your template library.
- Select a template -- the message body is inserted into the composer with variables already resolved using the conversation's linked booking data.
- Review the filled-in message, make any adjustments, and send.
Templates are inserted as editable text, so you can personalize the message further before sending.
Lifecycle Templates
Lifecycle templates are the automation layer. Instead of remembering to send a check-in reminder two days before every arrival, you configure it once and the system handles it from there.
Supported Lifecycle Events
| Event | When It Fires | Typical Use |
|---|---|---|
| Booking Confirmed | Immediately after a booking is confirmed | Welcome message, portal link, payment details |
| Pre-Arrival | A configurable number of days before check-in (default: 2 days) | Check-in instructions, directions, local tips |
| Check-In Day | On the morning of the check-in date | Day-of welcome, concierge availability reminder |
| Post-Checkout | After the checkout date passes | Thank-you message, review request |
| Booking Cancelled | When a booking is cancelled | Cancellation acknowledgment, refund info |
Configuring a Lifecycle Template
- Go to Settings > Messaging > Lifecycle Templates.
- Click Add Lifecycle Template.
- Select the trigger event from the list above.
- Choose the channel to send through (WhatsApp, SMS, or email).
- Select or create the template to use.
- Set the timing offset if applicable (e.g., send the pre-arrival message 3 days before check-in instead of the default 2).
- Optionally restrict the template to specific properties -- useful if different villas have different check-in instructions.
- Enable the template and save.
[Screenshot: Lifecycle template configuration showing trigger event, channel, template selection, and timing]
Lifecycle templates respect the guest's communication preferences. If a guest has not opted in to WhatsApp, the system will fall back to email.
Testing a Lifecycle Template
Before enabling a lifecycle template for all bookings, test it:
- Open the lifecycle template you want to test.
- Click Send Test.
- Select a booking to use as the data source.
- Choose a recipient (yourself or a team member).
- The system sends the fully resolved message to the test recipient.
Review the output for missing variables, awkward phrasing, or formatting issues before going live.
Multi-Language Templates
If you serve guests who speak different languages, you can create translated versions of each template:
- Open an existing template.
- Click Add Translation and select the language (Spanish, French, Portuguese, or others configured for your account).
- Write the translated message body using the same variables -- variable names stay in English regardless of the message language.
- Save the translation.
When the system sends a lifecycle message or when you insert a template manually, it selects the version matching the guest's preferred language. If no translation exists for that language, the default (English) version is used.
Key Concepts
- Manual template -- A reusable message you insert into conversations on demand. Variables resolve against the linked booking.
- Lifecycle template -- An automated message triggered by a booking event. Configured once, sent for every qualifying booking.
- Variable -- A
{placeholder}in the message body that the system replaces with real data at send time. - Timing offset -- For pre-arrival and similar events, the number of days before (or after) the event date to send the message.
- Fallback channel -- If the preferred channel is unavailable (e.g., guest not on WhatsApp), the system falls back to the next available channel.
Common Questions
What happens if a variable cannot be resolved? The variable placeholder remains in the text as-is (e.g., {check_in_date}). For manual templates, you will see this in the composer and can edit it before sending. For lifecycle templates, unresolved variables are flagged in the send log.
Can I have multiple lifecycle templates for the same event? Yes. For example, you might have a WhatsApp pre-arrival message and an email pre-arrival message. You can also have different templates for different properties.
Will lifecycle messages send for bookings imported from OTAs? Yes. Any booking in the system -- whether created manually, synced from Airbnb, or imported from Booking.com -- can trigger lifecycle messages, as long as the guest has valid contact information.
Can I disable a lifecycle template temporarily? Yes. Each lifecycle template has an enabled/disabled toggle. Disabled templates remain configured but do not fire.
Do templates work with the live chat channel? Manual templates can be inserted into any conversation, including live chat. Lifecycle templates typically use WhatsApp, SMS, or email since they target guests with confirmed bookings.
Related
- Messaging Guide -- The unified inbox where templates are used in conversations.
- Channel Integration -- Connecting the channels that templates send through.
- Guest Portal -- The portal link included in many templates via
{portal_link}. - Booking Lifecycle -- The booking events that trigger lifecycle templates.