> ## 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.

# Request time off

> Book days away: pick a policy and dates, use half or quarter days, read the live balance, submit, and withdraw a request if plans change.

Request time off from the **Request time off** button on the Time Off page.

The dialog tells you how much the dates will cost and how much you have left,
before you submit.

## Before you start

You need:

* The **Time Off** app switched on for the workspace.
* The `leave.request` capability – every working role holds it by default.
* At least one leave policy you are assigned to.

## How to request time off

<Steps>
  <Step title="Open the dialog">
    Go to **Time Off** and click **Request time off**.
  </Step>

  <Step title="Pick a policy">
    **Policy** lists only the policies you are assigned to. If it is empty you
    see *"You are not assigned to any leave policy yet."*
  </Step>

  <Step title="Set the dates">
    Pick a **Start date** and an **End date**. For a single day, set both to the
    same date.
  </Step>

  <Step title="Set half or quarter days, if offered">
    When the policy counts in days and allows fractions, **First day** and
    **Last day** each offer **Full day**, **Half day** or **Quarter day**.
  </Step>

  <Step title="Add a note">
    Optional. Free text for your approver.
  </Step>

  <Step title="Check the readout">
    The panel reads **Requested: N days · Available: M days**. Both update as you
    change the dates.
  </Step>

  <Step title="Submit">
    Click **Submit request**. You get a confirmation toast and the request lands
    on the **Requests** tab.
  </Step>
</Steps>

## How the amount is worked out

TimeTracker does not count calendar days. It walks the range day by day
and counts only what you actually owe.

<Steps>
  <Step title="Skip non-working days">
    Days your own schedule marks as non-working are skipped. Weekends, a
    non-working Wednesday, a schedule exception – all skipped.
  </Step>

  <Step title="Skip company holidays">
    A company holiday that applies to you is skipped, so an org calendar never
    quietly eats your balance.
  </Step>

  <Step title="Count the rest">
    Each remaining day counts as one whole day, or – on an hours policy – that
    day's expected hours from your schedule.
  </Step>

  <Step title="Apply the boundary fractions">
    A **Half day** or **Quarter day** on the first or last day scales that day
    only. Days in the middle are always whole.
  </Step>
</Steps>

<Note>
  The amount is recalculated on the server when you submit. What the dialog shows
  and what gets booked are worked out the same way, from the same schedule and the
  same holiday list.
</Note>

### Worked example

Sarah Lin books 21 to 25 July on `Annual leave` (unit: days).

| Day        | Schedule says | Counted |
| ---------- | ------------- | ------- |
| Mon 21 Jul | Working       | 1       |
| Tue 22 Jul | Working       | 1       |
| Wed 23 Jul | Working       | 1       |
| Thu 24 Jul | Working       | 1       |
| Fri 25 Jul | Working       | 1       |

**Requested: 5 days.**

Now she extends it to Sunday 27 July. Saturday and Sunday are non-working, so
they are skipped. It is still **5 days**.

Now she sets **First day** to **Half day**. Monday counts 0.5 instead of 1, so
the request becomes **4.5 days**.

### Hours policies

On an hours policy, each counted day contributes that day's **expected hours**,
not a flat 8.

Ana Ferreira is on `Part-time Mon/Wed/Fri` – 8h Monday, 8h Wednesday, 4h Friday.
Booking Monday to Friday on an hours policy costs **20 hours**, because Tuesday
and Thursday are non-working and Friday is a short day.

## The live balance readout

The panel at the bottom shows two figures.

| Figure        | Meaning                                                             |
| ------------- | ------------------------------------------------------------------- |
| **Requested** | What these dates will consume.                                      |
| **Available** | What you can still book – remaining minus anything already pending. |

Two messages can appear:

* *"This range spans no working days (weekends / holidays only)."* – nothing to
  book. Submit stays disabled.
* *"This request exceeds the negative-balance limit (floor N days)."* – the
  request would push you past what the policy allows. Submit stays disabled.

<Tip>
  **Available**, not **Remaining**, is the number that matters. A request you
  already have pending is counted, so you cannot spend the same days twice.
</Tip>

## What happens after you submit

| If the policy…            | Then                                                                                                                     |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| requires approval         | The request is **Pending**. The amount is held. Approvers are notified.                                                  |
| does not require approval | The request is **Approved** immediately, the balance is consumed, and a reminder is scheduled for when the leave starts. |

