{% extends "base.html" %} {% block title %}Attendance Report - QR Code Management{% endblock %} {% block extra_head %} {% endblock %} {% block content %}

Attendance Report

Monitor and analyze staff attendance with location accuracy tracking

{{ stats.total_checkins or 0 }}

Total Check-ins

All time

{{ stats.unique_employees or 0 }}

Unique Employees

Have checked in

{{ stats.active_locations or 0 }}

Active Locations

QR codes deployed

{{ stats.today_checkins or 0 }}

Today's Check-ins

{{ current_date_formatted }}

{{ stats.records_with_gps or 0 }}

GPS Records

Location captured

{{ "%.1f"|format(stats.avg_accuracy or 0) }}m

Avg. Accuracy

Location precision

Attendance Records {% if date_from or date_to or location_filter or employee_filter %} (Filtered) {% endif %}

entries
{% if attendance_records %} {% for record in attendance_records %} {% endfor %}
# Employee ID Location Event Date Time QR Address Check-in Address GPS Accuracy Device Actions
{{ loop.index }}
{{ record.employee_id }}
{{ record.location_name }}
{{ record.location_event }}
{{ record.check_in_date.strftime('%Y-%m-%d') }}
{{ record.check_in_time.strftime('%H:%M') }}
{{ record.qr_address[:50] }}{% if record.qr_address|length > 50 %}...{% endif %}
{{ record.checked_in_address[:50] }}{% if record.checked_in_address|length > 50 %}...{% endif %}
{% if record.accuracy %} {{ "%.1f"|format(record.accuracy) }}m ({{ record.accuracy_level }}) {% else %} No GPS {% endif %}
{{ record.device_info[:20] }}{% if record.device_info|length > 20 %}...{% endif %}
{% else %}

No Attendance Records Found

{% if date_from or date_to or location_filter or employee_filter %} No records match your current filters. Try adjusting the filter criteria. {% else %} No staff have checked in yet. QR codes need to be scanned to generate attendance data. {% endif %}

{% if date_from or date_to or location_filter or employee_filter %} {% endif %}
{% endif %}
{% if attendance_records %}
{% endif %}
{% endblock %} {% block extra_scripts %} {% endblock %}