---
title: "Almanac Lite: setup guide"
description: Almanac Lite is the free edition of Almanac, for training providers, independent trainers, associations and teams that run a few workshops.
---

[Skip to content](https://www.airdatethemes.com/almanac-lite-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

# Almanac Lite: setup guide

Almanac Lite is the free edition of [Almanac](https://www.airdatethemes.com/almanac?hsLang=en), for training providers, independent trainers, associations and teams that run a few workshops. You enter each programme and its dates once. The programme list, programme pages, schedule and enrolment form follow on their own: past dates leave the site by themselves, and each date shows "Enrolment closes in 2 days", "3 seats left" or "Full" without anyone touching a page.

It works on every HubSpot plan with website pages. No HubDB table, no app, no custom object to set up. Almanac Lite is complete and free for good: no banner and no locked feature. The catalogue holds up to 80 programmes with up to 60 dates each.

## 1. Install and set the theme

1. Install Almanac Lite from the HubSpot Template Marketplace.
2. Go to **Content \> Website pages \> Create**, pick **Almanac Lite**, then a template (start with *Home*).
3. Open **Edit theme** to set your identity. Every block of the theme reads these settings: 
     - **Colors**: primary (buttons, links), highlight (marker behind key words, "closing soon" tags), text, page and soft backgrounds, dark sections, and the two status colors (open, closing soon).
     - **Fonts**: headings, body, and *Dates and figures* (a monospaced font for dates, prices and tables; pick your body font to turn the effect off).
     - **Layout**: content width, section spacing, corner radius, *Hairline rules* (the thin lines of the printed look) and *Subtle motion*.
     - **Header**: background, logo height, sticky header and menu font. **Footer**: background and text colors.
4. Set your logo and favicon in **Settings \> Content \> Brand kit**: the header and footer logos use them.
5. Create the pages the theme links to, at these addresses (every link can be changed later): 
     - `/` with the *Home* template, `/programmes` with *Programme catalogue*, `/dates` with *All dates*;
     - `/programmes/<programme key>` with *Programme*, one per programme (section 3): a page at the address of a programme's *Programme page* is linked to it by itself;
     - `/enrol` with *Enrolment* and `/enrol/thank-you` with *Enrolment thank-you* (section 4);
     - `/about`, `/contact`, and your privacy page at `/privacy` (linked from the landing page footer).
    Tip: finish one programme page (form, redirect, texts), then clone it for the others.
6. In the footer, pick a menu for **Footer menu** and for **Legal links**: until you do, both show your main menu.

## 2. The catalogue: enter everything once

Every Almanac Lite page carries one global module, **Almanac Lite: Catalogue (data)**. In the page editor, scroll to the bottom of the page, click the yellow *Almanac catalogue* note, then **Open in global content editor**. What you change there updates every page of the site.

### Programmes

- **Programme name**, **Programme key** (a short id used in links and forms; leave empty to build it from the name), **Programme page** (see section 3).
- **Category**, **Format** (online, in person, hybrid, self-paced) and **Level**, shown on the programme cards and pages.
- **Duration** (as visitors should read it), **Hours of teaching**, **Certificate**, **Prerequisites**, **Funding options**, **Summary**.
- **Price** (a number, without currency sign; 0 shows "Free", empty shows "Price on request").
- **Image** (optional, 16:10). Without one, the card shows a generated cover: pick its pattern in *Generated cover*.
- **Featured**: featured programmes can be shown alone (home page block) and are used first when a programme page is not linked yet.

### Dates of a programme

Each programme has its own list of **Dates**, one per run. Add them as far ahead as you like; you never need to delete past ones.

- **Starts** and **Ends** (leave *Ends* empty for a one-day date; the last day is shown as typed, in every time zone), **Enrolment deadline** (empty: enrolment closes when the date starts, or earlier with *Close enrolment before the start* in Settings).
- **Location** (a city, a campus or "Online") and its **Time zone**. For in-person dates, pick the time zone of the place: visitors see the time as it is on site, with its zone. For online dates, leave *Visitor's time zone*: each visitor sees the time in their own zone.
- **Show the start time**: off by default (most programmes show days only). Type the real start time even when it is not shown: a date entered at 12:00 AM can show the day before to visitors west of your HubSpot account's time zone.
- **Seats left**: update it as people enrol. Empty hides the count; 0 marks the date full.
- **Status**: *Automatic* works it out for you (table below). Pick another status to force it, or *Cancelled* to hide a date without deleting it.
- **Price for this date** (if it differs from the programme's), **Schedule** (e.g. Tue & Thu, 6–9 pm), **Language**, and **Booking link** for a date sold on another site.

### How statuses are worked out

| Status shown | When | Can visitors enrol? |
| --- | --- | --- |
| Open for enrolment | Before the deadline, with more seats than the "few seats" threshold | Yes |
| Enrolment closes in N days | The deadline is within the "closing soon" window (7 days by default) | Yes |
| N seats left | Seats left at or below the "few seats" threshold (5 by default) | Yes |
| Full / Enrolment closed | 0 seats left / the deadline has passed | No |
| (hidden) | The date has started, ended or is cancelled | No |

Everything is computed in the visitor's browser each time a page opens. HubSpot caches pages, so anything computed on the server would go stale; with Almanac Lite, a deadline that passed an hour ago is already closed on every page.

### Settings

- **Currency** and **Date language** (dates follow the page language unless you force one).
- **Dates are typed in**: HubSpot stores date and time fields in the time zone of your HubSpot account. Choose *The local time of each date's time zone* and set *My HubSpot account's time zone*: you then type 6 pm for a 6 pm class in Toronto, even if your account is set to Paris. Recommended as soon as you teach in more than one time zone.
- **Enrolment page** (`/enrol` by default): the page built with the Enrolment template. Enrol buttons outside a programme page open it with the chosen date.
- **Hidden form field** and, optionally, **Also fill** properties for the programme, the date (YYYY-MM-DD) and the place, for lists and reports. **'Closing soon' starts**, **'Few seats left' from**, **Close enrolment before the start**.
- **Programme index above the footer**: a plain list of every programme, on every page. It helps visitors and search engines.

### Words on the site

Every word Almanac Lite writes for you ("Open for enrolment", "Next start", "Enrolment closes in {n} days"...) is a field of the catalogue, under *Words on the site*. `{n}` is replaced by a number or a date. On a multilingual site, translate them in each language version of this global content (see *Multilingual sites* below).

## 3. Programme pages

1. Create one page per programme with the **Programme** template.
2. In the catalogue, set that page as the programme's **Programme page**. The header, facts, dates table and enrolment form of the page now follow that programme.
3. Write the rest of the page as usual: curriculum, testimonials, FAQ. Type the programme name in the header's *Heading* field too: search engines read it without running scripts.

A block can also show another programme: type its key in the block's *Programme key* field. Until a page is linked, its blocks show your first featured programme, and a yellow note in the editor reminds you to link it.

## 4. Enrolment and forms

1. In **Settings \> Properties**, create a contact property of type *Single-line text* with the internal name `chosen_date` (or another name, set in the catalogue settings).
2. Create your enrolment form and add that property as a **hidden field**. Forms from both HubSpot form editors are supported.
3. Pick the form in the **Almanac Lite: Enrolment form** module (on the Programme and Enrolment templates). Visitors choose a date in the picker; the hidden field receives the programme, date and place, for example `Data Analysis with SQL and Python · 2027-02-01 · London [data-analysis-sql-python-2027-02-01-london]`. The day in that value is the day in the date's own time zone (UTC for online dates), so every contact of the same date gets exactly the same value, wherever they are.
4. In the module's form settings, choose **Redirect to another page** and pick your **Enrolment thank-you** page, on every page with the form (the default shows a message instead). The thank-you page shows the date just sent with *Google Calendar*, *Outlook.com*, *Office 365* and *.ics* buttons (the .ics file can carry a reminder, a setting of the confirmation module, and shows a course's days as free time so weeks of classes do not block the calendar).
5. In a workflow triggered by the form, branch on `chosen_date` (contains "London", contains the programme key...) to send the right confirmation and add the contact to the right list.

**Enrol** buttons on a programme page scroll to the form and pick their date. Elsewhere they open the Enrolment page with `?date=` in the address, and the date is already selected. On the Enrolment page, the form appears once the visitor picks a date, so nobody sends a request without one; link to it with `?programme=data-analysis-sql-python` to preselect the next date of a programme. A programme with no open date still takes requests: its form sends `Programme · no date [key]`, so you know what the visitor wants.

### Workflow recipes

These recipes use workflows, which come with HubSpot's Professional plans. On other plans, an active list filtered on `chosen_date` (contains the date key) shows who asked for which date.

- **Confirmation by date**: trigger on the enrolment form, branch on the date property (or on `chosen_date` contains the date key), send the email of that date with its place and schedule.
- **Seats**: seats are a number you update in the catalogue. A weekly task for the owner of each date ("update seats left for London, March") keeps "3 seats left" honest.
- **Reminders**: a date property filled by the form lets a workflow send a reminder a week before the start ("Date property is 7 days from now").

## 5. Templates

- **Home**: next intakes board, featured programmes, how it works, the next six dates, testimonials, questions and a call to action.
- **Programme catalogue**: every programme with its next date, price and status.
- **Programme**: header with the facts from the catalogue, curriculum, dates, testimonials, questions and the enrolment form.
- **All dates**: every upcoming date, month by month.
- **Enrolment** and **Enrolment thank-you**.
- **About**, **Contact**, **Landing page (no menu)** for a guide or brochure, and **Text page** for legal content.
- **Blog listing** and **Blog post** (with the next open date under each post).
- System pages: 404 (with the next intakes, always current), 500, password prompt, search results, and the three email subscription pages.

## 6. Modules and sections

**Driven by the catalogue**: Programme catalogue, Programme header, Programme dates, Schedule, Next intakes board, Next date and deadline (with countdown), Enrolment form, Enrolment confirmation. **Content**: Hero, Section heading, Features, Curriculum, Testimonials, FAQ (with FAQ data), Call to action, Form, Button, Social links, Menu. Each module has a Styles tab. In the page editor, **Add \> Sections** lists 20 ready-made sections built from these modules. Section headings number themselves (01, 02...) in page order when their number is set to *auto*.

**Anchors**: the FAQ, Form and Schedule modules have an *Anchor* field (`faq`, `contact`, `dates` by default), and the Programme dates and Enrolment form blocks answer to `#dates` and `#enrol`, so a button linking to `#contact` scrolls to the form of the page.

**Also free**: our [free modules](https://www.airdatethemes.com/free-modules?hsLang=en) work in any theme, Almanac Lite included; the page says which ones are on the Marketplace. For example, *Airdate Early-bird Price* shows a price that changes on its own at a date, and *Airdate Calendar Month* a month view of dates you type in the module itself (it does not read the catalogue).

**Section spacing** (Edit theme \> Layout) sets the space above and below sections that use the default spacing, 60% of it on phones. Openings, forms and landing sections keep their own spacing, which you can change section by section.

## 7. Menus

**Header menu**: items with sub-items open a dropdown. **Footer menu**: top-level items become column titles. **Legal links**: one line. Menus are edited in **Settings \> Content \> Navigation**.

## 8. Good to know

- **Time zones**: by default, HubSpot's date and time fields use the time zone of your HubSpot account. Switch *Dates are typed in* to local time as soon as you teach in several time zones (section 2).
- **A programme page shows another programme**: the page is not set as the *Programme page* of any programme in the catalogue yet, so it shows your first featured programme (a yellow note says so in the editor).
- **The hidden field stays empty**: check that the form has a hidden field whose internal name matches the catalogue setting, and that a date is selected in the picker.
- **A deadline passed but the date still shows "Open"**: the page shows the status at the moment it was opened; it updates every minute and at each visit. Check the *Enrolment deadline* and the time zone settings.
- **A date does not show**: it has started, ended, or its status is Cancelled.
- **Without JavaScript**, pages still show their text, the programme index and the forms; the live parts (dates, statuses, prices) need JavaScript, like every date on a cached page.
- Almanac Lite adds no cookie and loads no library: one script and one stylesheet, plus a small stylesheet per module used on the page.

## 9. When you need more: Almanac

[Almanac](https://www.airdatethemes.com/almanac?hsLang=en), the full theme, runs on the same engine and adds what a marketing team uses: catalogue filters and search, a menu panel that lists every programme by itself, events (info sessions, open days, webinars) with their pages and landing pages, a waitlist when a date is full, early-bird prices that end by themselves, a payment plan, a currency per date, campus pages, instructor profiles, pricing and comparison pages, a month calendar, three home pages, header and footer layouts, and course and event data for search engines.

The catalogue is a global module of the theme: its content does not follow a change of theme. Moving from Almanac Lite to Almanac means entering your programmes and dates again in Almanac's catalogue (the fields have the same names).

## Multilingual sites

Dates, times and prices follow the language of each page. The words Almanac Lite writes are fields of the catalogue (*Words on the site*) and of each module, so each language version of a page can have its own. Programme names and summaries are typed once in the catalogue: if your site is in several languages, give each language its own programme pages and link them in the catalogue of that language.

## Versions

- **1.0**: first release.

## Support

Write to [support@airdatethemes.com](mailto:support@airdatethemes.com) (English or French). We answer within two working days, and ship fixes as theme updates that install without touching your content.

[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.