# /database/data/defaults

**Auto-seeded into every newly-provisioned tenant schema** by `ProvisionInstitution` (Phase 1).

These CSVs define the default dataset that ships with every school the moment Blouza creates it. Admins can edit or extend later.

## Contents

| File | Rows | Consumed by seeder |
|---|---|---|
| `programs.csv` | K-12 programs (Pre/KG/NUR/PRY/JSS/SSS) | `DefaultProgramSeeder` |
| `grade_levels.csv` | All 21 levels (Crèche → SSS 3) | `DefaultGradeLevelSeeder` |
| `sections.csv` | Default A/B/C arms for JSS & SSS | `DefaultSectionSeeder` |
| `subjects.csv` | Full Nigerian K-12 curriculum | `DefaultSubjectSeeder` |
| `grade_scales.csv` | A–F grade scale with points | `DefaultGradeScaleSeeder` |
| `terms.csv` | First/Second/Third term template | `DefaultTermSeeder` |
| `timetable_periods.csv` | 40-min period blocks with breaks | `DefaultTimetablePeriodSeeder` |
| `timetable_days.csv` | Mon–Sun with Mon-Fri active | `DefaultTimetableDaySeeder` |
| `houses.csv` | Red/Green/Blue/Yellow | `HousesSeeder` |
| `clubs.csv` | 16 common K-12 clubs | `DefaultClubsSeeder` |
| `affective_skills.csv` | Report card affective skills | `DefaultAffectiveSkillsSeeder` |
| `psychomotor_skills.csv` | Report card psychomotor skills | `DefaultPsychomotorSkillsSeeder` |
| `fee_types.csv` | 20 K-12 fee categories | `DefaultFeeTypeSeeder` |
| `revenue_heads.csv` | 4 top-level revenue categories | `DefaultRevenueHeadSeeder` |
| `revenue_sub_heads.csv` | Revenue sub-category mapping | `DefaultRevenueSubHeadSeeder` |
| `expense_categories.csv` | 19 expense categories | `DefaultExpenseCategorySeeder` |
| `permission_modules.csv` | RBAC module/tab catalogue | `PermissionSeeder` |
| `permission_actions.csv` | view/create/edit/delete/approve | `PermissionSeeder` |
| `roles.csv` | 8 system roles | `SystemRoleSeeder` |
| `role_permissions.csv` | Role → permission patterns | `SystemRoleSeeder` |
| `admission_stages.csv` | 6 CRM pipeline stages | `AdmissionStageSeeder` |
| `admission_document_types.csv` | Required & optional docs | `AdmissionDocumentTypeSeeder` |
| `attendance_statuses.csv` | Present/Absent/Late/Excused | `AttendanceStatusSeeder` |
| `payment_methods.csv` | Cash/Transfer/POS/Paystack etc. | `PaymentMethodSeeder` |
| `gender_options.csv` | Male/Female | `ReferenceSeeder` |
| `blood_groups.csv` | A+ A- B+ … O- | `ReferenceSeeder` |
| `genotypes.csv` | AA AS SS etc. | `ReferenceSeeder` |
| `religions.csv` | Christianity/Islam/Traditional/Other | `ReferenceSeeder` |
| `nigerian_states.csv` | 37 states + FCT with zones | `ReferenceSeeder` |

## Permission pattern syntax (used in `role_permissions.csv`)

- `*` — grant everything
- `module.*` — grant all actions on module + all its tabs
- `module.tab.*` — grant all actions on a specific tab
- `module.action` — grant single action on module
- `module.tab.action` — grant single action on specific tab

Actions are always one of: `view`, `create`, `edit`, `delete`, `approve`.
