Halton Catholic District School Board
From Planning to Final Schedule. All in One Place.
Choose how you're signing in
◆
Owner
Full control across every module and school. Can't be locked out.
▲
Principal
Course catalog, master schedule, survey control, department heads, room allocation.
●
Guidance Head
Course catalog, master schedule, department heads — no survey access.
■
Department Head
Your department's teachers, sections, and room assignments only.
○
Staff
Teacher preference survey — nothing else.
◇
Special Guest
Whatever the owner has specifically shared with you — nothing more.
⚠ Demo School — not a real school Everything here is fake and fully isolated from real HCDSB school data.
Previewing as: — Demo School Owner preview only — nothing here required a password or a real login.
Overview

Welcome back

Part 1 · Foundation

Course Catalog Reconciliation

PowerSchool — Current Year
  1. Go to School Management → Courses and Programs → Course Sections.
  2. Click Number to sort.
  3. Highlight the entire left column and press Ctrl+C (or right-click → Copy).
  4. Come to this box and press Ctrl+V.
0 rows
PowerScheduler — Next Year
  1. Go to PowerScheduler → Courses.
  2. Click Number to sort.
  3. Highlight the entire left column and press Ctrl+C (or right-click → Copy).
  4. Press Ctrl+V in this box.
0 rows
myBlueprint
  1. Log in.
  2. Click Courses in the left-hand menu.
  3. Click the download button (arrow pointing down, just above "Filters"). This opens an Excel sheet.
  4. Highlight columns A and B and press Ctrl+C.
  5. Come back to this box and press Ctrl+V.
0 rows
Paste raw dumps above, same as the "highlight and Ctrl+V" step you use today.
No catalog built yet
Paste your three data dumps above, or load sample data to see how reconciliation works.
Part 1 · Foundation

Master Course Schedule

How many periods does this school run?

5-Period Day
1(A), 2(A), 3A(A), 3B(A), 4(A)
5-Period Day (straight)
1(A), 2(A), 3(A), 4(A), 5(A)
4-Period Day
1(A), 2(A), 3A(A), 3B(A), 4(A)
*3A and 3B are overlapping periods
PowerSchool Master Course Schedule — full data dump
Copy the header row + all section rows and paste below. Handles large exports — a 1,200+ row school is expected.
How to get this from PowerSchool
  1. Log into PowerSchool
  2. On the left-hand side, click Courses and Programs
  3. Scroll down to Master Course Schedule and click it
  4. No options need to be changed — just hit Submit. This gives you the full current-year layout.
  5. Highlight starting from the header row all the way down to the end of the data, and press Ctrl+C (as an extra backup, you can also right-click and select Copy).
  6. Come back to this page and dump it in the box below by pressing Ctrl+V.
Expected columns, in order: Number.Section · Course Name · Expression · Term · Teacher Name · Teacher Dept. · Room · Students · Max Seats
First row is treated as the header and skipped automatically.
No Master Course Schedule data loaded yet
Paste your full data dump above, or load sample data to see how it works.
Part 1 · Foundation

Teacher Directory

Additional teachers (0)

Placeholder teachers

Placeholders (e.g. "AAAA, Teacher") stand in for staff not yet hired by the board — swap one out for a real name once someone's hired. Choose exactly which ones this school needs; bigger schools might want most of A–Z, smaller ones just a few.

This school's teachers

Most names here come straight from the Master Course Schedule import — use the form above only for extras it wouldn't know about (new hires, placeholders).
Teacher nameDepartment(s)Completed SurveySource
Part 1 · Foundation

Survey Control

Share with Guidance Head

Once shared, a "Survey Results" tile unlocks on your Guidance Head's home page — they can see the survey questions and responses, but can't upload, delete, or change anything.

Staff preference survey

When open, staff will see this school and cycle listed the moment they click "Staff" on the sign-in page, and can select their name from the Teacher Directory to take the survey.

View Results

See who's responded and what they said

Survey questions

To change a question: click directly into its text or its answer type below — it saves automatically.
+ Create Your Survey
Start adding questions for this school and cycle
Only the owner and the school's principal can open or close this — the guidance head doesn't have access to this control. Questions are specific to this school and this scheduling cycle.
Part 1 · Foundation

Survey Results

0
Responses
0
Questions

Responses

Upload responses from Google Sheets

Copy and paste rows in this column order: . One row per teacher, tab-separated. This replaces every existing response for this school and cycle — use it for a clean import of past data, or to prep this cycle before teachers answer on their own.

Delete all responses

