Today’s Attendance

{% if today_attendance %} Punch In: {{ today_attendance.punch_in_local_at.strftime('%H:%M') if today_attendance.punch_in_local_at else (today_attendance.punch_in_utc.strftime('%H:%M UTC') if today_attendance.punch_in_utc else '-') }} · Punch Out: {{ today_attendance.punch_out_local_at.strftime('%H:%M') if today_attendance.punch_out_local_at else (today_attendance.punch_out_utc.strftime('%H:%M UTC') if today_attendance.punch_out_utc else '-') }} {% else %} Attendance not marked for today. {% endif %}

{% if today_attendance %}

Approval: {{ today_attendance.approval_status.replace('_',' ').title() }} · Geo: {{ today_attendance.punch_in_geo_status.replace('_',' ').title() if today_attendance.punch_in_geo_status else 'Not Captured' }} {% if today_attendance.punch_out_geo_status %} / {{ today_attendance.punch_out_geo_status.replace('_',' ').title() }}{% endif %}

{% endif %}
Full View
{% if employee %} {% if is_mobile_attendance_device %}
Click Punch In/Punch Out. The app will ask for mobile browser location before submitting attendance.
Attendance marking is allowed only from mobile. Browser location/GPS is mandatory. If location is denied/unavailable, attendance will not be submitted.
{% else %}
Attendance marking is mobile-only.

{{ attendance_punch_blocked_reason or 'Please open the ERP on your mobile phone to mark punch-in or punch-out. Desktop access is available only for attendance history.' }}

{% endif %} {% endif %}