Skip to main content
Customer rules are JSON-valued config keys that affect behavior across the app. Each rule has a key and a value (any JSON). Seeded rules:
KeyDefaultUsed for
company_name"Columbia 911 Communications District"Sidebar subtitle, email from name
week_start0 (Sunday)Schedule grid anchor
pay_period_days14Timesheet pay period length
ot_threshold_week40Weekly hours above which count as OT on timesheet
min_rest_between_shifts_hours8Rule check (future warning)
holidays[]Array of ISO dates

Edit a rule

On /app/admin/rules:
  • Each row has a key, description, and JSON value input
  • Change the value, click Save
  • Audit log records the change
Values must be valid JSON. Strings need quotes: "Acme Corp". Booleans: true/false. Arrays: []. Objects: {}.

Add a new rule

At the bottom of the page, use the “Add rule” form. Key + JSON value. Once added, the app may or may not use it depending on whether code checks for that key — adding a rule doesn’t automatically make the app do something new.

Common customizations

Set company_name to "Your Company, Inc.". Shows up in the sidebar header and future email templates.
Set week_start to 1. Affects the This Week strip on Today.
Set pay_period_days to 7 for weekly pay, or 14 (default) for bi-weekly. Future: support semi-monthly via dates.
Future feature — not yet implemented. For now, all OT is weekly-threshold based.
Set holidays to ["2026-07-04", "2026-12-25"]. Schedule views show these specially (future).

Required permission

rules.manage — Admin only by default.