Skip to content

Admission form settings schema

Table: admission_form_settings

ColumnTypeNotes
main_idstring, uniqueTenant identifier
config_jsonLONGTEXTFull builder payload (see below)
createdAt / updatedAtdatetimeSequelize 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 copy
  • sections[]{ id, label, order }
  • fields[] — field definitions (built-in + custom)

Builder-only keys (ignored on public API)

KeyPurpose
_draftUnpublished working copy (settings, sections, fields)
_versionsUp 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.

GET /admission/form/config (authenticated) includes publicAdmission:

FieldDescription
modestorefront when a custom domain is linked; otherwise platform
primaryUrlLink to share (custom site or Beentara-hosted)
alternateUrlBeentara-hosted backup when mode is storefront; empty otherwise
platformUrlAlways the Beentara-hosted admission URL for the tenant
storefrontOriginCanonical 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.

Beentara — Business management made simple.