Manage your school's teaching staff including regular full-time teachers and visiting/part-time teachers. Add, edit, search, and organize teacher information all in one place.
💡 Bulk option: to add many teachers at once, attach an Excel file to Ori (chat icon, bottom-right) and say "add these teachers". Ori reads any column layout and previews each row before saving. To add a visiting teacher with availability, you can also ask Ori conversationally — "add Mr. Patel as a visiting teacher on Tuesdays and Thursdays". See Ori — Bulk Imports and Chat Actions.
Navigation
Start from the left sidebar navigation menu:
- Look for the "Teachers" menu item in the left sidebar
- Click on "Teachers" to navigate to this page
- The page will load and display: a header with "Manage Teachers", a search bar, action buttons, and a table showing all your teachers
Overview
The Teachers page is your central hub for managing all teaching staff in your school. Here you can add new teachers with their contact information and teaching preferences, mark teachers as visiting/part-time staff with limited availability, search through your teacher roster, update teacher details, and manage teacher assignments. The page shows teachers in an organized table with their name, initials, email, and status (regular or visiting). A teacher's maximum hours is not a setting: the timetable generator does not use it, and a visiting teacher's limits come from the days and periods marked as available.
Tasks
Create - Add New Teacher
Navigation: Start from sidebar → Click "Teachers" → Page loads
Steps:
- Click Button: Click the blue gradient button labeled "Add New Teacher" with a UserPlus icon in the top-right corner
- Dialog Opens: A form dialog appears titled "Add New Teacher" with the subtitle "Fill in the details to add a new teacher"
- Fill Fields:
- Full Name (Required): Enter "John Smith"
- Email Address (Required): Enter "john.smith@school.edu"
- Teacher Initials: Auto-filled as "JS" based on the name. Can be customized.
- Submit: Click the "Add Teacher" button at the bottom of the dialog
- Result: Dialog closes, teacher appears in the table
Required Fields: Full Name, Email Address Auto-Generated: Teacher Initials (from name, but can be edited) Save Button: "Add Teacher" button in dialog
Example: "To add a Math teacher named Sarah Johnson, click 'Add New Teacher', enter 'Sarah Johnson' as the name, 'sarah.johnson@school.com' as email, and click 'Add Teacher'. The initials 'SJ' are auto-generated."
Create - Add Visiting Teacher
Navigation: Start from sidebar → Click "Teachers" → Page loads
Steps:
- Add as Regular Teacher First: Use the "Add New Teacher" button to create the teacher record
- Click Setup Button: Click the "Visiting Teacher Setup" button (outlined button with UserCheck icon) in the top-right area
- Dialog Opens: A multi-step wizard appears with Step 1: "Teacher Selection"
- Select Teacher: Choose the teacher from the dropdown menu
- Select Schedule: Choose a bell schedule to define availability against
- Mark Availability: In the availability grid, click on time slots to mark when the teacher is available
- Shows working days (Mon-Fri) as columns and bell times (periods and breaks) as rows
- Green = Available, Gray = Not Available, Amber = Break
- Statistics shown below: Available Days, Total Slots, Avg per Day
- Submit: Save to complete the setup
- Result: Teacher now shows "Visiting Teacher" badge in the Status column
Example: "To set up a music teacher who only works Tuesdays and Thursdays: First add them as a regular teacher, then click 'Visiting Teacher Setup', select their name, enable visiting teacher mode, choose the schedule, and click only Tuesday and Thursday time slots in the availability grid."
Read - View Teachers List
Navigation: Start from sidebar → Click "Teachers" → Page loads
Display Format: Teachers are shown in a table with the following columns:
- Checkbox (for selection)
- Name (teacher's full name)
- Initials (teacher's initials)
- Status (badge showing "Regular Staff" or "Visiting Teacher")
- Email (teacher's email address)
- (There is no max-hours column: per-teacher max hours is not a setting. A visiting teacher's limits come from their availability.)
- Actions (Edit and Delete buttons)
Search/Filter: Use the search bar below the "Manage Teachers" header. Type any part of the teacher's name, email, or initials to filter the list in real-time.
Example: "To view all your teachers, click 'Teachers' in the sidebar. You'll see a table showing each teacher's name, initials, status, and email. To find a specific teacher, type their name in the search box."
Read - Search Teachers
Navigation: Start from sidebar → Click "Teachers" → Page loads
Steps:
- Locate Search Bar: Find the search input field below the "Manage Teachers" header (has a magnifying glass icon)
- Enter Search Term: Type the teacher's name, email, or initials (for example, "Sarah Johnson" or "sarah.johnson")
- View Filtered Results: The table automatically updates to show only matching teachers
- Clear Search: Delete the search text or clear the field to show all teachers again
Example: "To find all teachers with 'Smith' in their name, type 'Smith' in the search box. The table will show only matching teachers. Clear the search to see everyone again."
Update - Edit Teacher Information
Navigation: Start from sidebar → Click "Teachers" → Page loads
Steps:
- Find Teacher: Scroll through the table or use search to find the teacher (for example, "John Smith")
- Click Edit: In the Actions column on the right, click the blue "Edit" button for that teacher
- Dialog Opens: The "Edit Teacher" form appears with all current information pre-filled
- Modify Fields: Update any fields you need:
- Change name to "John Smith Jr."
- Update initials to "RC"
- Correct the email address
- Modify initials to "JSJ"
- Submit: Click the blue "Update" button at the bottom-right
- Result: Dialog closes, "Teacher added successfully" message appears, table refreshes showing updated information
Save Button: Blue "Update" button at bottom-right of dialog
Example: "To change a teacher's email address, click their Edit button, update the Email field, and click Update. The change appears immediately in the table."
Delete - Remove Single Teacher
Navigation: Start from sidebar → Click "Teachers" → Page loads
Steps:
- Find Teacher: Locate the teacher in the table (for example, "Alice Brown")
- Click Delete: In the Actions column, click the red "Delete" button
- Confirmation Dialog: A dialog appears with title "Confirm Deletion" asking "Are you sure you want to delete 1 selected teacher? This action cannot be undone."
- Confirm: Click the red "Delete" button to proceed, or "Cancel" to abort
- Result: Teacher is removed from the table and permanently deleted from the database
Warning: Deletion is permanent. If the teacher has existing assignments (subjects, grades, timetable entries), you'll be asked to confirm force deletion which will also remove all related data.
Example: "To remove a teacher who is leaving, find their name in the table, click the red Delete button in their row, and confirm the deletion. They will be permanently removed."
Delete - Bulk Delete Multiple Teachers
Navigation: Start from sidebar → Click "Teachers" → Page loads
Steps:
- Select Teachers: Click the checkbox in the first column for each teacher you want to delete (you can select multiple)
- Bulk Delete Button Appears: A red "Delete (X)" button appears at the top-right showing the count of selected teachers
- Click Delete: Click the "Delete (2)" button (number shows your selection count)
- Confirmation Dialog: A dialog asks "Are you sure you want to delete 2 selected teachers? This action cannot be undone."
- Confirm: Click "Delete" to remove all selected teachers, or "Cancel" to abort
- Result: All selected teachers are permanently deleted from the system
Tip: You can select all teachers at once by clicking the checkbox in the table header.
Example: "To remove 3 temporary teachers who worked for one semester: check the boxes next to their names, click the 'Delete (3)' button that appears, and confirm. All three will be deleted at once."
Buttons & Controls
- Add New Teacher (Blue Gradient Button with UserPlus Icon): Opens the form to add a new teacher to your staff. Located in the top-right corner of the page header.
- Visiting Teacher Setup (Outlined Button with UserCheck Icon): Opens a multi-step wizard to configure a teacher as visiting/part-time with limited availability. Located next to "Add New Teacher" button.
- Refresh (Outlined Button with RefreshCw Icon): Reloads the teacher list from the database to show the most current information. Shows a spinning icon while refreshing.
- Import Button: Opens a file selection dialog to import teachers from an Excel file. Located in the top-right area.
- Export Button: Downloads all teacher data as an Excel file. Located next to the Import button.
- Search Input (Text Field with Magnifying Glass Icon): Filter teachers by typing their name, email, or initials. Located below the page header.
- Select All Checkbox (Table Header): Checkbox in the table header that selects or deselects all teachers at once.
- Individual Checkbox (Table Rows): Checkbox in each row for selecting that teacher for bulk operations.
- Edit Button (Blue Button in Actions Column): Opens the edit form with the teacher's current information pre-filled. Has a pencil icon.
- Delete Button (Red Button in Actions Column): Removes the teacher after confirmation. Has a trash icon.
- Bulk Delete Button (Red Button with Count): Appears when teachers are selected, shows count like "Delete (2)". Deletes all selected teachers.
Visual Elements
- Regular Staff Badge (Tag with User Icon): Shows that the teacher is a regular full-time staff member. Appears in the Status column.
- Visiting Teacher Badge (Tag with UserCheck Icon): Indicates the teacher is part-time or visiting with limited availability. Appears in the Status column.
- Success Message (Green Alert): Green notification at the top of the page showing "Teacher added successfully" or export success messages.
- Error Message (Red Alert): Red notification showing error messages like "Failed to load teachers" or validation errors.
- Spinning Refresh Icon: Animated spinning icon that appears on the Refresh button while data is being reloaded.
- Dialog Overlay: Semi-transparent dark overlay that appears behind form dialogs and confirmations.
Form Fields Reference
- Full Name: Text field, required, no specific format. Example: "John Smith", "Sarah Johnson". Shows error if left empty.
- Full Name: Text field, required, the teacher's full name. Example: "Sarah Johnson".
- Email Address: Email field, required, must be valid email format. Example: "teacher@school.com". Browser validates the email format automatically.
- Teacher Initials: Text field, auto-generated from the teacher's name (first letters of each word), but can be manually customized. Example: "SJ" for "Sarah Johnson". Hint text: "Automatically generated from name, but can be customized".
Alerts & Errors
- "Teacher added successfully": Appears in green at the top of the page after successfully creating or updating a teacher.
- "exported successfully" or "downloaded successfully": Appears after clicking Export button when the file download completes.
- "Failed to load teachers": Error message shown if the teacher list cannot be loaded from the database.
- "Name and email are required": Validation error shown in the form dialog if you try to submit without filling required fields.
- Email Format Error: Browser validation message (like "Please include an '@' in the email address") appears if email format is invalid.
- "Database connection failed": Error shown if there's an API or server error while saving a teacher.
- Dependency Warning Dialog: Special dialog that appears if you try to delete a teacher who has assigned subjects, grades, or timetable entries. Shows what will be deleted and requires additional confirmation.
Rules & Constraints
-
Email Must Be Valid Format: Email addresses must include "@" and a domain (like ".com")
- What's Valid: "teacher@school.com", "john.doe@example.org"
- What's Invalid: "teacher", "teacher@", "@school.com", "teacher.school"
- Error Message: Browser shows "Please include an '@' in the email address" or "Please enter a part following '@'"
- How to Fix: Add a complete email address with @ and domain
- Example Valid: Enter "sarah.johnson@school.com" to add a teacher
- Example Invalid: Entering "sarah.johnson" shows a validation error
-
Name and Email Are Required: You cannot create a teacher without both name and email
- What's Valid: Name="John Smith", Email="john@school.com"
- What's Invalid: Empty name field, empty email field
- Error Message: "Name and email are required"
- How to Fix: Fill in both the Full Name and Email Address fields before clicking Add
- Example Valid: Fill "Maria Garcia" and "maria@school.com", then click Add
- Example Invalid: Clicking Add with empty fields shows the error
-
Initials Auto-Generate from Name: When you type a name, initials are automatically created from the first letter of each word
- What Happens: Typing "Sarah Jane Johnson" automatically fills initials as "SJJ"
- Note: You can override the auto-generated initials by typing in the Initials field
- Example: "John Smith" → auto-generates "JS", "Sarah Johnson" → auto-generates "SJ"
-
Cannot Delete Teachers With Dependencies Without Confirmation: Teachers assigned to subjects, grades, or timetable entries cannot be deleted with a simple delete
- What Happens: A special warning dialog appears listing all related data that will be deleted
- Options: Cancel to abort, or confirm "Delete Teacher and All Dependencies" to proceed with force delete
- Warning: Force deleting removes the teacher AND all their subject assignments, grade assignments, timetable entries, and substitution records
- How to Fix: Either cancel and manually remove assignments first, or confirm force delete understanding all data will be lost
- Example: Attempting to delete a teacher with 5 subject assignments shows a warning with a list of what will be deleted
Teacher Replacement in Timetable
When a teacher leaves permanently (resignation, retirement, etc.) and you have a published timetable, you need to reassign their scheduled periods to other teachers. This is done through the Teacher Replacement feature.
Accessing Teacher Replacement
There are two ways to access the teacher replacement feature:
- From Timetable Generation Page: Click "Replace a Teacher" button in the Teacher Replacement section
- From View by Teacher Page: Click "Replace Teacher" button while viewing a specific teacher's timetable
Replacement Options
Bulk Replacement: Assign ALL of the departing teacher's periods to ONE replacement teacher
- Best when: Another teacher can take over the entire workload
- Requirement: Replacement must be free for all time slots — checked by wall-clock time, so a clash on another bell schedule also counts as a conflict
- Fastest option when applicable
Selective Replacement: Assign different teachers to different periods
- Best when: No single teacher can take all periods, or you want to distribute the workload
- Flexibility: Can assign different teachers to different periods
- Can leave some periods unassigned for later
Replacement Reasons
When replacing a teacher, you select a reason for record-keeping:
- Resignation: Teacher voluntarily leaving
- Leave: Extended leave of absence
- Reassignment: Moving to different role/school
- Retirement: Teacher retiring
- Sick Leave: Extended medical leave
Important Notes
- Teacher replacement modifies the published timetable permanently
- The change is tracked but cannot be easily undone
- For temporary absences, use Substitutions instead (daily coverage)
- After replacement, the teacher's original periods show the new teacher
- Conflict checks run across all your bell schedules — a teacher already busy at that clock time on another schedule is flagged, not missed — and the preview's "conflict-free" result is trustworthy because it uses the same availability check as the save, so a double-booking can't be written into the published timetable
Example
"Mr. Smith is resigning. He has 25 periods across the week. Ms. Johnson can cover 15 of his periods without conflicts. Use selective replacement: assign Ms. Johnson to 15 periods, Mr. Adams to 5 periods, and Ms. Brown to 5 periods. Select 'Resignation' as the reason and confirm."
For full details on the replacement process, see the Timetable Generation documentation.
Tips & Notes
- Search is Your Friend: With many teachers, use the search bar to quickly find someone by typing any part of their name, email, or initials.
- Initials Save Time: Teacher initials are used throughout the system (like in timetables). The auto-generation feature saves time, but customize them if needed for clarity.
- Export Before Bulk Changes: Before deleting multiple teachers or making major changes, use the Export button to download a backup of your teacher data.
- Visiting Teachers Are Different: Regular teachers have full availability, while visiting teachers have specific days and time slots when they're available. Set up visiting teachers only after adding them as regular teachers first. A teacher's maximum hours is not an editable setting for anyone; a visiting teacher's limits come from the days and periods you tick in their availability.
- Refresh Shows Latest Data: If you have multiple people managing teachers, click Refresh to see the most current information.
- Dependencies Block Simple Deletion: If a teacher has active assignments, you'll need to use force delete. Consider whether you want to remove all their assignments or just unassign them first.
- Check Before Deleting: Deletion is permanent and cannot be undone. Double-check before confirming, especially with bulk delete.
- Import Saves Time: If you have teacher information in a spreadsheet, use the Import feature instead of manually adding each teacher.
- Only Name and Email Required: The add teacher form only requires name and email. Initials are auto-generated but can be customized.
- Replacement vs Substitution: Use Teacher Replacement for permanent departures. Use Substitutions for temporary daily coverage (sick days, vacation).
- Check Conflicts First: Before bulk replacement, verify the replacement teacher doesn't have existing classes at the same time slots.
Convert a Visiting Teacher Back to Regular
If a part-time visiting teacher becomes full-time (or you marked someone visiting by mistake), you can convert them back to a regular teacher without deleting and re-adding them.
How to use
- Go to the Teachers page (
/teachers). - Open the Visiting Teacher editor and select that teacher.
- Click Convert to regular teacher at the bottom of the dialog.
- Confirm the prompt. Their visiting status is removed and their day/period availability is cleared — the teacher stays in your list and can be scheduled normally.
Notes
- This only removes the visiting restriction; it does not delete the teacher or change their subject assignments.
- The availability grid is cleared (a regular teacher has no availability limits). If you convert by mistake, mark them visiting again and re-enter the slots.
- You can also mark a teacher as visiting — or set a visiting teacher's availability — by asking Ori in chat. See the Ori actions guide.