> For the complete documentation index, see [llms.txt](https://tutearnio.gitbook.io/tutearn-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tutearnio.gitbook.io/tutearn-docs/user-manual-academic.md).

# User Manual Academic

> Real-world guide for tutoring center admins.\
> All examples use **Bright English Academy** demo data.

***

## Getting Started — First-time Setup Flow

When a new organization is created, admins are automatically taken to the **Setup Guide** (`/getting-started`). This page walks through 9 setup steps in order and tracks progress with a progress bar.

### The 9 Setup Steps

| Step                     | What to do                                              | Where                                  |
| ------------------------ | ------------------------------------------------------- | -------------------------------------- |
| 1. Organization Profile  | Upload your logo and set your timezone                  | Organization → Edit                    |
| 2. Default Currency      | Set the currency used for fees and invoices             | Organization → Edit                    |
| 3. Organization Settings | Configure makeup, notification, and visibility policies | Settings                               |
| 4. First Course          | Create at least one course                              | Academic → Courses → New               |
| 5. First Classroom       | Set up a class with a tutor and schedule                | Academic → Classrooms → New            |
| 6. First Tutor           | Register your first staff member                        | People → Tutors → New                  |
| 7. First Student         | Register your first student                             | People → Students → New                |
| 8. First Enrollment      | Link a student to a classroom                           | Academic → Enrollments → New           |
| 9. Automation Rules      | Set up at least one automation rule                     | Configuration → Automation Rules → New |

### Returning to the Setup Guide

{% hint style="info" %}
The Setup Guide is always accessible at `/getting-started`. After navigating away, a compact progress banner appears at the top of the dashboard with a **Continue Setup** button — until all 9 steps are complete.
{% endhint %}

{% hint style="info" %}
To permanently hide the dashboard banner before completing all steps, click the **✕** on the banner. The setup guide page itself remains accessible via the URL at any time.
{% endhint %}

***

## The Big Picture — How Everything Connects

Before touching any screen, understand the hierarchy:

```
Course          "What is taught"
  └─ Classroom  "Who teaches it, when, to which group"
       └─ Enrollment   "Which student joined this class"
            └─ Booking "Each individual session / lesson"
                 └─ Attendance  "Did the student show up?"
                 └─ Invoice     "Payment for the enrollment"
```

**Rule of thumb:** Set up in order — Course → Classroom → Enrollment → Bookings.

***

## Part 1 — One-time Setup (do this first)

Before creating courses and classes, configure these once:

### 1.1 Organization Settings

**Settings → Organization**

| Field            | What to set                              | Example     |
| ---------------- | ---------------------------------------- | ----------- |
| Default Currency | The currency your invoices are issued in | MMK         |
| Default Timezone | Your center's local timezone             | Asia/Yangon |

{% hint style="info" %}
**Why it matters:** Default currency pre-fills every course price field. Timezone controls how booking times are displayed and sent in reminders.
{% endhint %}

### 1.2 Catalog (Category, Subject, Level)

**Academic → Categories / Subjects / Levels**

These are tags that describe your courses. Set them up once, reuse forever.

| Item     | Example                                            |
| -------- | -------------------------------------------------- |
| Category | English, Mathematics, Music                        |
| Subject  | IELTS Preparation, Business English, Grade 9 Maths |
| Level    | CEFR B1, CEFR B2, Beginner, Advanced               |

**Bright English Academy example:**

* Category: English Language
* Subjects: General English, Business English, IELTS Prep, Conversation
* Levels: A1 Beginner, A2 Elementary, B1 Intermediate, B2 Upper-Intermediate, C1 Advanced

### 1.3 Rooms

**Academic → Rooms**

Add your physical classrooms and virtual meeting links.

| Field        | Example                           |
| ------------ | --------------------------------- |
| Name         | Room 101, Zoom — Sarah Chen       |
| Type         | Physical Classroom / Virtual Zoom |
| Capacity     | 12                                |
| Meeting Link | <https://zoom.us/j/123456789>     |

### 1.4 Tutors

**People → Tutors → Invite Tutor**

Invite each tutor. The system auto-assigns them the **Tutor** role so they can log in and see only their own classes.

### 1.5 Students

**People → Students → Invite Student**

Invite each student. They get the **Student** role and can view their schedule, assignments, and invoices.

***

## Part 2 — Creating a Course

**Academic → Courses → New Course**

A Course is the **syllabus template** — it describes *what* is taught, not *when* or *who*. You create a course once and run it multiple times as different classrooms.

{% stepper %}
{% step %}

## Basic Info

| Field         | Guidance                                                      | Example                                                   |
| ------------- | ------------------------------------------------------------- | --------------------------------------------------------- |
| Course Name   | Full descriptive name                                         | General English B2                                        |
| Course Code   | Short unique code, auto-uppercased                            | ENG-B2                                                    |
| Description   | What students will learn                                      | Improve fluency, grammar, reading and writing at B2 level |
| Cover Image   | Upload a thumbnail (optional but good for the student portal) | —                                                         |
| {% endstep %} |                                                               |                                                           |

{% step %}

## Classification

| Field         | Guidance                                | Example                  |
| ------------- | --------------------------------------- | ------------------------ |
| Category      | Pick from your catalog                  | English Language         |
| Subjects      | One or more subjects this course covers | General English, Grammar |
| Level         | The proficiency level                   | CEFR B2                  |
| Tags          | Keywords for search                     | english, b2, cefr, adult |
| {% endstep %} |                                         |                          |

{% step %}

## Pricing & Settings

| Field         | Guidance                                                    | Example  |
| ------------- | ----------------------------------------------------------- | -------- |
| Price         | Standard list price per enrollment                          | 500,000  |
| Currency      | Pre-filled from org default                                 | MMK      |
| Duration      | Total learning hours                                        | 60 hours |
| Status        | **Draft** = internal only, **Active** = visible to students | Active   |
| Syllabus      | Upload the course syllabus PDF (optional)                   | —        |
| {% endstep %} |                                                             |          |

{% step %}

## Review & Create

Check everything, then click **Create Course**.

> **Real example:** Bright English Academy has 3 courses:
>
> * GEN-ENG-B1 · General English B1 · 500,000 MMK · 40 hours
> * GEN-ENG-B2 · General English B2 · 600,000 MMK · 60 hours
> * IELTS-PREP · IELTS Preparation · 800,000 MMK · 80 hours
>   {% endstep %}
>   {% endstepper %}

***

## Part 3 — Creating a Classroom (Class)

**Academic → Classes → New Class**

A Classroom is a **running instance of a course** — it has a specific tutor, schedule, group of students, and dates. One Course can have many Classrooms running simultaneously (e.g., morning batch and evening batch of the same course).

{% stepper %}
{% step %}

## Course & Basics

| Field         | Guidance                                        | Example                             |
| ------------- | ----------------------------------------------- | ----------------------------------- |
| Course        | Select the course this class is based on        | General English B2                  |
| Class Name    | Auto-suggested from course name, edit if needed | English B2 — Morning Batch Jan 2026 |
| Class Code    | Auto-suggested, edit if needed                  | ENG-B2-001                          |
| Description   | Any specific notes about this cohort            | Small group, max 8 students         |
| {% endstep %} |                                                 |                                     |

{% step %}

## Schedule

| Field        | Guidance                                            | Example     |
| ------------ | --------------------------------------------------- | ----------- |
| Start Date   | First day of class                                  | 2026-01-06  |
| End Date     | Last day of class                                   | 2026-03-31  |
| Term         | Link to an academic term (optional but recommended) | Spring 2026 |
| Days of Week | Click the day buttons                               | M · W · F   |
| Timezone     | Pre-filled from org default or class timezone       | Asia/Yangon |

{% hint style="info" %}
**Tip:** Setting the Term auto-links this class to your academic calendar, making reports easier to run.
{% endhint %}
{% endstep %}

{% step %}

## Delivery

| Field         | Guidance                                               | Example   |
| ------------- | ------------------------------------------------------ | --------- |
| Mode          | Online / In-Person / Hybrid                            | In-Person |
| Room          | Select a room (auto-filled if classroom has a default) | Room 101  |
| Max Students  | Cap enrollment at this number                          | 10        |
| Fee           | Per-enrollment price (often same as course price)      | 600,000   |
| {% endstep %} |                                                        |           |

{% step %}

## Team & Status

| Field           | Guidance                                                  | Example    |
| --------------- | --------------------------------------------------------- | ---------- |
| Assigned Tutors | One or more tutors for this class                         | Sarah Chen |
| Status          | **Scheduled** for future classes, **Active** once running | Scheduled  |
| {% endstep %}   |                                                           |            |

{% step %}

## Review & Create

Click **Create Class**. The class is now ready to accept enrollments.

> **Real example:** Bright English Academy runs 4 active cohorts:
>
> * B1 Morning (Mon/Wed/Fri 9–10am) — James Wilson — Room 101 — 6 students
> * B2 Evening (Mon/Thu 7–9pm) — Sarah Chen — Room 102 — 5 students
> * B2 Zoom (Tue/Thu 10am–12pm) — Maria Garcia — Zoom — 4 students
> * IELTS Intensive (Mon–Fri 2–4pm) — Sarah Chen — Room 101 — 4 students
>   {% endstep %}
>   {% endstepper %}

***

## Part 4 — Enrolling a Student

**Academic → Enrollments → New Enrollment**

An Enrollment is the **contract** between a student and a class. It tracks which student is in which class, what they agreed to pay, and their payment status.

{% stepper %}
{% step %}

## Student & Class

| Field            | Guidance                                 | Example                    |
| ---------------- | ---------------------------------------- | -------------------------- |
| Class            | Select the classroom                     | English B2 — Morning Batch |
| Student          | Select the student                       | Aiko Tanaka                |
| Enrollment Date  | Date they registered (defaults to today) | 2026-01-03                 |
| Term             | Auto-filled from the class               | Spring 2026                |
| Start / End Date | Leave blank to inherit from the class    | —                          |

{% hint style="info" %}
**Smart auto-fill:** Selecting a class automatically fills in the Term and the Agreed Fee from the class fee.
{% endhint %}
{% endstep %}

{% step %}

## Fees & Status

| Field           | Guidance                                                  | Example  |
| --------------- | --------------------------------------------------------- | -------- |
| Status          | **Pending** until confirmed, **Active** once paid         | Active   |
| Payment Status  | **Unpaid** / **Partially Paid** / **Paid** / **Refunded** | Paid     |
| Agreed Fee      | Negotiated fee (may differ from list price for discounts) | 600,000  |
| Discount Amount | Manual discount in currency value                         | 60,000   |
| Discount        | Link to a discount code if applicable                     | Spring10 |

**Status combinations in practice:**

| Scenario                            | Status    | Payment Status |
| ----------------------------------- | --------- | -------------- |
| Student enquired, not confirmed yet | Pending   | Unpaid         |
| Confirmed, waiting for payment      | Active    | Unpaid         |
| Paid and attending                  | Active    | Paid           |
| Paid partial deposit                | Active    | Partially Paid |
| Dropped out, refund issued          | Withdrawn | Refunded       |
| Suspended for non-payment           | Suspended | Unpaid         |
| {% endstep %}                       |           |                |

{% step %}

## Review & Confirm

The **Enrollment Number** is auto-generated (e.g., `ENR-20260103-4821`). You can edit it before saving if you prefer your own numbering format.

Add any notes (e.g., "Student requested Friday makeup if absent") then click **New Enrollment**.

> **Real example:** Bright English Academy has 16 enrollments:
>
> * 8 fully paid and active
> * 4 partially paid
> * 3 pending payment
> * 1 withdrawn (student moved abroad)
>   {% endstep %}
>   {% endstepper %}

***

## Part 5 — Creating Bookings (Sessions)

**Academic → Bookings → New Booking**

When you click **New Booking** you first choose how to create:

***

### Option A — Generate from Class ✅ Recommended

Use this when setting up a new term. Creates all sessions for a class at once in seconds.

{% stepper %}
{% step %}

## Class & People

Select the class. The system auto-fills:

* Tutor (if the class has one assigned tutor)
* Timezone
* Mode (online/in-person)
* Default room
* Days of week

Add students if needed (or leave blank — students are linked via enrollments).
{% endstep %}

{% step %}

## Session Time

| Field         | Example     |
| ------------- | ----------- |
| Start time    | 09:00       |
| End time      | 10:00       |
| Timezone      | Asia/Yangon |
| Mode          | In-Person   |
| {% endstep %} |             |

{% step %}

## Date Range & Preview

Select the **Term** (auto-fills the from/to dates from the term's start and end) or set dates manually.

The system generates a preview grid of every session date based on the days-of-week. **Click any date to exclude it** — use this to remove public holidays, school breaks, or any date the tutor is unavailable.

> **Example:** English B2 Morning runs Mon/Wed/Fri from 6 Jan → 31 Mar 2026. The system generates 39 session dates. You click to exclude:
>
> * 13 Jan (public holiday)
> * 3 Feb (tutor training day) = 37 sessions created

You can also use **Select all** / **Clear all** buttons.
{% endstep %}

{% step %}

## Confirm

Choose the initial status (usually **Scheduled**), add any notes that apply to all sessions, then click **Create 37 Sessions**. The system creates them one by one and shows a success count.
{% endstep %}
{% endstepper %}

***

### Option B — Single Session

Use for:

* Trial / demo lesson for a prospective student
* Makeup session (student missed a class)
* One-off private tutoring
* Rescheduled session

**Step 1 — People:** Select class, title, tutor, students.

**Step 2 — Time & Place:** Select exact date and time, room, mode.

**Step 3 — Review:** Set status, add notes, attach materials, confirm.

***

## Part 6 — Marking Attendance

**Tutor Portal → Attendance** *(tutor login)*\
or\
**Academic → Bookings → View Booking → Attendance tab** *(admin login)*

### Tutor flow (most common):

1. Log in as tutor → go to **Attendance** in the sidebar
2. Pick the booking (session) from the list
3. For each student, click: **Present** · **Absent** · **Late** · **Excused**
4. Click **Save Attendance**

{% hint style="info" %}
**Colour guide:** Green = Present, Red = Absent, Amber = Late, Blue = Excused
{% endhint %}

***

## Part 7 — Common Workflows

### Starting a new term

```
1. Create/confirm Term record (e.g., "Spring 2026", 6 Jan – 31 Mar)
2. For each class:
   a. Create Classroom linked to the term
   b. Enroll students
   c. Generate bookings from class (New Booking → Generate from Class → select term)
3. Done — tutors see their schedule, students see their timetable
```

### Enrolling a new student mid-term

```
1. Invite student (People → Students → Invite)
2. Create Enrollment (Enrollments → New → pick the class)
3. Create makeup booking if student missed sessions:
   New Booking → Single Session → pick the tutor/student/time
4. Generate an invoice from the enrollment view
```

### Rescheduling a cancelled session

```
1. Open the cancelled Booking → change status to "Cancelled"
2. New Booking → Single Session
3. Set the same class/tutor/students, new date/time
4. Status: "Scheduled" (or "Rescheduled" for clarity)
```

### Checking who hasn't paid

```
Academic → Enrollments
→ Filter: Payment Status = "Unpaid" or "Partially Paid"
→ Select all → bulk export or send reminder
```

***

## Part 8 — Portal Access by Role

| Role                  | What they can see                                                           |
| --------------------- | --------------------------------------------------------------------------- |
| **Admin / Member**    | Everything — full back-office                                               |
| **Tutor**             | Their own classes, schedule, students, attendance marking, progress reports |
| **Student**           | Their own schedule, assignments, progress, invoices                         |
| **Parent / Guardian** | Their child's schedule, progress reports, invoices                          |

Each role logs in at the same URL. The app automatically shows the right portal based on their role.

***

## Quick Reference — Field Descriptions

| Term                  | Meaning                                                                 |
| --------------------- | ----------------------------------------------------------------------- |
| **Course**            | The syllabus / curriculum (what is taught)                              |
| **Classroom**         | A running cohort of a course (who, when, where)                         |
| **Enrollment**        | A student's registration in a specific classroom                        |
| **Booking**           | A single session / lesson occurrence                                    |
| **Term**              | An academic period (e.g., Spring 2026)                                  |
| **Agreed Fee**        | The actual fee negotiated with the student (may differ from list price) |
| **Attendance Status** | Present / Absent / Late / Excused per student per booking               |
| **Enrollment Status** | Pending → Active → Completed (or Withdrawn / Suspended)                 |
| **Booking Status**    | Scheduled → In Progress → Completed (or Cancelled / No Show)            |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://tutearnio.gitbook.io/tutearn-docs/user-manual-academic.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
