Putting your schedule on your website, and selling tickets to it
A guide is not a schedule, and your audience needs both. The **Film Program** block answers "what films are in this festival". The **Festival Schedule** block answers the question somebody planning their weekend actually has: what is on at 2pm Saturday, what is in it, and can I still get in.
**How the schedule is put together.** A festival is a season, and each thing you sell admission to is an event inside it — a shorts block, a feature, an opening reception, an awards ceremony. Because each one is a real event, it has its own tickets, its own capacity and its own door scanning. Nothing separate had to be invented for festivals, which means everything you already know about events applies here.
To build it:
1. Create the season for this year's festival with its first and last day.
2. Add one event per program block. Give it the date, start and end time, and the venue — you can run different days at different venues and the schedule groups them correctly.
3. Put the films in each block, in running order.
4. Set the ticket price on each block.
**Putting it on your site.** In the Builder, add the **Festival Schedule** block to a page — most festivals give it its own /schedule page. It shows your days as tabs, every block in time order with its venue and what is playing, and a **Get tickets** button that takes payment right there on the page. Buyers never leave your schedule to pay.
Add the **Festival Passes** block underneath it. Somebody coming for one screening buys a ticket; somebody coming for the weekend buys a pass, and having both on the same page means neither has to go looking.
For a home page, use **Festival Schedule (compact)** instead. It shows the next few blocks and links to the full schedule. It deliberately does not sell tickets — one checkout to keep right is better than two.
**Content advisories are always shown, and you cannot turn them off.** If a film carries an 18+, nudity, strobe/flashing-lights, substance-abuse or suicide/self-harm advisory, it appears on the block in the schedule itself — not hidden behind a detail view. Somebody photosensitive has to see a strobe warning while scanning the schedule, not after opening something they had no reason to open. Put the advisory on the film when you add it and the schedule carries it up to the block automatically.
**What the public can and cannot see.** The schedule serves only blocks you have published — a draft or private event never appears. The response is built from a named list of public fields, so vendor notes, marketing lists and internal settings on those events are never exposed, even by accident.