Skip to main content

Full list of variables for HTML

Use this page as a reference to find the variables available when editing an Ezus HTML template.

Variables allow an HTML template to retrieve information entered in Ezus and display it automatically in the generated webpage.

The variable you use depends on where you are in the HTML template:

  • Outside a loop, use the variables available in the variable drawer.

  • Inside a loop, use the corresponding Jinja variable for the item currently being displayed.

Before you start: what is a loop?

A loop is used when you want to repeat the same HTML block for several items.

For example, if a project contains several days, this loop:

{% for day in days %}

tells Ezus to repeat the content inside the loop once for each day.

Inside that loop, day represents the day currently being generated. You can therefore use:

{{ day.title }}

to display the title of each day.

The same principle applies to accommodations, transports, activities, suppliers, products, and other lists.

👉 Using loops in HTML templates

👉 Using custom fields in HTML templates


1. Variables outside a loop

Outside a loop, use the variables available in the variable drawer.

To open it while editing your HTML template, click the Variables button in the template editor.

Click the element you need, then copy the corresponding variable into your HTML template.

💡 You do not need to use Slides to access these variables. The variable drawer is available directly from the HTML template editor.


2. Variables inside a loop

Once you are inside a loop, use the Jinja variable representing the current item.

For example:

{% for day in days %}

creates a loop through the project's days.

Inside that loop:

{{ day.title }}

displays the title of the current day.

Similarly:

{% for supplier in suppliers %}

loops through suppliers, and:

{{ supplier.title }}

displays the title of the supplier currently being processed.

The sections below list the variables available for the main loop types.


3. Days

Use these variables inside:

{% for day in days %}

Information

Variable

Day index

{{ day.index }}

Title

{{ day.title }}

Date

{{ day.date }}

Images

{% for image in day.images %}

Price

{{ day.price }}

Sales price

{{ day.price.sales }}

Purchase price

{{ day.price.purchase }}

Products

{{ day.products }}

Products with options

{{ day.products.option }}

Products without options

{{ day.products.no_option }}

Activities

{% for activity in day.activities %}

Steps

{% for step in day.steps %}

Accommodations

{% for accommodation in day.accommodations %}

Transports

{% for transport in day.transports %}

Destinations

{% for destination in day.destinations %}

Products

{% for product in day.product %}

Day date formats

You can choose how the date is displayed by adding a format.

Format

Variable

Month / short year

{{ day.date.["%m/%y"] }}

Month / full year

{{ day.date.["%m/%Y"] }}

Day / month / short year

{{ day.date.["%d/%m/%y"] }}

Day / month / full year

{{ day.date.["%d/%m/%Y"] }}

Month / day / short year

{{ day.date.["%m/%d/%y"] }}

Month / day / full year

{{ day.date.["%m/%d/%Y"] }}

Day / month

{{ day.date.["%d/%m"] }}

Month / day

{{ day.date.["%m/%d"] }}

Full written date

{{ day.date.["%A %d %B %Y"] }}

For example, if the date is 21 September 2026:

{{ day.date.["%d/%m/%Y"] }}

displays:

21/09/2026

while:

{{ day.date.["%A %d %B %Y"] }}

displays the full written date.


4. Items starting on a day

Inside a day loop, you can also retrieve only the items that start on that day.

Information

Loop

Steps starting this day

{% for step in day.start.steps %}

Accommodations starting this day

{% for accom in day.start.accomodations %}

Transports starting this day

{% for transp in day.start.transports %}

Activities starting this day

{% for activity in day.start.activities %}

Destinations starting this day

{% for destination in day.start.destinations %}


5. Items ending on a day

You can apply the same logic to items that end on the current day.

Information

Loop

Steps ending this day

{% for step in day.end.steps %}

Accommodations ending this day

{% for accom in day.end.accomodations %}

Transports ending this day

{% for transp in day.end.transports %}

Activities ending this day

{% for activity in day.end.activities %}

Destinations ending this day

{% for destination in day.end.destinations %}


6. Activities, steps, accommodations, and transports

Activities, steps, accommodations, and transports share many of the same properties.

In the table below, X represents the current object.

Depending on your loop, replace X with:

  • activity

  • step

  • accom

  • transp

For example, inside:

{% for step in day.steps %}

use:

{{ step.title }}

Inside a transport loop, use:

{{ transp.title }}

Available information

Information

Variable

Index

{{ X.index }}

Title

{{ X.title }}

Is an option

{{ X.is_option }}

Duration

{{ X.duration }}

Duration — hours + minutes

{{ X.duration.["hours+minutes"] }}

Duration — minutes

{{ X.duration.minutes }}

Duration — hours

{{ X.duration.hours }}

Duration — formatted minutes + hours

{{ X.duration.minutes_hours }}

Nights

{{ X.nights }}

Images

X.images

Supplier

X.supplier

Long description

{{ X.description }}

Long description

{{ X.description.long }}

Short description

{{ X.description.short }}

Price

{{ X.price }}

Sales price

{{ X.price.sales }}

Purchase price

{{ X.price.purchase }}

Number of travelers / PAX

{{ X.pax }}

Category

{{ X.category }}

Start date

{{ X.date_start }}

End date

{{ X.date_end }}

Start time

{{ X.hours_start }}

End time

{{ X.hours_end }}

Products

{{ X.products }}

Products with options

{{ X.products.option }}

Products without options

{{ X.products.no_option }}

