Settings module — JetSetGo MCP reference
The settings module manages a tenant's platform-wide configuration: a fixed catalogue of known, editable settings stored as name-to-value rows. Settings span seven categories — branding and colours, cart and checkout behaviour, journey-selection interface options, regional formats (display currency and timezone), ticketing defaults, email defaults, and system defaults (such as a default cancellation policy pointer, a payment-surcharge account pointer, and scheduled batch timing). Other applications read individual settings from here; this module is their canonical owner.
What the operator uses it for
Operators tune how the platform presents and behaves for their business: brand colours, iconography and imagery under branding; flow behaviour under cart/checkout; display language of journey selection; the currency and timezone that regional formatting follows; defaults applied to ticket issuance and outbound email; and system-level fallbacks such as which cancellation policy applies by default or which GL account receives payment surcharges.
Because the catalogue is fixed, discovery is explicit: an agent first reads the setting schema to learn what exists, what each setting is for, and how values are validated — then writes only known names.
Where it sits
Settings is a leaf reference store consumed across the platform: booking-side apps read branding and checkout values; the general-ledger module reads the finance pointer it shares with this module; policy defaults point at records owned by the policies domain. Writes are upsert-by-name against a single flat table seeded per tenant.
This document describes configuration categories only. Individual setting keys, current values, and any credential-class integration configuration are intentionally out of scope.
Key concepts
- Setting — one named configuration value stored as a string.
- Catalogue — the fixed schema of known editable settings, each with a label, category and input type.
- Category grouping — settings are organised into functional groups (branding, checkout, regional, ticketing, email, system).
- Validation profile — per-setting rules: numeric bounds, format patterns, or membership in a reference list.
- Reference lists — valid option sets (ISO 4217 currencies, IANA timezones) exposed as read tools.
- Upsert by name — writes locate a row by name and update it, inserting when absent.
- Read-only fields — system identity settings that exist in the table but reject writes.
Tools
| Tool | Class | Purpose |
|---|---|---|
settings_list |
Read | List all settings joined with catalogue metadata; optional category filter. |
settings_get |
Read | Fetch one setting by name with its metadata. |
settings_list_config |
Read | Return the catalogue schema: names, labels, categories, input types, validation hints. |
settings_list_currencies |
Read | List valid ISO 4217 currency codes for the currency setting. |
settings_list_timezones |
Read | List valid IANA timezone identifiers for the timezone setting. |
settings_set |
Guarded write | Upsert a known setting by name after validating its value. |
Rules worth knowing
- Only catalogue-known settings are writable: unknown names are rejected outright; use the config read first.
- Validation is per-setting: numbers must fall within configured bounds; some fields must match format patterns (email-shaped, URL-path-shaped); currency and timezone values must appear on the ISO/IANA reference lists; policy pointers must be numeric ids resolvable through their owning domain.
- Read-only settings always fail writes: system identity values cannot be modified through this module.
- Writes are idempotent upserts: setting an existing value again is safe; semantics are read-then-update-or-insert.
- Values are plain strings: typed validation happens at write time; consumers interpret stored strings.
- Shared ownership: the finance pointer for payment surcharges is surfaced by both this module and the glrules module (same underlying row); the default cancellation-policy pointer matches what the policies domain's own default-setting tool writes.
- Discovery precedes writing: the intended sequence is config read → optional reference-list read → validated set.
- Metadata rides along with reads: list/get results include label, category and input type so agents can present settings without hardcoding knowledge of them.
Related modules
- General ledger rules — mirrors the finance pointer for payment-surcharge posting; this module holds the canonical row.
- Payment types — payment options interact with checkout-behaviour settings.
- Bookings — booking surfaces consume branding, checkout and regional settings.
- Invoices — invoicing output follows regional formats and email defaults configured here.
