Pass

Milo Pass turns every subscription into a scannable QR member pass, verified live at the door.

Requirements

  • Milo Subscriptions (free core)
  • A valid license key (Milo Subscriptions > Settings > Licenses)

Setup

Nothing to configure: once activated, every subscriber sees their pass on the My Account subscription page. Optionally:

  • Settings > General > Pass: toggle the My Account section, accept paused (on-hold) subscriptions at the door, set the venue name printed on passes.
  • Place the pass anywhere with the [milo_pass] shortcode or the Milo Pass block. Both render the same card. Attributes/options: title (card title), empty_text (message for logged-in visitors without a subscription), subscription (a specific subscription id, shortcode only).

Scanning at the door

Staff scan the QR with any phone camera; it opens a full-screen page:

  • Green “ACCESS GRANTED”: the subscription is currently active (or pending cancellation, or on-hold if you allow it), with the member’s name and plan.
  • Red “ACCESS DENIED”: cancelled/expired subscription or invalid pass, with the reason.

The verdict is computed at scan time from the live subscription status. No caching, no stale passes.

Check-in history

Milo Subscriptions > Pass lists every scan: member, subscription, granted/denied, timestamp (UTC), with filters and search. Use it for attendance, busy-hour analysis, or spotting denied attempts.

Security notes

  • Pass tokens are HMAC-signed with your site’s auth salt; they cannot be guessed or forged, and there is nothing to store or expire.
  • The door page reveals nothing for invalid tokens, and only name/plan/status for valid ones.
  • Rotating your WordPress salts invalidates every pass at once (customers just reload their My Account page for the new QR).

For developers

  • milo_pass_valid_statuses filters which statuses open the door.
  • milo_pass_checkin_recorded( $subscription_id, $result ) fires on every scan (trigger a webhook, a Slack ping, a turnstile relay).

Did this page miss something?

Tell us and we rewrite it, usually the same day.

Send a note