05 — Flex Frontend Configs
What it is: A data dump of UI settings and language strings for each Flex program. The backend stores and returns it; it does zero validation on the content. The frontend owns all type enforcement.
Table: tbl_flex_frontend_configs
Up to 8 rows per program — one per (configKey, category) combination.
| Field | Notes |
|---|---|
programId | FK to tbl_flex_programs |
configKey | which page/section this config is for |
category | languages (text strings) or settings (booleans/options) |
value | JSONB — backend doesn't validate this at all |
Config key matrix
| configKey | category | What's inside |
|---|---|---|
programDefinition | languages | tagline, stepper labels, pack/BYO headings, benefits, upsell text |
programDefinition | settings | add-on enabled, program-level booleans |
programLogistics | languages | "How It Works" steps, FAQs |
registrationPage | languages | heading, subheading, button text, T&C |
inventoryPage | languages | auto-seat modal, loading messages, filter labels |
inventoryPage | settings | auto-seat mode, filter toggles, loading timing |
checkoutPage | languages | checkout headings, confirmation text, order summary, T&C |
checkoutPage | settings | save card enabled, payment options |
Key rules
- Read-only on this backend — dashboard writes all configs
- The GET endpoint auto-resolves the active program and returns all non-deleted rows grouped by
configKey → category - Backend does not validate JSONB — if the frontend expects a field, the dashboard must put it there