configuration PK: id 10 required 2 unique

Description

Per-organization configuration record storing administrative preferences, support access grants, terminology overrides references, and platform behavior flags for each tenant on the Meander platform.

25
Attributes
2
Indexes
6
Validation Rules
9
CRUD Operations

Data Structure

Name Type Description Constraints
id uuid Primary key for the organization settings record
PKrequiredunique
organization_id uuid Foreign key to the organizations table — one-to-one relationship
requiredunique
display_name string Public-facing name override for the organization, used in UI headers and reports
-
contact_label string Org-specific label for 'Contact' (e.g. 'Familie', 'Bruker') — part of the Organization Labels system
-
contact_label_plural string Plural form of the contact label (e.g. 'Familier', 'Brukere')
-
peer_mentor_label string Org-specific label for 'Peer Mentor' role term
-
coordinator_label string Org-specific label for 'Coordinator' role term
-
bufdir_org_id string Organization's registered identifier with Bufdir for report generation and export
-
bufdir_reporting_enabled boolean Whether Bufdir report generation and export is enabled for this organization
required
support_access_granted boolean Whether Norse Global Admins currently have support access to this organization's operational data
required
support_access_expires_at datetime Timestamp when the time-bounded Norse support access grant expires; NULL means no active grant
-
support_access_granted_by uuid User ID of the Org Admin who granted Norse support access
-
default_activity_duration_minutes integer Default activity duration pre-filled in the activity wizard (e.g. 30 for HLF)
required
expense_auto_approval_threshold_km integer Kilometer threshold below which travel expenses are auto-approved without manual review
-
expense_receipt_required_above integer Amount in NOK above which a receipt photo is required for expense claims
-
assignment_office_honorarium_threshold_1 integer Number of completed assignments that triggers the first honorarium level (e.g. 3 for Blindeforbundet)
-
assignment_office_honorarium_threshold_2 integer Number of completed assignments that triggers the second honorarium level (e.g. 15 for Blindeforbundet)
-
assignment_follow_up_reminder_days integer Days after assignment dispatch before an automatic follow-up reminder is sent if no contact logged
-
timezone string IANA timezone identifier for the organization (used in scheduled jobs and report date boundaries)
required
locale string BCP 47 locale code for default UI language within this organization (e.g. 'nb-NO')
required
is_test_organization boolean Marks this organization as a test/internal org whose data is excluded from Bufdir and external reporting
required
logo_url string URL to the organization's logo used in the admin portal and exported reports
-
primary_contact_email string Primary administrative contact email for the organization (used for system notifications)
-
created_at datetime Timestamp when the settings record was created
required
updated_at datetime Timestamp of the last update to any settings field
required

Database Indexes

idx_organization_settings_org_id
btree unique

Columns: organization_id

idx_organization_settings_support_access
btree

Columns: support_access_granted, support_access_expires_at

Validation Rules

valid_timezone error

Validation failed

valid_locale error

Validation failed

support_access_expiry_future error

Validation failed

label_max_length error

Validation failed

valid_email_format error

Validation failed

positive_duration_default error

Validation failed

Business Rules

one_settings_per_organization
on_create

Each organization has exactly one organization_settings record. Creating a second record for the same organization_id is rejected.

support_access_requires_expiry
on_update

If support_access_granted is set to true, support_access_expires_at must be a future datetime. Support access without a time boundary is not permitted.

support_access_auto_revoke
always

When support_access_expires_at is reached, support_access_granted is treated as false by the authorization layer. A scheduled job sets the flag to false and logs the revocation in the audit log.

support_access_audit_logged
on_update

Every grant or revocation of Norse support access must produce an entry in the organization's audit_logs table including the granting user, expiry time, and timestamp.

test_organization_excluded_from_bufdir
always

Organizations marked is_test_organization=true are excluded from all Bufdir report generation and export pipelines.

honorarium_threshold_ordering
on_update

assignment_office_honorarium_threshold_2 must be strictly greater than assignment_office_honorarium_threshold_1 when both are set.

Storage Configuration

Storage Type
primary_table
Location
main_db
Partitioning
No Partitioning
Retention
Permanent Storage