Sorted alphabetically by teacher name. Guidance only ever sees this once it's been shared with them, and can view questions and responses here — uploading, deleting, and everything else on this page stays owner- and principal-only.
Part 1 · Foundation

Department Heads

Assign a department head

Username and password are created automatically the moment you assign someone — no need to make one up. Share what's shown once with them directly. Use the Generate password button to create a new password anytime.
NameDepartment(s)Password
Department heads sign in from the "Department Head" tile on the main sign-in page — they pick their name from a list and enter the password shown here. Assignments are specific to this school and this scheduling cycle.
Part 1 · Foundation

Teacher / Department Lookup

Teacher Lookup

Select a teacher above to see their full summary.

Department Lookup

Select a department above to see every teacher in it.
Both lookups reflect this school and this scheduling cycle — pulled live from Master Course Schedule, Course Catalog, and Survey Results, so there's nothing to keep in sync manually.
Part 2 · Section Allocation

Course Request Tally

0
Versions
0
Courses
0
Total requests
—
Latest import

Import a new version

How to get this from PowerSchool
  1. Go to the homepage
  2. Scroll down to Applications
  3. Click PowerScheduler
  4. In the left-hand column, go all the way down to Reports
  5. Click Reports and look for Course Request Tally
  6. Click on that, then press Submit for the entire Course Request Tally
  7. Skip the header row — copy starting from the first course, all the way down the page
  8. Press Ctrl+C, then click into the box below and press Ctrl+V
Just paste the data — no header row needed. Column order, matching PowerSchool exactly: Course, Course Name, Primary, Alternate, Elective Alt, Total. One row per course, tab-separated. Every import becomes a new version — nothing gets overwritten, and the latest version is always what the rest of the app references.

Requests

Course codeCourse nameSelectionsAlternateElective AltTotal
This tracks requests for the upcoming build year — the second half of whatever cycle you're currently in. Switch the cycle from the sidebar to work on a different year's requests.
Part 2 · Section Allocation

Course Request Analysis

Analyzes every version imported on Course Request Tally for this school and cycle's build year — add more versions there to sharpen the trend picture.
Part 2 · Section Allocation

Course Requests — Year over Year

Each "year" here is the final Course Request Tally version imported for that scheduling cycle's build year — go to Course Request Tally under a different cycle (switch cycles from the sidebar) to add more years of history.
Part 2 · Section Allocation

Section Counts

Settings

Defaults to the latest version imported on Course Request Tally — switch to an earlier version here if you want to work from an older snapshot.

Department totals

0
Department Sections Total
Above the Line (Given)
0
Total (Sections + Above the Line)
0
Above the Line (Allocated)

Non-Credit Teachers (Above-the-Line Allocation)

Type in each area and how many sections it gets. "Above the Line (Allocated)" above is always just the total of what's entered here.

All Split Classes This Cycle

Every split created so far, across every department. Click a department below to narrow the list, or leave nothing selected to see all of them.

Choose a department

Pick a department and every course in it with at least one real request this version drops into the table below automatically — nothing with zero requests shows up.

All Sections

DepartmentCourse(s)RequestsCancelled Auto SectionsOverrideOverride #Final SectionsClass SizeClass MaxSeats AvailableNotes
Requests are pulled live from the selected Course Request Tally version, and max class size from Master Course Schedule's Courses/Grade Level/Course Max tab — nothing here needs to be typed in twice.
Part 2 · Section Allocation

Teacher → Department → Section Allocation

Teachers

Remaining sections to allocate
Whatever department(s) a teacher ends up with sections in below automatically becomes their department everywhere else in the app — Teacher Directory, Teacher Lookup, and My Department for the relevant department head.
Course Breakdown (Current Year) reflects what's already scheduled today, pulled from Master Course Schedule. Type a number directly into any department column to allocate that teacher's sections there for next year.
Part Three: Department Pages (Assigning Sections/Rooms)

Room Department Allocation

Tag every room in the school with its department — the same department this room's department head will be assigning courses to. This automatically fills in the "Department" column on Master Course Schedule's Rooms tab. Mark this complete once every room has a tag; department pages won't open until you do.
0
Rooms
0
Assigned
0
Unassigned

Assign every room to a department

0 selected
RoomDepartment
Specific to the cycle you're working in. A new cycle starts blank, with the option above to copy last cycle's tags forward if they're still accurate.
Part Three: Department Pages (Assigning Sections/Rooms)

Room Availability

