Ale dirèk nan kontni prensipal la

Who can do what on the dashboard

Who is admitted

This screen owns nine actions of its own, and all nine share one rule.

GroupActionsRule
The dashboard's own reads9Staff, a site director, a regional director, an organisation administrator or a super admin

Not one of the nine narrows or widens that rule further, and not one is open to anyone who has not signed in. That makes this the flattest set of rules anywhere on this documentation site: one shared rule is the entire story, with nothing layered on top of it anywhere.

The nine reads

Every one only reads; none of the nine ever changes anything. Every one also accepts an optional site, and nothing calling any of them actually sends one. See the site filter.

ReadWhat it returnsReachable by
Ratio readingsThe latest reading per site: children, staff, actual ratio, required ratio, and a status worked out from the compliance flag10 different screen pieces across 4 areas
Attendance historyThe 30 most recent daily summary rows, newest firstThe attendance trend chart, the headline tiles
Today's attendanceThe 100 most recent check-in and check-out events, with member name, age, photo, site, method, verifying staff member, guardian name and notification state8 different screen pieces
Expected membersEvery member expected today with an arrival window and an arrived, pending or absent status5 different screen pieces
Attendance timelineToday's check-ins and check-outs grouped by hour and site, with a net change4 different screen pieces
Streak leadersThe top 10 members by consecutive attendance daysThe child detail drawer opened from Attendance; the dedicated panel for this is not shown anywhere
Guardian notification logThe 50 most recent sent notifications, with guardian name and phoneThe activity feed, the child detail drawer
SitesEvery active site with address, capacity, current headcount, staff on duty, compliance score, an operating status, director name and coordinates13 different screen pieces across 4 areas
MembersEvery member in the organisation with name, age, grade, date of birth, enrolment date, photo and status, with no limit on how many at onceThe child detail drawer

Summary

Count
Reachable from a screen9
Not reachable from any screen0
Total9

This is the second module documented with no unreachable actions at all, after User Management's ten of ten. The nine here are used by more than twenty different screen pieces spread across attendance, compliance, this screen itself, the child record and the financial report, which is why: they were each built for a screen that actually uses them.

The closest to unused is the streak-leaders read. Its own dedicated panel is not shown anywhere, and it is still reached by the child detail drawer opened from the Attendance screen.

The site filter is never actually sent

Every one of the nine accepts an optional site to filter by. Every screen piece that calls one of them reads the selected site from shared state and puts it only into its own remembered-results key, then asks for the exact same information regardless of which site is selected.

Changing site therefore changes which remembered copy of the results you are looking at; it never actually changes what was asked for.

Five panels work around this by filtering the results themselves after the fact: the headline tiles, the site overview, the ratio banner, expected vs actual, and the welcome banner. Two, the activity feed and the attendance trend chart, do not, and both were already working from a list capped well below the whole organisation to begin with, so filtering after the fact would not have been enough in any case.

Requests that cannot come back with a useful answer

Two of the nine come back successfully with something that is structurally empty, and neither looks like a failure.

RequestWhat comes backWhy
Attendance historyNothingIt reads from a table meant to be filled in overnight. Nothing anywhere in PTRS currently writes to it
Guardian notification logNothingIt reads from the notification log. PTRS has never sent a notification of any kind

A third, expected members, returns a plausible-looking list built from the wrong group of people when a site has no program schedules set up. See the panel page.

The seventeen panels, and where each one actually gets its figures

The home screen shows these in four visual groups. Only four of the seventeen read this screen's own figures alone.

PanelReads fromModule
Ratio Violation BannerThis screen's own ratio readingDashboard
Welcome BannerThis screen's own site list, your own accountDashboard
Urgent Action StripAllergy alerts, credential expiry, document renewal, coverage gaps, pending background checks, this screen's own site listHealth & Safety, Staff, Centers, Dashboard
Headline tilesThis screen's own site list, ratio reading and attendance history; the compliance summary; the incident list; training complianceDashboard, Compliance, Incidents, Staff
Compliance by LocationThe compliance summaryCompliance
Location OverviewThis screen's own site list and ratio reading; the compliance summaryDashboard, Compliance
Activity FeedThis screen's own today's-attendance and notification-log reads, and shared attendance stateDashboard
Attendance Trend ChartThis screen's own attendance history and site listDashboard
Expected vs ActualThis screen's own expected-members and today's-attendance readsDashboard
Credential Expiry TimelineCredential expiry alerts, pending background checksStaff
CACFP Meal Service StatusToday's claim, meals with alerts, allergy alerts, this screen's own site listCACFP, Health & Safety, Dashboard
Incident VelocityIncident trends, the incident listIncidents
Recent IncidentsThe incident listIncidents
OCCL Deadline CountdownThe incident summary, the incident listIncidents
Staff ReadinessCredential expiry alerts, active onboarding, training complianceStaff
Expiring LicencesThe site summaryCenters
Compliance TrendThe compliance trendCompliance

