Sunday School & Education

Sunday School Academic Structure

To support religious education and catechism classes, Kononia implements a dedicated **Sunday School** sub-system comprising academic years, graded classes, student enrollments, and teacher assignments.

Sunday School Academic Structure

To support religious education and catechism classes, Kononia implements a dedicated Sunday School sub-system comprising academic years, graded classes, student enrollments, and teacher assignments.


1. Academic Years (sunday_school_academic_years)

Sunday School classes are organized under temporal boundaries representing the school year.

  • start_date / end_date (date): Defines the boundaries of the academic year (e.g., September 1st to June 30th).
  • is_active (boolean): Denotes the current active academic year. Only one year can be active per organization at a time. Activating a new year displays corresponding classes on servant dashboards.

2. Graded Classes (sunday_school_classes)

Classes are the core groups where students learn.

  • academic_year_id (uuid): References the parent academic year.
  • age_group (text): Target age or grade level (e.g., "Pre-K", "Grade 3", "High School Youth").
  • max_students (integer): Maximum class size to manage servant-to-student ratios.
  • Meeting Schedule:
    • meeting_day: Day of gathering (defaults to 'Sunday').
    • meeting_time: Session hour.
    • location: Specific classroom or hall.

3. Student Enrollments (sunday_school_enrollments)

Students are registered to specific classes via the enrollment junction table:

  • class_id (uuid): References the target class.
  • person_id (uuid): References the student’s profile in the people CRM.
  • status (text): Enrollment status (defaults to 'active'). When a student transfers or leaves, the status can be set to 'inactive' or 'transferred'.

4. Servant Assignments (sunday_school_servants)

Deacons, teachers, and coordinators are assigned to oversee classes:

  • class_id (uuid): The class they are assigned to.
  • person_id (uuid): References the servant’s profile.
  • role (text): Role within the class (defaults to 'teacher'; can be set to 'co_teacher', 'coordinator', or 'assistant').
  • is_active (boolean): Active toggle for the current term assignment.