Check-in and Pickup
Your kids program is set up. Sunday comes. Twenty families show up. Here's exactly what happens at the door.
The flow at a glance
Parent arrives → Parent shows QR on phone → Volunteer scans → ✓ Child on roster
Parent comes back → Volunteer scans the SAME QR → Mode = Pickup → ✓ Child released
The QR is generated fresh by the Member app for each session and rotates for safety — an old screenshot can't be reused.
Opening the scanner
From the Admin app:
More → Kids Programs → tap the program → Scan
The scanner opens with camera permission requested on first use.
Drop-off vs Pickup mode
At the top of the scanner screen, a toggle shows the current mode:
- Drop-off — child is being checked in (start of program)
- Pickup — child is being checked out (end of program)
The app picks a sensible default based on the time of day — drop-off before 6:00 PM, pickup after — but you can tap the toggle to override at any time.
Always verify the mode before the first scan of a session. Scanning a drop-off in pickup mode (or vice versa) is harmless — the scanner shows an error — but it slows the line.
Scanning a QR
- Point the camera at the parent's QR on their phone.
- A success animation flashes when the scan completes.
- The child's name appears in a confirmation banner.
- The scanner stays open — point at the next family's QR.
The same QR cannot be scanned twice within 3 seconds — this absorbs camera flicker.
Flashlight — tap the flashlight icon in the top-right if you're in a dark room.
Today's roster
From the program detail screen, tap Roster to see who's currently checked in vs checked out for today's session.
Each entry shows:
- Child's name + photo
- Allergy badge if the child has any allergies on file (prominent red label)
- Current state — Not arrived / Checked in / Checked out
- Time of last action
Allergies — read them
If a child has an allergy recorded by their parent, the roster shows a bright red Allergy badge. Always glance at the roster before serving snacks. Tap the badge to see the full text — e.g. "Peanuts (severe), dairy (mild)".
This data lives on the kid's profile and is set by the parent in the Member app. If a parent reports an allergy verbally at drop-off, ask them to add it to the child's profile — you can't edit it on the admin side.
Manual check-in
A parent shows up without their phone, with a dead battery, or with the app not loading. What now?
- From the scanner screen, tap Manual check-in at the bottom.
- The full program roster opens with a search bar at the top.
- Search by the child's name and tap them.
- The check-in is recorded.
Manual check-in is logged on the server with a flag indicating it bypassed the QR — so admins can see in the audit history that it was a manual action.
Pickup without phone override
The most common edge case: someone other than the enrolled parent is picking up the child (a grandparent, a family friend, the other spouse who's not on the app).
This is the safety-critical flow. We protect against the wrong adult walking out with a child using emergency-contact verification.
How it works
- On the scanner screen, tap Pickup without phone.
- Search the program roster and tap the child.
- A 4-digit code prompt appears: "Last 4 digits of the emergency-contact phone."
- The adult collecting the child provides those 4 digits.
- You enter them and tap Submit.
| Outcome | What happens |
|---|---|
| ✅ Match | The pickup is recorded as an authorized override. Child released. |
| ❌ No match | The pickup is denied. The screen shows an error. The attempt is also logged on the server for audit. |
Why we do it this way
The 4-digit emergency-contact code is a piece of information only people inside the family would normally know — a parent told their mother-in-law the number when they listed her as the emergency contact. It's not a perfect proof of authorization, but it's a strong-enough barrier to stop opportunistic mistakes.
Both successful and failed override attempts are logged on the server with the kid ID, the time, the volunteer who initiated it, and whether the code matched. This means an admin can audit any incident after the fact.
Roster summary at the end of the program
After the program ends, the roster will show every child as either:
- Checked out — picked up normally
- Still checked in — never collected ← you need to follow up
If a child is still on the "checked in" list and the program has ended, the organizer or admin should call the family. The QR-based audit trail makes it easy to tell exactly who hasn't been picked up.
Troubleshooting
"QR not recognized"
- The parent's app may not have generated a session token yet — ask them to open the child's profile and tap Show QR (this forces a fresh token).
- Or, the QR may be expired — tokens rotate every few minutes for safety. Have the parent tap Show QR again.
"Scanner is empty / nothing on the roster"
- Confirm you're on the right program (program titles + room are shown in the header).
- Confirm parents have actually enrolled their kids — open program detail and check the enrolled count.
"Manual check-in shows 'No kids enrolled'"
- The program has no enrollments yet. Walk a parent through the enrollment flow at the door — it's about 60 seconds — and they'll appear immediately.
"I scanned the wrong child"
- Tap the child on the roster. There's a Reverse check-in action on the detail sheet. Both the original action and the reversal are kept in the audit log.
Camera permission denied
- iOS: Settings → Nlarj Admin → Camera → Allow
- Android: Settings → Apps → Nlarj Admin → Permissions → Camera → Allow
- Then re-open the scanner.
A note on safety
Every check-in, check-out, and override is logged on the server with a timestamp, the program, the child, and the volunteer who did it. This is the audit trail your church can fall back on if there's ever a question about who collected a child.
The data is only visible to admins and program organizers of that specific program. Parents can see their own child's history in the Member app under the child's profile.
What's next
- Manage Programs — change program details, add organizers
- Kids Setup — re-read the setup checklist if something's not working