Three panels that are built and shown nowhere

Three built, working panels are not shown on the home screen or anywhere else: a streak-leaders panel duplicating what the child detail drawer already reads, a meal-program panel duplicating the CACFP panel that is shown, and a program-snapshot panel.

The last of the six live-update connections

This screen's own live-update connection admits any signed-in account of any role, including a guardian or a read-only account. On connecting, it places the account into one group per site it can reach.

What can be sent over it

Six different sources can send a message across this connection.

MessageSent byReachesDoes it ever actually fire?
A feed eventAttendance check-in and check-out (3 places), the compliance engine, three OCCL deadline checksA site group for the attendance ones, everyone for the restYes
A location-status eventThe check-in and check-out actionsA site groupYes
A location-status eventA second, dashboard-specific senderEveryoneNo, nothing calls that sender
A KPI-update eventThe same dashboard-specific senderEveryoneNo, nothing calls that sender at all
An emergency-alert eventThe Parent Portal's senderEveryoneNo, nothing calls that sender, and nothing listens for it either
Regulation loading progress and completionThe regulation loaderEveryoneYes

What the browser actually listens for

ListenerMessages
The home screen and the CACFP live feedThe KPI-update, feed and location-status messages
The regulation library screenThe two regulation loading messages

Five of the six messages are listened for. Three of those five can actually fire.

Why this connection is different from PTRS's other five

ConnectionMessages it can sendMessages listened forAny message that both fires and is heard
The attendance connection3, and none of the three is ever actually sent1No
The compliance connection138No overlap at all
The parent connection33, all matchingNo, the sender is never actually called
The CACFP connection3Not connected at allNo, this connection is not even wired up
This connection65Yes, four of them
Total documented6 of 6

The site grouping mostly goes unused

This connection places each account into a group per site, and five of the six senders broadcast to everyone rather than to that group. Only the attendance sender actually targets the group.

So a feed event from the OCCL check or the compliance engine, and a location-status event carrying a site name, headcount, ratio and compliance score, reach every connected account of every organisation sharing this installation.

The file meant to describe this screen's shapes, and largely does not

One file declares nine record shapes for this screen's own reads. Eight of the nine are never actually used; eight of the nine reads build their own, separate shape instead and send that.

Declared shapeUsed?What actually gets sent
The check-in event shapeYesThe same shape
The attendance history shapeNoA different shape, whose site field is a genuine identifier rather than plain text
The timeline entry shapeNoA different shape
The streak leader shapeNoA different shape
The guardian notification shapeNoA different shape, whose sent time is plain text rather than a real date and time
The site shape, 8 fieldsNoA different, same-named shape with 18 fields
The member shape, with a name field, a site field and an allergy flagNoA different, same-named shape with separate first and last name, no site field and no allergy flag
The expected-member shape, whose arrival time is a real date and timeNoA same-named shape whose arrival time is plain text instead
No shared version existsThe ratio shape

Three names are declared twice over, in the same collection of code, told apart only by which part of it they live in.

This matters because reading only the file named for this screen's own shapes gives the wrong field names, a missing site field, and the wrong kind of value for a sent time, and that is exactly the mistake the screen-side type declarations make too. See below.

What the screen expects against what actually arrives

Six of eight screen-side type declarations match what actually arrives exactly. Two do not.

Declared asVerdict
The check-in eventMatches field for field
Daily attendanceMatches
The ratio readingMatches, including all three status words
The expected memberMatches, including all three status words
The streak leaderMatches
The guardian notificationMatches
The siteDeclares an operating-hours shape and a coordinates shape that do not match what is actually sent; nothing on this screen reads either field anyway
The memberDeclares a site field, programs, allergies, emergency contacts, guardian ids and an attendance streak. None of the six is actually sent

The member mismatch is the one that matters. The child detail drawer, the only screen piece that reads this screen's own member list, reads both the site field and the attendance streak in several places. Most of those reads are guarded against a missing value; two are not, and one of those two is what the drawer's own Check Out control needs in order to find the session it is meant to close.

Every one of this screen's own results is force-cast to a type before use, so none of the mismatches above would ever be caught automatically.

What is remembered, and for how long

ReadBehaviour
Ratio readingsRefreshed automatically every 30 seconds
Today's attendanceRefreshed automatically every 30 seconds
The other sevenFetched once per remembered key; never refreshed automatically
Any live eventClears every remembered result for this screen at once

None of the nine reads is remembered on the server itself. The sites read looks at three separate record types on every single call, and the streak leaders read pulls every check-in the organisation has ever recorded into memory, with no date limit at all.

Checked against PTRS on 7 September 2026.