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

# Set Up QR Codes and Badges

> Generate, assign, and manage Hall Pass badges so students can sign in at kiosk devices by scanning a QR code or barcode.

GoGuardian Hall Pass badges are printed QR codes or barcodes that let students sign in at kiosk devices quickly and accurately. Badges can be generated by Hall Pass or mapped to QR codes and barcodes your school already uses.

## Generate a Badge for 1 Student

1. Open the student's profile.

2. Select **Generate Badge**.

3. In the **Generate Badge** dialog, choose how to assign the token:
   * **Auto**: Hall Pass generates the token automatically.
   * **Custom**: Use an existing barcode or QR code value. Enter the value in the **Value** field.

4. Select **Generate Badge** to confirm.

5. Verify the result: The badge appears on the student's profile. To download or revoke it, select **Download Badge** or **Revoke Badge** from the same profile.

<Note>
  A badge token can only be active for 1 student at a time. Revoking a badge immediately invalidates printed copies. The student will need a replacement.
</Note>

## Generate Badges for All Students (Bulk)

Bulk badge generation creates badges for every student who doesn't already have an active badge. Existing active badges aren't overwritten.

1. Go to **Site Settings** and open the **Badges** section. Admin access is required.
2. Select **Generate Badges**.
3. Wait for an email with download links to the badge PDF files. Download links expire in 7 days.
4. Print and distribute the badges to students.
5. Verify the result: Each student without an active badge now has one. Students with existing badges are unchanged.

## Assign Existing QR Codes or Barcodes (Bulk CSV Upload)

If your school already uses QR codes or barcodes, you can map those values to student accounts instead of generating new ones.

1. Go to **Site Settings** and open the **Badges** section.

2. Select **Custom Badges**.

3. Upload a CSV or Excel file with 2 columns: student email and badge token.

4. Review the results. Common errors during bulk upload:

   | Error                                                  | Cause                                                     |
   | ------------------------------------------------------ | --------------------------------------------------------- |
   | "Another user has an active badge with token \[token]" | The token is already assigned to a different student.     |
   | "User not found"                                       | The email address doesn't match any student in your site. |
   | "User is not a student"                                | The email belongs to a staff account, not a student.      |

5. Resolve any errors and re-upload if needed.

6. Verify the result: All rows without errors now have active badge tokens assigned to the matching student accounts.

## Use Badges with Kiosk Mode

**Prerequisite:** When setting up kiosk mode, set **Student Authentication** to **Badge**. Badge scanning isn't available if a different authentication method is selected.

Once the kiosk is running with Badge authentication:

1. Open the **Scan Badge** dialog on the kiosk device.
2. Allow camera access and select the correct camera if multiple cameras are available.
3. Have the student scan their QR code or barcode to sign in.
4. Verify the result: The student is signed in and the kiosk displays their name and pass options.

## Apply Badge Best Practices

* **Distribute badges at the start of each term**: Establish a consistent process so every student has a badge before kiosks go live.
* **Use durable printing and lanyards**: Keep QR codes flat and protected so they scan reliably.
* **Keep a replacement workflow ready**: Lost or damaged badges need to be revoked and reprinted quickly.
* **Test cameras in their actual locations**: Low light, glare, or a long scanning distance can reduce scan success. Test before students arrive.
* **CSV uploads require exact matches**: Student emails and token formats must match exactly. A single typo causes the row to fail.
