Settings Reference¶
Every configurable setting, where it lives in the UI, and its fresh-install
default. The list mirrors Settings in the server — the whole object is saved
as one row, so nothing here can silently desync from the code.
Where each setting is edited¶
- Setup → Sessions — check-in window, auto-checkout, timezone, admin password, schedule uploads.
- Setup → Team Members — quick PIN sign-in, CSV imports, leaderboard configuration.
- Setup → Integrations — everything Discord.
- Setup → Branding — logo.
- Setup → System — maintenance mode.
- Gear Settings (device) — kiosk mode, scan debounce, server address/TLS.
System & attendance¶
| Setting | Default | Meaning |
|---|---|---|
| Check-in Window | 4 hours | ± this far from a session's start/end a scan still counts. |
| Auto Check-out After | 24 hours | grace before lingering members are auto-checked-out (or when the next session at the location starts). |
| Timezone | — (empty) | UTC offset used for display/schedule parsing. |
| Quick PIN Sign-In | off | allow kiosk PIN logins; PINs are server-side and unique. |
| Admin Password | (in flux) | changes the bootstrap admin password. |
| Maintenance Mode | off | shows a client banner and makes the Discord bot refuse commands. |
| Maintenance Message | (default text) | opt-in reason shown when maintenance is on. |
Discord¶
| Setting | Default | Meaning |
|---|---|---|
| Discord Enabled | off | master switch for the bot + notifications. |
| Bot Token | — | bot token from the Discord Developer Portal. |
| Server ID | — | the guild the bot operates in. |
| Announcement Channel ID | — | where start/end reminders post. |
| Notification Channel ID | — | where overtime/auto-checkout ("DM-style") messages post. |
| Self-Linking | off | lets members run !link Name to bind their account. |
| Name Syncing | off | copies Discord nicknames into member display names (every 60 s). |
| Checkout | off | enables the Discord !checkout command. |
| Start Reminder | 24 h before | minutes ahead of a session start to post, plus the templated message. |
| End Reminder | 15 min before | minutes ahead of a session end to post, plus the templated message. |
| Start / End Auto-Delete | off | delete the reminder from Discord after the start/end time passes. |
| Overtime DM | on · 10 min after end | DM members still checked in after a session ends, once. |
| Auto Checkout DM | on | DM members when auto-checked-out. |
| RSVP Reactions | on | 👍/👎 on start reminders feed per-session RSVPs. |
Message templates support the full placeholder set.
Leaderboard¶
| Setting | Default | Meaning |
|---|---|---|
| Member Types on Leaderboard | student + mentor | which member types appear (app + !leaderboard). |
| Show Overtime Separately | on | overtime rendered as +1h 30m in red vs folded in. |
Branding¶
| Setting | Default | Meaning |
|---|---|---|
| Logo | (none) | replaces the app bar / login logo site-wide; PNG or JPG. |
Defaults recap (fresh install)¶
A brand-new database seeds this single row.
The exact default Settings row
check_in_window_secs = 4h
auto_checkout_after_secs = 24h
quick_pin_enabled = false
timezone = ""
leaderboard_show_overtime = true
leaderboard_member_types = [student, mentor]
maintenance_mode = false
maintenance_message = ""
discord_enabled = false
discord_bot_token / guild / chans= "" (unset)
discord_self_link_enabled = false
discord_name_sync_enabled = false
discord_checkout_enabled = false
discord_start_reminder_mins = 1440 (24 h)
discord_end_reminder_mins = 15
discord_overtime_dm_enabled = true
discord_overtime_dm_mins = 10
discord_auto_checkout_dm_enabled = true
discord_rsvp_reactions_enabled = true
discord_auto_delete_start/end = false / false
Changing a field later just upserts the single row — missing columns never silently evaporate defaults.