A camera can recognize a QR code while a network is unavailable. Reliable attendance still requires a durable event, a known student identifier, and a clear session.
Each scan needs a stable identity so a retry does not produce a second attendance record. The server should validate the event and return a result that the device can reconcile.
Pending, confirmed, duplicate, and needs-review are different states. Showing those states honestly helps the person running a kiosk understand what has reached the main system.