Eventonomy

Check-in Scanner Pro

Pro feature. Available in Eventonomy Pro.

Pro - Check-in requires Eventonomy Pro.

Every attendee ticket carries a QR code that encodes a check-in URL. At the door, a staff member scans the QR with any phone camera and the attendee is checked in automatically, with no app to install and no token to type. Manual check-in is available too, from the Check in section of the member dashboard (and as the eventonomy-pro/checkin block or [eventonomy_checkin] shortcode, for hardware readers).

Check-in scanner with the Find attendee field, a Check in button, and guest-list matches with their own Check in buttons

What You Will Learn

  • How the QR check-in flow works
  • Where attendees find their QR ticket
  • The Check in dashboard section, and the manual block and its settings
  • What happens on a repeat scan, a refunded ticket, and an attendee's own scan

How QR Check-in Works

  1. The attendee gets a QR ticket. Every confirmed order/RSVP mints a unique check-in token, rendered as a QR code on the order-confirmation card, in the order-confirmation email (as an image, with a plain check-in link as a fallback), and in My Tickets on their dashboard. The QR is self-contained: Eventonomy generates it in-plugin, with no external image service.
  2. Door staff scan it. Someone authorized to manage that event's attendees scans the attendee's QR with any phone camera. The QR opens …/?evnm_checkin=<token>. In practice that means the event's own organizer (the person who created the event) or a site administrator - see Access Control below.
  3. The attendee is checked in through the idempotent check-in service, and staff see a "Checked in" confirmation.

Repeat scans, refunds, and self-scans

  • Repeat scan - a second scan of the same ticket shows "Already checked in" (it never double-counts).
  • Refunded / cancelled ticket - a voided ticket is refused at the door (the check-in returns a 409), so a refunded seat cannot get in.
  • Attendee scans their own code (or anyone without check-in permission / logged out) - they get a neutral "present this at the door" page. No check-in happens and the token is never displayed. This is intentional: only authorized staff can redeem a ticket.

Manual Check-in Block

For hardware readers, or as a backup when a ticket cannot be scanned, add the eventonomy-pro/checkin block. It has one Find attendee field:

  • Type a name or email and the event's guest list is searched as you type. Each match shows the person's name, email and RSVP status with a Check in button. Only people marked Going can be checked in; anyone else shows Not going. Press Enter when exactly one person matches to check them in.
  • Scan or paste a ticket. A USB barcode reader types the QR's check-in link and presses Enter, which checks the ticket in exactly like a phone scan.

Where to Place the Block

Option 1: Single-event page - add the block to the event's single-event page. Set the eventId attribute to filter check-ins to that event only.

Option 2: Dedicated check-in page - create a page (e.g. /check-in/) and add the block there so volunteers can check in attendees for any event from one place.

To add the block: open the page in the Block Editor, click +, search Eventonomy Check-in, insert, and configure.

Block Settings

Setting Default Description
Event ID 0 The ID of the event to check attendees in to. Leave 0 to accept tokens from any event (multi-event pages).
Show stats On Show a summary line below the result area.
Allow finding attendees by name or email On Show the Find attendee field (guest-list search, and scanned or pasted tickets) and the Check in button. Turn off if you only use a hardware reader that calls the REST endpoint directly.

The Check in dashboard section

Since 1.6.0 manual check-in lives in the member dashboard rather than only on a page you build.

Where it is. Members who run events get a Check in item in the dashboard rail. It appears only for a member who has created at least one event, so attendees never see a door tool they cannot use.

Getting to an event. Open Check in in the dashboard and pick the event, or use the Check in action on its row under Hosting. That opens the section with the event already selected. Reaching Check in from the rail without picking an event first shows "Choose an event first" with a link back to My Events, rather than an empty box.

What the door sees.

  • The event's name, so staff know which door they are working.
  • A live "N / M checked in" count that increases as tickets are admitted.
  • A Find attendee field: type a name or email to search the guest list, or scan / paste a ticket link.

Results. A valid ticket, or a guest-list match you check in, shows Checked in and the count goes up. A ticket already used shows Already checked in and the count does not move. A ticket that does not belong to this event shows Ticket not recognised. A search with no match says so.

Who can use it. A member can only check attendees in for an event they manage. Opening the section for someone else's event shows "You can only check attendees in for an event you manage" and renders no input field. The same rule applies to the shortcode and the block, so putting [eventonomy_checkin id="123"] on a public page is safe: a visitor is asked to sign in, and a signed-in member who does not manage that event sees the refusal.

For developers. Filter evnm_event_checkin_link to point the rail item and the per-row action at your own check-in destination.

Access Control

Check-in is authorized per event, and only two kinds of logged-in user can redeem a ticket - both via the QR scan and via the manual block:

  • The event's own organizer, meaning whoever created the event. Ownership alone is enough; they need no WordPress editing permission.
  • Site managers, meaning anyone with the manage_options WordPress capability. On a default site that is the Administrator role only.

Everyone else sees the neutral door page or a "Sign in to check attendees in" notice. Notably, an Editor is not admitted at the door for an event they did not create: Editors have edit_others_posts, but check-in maps to evnm_manage_rsvps, which maps to manage_options.

Changed in 1.3.0. Before 1.3.0, evnm_manage_rsvps mapped to edit_others_posts, so any Editor could redeem check-in tokens on any event. If your door staff are Editors on events they do not own, they will now be refused. Either make the staff member the author of the event, or grant them the Administrator role (or manage_options). Full map: capability reference.

What's Next?

Configure paid ticket checkout with a payment gateway.

Payment Gateways →