Guest Links in Emails
Every automated email can take the guest straight to the page they need: their pre-check-in, their invoice, the service selection or their profile. You add these personal links to your email templates in Prismic as short formulas, and LIKE MAGIC replaces each formula with the guest's own link when the message is sent.
A guest who pays an open balance, books a service or corrects a billing address from such a link does not need your front desk for it. This article lists the available links, shows what each one opens, and explains how to add them and which link fits which message.
1. How Guest Links Work
A guest link is a placeholder: a formula starting with $model. that stands for a value LIKE MAGIC only knows when it sends the message. You enter the formula once in a template, and it works for every guest and every reservation.
Three rules apply to every formula:
- Write
https://in front of a link formula. The formula returns the address without it. - Copy the formula exactly. No spaces, and upper and lower case as shown. A single wrong character breaks the link for every guest who receives the message.
- Use a formula only in the messages it works in. Section 3 shows which those are. A placeholder that has no value in a message is not replaced, and the guest receives a link that leads nowhere.
By default a guest link opens the reservation directly, with no login. There are two exceptions. If your Guest Access settings require verification, the guest verifies themselves first, for example with their confirmation number. A guest who has created a Guest User Account signs in first. See Configure Guest Access to Pre-Check-In, My-Stay, Bookings.
2. Available Links
| Link | Formula | What it opens |
|---|---|---|
| Pre-Check-In | https://$model.getFlowLink() | The pre-check-in, or My Stay once the pre-check-in is completed |
| My Stay | https://$model.getFlowLink()/portal/my-stay | The guest's overview page for the stay |
| Invoice | https://$model.getFlowLink()/portal/my-stay/bills | The guest's folios with charges, open balance and billing details |
| Additional Services | https://$model.getFlowLink()/portal/my-stay/services?TAB=SELECTION | The selection of services the guest can book |
| Profile | https://$model.getFlowLink()/portal/profile | The guest's personal details |
| User Account | https://$model.getFlowLink()/portal/profile/account | The page to create or manage the Guest User Account |
| Booking Overview | https://$model.getBookingOverviewReservationLink() | The reservation with its details inside the booking overview |
| Open in browser | https://$model.getEmailLink() | The email itself as a web page |
| Confirmation number | $model.getConfirmationNumber() | Not a link. It inserts the confirmation number as text |
a) Pre-Check-In
The Pre-Check-In link opens the page that fits the reservation at that moment:
- Pre-check-in not completed: the pre-check-in, at the step where the guest left off.
- Pre-check-in completed, or the guest already In-House or Checked-Out: My Stay.
- In a message to a booker: the booking overview with the reservations of the booking. For a booking with a single reservation, it opens that reservation directly.
It is the main action for your pre-arrival messages.
b) My Stay
My Stay is the guest's starting page during the stay. It shows the room, the stay dates and the tiles you offer there, for example keys, invoice and services. Which tiles appear is set per property in Prismic (see Prismic (Navigation Items)).
c) Invoice
The Invoice link opens the guest's folios. There the guest:
- sees the charges of the stay at any time, not only at check-out
- pays an open balance
- changes the billing details of an open folio, either to themselves or to a company with company name, tax ID and address. This is available where guests can edit their billing address (see Billing Address Management)
- downloads the invoice as a PDF once it has been issued
On Opera Cloud, the page shows a preview of the expected charges while the reservation is Confirmed. The folios appear once the guest is In-House.
Guests who check their folio before departure correct their billing details while the folio is still open. That avoids corrected invoices and re-bills in the PMS after the stay, and requests to send an invoice again.
d) Additional Services
The Additional Services link opens the service selection in My Stay with the services you offer there. The guest adds services to the cart and pays for them. Free services are booked directly, and services that need your confirmation go through the approval flow. See Additional Services & Services Catalogue.
⚠️ Keep ?TAB=SELECTION in the link exactly as written, in capital letters, also when you add further parameters.
e) Profile
The Profile link opens the guest's personal details: personal data, address, communication and legal data, matching the steps of your pre-check-in. Guests update them before arrival. Once the guest is In-House, the name and the legal data can no longer be changed, and after check-out the whole profile is read-only.
f) User Account
The User Account link opens the account page of the profile. A guest without a Guest User Account creates one there by setting a password. A guest who is signed in changes the password or deletes the account. With an account, the guest's details carry over to the next stay.
Use this link only where the Guest User Account is offered at your property (see Guest Account & Loyalty).
g) Booking Overview
The Booking Overview link opens the reservation inside the booking overview: the room, the booked services, the charges and the cancellation policy on one page. From there the guest can also cancel the reservation where your cancellation policy allows it.
It only works in messages to the primary guest, and only while the reservation is Confirmed or In-House. After that it no longer opens the reservation. In a message to a booker, use the Pre-Check-In link instead. It opens the booking overview there.
h) Open in Browser and Confirmation Number
Two more placeholders belong in your templates:
- Open in browser:
https://$model.getEmailLink()lets the guest view the email in a browser if their mail app does not display it correctly. It belongs in the email header (see Prismic (E-Mails), section Header). - Confirmation number:
$model.getConfirmationNumber()is not a link. It inserts the confirmation number into the text of the email. Guests need it when they are asked to verify themselves, so place it in your pre-arrival messages.
3. Which Link Works in Which Message
Your automated messages go to three kinds of recipients (the booker, the primary guest and a travel companion), and not every page is open to each of them. The message names are the ones you find in the Template Type field of the email template (see Automated Guest Notifications).
| Link | Messages to the booker (BOOKING_CREATED, BOOKING_REMINDER) | Messages to the primary guest (all other messages of the flow) | Message to a travel companion (COMPANION_ADDED) |
|---|---|---|---|
| Pre-Check-In | ✅ Opens the booking overview | ✅ | ✅ |
| My Stay | ❌ | ✅ | ✅ |
| Invoice | ❌ | ✅ | ❌ |
| Additional Services | ❌ | ✅ | ❌ |
| Profile | ❌ | ✅ | ✅ |
| User Account | ❌ | ✅ | ❌ |
| Booking Overview | ❌ | ✅ While the reservation is Confirmed or In-House | ❌ |
| Open in browser | ✅ | ✅ | ✅ |
| Confirmation number | ✅ | ✅ | ✅ |
⚠️ Leave the Booking Overview link out of RESERVATION_CANCELED, INVOICE and CHECKOUT_FOLLOW_UP. These messages are sent when the reservation is no longer Confirmed or In-House, and the link no longer opens the reservation.
⚠️ INVOICE_BILLING goes to the billing recipient of a folio, for example a company. Use no guest link there except Open in browser.
ℹ️ Account emails (email verification and password reset) belong to the Guest User Account, not to a reservation. In these templates, https://$model.getFlowLink() is the verification or reset link itself. Keep it as it is and add none of the other links.
4. Add a Link to an Email Template
- Log in to Prismic and filter by Type: Email.
- Open the email template you want to edit. The Template Type field tells you which message it is.
- Enter the formula in one of these fields:
- Action Link: the main call-to-action button. Its label is the Action Text.
- Secondary Action Link: the second, more subtle button towards the end of the email. Its label is the Secondary Action Link Text.
- Hero Action Link: the link in the hero area, ideally the same as the Action Link. Its label is the Hero Action Text. The hero appears only when Hero Image, Hero Title and Hero Action Link are set.
- Email Content: select the text you want to link, then add the link via the formatting menu.
- Give the button or the linked text a label that says what the guest does, for example "Check your invoice" or "Book your extras".
- Repeat the change in every language of the template, and in every property-specific template you maintain.
- Save and publish.
For the template fields in detail, see Prismic (E-Mails).
💡 Give each email one clear main action. Before you replace an existing Action Link, check what it does today. A button that already starts the pre-check-in or the check-out keeps its place, and the new link goes into the Secondary Action Link.
🧩 If you forward Booking.com messages into the Communication Hub, register every link you add to the RESERVATION_CREATED message with Booking.com. See The Communication Hub & Booking.com.
ℹ️ The same formulas work in the SMS templates in Prismic, written out in the message text. WhatsApp messages use pre-approved templates that LIKE MAGIC sets up. Request a link change there via a Support Ticket.
5. Recommended Links per Message
Match the link to the moment in the guest journey.
| Moment | Messages | Main action | Also useful |
|---|---|---|---|
| Booking by a booker | BOOKING_CREATED, BOOKING_REMINDER | Pre-Check-In | No further guest link |
| Before arrival | RESERVATION_CREATED, PRE_CHECKIN_REMINDER, CHECKIN_INTRODUCTION, CHECKIN_REMINDER | Pre-Check-In | Additional Services, Profile, Booking Overview |
| Arrival and stay | CHECKIN, CHECKED_IN | My Stay | Additional Services, Invoice |
| Before departure | CHECKOUT_INTRODUCTION, CHECKOUT_ALERT | Invoice | My Stay |
| After the stay | INVOICE, CHECKOUT_FOLLOW_UP | Invoice | User Account |
| Travel companion | COMPANION_ADDED | Pre-Check-In | My Stay, Profile |
Before departure the folios are still open, so guests can still correct their billing details.
6. Check Your Links
Placeholders are only replaced in a sent message, so you cannot test them in Prismic itself. Check a message that was sent after you published your change:
- In the Operations Platform, open Reservations and click a reservation that received the message.
- Select the Notifications tab. Under Sent Notifications, find the email and click the Open notification icon in its row.
- The email opens in the guest's conversation as it was sent. Click Show more if it is cut off.
- Open each link in a new browser tab and check that it opens the right page.
- Repeat the check for every language you changed.
⚠️ These are the guest's real links. Look at the pages, but do not change data or book anything.
💡 For a first test, use a test reservation with your own email address. The emails then arrive in your own mailbox.
ℹ️ The Notifications tab requires Platform pricing (see Pricing Tiers). The tab itself is described in Reservation Notifications.
7. Troubleshooting
| Symptom | Likely cause | What to do |
|---|---|---|
The email shows a formula such as $model.getFlowLink() as text, or the button leads nowhere | The formula has a typo, or the placeholder has no value in this message | Compare the formula character by character with section 2, then check section 3 |
| The guest lands on a "not found" page | A travel companion opened the Invoice, Additional Services or User Account link | Remove these links from COMPANION_ADDED |
| The guest is asked to go to the booking instead of seeing the page | A link ending in /portal/... is used in a message to the booker | Use only the Pre-Check-In link in BOOKING_CREATED and BOOKING_REMINDER |
| The services page opens without the service selection | ?TAB=SELECTION is written in lower case, or it was dropped when other parameters were added | Correct the link as shown in section 2 |
| The guest must verify themselves before the page opens | Your Guest Access settings require verification for links in notifications | Add the confirmation number to the message, or review the Guest Access settings |
| The guest must sign in before the page opens | The guest has a Guest User Account | No change needed. The guest signs in with their account |
| The guest cannot change the billing details | The folio is already closed, or guests cannot edit the billing address at this property | See Billing Address Management |
| The guest finds no invoice to download | The invoice has not been issued yet | The download appears once the invoice exists |
| The button is missing in the email | The link or its label is empty. The hero also needs its image and its title | Fill in all fields of the button |
8. Conclusion
Guest links take the guest from an email directly to the right page of their stay. The Pre-Check-In link belongs in your pre-arrival messages, the Additional Services link wherever guests plan their stay, and the Invoice link in your check-out messages.
Enter each formula exactly as shown, use it only in the messages it works in, and check a sent message in every language after publishing. The fields of an email template are described in Prismic (E-Mails), and the messages of the default flow in Automated Guest Notifications.