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

# Punching in and out

> How to clock in and out, what the selfie and geofence steps do, and why a punch can end up pending.

A punch records that you clocked in or out at a moment in time. Depending on how your organization is set up it may also record where you were and a photo of you.

## Punching from the employee app

<Steps>
  <Step title="Open Today and press the punch button">
    The button reads **Punch in** or **Punch out** depending on your current state. Your assigned shift for the day is shown alongside it, so you can see what you are being measured against.
  </Step>

  <Step title="Take the selfie, if asked">
    The app opens your camera and captures a single frame. This is the anti-buddy-punch step — it ties the punch to a face, not just to a login.

    <Note>
      The photo is stored with the punch and is visible to your administrator as evidence. OnTime does **not** run automated face matching or liveness detection on it.
    </Note>
  </Step>

  <Step title="Confirm the location">
    The app reads your device's position and shows it on a map against your work location's geofence ring, then tells you the result before you confirm.

    If your device cannot get a fix — indoors, permission denied — the app says so plainly rather than guessing, and you can still punch.
  </Step>

  <Step title="Confirm">
    The punch is recorded. Today's timeline updates immediately, and so do your hours.
  </Step>
</Steps>

## Inside, outside, and pending

The geofence check happens **on the server**, from your coordinates and your location's latitude, longitude and radius. Your phone reports where it thinks it is; OnTime decides what that means.

| Result    | What it means                                     | Punch status                                                         |
| --------- | ------------------------------------------------- | -------------------------------------------------------------------- |
| `Inside`  | Within the geofence radius of your work location. | **Approved** — counted straight away.                                |
| `Outside` | Beyond the radius.                                | **Pending** — goes to your manager.                                  |
| `Pending` | Position could not be established.                | Recorded; treated as inside unless your organization says otherwise. |

## Punching off-site

Field visits, client sites and travel are normal. Punching outside the geofence is not an error — it is an exception, and it needs a reason.

<Steps>
  <Step title="Punch as usual">
    The app shows how far outside the geofence you are and warns that approval will be needed.
  </Step>

  <Step title="Pick a reason">
    From the list your administrator configured — "Client visit", "Site inspection", and so on. You can add detail alongside it.
  </Step>

  <Step title="Add proof if it helps">
    An extra photo is optional but makes the approval easier for your manager.
  </Step>

  <Step title="Submit">
    The punch is recorded as **pending**. It appears in your manager's queue and in the admin regularizations view.
  </Step>
</Steps>

## What "pending" actually means

A pending punch **is recorded**. It is not lost, and it is not ignored. It is a punch whose inclusion in the day is waiting on somebody's decision:

* **Approved** — counted toward the day as normal.
* **Rejected** — not counted.

Until it is decided, your day shows the punch but flags it. If a pending punch is holding up your hours, chase your manager rather than punching again.

## Punch sources

Every punch records where it came from, and you can see this on any day detail:

| Source           | Recorded when                                                  |
| ---------------- | -------------------------------------------------------------- |
| **Biometric**    | You used a fingerprint or face terminal.                       |
| **Selfie + GPS** | Mobile app with both a photo and a position.                   |
| **Mobile GPS**   | Mobile app with a position but no photo.                       |
| **Web**          | Recorded in the admin console — a manual punch on your behalf. |

## Common refusals

<AccordionGroup>
  <Accordion title="Duplicate punch" icon="copy">
    Pressing the same direction twice within a minute is rejected. This is a double-tap guard, not a policy — wait a moment, or check whether your first press actually registered before pressing again.
  </Accordion>

  <Accordion title="This day is frozen" icon="lock">
    The date belongs to a payroll month that has already been frozen. Nobody can add a punch to it, including administrators, without lifting the freeze. Raise it with whoever runs payroll.
  </Accordion>
</AccordionGroup>

## Punching at a terminal

Biometric terminals are simpler for you — present your finger or face and the terminal does the rest. If your punch does not appear in the app afterwards, the usual cause is that your terminal user ID has not been mapped to your OnTime record yet. Those punches are **parked**, not discarded, and appear as soon as an administrator maps you.

Administrators: see [Terminal troubleshooting](/terminals/troubleshooting).
