Glossary
The exact word used on screen for each concept, so labels, column headers and buttons stay consistent across every prototype page. "Ref" points to the requirements section.
People & money
| Term (on screen) | Meaning | Do not call it | Ref |
|---|---|---|---|
| HQ | Top-level owner of all branches. Never shown as a picker; it is implied. | Company, Tenant | §5 |
| Branch | A physical location with its own rooms, staff, students, calendar and invoice numbering. | Outlet, Centre, Studio | §5 |
| Customer | Anyone who can be invoiced: a Parent, an adult Student, or a Renter. Has an IC number. Once registered, a member. | Client, Account, Payer | §5 |
| Parent | Optional emergency contact for one or more Students. May also be the Customer who pays. | Guardian | §5, §6.6 |
| Student | An enrolled learner, child or adult. Parent link optional. | Pupil, Kid, Member | §5 |
| Lead | A potential customer before enrolment. Becomes a Trial Customer once a trial is booked. | Prospect, Enquiry | §6.1 |
| Renter | A Customer who rents a room. Lives in CRM with IC details. | Outsider, External | §6.4 |
| Teacher | Staff who delivers classes. May be linked to several branches; one salary sheet per branch. | Instructor, Coach, Tutor | §4 |
| Staff | Any user with a login: Teacher, Branch Admin, Operator, Owner, Super Admin. | Employee | §6.8 |
| Owner | Branch boss. Signs off salary sheets for their branch(es). | Boss, Director | §4 |
| Super Admin | System boss. All branches, "All branches" toggle, global settings, users. | HQ Admin, Root | §4 |
| Branch Admin | Runs the Fee Run and Salary Run for one branch; confirms salary sheets. | Manager | §4 |
| Operator | Front desk. Leads, bookings, attendance on behalf, invoices, renter data entry. | Receptionist | §4 |
Teaching & scheduling
| Term (on screen) | Meaning | Do not call it | Ref |
|---|---|---|---|
| Style | Discipline: Ballet, Contemporary, Jazz, Hip-hop, Piano, Violin, Vocal. | Category, Genre, Subject | §5 |
| Course | A programme under a Style with a level, e.g. Ballet Grade 3. Carries the default pay cycle. | Programme, Syllabus (alone) | §5 |
| Class | A recurring group or 1-to-1 lesson: Course + Teacher + Room + weekday + time + duration. | Session, Lesson, Schedule | §5 |
| Slot | One concrete dated occurrence generated from a Class or Room Booking. Has a status and a chargeable flag. | Session, Occurrence, Event | §6.3 |
| Room | Bookable space with capacity and hourly rate. Booked in 30-minute cells, minimum 1 hour. | Studio (as a type), Hall | §5 |
| Room Booking | Rental of a Room by a Renter or internal use. Tentative until deposit recorded, then Locked. | Rental, Hire | §6.4 |
| Booking duration | How far ahead slots are generated when a Class or Room Booking is created: 1 term, 6 months, 1 year, or custom. | Validity, Range | §6.2 |
| Trial | One-off slot for a Lead. Free or paid; paid gets its own invoice. | Taster, Demo | §5 |
| Attendance | Present / Late / Absent per student per slot, marked by the teacher (or admin on their behalf). | Register, Roll call | §6.5 |
| Replacement credit | Earned by an absence with 24h notice or with proof. One credit = one make-up slot or two 30-min extensions. Expires 31 December. | Make-up credit, Token | §6.5 |
| Replacement count | Credits earned minus credits used, shown on the Customer profile. | Balance (reserved for money) | §6.5 |
| Make-up | The act of booking a replacement slot using a credit. | Replacement class | §6.5 |
| Term break | The 5th week of a month. No classes, no fee effect. | Holiday | §6.2 |
| Public holiday | A day the studio observes, set manually per branch per year. | PH (in UI) | §6.9 |
| Off-day | A branch-specific closed day that is not a public holiday. | Closure | §6.9 |
| Shift (a slot) | Moving a slot that falls on a holiday to another date. The slot keeps its identity; status becomes Rescheduled. | Skip, Move | §6.2 |
Selling & billing
| Term (on screen) | Meaning | Do not call it | Ref |
|---|---|---|---|
| Product | The sellable unit a class maps to. Pricing model is Syllabus (fixed monthly) or Per slot. | Package (retired), Plan | §6.6 |
| Syllabus (pricing) | Fixed price per calendar month regardless of slot count. E.g. Ballet Grade 1, RM 100/mth. | Monthly, Subscription | §6.6 |
| Per slot (pricing) | Price × chargeable slots in the period. E.g. private piano, RM 80/slot. | Pay-as-you-go, Per session | §6.6 |
| Enrolment | Student × Class × Product with start date, optional end date, pay cycle, discount code. | Subscription, Registration | §6.6 |
| Pay cycle | Calendar month (1st to last day) or Anchored (one month from registration day). Set on Course, overridable on Enrolment. | Billing cycle | §6.7.1 |
| Discount code | Admin-applied code, percentage or fixed RM, bound to Products. E.g. PREPAY12. | Coupon, Voucher, Promo | §6.6 |
| Invoice | Issued per Customer with many line items. Has a branch number (KL-2026-000123) and a global ID. | Bill | §6.7 |
| Open amount (invoice) | Manual value with a mandatory remark. Used for pro-rated first month and one-offs. | Custom, Ad-hoc, Misc | §6.7 |
| Coverage period | From/To dates an invoice pays for. A multi-month prepayment marks every covered month Paid. | Validity | §6.7.1 |
| Payment | Money received against an Invoice: cash, bank transfer, card, e-wallet. Partial allowed. | Receipt, Transaction | §6.7 |
| Deposit | Amount required to lock a Room Booking; separate invoice line; refundable if cancelled ≥ 48h before start. | Booking fee | §6.4 |
| Chargeable | Per-slot flag: advance cancellation = not chargeable; late cancel or no-show = chargeable. Admin can flip with a remark. | Billable | §6.3 |
| Fee due | What an enrolment owes for a period, computed by the Fee Run. | Amount, Charge | §6.7.1 |
| Salary rule | Teacher × Product × Style → rate. Rate type: per class, per head, or hybrid. Bound to the class at engagement. | Pay rate, Commission | §6.8, §9 |
| Salary sheet | One teacher's salary for one branch for one run. Draft → Confirmed → Signed off, or Rejected. | Payslip | §6.8 |
| Statement | The teacher-facing read-only view of a Signed-off salary sheet. | Payslip | §6.8 |
Screens & processes
| Term (on screen) | Meaning | Ref |
|---|---|---|
| Fee Run | Manual, admin-triggered. Pick From/To (current month), press Calculate Fees. Buckets each enrolment as Paid, Partially paid, Unpaid, or Needs checking. Issues invoices for Unpaid. Saved with timestamp and who ran it. | §6.7.1 |
| Checking Table | The working list of Needs-checking rows from a Fee Run. Admin confirms a match, picks another, marks Unpaid, or leaves open. | §6.7.1 |
| Salary Run | Manual, admin-triggered. Pick From/To (previous month), press Calculate Salary. Produces one Draft sheet per teacher per branch. | §6.8 |
| Flagged (student) | A student on a salary sheet whose fee is not Paid. Contributes RM 0 on per-head rates; must be resolved with a reason before Confirm. | §6.8 |
| Pending Work | List of slots that ended more than 24 hours ago with no attendance marked. Blocks salary Confirm for that teacher. | §6.5 |
| Availability grid | Room × time grid in 30-minute cells showing idle daytime capacity for rentals. | §6.4 |
| Year view | Timetable view of the whole year showing terms, term breaks, public holidays, off-days. | §6.2 |
| Yearly calendar | The Settings screen where admin defines next year's holidays, term-break weeks and off-days per branch. | §6.9 |
| Convert to client | One wizard from a Lead that creates Customer, Student, optional Parent, Enrolment and first Invoice. | §6.1 |
| Follow-up log | Timestamped notes on a Lead with next-action date and assigned staff. | §6.1 |
| Branch switcher | Top-bar control that sets the working branch. Super Admin also gets All branches (read-only). | §4 |
| Audit trail | Immutable who/when history on slots, invoice void, salary overrides, rate changes. | §8 |
Status vocabularies
Each status has one label and one colour everywhere. Rendered from the shared badge component.
| Entity | Statuses (in order) | Ref |
|---|---|---|
| Lead | NewContactedTrial BookedTrial AttendedConvertedLost | §6.1 |
| Slot | ScheduledUsedCancelledReleasedRescheduled | §6.3 |
| Slot flag | ChargeableNot chargeable | §6.3 |
| Room booking | TentativeLockedCancelled | §6.4 |
| Attendance | PresentLateAbsentPendingProof received | §6.5 |
| Invoice | DraftIssuedPartially PaidPaidVoid | §6.7 |
| Fee Run bucket | PaidPartially paidUnpaidNeeds checking | §6.7.1 |
| Salary sheet | DraftConfirmedSigned offRejected | §6.8 |
| Salary row | Flagged | §6.8 |
| Customer | Trial customerMember | §5 |
Formats (strict, section 3)
| Value | Format | Example | Notes |
|---|---|---|---|
| Date-time | yyyy-MM-dd HH:mm:ss | 2026-09-06 20:31:00 | 24-hour, GMT+8, never converted. Used on logs, run timestamps, approvals. |
| Date | yyyy-MM-dd | 2026-09-06 | Lists, pickers, From/To. |
| Time | HH:mm | 20:30 | Timetable, slot start. Room bookings only on :00 or :30. |
| Money | RM 1,234.00 | RM 1,234.00 | Always two decimals, thousands separator, right-aligned in tables. Negative shown as (RM 50.00). |
| Invoice number | BR-yyyy-nnnnnn | KL-2026-000123 | Branch prefix; plus a global ID shown in HQ reports only. |
| Period | yyyy-MM-dd → yyyy-MM-dd | 2026-09-01 → 2026-09-30 | From/To on runs and invoice coverage. |
| Who / when | Name · date-time | Aisyah · 2026-09-03 09:12:44 | Every audit and approval line. |