---
title: "Airdate Event Schedule: setup guide"
description: Airdate Event Schedule is a free HubSpot module. You type the programme of your event in it, hour by hour, with a tab per day.
---

[Skip to content](https://www.airdatethemes.com/airdate-event-schedule-docs#main-content)

[![Northwind](https://www.airdatethemes.com/hs-fs/hubfs/airdate-demo/northwind-logo.png?width=600&height=192&name=northwind-logo.png "Northwind")](https://149405016.hs-sites-eu1.com/en/growth-sessions?hsLang=en)

- [Sessions](https://www.airdatethemes.com/en/growth-sessions#sessions)
- [Replays](https://www.airdatethemes.com/en/growth-sessions#replays)
- [Speakers](https://www.airdatethemes.com/en/growth-sessions#speakers)
- [FAQ](https://www.airdatethemes.com/en/growth-sessions#faq)

- [Sessions](https://www.airdatethemes.com/en/growth-sessions#sessions)
- [Replays](https://www.airdatethemes.com/en/growth-sessions#replays)
- [Speakers](https://www.airdatethemes.com/en/growth-sessions#speakers)
- [FAQ](https://www.airdatethemes.com/en/growth-sessions#faq)

[Save my seat](https://149405016.hs-sites-eu1.com/en/growth-sessions?hsLang=en#register)

Documentation

# Airdate Event Schedule: setup guide

Airdate Event Schedule is a free HubSpot module. You type the programme of your event in it, hour by hour, with a tab per day. During the event, the slot happening now is highlighted, the next one is marked "Up next" and the slots that are over are dimmed. Visitors in another time zone also see their own time under each slot.

It works on every HubSpot plan. No app to install, no account to create, no outside script.

## 1. Install and add the module

1. Install Airdate Event Schedule from the HubSpot Template Marketplace.
2. Open a website page, landing page or blog post in the editor.
3. In the **Add** panel, search for **Airdate Event Schedule** and drag it where you want the programme.
4. Set the **Event time zone**, then fill in one row of **Days** per day, with its **Date** and its **Slots**. Publish.

A new module comes with a two-day sample programme and no dates. The programme shows as typed, but nothing is highlighted until each day has a **Date**: the module needs it to know when a slot happens. Until then, a yellow note in the editor says so.

## 2. Heading and introduction

- **Heading** and **Heading level** (H2, H3 or H4): the title above the programme, "Programme" by default. Leave it empty to show none. The heading also names the programme and its row of tabs for screen readers.
- **Introduction**: one line under the heading, such as "Two days in Lyon. All times are Paris time."

## 3. Event time zone

A time zone name such as `Europe/London` or `America/New_York`. The field starts empty: for an event at a given place, type the zone of your venue. While it is empty, a yellow note in the editor reminds you. Every slot time is read in this zone. See "How time zones work" below.

## 4. Days

One row per day, up to 7. With two days or more, each day becomes a tab; with one day, there are no tabs.

- **Tab label**: the name of the tab, such as "Monday" or "Workshops". Left empty, it reads "Day 1", "Day 2" and so on (the word "Day" is a field of the **Texts** group).
- **Date**: the calendar day. It is written under the tab label ("Tue, Jun 3") in the language of the page, and it tells the module when each slot happens. Without a date, the day's slots are shown but never highlighted, dimmed or converted to the visitor's time.
- **Slots**: the programme of the day, up to 40 slots. See below.

## 5. Slots

Type the slots in any order: the module shows them sorted by start time.

- **Start time**: the local time of the event, such as `09:30` or `2:15 pm`. See "Time formats" below.
- **End time (optional)**: left empty, the slot ends when the next slot starts. See "When a slot ends".
- **Title**: the name of the session, break or activity.
- **Kind**: *Talk or session* (plain row), *Workshop* (a small square in the accent color after the title), *Break or meal* (a tinted row and an italic title) or *Social or networking* (a tinted row).
- **Speaker**: one or more names, shown under the title.
- **Room or track**: shown next to the speaker, such as "Main hall" or "Room B".
- **Details**: a short text under the title, such as "Bring a laptop. Twelve seats."

The time column shows the start and end exactly as you typed them, such as "10:15 – 11:30".

## 6. Options

- **Show each visitor's own time**: on by default. When a visitor is in another time zone than the event, a line such as "Your time: 4:15 AM" appears under each slot. It needs the **Event time zone**.
- **Dim slots that are over**: on by default. Slots that have ended fade, so the eye goes to what is left.

## 7. Texts

Every word the module adds is a field: "Day" (the default tab label), "Happening now", "Up next", "Your time:" and the time zone note "Times are local to the event:". Write them in your page's language. Dates and the visitor's times follow the language of the page.

## 8. Appearance

In the **Style** tab: accent (the selected tab, the badges, the edge of the current slot and the workshop square), current slot background, "Happening now" badge text (white by default: pick a dark one if your accent is light), text, secondary text, lines, break background (used for breaks and social slots) and corner radius (0 to 24 px). The module uses your theme's font.

## 9. Search engines (schema.org)

**Add event data for search engines (schema.org)** is off by default. Turn it on and the module adds schema.org Event data to the page: one event for the whole programme, from the start of the first slot to the end of the last one, with each slot that is not a break as a sub-event (its speaker and room included). Dates carry the offset of the **Event time zone**. When it is on, a few more fields appear:

- **Event name**: the real name of your event. Left empty, the module heading is used.
- **Attendance**: in person, online, or both. **Venue name** and **Venue address** for an event at a place (one of the two is needed); **Online event link** for an online event (this page by default).
- **Price** and **Currency** (optional): with both, the data includes an offer, linked to the **Tickets link** (this page by default). Leave the price empty to add none.
- **Organizer** (optional): your organisation.

Nothing is added while a day has no **Date**, nor in the editor. Google alone decides whether to show a rich result for your event: the data makes it possible, not certain. Once the page is published, paste its address into Google's [Rich Results Test](https://search.google.com/test/rich-results) to check what it reads.

## Time formats

Start and end times accept the usual ways of writing an hour:

- `9:30`, `09:30`, `9.30` or `14h00`;
- `2:15 pm`, `2:15pm` or `9 am`;
- an hour alone, such as `14`.

With the "h" form, write the minutes too: `14h00`, not `14h`. For an end at midnight, type `24:00`. A time the module cannot read (such as "after lunch") is still shown as typed, but that slot is never highlighted.

## When a slot ends

1. At its own **End time**, when there is one and it is after the start.
2. Otherwise, when the next slot of the day starts.
3. For the last slot of the day with no end, 30 minutes after its start.

A slot can run past midnight: an end time earlier than the start (22:00 to 02:00) is read as the next morning.

## Happening now, Up next and dimming

- **Happening now**: between the start and the end of a slot, the row takes the current slot background, an accent edge and a "Happening now" badge. Screen readers are told it is the current time.
- **Up next**: the first slot to come, if it starts within the next 12 hours, gets an "Up next" badge. Only the next start is marked (several slots when they start together), so the evening before, it can be the first slot of the next day. Weeks before the event, no slot is marked.
- **Dimming**: once a slot has ended, it fades (if **Dim slots that are over** is on). After the event, every slot is dimmed.

All of this is worked out in the visitor's browser and checked again every minute, so a page left open follows the day and cached pages stay right.

## Which day opens

When the page loads, the programme opens on:

1. the day that is in progress, from 12 hours before its first slot until its last slot ends;
2. otherwise, the next day that still has a slot to come;
3. otherwise (after the event, or when no day has a date), the first day.

Visitors can switch days at any time. The open tab is chosen once, when the page loads.

## How time zones work

- Slot times are the event's local times, read in the **Event time zone**. A note under the programme says so, with the name of the zone in the page's language: "Times are local to the event: Central European Summer Time".
- A visitor in another zone also sees "Your time: 4:15 AM" under each slot, with the day in brackets when it falls on another day, such as "Your time: 11:00 PM (Mon)". A visitor in the event's zone sees no second line.
- Days when the clocks change are handled: each time is converted with the zone's rules on that day.
- Leave the field empty only if the programme should read at the same clock time for everyone, wherever they are. Times are then read in each visitor's own zone: "10:30" is 10:30 in Paris for a visitor in Paris and 10:30 in New York for a visitor in New York, and "Happening now" follows each visitor's clock. There is no "Your time" line and no note. For an in-person or live online event, set the zone.
- Check the spelling of the zone name. An unknown name is ignored: times are then read in each visitor's zone, and the note about the event's zone is hidden. In the editor, a yellow note names the unknown zone.

## Tabs and keyboard

- With two days or more, the days are tabs. Click a tab, or focus it and use **Arrow Right** and **Arrow Left** to move between days (from the last day, Arrow Right goes back to the first), **Home** for the first day and **End** for the last.
- The tabs are real tabs for screen readers, each linked to its day. On small screens, the row of tabs scrolls sideways.
- Workshops, breaks and social slots are announced as such to screen readers ("Workshop: …"); the words are in **Texts**.
- Tabs are at least 44 px high and have a visible focus outline.

## Without JavaScript

The programme is written in the page itself. If a visitor's browser does not run JavaScript, or a search engine reads the page, every day is printed one after the other with its label and date, and the tabs stay hidden. Only the live parts are missing: the badges, the dimming and the visitor's own time.

## Accessibility

- The programme is a region named by its heading; each day is an ordered list of slots.
- "Happening now" and "Up next" are written in words, not shown by color alone, and the current slot is announced as the current time.
- The kind of a slot is shown by its style and announced to screen readers ("Workshop: …"), so there is no need to repeat it in the title.
- The heading level is yours to choose, to fit the outline of the page.

## Limits

- Up to 7 days, and up to 40 slots a day.
- One programme per module. Parallel sessions are listed one after the other, not in columns; give them an end time each. When several slots start at the same moment, they all get "Up next".
- No filtering by track or room, and no search.
- No speaker pages or photos: the speaker is a line of text.
- No add-to-calendar link per slot.
- The programme is typed in the module. It is not synced with HubDB, your CRM or a registration tool.

## FAQ

**Does it need Content Hub Pro?**  
No. It works on every HubSpot plan, including free.

**Does it work in emails?**  
No. It works in website pages, landing pages and blog pages (posts and listing).

**Nothing is highlighted during my event. Why?**  
Check that each day has a **Date**, that the **Event time zone** is the zone of the venue, and that the times are in a format listed under "Time formats".

**Can I use it for a one-day event?**  
Yes. With one day, there are no tabs: the day's label and date sit above the slots.

**Can I translate the labels?**  
Yes. All texts are fields, in the **Texts** group. Dates and the visitor's times follow the language of the page.

**Can I use it more than once on a page?**  
Yes. Each module has its own days and settings.

**Can visitors add a session to their calendar?**  
Not from the schedule. To let them save the whole event, add our free **Airdate Add to Calendar** module next to it.

## Texts in French, German and Spanish

Every word the module shows is a field. To use the module on a page in another language, open the module in the editor and paste these texts in the matching fields. Keep the words in braces, such as `{n}`, as they are: the module replaces them. Dates, times and numbers already follow the language of the page.

### French (Français)

| Field | Text to paste |
| --- | --- |
| Heading | Programme |
| Day (tab label default) | Jour |
| Days (name of the row of tabs when the module has no heading) | Jours |
| Now | En cours |
| Next | À suivre |
| Your time | Chez vous : |
| Time zone note | Horaires à l’heure locale de l’événement : |
| Workshop (read by screen readers) | Atelier |
| Break (read by screen readers) | Pause |
| Social (read by screen readers) | Moment convivial |
| Editor note: no time zone | Aucun fuseau horaire défini pour l’événement : les horaires sont lus dans le fuseau de chaque visiteur. Indiquez-en un (par ex. Europe/Paris) pour un événement dans un lieu précis. |
| Editor note: day without a date | Donnez une date à chaque jour pour que le créneau en cours soit mis en évidence et que les visiteurs voient leur propre heure. |
| Editor note: unknown time zone | Fuseau horaire inconnu : {zone}. Utilisez un nom IANA comme Europe/Paris ou America/New\_York ; d’ici là, les horaires des créneaux sont lus dans le fuseau de chaque visiteur. |

### German (Deutsch)

| Field | Text to paste |
| --- | --- |
| Heading | Programm |
| Day (tab label default) | Tag |
| Days (name of the row of tabs when the module has no heading) | Tage |
| Now | Läuft gerade |
| Next | Als Nächstes |
| Your time | Ihre Zeit: |
| Time zone note | Alle Zeiten in Ortszeit der Veranstaltung: |
| Workshop (read by screen readers) | Workshop |
| Break (read by screen readers) | Pause |
| Social (read by screen readers) | Networking |
| Editor note: no time zone | Keine Zeitzone für die Veranstaltung festgelegt: Die Zeiten gelten in der Zeitzone des jeweiligen Besuchers. Legen Sie eine fest (z. B. Europe/Paris), wenn die Veranstaltung an einem bestimmten Ort stattfindet. |
| Editor note: day without a date | Geben Sie jedem Tag ein Datum, damit der laufende Programmpunkt hervorgehoben wird und Besucher ihre eigene Uhrzeit sehen. |
| Editor note: unknown time zone | Unbekannte Zeitzone: {zone}. Verwenden Sie einen IANA-Namen wie Europe/Paris oder America/New\_York; bis dahin gelten die Zeiten in der Zeitzone des jeweiligen Besuchers. |

### Spanish (Español)

| Field | Text to paste |
| --- | --- |
| Heading | Programa |
| Day (tab label default) | Día |
| Days (name of the row of tabs when the module has no heading) | Días |
| Now | Ahora |
| Next | A continuación |
| Your time | Su hora: |
| Time zone note | Horarios en la hora local del evento: |
| Workshop (read by screen readers) | Taller |
| Break (read by screen readers) | Descanso |
| Social (read by screen readers) | Encuentro social |
| Editor note: no time zone | No se ha definido la zona horaria del evento: los horarios se interpretan en la zona de cada visitante. Indique una (p. ej., Europe/Paris) para un evento en un lugar concreto. |
| Editor note: day without a date | Asigne una fecha a cada día para que se resalte la franja en curso y los visitantes vean su propia hora. |
| Editor note: unknown time zone | Zona horaria desconocida: {zone}. Use un nombre IANA como Europe/Paris o America/New\_York; mientras tanto, los horarios se interpretan en la zona de cada visitante. |

## Support

Questions or a bug? Email [support@airdatethemes.com](mailto:support@airdatethemes.com), in English or French. We answer within two business days.

## Going further

This module shows the programme of one event. Two other free modules of ours, released one by one on the marketplace, work well beside it: **Airdate Add to Calendar**, so visitors save the date in Google, Outlook or Apple Calendar, and **Airdate Upcoming Dates**, to list the next dates of an event you run again and again, with seats left and registration deadlines.

**Almanac**, our premium theme for organisations that run on dates, has event pages and a full calendar. Coming soon to the marketplace.

For recurring webinars, **Airdate Webinar** (199 $) shows the next session with a countdown, the agenda and the replays. [See it on the marketplace](https://ecosystem.hubspot.com/marketplace/website/airdate-webinar-theme-by-emilien-poinsot).

[Follow us on Facebook](https://www.facebook.com/) [Follow us on LinkedIn](https://www.linkedin.com/) [Follow us on Twitter](https://www.twitter.com/) [Follow us on Instagram](https://www.instagram.com/)

© 2026 All rights reserved.