Skip to main content

Batches & Scheduling

1. Overview

A Batch represents a specific group of students taking a Course together at a particular time, under one or more tutors/trainers.

While a Course defines what is being taught, a Batch defines how and when that course is delivered to a particular group of students.

For example:

Course: Mathematics Foundation Batch: Class 10 — Evening Schedule: Mon/Wed/Fri, 5:00 PM Tutor: Amit Students: 24

A course can have multiple batches operating at the same time.


2. Purpose of Batches

Batches provide the operational structure required to actually deliver a course.

A batch brings together:

  • A Course
  • Students
  • Tutor(s)
  • Schedule
  • Location or delivery mode
  • Capacity
  • Attendance
  • Class sessions
  • Batch-specific learning activity

The batch is therefore the primary operational unit for running classes.


3. Course vs Batch

This is one of the most important concepts in Tutorog.

Course

Answers:

What are we teaching?

Batch

Answers:

When, where, by whom, and to which group are we teaching it?

Example:

Course
Mathematics Foundation

├── Batch A
│ ├── Mon/Wed/Fri — 5 PM
│ ├── Room 101
│ ├── Tutor: Amit
│ └── 24 students

├── Batch B
│ ├── Tue/Thu/Sat — 6 PM
│ ├── Room 102
│ ├── Tutor: Neha
│ └── 20 students

└── Batch C
├── Saturday/Sunday — 10 AM
├── Online
├── Tutor: Rahul
└── 15 students

The course content can remain common while each batch has its own schedule, tutor, students, and delivery context.


4. Batch Lifecycle

A batch typically follows:

Draft

Scheduled

Active

Completed

Archived

Draft

The organization is preparing the batch.

Scheduled

The batch has been configured and is planned to start.

Active

Classes are currently being conducted and students can participate.

Completed

The batch has finished.

Archived

The batch is retained for historical records but is no longer operational.

A batch should not normally be deleted after students have enrolled because it may contain important historical records such as attendance, assignments, and progress.


5. Batch Information

A batch should contain information such as:

Basic Information

  • Batch name
  • Course
  • Organization
  • Description
  • Status

Schedule

  • Start date
  • End date
  • Days of week
  • Start time
  • End time
  • Time zone

Delivery

  • Physical location
  • Room/classroom
  • Online/offline/hybrid
  • Online meeting information where applicable

People

  • Assigned tutor(s)
  • Enrolled students
  • Maximum capacity

Operational Information

  • Attendance
  • Class sessions
  • Learning materials
  • Assignments
  • Announcements

6. Creating a Batch

The Organization Owner should be able to create a batch from an existing course.

Typical workflow:

Course

Create Batch

Enter Batch Details

Assign Tutor

Set Schedule

Set Capacity

Set Location

Publish / Schedule

The system should make it easy to create another batch using an existing course without having to recreate the course information.


7. Batch Scheduling

Scheduling is one of the primary responsibilities of a batch.

A batch may meet:

  • Every weekday.
  • Selected weekdays.
  • Weekends.
  • Once a week.
  • Multiple times per week.
  • According to a custom schedule.

Example:

Mathematics — Batch A

Monday 5:00–6:00 PM
Wednesday 5:00–6:00 PM
Friday 5:00–6:00 PM

Start: 1 Sep
End: 28 Feb

The schedule should generate individual class sessions that can be used for attendance and class-specific activity.


8. Batch vs Class Session

A Batch is a recurring group/program.

A Class Session is a specific occurrence of that batch.

For example:

Batch
Mathematics — Class 10A

├── Class Session — 1 Sep
├── Class Session — 3 Sep
├── Class Session — 5 Sep
├── Class Session — 8 Sep
└── ...

This distinction is important.

The Batch stores the overall structure, while each Class Session represents an actual class that happened or is scheduled to happen.

Attendance should generally belong to the Class Session, not directly to the Batch.


9. Tutors & Trainers

A batch should have one or more assigned tutors/trainers.

For example:

Mathematics — Batch A

├── Primary Tutor: Amit
└── Assistant Tutor: Neha

The organization should be able to:

  • Assign tutors.
  • Remove tutors.
  • Change tutors.
  • Assign multiple tutors where needed.

Tutor access should be limited to the batches they are assigned to.


10. Students & Enrollment

Students participate in a batch through an Enrollment.

Batch

├── Enrollment → Student A
├── Enrollment → Student B
├── Enrollment → Student C
└── Enrollment → Student D

This is preferable to directly attaching students to a batch because an Enrollment can contain information such as:

  • Enrollment date
  • Enrollment status
  • Fee arrangement
  • Start date
  • End date
  • Withdrawal date
  • Enrollment history

A student may also have multiple enrollments across different batches.


11. Batch Capacity

Organizations may want to limit the number of students in a batch.

For example:

Batch Capacity: 25

Current Enrollment: 23

Available Seats: 2

The system should be able to prevent or warn against exceeding the configured capacity.

Capacity may be:

  • Fixed.
  • Unlimited.
  • Organization-controlled.

This becomes particularly important for physical classes.


12. Batch Attendance

Attendance is primarily recorded at the Class Session level.

Example:

Batch: Mathematics A
Class: 25 Aug

Aarav Present
Ananya Present
Rohan Absent
Priya Present

