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
Go to Guest > Snippets
View all snippets organized by type
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 templates with HTML formatting | ||
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
Used by AI Assistant for auto-responses
Question pattern as the name
Answer as the body
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
Go to Guest > Snippets
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 |
| Guest's first name | John |
| Guest's full name | John Smith |
| Guest's phone number | +1 555-123-4567 |
| Guest type/loyalty tier | VIP, Gold, Regular |
| True if returning guest | true/false |
| Guest notes/preferences | Prefers high floor |
Stay Information
Variable | Replaced With | Example |
| Room number(s) | 302, 303 |
| Arrival date | 2025-12-27 |
| Departure date | 2025-12-30 |
| Reservation confirmation | ABC123 |
| Booking channel | Expedia, Direct |
| Reservation status | CHECKED_IN |
Access & Amenities
Variable | Replaced With | Example |
| Door access code | 1234 |
| WiFi password | HotelGuest123 |
URLs & Links
Variable | Replaced With | Use Case |
| Contactless check-in link | Pre-arrival check-in |
| Digital guidebook link | Property information |
| Guest shop link | Upsells and purchases |
| Tipping link | Staff tipping |
| Guest profile link | Update contact info |
| 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 |
| Boolean | Is arrival date today? |
| Boolean | Is departure date today? |
| Boolean | Is guest currently in-house? |
| Integer | Day of stay (0 = arrival) |
| Boolean | Has payment been collected? |
| Boolean | Has guest signed terms? |
| Boolean | Has ID been verified? |
| Boolean | Is room ready for guest? |
| Boolean | Is there a gap before arrival? |
| Integer | Number of nights in stay |
| 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
Open message composer
Click Use Snippet (or snippet icon)
Search or browse available snippets
Click to insert into message
Variables are replaced with guest data
Edit if needed, then send
In Automations
Create an automation (Guest > Automations)
Select the action "Send Message"
Choose a snippet from the dropdown
The snippet is sent when automation triggers
In Broadcast Messages
Select guests in directory
Click Broadcast
Click Use Template or Use Snippet
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
Edit the snippet
Click Add Attachment
Upload image or file
Save snippet
Attachment Considerations
Channel | Image Support | File Support | Notes |
SMS (MMS) | Yes | Limited | Increases cost (3 segments) |
Yes | Yes | No size restrictions | |
Yes | Yes | Must follow template rules |
Best Practices
Personalization
Always use
{{firstName}}for a personal touchInclude stay-specific details (room, dates)
Acknowledge guest type when applicable
Message Length
Channel | Recommended Length |
SMS | Under 160 characters (1 segment) |
As needed, but concise | |
Under 1024 characters |
Testing
Create a test guest with your phone number
Use "Test Send" feature if available
Verify all variables render correctly
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
Go to Guest > Snippets
Find the snippet in the list
Click Edit
Modify name, type, or body
Click Save
To Deactivate a Snippet
Edit the snippet
Change Status to Inactive
Save
Inactive snippets won't appear in snippet picker but can be reactivated later.
To Delete a Snippet
Find the snippet
Click Delete
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 closedCheck 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
All About Guest Messaging - Complete messaging overview
Guest Automations - Automated message delivery
AI Assistant Configuration - FAQ snippet configuration
Contactless Check-in Setup - Agreement snippets usage