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

# Capacity

> How available working time is calculated and allocated in CharleOS

Capacity is the foundation of all other metrics—it defines how much working time is available for allocation. Understanding capacity is essential for scheduling, resource planning, and realistic workload management.

## What Is Capacity?

Capacity is the amount of **productive time** available for work. It's measured in two ways:

<CardGroup cols={2}>
  <Card title="Daily Capacity" icon="clock">
    How many productive minutes are available **per day per person**
  </Card>

  <Card title="Available Capacity" icon="calendar">
    How many total productive minutes are available **in a time period**
  </Card>
</CardGroup>

## Daily Capacity

Each person has a daily capacity—the productive minutes available on a working day.

### The Two Standards

CharleOS uses two different daily standards for different purposes:

| Type                 | Minutes     | Hours     | Used For                                            |
| -------------------- | ----------- | --------- | --------------------------------------------------- |
| **Billing Day**      | 450 minutes | 7.5 hours | Day rate calculations                               |
| **Default Capacity** | 390 minutes | 6.5 hours | Schedule allocation, utilisation, capacity planning |

### Why Two Different Values?

<Tabs>
  <Tab title="7.5 Hours (Billing Day)">
    The **billing day** of 7.5 hours is an industry standard for professional services. It's used when calculating:

    * Day rates (revenue per day)
    * Days allocated in contracts
    * Billable days delivered

    It represents a "full day's worth" of billable work in contractual terms.
  </Tab>

  <Tab title="6.5 Hours (Default Capacity)">
    The **default capacity** of 6.5 hours is realistic productive time. It accounts for:

    * ✅ Meetings and standups (30-60 mins/day)
    * ✅ Email and Slack communication (30 mins/day)
    * ✅ Context switching between tasks
    * ✅ Admin work (timesheets, expenses)
    * ✅ Natural breaks and downtime

    This is used for:

    * Schedule allocation (how much can you schedule per day?)
    * Utilisation calculations (billable vs available time)
    * Capacity planning (who has bandwidth?)
  </Tab>
</Tabs>

<Info>
  **Why 6.5 and not 7.5?**

  If you scheduled 7.5 hours of focused work every day, you'd have no time for necessary coordination, communication, or mental breaks. The 6.5-hour default is more realistic and sustainable.
</Info>

### Role-Based Capacity

Different roles have different daily capacities because they have different meeting loads and responsibilities:

| Role           | Typical Capacity     | Reason                                      |
| -------------- | -------------------- | ------------------------------------------- |
| **Developer**  | 6.5 hours (390 mins) | Standard capacity with meetings/standups    |
| **Designer**   | 6.5 hours (390 mins) | Standard capacity with reviews/feedback     |
| **QA**         | 6.5 hours (390 mins) | Standard capacity with testing/coordination |
| **PM/CSM**     | 5 hours (300 mins)   | More meetings, coordination, client calls   |
| **Manager**    | 4.5 hours (270 mins) | Heavy meeting load, 1-on-1s, planning       |
| **Leadership** | 4 hours (240 mins)   | Strategic work, high meeting volume         |

<Note>
  These can be configured in the system per role or per person. If no role-specific capacity is set, the system uses the 390-minute default.
</Note>

## Available Capacity

Available capacity is your total productive time in a date range:

```formula The Formula theme={null}
Available Capacity = (Working Days - Leave Days) × Daily Capacity
```

### What Is a Working Day?

A working day is any weekday (Monday-Friday) that is **not**:

<Steps>
  <Step title="Weekends">
    Saturday and Sunday are automatically excluded.
  </Step>

  <Step title="UK Bank Holidays">
    CharleOS tracks UK bank holidays and excludes them from working days.

    Common UK bank holidays:

    * New Year's Day
    * Good Friday, Easter Monday
    * Early May Bank Holiday
    * Spring Bank Holiday
    * Summer Bank Holiday
    * Christmas Day, Boxing Day
  </Step>

  <Step title="Approved Leave">
    Any leave with status `approved` is subtracted from working days.

    This includes:

    * Full day leave
    * Half day AM
    * Half day PM

    Half days count as 0.5 days.
  </Step>
</Steps>

### Worked Example: February Capacity

Let's calculate available capacity for February 2025:

