# Manage program schedules

> PositiveForm guide · Programs and schedules · PROG-002
> Canonical page: https://positiveform.com/guides/programs/manage-program-schedule/
> This Markdown: https://positiveform.com/guides/programs/manage-program-schedule.md

**Summary:** Create or edit recurring and one-time program meetings and meeting notes. The schedule and date-specific staff notes persist in the program settings context.  
**Who can do this:** Organization owners, Managers, Staff  
**Required access:** `members.change`  
**Where in PositiveForm:** `/programs/:slug/schedule/new`  
**Status:** Verified on 2026-07-29 against PositiveForm build `2463703`.

## Who this is for

This guide is for **desk staff, managers, and owners** setting when a program
actually meets.

There are two kinds of schedule, and picking the right one saves work:

- **Weekly** for a class that repeats, for example every Monday and Wednesday at
  4:30.
- A one-time session for a one-off, for example a seminar on a single date.

Separately from either, you can leave a **staff note on one specific date**, for
example "belt gradings tonight" or "no class, public holiday", without touching
the recurring pattern. Those notes live on an existing schedule rather than on
the form that creates one.

You need the `members.change` permission.

## Before you begin

- Know the start and end time. Both are required; a class with no end time
  cannot be scheduled.
- For a weekly schedule, know which weekdays it runs.
- Remember the program's location time zone decides what these times mean; see
  [Maintain or retire a location](https://positiveform.com/guides/locations/maintain-location/) if that is not what you expect.

## Steps

### Add a schedule

1. Open the program and click **Manage schedule**. **Add a schedule** opens, for
   creating a repeating class or a one-time session.
2. Use **Label (optional)** to name it, for example `After school`. This is how
   staff tell two schedules on the same program apart.
3. Choose a **Schedule type**. **Weekly** repeats; the other option is for a
   one-time session.
4. For a weekly schedule, pick the **Days**. You can pick several at once, or
   **All**, and the page says what that does: choosing multiple days creates one
   schedule for each day.
5. Set **Start** and **End**.
6. Choose **Expected staff (optional)** if you know who normally runs this
   sitting. This is per schedule, and is separate from the program's assigned
   staff in [Assign program staff and operating notes](https://positiveform.com/guides/programs/program-staff-notes/).
7. Use **Internal staff note (optional)** for anything staff should see about
   this schedule.
8. Click **Add schedule**, or **Cancel** to back out.

### Change an existing schedule

9. Open the schedule from the program. It opens as **Edit schedule**.
10. The fields are the same with one difference: **Day** is singular here, and
    the page says why. Each weekly schedule belongs to one day, so the multiple
    day picker exists only when creating.
11. Click **Save schedule**.

### Leave a note on one date

Meeting notes live on an existing schedule, not on the form that creates one, so
create the schedule first.

12. On **Edit schedule**, scroll to **Meeting notes**, which holds
    date-specific staff reminders for individual class occurrences. With none
    recorded it reads **No date-specific notes yet.**
13. Choose a **Meeting date** and write a **Staff note**, for example a birthday
    or a one-time detail.
14. Click **Add meeting note**. To change one later, use **Edit** beside it,
    which turns the button into **Save meeting note**; **Cancel edit** backs out.
15. Use **Delete** beside a note to remove it. You are asked to confirm.

## Expected outcome

The schedule persists on the program, and the program workspace reflects it
immediately: **Next meetings** lists the next three scheduled class times with
their date, time, label, and whether they repeat.

In the programs list, the program stops reading **Not scheduled** and starts
showing its dates.

A meeting note is attached to that one date. It does not change the recurring
pattern, and it does not create or cancel a class; it is a note staff see against
that day.

Scheduled times are what attendance is taken against; see
[Record bulk attendance](https://positiveform.com/guides/attendance/bulk-attendance/).

## Screenshots

![Add a schedule, with the label, schedule type, multiple day picker, times, expected staff, and internal note](https://positiveform.com/guides/media/PROG-002/20260729T053000Z/001-add-schedule.webp)

![Edit schedule, where Day is singular and Meeting notes holds the date-specific reminders](https://positiveform.com/guides/media/PROG-002/20260729T053000Z/002-edit-schedule-meeting-notes.webp)

## Recovery

If saving is refused with **Choose both a start and end time.**, one of the two
is empty.

For a weekly schedule, **Choose at least one weekday.** means no days are
selected.

For an ad hoc schedule, **Choose the date for an ad hoc schedule.** means the
date is missing.

For a meeting note, **Choose a date and add the staff note.** means one of the
two is blank. A note with no text is not a note.

If a note will not delete, PositiveForm says **Could not delete meeting note**
and it stays.

If the class times look wrong by a fixed number of hours, the program's location
time zone is not what you assumed. Fix it on the location rather than shifting
every schedule; see [Maintain or retire a location](https://positiveform.com/guides/locations/maintain-location/).

## Related guides

- [Create a program](https://positiveform.com/guides/programs/create-program/) — create the program these times belong to.
- [Record bulk attendance](https://positiveform.com/guides/attendance/bulk-attendance/) — take attendance against the
  scheduled meetings.

---

Source: PositiveForm customer guides, https://positiveform.com/guides/. 
Every guide as one file for AI assistants: https://positiveform.com/llms-full.txt. 
Guide index: https://positiveform.com/llms.txt.
