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.