Guest Journey
The Guest Journey is the backbone of hejGuide's automated communication. It consists of 16 pre-built automation steps that follow the complete lifecycle of a booking -- from the moment a reservation is made through checkout and beyond. Each step fires at exactly the right moment, sending a personalized email to the guest (or to you as the host) without any manual effort.
You can enable or disable each step individually, assign your own email template to each one, and adjust the timing of scheduled steps. The Guest Journey works across all booking sources: direct bookings, iCal imports, and Channel Manager (OTA) bookings, with specific rules for OTA bookings documented below.
Overview of all 16 steps
The Guest Journey is organized into five stages that mirror the natural flow of a guest's experience.
Stage 1: Booking
These automations fire when a booking is created, cancelled, or when an inquiry comes in.
| # | Step name | Internal trigger | When it fires | Default state |
|---|---|---|---|---|
| 1 | Booking Confirmation | booking_created | Immediately when a booking is created | Enabled |
| 2 | Booking Cancelled | booking_cancelled | Immediately when a booking is cancelled | Enabled |
| 3 | Booking Inquiry Response | booking_inquiry | Immediately when a booking inquiry is received | Enabled |
Booking Confirmation is typically the first email your guest receives. It should confirm the dates, property, and total amount, and set expectations for the next steps (payment, check-in).
Booking Cancelled notifies the guest that their reservation has been cancelled. Use this to confirm the cancellation, mention any refund policy, and invite them to rebook in the future.
Booking Inquiry Response fires when a prospective guest sends an inquiry (not a confirmed booking). Use it to acknowledge their interest, answer common questions, and encourage them to complete the booking.
Stage 2: Payment
These automations handle the full payment lifecycle, from initial request through confirmation and overdue follow-up.
| # | Step name | Internal trigger | When it fires | Default state |
|---|---|---|---|---|
| 4 | Payment Request | payment_request | Immediately for direct bookings that require payment | Enabled |
| 5 | Remaining Payment Due | payment_rest_due | 7 days before the remaining-balance deadline at 10:00 | Enabled |
| 6 | Payment Reminder | payment_reminder | 2 days before the payment deadline at 10:00 (only if still unpaid) | Disabled |
| 7 | Payment Confirmation | payment_received | Immediately when a payment is received | Enabled |
| 8 | Payment Overdue | payment_overdue | 1 day after the payment deadline at 10:00 (only if still unpaid) | Disabled |
| 9 | Extras Payment Request | extras_payment | On demand, when you charge a guest for extras | Enabled |
Payment Request is sent for direct bookings that require payment. Include the {payment_link}, {payment_amount}, and {payment_due_date} variables so the guest can pay immediately.
Remaining Payment Due is designed for split-payment setups. If the guest paid a deposit, this email reminds them that the remaining balance is due before arrival. It is anchored to the booking's remaining-balance deadline (set per listing under Payments) and fires 7 days before that deadline -- not a fixed number of days before check-in.
Payment Reminder sends a gentle nudge as the payment deadline approaches -- 2 days before the deadline. It is a conditional reminder: it only goes out while a balance is genuinely still outstanding, and is skipped automatically once the guest has paid. Disabled by default.
Payment Confirmation acknowledges a successful payment. It fires instantly when hejGuide records a payment (Stripe, bank transfer, or a manual payment entry).
Payment Overdue is a follow-up for missed deadlines. It fires 1 day after the payment deadline and, like the reminder, only when a balance is still outstanding. Disabled by default -- enable it to automate your overdue collection process.
Extras Payment Request is sent on demand when you charge a guest for extras (for example a late checkout or an additional cleaning). It is host-triggered rather than scheduled, and uses {extras_description} alongside the payment variables.
TIP
If you use a deposit + remaining balance workflow, enable both Payment Request (for the initial deposit) and Remaining Payment Due (for the balance). The {deposit_amount}, {remaining_amount}, and {deposit_percent} variables make it easy to explain the split to guests. See Template Variables for the full list.
Stage 3: Arrival
These automations prepare the guest for check-in and notify you when they complete it.
| # | Step name | Internal trigger | When it fires | Default state |
|---|---|---|---|---|
| 10 | Get ready for your stay | checkin_invite | 7 days before check-in at 10:00 | Enabled |
| 11 | Check-in Reminder | checkin_reminder | 1 day before check-in at 10:00 | Disabled |
| 12 | Check-in Confirmation (Guest) | checkin_completed | Immediately when the guest completes check-in | Enabled |
| 13 | Check-in Notification (Host) | checkin_completed | Immediately when the guest completes check-in | Enabled |
Get ready for your stay is sent 7 days before arrival. It carries the {checkin_link} (the online check-in form) and the {guidebook_link}. When online check-in is off for the listing the check-in link is dropped and only the guidebook portion ships, so the subject stays neutral rather than promising check-in.
Check-in Reminder is a follow-up for guests who have not yet completed online check-in. It fires 1 day before check-in. Disabled by default -- enable it to reduce last-minute no-shows and missing guest details.
Check-in Confirmation (Guest) reassures the guest that their check-in details have been received. A good place to include final arrival instructions, WiFi credentials ({wifi_ssid} / {wifi_password}), and the guidebook link ({guidebook_link}).
Check-in Notification (Host) is sent to you (the host), not to the guest. It lets you know a guest has completed their online check-in, so you can review their details and prepare for arrival.
TIP
The Check-in Invitation is one of the most impactful automations. Guests who complete online check-in in advance have a smoother arrival experience, and you get their details ahead of time. Make sure the {checkin_link} variable is prominently placed in your template.
Stage 4: During stay
These automations run while the guest is at your property.
| # | Step name | Internal trigger | When it fires | Default state |
|---|---|---|---|---|
| 14 | How's Your Stay? | days_after_checkin | 1 day after check-in at 14:00 | Disabled |
| 15 | Checkout Reminder | checkout_day | On checkout day at 08:00 | Disabled |
How's Your Stay? is a mid-stay check-up. It fires the afternoon after the guest's first night, giving them a chance to report any issues while there is still time to resolve them. Disabled by default -- enable it if you want proactive guest satisfaction touchpoints.
Checkout Reminder fires on the morning of departure. Use it to remind the guest of the checkout time ({checkout_time}), any checkout procedures (returning keys, taking out trash), and to thank them for their stay.
Stage 5: After checkout
This automation fires after the guest has departed.
| # | Step name | Internal trigger | When it fires | Default state |
|---|---|---|---|---|
| 16 | Review Request | days_after_checkout | 2 days after checkout at 10:00 | Disabled |
Review Request asks the guest to leave a review. It fires 2 days after checkout, giving the guest time to travel home but sending while the experience is still fresh. Disabled by default -- enable it to build up your review count on direct bookings.
WARNING
The Review Request template uses {review_link}, which is reserved for an upcoming review feature and is not yet functional -- it currently resolves to nothing, and a paragraph containing only that link is dropped from the email. Keep this step disabled (or adapt the template) until the review system ships.
Enabling and disabling steps
- Go to Automated Emails in the sidebar.
- The Guest Journey steps are displayed in chronological order across the five stages.
- Use the toggle next to each step to turn it on or off.
- When a step is enabled, assign an email template to it (see below).
You do not need to enable every step. Start with the essentials and expand over time:
- Minimum recommended setup: Booking Confirmation, Payment Request, Payment Confirmation, Check-in Invitation, Check-in Confirmation (Guest).
- Full-service setup: All 16 steps enabled with carefully crafted templates for each touchpoint.
Assigning templates
Each Guest Journey step needs an email template that defines the content the recipient sees.
- Click on a Guest Journey step to open its settings.
- Select an existing template from the dropdown, or click Create Template to build a new one.
- Save your changes.
Templates support all variables documented in Template Variables. Use variables relevant to the step -- for example, payment variables in payment steps, and {checkin_link} in check-in steps.
If you manage multiple listings that need different messaging, you can create listing-specific templates and assign them per listing. See Creating Templates for details.
Adjusting timing
Scheduled steps (those that do not fire "immediately") allow you to adjust the timing:
- Open the step settings.
- Modify the number of days before or after the trigger event.
- Set the preferred time of day.
- Save your changes.
For example, you could change the Check-in Invitation from 7 days before check-in to 3 days before, or move the Review Request from 2 days after checkout to 5 days after.
WARNING
Timing changes only affect future bookings. Emails that are already queued for existing bookings will be sent at their originally scheduled time.
TIP
When you disable a Guest Journey step, all pending (not yet sent) emails for that step are automatically removed from the queue. You do not need to manually cancel them. When you re-enable the step, the scheduling engine will pick up eligible bookings again on its next run (within 15 minutes).
Channel Manager (OTA) bookings
When a booking arrives through the Channel Manager -- from Booking.com, Airbnb, or another connected OTA -- hejGuide automatically skips certain automations to prevent conflicts with the OTA's own guest communication. The OTA has already confirmed the booking and handles payment collection, so sending duplicate emails would confuse the guest.
The following automations are SKIPPED for Channel Manager bookings:
| Skipped step | Reason |
|---|---|
| Booking Confirmation | The OTA has already confirmed the reservation with the guest |
| Payment Request | The OTA handles payment collection |
| Payment Confirmation | The OTA confirms payment to the guest |
| Remaining Payment Due | The OTA manages the payment schedule |
| Payment Reminder | Not applicable -- OTA collects payment |
| Payment Overdue | Not applicable -- OTA collects payment |
The following automations STILL RUN for Channel Manager bookings:
- Booking Cancelled
- Booking Inquiry Response
- Check-in Invitation
- Check-in Reminder
- Check-in Confirmation (Guest)
- Check-in Notification (Host)
- How's Your Stay?
- Checkout Reminder
- Review Request
This means your pre-arrival, during-stay, and post-checkout communication works identically regardless of how the booking was made. The guest still receives your check-in link, WiFi details, checkout instructions, and review request.
WARNING
If you create custom automations (see Automation Rules) triggered by booking_created, those custom rules will evaluate for OTA bookings unless you explicitly add a booking source filter to exclude them. The automatic skipping described above only applies to the built-in Guest Journey steps listed in the table.
How the scheduling engine works
Guest Journey automations use two different processing modes:
Immediate (event-driven): Steps triggered by booking_created, booking_cancelled, payment_request, payment_received, and checkin_completed fire within seconds of the event occurring. The Extras Payment Request is similar but host-triggered -- it goes out when you charge a guest for extras, not on a schedule. As soon as the action happens in hejGuide, the email is queued and sent.
Scheduled (cron-based): Steps with a "days before/after" timing are evaluated by a background job that runs every 15 minutes. The job checks all active bookings against the configured schedule and queues any emails that are due. The target send time (e.g., "10:00") is respected -- if the cron runs at 09:45, it will wait until the 10:00 run to send.
You can monitor both queued and sent emails in the Queue & Log.
Related
- Automated Emails Overview -- Introduction to the Automated Emails module
- Creating Templates -- Build and edit the email templates used in each step
- Template Variables -- All available personalization variables for your templates
- Automation Rules -- Create custom automations beyond the 16 Guest Journey steps
- Queue & Log -- View, cancel, or resend scheduled and sent emails
- OTA Messages -- How direct messaging works for Channel Manager bookings