Skip to main content

Enrollment

1. Overview

An Enrollment represents a student's participation in a specific Batch offered by an Organization.

While a Course defines what is being taught and a Batch defines when and how it is delivered, the Enrollment establishes the relationship between:

Student ↔ Batch

For example:

Course
Mathematics Foundation


Batch
Class 10A — Evening


Enrollment
Aarav Sharma → Class 10A

Enrollment is therefore the point where a prospective learner becomes an active participant in an organization's learning program.


2. Purpose of Enrollment

Enrollment provides a structured record of a student's participation in a batch.

It allows Tutorog to track:

  • Which student joined which batch.
  • When they joined.
  • Their enrollment status.
  • Their relationship with the organization.
  • Their fee arrangement.
  • Their participation history.
  • When they leave or complete the program.

Enrollment also acts as the foundation for several other features:

Enrollment

├── Attendance
├── Fees / Payments
├── Learning Progress
├── Assignments
├── Materials
├── Feedback
└── Communication

3. Course, Batch & Enrollment

These three concepts should remain separate.

Course

What is being offered?

Batch

When and to whom is it being delivered?

Enrollment

Which student is participating in this batch?

Example:

Organization


Course: Mathematics Foundation

├── Batch A — Evening
│ │
│ ├── Enrollment → Aarav
│ ├── Enrollment → Ananya
│ └── Enrollment → Rohan

└── Batch B — Weekend

├── Enrollment → Priya
└── Enrollment → Rahul

This separation allows the same Course to be delivered through multiple Batches while each student's participation remains independently tracked.


4. Enrollment Lifecycle

An enrollment can follow this lifecycle:

Requested

Pending

Approved

Active

Completed

Other possible outcomes include:

Requested → Rejected
Pending → Cancelled
Active → Withdrawn
Active → Suspended

Requested

The student or parent has expressed interest in joining.

Pending

The organization needs to review or complete the enrollment.

Approved

The organization has accepted the student.

Active

The student is currently participating in the batch.

Completed

The student has successfully completed the enrollment period or course.

Withdrawn

The student left before completion.

Cancelled

The enrollment was cancelled before becoming active.

Rejected

The organization declined the enrollment request.


5. Enrollment Sources

Students can enter an organization through different pathways.

Organization-led Enrollment

A student joins through the organization directly.

Student visits institute

Organization creates enrollment

Student joins batch

Tutorog Discovery

A parent/student discovers an organization through Tutorog.

Discover Organization

View Course

Select Batch

Request Enrollment

Organization Approves

Enrollment Active

Invitation

An organization may invite a student to join a batch.

Organization

Invite Student

Student / Parent Accepts

Enrollment Created

Tutorog should support multiple enrollment sources without changing the underlying enrollment model.


6. Enrollment Request

A request represents a student's intention to join.

The request may contain:

  • Student
  • Parent/Guardian
  • Organization
  • Course
  • Preferred Batch
  • Message
  • Requested date
  • Status

Example:

Enrollment Request

Student: Aarav
Course: Mathematics Foundation
Preferred Batch: Class 10A
Requested by: Parent

Status: Pending

The organization can then:

Approve · Reject · Ask for Information


7. Approval Workflow

For organizations that require approval:

Parent / Student


Request Enrollment


Organization


Review Request

┌───┴────┐
▼ ▼
Approve Reject


Enrollment Created


Student Joins Batch

The organization should be able to configure whether enrollment requires approval.


8. Direct Enrollment

Some organizations may want students to join immediately.

For example, a public workshop may have available seats and no approval requirement.

The flow becomes:

Course

Select Batch

Confirm Enrollment

Enrollment Active

If payment is required:

Select Batch

Confirm Enrollment

Payment

Enrollment Active

Payment and enrollment should still remain separate concepts even when they happen in the same user journey.


9. Enrollment Information

An enrollment should capture information relevant to the student's participation.

Identity

  • Student
  • Parent/Guardian where applicable
  • Organization
  • Course
  • Batch

Enrollment

  • Enrollment date
  • Start date
  • End date
  • Status
  • Enrollment source

Financial

  • Agreed fee
  • Discount
  • Payment arrangement
  • Outstanding amount

Administrative

  • Notes
  • Withdrawal reason where applicable
  • Completion status

The enrollment should preserve the actual agreement at the time of joining, rather than relying only on the current Course or Batch information.


10. Enrollment & Fees

Enrollment and payment should be related but separate.

For example:

Enrollment
₹12,000 agreed fee

├── Payment ₹4,000
├── Payment ₹4,000
└── Payment ₹4,000

This allows Tutorog to support:

  • Installments.
  • Discounts.
  • Partial payments.
  • Outstanding balances.
  • Different payment schedules.

Importantly, if the course price later changes from ₹12,000 to ₹15,000, the original enrollment should still retain the agreed ₹12,000 fee.


11. Enrollment & Attendance

Attendance should be associated with the student's participation in the batch.

Enrollment


Batch

