---
title: "Schedule"
description: "Choose when your webinar runs, using specific dates, recurring times, just-in-time sessions or instant watch, and how timezones and session times work."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.meetfullhouse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Schedule

The schedule decides which session times a visitor can pick on your registration page. A webinar needs at least one schedule with a session to offer before it can be published. Open it from **Webinars → your webinar → Set up → Schedule**.

![The Schedule step of Set up, with a schedule and its insights panel](/images/webinar-schedule.jpg)

You can add as many schedules as you like and they all work together. A common setup, suggested on the page itself, is specific launch dates plus an always-available just-in-time stream.

## Choose a schedule type

| Type | What it does | Use it when |
| --- | --- | --- |
| **Specific dates** | One-off sessions on dates you pick. | You're running a launch or a time-limited event. |
| **Recurring** | Repeats on the weekdays and times you set. | You want a fixed, believable timetable, such as Tuesdays and Thursdays at 18:00. |
| **Just-in-time** | A session is always "starting soon". | You run paid traffic or an evergreen funnel and want people watching while they're still interested. |
| **Instant watch** | Registrants go straight into the room. | You want on-demand viewing, with no wait at all. |

### Why the choice matters

Shorter waits tend to mean better attendance. FullHouse says so on the page itself: "People who wait under 10 minutes show up most". A just-in-time session catches someone while they're still paying attention. A specific date gives you a real deadline and a sense of occasion, but more people forget in between, which is what [reminder emails](/webinars/reminder-emails) are for.