From these individual sessions, Tutorog can calculate:

  • Student attendance percentage.
  • Batch attendance.
  • Attendance trends.
  • Absence history.

This allows both tutors and organization owners to monitor participation.


13. Batch Learning Activities

A batch provides the context for day-to-day teaching.

Activities may include:

  • Class sessions.
  • Learning materials.
  • Assignments.
  • Assessments.
  • Announcements.
  • Attendance.
  • Tutor notes.
  • Student feedback.

For example:

Batch

├── Class Sessions
├── Materials
├── Assignments
├── Assessments
├── Announcements
└── Students

Some of these resources may originate from the Course and then be made available to the Batch.


14. Batch-Specific Content

Although courses can contain reusable learning material, tutors often need to provide material specific to a particular batch.

For example:

"Today's class covered Chapter 4, pages 32–45."

This content belongs naturally to the batch/class context.

Therefore Tutorog should distinguish between:

Course-level content

Reusable learning resources.

and

Batch/Class-level content

Content or activity specific to a particular group or class.


15. Batch Communication

The batch should act as a natural communication boundary.

The organization or tutor may send announcements to:

  • Entire batch.
  • Selected students.
  • Parents of students in the batch.

Examples:

  • "Tomorrow's class is cancelled."
  • "Bring your geometry box."
  • "Assignment due Friday."
  • "Classroom changed to Room 204."

This avoids sending irrelevant organization-wide notifications to students.


16. Batch Schedule Changes

Schedules can change after a batch has started.

Tutorog should support:

  • Cancelled classes.
  • Rescheduled classes.
  • Substitute tutors.
  • Room changes.
  • Online/offline changes.
  • Special sessions.

For example:

Original:
Wednesday — 5:00 PM

Changed:
Thursday — 5:30 PM

Reason:
Teacher unavailable

Affected students and parents should receive appropriate notifications.

The original schedule should not be silently overwritten if doing so would destroy the historical record.


17. Batch Completion

When a batch finishes:

Active

End Date Reached

Completed

Historical Records Retained

Historical information should remain accessible, including:

  • Students.
  • Enrollment history.
  • Attendance.
  • Assignments.
  • Assessments.
  • Progress.
  • Tutor information.
  • Class sessions.

Students should be able to retain the completed course in their learning history.


18. Batch Management by Organization Owner

The Organization Owner should be able to:

  • Create batches.
  • Edit batch information.
  • Assign tutors.
  • Set schedules.
  • Set capacity.
  • Add/remove students where authorized.
  • View attendance.
  • View batch performance.
  • Publish/cancel batches.
  • Complete/archive batches.

The owner should be able to see all batches within their organization.


19. Batch Management by Tutor

A tutor should generally be able to:

  • View assigned batches.
  • View enrolled students.
  • View upcoming classes.
  • Take attendance.
  • Share material.
  • Create assignments.
  • Record feedback.
  • Track student progress.
  • Communicate with the batch.

A tutor should not automatically be able to modify organization-level batch configuration such as fees or capacity.


20. Batch Management by Student / Parent

Student

Should be able to:

  • View their enrolled batches.
  • View schedules.
  • Access batch materials.
  • View assignments.
  • View attendance.
  • Receive batch announcements.

Parent / Guardian

Should be able to:

  • View their child's batches.
  • View schedules.
  • Track attendance.
  • Receive announcements.
  • View relevant progress.
  • Communicate with the organization/tutor.

Neither should have access to other students' information.


21. Batch Dashboard

The Organization Owner might see:

Mathematics — Class 10A

Status: Active
Students: 24 / 25
Tutor: Amit
Schedule: M/W/F · 5:00 PM

────────────────────────

NEXT CLASS
Wednesday · 5:00 PM
Room 101

────────────────────────

ATTENDANCE
Average: 89%

────────────────────────

NEEDS ATTENTION
• 3 students with low attendance
• 4 pending assignments

────────────────────────

QUICK ACTIONS
[ View Students ]
[ Take Attendance ]
[ Add Material ]
[ Send Announcement ]

The tutor's version should be more focused:

Mathematics — Class 10A

Next Class
Wednesday · 5:00 PM

24 Students

[ Take Attendance ]
[ View Students ]
[ Add Material ]
[ Assignment ]

22. Important Product Principles

1. Batch is an operational unit

The batch represents the actual group being taught.

2. Batch belongs to a Course

A batch should normally be created under a course.

3. Students join through Enrollment

Students should not simply be permanently attached to a batch.

4. Attendance belongs to Class Sessions

A batch has many class sessions, and attendance is recorded for each session.

5. Schedule belongs to the Batch, but exceptions belong to Sessions

The batch defines the recurring schedule.

Individual sessions can then be cancelled, rescheduled, or modified.

6. Batch history should be preserved

Completed batches should normally be archived rather than deleted.


23. Core Relationship

The relationship between the main entities is:

Organization

└── Course

└── Batch

┌───────┼────────┐
▼ ▼ ▼
Tutor Sessions Enrollment


Student

And the learning activity flows through the batch:

Course


Batch

├── Class Sessions
│ └── Attendance

├── Students
│ └── Progress

├── Materials

├── Assignments

└── Announcements

Core Principle

A Course defines the learning offering; a Batch turns that offering into a real, scheduled learning experience for a specific group of students.