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

# File hours and request time off

> What a technician does each pay period, and what the app fills in for you

export const Touches = ({systems}) => <p>
    <strong>Systems involved:</strong>{" "}
    {systems.split(",").map((s, i) => <span key={s}>
        {i > 0 ? " · " : ""}
        <a href={"/systems/" + s.trim()}>{s.trim().replace(/-/g, " ")}</a>
      </span>)}
  </p>;

<Touches systems="the-7am-app, supabase-backend" />

Two screens in the app, both under **You** on the **Search** tab (see [The app tour](/handbook/app/the-app-tour)). **Hours** is your timesheet for the pay period you are in. **Time off** is where you ask for days away. Neither needs the office to set anything up first.

## Before you start

* Signed in as a technician. **Hours** is empty for the owner; see [The app tour](/handbook/app/the-app-tour).
* The pay calendar loaded for the year. Everything on both screens comes from it, so with no calendar loaded the screens go quiet rather than wrong. See [Know when the pay calendar runs out](/handbook/hours/know-when-the-pay-calendar-runs-out).

## File your hours

<Steps>
  <Step title="Open Hours">
    It opens on the pay period you are in: two weeks, Monday to Sunday, with the submit-by date at the top.
  </Step>

  <Step title="Put your hours against the days">
    One number per day. The total at the top adds itself up as you go. You do not compute it and you cannot type it.
  </Step>

  <Step title="Submit before your deadline">
    You can submit from the second Friday of the period until the day before the submit-by date. Once submitted the sheet is no longer a draft and you cannot edit it. If you need a change after that, ask the office to reject it back to you.
  </Step>
</Steps>

**Statutory holidays are already filled in.** The app writes 8 hours against each statutory holiday in the period the first time the timesheet is opened, and locks those days so you cannot change them. Only the holidays ADP's calendar marks statutory reach the engine; a holiday marked as worked is an ordinary day you fill in yourself.

<Note>
  If you forget, the office does not chase you forever. A sheet still in draft on the submit-by date is submitted overnight by the engine, with whatever hours it holds. That is not a telling-off, and the sheet reaches the same place it would have.
</Note>

## Request time off

<Steps>
  <Step title="Open Time off and pick a range">
    A first day and a last day. You do not pick individual days.
  </Step>

  <Step title="Read the count before you send it">
    The screen tells you how many days it is asking for, and reminds you that weekends and statutory holidays do not count.
  </Step>

  <Step title="Submit it">
    It goes to the office as pending. You can cancel it yourself while it is still pending.
  </Step>
</Steps>

**Weekends and holidays are dropped, not just discounted.** Ask for the Friday to the Tuesday over a long weekend and the request is three days; the Saturday, Sunday and the holiday itself are not part of it at all. Nobody has to unpick them later.

If a range has no working days in it, the app refuses to send it and tells you why.

## How you know it worked

* Your timesheet's total matches the days you entered, plus 8 for each statutory holiday in the period.
* A submitted sheet reads as submitted, and its overtime figure, the hours past 80 in the period, is stamped at that moment and does not move again.
* A time-off request appears for the office with exactly the working days it asked for.

## If it did not work

* **"This timesheet is no longer a draft."** Somebody, or the overnight job, submitted it before you tapped. The sheet is already where you wanted it; nothing was lost.
* **A range you know is fine reads as no working days.** The calendar has not reached this phone yet. Give it a moment and reopen the screen.
* **A duplicate request is refused.** A pending request already covers those dates. Find it in the list and cancel that one first.

## Related

* [How timesheets work](/handbook/hours/how-timesheets-work)
* [Approve timesheets and time off](/handbook/hours/approve-timesheets-and-time-off)
* [Know when the pay calendar runs out](/handbook/hours/know-when-the-pay-calendar-runs-out)
* [The app tour](/handbook/app/the-app-tour)