├── Session 1 → Present
├── Session 2 → Present
├── Session 3 → Absent
└── Session 4 → Present

This allows Tutorog to calculate attendance for the student's enrollment.

If the student changes batches, their historical attendance should remain associated with the appropriate enrollment/batch.


12. Enrollment & Learning Progress

Progress is also tied to the student's learning relationship.

For example:

Enrollment


Course

├── Topic 1 ✓
├── Topic 2 ✓
├── Topic 3 →
└── Topic 4 ○

This allows a student's learning history to remain meaningful even after they leave a batch.


13. Changing Batches

A student may need to move from one batch to another.

For example:

Batch A

│ Transfer

Batch B

The original enrollment should generally not simply be overwritten.

Instead:

Enrollment #1
Batch A
Status: Transferred



Enrollment #2
Batch B
Status: Active

This preserves the student's history.


14. Withdrawal

A student may leave before completing a course.

The enrollment should transition to:

Withdrawn

The system may capture:

  • Withdrawal date.
  • Reason where appropriate.
  • Refund information.
  • Outstanding fees.
  • Last attended session.

Historical learning and attendance records should remain available according to the organization's retention and privacy policies.


15. Completion

When a student completes a course/batch:

Active

Course Completed

Enrollment Completed

The student should retain the completed course in their learning history.

This can eventually support:

  • Certificates.
  • Achievements.
  • Course completion records.
  • Portfolio/history.
  • Reviews.

16. Parent & Student Experience

For a Parent/Guardian, enrollment should answer:

"Where is my child enrolled?"

For a Student:

"What am I currently learning?"

For an Organization:

"Which students are enrolled in my courses and batches?"

For a Tutor:

"Which students am I responsible for teaching?"

The same Enrollment record connects these experiences.


17. Organization Owner Experience

The Organization Owner should be able to:

  • View enrollment requests.
  • Approve/reject requests.
  • Create enrollments manually.
  • View active enrollments.
  • Transfer students between batches.
  • Withdraw students.
  • View enrollment history.
  • View enrollment-related financial information.
  • Monitor enrollment numbers.

Example dashboard:

ENROLLMENTS

Pending Requests 5
Active Students 128
New This Month 18
Withdrawn 3

[ Review Requests ]
[ View Students ]

18. Tutor Experience

Tutors generally do not need to manage enrollment administration.

They should be able to see the result of enrollment:

My Batch
Mathematics — Class 10A

24 Active Students

They may see when:

  • A student joins.
  • A student leaves.
  • A student transfers into/out of their batch.

But approval, fees, and enrollment administration should normally remain with the Organization Owner or authorized staff.


19. Student / Parent Experience

Students and parents should be able to see enrollment status.

For example:

Mathematics Foundation

Batch:
Class 10A — Evening

Status:
Active

Started:
1 August 2026

Tutor:
Amit Sharma

For a pending request:

Mathematics Foundation

Status:
Enrollment Request Pending

Submitted:
20 August 2026

This avoids ambiguity about whether the student has actually joined the organization.


20. Enrollment Notifications

Important enrollment events should trigger notifications where appropriate.

Examples:

Parent/Student

  • Enrollment request submitted.
  • Enrollment approved.
  • Enrollment rejected.
  • Enrollment cancelled.
  • Batch changed.
  • Enrollment completed.

Organization

  • New enrollment request.
  • Student accepted.
  • Student withdrawal request.

Tutor

  • New student joined assigned batch.
  • Student transferred out.
  • Student withdrawn.

Notifications should be relevant to each role.


21. Enrollment vs Membership

An important distinction:

Enrollment represents participation in a specific learning program.

It should not be used as a general relationship between a person and an organization.

For example:

Parent → Organization

is not necessarily an enrollment.

Instead:

Student

Enrollment

Batch

Course

Organization

This keeps the data model flexible for parents who manage multiple children and students who may enroll in multiple courses.


22. Important Product Principles

1. Enrollment belongs to a Student

Not directly to the User account.

A parent may manage multiple students, and each student can have independent enrollments.

2. Enrollment points to a Batch

Because the student participates in a specific scheduled learning group.

3. Course is inherited through the Batch

The Batch belongs to a Course, so the enrollment can understand the course through the batch relationship.

4. Enrollment has its own lifecycle

A student can request, join, transfer, withdraw, and complete a program.

5. Enrollment preserves history

Historical enrollments should not be deleted simply because a student leaves.

6. Financial agreements belong to the enrollment context

The student's agreed fee should remain historically accurate even if the course's current price changes.


23. Core Relationship

The fundamental relationship is:

Organization


Course


Batch


Enrollment


Student

With the parent relationship:

User

└── Parent / Guardian

├── Student A
│ └── Enrollment

├── Student B
│ └── Enrollment

└── Student C
└── Enrollment

And the enrollment becomes the bridge between the learner and the organization's actual learning operation.

Core Principle

Enrollment is the record that turns a Student from a prospective learner into a participant in a specific Batch, while preserving their learning, attendance, financial, and participation history.