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

# Approve time off

> Review pending leave requests, approve or reject them with a reason, reverse an approval, and see how each decision moves the balance.

Approve and reject leave on the **Approvals** page, under the **Time Off** tab.
That is the single home for every kind of approval in TimeTracker.

## What you need

* The `leave.approve` capability – Owner, Admin and Project Manager hold it.
* The **Pro** plan. Approving is resolution, and resolution is what Pro sells.
* The requester must be inside your supervision scope.

<Note>
  On **Free**, requests still arrive and still queue. You just cannot clear them.
  The whole backlog becomes approvable the day the workspace upgrades. See
  [/concepts/plans-and-features](/concepts/plans-and-features).
</Note>

## The two sub-tabs

| Tab          | What it lists                                                                       |
| ------------ | ----------------------------------------------------------------------------------- |
| **Awaiting** | Pending requests, waiting for your decision.                                        |
| **History**  | Requests already decided – approved, rejected or withdrawn – newest decision first. |

Both use the same columns:

| Column        | What it shows                             |
| ------------- | ----------------------------------------- |
| **Member**    | Avatar and name of the requester.         |
| **Policy**    | Which leave policy.                       |
| **Period**    | The dates, or one date for a single day.  |
| **Requested** | The amount and unit, such as `5 days`.    |
| **Status**    | Pending, Approved, Rejected or Withdrawn. |
| **Submitted** | When the request came in.                 |

A search box and sortable headers sit above the table. The sidebar **Approvals**
item carries a badge with the number waiting.

## How to approve a request

<Steps>
  <Step title="Open Approvals → Time Off">
    The **Awaiting** tab opens by default.
  </Step>

  <Step title="Check the request">
    Read the member, the policy, the dates and the amount. Because the amount was
    counted from that person's own schedule, non-working days and company
    holidays are already excluded.
  </Step>

  <Step title="Open the row menu">
    Click the three-dot menu at the end of the row.
  </Step>

  <Step title="Choose Approve">
    The decision is applied straight away and you get a confirmation toast.
  </Step>
</Steps>

## How to reject a request

<Steps>
  <Step title="Open the row menu and choose Reject…">
    A modal opens asking for a reason.
  </Step>

  <Step title="Give a reason">
    The reason is required. It goes to the requester, so say what is wrong –
    a clash with a deadline, a busy week, the wrong policy.
  </Step>

  <Step title="Confirm">
    The request moves to **Rejected** and the held balance is released.
  </Step>
</Steps>

<Tip>
  A rejected request is final. If the person can move the dates, say so in
  the reason – they will submit a new request rather than ask you what happened.
</Tip>

## Reversing an approval

Plans change. On the **History** tab, an **Approved** row still offers
**Withdraw approval**.

> **Withdraw this approval?** The approval will be reversed and the days returned
> to the member's balance. This cannot be undone.

The request becomes **Withdrawn** and the days go back.

<Note>
  Withdrawing an approval is **never** plan-gated. Granting an approval is a Pro
  feature, but taking one back works on every plan – otherwise a workspace that
  lapses mid-week would be stuck with a decision it could neither complete nor
  undo.
</Note>

Rejected and withdrawn rows carry no action. They are terminal.

## What each decision does to the balance

Start with Sarah Lin: **20 accrued, 4 used, 0 pending, 16 remaining**. She
requests 5 days.

| Moment                              | Accrued | Used | Pending | Remaining | Available |
| ----------------------------------- | ------- | ---- | ------- | --------- | --------- |
| After she submits                   | 20      | 4    | 5       | 16        | 11        |
| You **approve**                     | 20      | 9    | 0       | 11        | 11        |
| You **reject** instead              | 20      | 4    | 0       | 16        | 16        |
| You **withdraw the approval** later | 20      | 4    | 0       | 16        | 16        |

The pattern is simple:

* **Pending** is a hold. It does not reduce **remaining**, but it does reduce
  **available**.
* **Approve** turns the hold into real consumption.
* **Reject** and **withdraw** release everything.

See [/time-off/leave-balances](/time-off/leave-balances) for the full model.

## Requests that skip you

A policy with **Requires approval** switched off lands approved the moment it is
submitted. It never reaches the Awaiting tab and it never notifies you. Use that
for unpaid or self-service leave types where a decision adds nothing.

Check which policies do this in
[/time-off/leave-policies](/time-off/leave-policies).

## Who gets notified