| Step                                | Calculation | Result          |
| ----------------------------------- | ----------- | --------------- |
| **1. Count Calendar Days**          |             |                 |
| Days in February 2025               |             | 28 days         |
| **2. Exclude Weekends**             |             |                 |
| Saturdays and Sundays               |             | 8 days          |
| Weekdays                            | 28 - 8      | 20 days         |
| **3. Exclude Bank Holidays**        |             |                 |
| UK bank holidays in Feb 2025        |             | 0 days          |
| Working days                        | 20 - 0      | 20 days         |
| **4. Subtract Leave**               |             |                 |
| Leave taken                         |             | 2 days          |
| **Net working days**                | 20 - 2      | **18 days**     |
| **5. Calculate Available Capacity** |             |                 |
| Daily capacity                      |             | 390 mins (6.5h) |
| **Available minutes**               | 18 × 390    | **7,020 mins**  |
| **Available hours**                 | 7,020 ÷ 60  | **117 hours**   |

So in February, with 2 days of leave, this person has **117 hours** (7,020 minutes) of available capacity.

### Half-Day Leave

Half-day leave is supported and counts as 0.5 days:

**Example:**

* Working days: 20
* Full day leave: 1 day
* Half day AM leave: 1 half-day (0.5 days)
* Net working days: 20 - 1 - 0.5 = **18.5 days**
* Available capacity: 18.5 × 390 = **7,215 minutes**

## How Capacity Is Allocated

CharleOS uses a **priority-based fill-first algorithm** to allocate capacity across scheduled work.

### Allocation Priority

Work is allocated to capacity in this order:

