out4 · help center · scanning

Scanning tickets at the door.

Out4's scanner runs in our iOS + Android app. Anyone with the scanner role on an event can scan tickets at the door — no extra hardware, no separate device, no per-ticket fee.

Updated May 16, 2026

How scanning works

One app. One scan. Zero per-ticket fees.

The scanner lives inside the same out4 app your attendees use. Any account with a scanner role on an event becomes a scanner — switch events as you cover multiple doors.

Scan result

out4 scanner screen showing a valid ticket result in green

The same camera that takes your selfies scans QR codes. No dongles, no Bluetooth gun.

Every result is logged with timestamp, scanner, and device — fully auditable.

Multiple doors? Every device sees the same live state — a ticket admitted at Door A is yellow at Door B.

Setup

Get the app, sign in, get the role.

Three steps, once per scanner. After that you're scanning until the role is removed.

1

Install the app

iOS: Live on the App Store — search “out4” or tap here.

Android: Currently in Google Play review. Internal-track APK available on request.

iPhone home screen with the out4 app icon
2

Sign in to your out4 account

Use your own out4 login. The scanner inherits the roles attached to your account, so the event owner grants you scanner access by adding your handle — not by sharing a generic kiosk login.
out4 sign-in screen showing email + password + Apple/Google buttons
3

Get the scanner role

The event organizer opens /events/<slug>/edit Roles+ Add scanner, then types your handle and picks a role. Three options:
  • Door scanner — scan tickets and see the result. No attendee list.
  • Runner — scan + search the attendee list by name for the "I lost my QR" cases.
  • Promoter — everything above plus sales analytics, manual check-in, and refunds.
Event Roles screen with three role rows highlighted: Owner, Door Scanner, Co-host

Day-of

What you actually do at the door.

Total time from opening the app to scanning the first ticket: under 10 seconds.

  1. 1

    Open the out4 app.

  2. 2

    Tap the Scan tab in the bottom nav.

  3. 3

    Pick your event — only events where you have a scanner role appear.

  4. 4

    Aim at the QR. Autofocus handles alignment — you don't need to tap to focus.

  5. 5

    Result appears within ~300ms.

Valid

Scanner result: VALID, ticket accepted, green ring

Already scanned

Scanner result: ALREADY SCANNED, amber ring, timestamp + scanner handle

Invalid

Scanner result: INVALID, red ring

Green check.Valid first-time scan. Door opens.

Yellow.Already scanned. Shows when and by whom (e.g. "Scanned 8:42 PM by @luda"). Judgment call — usually admit on re-entry, escalate if anything seems off.

Red.Invalid. Tap-to-expand for the reason. Don't admit until the runner or promoter has cleared it.

Reference

All result states, in one place.

Bookmark this section — it's the troubleshooting cheat sheet for everything the scanner can show you.

BadgeStateWhat it meansWhat to do
Valid first-time scanFirst time this ticket has been scanned at this event.Admit.
Already scannedScanned before. Result shows the time and the scanner who admitted them (e.g. "Scanned 8:42 PM by @luda").Judgment call. Usually admit if they look like the same group (re-entry, group split). Escalate if anything seems off.
Wrong eventThe ticket is valid, but for a different event.Direct the attendee to the right door. The wrong-event response includes the correct event title.
Refunded or cancelledThe ticket was refunded or the order was voided. The sale is no longer active.Don't admit. Direct them to the promoter / box office.
Expired eventThe event already happened. Tickets don't admit after the event end time.Don't admit.
Garbage QRThe code isn't an out4 ticket — wrong format, random QR, advertising poster, etc.Don't admit.
Secure-entry onlyThis event requires the rotating in-app QR. A PDF or screenshot won't scan.Ask the attendee to open the out4 app and show their rotating QR.

Valid first-time scan

First time this ticket has been scanned at this event.

Admit.

Already scanned

Scanned before. Result shows the time and the scanner who admitted them (e.g. "Scanned 8:42 PM by @luda").

Judgment call. Usually admit if they look like the same group (re-entry, group split). Escalate if anything seems off.

Wrong event

The ticket is valid, but for a different event.

Direct the attendee to the right door. The wrong-event response includes the correct event title.

Refunded or cancelled

The ticket was refunded or the order was voided. The sale is no longer active.

Don't admit. Direct them to the promoter / box office.

Expired event

The event already happened. Tickets don't admit after the event end time.

Don't admit.

Garbage QR

The code isn't an out4 ticket — wrong format, random QR, advertising poster, etc.

Don't admit.

Secure-entry only

This event requires the rotating in-app QR. A PDF or screenshot won't scan.

