Teacher Scheduling

Teacher Scheduling

Teacher scheduling in TimelyChurch connects teachers, classes, and lessons on specific dates. The scheduling system supports teacher assignment, confirmation workflows, lesson selection, prep task management, and holiday handling.


How Scheduling Works

Schedules are created through the Events module (Event Hub) and link to the class system. Each schedule record represents a single class session on a specific date and includes:

  • Class -- Which class is being taught.
  • Date -- The date of the class session.
  • Teacher -- The assigned teacher.
  • Lesson -- The lesson to be taught (optional at creation, can be assigned later).
  • Status -- The current state of the schedule.

Schedule Statuses

Status Meaning
Draft The schedule is being planned and is not yet finalized.
Scheduled The schedule is set with a teacher assigned.
Confirmed The teacher has confirmed they will teach this session.
Needs Substitute The assigned teacher has requested a substitute.
Cancelled The class session has been cancelled.
Completed The class session has been taught (marked as completed).
Holiday The date is a holiday and no class will be held.

Assigning Teachers to Classes

At Class Creation

When you create a new class, you can select teachers during the creation process. These teachers are assigned as leaders of the class.

Through the Class Detail Page

  1. Open the class from the Classes list.
  2. Use the teacher management section to add or change teachers.
  3. Teachers assigned to a class are available as the default teachers when creating schedules for that class.

On Individual Schedules

Teachers can also be assigned directly to individual schedule entries, overriding the class's default teachers. This is useful for one-off assignments or when a regular teacher is unavailable.


Teacher Confirmation Workflow

TimelyChurch includes a built-in confirmation workflow to ensure teachers are aware of and have accepted their assignments.

How It Works

  1. Admin creates a schedule with a teacher assigned.
  2. Confirmation is requested -- The system sends a notification to the teacher asking them to confirm.
  3. Teacher responds via the portal:
    • Confirm -- The teacher accepts the assignment. The schedule status updates to "Confirmed."
    • Decline -- The teacher cannot teach. They provide a reason, and the schedule automatically changes to "Needs Substitute."

Automated Reminders

The system sends automated reminders for unconfirmed schedules:

  • 4-day reminder -- Sent 4 days before the scheduled date if the teacher has not yet responded.
  • 2-day reminder -- Sent 2 days before the scheduled date if still unconfirmed.

Each reminder is sent only once and is tracked to prevent duplicate notifications.

Confirmation via Email

Teachers can confirm or decline directly from their email notification using a secure, unique confirmation token. This allows teachers to respond without needing to log in to the portal.


Lesson Assignment

Teachers and admins can assign lessons to schedules in several ways:

Admin Assigns a Lesson

  1. When creating or editing a schedule, select a lesson from the lesson library.
  2. Only approved lessons are available for selection.

Teacher Selects a Lesson

If the "Teacher Picks Lesson" option is enabled on a schedule:

  1. The teacher receives a notification that they need to select a lesson.
  2. They browse the lesson library from the portal.
  3. They select a lesson and it is assigned to the schedule.

Teacher Proposes a Lesson

If a teacher wants to teach content that is not yet in the library:

  1. From the portal, they choose to propose a new lesson for their schedule.
  2. They fill in the lesson title, description, and scripture reference.
  3. The proposal is submitted with a "Pending" status.
  4. An admin reviews the proposal and can:
    • Approve -- The lesson is created in the library and assigned to the schedule. The teacher is notified.
    • Reject -- The teacher is notified with the reason for rejection and can submit a revised proposal.

Teacher Creates a Lesson

If "Allow teachers to create lessons" is enabled in Lesson Settings:

  1. Teachers can create new lessons directly from the portal.
  2. If approval is required, the lesson starts as a Draft.
  3. Once approved, it becomes available for scheduling.

Lesson Needed Notifications

When a schedule has a teacher assigned but no lesson selected, the system automatically notifies the teacher that they need to choose a lesson. This notification is triggered when:

  • A new schedule is created with a teacher but no lesson.
  • A teacher is newly assigned to an existing schedule that has no lesson.
  • A lesson is removed from an existing schedule.

