Sign in to sync absences, coverages, and teachers across all office computers.
Offline mode
v2 SaaS
School
CoverGrid v2
School Coverage Console
School · Today · Main coverage dashboard
Viewer mode: editing is disabled for this account.
Today’s Coverage
Today’s Coverage Command Centre
Add absences, auto-assign coverage, send emails, review issues, and generate the daily coverage sheet from one place.
Quick Actions
0
Absent staff
Active absences requiring coverage today.
0
Assigned coverage
Coverage blocks already assigned.
0
Pending responses
Assigned teachers still to confirm.
0
Needs action
Uncovered, declined, or reassignment items.
🌅 Morning Workflow
A guided 5-step path for the office: date, absences, auto-assign, review, then notify/print.
0 of 5 steps complete
+ Quick Add Absence
📝 Today’s Queue
0
Coverage requiring action
Uncovered, declined, or reassignment items.
0
Response tracking
Accepted, pending, and total assigned coverage.
0
Daily coverage
Open the full coverage table for today.
0
0
Absent / selected / queued today
0
Periods covered
0
Pending responses
0
Total teachers
School total
Teacher total
📝 Assign Coverage0
Select one or more absent teachers, choose their periods, then click Add to Queue and Auto-Assign Queue. CoverGrid distributes coverages fairly across the whole day.
Engine: uses each teacher’s schedule map, only assigns teachers with a free period, enforces 3 classes + 1 prep, avoids absent/double-booked teachers, caps same-day load, and balances coverage counts.
No teachers selected
Tip: hold Ctrl/⌘ or Shift to select multiple absent teachers.
Tip: If Supply Teacher is filled in, CoverGrid assigns that supply teacher to the selected period(s) and skips internal teacher assignment for those coverage records.
Priority: uncovered and reassignment items are fixed first.
📅 Today's coverages
No coverages assigned yet for today.Start by adding one or more absent teachers to the queue above, then click Auto-Assign All.
🏫 School Workspace
Manage school staff, teacher timetables, and bell schedules from one place.
🕐 Bell Schedule Templates
All schedule templates are displayed below using the same Day 1 / Day 2 structure as Regular Day and Late Start. These times are used for coverage records, emails, daily sheets, and reports.
🏫 School Workspace
Manage school setup, staff, teacher timetables, and bell schedules from one place.
⚙️ Coverage RulesSchool settings
Review and edit the active coverage rules used by the assignment engine.
Fairness rotationBalances assignments using current coverage counts and recent coverage history.
Prep-period protectionOnly staff with a free/prep period are selected for internal coverage.
Conflict preventionAbsent teachers and already-assigned teachers are skipped for the same coverage block.
Supply overrideIf a supply teacher is entered, CoverGrid assigns that supply teacher before internal coverage.
Reassignment handlingDeclined or removed assignments are flagged for review and reassignment.
Coverage Rules are operational guardrails for the assignment engine. Use Setup Wizard when changing school structure, bell schedules, or import setup.
🏫 School Workspace
Manage school setup, staff, teacher timetables, and bell schedules from one place.
🏫 Setup Wizard — Step 1: School SetupStep 1 of 6
Configure the school profile before importing staff, teacher timetables, bell schedules, and coverage rules.
1. School SetupConfirm school name, board, period structure, and semester flip date.
2. Import StaffUpload or create the staff roster and teacher emails.
3. Staff TimetablesAdd teaching periods, prep periods, courses, and rooms.
4. Bell ScheduleChoose regular, late start, assembly, exam, or custom day schedules.
5. Coverage RulesSet fairness rules, coverage limits, and supply shortage handling.
6. Test RunRun a sample absence and confirm reports, emails, and coverage flow.
Recommended first-run order: complete School Setup, confirm the Bell Schedule, import Staff Roster, then import Staff Timetables.
Step 1 now saves setup values locally and prepares the school profile for later Firestore sync.
🏫 School Workspace
Manage school setup, staff, teacher timetables, and bell schedules from one place.
📄 Setup Wizard — Step 2: Import StaffStep 2 of 6
Upload a staff CSV or Excel file, preview the detected staff, and check for missing emails, missing departments, and duplicates before importing.
📄
Drop staff file hereor click to upload CSV / Excel
Supported columns: Name, Email, Department, Role, Active
Choose a CSV or Excel file to begin.
Import Preview
Review staff before importing into the roster.
Status
Name
Email
Department
Role
Active
Issues
🏫 School Workspace
Manage school staff, teacher timetables, and bell schedules from one place.
🔍
#
Teacher
Dept.
Period A
Period B
Period C
Period D
Actions
Each teacher teaches 3 periods per day — one period shows "Prep" (available for coverage assignments)
🔍
Date
Day
Sched.
Period
Subject
Room
1st time
2nd time
Absent / Supply
1st Half / Status
2nd Half / Status
Actions
Reports
Operational coverage, absence, workload, and risk views.
Report presets
Start with the report school administrators usually need, then print, export, or refine the date range.
Generate Report
Choose a report, range, and output format.
Tip: use presets for common office tasks, or use Generate Report for a custom workflow.
★ Executive Summary + Risk ScoreBoard-ready health score based on unresolved, uncovered, and pending coverage.
School / Scope
Health
Risk Score
Absences
Periods Missed
Needs Action
Pending
Success Rate
Priority
🔍
🧑🏫 Teacher Absence Report
🔍
Daily Absence Details
Date
Teacher
Dept.
Periods missed
Covered halves
Needs action
Coverage teachers
Subjects / Rooms
Notes
Teacher Totals
Teacher
Dept.
Absence days
Periods missed
Covered halves
Needs action
Coverage rate
Last absence
⚖ Staff Workload / FairnessFlags heavy load, no-load, declined, and pending coverage patterns.
Teacher
Dept.
Coverage Count
Accepted
Pending
Declined
Needs Action
Last Covered
Fairness Flag
🚨 Risk / Unresolved CoverageUncovered, declined, reassignment, and pending items in the selected date range.
Date
Period
Absent Teacher
Subject
Room
Issue
Assigned Teacher
Status
Reason for Decline
Action
🏫 School ComparisonSuperadmin board view only — compares schools in the selected date range.
School
Absences
Periods Missed
Assigned Halves
Uncovered
Pending
Declined / Reassign
Success Rate
Teachers
Avg Load
🏫 School Workspace
Manage school staff, teacher timetables, and bell schedules from one place.
🔍
#
Name
Email
Department
Prep Period
Coverages
Last covered
Actions
0
Total coverages all time
0.0
Average per teacher
0
Most by one teacher
📈 Most coverages assigned
Rank
Teacher
Dept.
Count
📉 Fewest coverages assigned
Rank
Teacher
Dept.
Count
⚙️ Settings
Admin email address
CC'd on every coverage notification email.
Teacher email domain
Emails are generated as firstname.lastname@[domain]
One-Click Accept/Decline Response Page
Optional fallback only. The MVP now uses CoverGrid response links by default: teachers click Accept or Decline in the email and response.html records the status directly in Firestore. Setup instructions ▾
How to set up (5 minutes):
1. Go to script.google.com while logged into your TDSB account
2. Click New Project, name it "CoverGrid Responses"
3. Paste the Code.gs script (provided separately) into the editor
4. Click Deploy → New deployment → Web app
5. Set "Execute as" = Me, "Who has access" = Anyone within TDSB
6. Click Deploy, authorize when prompted, and copy the URL
7. Paste the URL below and click Save
The script will automatically create a "CoverGrid Responses" spreadsheet in your Google Drive to log all Accept/Decline responses.
Backup & Restore
Download a complete backup of the current school before importing teachers, changing timetables, or running major coverage updates.
Restore tools include a safe preview, a test-copy restore, and a protected replace-current-school option.
Restore from Backup
Step 1: Preview the JSON file. Step 2: Restore to a test copy when possible. Step 3: Replace the current school only after confirming.
Coverage history is saved to Firestore first, with browser storage used only as a local cache/fallback.
🕐 Bell Schedule Editor
Edit the bell times for each schedule template. Changes are saved in this browser and used immediately by the Assign Coverage schedule dropdown, Bell Schedule page, coverage emails, daily sheets, and reports. Use consistent labels such as 9:00–10:20 a.m..
🏫 Create School + Admin
Superadmin onboarding tool. Creates the school, default settings, starter collections, and a matching admin profile record.
Admin user profile
Firestore can create the admin profile, but the actual login account still needs to exist in Firebase Authentication first.
Create the admin in Authentication → Users → Add user, copy the UID, then paste it here.
Creates: schools/{schoolId}, settings/main, teachers/init, coverages/init, auditLogs/init, and users/{adminUid}.
Also adds the new school to your current superadmin users/{uid}.schools array.
📤 Staff Onboarding / Schedule Import
Upload or paste a staff CSV to create new teachers or update existing schedules for the currently selected school.
Coverage history is preserved — only teacher profile and timetable fields are updated.
1. Upload or pasteUse a CSV exported from Sheets/Excel, or paste rows directly.
2. Preview + validateCoverGrid checks missing names, duplicate emails, and add/update actions before importing.
3. Confirm importTeachers are written to Firestore for the selected school only.
CSV format: Name, Dept, Email, Period A Subject, Period A Room, Period B Subject, Period B Room, Period C Subject, Period C Room, Period D Subject, Period D Room
Leave subject & room blank for prep/free periods. First row must be the header row. Example:James Smith, Math, james.smith@tdsb.on.ca, Math 9, 101, , , Advanced Functions, 203, , , Calculus, 305
Rule enforced in v1.2.1: each teacher must have exactly 3 class periods and 1 prep/free period. Prep can be A, B, C, or D.
— or paste CSV data directly —
Import Preview
Review before writing to Firestore.
0 add0 update0 skip
Action
Name
Dept
Email
Free
Schedule
Notes
📤 Upload Day Schedule (Period Times)
Upload a CSV to override the built-in period times for any schedule template: regular, late, assembly, earlyDismissal, exam, halfDay, fieldTrip, or custom. Useful if the bell schedule changes.
CSV format: Type, Day, Period, Full Time, First Half, Second Half
Type = regular or late · Day = day1 or day2 · Period = A, B, C, or D Example:regular, day1, A, 9:00–10:20 a.m., 9:00–9:40 a.m., 9:40–10:20 a.m.
— or paste CSV data directly —
📅 Late Start Dates
The following dates are pre-loaded as Late Start days for this school year. The schedule type auto-switches when you select one of these dates on the Assign tab. Dates marked PLC are Staff Meeting / PLC days.
Multi-school SaaS control panel. Manage schools, user profiles, roles, demo schools, and Firestore-first system health.
Firestore-firstTeachers and coverages save to Firestore first. Local storage is cache/fallback only.
Role securitySuperadmin, board admin, school admin, and viewer roles control school visibility and edit access.
Demo automationCreate full demo schools with teachers, schedules, and coverage pressure for sales presentations.
👥 User Management
Name
Email
Role
Schools
Status
Click Refresh Users.
🏫 Demo School Generator
Creates a uniquely named Firestore demo school, settings, randomized teachers with exactly 3 classes + 1 prep, and demo coverage records.
🧪 Demo School ManagerDemo-only tools
Manage demo schools used for sales walkthroughs and testing. Reset rebuilds fake teachers and coverage records. Delete only works on schools marked as demo or named like a demo school.
Demo School
School ID
Teachers
Coverages
Created
Actions
Click Refresh Demo Schools.
📊 Live Board Aggregation
CoverGrid Executive Operations Report
Board Coverage Dashboard
Multi-school coverage risk, pending responses, and unresolved coverage pressure.