Adding Turneo Elements to your Hotel Website
What do you need to start?
Before you get started with this guide you will need to:
- Have an active Experience Store in your Turneo profile
- Have access to your website's CMS system, and the ability to add custom HTML code into it
Overview
This guide walks you through setting up a Turneo Element and adding it to your own hotel website, so your guests can find and book their perfect experiences directly on your website. A Turneo Element is a JavaScript widget that's fully embedded into your hotel website.
Creating an Element
To create an element, log into your Turneo account and go to the Elements tab. There you can create a new Element and get the code for it.
If no Elements exist yet, you'll be able to create a new one and follow the wizard to configure the experiences listed as well as the styling of the Element. Once it's live, open the dropdown view and copy the code shown for the Element.
Adding the Element to your website
Once you've copied the code, log into your website's CMS system and add the HTML code to the page.
The exact way HTML code gets added to your website depends on your CMS system, but most modern systems have an option to add an HTML block into which you can paste the code.
External guides to adding custom HTML for popular website CMSs:
The Element is responsive, so its appearance adjusts to the size of the viewport. For best results, place the element code inside a container that has the same width, padding, and margins as your regular page content.
Maximum width
Set the maximum width of the container to 1280px — beyond that, images become stretched and oversized.
Example video: adding the Element to a hotel website
Multiple elements on one page
You can have multiple elements on one page — see our demo page for Jade Beach Resort. To do this, add the <turneo-element></turneo-element> tag wherever on the page you want a different element to render.
Load the script once
When showing multiple Elements on one page, you only need to load the script once, after the last element on the page.
Changing the language
By default, the widget shows in English. To override this, pass a language attribute. Supported values:
- German —
"de" - Italian —
"it" - Croatian —
"hr" - Slovenian —
"sl" - Portuguese —
"pt"
<turneo-element element-id="659bcd96855b71d278066ac3" language="de"></turneo-element>
Prefilling checkout fields
Turneo Elements are often embedded on pages within a logged-in environment, where the hotel already knows certain guest information (e.g. first and last name). To improve the checkout experience, you can pass this information via URL query parameters so the checkout form is pre-filled:
- First name —
turneoCheckout_firstName - Last name —
turneoCheckout_lastName - Phone number —
turneoCheckout_phone - Email —
turneoCheckout_email - Reseller reference (e.g. loyalty ID) —
turneoCheckout_resellerReference
Example:
https://www.jadebeachresort.com/experiences?turneoCheckout_firstName=John&turneoCheckout_lastName=Smith&turneoCheckout_email=john.smith@gmail.com&turneoCheckout_phone=+385992101824&turneoCheckout_resellerReference=TEST_REF_1
Filtering dates and categories via query parameters
Turneo Elements support prefilling date fields directly from URL query parameters. This lets you load pages with availability already filtered for specific dates, or pre-populate the booking form.
Elements: filter by category
Filter Elements to show only experiences from specific categories, using a comma-separated list of category names.
| Query Parameter | Description | Format |
|---|---|---|
turneo_categories |
Comma-separated list of categories to filter by | Category1,Category2,... |
Example:
https://www.jadebeachresort.com/experiences?turneo_categories=Wellness,Adventure
Elements: prefill date range
When embedding Elements (e.g. Collections, Carousels, Grids), you can pre-filter experiences by providing a date range in the page URL. These values prefill the date range selector and filter the Element's content.
| Query Parameter | Description | Format |
|---|---|---|
turneo_startDate |
Start date of the availability filter | YYYY-MM-DD |
turneo_endDate |
End date of the availability filter | YYYY-MM-DD |
Example:
https://www.jadebeachresort.com/experiences?turneo_startDate=2025-07-10&turneo_endDate=2026-07-15
You can combine category and date filtering:
https://www.jadebeachresort.com/experiences?turneo_startDate=2025-07-10&turneo_endDate=2026-07-15&turneo_categories=Wellness,Adventure
Booking page: prefill reservation date
To prefill the reservation date on the booking page:
| Query Parameter | Description | Format |
|---|---|---|
turneo_reservationDate |
Prefills the booking date | YYYY-MM-DD |
Example:
https://www.jadebeachresort.com/experiences?turneoExperience=8efde4f9-916b-4612-b927-4a4b898183a9_Wine-tasting&turneo_reservationDate=2026-07-12
Turneo Stores
The same functionality works on Turneo stores, using the query parameters without the turneo_ prefix:
| Store Parameter | Description | Format |
|---|---|---|
startDate |
Start date for filtering availability | YYYY-MM-DD |
endDate |
End date for filtering availability | YYYY-MM-DD |
reservationDate |
Prefilled reservation date | YYYY-MM-DD |
Demo Element
To try adding an Element to your website before creating one in the Turneo system, use the demo element code below. Note that this element won't be styled to match your website's colors and styles.
<turneo-element element-id="659bcd96855b71d278066ac3"></turneo-element>
<script src="https://widget-turneo.vercel.app/turneo-widget.iife.js"></script>