# 05 — Core Workflows
Source: proposal §4.2–4.8 (original diagrams in `assets/workflows/`). The proposal gives only the **happy-path main steps**. Detailed states, rejections, loops and SLAs are **[unknown]** and belong to Phase 1.
**Detailed review 2026-10-31:** these proposal diagrams remain high-level happy paths. Use [the 162-case review](16-use-case-review-2026-10-31.md) and canonical `wf` decisions for proposed exceptions, optional guardian steps, finance states and R1 clearing scope; the review still needs human confirmation.
## 1. Admission and learner registration (การรับสมัครและขึ้นทะเบียนผู้เรียน)
```mermaid
flowchart LR
A[สมัคร
Apply] --> B[คัดเลือก
Select] --> C[ยืนยันสิทธิ์
Confirm] --> D[ขึ้นทะเบียน
Register as learner]
```
- Covers both university and sports-school applicants. Selection criteria differ per unit.
- Results are announced, then the applicant confirms the offer.
- **Admission data flows into the registry without re-entry.**
- Sports schools add **มอบตัว** (enrolment with parent) and parent registration (TNSU-02).
- Executive mockup tracks applicants against target per level (e.g. campus target 25,000 vs. 28,430 applicants) [mockup].
## 2. Teaching and learning (การจัดการเรียนการสอน)
```mermaid
flowchart LR
A[จัดหลักสูตร
Set curriculum & courses] --> B[ลงทะเบียน
Course registration] --> C[เรียน
Teach / attend] --> D[ประเมินผล
Assess & grade]
```
- Links learners, lecturers/teachers and staff, and supports progress tracking.
- Registration includes add/drop (ลงทะเบียน / เพิ่ม-ถอน) [mockup].
## 3. Athlete management (การบริหารจัดการนักกีฬา)
```mermaid
flowchart LR
A[ลงทะเบียนนักกีฬา
Register athlete] --> B[ฝึกซ้อม
Training] --> C[แข่งขัน
Competition] --> D[ติดตามผล
Track results]
```
- Athlete data is **linked to the learner record**, and applies to both university and school learners.
- Coaches plan and track training. Competition participation and results are recorded.
## 4. Dormitory (การบริหารหอพัก)
```mermaid
flowchart LR
A[จัดสรรห้องพัก
Allocate room] --> B[เข้าพัก
Check in] --> C[ติดตามการเข้า–ออก
Track entry/exit]
```
- The proposal frames this mainly for **sports-school boarding students**. Mockups also show university dorm booking announcements ("เปิดจองหอพักนักศึกษา").
- Parents can see dorm info per permission.
## 5. Finance and scholarships (การเงินและทุนการศึกษา)
```mermaid
flowchart LR
A[ประเมินค่าใช้จ่าย
Assess fees] --> B[จัดการทุน
Apply scholarship / กยศ.] --> C[ชำระเงิน
Pay] --> D[ตรวจสอบยอด
Verify & reconcile]
```
- Amount payable = fees − scholarship (full or partial) − กยศ. coverage [inferred from "คำนวณยอดชำระคงเหลือ"].
- Payment through PromptPay or credit card via payment gateway. Issue receipt and reconcile.
- Learners see their outstanding balance and due date. Parents see fee status (ชำระแล้ว / ยังไม่ได้ชำระ) [mockup].
## 6. Request and approval (การยื่นคำร้องและอนุมัติ)
```mermaid
flowchart LR
A[ยื่นคำร้อง
Submit] --> B[ตรวจสอบ
Review docs] --> C[อนุมัติ
Approve by authority chain] --> D[แจ้งผล
Notify result]
```
- Paperless. Status is trackable. Approval follows the university's chain of authority. e-Signature (internal or DGA, by document type).
- Statuses seen [mockup]: `รอพิจารณา` (pending), `รอเอกสารเพิ่มเติม` (needs more documents, which loops back to the applicant), `อนุมัติแล้ว` (approved), `ไม่อนุมัติ` (rejected).
- Example request types [mockup]:
- University: ขอเพิ่มรายวิชา, ขอใบรับรองการเป็นนักศึกษา, ขอลงทะเบียนล่าช้า, ขอเปลี่ยนกลุ่มเรียน, ขอพักการศึกษา
- Sports school: ขอหนังสือรับรองนักเรียน, ขออนุญาตแข่งขันกีฬา, ขอเปลี่ยนกลุ่มเรียน, ขอพักอาศัยหอพัก, ขอเข้าร่วมการแข่งขัน
- KPIs measure processing time per request type and the on-time rate, so **each request type needs a target duration (SLA)** [inferred].
## 7. Executive reporting (การรายงานสำหรับผู้บริหาร)
```mermaid
flowchart LR
A[รวบรวมข้อมูล
Collect from all modules] --> B[ประมวลผล
Process / aggregate] --> C[Dashboard]
```
- Sources: education, athletes, dorms, finance and unit operations.
- Compare across units. Drill down by campus, school and period.
## Additional workflows implied by the BA module structure [inferred]
These come from function names in the BA chart. Step order and actors are our reading and need BA confirmation.
### 8. Leave and off-campus permission (SS-07, SS-14.3)
```mermaid
flowchart LR
A[ยื่นคำร้องขอลา/ออกนอกโรงเรียน
Student or parent submits] --> B[ผู้ปกครองยืนยัน
Parent confirms]
B --> C[พิจารณาและอนุมัติ
School approves]
C --> D[บันทึกการออก
Exit logged] --> E[บันทึกการกลับเข้าโรงเรียน
Return logged]
E --> F[ประวัติการลา
History]
D -. overdue return .-> G[แจ้งเตือน / ติดตาม
Alert]
```
Ties into SS-06: an approved leave should mark roll call as `ลา` rather than `ขาด`.
### 9. Roll call and missing-student tracking (SS-06)
```mermaid
flowchart LR
A[ตั้งค่ารอบเช็กชื่อ
Define rounds & types] --> B[เช็กชื่อ
Record per round]
B --> C{สถานะ}
C -->|มา| OK[Present]
C -->|ลา| L[Matched to approved leave]
C -->|มาสาย / ขาด| T[Follow-up, maybe notify parent]
C -->|ไม่พบตัว| M[Missing-student escalation]
```
### 10. Dormitory (detailed, SS-05)
Buildings → rooms → beds · allocate or move a student to a bed · duty-teacher roster and inspections · occupancy status · maintenance requests (แจ้งซ่อม).
### 11. University course registration (UNI-04 → UNI-05)
```mermaid
flowchart LR
A[หลักสูตร/โครงสร้าง/แผนการเรียน] --> B[เปิดรายวิชา + กลุ่มเรียน] --> C[ตารางเรียน/สอบ] --> D[รอบลงทะเบียน]
D --> E[ลงทะเบียน
check prerequisites] --> F[เพิ่ม/ถอน/เปลี่ยนกลุ่ม] --> G[อนุมัติการลงทะเบียน
e.g. advisor] --> H[Fees billed via UNI-01.1 rates]
```
### 12. University grading (UNI-06)
Configure assessment types and grading schemes → per-course criteria and cut-offs → score entry → review and approve → publish and compute GPA/GPAX → grade-correction requests → graduation audit against the curriculum structure (UNI-04.3).
### 13. Instructor evaluation (UNI-07)
Create the form → define the round → choose courses to evaluate → students evaluate → process results.
### 14. Athlete cycle in sports schools (SS-10/11/12, SS-09)
Sports, teams and coaches → training plans → training results → fitness and skill tests → development plan; competitions: entry → travel and documents → results and awards → track record. Injuries (SS-09.3) affect training and competition eligibility [inferred].
## BA flows (confirmed, from the BA draw.io file)
These two come from the BA's draw.io source ([ba-drawio.md](ba-drawio.md)), so they are not inferred. They detail UNI-04 (academics and curriculum) and supersede the curriculum part of §11 above.
### 15. Creating a curriculum (Flow โครงสร้างหลักสูตร, swimlane "การสร้างหลักสูตร")
```mermaid
flowchart TD
A[1. สร้างรายวิชา
Create courses
จัดการรายวิชา UNI-04.4] --> B[2. สร้างหลักสูตร
Create curriculum
จัดการโครงสร้างหลักสูตร UNI-04.3]
B --> C[3. กำหนดโครงสร้างหลักสูตร
Define curriculum structure]
C --> D[4. เพิ่มรายวิชาเข้าหลักสูตร และจัดการวิชาบังคับก่อน
Add courses, set prerequisites]
D --> E[5. แผนการเรียน
Study plan]
E --> F[6. เงื่อนไขการสำเร็จการศึกษา
Graduation conditions]
```
- Step 2 note: **ชั้นปี, ภาคเรียน** (the curriculum is laid out by year of study and semester).
- Step 5 note: which course should be taken in which term, so the system can tell whether a student is **studying according to the plan** (เรียนตามแผน).
- Step 6 note, the conditions **checked at graduation**: credits per course category, compulsory courses that must be passed, GPA/GPAX, internship, thesis, and special conditions such as passing an English test.
- Steps 2–6 all belong to the sub-module จัดการโครงสร้างหลักสูตร (UNI-04.3); step 1 to จัดการรายวิชา (UNI-04.4).
- Data-model implication [inferred]: course catalogue separate from curriculum; curriculum → structure (categories with credit requirements) → course membership with prerequisites → study plan per year/semester → graduation rule set used by the graduation audit (UNI-06.8, W-06).
### 16. Opening courses for a term (Flow จัดการการเปิดสอน)
```mermaid
flowchart TD
A[1. เลือกปีการศึกษา ภาคเรียน หลักสูตร
Pick academic year, semester, curriculum] --> B[2. ระบบแสดงรายวิชาจากแผนการเรียนตามชั้นปี ภาคเรียน
System lists courses from the study plan]
B --> C[3. เลือกรายวิชาที่ต้องการเปิด
Choose courses to open]
C --> D[4. สร้าง Section และระบุรายละเอียด
Create sections]
D --> E[5. เปิดรับลงทะเบียนตามช่วงเวลาในปฏิทินการศึกษา
Open registration per the academic calendar]
```
- Section details (step 4): **room, day and time, lecturer, capacity**.
- **Cross-listed sections (เรียนรวม):** when one course belongs to several curricula, the section can be shared, ticking which curricula or departments study together.
- Step 2 means the study plan from flow 15 drives which courses are proposed for each term.
- Maps to UNI-04.8 (จัดการเปิดรายวิชา), UNI-05.1–5.3, and use cases W-100 (offering plan, timetable, sections) and W-49 (registration).
## Lifecycle view (admission → alumni) [inferred]
```mermaid
flowchart LR
Apply --> Admit --> Register --> Study --> Graduate --> Alumni
Register -.-> Athlete
Register -.-> Boarding
Register -.-> Fees
```
## Detailed workflows: see the use cases
The flows above are summaries. The team's use cases ([12-use-cases.md](12-use-cases.md), catalog in [use-cases/](use-cases/README.md)) give the step-by-step version for 162 workflows, including approvals, SoD rules and edge cases. Good starting points:
| Topic | Use cases |
|---|---|
| Admission (university) | W-69 → W-41 → W-77 → W-42/W-75/W-76 → W-43 → W-74 (clearing) → W-78; appeals W-18 |
| Admission (sports school) | W-83 → W-86; internal quota to university W-144 |
| Registration and fees | W-100 → W-49 → W-51; add/drop W-50; late W-102; non-payment W-105 |
| Grades | W-01; corrections W-02; incomplete W-103; appeals W-16 |
| Status changes | W-10, W-11, W-24, W-26 → cascade W-133 |
| Graduation | W-06 → W-64; documents W-58; verification W-67 |
| Dorm and leave (sports school) | W-86, W-13 (LeavePass), W-90 (roll call) |
| Athletes | W-04 / W-114 (competition leave), W-30, W-31, W-39, W-152 |
| Safeguarding | W-22, W-149, W-155, W-23 |