Sending Guests Pre-Filled Booking Links
Why You'd Want This
"Can I book a room for next weekend?" is the question every hotel wants to hear. A generic link to your homepage turns it into five more clicks. A pre-filled link turns it into one.
- Shorten the path to a booking. The guest lands on the right hotel, with the right dates and guest count, ready to pick a room.
- Fit every property. Each Place gets its own hotel code, and Places on a different booking engine get a different link entirely.
- See what works. Every click on a booking link in web chat shows up in Insights, so you can tell whether guests actually use them.
- Keep control. The Agent only fills the blanks you define, only sends links for Places you mark as bookable, and never makes a reservation itself.
How It Works
You give the Agent a link template: your booking page's web address, with a name in curly brackets wherever a value changes.
https://book.example.com/?hotel={hotel_code}&arrival={check_in}&nights={nights}
Each name in curly brackets is a variable. For each variable, you decide where its value comes from:
| Source | Who fills it | Typical use |
|---|---|---|
| Per property | You, once for each Place | Hotel code, portal ID, page slug |
| From the agent | The Agent, from what the guest says in the Conversation | Check-in date, number of nights, adults, room type |
| From the system | TrustYou, automatically | The guest's language, the Channel, today's date |
When a guest wants to book, the Agent works out which Place they mean, collects any missing details by asking, and builds the link. If the guest hasn't said how many adults are coming and you made that required, the Agent asks before sending anything.
Note: A booking link is only a shortcut to your booking page. The Agent never makes or confirms a reservation. The guest checks availability and prices and completes the booking themselves, and the Agent tells them so.
Why You Set It Up per Place
The Feature lives on the Agent, but you assign links Place by Place. That's the part that makes it work for real hotel groups.
Different hotel codes, one template. Most booking engines use the same address for every hotel and change only an ID. Write the template once with {hotel_code}, then enter each Place's code in the property table. One template covers 30 hotels.
Different booking engines, side by side. Your city hotels might use one booking engine and your resort another. Add a second link for the resort and assign it with the Link menu. You can have up to five links per Agent. The first one is the Base link, and every Place uses it unless you assign a different one.
Bookable or not, per Place. Some Places shouldn't get a booking link at all: a restaurant, a property that books by phone only, a hotel that isn't open yet. Leave Bookable off for those. If a guest asks to book one, the Agent says it can't send a link for that Place. It never sends another hotel's link instead.
A more targeted link for every guest. Because the Agent knows which Place the guest means, the link opens that hotel's booking page, not a group-wide search. If the guest's wording is ambiguous ("your Lisbon hotel" when you have two), the Agent asks which one they mean rather than guessing.
Note: The backoffice editor calls Places "properties." They're the same thing: the Places assigned to this Agent.
Your Places Must Be Assigned to the Agent
The property table lists only the Places assigned to this Agent. A Place that exists in your Organization but isn't assigned to the Agent doesn't appear there, and the Agent can't send a link for it.
So assign your Places first, then set up booking links. For the steps, see Understanding Your Agent's Knowledge: Places and Resources.
A Place gets a booking link only when all three are true:
- It's assigned to the Agent.
- Bookable is on.
- Every required per-property value is filled in.
When You Unassign a Place
Unassign a Place from the Agent, and it stops getting booking links on the Agent's very next message. If a guest asks to book it, the Agent no longer offers a link.
Its setup isn't lost. The property table keeps the row, greyed out and marked Removed from this agent · not bookable, with its link and values still there. Assign the Place to the Agent again, and its booking link comes back as it was.
If you don't plan to bring the Place back, select Remove entry to clear its row, then Save.
Note: If you changed your link while the Place was unassigned (for example, you added a new required variable), the returning Place has no value for it yet. The Agent skips that Place until you fill in the value, and Save reminds you which one is missing.
When You Delete a Place
Delete a Place from your Organization, and the Agent stops sending links for it right away. Its row stays in the property table as a removed entry, and it may show as Unknown place once the Place is gone. Select Remove entry, then Save, to clean it up.
A deleted Place can't come back, so its booking setup goes with it. If you might need the Place again, unassign it from the Agent instead of deleting it.
Setting It Up
- Make sure every Place you want to send links for is assigned to the Agent.
- Open your Agent and go to Features.
- Select the Booking Links tab and switch the Feature to Enabled.
- Under Links, enter a Link name and the Web address of your booking page, with variables in curly brackets.
- Under Variables, pick a source for each variable: Per property, From the agent, or From the system. Every new name you type in curly brackets shows up there as New until you pick its source.
- Add a description to each variable. For Agent variables, describe what the Agent should ask for, like "Date of check-in", and choose a type. For per-property variables, describe the value, like "IBE PMS ID". That description becomes the column heading in the property table, so a clear one makes the table easy to fill in.
- In the property table, turn on Bookable for each Place that takes online bookings and fill in its per-property values. Use the Link menu to move a Place to a different link.
- Check the example link in each row, and use Open to test it in your browser.
- Select Save.
If anything is missing, a Fix these before you save list tells you exactly what to change.
Reading the Editor
- Link tiles show how many Places use each link, and flag problems in red, like "1 property · 1 needs values." Select a tile to edit that link and see its Places.
- Each variable shows where it's used: a link name, like "Base link," or All links. A per-property variable used by only one link needs values only for the Places on that link.
- Move to changes a variable's source later, for example from Property to Agent. The editor asks first, because moving can clear values you've already entered.
-
Example links use sample values. The property table fills Agent and system variables with placeholders, like
2026-11-14for a date,4for a number, andc_examplefor the Conversation. Variables still waiting for a source stay highlighted in the link. - Bookable and Not bookable filters, plus Search properties, help with long Place lists. The line next to Save sums up how many Places are bookable.
Note: The Feature does nothing until you add a link and mark at least one Place as bookable. Turning it on first is safe.
Writing Your Link Template
Variable Names
Use letters, digits, and underscores between the curly brackets: {hotel_code}, {check_in}, {adults}. Hyphens and spaces don't work, so {check-in} gets rejected.
Variables can go in the path, in query values, or after a #. They can't go in the domain, so https://{city}.example.com won't save. Your Agent only sends links to domains you've configured.
Example: Query (GET) Parameters
Most booking engines take their settings as query parameters, after the ?.
https://book.example.com/?hotel={hotel_code}&arrival={check_in}&departure={check_out}&adults={adults}&lang={language}
| Variable | Source | Setup |
|---|---|---|
hotel_code |
Per property |
LIS1 for Lisbon, POR2 for Porto |
check_in, check_out
|
From the agent | Type Date, pattern YYYY-MM-DD
|
adults |
From the agent | Type Number, minimum 1, maximum 6 |
language |
From the system | Language |
A German-speaking guest asking about Lisbon for November 14 to 16, 2026, for two adults gets:
https://book.example.com/?hotel=LIS1&arrival=2026-11-14&departure=2026-11-16&adults=2&lang=de
Example: Path Parameters
Some booking pages put the values in the address path itself.
https://www.example-hotels.com/{language}/hotels/{hotel_slug}/book/{check_in}
With hotel_slug set per property and check_in as a date from the Agent, a French-speaking guest asking about Porto on November 14, 2026, gets:
https://www.example-hotels.com/fr/hotels/porto-riverside/book/2026-11-14
Matching Your Booking Engine's Formats
Pick a type for each Agent variable so the value comes out in the format your booking engine expects. Next to the settings, the editor shows a preview of the result, like Date · YYYY-MM-DD → 2026-11-14, so you can check the format before you save.
-
Date: choose a preset like
YYYY-MM-DD,DD.MM.YYYY,DD/MM/YYYY,MM/DD/YYYY, orYYYYMMDD, or build your own with Custom… fromYYYY,YY,MM,M,DD, andD. Dates can't be in the past unless you turn off Not before today. - Number: set a Minimum and Maximum, for example 1 to 6 adults.
-
Number list: for things like children's ages, joined with a comma, semicolon, or pipe.
4,7for two children aged four and seven. -
Text: either any text or a fixed list of Allowed values, like
single,double,suite. The Agent maps "a room for two" to the value you allow. -
Yes/No: written as
true/false,1/0, oryes/no.
The Agent encodes every value safely, so a space or a slash in a guest's answer never breaks the link.
Optional Parameters
Not every detail matters for every booking. Mark a variable Optional, and the Agent leaves it out when it doesn't know the value, instead of asking.
When an optional value is empty, the Agent removes its whole piece of the address: the whole query parameter, or the whole path segment.
Query example. Template:
https://book.example.com/?hotel={hotel_code}&arrival={check_in}&promo={promo_code}
With a promo code:
https://book.example.com/?hotel=LIS1&arrival=2026-11-14&promo=SUMMER
Without one, &promo= disappears completely:
https://book.example.com/?hotel=LIS1&arrival=2026-11-14
Path example. Template:
https://book.example.com/hotels/{hotel_slug}/{room_type}/book
With a room type, the guest gets .../hotels/lisbon-center/double/book. Without one, the segment drops out and they get .../hotels/lisbon-center/book.
One rule: an optional variable must fill a whole path segment or a whole query value on its own. ?promo={promo_code} works. ?promo=WEB-{promo_code} doesn't, because removing it would leave a broken WEB- behind. The editor tells you if a template breaks this rule.
Note: There are no default values. If a variable should always have a value, make it required. The Agent then asks the guest for anything it doesn't know yet.
What You Get in Insights
When a guest clicks a booking link in web chat, the click counts.
- Insights shows a Booking links card and a Booking links over time chart, both counting clicks.
- The Home page shows Booking links clicked, and the Agents overview has a Booking links column, so you can compare Agents side by side.
- In Conversations, filter for Conversations where the guest clicked to book, and read exactly what led up to it.
Clicks are a stronger signal than "the Agent sent a link." They show guests who actually went to your booking page.
Note: Click tracking works in web chat only. On WhatsApp, SMS, and email, the guest gets the link as plain text, and those clicks don't show up in Insights.
Measuring Further with Your Own Parameters
Insights shows clicks, not completed bookings. To follow a guest all the way to a confirmed reservation, add fixed tracking parameters to your template and read them in your web analytics or booking engine:
https://book.example.com/?hotel={hotel_code}&arrival={check_in}&utm_source=trustyou_agent&utm_medium={channel}&ref={conversation_id}
- Fixed text like
utm_source=trustyou_agentgoes into every link as is. - Channel (from the system) tells you whether the booking started in web chat, WhatsApp, or SMS. This works on every Channel, including the ones without click tracking.
- Conversation (from the system) is a unique ID for the Conversation. If your booking engine stores it, you can match a reservation back to the exact chat.
The Agent never puts the guest's name, email, or phone number in a link.
What the Guest Sees
On web chat, the link appears as a booking link in the Agent's reply, and clicks are tracked.
On other Channels, the guest gets the full web address as plain text.
Note: Web chat shows the tracked booking link only for https addresses. If your template starts with http://, the guest gets the plain address instead, so use https wherever your booking page supports it.
Testing It
- Use Open in the property table. Each row shows an example link with sample values. Open it and check that your booking page understands it.
- Ask to book without details. "I'd like to book a room." The Agent should ask for the Place (if you have more than one) and any required values.
- Give everything at once. "Two adults in Lisbon, November 14 to 16." You should get a link right away, with the right dates in the right format.
- Ask for a Place that isn't bookable. The Agent should say it can't send a link, and not offer another Place's link.
- Leave out an optional value. Confirm the link drops that parameter cleanly.
- Click it in web chat. Check that the click shows up under Booking links in Insights.
Limits Worth Knowing
- Up to five links and 10 variables per Agent, and up to 2,000 characters per web address.
- No booking engine presets. You build the template from your own booking page's address. Copy a real booking URL from your site and replace the parts that change.
- The domain is fixed. Variables can't change the domain, and the Agent only links to domains in your templates.
- No reservations. The Agent prepares the link. The guest books.
- Only assigned Places. Unassigned and deleted Places never get a link. An unassigned Place keeps its setup for when it comes back.
What's Next
- Creating and Managing Places -- set up the Places you assign booking links to
- Integrating TrustYou Agent Web Chat -- web chat is where booking link clicks get tracked
- How the Agent Works -- see where Features sit alongside the Knowledge Base
Comments
0 comments
Please sign in to leave a comment.