A room's total slots are however many periods run in a day, twice over (once per semester) — for this school right now. Every time any department head picks a room on their Course Selection, it uses up one slot here, live, across every department at once — not just the one you're looking at.

Every room, live

RoomDepartmentUsedTotal SlotsRemaining
This is a read-only view — room and course picks are still made on each department's own Course Selection page.
Part Three: Department Pages (Assigning Sections/Rooms)

PowerSchool Entry Checklist

Tracks progress entering each department's course and room assignments into PowerSchool — checked off per section, not per teacher, since one teacher's sections often get entered a few at a time. Reads live off whatever department heads have actually assigned; nothing here needs to be entered twice.

Every department, at a glance

DepartmentEntered

Checklist

Only shows sections that actually have a course assigned — nothing to check off for a blank slot.
Part Three: Department Pages (Assigning Sections/Rooms)

My Department

Teachers allocated to this department — Next Year

This list comes straight from Teacher → Department → Section Allocation — anyone the principal has actually given next-year sections to.
Pick a name to see what they taught this year and their survey response.
Everyone allocated to this department for next year

Course Selection — Next Year

Assign each course (including any new splits) to a teacher and room. The remaining count updates live as you go, so you always know how many sections of a course still need a home.
This always reflects whatever's currently set up on Section Counts for this cycle — nothing here needs to be entered twice.
Part Four

Master Schedule Data (PowerScheduler or PowerSchool)

PowerScheduler — Master Schedule List data dump
PowerSchool — Master Course Schedule data dump
Once every section, recommendation, and department pick is entered, PowerScheduler builds the most efficient schedule it can and produces this list — the actual set of classes running next year. Every import becomes a new version — nothing gets overwritten, and the latest version is always what Sections Confirmation and the rest of the app references. In addition, once you've decided to go LIVE, this same list will now be generated in PowerSchool.
How to get this from PowerScheduler
Data Dump → Applications → PowerScheduler → Reports → Master Schedule List → highlight all the data → Ctrl C (or right-click and copy) → Ctrl V
⚠ Do not copy the heading row — if it comes along, it gets read in as if it were a real course.
How to get this from PowerSchool
Data Dump → Courses and Programs → Master Course Schedule → highlight all the data → Ctrl C (or right-click and copy) → Ctrl V
⚠ Do not copy the heading row — if it comes along, it gets read in as if it were a real course.
PowerScheduler: Expected columns, in order: Number.Section · Course Name · Expression · Term · Teacher Name · Teacher Dept. · Room · Team · Section Type · Students · Max
PowerSchool: Expected columns, in order: Number.Section · Course Name · Expression · Term · Teacher Name · Teacher Dept. · Room · Students · Max
Team and Section Type (highlighted above) apply to PowerScheduler imports only — they won't be present once importing from PowerSchool.
First row is treated as the header and skipped automatically.
No data yet
Paste a PowerScheduler Master Schedule List dump above to get started.
Part Four

PowerScheduler Sections Confirmation

Go through every section PowerScheduler produced and flag anything that shouldn't count toward the section count — either it's a holding code, or it's simply not in the section count at all. What's left over should match what the board actually gave the school: the department sections total, plus above the line.

Totals

From Section Counts — what the board gave us
0
Department sections total
0
Above the line
0
Dept + Above the line
From this dump — as you classify below
0
Counted sections
0
Not in Section Count
0
Holding Code
0
Counted + Not in Section Count

Department totals

From this dump vs. Section Counts — should match

Every section