Ask the attendee to open the out4 app and show their rotating QR.

Modes + options

Standard, secure entry, offline, and manual.

Four ways tickets get into your event. The scanner handles all of them — you mostly just pick which mode at event-creation time.

Standard tickets (default)

PDF + in-app QR both scan. Most events use this — easiest for attendees, no friction at the door.

Secure entry mode

Only the rotating in-app QR scans. PDFs and screenshots are rejected because the code refreshes every ~30 seconds — a screenshot from yesterday won't work. Promoters toggle this in event settings to prevent screenshot- sharing on high-demand shows.

Multi-device scanning

Multiple scanners at the same door (or multiple doors) coordinate via the same live scan state. If Scanner A admits, Scanner B sees yellow on the same QR.

Offline behavior

When the scanner phone loses connectivity, scans queue locally — a yellow Queued: 3 scans indicator appears. When the device comes back online, the queue syncs. If a duplicate snuck through (same ticket at two offline doors), the earliest scan wins and the others resolve to "already scanned".

Manual check-in (fallback)

When QR can't scan (broken camera, lost phone, cracked screen), runners and promoters search the attendee list by name and tap Manual check-in. Verify ID first. Manual check-ins are recorded in the audit log with the scanner's handle.

Roles

Who can do what.

Three role levels. Owners add roles per event, so a runner at Show A isn't automatically a runner at Show B.

ActionDoor scannerRunnerPromoter
Scan QR
See scan result detail
Search attendees by name
Manual check-in
See sales analytics
Cancel event
Add / remove other scanners

Troubleshooting

The things that go wrong at the door.

Sorted by frequency. Tap a question to open the fix.

iOS: Settings → out4 → Camera → On. Force-quit and relaunch the app.
Android: Settings → Apps → out4 → Permissions → Camera → Allow. Relaunch the app.

Auth probably expired, or your scanner role was revoked. Pull down to refresh, then sign out and sign back in. If it still spins, ask the event owner to confirm your role on the event in /events/<slug>/edit → Roles.

The event has secure entry turned on — only the rotating in-app QR is accepted. Ask the attendee to open the out4 app, go to Tickets, and show their rotating QR (not a PDF or a screenshot).

Runners and promoters can manually check them in: event detail → Attendees → search by name → tap the row → Manual check-in. Verify ID first. Manual check-ins are written to the audit log.

Promoters can record cash sales from the event dashboard: Attendees → Add cash sale → enter the buyer, the ticket type, and the amount. The system mints a comp ticket marked cash-paid so the door scan shows green when they come in, and the books balance against the bank deposit.

Yes. Multi-device scanning is on by default. Every scanner at the same event sees the same live check-in state, so once a ticket is admitted at Door A it shows yellow ("already scanned") at Door B. Make sure every staffer has the scanner role added to their account.

Most common cause: a refund processed mid-event (Stripe webhooks flip the ticket to refunded). The first scan was still valid; the later scan is rejecting because the sale was voided after entry. Direct the attendee to the box office or promoter. The event audit log has the full timeline.

Increase the screen brightness and tilt away from venue lights to kill the reflection. If it still won't scan, use the manual check-in path (search by name) — runners and promoters can admit them directly.

Live-event etiquette

The soft skills that keep a door moving.

Most of door work is people work. These are the lessons we keep re-learning from real events.

Rule

Don't argue with attendees.

If the scan rejects and the attendee insists, escalate. The runner or promoter sorts it out a few feet back from the door — never in front of the queue. Door speed and crowd vibe both depend on you staying neutral.

Rule

Don't manually toggle the database.

Use the in-app manual check-in. Raw SQL edits skip the audit log and break the live multi-device sync — door staff at the other gate won't see the change.

Tip

Refunds at the door go through Stripe.

Promoters can issue a refund directly from the attendee's row (Stripe Connect handles it). Don't try to "scan it through" if the ticket is legitimately bad — refund first, admit on a comp ticket if appropriate.

Tip

Save the scanner phone battery.

The scanner UI keeps the screen on while you're on the Scan tab. Bring a battery pack for any event longer than ~2 hours — camera + bright screen + LTE will drain a phone fast.

More help

Still stuck?

The team is small and we answer fast.

In the app, tap the ? button in the top-right of any scanner screen — it deep-links back to this page.

Email support@out4.events for anything that's not urgent.

Mid-event and need a human right now? DM @out4.events on Instagram — Chris is the on-call.

Need more help?

Email support@out4.events for anything that isn't urgent. We're a small team — most replies happen the same day.

Mid-event and need a human right now? DM @out4.events on Instagram — Chris is the on-call.