> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Capacity

> Monitor shift coverage, overtime alerts, and open shifts across sites for a configurable date range.

Capacity Dashboard is available at route `/hr/capacity`. Access follows your organization's role and module configuration.

## Overview

The Capacity Dashboard (`CapacityDashboard`) provides scheduling administrators with a workforce coverage view. Filters at the top allow selecting a start date, end date (defaulting to a 4-week window), and site. Four summary cards show total shifts, coverage rate (filled/total with a "Good"/"Low" badge at 90% threshold), days with credential issues, and employee overtime alerts. A `CoverageHeatmap` visualizes daily coverage intensity. An Open Shifts table shows the first 10 unfilled shifts with date, time, position, and site, with an Assign button. A "View all open shifts" link navigates to `/hr/open-shifts`.

<Frame caption="Capacity Dashboard — coverage summary cards, overtime alerts, the coverage heatmap, and the open-shifts table for a configurable date range.">
  <img src="https://mintcdn.com/encoreos/9uGfYOeeHogjmoRk/images/hr-scheduling/capacity-dashboard.png?fit=max&auto=format&n=9uGfYOeeHogjmoRk&q=85&s=ed520f84fbf833afcb7baf75bb035d80" alt="Capacity Dashboard" width="1440" height="1351" data-path="images/hr-scheduling/capacity-dashboard.png" />
</Frame>

## Who it's for

Access follows your organization's role and module configuration. ## Before you start

* Shifts must exist in the system for the date range to show meaningful data.

## Steps

<Steps>
  <Step title="Open Capacity Dashboard">Navigate to `/hr/capacity`.</Step>
  <Step title="Set date range">Adjust start and end date inputs (default: current week through 4 weeks out).</Step>
  <Step title="Filter by site">Select a site from the dropdown or leave as "All Sites".</Step>
  <Step title="Review coverage">Check summary cards and the coverage heatmap for staffing level.</Step>
  <Step title="Address open shifts">Review the open shifts table and click **Assign** or navigate to the full open shifts list.</Step>
</Steps>

## Key concepts

| Term                    | Meaning in code                                                                         |
| ----------------------- | --------------------------------------------------------------------------------------- |
| `overallCoverage`       | `(filledShifts / totalShifts) * 100`, rounded to integer                                |
| `has_credential_issues` | Boolean per day from `useCapacityDashboard` response indicating expiring credentials    |
| `OvertimeAlertBanner`   | Banner component shown when `overtimeData` contains entries with `is_over_limit = true` |
| `CoverageHeatmap`       | Visual component rendering a date-by-date coverage intensity grid                       |

## Permissions

| Permission key       | Grants                                                                        |
| -------------------- | ----------------------------------------------------------------------------- |
| `hr.capacity.view`   | View the Capacity Dashboard (coverage, heatmap, overtime alerts)              |
| `hr.scheduling.view` | Required to view the open-shifts list and shift details linked from this page |

Permission keys are assigned to roles in the role editor.

## Related

<Columns cols={2}>
  <Card title="Human Resources" icon="users" href="/hr/overview">
    Human Resources core overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/hr.tsx
  * src/cores/hr/pages/CapacityDashboard.tsx
  * src/cores/hr/hooks/scheduling/useCapacityDashboard.ts
  * src/cores/hr/hooks/time/useOvertimeTracking.ts
</Accordion>
