TC-EVT-006: Event Check-in & Attendance (Detailed)

Step-by-Step Guide — Follow each step exactly as written. All values are provided — do not improvise.
Check-in is CODE-BASED. The endpoint is POST /api/events/checkin with body { "code", "eventId" } — there is no /events/:id/check-in route. Check-in is same-day only; returns 402 if a paid invoice is unpaid, 409 if already checked in. Wherever this guide names a "QA Test …" event, use a real event dated today (the seed's RCME Check-in Test Event) with a registered attendee. See also the TC-EVT-005 summary page for the canonical check-in reference.
Module
Events & Registrations — Check-in & Attendance Tracking
Staging Frontend
https://stg-rcme.membervu.com
Staging MailHog
https://stg-webmail.membervu.com
Tenant
RCME (Rotary Club of Manila Expats)
Test Users
Events Manager + Admin
Prerequisite
TC-EVT-002 completed (testmember and guest registered for "QA Test Coffee Meetup")
Target Event
QA Test Coffee Meetup (Free RSVP event with registrants)
Priority
P1
WARNING: This test requires that at least 2 users (testmember and guest) are registered for the target event. If registrations were cancelled during TC-EVT-002 cleanup, re-register them before proceeding. Alternatively, use any seeded event that has registrants (e.g., "RCME Check-in Test Event").

TC-CHK-01: Navigate to Check-in View

StepActionExpected ResultTest Value
1 Open a browser and log in as the Events Manager. Dashboard loads. events@demo.membervu.com / Events123!
2 Navigate to Admin > Events. Events management page loads.
3 Find "QA Test Coffee Meetup" in the events list. Click on it or click "Manage". Event management/detail page opens. QA Test Coffee Meetup
4 Look for a "Check-in", "Attendance", or "Registrations" tab/section. A check-in or attendance view is available. It shows a list of registered attendees with their check-in status.
5 Verify the registrant list shows at least 2 people. You should see: Maria Cruz (testmember@rcme.membervu.com) and Roberto Mendoza (guest@demo.membervu.com). Status should be "Not Checked In" or similar.

TC-CHK-02: Manual Check-in

StepActionExpected ResultTest Value
1 In the attendee list, find Maria Cruz (testmember). Click "Check In" button next to her name. Her status changes to "Checked In" with a green indicator or checkmark. A timestamp may appear showing the check-in time. Maria Cruz
2 Verify the attendance counter updates. Attendance counter shows "1 / 2 checked in" or "50% attendance".
3 Find Roberto Mendoza (guest). Click "Check In". His status changes to "Checked In". Attendance counter updates to "2 / 2 checked in" or "100%". Roberto Mendoza
4 Try to check in Maria Cruz again (click "Check In" if the button is still visible). The system should either: (a) block with "Already checked in", (b) show the button as disabled/hidden, or (c) the button is replaced with "Undo Check-in".

TC-CHK-03: Undo Check-in

StepActionExpected ResultTest Value
1 Look for an "Undo" or "Uncheck" button next to a checked-in attendee (Roberto Mendoza). Undo/Uncheck button is visible for checked-in attendees. Roberto Mendoza
2 Click "Undo Check-in" or "Uncheck". Roberto's status reverts to "Not Checked In". Attendance counter updates to "1 / 2".
3 Re-check-in Roberto by clicking "Check In" again. Status returns to "Checked In". Counter shows "2 / 2" again.
SKIP TC-CHK-03 if the undo/uncheck feature is not available. Note: "Undo check-in not available — check-in is permanent."

TC-CHK-04: QR Code Check-in

SKIP this section if QR code check-in is not implemented. Note: "QR code check-in feature not available."
StepActionExpected ResultTest Value
1 Look for a "QR Scanner" or "Scan QR" button in the check-in view. QR scanner interface opens (may request camera permission).
2 Log in as testmember on a mobile device or second browser. Navigate to "My Events" and find the ticket/QR code for the event. A QR code or ticket barcode is displayed for the registration.
3 Scan the QR code using the check-in scanner. The attendee is automatically checked in. A success sound/message appears. The attendee name and status update in real-time.

TC-CHK-05: Check-in Non-Registered Person

StepActionExpected ResultTest Value
1 In the check-in view, look for an "Add Walk-in" or "Manual Entry" option. If available, a form to enter a walk-in attendee appears. If not available, this confirms that only registered attendees can be checked in.
2 If available, try adding a walk-in: enter a name and email. Walk-in is added to the attendance list with a "Walk-in" label. They are immediately marked as checked in. Name: Walk-in Test Person / Email: walkin@example.com
SKIP if walk-in registration is not available at check-in. Note: "Walk-in check-in not supported — only pre-registered attendees can be checked in."

TC-CHK-06: Attendance Report

StepActionExpected ResultTest Value
1 In the event management view, look for an "Attendance Report" or "Summary" section. Attendance summary is displayed showing: total registered, total checked in, attendance percentage.
2 Verify the numbers match your actions. Total registered: 2
Checked in: 2
Attendance: 100%
3 Look for an "Export" or "Download" button for the attendance list. If available, clicking it downloads a CSV or Excel file with: attendee name, email, registration date, check-in time, status.
4 If downloaded, open the export file and verify the data. The file contains rows for Maria Cruz and Roberto Mendoza, both marked as "Checked In" with correct timestamps.
SKIP the export step if the export/download feature is not available. Note: "Attendance export not available."

TC-CHK-07: Bulk Check-in

StepActionExpected ResultTest Value
1 Look for a "Check In All" or "Mark All Attended" button. If available, the button is visible above or below the attendee list.
2 First, undo check-in for all attendees (if undo is available) to reset the state. All attendees show "Not Checked In".
3 Click "Check In All" or "Mark All Attended". All attendees are marked as "Checked In" at once. Attendance shows 100%.
SKIP if bulk check-in is not available. Note: "Bulk check-in not implemented — individual check-in only."

CLEANUP

No permanent cleanup needed. Check-in data is associated with the event and will be removed when test events are deleted.

If you need to reset check-in status for re-testing, use the "Undo Check-in" feature (if available) or contact the admin to reset registrations.