admin-mvp-1-pricing-base-override.html · model = Base + Override cascade (SubjectLevel ?? Subject ?? Base) · Stack: React 19 + TanStack Start (SPA) · shadcn amber b1MJ9vRwY6
Visualisasi Finding 2 #4: SEMUA subject pakai 1 matrix yang sama (Segmentasi × Tingkat). Yang beda CUMA kolom Tingkat mana yang "ditawarkan". Bukan engine pricing terpisah.
kategori grouping, (2) has_levels shape, (3) applicability = Tingkat mana di-is_offered. Switch subject di bawah → liat grid SAMA, cuma pola "ditawarkan" (hijau) vs "tidak ditawarkan" (abu) yang geser.| Subject | Kategori | has_levels | Applicability (Tingkat ditawarkan) |
|---|---|---|---|
| Matematika | REGULER_KELAS | false | SD 1-6 · SMP 7-9 · SMA 10-12 |
| Bahasa Mandarin | BAHASA_ASING | true (HSK 1-6) | SD-SMA · Umum |
| Persiapan Tryout (UTBK) | PROGRAM_KHUSUS | false | SMA 10-12 · Umum irisan |
| IELTS / TOEFL Prep | SERTIFIKASI | false | SMA 10-12 · Umum · Profesional |
| Musik (gitar/vokal) | MUSIK | false | Umum (+ SD-SMA opsional) |
| CPNS / BUMN Prep | PROGRAM_KHUSUS | false | Umum · Profesional |