Guest Journey
The Guest Journey is the backbone of hejGuide's automated communication. It consists of 15 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 15 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 when a payment request is generated | Enabled |
| 5 | Remaining Payment Due | payment_rest_due | 7 days before check-in at 10:00 | Enabled |
| 6 | Payment Reminder | payment_reminder | 2 days before payment deadline at 10:00 | Disabled |
| 7 | Payment Confirmation | payment_received | Immediately when a payment is received | Enabled |
| 8 | Payment Overdue | payment_overdue | 1 day after payment deadline at 10:00 | Disabled |
Payment Request is sent when you (or the system) creates a payment request for a booking. 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 fires 7 days before check-in.
Payment Reminder sends a gentle nudge when a payment deadline is approaching. Disabled by default -- enable it if you want to proactively remind guests before their deadline passes.
Payment Confirmation acknowledges a successful payment. It fires instantly when hejGuide records a payment (from Mollie, Stripe, or a manual payment entry).
Payment Overdue is a follow-up for missed deadlines. It fires 1 day after the payment due date. Disabled by default -- enable it to automate your overdue collection process.
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 |
|---|---|---|---|---|
| 9 | Check-in Invitation | checkin_invite | 7 days before check-in at 10:00 | Enabled |
| 10 | Check-in Reminder | checkin_reminder | 1 day before check-in at 10:00 | Disabled |
| 11 | Check-in Confirmation (Guest) | checkin_completed | Immediately when the guest completes check-in | Enabled |
| 12 | Check-in Notification (Host) | checkin_completed | Immediately when the guest completes check-in | Enabled |
Check-in Invitation is sent 7 days before arrival. Include the {checkin_link} variable to give the guest a direct link to the online check-in form, where they can submit ID details, arrival time, and other information you need.
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_name} / {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 |
|---|---|---|---|---|
| 13 | How's Your Stay? | days_after_checkin | 1 day after check-in at 14:00 | Disabled |
| 14 | 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 |
|---|---|---|---|---|
| 15 | 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.
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 15 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. To change or cancel queued emails, go to Queue & Log.
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. 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 15 Guest Journey steps
- Queue & Log -- View, cancel, or resend scheduled and sent emails
- OTA Messages -- How direct messaging works for Channel Manager bookings