The type also changes which reminders can reach people. A reminder is only sent if its time is still ahead when they register, so an instant-watch registrant gets only the confirmation. See [Reminders that get skipped](/webinars/reminder-emails#reminders-that-get-skipped).

## Add a schedule

1. **Choose the type**

   On the **Schedule** step, choose **Add schedule** and pick a type.
2. **Fill in the dialog**

   At the top, a plain sentence reads your settings back, such as "Run a session every Mon, Wed at 18:00." Below it, **With this schedule, someone arriving now gets** shows the sessions a visitor would be offered at this moment, and it updates as you change things.
3. **Save it**

   Choose **Add schedule**. It's saved straight away, and appears as a card on the step. There's no separate **Save changes** button here. If the dialog stays open, read the message above its buttons. See [If a schedule won't save](#if-a-schedule-wont-save).

Each card has a pencil to edit it and a bin to delete it. An **Inactive** label means the schedule is switched off and offers no new sessions. The dialog has no on/off switch: schedules are only switched off through an [MCP client](/mcp). In the app, delete a schedule you don't want.

## Specific dates settings

| Setting | Default | Limits | What it does |
| --- | --- | --- | --- |
| **Session dates** | None | 1 to 50 dates | Each row is a date and time in the schedule's timezone. Use **Add date** and the X to remove one. |
| **Timezone** | Your browser's timezone | | How to read the dates you enter. |
| **Allow joining in progress** | On | | See [Late arrivals](#let-people-join-late). |
| **Late join grace** | 15 minutes | 0 to 240 | See [Late arrivals](#let-people-join-late). |
| **Registration cutoff** | 0 minutes | 0 to 1,440 | Stop offering a session this many minutes before it starts. |

Sessions are created when you save, one per date. Dates already in the past are ignored.

An empty date row stops the schedule saving, so remove any row you didn't fill in.

## Recurring settings

| Setting | Default | Limits | What it does |
| --- | --- | --- | --- |
| **Days** | Mon to Fri | At least one | Which weekdays to run on. |
| **Times** | 10:00 | 1 to 12 times | Each time runs on every selected day. **Add time** starts a new row at 18:00. |
| **Timezone** | Your browser's timezone | | The timezone for these days and times. |
| **Allow joining in progress** | On | | See [Late arrivals](#let-people-join-late). |
| **Late join grace** | 15 minutes | 0 to 240 | See [Late arrivals](#let-people-join-late). |
| **Registration cutoff** | 0 minutes | 0 to 1,440 | Stop offering a session this many minutes before it starts. |
| **Blockout dates** | None | Up to 100 | Dates with no sessions, such as public holidays. |

FullHouse looks about three weeks ahead when working out what to offer.

## Just-in-time settings

| Setting | Default | Limits | What it does |
| --- | --- | --- | --- |
| **Session interval** | Every 15 minutes | 5, 10, 15, 30, 45 or 60 | How often a session can start. |
| **Minimum wait** | 5 minutes | 0 to 60 | Never show a session starting sooner than this. |
| **Options shown** | 2 | 1 to 4 | How many upcoming just-in-time slots registrants can pick from. |
| **Day starts** | 08:00 | | No sessions before this time. |
| **Day ends** | 22:00 | Must be after **Day starts** | No sessions after this time. |
| **Timezone** | Your browser's timezone | | The timezone for those hours. |
| **Allow joining in progress** | On | | See [Late arrivals](#let-people-join-late). |
| **Late join grace** | 15 minutes | 0 to 240 | See [Late arrivals](#let-people-join-late). |
| **Blockout dates** | None | Up to 100 | Dates with no sessions. |

**Day starts** and **Day ends** hide night-time sessions, which keeps things believable. Nobody expects a live training at 3am. Remember they're in the schedule's timezone, so think about where your audience is. A window of 00:00 to 23:59 gives you sessions around the clock.

Some details are worth knowing:

- **Sessions start on clock multiples of the interval.** Starts are counted from midnight, so every 15 minutes means :00, :15, :30 and :45. Every 45 minutes means 00:00, 00:45, 01:30 and so on, which is why an 08:00 start gives a first session at 08:15. Use 5, 10, 15, 30 or 60 for times that look natural.
- **A session can start exactly at Day ends**, if that time lands on the interval. With a 22:00 end and a 15-minute interval, the last session starts at 22:00 and runs past it. The "A visitor arriving now" panel counts it too.
- **Overnight windows aren't possible.** Day ends must be later than Day starts in the same day. Otherwise you'll see "End time must be after start time."

## Instant watch settings

| Setting | Default | Limits | What it does |
| --- | --- | --- | --- |
| **Allow joining in progress** | On | | See below. |
| **Late join grace** | 15 minutes | 0 to 240 | See below. |

Each person gets their own session, starting the moment they register. Their thank-you page moves them straight into the room. On the registration page the option reads **Watch now**, "starts as soon as you register".

The late join setting matters here more than you might expect. The clock starts at registration, so someone who registers but doesn't reach the room, then comes back after the grace period, sees the missed state rather than the video. Set the grace to 0 if you'd like them to be able to come back any time during the video.

## Let people join late

**Allow joining in progress** and **Late join grace** decide what happens when someone arrives after a session has started.

| Setting | Effect |
| --- | --- |
| **Allow joining in progress** on | Late visitors join at the live position instead of being turned away, so they start part-way through, like a real broadcast. |
| **Late join grace** | How long after the start someone can still join. 0 means any time until the video ends. |
| **Allow joining in progress** off | Anyone arriving more than 60 seconds after the start is treated as having missed it. |

The rules apply in two places:

- **On the registration page**, a session that's already running can be offered as "live now · join in progress" for as long as it's within the grace. For recurring and just-in-time schedules, this needs at least one registrant, because those sessions don't exist until someone picks them.
- **At a personal link**, someone arriving inside the grace gets into the room. After it, they see the missed state, along with up to three other sessions to choose from. Anyone who has already joined that session can come back at any time until it ends, whatever the grace.

## Decide how many sessions to show

Two settings limit how many times a visitor sees:

- **Session options shown** on the [Registration page](/webinars/registration-page) step: 1 to 6, default 3. This is the overall limit.
- **Options shown** on a just-in-time schedule: 1 to 4, default 2. This limits that schedule only.

To build the list, FullHouse combines the sessions from all active schedules, removes duplicates with the same start time, puts any running session first and sorts the rest soonest-first. Then it cuts the list to **Session options shown**. The first option is selected by default.

:::caution
**Launch dates can get crowded out**

Because the list runs soonest-first, a just-in-time schedule can push specific dates off the page. With the defaults, two of the three places go to just-in-time slots, so only your next launch date fits. If you raise **Options shown** to 3, or lower **Session options shown** to 2, launch dates disappear altogether. When you combine the two, raise **Session options shown**, then check the **A visitor arriving now can pick** panel.
:::

## How timezones work

Every schedule except **Instant watch** has its own **Timezone**. It starts as your browser's timezone. Dates, times, day hours and blockout dates are all read in that timezone.

Each visitor then sees the times according to your [Time display setting](/webinars/details#choose-how-times-are-shown). So a session at 18:00 in New York shows as 23:00 for someone in London, if **Visitor's local time** is on.

### Daylight saving

Recurring and just-in-time schedules keep to the wall clock in the schedule's timezone. 18:00 stays 18:00 local time through the clock change. For visitors in places that change on a different date, or not at all, the time they see shifts by an hour around that date.

| Situation | What FullHouse does |
| --- | --- |
| A time that doesn't exist because clocks go forward (Recurring or Just-in-time) | That occurrence is skipped. Other times on the same day still run. |
| A time that doesn't exist because clocks go forward (Specific dates) | The schedule won't save. Pick a different time. |
| A time that happens twice because clocks go back | The first of the two is used. |

A session that someone has already registered for is fixed to an exact moment, and doesn't move if you change the schedule later.

## Block out dates

On **Recurring** and **Just-in-time** schedules, use **Blockout dates** to skip days such as holidays. Pick a date, choose **Add**, and repeat. Remove one with the X on its label. No sessions are offered on these dates, counted in the schedule's timezone.

To skip one particular session rather than a whole day, [cancel it on the Sessions tab](/run/sessions). A canceled time isn't offered again, even on a recurring schedule.

## Read the insights panel

Below your schedule cards, FullHouse shows what your settings produce right now.

| Part | What it tells you |
| --- | --- |
| **A visitor arriving now can pick, at (time)** | The session times on offer, each with how soon it starts or its date. An instant schedule shows **Watch now**, "starts on sign-up". |
| "Nothing yet. Check the schedule's days and hours." | No sessions are available right now. Check the days, the hours and that your dates are in the future. |
| **The average wait is about N min** | For a just-in-time schedule: the minimum wait plus half the interval. If a shorter interval would help, FullHouse tells you what the new wait would be. |
| **Your day** | For the first active just-in-time schedule: a bar across 24 hours showing when sessions run, the tick marks where they start and a marker for now, with "Up to N start times" and the timezone. The count and ticks use the real start times, which are whole multiples of the interval from midnight. |
| "A session that's already running is also offered while it's still early enough to join." | Shown when a running session is on offer. |

With an active **Instant watch** schedule, this panel lists **Watch now** alongside other schedules' times, as the real registration page does.

## How sessions are created

A session is one start time that registrants share.

- **Specific dates**: sessions are created when you save the schedule.
- **Recurring and Just-in-time**: a session is created the first time someone registers for that time. Everyone else who picks the same time joins the same session. Until then, it doesn't appear on the [Sessions](/run/sessions) tab.
- **Instant watch**: a session is created for each person as they register.

A session lasts as long as the video. If you replace the video with one of a different length, upcoming sessions and their follow-up email times update, while running and past sessions stay as they were.

If a visitor keeps the page open and picks a time that's no longer available, including a date you've removed, FullHouse puts them in the next available session from that schedule rather than showing an error, and their confirmation shows the real date. If that schedule has nothing left, they see "That session is no longer available — pick another time."

## Change or remove a schedule

| You do this | What happens |
| --- | --- |
| Edit a **Recurring** or **Just-in-time** schedule | New settings apply to what's offered from now on. Sessions people have already registered for stay at their original time. |
| Remove a date from **Specific dates** | A future session with no registrants is deleted. A session with registrants stops being offered to new visitors, on the sign-up page, the embed, the reschedule list or as a session in progress. People already booked keep their seat, link and emails. To stop it running, [cancel it on the Sessions tab](/run/sessions), which also cancels its pending emails. |
| Change the **Timezone** on **Specific dates** | Dates are re-read in the new timezone. Empty future sessions move. Sessions with registrants stay at the original moment for the people booked on them, and are no longer offered to new visitors. |
| Delete a schedule | You'll be asked "Remove this schedule? Future empty sessions from it are deleted." People already registered keep their session and still get their emails. |
| Delete your last usable schedule on a published webinar | The webinar stays published, but the page shows "No upcoming sessions right now. Check back soon." and the button is disabled. |

## If a schedule won't save

When something in the dialog isn't valid, the dialog stays open after you choose **Add schedule** or **Save schedule**, and the message shows on its own line above the buttons. It clears on your next edit.

| Message | What to do |
| --- | --- |
| "Enter a valid date and time in the selected time zone." | Fill in every row, and avoid a time in the hour skipped when clocks go forward. |
| "Choose 1–50 session dates." | **Specific dates** needs at least one date and no more than 50. |
| "Choose the days of the week." | **Recurring** needs at least one day selected. |
| "Choose 1–12 times in HH:MM format." | **Recurring** needs at least one time and no more than 12, with every row filled in. |
| "End time must be after start time." | On **Just-in-time**, **Day ends** must be later than **Day starts**. |

## If you can't publish

"Add at least one schedule before publishing." means your schedules have no session to offer right now. Check for past dates, blocked days or an inactive schedule, and look at what the **A visitor arriving now can pick** panel shows.

Source: https://docs.meetfullhouse.com/webinars/schedule/index.mdx
