Skip to content
SkyRosterBook a working session

Platform · Attendance

Three questions, answered for every employee, every day

When did they actually work. When were they supposed to work, derived straight from the roster. And where the two disagree, is the gap justified by a leave or a duty. This is the record that feeds payroll and compliance reporting, not a separate timesheet someone re-types.

Where entries come from

Three sources, one governing rule

Biometric device

A facial-recognition access-control integration. Device-sourced entries are auto-approved on ingestion, the device is treated as a trusted witness, so a machine-read clock event needs no human review. A duplicate scan within 120 seconds is flagged harmless rather than counted twice.

Manual

Typed in, by the employee or by an admin or supervisor on their behalf.

Remote

A one-tap "I'm clocking in or out remotely" from the mobile app, for staff working off-site.

Only Approved entries count toward presence, pairing and payroll. A Pending entry stays visible for a supervisor to triage, but has zero effect on worked or unjustified time until it is approved. That single rule is what keeps the record honest while corrections are still in flight.

Who has to approve what

Four-eyes on self-declared presence

Nobody approves their own attendance, including a global administrator.

A global admin, for someone else

Auto-approved. Creation is the approval, no second step.

A unit supervisor, for their team

Lands Pending. A deliberate two-step audit trail, the supervisor must separately approve it.

Anyone entering their own time

Always Pending, always reviewed by someone else. Self-declared presence is never self-approved, full stop.

A few guardrails run at entry time: duplicate-scan detection, a configurable attendance go-live date so entries cannot predate it, and a same-shift conflict check that stops someone claiming to be both remote and on-premise in the same shift window.configured

The device integration

A biometric sync that treats a human correction as final

A standalone sync job polls each configured device on a short interval and pushes new clock events into SkyRoster as auto-approved entries. Per-device tracking means one offline device never blocks the others, and a device catches up automatically once it reconnects.

The sync deliberately never overwrites an entry a human has already touched. If an employee edits their own device-sourced entry afterward, it is demoted back to Pending and a supervisor must re-approve or reject it, reject restores the device's original record, so a manual correction is never silently clobbered by the next sync cycle, and the original reading is never lost either.

The core distinction

Rescheduling the future is automatic. Rescheduling the past needs a signature.

A mandatory period is the system's formal statement of "this employee is expected to be physically present from X to Y" · sourced from the tactical roster's working slots or from an approved duty that requires attendance tracking. No attendance inside one means an unjustified absence.

Future

A reschedule updates the expected-presence window automatically and silently. Nobody needs to sign off on a plan that has not happened yet.

Past, or in progress

A reschedule that touches a period already underway or already elapsed requires a supervisor's explicit approval or rejection, because that window is evidence. Absences and payroll figures were already computed against it, and rewriting history without a decision would quietly corrupt both.

The same mechanism handles the real-world shape of a shift on its own: an office shift with a lunch break splits into two mandatory periods around it, a night shift's window is corrected so it lands on the right roster day, an approved shift extension automatically extends the window, and a boundary that overlaps an approved leave or duty is frozen rather than silently moved.

What supervisors and HR see

Timesheets, Justifications, and the triage queue

Timesheet view

One row per employee per roster day, with visual bars for schedule, actual attendance, mandatory periods, leaves, duties, and days off, and red segments marking anything missing or unjustified.

Justifications

The queue of gaps still needing a leave or duty request to cover them, where HR and supervisors actually work from to reconcile the record, rather than scanning the raw timesheet for red.

Worked-time computation deducts lunch breaks, clamps duties and leaves to the shift's real working window, and distinguishes a full-day unjustified absence from a half-day one, the arithmetic a payroll officer would otherwise do by hand, done the same way every time.

The disregard action

Removed from the count, never removed from the record

A supervisor can mark a clocking entry as Disregarded rather than deleting it. The entry stays visible in the employee's history with that status, and is excluded from worked-time computation from that point on. There is no un-disregard action, it is a one-way call, deliberately, so the record shows what was decided and cannot quietly be flipped back without a new entry.

Bring a week where the timesheet and the roster disagreed.

That is the exact case this module exists for. Bring it to a working session and we will walk through how the gap would have been flagged and resolved.