| Event                               | Who hears about it                              |
| ----------------------------------- | ----------------------------------------------- |
| A request is submitted              | Everyone who can approve, except the requester. |
| A request is approved               | The requester.                                  |
| A request is rejected               | The requester.                                  |
| An approval is withdrawn            | The requester.                                  |
| Leave is coming up                  | The person taking it.                           |
| A request has been waiting too long | The approvers.                                  |

You never get a notification about your own click. See
[/notifications/notification-types](/notifications/notification-types).

## Permissions

| Action                             | Capability         | Plan    |
| ---------------------------------- | ------------------ | ------- |
| See the Awaiting queue and History | `leave.approve`    | Free    |
| Approve                            | `leave.approve`    | **Pro** |
| Reject                             | `leave.approve`    | **Pro** |
| Withdraw an approval               | `leave.approve`    | Free    |
| See other people's leave anywhere  | `leave.viewOthers` | Free    |

`leave.approve` and `leave.viewOthers` both go to Owner, Admin and Project
Manager by default. Finance can request leave but never approves it.

Capability is not scope. Even with `leave.approve`, you only see the people
inside your supervision scope. See
[/concepts/supervision-scope](/concepts/supervision-scope).

## Example

Priya Raman runs delivery at Northwind Studio.

<Steps>
  <Step title="She sees the badge">
    The sidebar shows **Approvals 3**.
  </Step>

  <Step title="She opens the Time Off tab">
    Three pending rows: Sarah Lin 5 days annual leave, Jonas Bergman 1 day sick
    leave, Ana Ferreira 2 days annual leave.
  </Step>

  <Step title="She approves two">
    Sarah and Jonas are approved. Both get a notification.
  </Step>

  <Step title="She rejects one with a reason">
    Ana's dates land on the Bluebird Coffee launch week. Priya rejects with
    "Clashes with the Bluebird launch – can you take the following week instead?"
    Ana's 2 days go straight back to her balance.
  </Step>

  <Step title="A plan changes">
    Two days later Jonas recovers. On **History**, Priya withdraws his approval
    and the day returns to his balance.
  </Step>
</Steps>

## Common questions

<AccordionGroup>
  <Accordion title="Can I approve my own request?">
    You can, if you hold `leave.approve` – your own row appears in the queue like
    anyone else's. Whether you should is a policy question for your team.
  </Accordion>

  <Accordion title="Can I approve part of a request?">
    No. A request is approved or rejected whole. Reject it and ask for a shorter
    one.
  </Accordion>

  <Accordion title="Can I change the dates on someone's request?">
    No. Approvers decide; they do not edit. Reject and ask them to resubmit.
  </Accordion>

  <Accordion title="Does approving create time entries?">
    No. Time off is tracked in its own area. It shows on the Timeline and the
    Planner, not as tracked hours.
  </Accordion>

  <Accordion title="Someone is already over their balance. Can I still approve?">
    The limit is checked when the request is submitted, against the policy's
    negative-balance floor. If it got through, you can approve it.
  </Accordion>

  <Accordion title="Why is Approve showing a Pro badge?">
    The workspace is on Free. Requests keep queueing and clear as soon as you
    upgrade.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Message                                                     | What it means                                                                                          |
| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| "This request has already moved on since the page loaded."  | Someone else decided it, or the requester withdrew it. Refresh.                                        |
| "Only an approved request can have its approval withdrawn." | The row is pending, rejected or already withdrawn.                                                     |
| Nothing in **Awaiting**                                     | Either nothing is pending, or every pending request belongs to someone outside your supervision scope. |
| No **Approvals** item in the sidebar                        | You hold no approval capability, or every approval app is off.                                         |
| Approve fails with a plan message                           | The workspace is on Free.                                                                              |

## Related guides

<CardGroup cols={2}>
  <Card title="Approvals overview" href="/approvals/overview">
    Every approval queue in one place.
  </Card>

  <Card title="Approve time off" href="/approvals/approve-time-off">
    The same queue, from the Approvals side.
  </Card>

  <Card title="Request time off" href="/time-off/request-time-off">
    What your team is submitting.
  </Card>

  <Card title="Leave balances" href="/time-off/leave-balances">
    How a decision moves the numbers.
  </Card>

  <Card title="Leave policies" href="/time-off/leave-policies">
    Which policies need approval at all.
  </Card>

  <Card title="Time off permissions" href="/time-off/time-off-permissions">
    Who can approve.
  </Card>
</CardGroup>
