Capabilities
Open Settings → Capabilities in Thermal →
What it's for
Capabilities is where you turn optional modules on or off, at the whole organization or at one branch, and where you activate vertical packs — bundled capability sets like HVAC or Fire & Life Safety. It's the administrative counterpart to the toggles that live on individual settings pages: those toggles set the baseline, this screen lets an owner override that baseline per branch, or manage the packs no single settings page owns.
Reach it from Settings → Organization → Capabilities in the sidebar, at
/settings/capabilities.
Tabs
This screen has no tabs. It's two stacked sections: Vertical packs, then the capability grants table below it.
Panels and controls
Vertical packs
One row per pack in the catalog — Name, Description, Status (Active vN, Inactive, or Never activated), and an Activation control that picks a published version and either Activate or Deactivate it, with a required reason. Packs are organization-wide and version-pinned — a branch can only narrow an active pack via a branch-scoped disable grant in the table below, it can never activate one on its own.
Capability grants
One row per scope × capability combination — an Organization row for each capability, plus a row for every capability at every branch. Columns: Scope, Capability, Baseline (what it would be with no explicit grant), Inherited (what a branch gets from the org level), Explicit (a grant that's been set on this exact row, or Inherited if none), and Effective (what actually applies).
The Grant control sets an explicit Enable or Disable with a required reason; Revoke removes an explicit grant and lets the row fall back to inherited, also with a required reason. Pack capabilities (HVAC pack, Fire & Life Safety pack) are managed by pack activation instead — their org-scope row shows "Managed by pack activation" and only supports revoking a leftover stale grant, and a branch can only ever disable a pack the org has activated, never enable one it hasn't.
What it accepts
| Field | Format | Required | Rule |
|---|---|---|---|
| Scope | Organization or a branch | Yes | "Pick a valid scope and capability." |
| Capability | Pick from the list | Yes | Same rule as above |
| Grant mode | Enable or Disable | Yes | "Pick enable or disable." — Enable is unavailable on a branch-scoped pack row |
| Reason | Free text | Yes | Required on every save and every revoke |
| Pack | Pick from the catalog | Yes, to activate | "Pick a pack." |
| Pack version | Pick a published version | Yes, to activate | Only versions supported for activation are offered |
| Pack status | Activate or Deactivate | Yes, to activate | "Pick active or inactive." |
Only an owner can save a grant or change a pack activation — the form controls render as "Owner only" text for anyone else, and the action is rejected on the server independent of what the client shows.
How to configure it
- Most module toggles (Rentals, Capital Planning, and similar) have their own on/off switch on the main Settings page — that switch sets the baseline this screen's Baseline column reads. Use this screen to override that baseline for one branch, not to turn the module on for the first time.
- Branches must exist before they show up as scope rows here.
- Vertical packs (HVAC pack, Fire & Life Safety pack) are activated only from this screen — there's no toggle for them elsewhere.
Who can see it
- Owners see Capabilities in the Settings sidebar and are the only role that can save a grant or change a pack activation.
- Office managers have access to the Settings area, so the screen opens for them if they navigate directly, but every control on it reads "Owner only" — they can view the table but not change anything.
- Dispatchers and technicians cannot reach Settings at all. Every mutation is checked on the server, so the gate holds regardless of what the sidebar shows.
The full role matrix is on Roles & permissions.