> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trytalkvalue.com/llms.txt
> Use this file to discover all available pages before exploring further.

# QR scan check-in

> Use the device camera to scan an attendee's QR code, confirm details, and check them in — the fastest path on event day.

QR scanning is the primary check-in path in TalkValue Badge. Staff tap **Scan Ticket**, point the camera at the attendee's QR code (printed on a ticket or shown on a phone), and confirm a single drawer to check the attendee in and queue a badge print at the paired station. End-to-end, a clean scan takes a few seconds.

<Note>
  **Before you start**

  * You're in Check-in mode on the staff station. See [Open on mobile](/badge/staff-stations/open-on-mobile).
  * A print station is selected in the header. The header shows the station name plus a **Connected** status indicator. If it shows **No Station** or **Disconnected**, tap the printer chip and pick a station; scanning is disabled until one is selected.
  * The device camera is granted browser permission. The first scan attempt prompts for it.
</Note>

## Scan an attendee

<Steps>
  <Step title="Tap Scan Ticket">
    The blue **Scan Ticket** bar is pinned to the bottom of the check-in screen. Tap it. A full-screen scanner opens with a viewfinder in the middle.
  </Step>

  <Step title="Grant camera permission (first time only)">
    The browser asks for camera access. Tap **Allow**. The viewfinder turns on and starts scanning. iOS Safari and Android Chrome remember the permission for the session.
  </Step>

  <Step title="Point the camera at the QR">
    Hold the device 10 – 30 cm from the QR. The scanner reads the code and the screen transitions to the attendee drawer within a second of a clean read. There's no "snap" or shutter button; the scanner reads continuously.
  </Step>

  <Step title="Confirm the attendee">
    The drawer shows the attendee's name, email, ticket type, VIP flag, and any prior check-in time. Verify the details match the person in front of you, then tap the drawer's primary action to confirm. The button is contextual: **Print Badge & Check In** for standard attendees, **Reprint Badge** if already checked in, **Force Check In** if marked not attending. A toast confirms `Checked in & printing badge` and the badge job is queued at the selected print station.
  </Step>

  <Step title="Close the scanner or scan the next attendee">
    The scanner stays open after confirming a check-in, ready for the next person. Tap **Close Scanner** to return to the check-in screen, or keep pointing at the next QR.
  </Step>
</Steps>

The scan delay between consecutive reads is 2 seconds, which keeps the scanner from double-firing on the same QR if it lingers in the viewfinder.

## What the QR encodes

The QR on the printed ticket or in the attendee's email encodes the **barcode** that uniquely identifies the attendee inside Badge. The staff scanner reads that value, calls the API to look up the attendee, and shows the drawer.

Two practical consequences:

* **A wrong QR shows "Attendee not found."** If a guest hands over a ticket for a different event, or an old screenshot from a previous registration, the lookup fails. Fall back to [Manual search check-in](/badge/staff-stations/manual-search-checkin).
* **The same QR scans on every staff device.** Multiple staff can scan the same event independently. There's no device pairing, only the access code.

## Re-prints and force check-ins

The same scan path covers two edge cases without leaving the scanner:

* **Re-print.** If the attendee was already checked in, the drawer shows their prior check-in time and the action button reads **Reprint Badge**. Tapping it queues a new badge to the print station without altering the check-in record. A toast confirms `Reprint requested`.
* **Force check-in.** If Badge flags the attendee with a soft warning (already checked in, ticket marked as not attending), the drawer surfaces the warning and offers a **Force Check In** button. Use it when you've verified the person in front of you matches the record. The toast confirms `Force checked in & printing badge`.

## Cancelling a mistaken check-in

The attendee drawer also has a **Cancel Check-In** action when an attendee is checked in. Use it to undo a wrong check-in immediately. The attendee returns to the pending list. Cancelling does not retract any printed badge; physically retrieve and discard the badge.

## Troubleshooting

### "Camera permission denied"

Browser blocked camera access. Open the device's site settings for `app.trytalkvalue.com`, set **Camera** to **Allow**, then retry. On iOS Safari, the toggle is in Settings → Safari → Camera → Allow.

### "No camera found"

The device doesn't expose a usable camera to the browser, usually because another app holds the camera. Close any other camera-using apps (FaceTime, Zoom, Instagram), then retry.

### "Camera is in use"

Another tab or app is using the camera. Close them and tap **Retry** in the scanner.

### "Attendee not found" on a valid-looking QR

Three possibilities, in order of likelihood: the ticket is for a different event, the QR is from a cancelled or refunded registration that's no longer in the attendee list, or the QR encodes a non-barcode value. Fall back to [Manual search check-in](/badge/staff-stations/manual-search-checkin) and look the attendee up by name or email.

### "No barcode available" when tapping Check In

The attendee record exists but doesn't carry a barcode, common for manually-added attendees and some Luma free events. Use the **Manual** entry path from the check-in header instead, which prints a badge based on typed details.

### Scanner opens but won't pick up the QR

Three quick fixes: improve lighting (a dim QR doesn't scan), hold the camera further back so the full QR fits in the viewfinder, and clean the camera lens.

### "Check-in failed"

A network or server error during the check-in call. Try again. If it persists, switch to a different device on the same access code, since the attendee record is shared across all staff devices.

## Related

* [Open on mobile](/badge/staff-stations/open-on-mobile). Load the staff URL and pick Check-in mode.
* [Manual search check-in](/badge/staff-stations/manual-search-checkin). The typed-search fallback when the QR doesn't work.
* [Get the access code](/badge/staff-stations/get-access-code). Share the access code with new staff joining mid-event.
* [Sync status](/platform/concepts/sync-status). What the **Connected** / **Disconnected** station chip in the header means.