Filter: Not in Section Count Split Classes
What Guidance Head (or whoever's working this page) needs to do
  1. Confirm the department on every course — and make sure anything that's a holding code is marked that way, so it doesn't count toward the section count.
  2. Confirm the split classes picked up here are correct, and that each one's section value is calculated properly.
  3. If a section isn't supposed to count at all, check the box at the end of its row (Not in Section Count) so it's excluded from the totals.
Number.SectionCourse NameTeacher NameDepartmentSplit ClassSection ValueNot in Section Count
Part Five

Section Distribution by Period

How real, counted section value is spread across the periods, semester by semester — so no single period ends up carrying more weight than the rest. Same definition PowerScheduler Sections Confirmation already uses for its "Counted sections" total: holding codes and anything flagged Not in Section Count are excluded, and splits contribute their actual fraction, not a flat 1.

Total Section Count

0
0
SEM 1
0
SEM 2
Semester 1 – Sections Breakdown (ALL SECTIONS)
Semester 2 – Sections Breakdown (ALL SECTIONS)
Part Five

Max and Pierced Classes

Pulled straight from the latest Master Schedule Data (PowerScheduler or PowerSchool) — every section's students and max seats. Three things live here: every class running completely full, every class over capacity ("pierced"), and a period-by-period summary count of both across the year.

Summary — max & pierced classes per period

At a glance Max Classes Pierced Classes
Semester / PeriodMax ClassesPierced Classes

Max Classes by Department

This chart updates automatically based on the period and grade level filters selected below.

Max Classes

Click any column heading to sort.
Term Period Number.Section Course Name Department Grade Level Students Max

Pierced Classes

These are over capacity — students enrolled exceeds the max. Should be a short list, and worth fixing.
TermPeriodNumber.SectionCourse NameStudentsMax
Part Five

Room Allocation Duplicates

Finds every room booked more than once in the same semester and period on the latest Master Schedule List. Genuine split classes and Civics/Careers self-splits (two sections of the same course, like RAP's Careers block) are automatically excluded — those are expected, not a problem. What's left is worth a look.
0
Rooms with a real conflict
0
Shared-room groups excused (splits / self-splits)
0
Marked resolved

Conflicts

Part Five

Room Allocation Map

A room-by-room map for one semester and period at a time, pulled from the latest Master Schedule List — every room color-coded by department, showing who's booked in and who's open. A red hazard border means that room still has an unresolved conflict for this exact period on Room Allocation Duplicates — clear it there and it clears here too.
Part Five

Teacher Section Allocation

Every teacher from the latest Master Schedule List, with their total section count and the Semester 1 / Semester 2 split. Most teachers should land on 6 total — 3 and 3. Anything else is flagged as unbalanced.
0
Teachers
0
Balanced (3 & 3)
0
Unbalanced

Teachers

Unbalanced only
Teacher Name (Sorted)TotalUnbalancedS1S2
Part Five

Schedule by Teachers/Department

Pull up individual teachers to compare side by side, or a whole department at once — full period-by-period schedule for both semesters, straight off the latest Master Schedule List. Totals and the balanced/unbalanced flag are the same numbers as Teacher Section Allocation.
Compare Teachers By Department

Pick up to four teachers

Part Five

Course Dispersion by Period/Department

How a course's sections land across the periods, straight off the latest Master Schedule List — pick up to five courses to compare, or a whole department at once. Color-coded by count so a heavy period stands out even before reading the numbers.
Course by Period By Department Count:
Part Five

Grade Level by Period

Every section actually running in each period for one grade, both semesters, straight off the latest Master Schedule List — this shows everyone in the room, not just what counts toward staffing, so a GLE or ESL class shows here even if it's flagged Not in Section Count or Holding Code elsewhere. Splits show merged under one combined course label. Grade is read directly off the course code (the digit right after the subject letters); a course with no determinable grade (ESL codes use a letter for level in that spot instead) shows on every grade's tab, since real students are in that room and we can't tell which grade. Anything with zero students isn't shown.
Grade 9 Grade 10 Grade 11 Grade 12
KEY: Full 1 spot left 2 spots left
Part Five

Teacher Schedule Summary

Every teacher, sorted, with their department breakdown, section totals, and full schedule for both semesters — straight off the latest Master Schedule List. Totals and the balanced/unbalanced flag are the same numbers as Teacher Section Allocation.

Teachers

Unbalanced only
Part Five

Teacher Lunches and Oncalls

Every teacher, sorted, with their department breakdown, section totals, and full schedule for both semesters — same numbers as Teacher Schedule Summary. The first and last period of the day are automatically labeled On-Call whenever they're empty — no action needed. Any other empty period is an open slot — pick Lunch or On-Call for it and it saves right away. Lunch can only go in a period strictly between the first and last of the day; On-Call can go anywhere empty.
Fills in every teacher who still has two open middle periods this semester — one becomes On-Call, the other Lunch — balancing On-Call load across periods. Skips anything already locked. Reset undoes only what Optimize filled in.

Coverage by Period

On-Call · Lunch · Unassigned, live across every period

Teachers

Needs attention only
Part Five

Limited-Section Course Distribution

Pulled straight from the latest Master Schedule Data (PowerScheduler or PowerSchool) — every Locally Developed, Applied, College, AP, and Extended French course, plus any course running just one section all year, so clustering problems (like every AP course landing in the same period) are easy to spot at a glance. Read-only — nothing here can be edited or assigned.

Courses by Grouping

This chart updates automatically based on the Grade Level filter selected below.

AP & Extended French — Term / Period Clustering

Darker cells mean more courses stacked into that exact term and period — the first place to look for a scheduling conflict. Always shows the full schedule, regardless of the filters below.

Courses

Click any column heading to sort.
Course Code Course Name Grouping(s) Grade Level Term Period Teacher Name Course Dept.
Part 2 · Changes to Final Schedule

Schedule Changes

The top row for each teacher is the current schedule, locked. The row underneath is editable — pick a different course or room for any period if it needs to change. Anything changed from the original is highlighted so Guidance knows exactly what to re-enter into PowerScheduler.
Part Six

Schedule Changes Review

Every change any department has proposed, in one list — check "Entered" once you've made that exact change in PowerScheduler, so nothing gets applied twice or missed.
0
Changes proposed
0
Still to enter
0
Already entered

Changes

Pending only
Part 2 · Changes to Final Schedule

My Schedule Changes

Every change you've proposed for your department. "Entered" means Guidance has re-entered it into PowerScheduler; "Current (Master Schedule)" always shows what the latest Master Schedule List actually has, even after it's updated to reflect your change — your original request stays visible here either way.
0
Changes proposed
0
Still to enter
0
Already entered

Changes

Pending only
Owner Admin

Manage Principals

Add a principal

To edit the list below: click directly into any box — name, school, username, or password — type your change, and click elsewhere. It saves automatically.
NameSchoolUsernamePassword
One principal per school, matching the fixed 10-school list. If a principal changes mid-year, edit or remove their record here — nothing else in the app changes, since their access is tied to this record, not to them personally.
Owner Admin

Manage Guidance Heads

Add a guidance head

To edit the list below: click directly into any box — name, school, username, or password — type your change, and click elsewhere. It saves automatically.
NameSchoolUsernamePassword
One guidance head per school, matching the fixed 10-school list. Guidance heads don't have access to Survey Control or Survey Results — only the owner and principal do.
Owner Admin

Manage Special Guests

Add a special guest

Check a tile to grant it, then set that tile's own Read-only / Edit access — new tiles default to Read-only. Read-only is fully enforced on Part 4 and Part 5 tiles. Parts 1-3 don't have it wired up yet — ask if a guest ever needs one of those.
Username and password are generated automatically — shown in the list below once added.

Current special guests

A special guest's access is locked to one school and one cycle, and gated by the same completion rules as everyone else — if a tile isn't unlocked yet, they see the same "not ready" message anyone else would.
Owner Admin

Manage School Codes

Placeholder teacher codes

Every school pieces together its placeholder-teacher names in PowerSchool a bit differently. Enter a school's real code here (e.g. Bishop Reding is BHRD) and its placeholders switch automatically to "AAAA, TeacherBHRD1", "BBBB, TeacherBHRD2", and so on — any placeholders already added for that school, and everything already tied to them (department overrides, survey responses, next-year allocations, scheduled sections, department head records), carry over to the new naming automatically. Leave a school blank until you've confirmed its real code — it'll keep using the generic "AAAA, Teacher" naming until then.
SchoolCodePreview
Changing a code here renames that school's existing placeholders the next time that school's data loads — no need to redo any work already built around them.
Admin

Change Password

Owner Admin

Account Settings

Owner login

Owner Admin

Import, Export, Reset Data

Export / Import All Data

Everything in this app lives in your browser only — it never travels with the file itself. If you switch browsers, switch computers, or move to a new chat, your data won't come with you unless you export it first. Export before you switch, then import right after opening the app again.
This replaces everything currently in this browser with what's in the backup file.

Wipe one school's data for one cycle

Reset Everything

Wipes the entire app back to a clean install — every school, every cycle, every principal, guidance head, and department head record. Only use this once you've genuinely backed up anything you still need; there's no undo.

Move data between cycles

Moves everything — Course Catalog, Master Course Schedule, Teacher Directory, Survey Control, Department Heads, completion status, all of it — from one cycle to another for the same school. The source cycle is left empty afterward. If the destination already has data, this replaces it, so double-check the destination is actually the one you want.
This only clears the selected school's Course Catalog and Teacher Directory for the selected cycle — every other school, every other year, and the principal roster/login are untouched.
Owner Admin

Login Activity

Every successful login by a Principal, Guidance Head, Department Head, or Special Guest, tracked going forward — the owner's own logins aren't included. Department Heads are scoped to the cycle currently selected up top in the sidebar.

Everyone

Click any column heading to sort. Click a row (or "View history") to see that person's full login history.
Name School Role Total Login Count Last Login Days Since Last Login