Snippets & Templates

Snippets are reusable message templates in HelloShift that allow you to save frequently-used messages and personalize them with variables. Use snippets to ensure consistent messaging, speed up response times, and automate guest communications.

Overview

Feature

Description

Variables

Dynamic placeholders replaced with guest data

Multiple Channels

SMS, Email, WhatsApp, FAQ, Agreement

Conditional Content

Liquid syntax for dynamic logic

System Snippets

Pre-built templates for common scenarios

Attachments

Images and files in snippets


Accessing Snippets

  1. Go to Guest > Snippets

  2. View all snippets organized by type

  3. Click New Snippet to create a new template


Snippet Types

HelloShift supports five types of snippets:

Type

Channel

Use Case

Snippet (Text)

SMS

Short text messages

Email

Email

Email templates with HTML formatting

WhatsApp

WhatsApp

WhatsApp Business messages

FAQ

AI Assistant

Auto-responses to guest questions

Agreement

Check-in

Terms and conditions for guest signature

Text Snippets (SMS)

  • Plain text format

  • 160 character limit per SMS segment

  • HelloShift replaces variables before sending

  • Best for short, actionable messages

Email Snippets

  • Rich HTML formatting

  • Subject line support

  • Longer content allowed

  • Can include images and links

WhatsApp Snippets

  • WhatsApp Business API format

  • Support for templates (if using approved templates)

  • Can include media attachments

FAQ Snippets

Agreement Snippets

  • HTML format for terms and conditions

  • Displayed during check-in process

  • Guest signs digitally

  • Linked via {{agreementUrl|append: 'Name'}}


Creating a Snippet

Step 1: Click New Snippet

  1. Go to Guest > Snippets

  2. Click New Snippet

Step 2: Configure Snippet

Field

Description

Name

Identifier for the snippet (must be unique per type)

Type

Select channel (Snippet, Email, WhatsApp, FAQ, Agreement)

Subject

Email subject line (Email type only)

Body

Message content with variables

Status

Active or Inactive

Step 3: Add Variables

Insert variables using double curly braces:

Hi {{firstName}}, welcome to our hotel!
Your room {{roomNumber}} is ready.

Step 4: Save

Click Save to create the snippet.


Variable Reference

Guest Information

Variable

Replaced With

Example

{{firstName}}

Guest's first name

John

{{fullName}}

Guest's full name

John Smith

{{phoneNumber}}

Guest's phone number

+1 555-123-4567

{{guestType}}

Guest type/loyalty tier

VIP, Gold, Regular

{{stayedBefore}}

True if returning guest

true/false

{{description}}

Guest notes/preferences

Prefers high floor

Stay Information

Variable

Replaced With

Example

{{roomNumber}}

Room number(s)

302, 303

{{arrivalDate}}

Arrival date

2025-12-27

{{departureDate}}

Departure date

2025-12-30

{{confirmationNumber}}

Reservation confirmation

ABC123

{{bookingSource}}

Booking channel

Expedia, Direct

{{stayStatus}}

Reservation status

CHECKED_IN

Access & Amenities

Variable

Replaced With

Example

{{keyCode}}

Door access code

1234

{{wifi}}

WiFi password

HotelGuest123

URLs & Links

Variable

Replaced With

Use Case

{{checkinUrl}}

Contactless check-in link

Pre-arrival check-in

{{guidebookUrl}}

Digital guidebook link

Property information

{{shopUrl}}

Guest shop link

Upsells and purchases

{{tipUrl}}

Tipping link

Staff tipping

{{profileUrl}}

Guest profile link

Update contact info

{{agreementUrl|append: 'Name'}}

Agreement link

Terms & conditions

Example Using Multiple Tags

Hi {{firstName}}!

Welcome to our hotel. Your reservation details:

Room: {{roomNumber}}
Check-in: {{arrivalDate}}
Check-out: {{departureDate}}
Confirmation: {{confirmationNumber}}

Access your digital key: {{checkinUrl}}
WiFi Password: {{wifi}}

Questions? Reply to this message!

System Snippets

HelloShift creates these default snippets when your site is set up:

System Snippet

Name

Purpose

Pre-Stay

Pre-Stay

Welcome before arrival

Welcome

Welcome

Greeting on check-in day

In-Stay

In-Stay

Mid-stay satisfaction check

Post-Stay

Post-Stay

Thank you after checkout

Post-Booking

Post-Booking

Confirmation after booking

Post-Checkin

Post-Checkin

Welcome after check-in

Post-Checkout

Post-Checkout

Thank you after checkout

Away

Away

After-hours auto-reply

Pre-Checkin

Pre-Checkin

Check-in instructions

Send-Key

Send-Key

Room key/code delivery

Unknown-Guest

Unknown-Guest

Response to unknown sender

Get-Info

Get-Info

Request for contact info

Re-engage

Re-engage

WhatsApp 24-hour window reopener

Default System Snippet Examples

Pre-Stay:

Hi {{firstName}}, welcome to [Hotel Name]! Need anything for your
upcoming stay? Reply to this text and we'll get right on it.
Reply STOP to opt out.

Welcome:

Hi {{firstName}}, welcome to [Hotel Name]! Need anything? Reply to
this text and we'll get right on it. Reply STOP to opt out.

In-Stay:

Welcome {{firstName}}! On a scale of 1-5 stars, how is your stay so far?

Post-Stay:

Thanks {{firstName}} for staying with us. If you're happy with our
service, please share your feedback [Review Link]

Send-Key:

Hi {{firstName}}, your room key is ready! Room: {{roomNumber}},
Code: {{keyCode}}

Conditional Content with Liquid

Use Liquid syntax for dynamic, conditional content in snippets.

Basic If/Else

