Programs
Tom Bradley, the site director at Claymont, is setting up Homework Help for the fall. He needs a program record with a room, a season, an age band and a capacity, and he needs Maya Reyes, age nine, on the roll before the first Monday. Every other part of PTRS leans on what he sets up here: attendance sessions are meant to attach to this program's schedule, the compliance file asks which children were in which program, and Maya's own record shows her programs on its own tab.
What Programs is for
A club's day is built out of programs, not a vague sense of who is "at the club". Maya is not simply present. She is in Homework Help until 4:30, then in the STEM club, in a specific room, with a staff member who is supposed to be there. This module holds the record that says so: a program's type, season, age band, capacity, lifecycle status and its roll of children.
The failure this module exists to prevent is a club that knows how many children walked in the door but not what any of them signed up for: a roll kept in a spreadsheet, a waitlist kept in somebody's head, and a site that quietly runs past the number of children its licence permits.
Who uses it
Site directors, organisation administrators and super admins can use every Programs screen. A regional director sees the same menu and cannot open a program at all: the list itself refuses them with "Failed to load programs", and every tab inside a program does the same. Two screens still work for that role: the Resource Library, which sits outside a specific program, and the Program Calendar, which is linked from nowhere and permanently empty anyway.
A staff member is refused everywhere in this module, including the twelve places that would otherwise admit them. One Programs screen works for a staff member anyway: the AI brainstorm tools, reached from the sidebar, because that screen belongs to the AI module and checks a different setting. Guardians, OCCL auditors and read-only accounts are admitted nowhere.
Unlike most of PTRS, a failed permission here is visible: the screen says "Failed to load programs" rather than showing an empty list, so if you cannot see any programs at all, read that message literally rather than assuming there simply are none.
Approving a program charter is meant to be open to organisation administrators, super admins and regional directors alike. In practice a regional director can never reach the Charter tab at all, because the program overview refuses them first. So charter approval works out, in practice, to organisation administrators and super admins only.
Creating or changing a funding source or a grant is limited to organisation administrators, regional directors and super admins, and reading one carries no such limit. A site director can open every grant amount, grant number, award date and funder contact in the organisation, unpaged and unfiltered, even though the same site director cannot create or edit a single one.
A day in the life
Tom opens Quick Add → Program and creates Homework Help: type, season, delivery mode, an age band, a capacity of 20, a start and end date. The program appears with a grey Draft badge. He moves it through the lifecycle himself, one step at a time, until it reads Active.
Denise Okafor, on the front desk, opens the program and enrols Maya from the overview screen. PTRS checks the club's licensed capacity before it lets the enrolment through, the one enrolment path in the whole product that does. Maya appears on the roll.
A week later Tom wants to set Homework Help's actual meeting days and times. He opens the Schedule tab, builds a recurring pattern, and presses Save. Nothing happens: no message, no error, the screen simply does not save it. He keeps the schedule on the club's shared paper calendar instead, the way the club always has.
What PTRS does for you
- Holds a detailed program record: its type, season, delivery mode, age band, capacity, waitlist setting, date range, BGCA pillars and free-text tags, created from one dialog and edited from another
- Stops a site going over its OCCL licensed capacity, on the one enrolment path that checks it: the Enroll button on a program's overview. This is one of the few real regulatory controls in PTRS, and it works
- Walks a program through a seven-state lifecycle in order, always showing the legal next step or steps and refusing anything else
- Enrols a whole group of children in one request with Bulk Enroll
- Runs a waitlist once you turn it on, and lets you promote children off it when a seat frees up
- Lets you snapshot a program's settings before a big change, and read that snapshot back later
- Clones a program into a fresh draft for next season, carrying its type, dates, pillars and tags
- Lets you assign, list and remove staff on a program
"Programme fill rate", "average time from draft to live", "waitlist conversion" and "sessions delivered against sessions planned" are the figures an evaluator asks for here. None is published, and the last cannot be: no session can be created through the interface at all, so there is nothing to count sessions delivered against.
The Goals, Assessments, Surveys and Evaluation tabs are the other place an evaluator looks, and every figure on all four is either a count of the definitions a person can create, or a structural zero. No goal has ever changed status, no assessment score has ever been recorded, no survey has ever been answered and no program evaluation has ever been saved, not because nobody has tried, but because no control exists that would let them. What Programs can and cannot measure traces each of those chains in full.
A program's age band is a label, not a rule
Every program carries one of five age tiers, and their bands appear in three different places in PTRS, agreeing with each other, which is worth noting because it is rarer in this product than it should be:
| Tier | Band | Age range the create form writes |
|---|---|---|
| Juniors | Ages 6 to 8 | 6 to 8 |
| Tweens | Ages 9 to 12 | 9 to 12 |
| Teens | Ages 13 to 15 | 13 to 15 |
| Senior Teens | Ages 16 to 18 | 16 to 18 |
| Mixed | All ages | 5 to 18 |
No regulation is cited for any of these bands anywhere in PTRS. Treat them as the product's own label, not a licensed age range, because that is also how PTRS treats them: nothing in PTRS ever compares a child's age with either the tier or the age range, at enrolment or at any other point. See What happens when a child is enrolled.
The edit screen also lets a program's age range be set independently of its tier, and nothing keeps the two in step. A program can be saved as Juniors with an age range of 16 to 18, and nothing in PTRS will object, because nothing checks either figure against anything.
Attendance already found three disagreeing ratio calculations in PTRS, none of which reads real-time occupancy correctly. A reader coming here should know that Programs adds no fourth: no program, schedule, cohort or booking record carries a staff-to-child figure of any kind. The two capacity numbers this module holds, the program's own capacity and its schedule's capacity, are plain headcounts, and only the first is ever read by anything.
What stays your job
- Set and track a program's actual meeting schedule yourself, on paper or in a shared calendar. PTRS cannot save a recurring schedule, generate a session from one, book a room, or record a schedule conflict, so nothing about a program's day-to-day timing lives on the screen
- Keep collecting and filing signed consent forms the way the club always has. The Consent tab's Record button always fails, so a guardian's consent for a specific program is never actually captured in PTRS
- Track who is really in a group yourself. A cohort can be named and capped, and nobody can be put in one from any screen
- Check a child's age and eligibility against a program by hand before you enrol them. PTRS never runs that check itself, even where a rule has been typed in
- Treat every enrolment as permanent once made, and note a mistake on paper rather than expecting to undo it. There is no way to remove a child from a program anywhere in the product
- Track grants, funders and partner organisations outside PTRS, in a spreadsheet or on paper. Nothing in the product can create one
- Keep your own record of a program's approved budget and its real spending. The Budget tab's own totals do not add up to anything reliable, for reasons set out below
- Keep a paper or shared-drive copy of a signed program charter and of any compliance and funding documents. The corresponding tabs record a name and a typed web address, not a real uploaded file, and none of it moves through a real approval workflow
What has been built
Twenty screens make up Programs.
| Screen | What it is | What it can do today |
|---|---|---|
| The program list | Every program at your site or organisation, with status tabs and four stat tiles | Works |
| A program's overview | Capacity, dates, age range, waitlist, roll, tags, lifecycle and version history | Mostly works. A snapshot can be read back and never restored |
| The Schedule tab | The recurrence editor, the session list, and exceptions | Loads and looks complete. Nothing on it can actually be saved |
| The Enrollment tab | The roll, the waitlist, Bulk Enroll, and the eligibility rule builder | Enrolling and bulk enrolling both work. A typed eligibility rule is stored and never checked |
| The Cohorts tab | Create and cap a named group | Creating works. Nobody can be put in one |
| The Consent tab | Build a consent form, and a queue of who still needs to sign | Building a form works. Recording a signed consent always fails |
| The Program Calendar | A month grid of room bookings | Loads and is permanently empty, and is linked from nowhere in the product |
| The Curriculum Builder | Build a curriculum out of units and sessions | Creating and publishing work. Nothing inside a unit or session can be renamed, reordered, or filled in |
| The Resource Library | A searchable, organisation-wide library of teaching materials | Adding and searching both work. Nothing can be attached to a session |
| The Staff tab | Assign staff to a program, and check their credentials against it | Assigning, listing and removing staff all work. The credential check can never run |
| The Goals tab | Set goals for a program and track them on a dashboard | Creating a goal works. Its status can never change, and every dashboard tile but one reads zero |
| The Assessments tab | Create an assessment and compare results before and after | Creating an assessment works. No score can ever be recorded for any child |
| The Surveys tab | Build a survey with several question types | Building a survey works. Nobody can answer one, anywhere in PTRS |
| The Evaluation tab | Record a program evaluation | Loads and does nothing. Its Create button closes the dialog and saves nothing |
| The Charter tab | Draft and approve a program charter | The one Programs screen that runs start to finish |
| The Budget tab | Track a program's budget and its expenses | Creates a budget and records expenses. Its running totals do not update |
| The Partnerships tab | Track a partner organisation and its agreements | Nothing in PTRS can create a partner, so this tab has nothing to show |
| The Compliance tab | Track a program's DELACARE, OCCL and federal requirements | Shows a red 0% Compliant on every program and checks nothing |
| The Documents tab | File a program's compliance and funding documents | Records a document's name and a typed web address, not a real file |
| The AI brainstorm tools | Seven AI drafting helpers for a program's charter, curriculum and more | Works, from the sidebar and from inside a program |
What happens on its own
No background task or scheduled job of any kind touches this module. A program whose end date passed months ago stays Active until somebody changes it by hand, a waitlist is never worked unless somebody opens the tab, and no enrolment, promotion or consent produces a notification, an email or any other message. That last part is true across all of PTRS: PTRS has never sent a notification of any kind, anywhere in the product.
What it connects to
| Connects to | How |
|---|---|
| Members | Enrolling a child into a program, and the licensed-capacity check that runs when you do, both happen here, not on the child's record. The child's own Programs tab reads this module's tables, and the link is solid, with one caveat: the consent status that tab shows is never written by anything |
| Centers | Enrolling a child checks the site's licensed capacity, held on the site's own profile in Centers. This is the only place in PTRS that check is ever consulted |
| Attendance | An attendance session is meant to attach to a program's schedule. Structural only: no session can be created here, so there is nothing for an attendance session to attach to |
| CACFP | A meal count is taken against children on a roll, and CACFP keeps an entirely separate enrolment of its own with no shared identifier |
| Notifications | Not connected. Nothing in Programs sends a message of any kind |
| Staff | Assigning a staff member to a program, and checking their credentials against it, are both meant to work together. Assigning, listing and removing all work; the credential check, the only one in PTRS that runs against a specific program, can never actually run |
Not yet available
Where to go next
Do a task:
- Set up a program, create it, move it through the lifecycle, tag it and snapshot it
- Enrol a child into a program, the one path with a working capacity check, and the two that skip it
- Work the schedule and calendar screens, what each control does, and which of them do nothing
- Work the cohort and consent screens
- Build a program curriculum, what the Curriculum Builder can create, and the four things it cannot
- Work the resource library, the one Programs screen a regional director can use
- Assign staff to a program, and why the credential check beside it can never show anything
- Work the goals, assessment and survey screens
- Approve your first program charter, the one Programs workflow that runs start to finish
- Work the charter and budget screens, which figures on the Budget tab are real
- Work the partnerships, compliance and documents screens
- Work the AI brainstorm screens, the one Programs screen a staff member can use
Look something up:
- Who can do what with a program's setup, schedule and enrolment, and whether anything in the product actually reaches it
- Who can do what with curriculum, staffing, goals, assessments and surveys
- Who can do what with money and governance and what a program's funding and charter approval require
- Program and enrolment fields, what goes in each box, and which boxes have no rule at all
- Curriculum and goal fields, the same for the delivery screens
Understand why:
- What happens when a child is enrolled, the one chain in PTRS with a working regulatory check in it, traced across three modules
- What Programs can and cannot measure, five chains, and where each one breaks
- What Programs can and cannot account for, where a program's money is recorded, and why no figure reconciles with another
When something goes wrong: Programs troubleshooting.
Checked against PTRS on 7 September 2026.