Editing message templates

Write the subject and body of an automated message, drop in placeholders like guest name and dates, format with Markdown, and add per-channel SMS or WhatsApp text.

Last updated

Editing message templates

When you create or edit a scheduled message under Settings → Scheduled messages, the editor dialog is where you write the actual content guests receive — the subject line, the body, and any channel-specific versions. This article covers writing the content. For when a message fires (triggers, timing, conditions), see Automated & scheduled messages.

Open the editor

  • Click New Message to start a blank template, or Edit on one of your own templates.
  • For a Default template, click Customise first — that makes an editable copy and opens it in the editor. You can't edit a default in place.

The content fields

  • Template Name (①) — an internal label so you can recognise the message in the list. Guests never see it (e.g. "Pre-arrival reminder").
  • Email Subject (②) — the subject line of the email. Supports placeholders, e.g. Your stay at {{PropertyName}} — check-in reminder.
  • Message Body (③) — the main email content. Supports placeholders and Markdown formatting.

Name, subject, and body are all required before you can save.

The message template editor dialog, with the Template Name, Email Subject, and Message Body fields annotated

Placeholders (merge fields)

Placeholders are tokens wrapped in double braces, like {{GuestFirstName}}. Stayant swaps each one for the real value when it sends the message. The editor lists every available placeholder under the Available placeholders section — click to expand it.

The full set of placeholders includes:

Placeholder What it inserts Example
{{GuestName}} Guest's full name Jane Smith
{{GuestFirstName}} Guest's first name Jane
{{GuestEmail}} Guest's email address [email protected]
{{GuestPhone}} Guest's phone number +44 7700 900123
{{PropertyName}} Property name Sea View Cottage
{{TenantName}} Your business / operator name (for sign-offs) Cornish Coastal Lets
{{BookingReference}} Booking reference number STY-0042
{{BookingStatus}} Booking status Confirmed
{{BookingSource}} How the booking was created Direct
{{OtaName}} OTA/source code for a channel booking BDC
{{ExternalBookingUniqueId}} OTA external booking identifier BDC-123456789
{{CheckInDate}} Check-in date 12 Jun 2025
{{CheckOutDate}} Check-out date 19 Jun 2025
{{CheckInDayOfWeek}} Check-in weekday name Thursday
{{CheckOutDayOfWeek}} Check-out weekday name Thursday
{{Nights}} Number of nights 7
{{StayLength}} Human-readable stay length 7 nights
{{Adults}} Number of adults 2
{{Children}} Number of children 1
{{TotalGuests}} Total number of guests 3
{{BookingNotes}} Internal booking notes Late arrival after 10pm
{{AccommodationTotal}} Accommodation cost £700.00
{{ChargesTotal}} Total of the booking's charges (charges you removed are left out) £75.00
{{Discount}} Booking discount, signed. Blank when there is none. -£50.00
{{DiscountDescription}} Why the discount was given. Blank when there is none. Returning guest
{{SalesTax}} Sales tax / VAT on the booking £45.00
{{GrandTotal}} Total cost including charges £775.00
{{AmountPaid}} Amount already paid, less any refunds £232.50
{{BalanceOutstanding}} Remaining balance, as shown in the guest portal (never below zero) £542.50
{{BalanceDueDate}} Balance payment due date 29 May 2025
{{PaymentStatus}} Current payment status PartPaid
{{ExtrasList}} Bullet list of extras on the booking • Cot Hire × 1 — £25.00
{{GuestPortalLink}} Guest portal URL https://stay.example.com/guest/abc123
{{CheckInLink}} Guest check-in form URL …/guest/abc123/check-in
{{PaymentLink}} Guest payment URL …/guest/abc123/pay
{{GuidebookLink}} Guest guidebook URL …/guest/abc123/guidebook
{{MessagesLink}} Guest messages page — where guests reply to you …/guest/abc123/messages
{{PropertyPin}} Property access PIN / door code 4827
{{PropertyAddress}} Property's full address, on one line. Blank until you add one on the property's General tab. 12 Lake Road, Keswick, Cumbria, CA12 4AB, United Kingdom
{{PaymentAmount}} Amount of the specific payment £232.50
{{ChargeDate}} Date an auto-charge will run 29 May 2025

Type a placeholder exactly as shown, braces included. The Available placeholders panel in the editor is the authoritative, always-current list — use it rather than memorising tokens.

The same placeholders work in your guidebook content — see Guidebooks. The two exceptions are {{PaymentAmount}} and {{ChargeDate}}, which are only filled in on the payment messages that carry them.

Conditional blocks

You can show part of a message only when a placeholder has a value, by wrapping it in {{#if Token}}…{{/if}}. Empty values — and a literal "0" — count as "no value". For example:

{{#if Children}}, {{Children}} children{{/if}}

This hides the comma and number entirely when a booking has zero children, so you don't end up with "2 adults, 0 children".

Formatting with Markdown

The body supports basic Markdown:

  • **bold** and *italic*
  • [link text](https://…) for links
  • - bullet lists
  • ### Heading for headings

Per-channel content (SMS / WhatsApp)

The Preferred channel dropdown picks how the message is delivered: Email, SMS (Twilio), or WhatsApp (Twilio). Extra fields appear depending on the choice:

  • SMS body — shown when the channel is SMS. A short, plain-text version sent over SMS, supporting the same placeholders. Keep it under about 160 characters to stay within a single SMS segment. An SMS body is required when SMS is the preferred channel.
  • WhatsApp body — shown when the channel is WhatsApp. Plain text with basic Markdown and the same placeholders; longer messages are allowed than SMS, but keep paragraphs short for mobile. Outbound transactional WhatsApp messages must use a Twilio-approved template/profile. A WhatsApp body is required when WhatsApp is the preferred channel.

SMS and WhatsApp messages fall back to email automatically when the guest has no phone number on file or Twilio isn't configured — so always write a usable email subject and body even on an SMS/WhatsApp template. To set up SMS or WhatsApp delivery, see Sending SMS via Twilio.

Save

Click Save to store the template. If a required field is missing — name, subject, body, or the channel-specific body — you'll see an inline error and the dialog stays open so you can fix it.

Tips

  • Use {{GuestFirstName}} for a friendlier greeting than the full {{GuestName}}.
  • Wrap optional detail in {{#if …}}…{{/if}} so messages read cleanly when a value is missing.
  • Keep SMS bodies tight — every extra segment over ~160 characters costs another SMS at your Twilio account.

Was this article helpful?

Chat with Stayant