Either way the request appears on the **Requests** tab under **My requests**, and
approved leave shows on the **Timeline** tab and on the Planner.

## Your requests list

The **Requests** tab shows your own requests in every status.

| Column        | What it shows                              |
| ------------- | ------------------------------------------ |
| **Policy**    | The policy name.                           |
| **Period**    | The dates, or one date for a single day.   |
| **Requested** | The amount and its unit, such as `5 days`. |
| **Status**    | Pending, Approved, Rejected or Withdrawn.  |

Above the table sit the filters:

* **Status** – all statuses, or one.
* **Member** – approvers only. Plain members always see just their own rows.
* **Date range** – open-ended is allowed, so "from 1 July onwards" works.
* **Clear filters** – appears once anything is set.

A search box filters by text, and the table sorts and pages like the rest of the
app.

## Withdrawing a request

Each row has a three-dot menu.

| Action                | When it appears                                            | What it does                                                |
| --------------------- | ---------------------------------------------------------- | ----------------------------------------------------------- |
| **Withdraw**          | Your request is **Pending**.                               | Cancels it and releases the held balance.                   |
| **Withdraw approval** | Your request is **Approved** and you hold `leave.approve`. | Reverses the approval and returns the days to your balance. |

Both open a confirmation:

> **Withdraw this request?** Your pending request will be withdrawn and the
> reserved balance released. This cannot be undone.

<Warning>
  Withdrawn is final. You cannot un-withdraw – submit a new request instead.
</Warning>

If your request has already been approved, **Withdraw** is not offered. You will
see *"This request has already been approved. Withdraw the approval instead."*
Ask an approver, or use **Withdraw approval** if you hold the capability.

## Permissions

Requesting, and withdrawing your own pending request, need `leave.request` –
held by Owner, Admin, Project Manager, Finance, Member and Contractor.

Withdrawing an approval needs `leave.approve` – Owner, Admin and Project Manager.

A member-scoped policy can only be requested by the people it names. Trying
anything else is rejected by the server.

## Common questions

<AccordionGroup>
  <Accordion title="Can I request leave for someone else?">
    No. A request is always for yourself. An admin can adjust someone's balance
    instead – see /time-off/leave-balances.
  </Accordion>

  <Accordion title="Can I request a half day in the middle of a range?">
    No. Fractions apply to the first and last day only. Book the middle day as a
    separate single-day request if you need a half.
  </Accordion>

  <Accordion title="Why can I not pick a half day?">
    Either the policy counts in hours, or **Allow fractional days** is off for
    that policy. Ask an admin.
  </Accordion>

  <Accordion title="Can I go into a negative balance?">
    Only if the policy allows it, and only down to the limit it sets. The dialog
    names the floor when you cross it.
  </Accordion>

  <Accordion title="Can I edit a submitted request?">
    No. Withdraw it and submit a new one.
  </Accordion>

  <Accordion title="Will my teammates see my leave?">
    Approved and pending leave shows on the Timeline and the Planner to anyone
    who holds `leave.viewOthers`. Your note is not shown there.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Message                                                    | What to do                                                                          |
| ---------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| "You are not assigned to any leave policy yet."            | Ask an Owner or Admin to add you to a policy, or make the policy apply to everyone. |
| "The end date is before the start date."                   | Swap the dates.                                                                     |
| "Those dates cover no working days…"                       | Check the range against your schedule and the company holidays.                     |
| "That time-off policy is archived. Pick an active one."    | The policy was retired. Pick a live one.                                            |
| "This request exceeds the negative-balance limit…"         | Shorten the request, or ask for a balance adjustment.                               |
| "This request has already moved on since the page loaded." | Someone decided it while your page was open. Refresh.                               |

## Related guides

<CardGroup cols={2}>
  <Card title="Leave balances" href="/time-off/leave-balances">
    Accrued, used, pending, remaining and available.
  </Card>

  <Card title="Approve time off" href="/time-off/approve-time-off">
    What happens after you submit.
  </Card>

  <Card title="Leave policies" href="/time-off/leave-policies">
    Units, fractions and approval rules.
  </Card>

  <Card title="Company holidays" href="/time-off/holidays">
    Days that are skipped when counting.
  </Card>

  <Card title="Working hours and days off" href="/schedules/working-hours-and-days-off">
    The schedule that decides which days count.
  </Card>
</CardGroup>