Address

{{ X.address }}

Address name

{{ X.address.name }}

Address label

{{ X.address.label }}

Postal code

{{ X.address.zip }}

City

{{ X.address.city }}

Country

{{ X.address.country }}

Custom fields

X.custom_fields

Start date formats

Format

Variable

Month / short year

{{ X.date_start.["%m/%y"] }}

Month / full year

{{ X.date_start.["%m/%Y"] }}

Day / month / short year

{{ X.date_start.["%d/%m/%y"] }}

Day / month / full year

{{ X.date_start.["%d/%m/%Y"] }}

Month / day / short year

{{ X.date_start.["%m/%d/%y"] }}

Month / day / full year

{{ X.date_start.["%m/%d/%Y"] }}

Day / month

{{ X.date_start.["%d/%m"] }}

Month / day

{{ X.date_start.["%m/%d"] }}

Full written date

{{ X.date_start.["%A %d %B %Y"] }}

The same formatting options can be applied to date_end.


7. Destinations

Use these variables inside:

{% for destination in destinations %}

Information

Variable

Index

{{ destination.index }}

Destination

{{ destination.destination }}

Sub-destination

{{ destination.subdestination }}

Images

destination.images

Long description

{{ destination.description }}

Long description

{{ destination.description.long }}

Short description

{{ destination.description.short }}

Start date

{{ destination.date_start }}

End date

{{ destination.date_end }}

Duration

{{ destination.duration }}

Nights

{{ destination.nights }}


8. Travelers

Use these variables inside:

{% for traveller in travellers %}

Information

Variable

Index

{{ traveller.index }}

Full name

{{ traveller.name }}

First name

{{ traveller.first_name }}

Last name

{{ traveller.last_name }}

Email

{{ traveller.email }}

Phone

{{ traveller.phone1 }}

Custom fields

traveller.custom_fields


9. Suppliers

Use these variables inside:

{% for supplier in suppliers %}

Information

Variable

Index

{{ supplier.index }}

Title

{{ supplier.title }}

Destination

{{ supplier.destination }}

Sub-destination

{{ supplier.subdestination }}

Images

supplier.images

Address

{{ supplier.address }}

Address name

{{ supplier.address.name }}

Address label

{{ supplier.address.label }}

Postal code

{{ supplier.address.zip }}

City

{{ supplier.address.city }}

Country

{{ supplier.address.country }}

Contacts

supplier.contacts

Category

{{ supplier.category }}

Subcategory

{{ supplier.subcategory }}

Products

{{ supplier.products }}

Products with options

{{ supplier.products.option }}

Products without options

{{ supplier.products.no_option }}

Long description

{{ supplier.description }}

Long description

{{ supplier.description.long }}

Short description

{{ supplier.description.short }}

Capacity

{{ supplier.capacity }}

Website

{{ supplier.website }}

Number

{{ supplier.number }}

Stage

{{ supplier.stage }}

Custom fields

supplier.custom_fields

Logo

{{ supplier.logo }}


10. Provider

Provider information has its own set of variables.

To find them in the variable drawer, go to:

Product → Provider

Provider variables follow the same structure and logic as Supplier variables, but retrieve information from the provider associated with the product.

⚠️ Supplier and Provider are not interchangeable.

Make sure you select the correct information source, especially when a product contains both Supplier and Provider information.


11. Supplier contacts

To repeat the contacts associated with a supplier, use:

{% for contact in supplier.contacts %}

Inside that loop, you can use:

Information

Variable

Index

{{ contact.index }}

Email

{{ contact.email }}

Title / function

{{ contact.title }}

Full name

{{ contact.name }}

Civility

{{ contact.civility }}

Main phone

{{ contact.phone1 }}

Secondary phone

{{ contact.phone2 }}

First name

{{ contact.first_name }}

Last name

{{ contact.last_name }}

These variables apply to contacts accessed from a supplier.


12. Products

Products can be accessed from different contexts.

For example:

{% for product in x.product %}

or:

{% for product in product %}

When the products belong to another program item, X can represent:

  • activity

  • step

  • accom

  • transp

Inside the product loop, use:

Information

Variable

Title

{{ product.title }}

Long description

{{ product.description }}

Long description

{{ product.description.long }}

Short description

{{ product.description.short }}

Capacity

{{ product.capacity }}

Notes

{{ product.notes }}

Unit sales price

{{ product.price }}

Quantity

{{ product.price.quantity }}

Total sales price

{{ product.price.total }}

Unit purchase price

{{ product.price.purchase }}

Total purchase price

{{ product.price.purchase_total }}

Images

product.images

Supplier

product.supplier

Associated step

product.step

Packages

product.package

Custom fields

product.custom_fields

⚠️ product.supplier is available only when you are not already inside the context of a supplier.

Similarly, product.step is available only when you are not already inside the context of an activity, accommodation, transport, or step.


13. Images

Images can be accessed from several objects using a loop such as:

{% for image in element %}

Available image collections include:

  • day.images

  • activity.images

  • step.images

  • accom.images

  • transp.images

  • destination.images

  • supplier.images

  • product.images

  • package.images

For example:

{% for image in day.images %}

allows you to repeat a block for each image associated with the current day.

⚠️ The Slides image modifiers [crop], [center], and the default Slides image behavior do not work in HTML.

In HTML templates, image size, crop behavior, alignment, proportions, and positioning must be controlled through CSS.

Did this answer your question?