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

# QR Check-in

> Scan attendees in at the door, and give the right people permission to do it

Attendees who registered receive a QR code. Scanning it at the door verifies the
registration and records the person as present, so your attendance figures come
out of the event itself rather than a clipboard.

***

## Who can scan

Scanning requires **Event** permission, or organisation administrator rights.

This is the most common failure on the day. Somebody is handed a phone to help at
the door, tries to scan, and gets an error saying the ticket is invalid or that
they cannot access the page. The ticket is fine. They do not have the permission.

<Warning>
  Grant Event permission to everyone who will scan **before** the event, not on the
  door. Permission changes are quick, but discovering the problem while a queue
  forms is not the moment to be editing roles.
</Warning>

***

## Scanning

<Steps>
  <Step title="Open the event in the mobile app">
    Each event offers a scan action to anyone holding the right permission.
  </Step>

  <Step title="Scan the attendee's code">
    They can show it from their email or from their own app.
  </Step>

  <Step title="Read the result">
    A valid code checks the person in. An invalid one means the registration was
    cancelled, the code belongs to a different event, or the scanner lacks
    permission.
  </Step>
</Steps>

<Note>
  If a colleague updated the app recently and the scan action is missing, close and
  reopen it. The action appears after the update has fully applied, which does not
  always happen while the app is still open.
</Note>

***

## Attendees without a QR code

Not everyone arrives with one. Speakers, guests and anyone who paid by bank
transfer may have no code because no card payment was made.

The answer is to make sure they are registered for the event in the first place.
A registration is what produces a code, whatever route the payment took, so add
them as an attendee rather than looking for a way to issue a code on its own.

***

## Why an attendee has no code in their email

Codes are issued for registrations that are complete. If someone cannot find
theirs, check that their registration is confirmed and their payment recorded
before assuming the email went missing. Re-sending will not help while the
registration is still incomplete.

***

## Related

* [Attendance](/docs/platform/events/attendance) — attendance records and reports
* [Ticketing](/docs/platform/events/ticketing) — paid registration and tickets
* [Permissions](/docs/platform/permissions) — granting Event permission