<Steps>
  <Step title="Help Desk Tickets (Priority 1)">
    Active and scheduled help desk tickets get first priority. Client support comes first.
  </Step>

  <Step title="In-Progress Multi-Day Items (Priority 2)">
    Subtasks that started before today and are still ongoing get next priority (work you've already begun).
  </Step>

  <Step title="Single-Day Items Starting Today (Priority 3)">
    Tasks scheduled to start and finish today.
  </Step>

  <Step title="New Multi-Day Items Starting Today (Priority 4)">
    Larger tasks starting today that will span multiple days.
  </Step>

  <Step title="Future Items (Priority 5)">
    Work scheduled for future dates.
  </Step>

  <Step title="Explicit Priority Order (Priority 6)">
    If items have explicit `priorityOrder` values set, those override the default hierarchy.
  </Step>
</Steps>

### How Allocation Works

For each day in the schedule:

1. Start with full daily capacity (e.g., 390 minutes)
2. Sort scheduled items by priority
3. Allocate capacity to each item in order:
   * If an item needs 120 minutes and 390 are available, allocate 120 and reduce available to 270
   * If an item needs 300 minutes and only 270 are available, allocate 270 and carry over 30 minutes to the next day
4. Continue until capacity is exhausted or all items are allocated
5. Multi-day items track remaining minutes across days

<Info>
  **Weekends get 0 capacity.** Tasks may span weekends, but no hours are allocated to Saturday/Sunday. The remaining work simply shifts to Monday.
</Info>

### What Consumes Capacity?

| Item Type             | Consumes Capacity? | Notes                                              |
| --------------------- | ------------------ | -------------------------------------------------- |
| **Subtasks**          | ✅ Yes              | If they have scheduled start/end dates             |
| **Help Desk Tickets** | ✅ Yes              | When active or scheduled                           |
| **Project Tasks**     | ❌ No               | Displayed but don't consume capacity (for context) |
| **Unscheduled Items** | ❌ No               | Not allocated until scheduled                      |

## Capacity Status Indicators

CharleOS uses color-coded indicators to show capacity health:

| Status            | Utilisation       | Badge                                          | What It Means                            |
| ----------------- | ----------------- | ---------------------------------------------- | ---------------------------------------- |
| **Over Capacity** | Greater than 100% | <span style={{color: 'red'}}>●</span> Red      | More work scheduled than capacity allows |
| **At Capacity**   | 80-100%           | <span style={{color: 'orange'}}>●</span> Amber | Near or at capacity limit                |
| **Healthy**       | 50-80%            | <span style={{color: 'green'}}>●</span> Green  | Good capacity utilisation                |
| **Low**           | Less than 50%     | <span style={{color: 'blue'}}>●</span> Blue    | Significant available capacity           |

These indicators appear on:

* Schedule views (day-by-day capacity bars)
* Capacity quick view (team overview)
* Scheduling dialogs (warnings when over-scheduling)

## Where to See Capacity

Capacity information appears throughout CharleOS:

<AccordionGroup>
  <Accordion title="My Schedule" icon="calendar">
    Your personal schedule shows daily capacity:

    * Progress bar per day (green/amber/red)
    * Percentage allocated (e.g., "78% scheduled")
    * Next available date

    Helps you see when you're over-scheduled or have bandwidth.
  </Accordion>

  <Accordion title="Capacity Quick View" icon="gauge">
    PM and Manager dashboards show team capacity:

    * Each team member's capacity status
    * Available vs scheduled vs logged minutes
    * Who has bandwidth for new work
    * Can filter by client to see client-specific capacity
  </Accordion>

  <Accordion title="Scheduling Dialogs" icon="calendar-plus">
    When scheduling new work:

    * Shows assignee's current capacity
    * Warns if scheduling would create conflicts
    * Suggests conflict-free start dates
    * Shows end date based on capacity
  </Accordion>

  <Accordion title="Schedule Timeline Panel" icon="timeline">
    Visual timeline showing capacity per day:

    * Color-coded capacity indicators
    * Next available date for each person
    * Used in scheduling to find optimal dates
  </Accordion>

  <Accordion title="Reports" icon="chart-column">
    Capacity planning reports (coming soon):

    * Team capacity vs demand
    * Hiring signals (sustained over-capacity)
    * Utilisation forecasts
  </Accordion>
</AccordionGroup>

## Capacity and Scheduling

Capacity is tightly integrated with scheduling:

### Conflict Detection

When scheduling new work, CharleOS checks if there's available capacity:

<Tabs>
  <Tab title="No Conflict">
    **Scenario:** Scheduling 2 hours of work on a day with 3 hours available.

    ✅ No conflict—work fits within capacity.

    The system schedules the work and updates capacity indicators.
  </Tab>

  <Tab title="Pushes Existing Work">
    **Scenario:** Scheduling 4 hours of work on a day with 2 hours available and 2 hours already scheduled.

    ⚠️ Warning shown—this will push existing work to later dates.

    You can:

    * Choose a different start date
    * Proceed anyway and accept the push
  </Tab>

  <Tab title="Creates Overload">
    **Scenario:** Scheduling work that consistently exceeds daily capacity.

    🚨 Conflict detected—schedule is overloaded.

    You should:

    * Reschedule some work
    * Adjust estimates
    * Assign to someone with more capacity
  </Tab>
</Tabs>

### End Date Calculation

When you schedule work, CharleOS automatically calculates the end date based on:

1. **Start date** - When work begins
2. **Estimated minutes** - How long the task should take
3. **Assignee's daily capacity** - How much they can do per day
4. **Already scheduled work** - What's already on their plate
5. **Leave and holidays** - Days they're unavailable

**Example:**

* Start date: Monday, March 1
* Estimated: 12 hours (720 minutes)
* Daily capacity: 6.5 hours (390 minutes)
* Already scheduled: 2 hours/day (120 minutes)
* Available per day: 390 - 120 = 270 minutes

**Calculation:**

* Day 1 (Mon): 270 minutes allocated, 450 remaining
* Day 2 (Tue): 270 minutes allocated, 180 remaining
* Day 3 (Wed): 180 minutes allocated, complete
* **End date: Wednesday, March 3**

## How Capacity Is Used for Planning

### 1. Utilisation Tracking

Capacity is the denominator in utilisation calculations:

```formula theme={null}
Utilisation = Billable Minutes ÷ Available Capacity × 100
```

See [Utilisation](/concepts/financial/utilisation) for details.

### 2. Resource Planning

Capacity helps answer:

* **Who has bandwidth for new work?** Look at scheduled vs available capacity
* **Do we need to hire?** If team is consistently over-capacity for 4+ weeks
* **Can we take on this project?** Check team capacity vs project needs

### 3. Forecasting

Capacity enables forward planning:

* Project future capacity based on known leave
* Identify busy and quiet periods
* Plan hiring or contractor needs in advance

### 4. Schedule Health

Capacity metrics show schedule quality:

* **Gaps**: Days with less than 50% capacity scheduled (under-utilised)
* **Overloads**: Days with greater than 100% capacity scheduled (over-scheduled)
* **Balance**: Good distribution of work across the team

## Common Capacity Scenarios

<AccordionGroup>
  <Accordion title="Scenario: Over-Scheduled Team Member" icon="triangle-exclamation">
    **Problem:** Someone has 200% capacity scheduled.

    **Causes:**

    * Unrealistic estimates
    * Too many concurrent tasks
    * Unexpected urgent work added

    **Solutions:**

    * Reschedule some work to later dates
    * Redistribute work to team members with capacity
    * Re-estimate if original estimates were too optimistic
    * Push back on new work until current load is manageable
  </Accordion>

  <Accordion title="Scenario: Consistent Over-Capacity (Team)" icon="chart-line">
    **Problem:** Team is greater than 85% capacity for 4+ consecutive weeks.

    **This indicates:**

    * High demand (good problem to have!)
    * Potential hiring need
    * Risk of burnout if sustained

    **Actions:**

    * Consider hiring or contractors
    * Review and optimize processes
    * Ensure realistic estimates
    * Protect team from over-commitment
  </Accordion>

  <Accordion title="Scenario: Low Capacity Utilisation" icon="chart-simple">
    **Problem:** Team member has less than 40% capacity scheduled.

    **Causes:**

    * Between projects (pipeline gap)
    * New starter ramping up
    * Blocked by client approvals
    * Seasonal quiet period

    **Solutions:**

    * Assign internal projects or improvement work
    * Training and skill development
    * Help with other team members' workload
    * Business development activities
  </Accordion>

  <Accordion title="Scenario: Leave Impact" icon="plane-departure">
    **Problem:** Someone has 2 weeks leave next month.

    **Impact:**

    * Available capacity drops from \~130 hours to \~65 hours
    * Existing scheduled work may need rescheduling
    * Other team members may need to cover

    **Planning:**

    * Review scheduled work before leave
    * Reschedule non-urgent items to after return
    * Delegate urgent items to teammates
    * Ensure handoff documentation exists
  </Accordion>
</AccordionGroup>

## Capacity Priority vs. Workload Reality

<Warning>
  **Important distinction:**

  Capacity **priority** (which tasks get allocated first) is different from workload **importance** (which tasks should actually be done first).

  The priority algorithm helps with **allocation**—it doesn't tell you what to work on. You still need to prioritize actual work based on:

  * Client importance
  * Deadlines
  * Business value
  * Dependencies

  Capacity is a planning tool, not a task prioritization system.
</Warning>

## Tips for Healthy Capacity Management

<AccordionGroup>
  <Accordion title="Don't Schedule to 100%" icon="gauge">
    Leave buffer capacity for:

    * Urgent work that comes up
    * Tasks taking longer than estimated
    * Meetings and interruptions
    * Mental breaks and context switching

    Aim for **70-80% scheduled capacity**, not 100%.
  </Accordion>

  <Accordion title="Plan Around Leave" icon="calendar">
    When leave is booked:

    * Review scheduled work for those dates
    * Reschedule or delegate proactively
    * Don't wait until the last minute

    Leave planning affects team capacity significantly.
  </Accordion>

  <Accordion title="Monitor Trends, Not Just Today" icon="chart-line">
    Look at capacity over 2-4 weeks:

    * Are you consistently over-capacity?
    * Are there predictable busy/quiet periods?
    * Is the team balanced or are some people overloaded?
  </Accordion>

  <Accordion title="Use Capacity to Say No" icon="hand">
    Capacity gives you objective data to push back on unrealistic requests:

    "We're at 90% capacity for the next 3 weeks. We can start this on \[realistic date] or we need to reschedule something else."
  </Accordion>

  <Accordion title="Balance the Team" icon="scale-balanced">
    If one person is at 120% and another at 40%, redistribute work. Don't let some people burn out while others are under-utilized.
  </Accordion>
</AccordionGroup>

## Related Concepts

<CardGroup cols={2}>
  <Card title="Utilisation" icon="chart-line" href="/concepts/financial/utilisation">
    Capacity defines available time—utilisation measures how much is billable
  </Card>

  <Card title="Schedule" icon="calendar" href="/user-guide/schedule">
    Learn how to use the schedule view to manage your capacity
  </Card>

  <Card title="Scheduling Work" icon="calendar-plus" href="/user-guide/blocks/scheduling-blocks">
    See how capacity affects scheduling and conflict detection
  </Card>

  <Card title="Annual Leave" icon="plane-departure" href="/user-guide/annual-leave">
    Understand how leave reduces available capacity
  </Card>
</CardGroup>
