Appearance
Admission form settings schema
Table: admission_form_settings
| Column | Type | Notes |
|---|---|---|
main_id | string, unique | Tenant identifier |
config_json | LONGTEXT | Full builder payload (see below) |
createdAt / updatedAt | datetime | Sequelize timestamps |
SQL reference: Backend/migrations/20260917_admission_form_settings.sql
No migration is required when enabling Save draft / Publish — draft and version history live inside config_json.
Published config (public + live)
Root object fields used by the public admission form:
settings— title, subtitle, colors,enabled,multiStep,showPlanSelection, success copysections[]—{ id, label, order }fields[]— field definitions (built-in + custom)
Builder-only keys (ignored on public API)
| Key | Purpose |
|---|---|
_draft | Unpublished working copy (settings, sections, fields) |
_versions | Up to 25 snapshots { id, createdAt, label, config } for restore |
Admin Publish copies draft (or current editor state) to the root and clears _draft. Save draft updates _draft only.
Admin API: publicAdmission (Form link)
GET /admission/form/config (authenticated) includes publicAdmission:
| Field | Description |
|---|---|
mode | storefront when a custom domain is linked; otherwise platform |
primaryUrl | Link to share (custom site or Beentara-hosted) |
alternateUrl | Beentara-hosted backup when mode is storefront; empty otherwise |
platformUrl | Always the Beentara-hosted admission URL for the tenant |
storefrontOrigin | Canonical origin when linked; null if admin-only |
Resolved server-side from Admin.website_link and active AllowedOrigins (Backend/helpers/publicAdmissionUrl.js). Configure PLATFORM_ADMISSION_BASE or BEENTARA_PUBLIC_UI_URL on the API server for non-production hosts.