Notifications are not sent for past schedules or holidays.


Prep Tasks

Schedules can have associated preparation tasks to help teachers get ready for their class.

What Are Prep Tasks

Prep tasks are to-do items linked to a specific schedule. Examples include:

  • "Print worksheets for the lesson"
  • "Set up classroom with craft supplies"
  • "Prepare snack for 15 kids"

Prep Task Fields

Each task includes:

  • Title -- What needs to be done.
  • Description -- Additional details.
  • Task Type -- The kind of preparation needed.
  • Quantity -- How many of something are needed (if applicable).
  • Assigned To -- Who is responsible for this task.
  • Due Date -- When the task should be completed.
  • Priority -- Low, normal, or high.
  • Estimated Time -- How many minutes the task is expected to take.
  • Status -- Pending, completed, or skipped.

Tracking Prep Tasks

  • The schedule shows a completion percentage for all prep tasks.
  • Overdue tasks are flagged automatically.
  • Tasks marked as needing attention appear in the admin's attention queue.

Holiday Handling

To mark a date as a holiday (no class):

  1. Create a schedule entry for the date.
  2. Enable the Holiday flag.
  3. Optionally enter the holiday name (e.g., "Easter Sunday" or "Christmas Break").

Holiday schedules:

  • Do not require a teacher or lesson.
  • Display the holiday name instead of a status.
  • Are excluded from "needs attention" reports.
  • Do not trigger lesson-needed notifications.

Marking a Session as Taught

After a class session has been completed:

  1. Find the schedule entry.
  2. Click Mark as Taught.
  3. The status changes to "Completed."
  4. Clicking again toggles it back to "Scheduled" if marked by mistake.

When a lesson is marked as taught, the lesson's teach count is incremented and its "last taught at" date is updated.


Schedule Visibility and Materials Access

Public Visibility

Each schedule can control what information is visible to the public. The public_visibility field on the Schedule model accepts one of four values, matching the constants defined on App\Models\Schedule:

UI Label Stored Value Constant Behavior
Global Default null PUBLIC_VISIBILITY_GLOBAL Uses the church-wide visibility setting. This is the default for new schedules.
Public 'public' PUBLIC_VISIBILITY_PUBLIC Lesson details are visible on public-facing pages.
Private 'private' PUBLIC_VISIBILITY_PRIVATE Lesson details are hidden from public view.
Limited 'limited' PUBLIC_VISIBILITY_LIMITED Only basic information (date, class name) is shown; lesson title, description, and attachments are hidden.

Per-field overrides (e.g., "show title but hide description for this one schedule") are stored in the visibility_overrides JSON column and merge with the church-wide defaults when the public page is rendered.

Materials Access

Control how lesson attachments and materials are accessible. The materials_access_mode field (with optional materials_pin) on each schedule maps to these four constants:

UI Label Stored Value Constant
Inherit (Church Default) null MATERIALS_ACCESS_INHERIT
Public 'public' MATERIALS_ACCESS_PUBLIC
PIN Protected 'pin_protected' MATERIALS_ACCESS_PIN_PROTECTED
Hidden 'hidden' MATERIALS_ACCESS_HIDDEN

When PIN Protected is selected, the schedule's materials_pin field is checked first. If it is empty, the church-wide public_materials_pin (set in Public Sharing settings) is used as a fallback. PINs can therefore be configured at two levels: per-schedule or church-wide.

For instructions on enabling and branding the public lesson page (where this PIN protection takes effect), see Public Lesson Sharing.


Tips for Effective Scheduling

  • Schedule in advance -- Set up schedules several weeks ahead so teachers have time to prepare.
  • Use the confirmation workflow -- Enable confirmations so you always know which teachers have committed to their assignments.
  • Leverage prep tasks -- Add prep tasks to schedules so nothing falls through the cracks.
  • Monitor "Needs Attention" items -- Schedules with no teacher, no lesson, or needing a substitute are flagged automatically.
  • Mark holidays early -- Add holiday entries to the schedule so teachers can plan around breaks.

We use cookies to personalize your experience. By continuing to visit this website you agree to our use of cookies

More