{% if guestType == 'VIP' %}
As our VIP guest, enjoy complimentary late checkout!
{% else %}
Checkout time is 11 AM.
{% endif %}

Returning Guest Check

Hi {{firstName}}, welcome {% if stayedBefore %}back{% endif %} to our hotel!

Guest Type Personalization

{% if guestType contains 'Gold' %}
Thank you for being a Gold member! Your upgrade is confirmed.
{% elsif guestType contains 'Silver' %}
As a Silver member, enjoy 10% off at our restaurant.
{% else %}
Join our loyalty program for exclusive benefits!
{% endif %}

Conditional VIP Perks

Hi {{firstName}}, welcome to our hotel!
{% if guestType == 'VIP' %}
Your first drink at the bar is on us!
{% endif %}

Room-Based Logic

{% if roomNumber contains '5' %}
You're on our top floor! Enjoy the views.
{% endif %}

Available Liquid Variables

In addition to the variables above, these Liquid variables are available for conditional logic:

Variable

Type

Description

guest_stay.arrival_today

Boolean

Is arrival date today?

guest_stay.departure_today

Boolean

Is departure date today?

guest_stay.instay

Boolean

Is guest currently in-house?

guest_stay.stay_day_number

Integer

Day of stay (0 = arrival)

guest_stay.payment_received

Boolean

Has payment been collected?

guest_stay.agreement_signed

Boolean

Has guest signed terms?

guest_stay.id_verified

Boolean

Has ID been verified?

guest_stay.room_ready

Boolean

Is room ready for guest?

guest_stay.gap_night

Boolean

Is there a gap before arrival?

guest_stay.nights

Integer

Number of nights in stay

guest_stay.guest_type

String

Guest type/tier

Day-of-Stay Personalization

{% if guest_stay.stay_day_number == 0 %}
Welcome to your first day! Here's what to expect...
{% elsif guest_stay.stay_day_number == 1 %}
Good morning! How was your first night?
{% else %}
We hope you're enjoying your stay!
{% endif %}

Using Snippets

In Direct Messages

  1. Open message composer

  2. Click Use Snippet (or snippet icon)

  3. Search or browse available snippets

  4. Click to insert into message

  5. Variables are replaced with guest data

  6. Edit if needed, then send

In Automations

  1. Create an automation (Guest > Automations)

  2. Select the action "Send Message"

  3. Choose a snippet from the dropdown

  4. The snippet is sent when automation triggers

In Broadcast Messages

  1. Select guests in directory

  2. Click Broadcast

  3. Click Use Template or Use Snippet

  4. Variables are personalized per recipient


SMS Segment Calculation

SMS messages are billed by segment (160 characters for standard, 70 for Unicode):

Character Set

Segment Size

Example

GSM-7 (standard)

160 chars

English letters, numbers, basic punctuation

Unicode

70 chars

Emojis, non-Latin characters

Tips to reduce segments:

  • Avoid emojis when possible

  • Use standard English characters

  • Keep messages concise

  • Check segment count before saving

HelloShift shows segment count when editing snippets.

Non-GSM7 Characters to Avoid

These common characters trigger Unicode mode (70 char segments):

Character

Alternative

Smart quotes " " ' '

Use straight quotes " '

Em dash —

Use hyphen -

Ellipsis …

Use three dots ...

Emojis 😀

Spell out or omit


Snippet with Attachments

Add images or files to snippets for richer messages.

Adding an Attachment

  1. Edit the snippet

  2. Click Add Attachment

  3. Upload image or file

  4. Save snippet

Attachment Considerations

Channel

Image Support

File Support

Notes

SMS (MMS)

Yes

Limited

Increases cost (3 segments)

Email

Yes

Yes

No size restrictions

WhatsApp

Yes

Yes

Must follow template rules


Best Practices

Personalization

  • Always use {{firstName}} for a personal touch

  • Include stay-specific details (room, dates)

  • Acknowledge guest type when applicable

Message Length

Channel

Recommended Length

SMS

Under 160 characters (1 segment)

Email

As needed, but concise

WhatsApp

Under 1024 characters

Testing

  1. Create a test guest with your phone number

  2. Use "Test Send" feature if available

  3. Verify all variables render correctly

  4. Check formatting on mobile device

Organization

  • Use consistent naming conventions

  • Group related snippets with prefixes (e.g., "Arrival-", "Checkout-")

  • Keep system snippets active unless replacing them

  • Document custom snippets for team reference

Compliance

  • Include opt-out instructions in marketing messages (e.g., "Reply STOP to opt out")

  • Don't send automated messages at inappropriate hours

  • Respect guest communication preferences

  • Follow local regulations (TCPA, GDPR, etc.)


Editing Snippets

To Edit a Snippet

  1. Go to Guest > Snippets

  2. Find the snippet in the list

  3. Click Edit

  4. Modify name, type, or body

  5. Click Save

To Deactivate a Snippet

  1. Edit the snippet

  2. Change Status to Inactive

  3. Save

Inactive snippets won't appear in snippet picker but can be reactivated later.

To Delete a Snippet

  1. Find the snippet

  2. Click Delete

  3. Confirm deletion

Note: System snippets cannot be deleted, only deactivated.


Troubleshooting

Variable not replaced

  • Verify spelling matches exactly (case-sensitive)

  • Ensure guest has the data (e.g., room number assigned)

  • Check for typos in curly braces

Liquid syntax error

  • Verify {% %} and {{ }} are properly closed

  • Check for unmatched if/endif pairs

  • Test in the snippet editor (errors are shown on save)

SMS too long

  • Check segment count indicator

  • Remove emojis or special characters

  • Shorten message text

  • Consider splitting into multiple messages

Snippet not appearing in picker

  • Verify snippet is Active (not Inactive)

  • Check you're filtering by correct type

  • Ensure snippet was saved successfully


Related Articles