Sundays and HK public holidays are highlighted in red. Click month or year above to jump directly. Pinch with two fingers on the calendar to zoom. Toggle 農曆 in Settings.
Students
| Name | Contact | Rate / lesson | Paid | Attended | Balance | Lessons left |
|---|
Balance = total payments − (attended lessons × rate). “Lessons left” = floor(balance ÷ rate). Cancelled lessons don’t deduct.
Income & Expenses
| Date | Type | Party | Method | Amount | Note |
|---|
Profit & Loss
Income: — Expenses: — Net: —
Attendance report
Summary
| Student | Scheduled | Present | Absent | Cancelled | Pending | Attendance % |
|---|
Detail
| Date | Time | Student | Status | Duration | Notes |
|---|
💰 Tuition balance — all students
Lifetime totals up to the report's “To” date. Negative balance means the student has overdrawn (owes you money). Use this to settle disputes.
| Student | Rate | Total paid | Lessons attended | Consumed | Balance left | Lessons left |
|---|
📒 Payment ledger — detailed history
↑ Pick one student in the filter above and click Run report to see every payment they made, every lesson attended, and the running unused-tuition balance after each event.
Appearance
Business
Password
The app password is stored as a secure hash in MariaDB through api.php, not inside this HTML file.
Holidays
Built-in HK public holidays for 2025–2027. The app will also try to refresh from the official 1823 iCal feed when online.
NAS Sync, Backup & Storage
Main data is loaded from and saved to api.php on your Synology NAS, so different devices see the same students, lessons, payments, expenses and settings. Export a full backup regularly as an offline safety copy.
Time Machine snapshots
The app keeps the last 7 daily Time Machine snapshots in Synology MariaDB. The NAS now also creates a server-side snapshot whenever data is saved, so iPhone and Android browser storage problems will not prevent Time Machine dates from appearing.