{{ tooltip.text }}
Rackley Swimming

Pool Deck App

Profile
{{ user.displayName.charAt(0) }}
{{ user.displayName }}
Logout
{{ currentStaffLabel }}

Please select a center first.

— Clear —
{{ s.givenNames }} {{ s.surname }}
No results

Print Roster

{{ printTeacherLabel }}
— All Teachers —
{{ s.givenNames }} {{ s.surname }}
Select center and date to list teachers. No teachers for this session. No results
{{ selectedCenterLabel || 'Select a center' }}
Select a center
{{ c.locationName }}
No results
{{ selectedStaffLabel || 'All Staff' }}
All Staff
{{ s.givenNames }} {{ s.surname }}
No results
Showing lessons that contain the student you're searching for: "{{ studentSearch }}"
No lessons found for "{{ studentSearch }}"
Area
— All Times —
{{ val }}
No results
— All Levels —
{{ val }}
No results
— All Teachers —
{{ val }}
No results
Students Trial Assessment
{{ lesson.area }} {{ lesson.time }} {{ lesson.level }} {{ lesson.teacher }} (⇄ {{ lesson.replacedTeacherName }}) {{ lesson.studentCount }} {{ lesson.trialCount || '' }} {{ lesson.assessmentCount || '' }}

{{ selectedLesson.area }} - {{ selectedLesson.time }} - {{ selectedLesson.teacher }} (⇄ {{ selectedLesson.replacedTeacherName }})

{{ selectedLesson.level }}

Student ID Attended Full Name Age Level Since Lessons Attended Status
{{ student.studentId }} {{ student.givenNames }} {{ student.surname }} Note {{ student.age != null ? student.age : '—' }} {{ student.levelStartDate ? new Date(student.levelStartDate).toLocaleDateString('en-AU', {day:'2-digit',month:'2-digit',year:'numeric'}) : '—' }} {{ student.levelLessonsAttended ?? '—' }} Cancelled {{ formatLessonSkillStatus(student) }}
{{ icon.content }} {{ icon.content }}

Loading students...

No students found

Try adjusting your filters or center selection.

Please select a Center and Swimming Manager to get started.

Admin Dashboard

BigQuery Synchronization

Fetch the latest lesson and student data from BigQuery source tables.

Operation Logs

{{ log }}

BigQuery Sync Progress

In Progress...
Completed
{{ syncError ? '⚠ Sync failed — see error in log' : (isSyncing ? 'Syncing...' : (syncProgress === 100 ? 'Complete' : 'Ready')) }} {{ syncError ? 'ERROR' : syncProgress + '%' }}
[{{ index + 1 }}] {{ log }}
_

{{ activeStudent.givenNames }} {{ activeStudent.surname }}

ID: {{ activeStudent.studentId }}

Level {{ activeStudent.level }}
Time {{ activeStudent.lessonTime }}
Area {{ activeStudent.area || 'N/A' }}
Teacher {{ activeStudent.teacher }} (⇄ {{ activeStudent.replacedTeacherName }})

Teacher Notes (Instructions for Print) Teacher Note

Last by {{ activeStudent.teacherNote.staffName }} on {{ formatDate(activeStudent.teacherNote.updatedAt) }}

Notes History

{{ activeStudent.teacherNote.staffName }} Teacher Note
{{ formatDate(activeStudent.teacherNote.updatedAt) }}

{{ activeStudent.teacherNote.content }}

No session notes found for this student.
{{ note.staffName }} Session Note
{{ formatDate(note.createdAt) }}

{{ note.content }}

Student Skills

No skills recorded for this level.
{{ skill.name }} {{ skill.dateAchieved ? formatDate(skill.dateAchieved).split(',')[0] : 'Achieved' }} Working On

{{ skill.description }}

Achieved · {{ skill.markedBy }}

⚠️ Please set a swimming manager first to save notes or mark skills.