Clock in
{{ $todayRecord?->clock_in?->format('H:i') ?? '—' }}
Clock out
{{ $todayRecord?->clock_out?->format('H:i') ?? '—' }}
Hours
{{ $todayRecord ? number_format((float) $todayRecord->worked_hours, 2) : '0.00' }}
Status
@if ($todayRecord)
| Staff | Department | Shift | Clock in | Clock out | Hours | Method | Status |
|---|---|---|---|---|---|---|---|
| {{ $member->initials }} {{ $member->name }} {{ $member->employee_no }} | {{ $member->department?->name ?? '—' }} | @if ($row['assignment']?->shift) {{ $row['assignment']->shift->name }} {{ substr($row['assignment']->shift->start_time, 0, 5) }}–{{ substr($row['assignment']->shift->end_time, 0, 5) }} @else Off duty @endif | {{ $row['record']?->clock_in?->format('H:i') ?? '—' }} @if ($row['record']?->distance_m !== null) {{ number_format($row['record']->distance_m) }} m @endif | {{ $row['record']?->clock_out?->format('H:i') ?? '—' }} @if ($row['record']?->early_departure) Early @endif | {{ $row['record'] ? number_format((float) $row['record']->worked_hours, 2) : '—' }} | {{ $row['record']?->method_label ?? '—' }} |
@if ($row['status'])
|
Endpoint
{{ $device['endpoint'] }}
Authentication
Authorization: Bearer <token>
Status
@if ($device['configured']){{ $device['today'] }} biometric {{ Str::plural('punch', $device['today']) }} on {{ $date->format('d M Y') }}.
@can('settings.manage')
Set the token under Hospital Settings → HR.
@else
Ask an administrator to set the token under Hospital Settings → HR.
@endcan
Payload: {"punches":[{"employee_no":"EMP-001","direction":"in","punched_at":"{{ $date->toDateString() }} 08:02:00","device_ref":"unit1-0001"}]}
| Staff | Days recorded | Late | Early out | Absent | Leave days | Hours worked | Overtime hours | Overtime amount |
|---|---|---|---|---|---|---|---|---|
| {{ $row['member']->name }} | {{ $row['days'] }} | {{ $row['late_days'] }} | {{ $row['early_days'] }} | {{ $row['absent_days'] }} | {{ number_format($row['leave_days'], 1) }} | {{ number_format($row['worked'], 2) }} | {{ number_format($row['ot_hours'], 2) }} | {{ money($row['ot_amount'], false) }} |