Browse events as a guest
See the whole storefront with no account, and learn exactly where the wall is.
Owned by Customer (Guest) · 9 steps · about 10 minutes
Why this exists
The public half of this platform is deliberately generous. A stranger can read the event catalogue, an event's full tier and price breakdown, live availability, the host application form and a comp-invite claim link — all with no session, no cookie banner and no "sign up to see prices" wall.
That is a design position, not laziness. Every gate in this platform is enforced at the moment of the action, never by hiding the page. Hiding pages produces two bad outcomes: customers who cannot evaluate what you are selling, and developers who start to believe that an invisible link is a security control. So the catalogue is open and the write is guarded.
The wall is therefore not where people expect it. It is not at "see the price" — it is at "hold inventory". Pressing Reserve without a session gets a 401 from the reservation API, and the page bounces you to /login with a next parameter so you come straight back. One surface that looks public but is not: the resale exchange. Reading other members' listings requires a session, because a listing is another member's activity, not the venue's storefront.
Before you start
- No account and no session. Use a private window, or log out first.
- A seeded database, so the demo events are on sale.
Practise with
| Persona | Password | Note | |
|---|---|---|---|
| member | member@club.test | member123 | only for the last two steps, where a session changes what renders |
Steps 1–8 — Customer (Guest)
their manual →-
1Open the home page logged out. Read the upcoming-events feed and any site announcement.Expected result Events and the announcements whose audience is the public.Watch out for Announcements are audience-targeted. A banner aimed at members simply is not rendered for you — if a colleague says 'the notice is on the home page' and you cannot see it, you are not looking at the same page they are.
-
2Open the catalogue.Expected result Only events that are announced, on sale, sold out or in progress. Drafts and cancelled events are not listed.Watch out for Opening this page quietly runs the scheduler tick, so tiers that were due to open have already opened by the time the list renders. That is why the catalogue is never stale even though nothing runs in the background.
-
3Open an event. Read the tier table row by row: name, price, the door zones it opens, and its state.Expected result Per tier, one of: a green count left, an amber countdown to its on-sale time, Locked (with the tier it is waiting on), Sold Out, Paused or Closed.Watch out for Locked is not sold out and sold out is not closed. A locked tier is waiting for its trigger; a sold-out tier can come back if a hold expires or a ticket is refunded; a closed tier is past its sale end and never reopens. There is a third way in on a sold-out tier and it does NOT bring the tier back: members put seats on the exchange, and since plan 604 the sold-out row links straight to that event's exchange ('Sign in to see resale seats'). The tier still reads Sold Out — the seats are somebody else's, at a price inside the band the venue set — so a customer told 'sold out means wait' has been told two thirds of it.
-
4Look at the JSON the page is built from. It is public too.Expected result Server time plus a per-tier availability figure.Watch out for The available number is exact for a tier on sale and null for a locked one — locked inventory is deliberately not disclosed. Availability counts holds as taken, so the number can drop and recover without a single sale.
-
5Press Buy on a tier while still logged out. There is no Reserve button and no sign-in wall in front of it.Expected result The whole transaction: line, tax, total, and a payment method picker — all with no account. Pressing Pay is what asks who you are.Watch out for Corrected 2026-08-24 (end2end): this step used to say Reserve returns 401 and bounces you to /login. Plan 42 moved the wall — buy first, sign in last. The Pay press parks your payment choice, hops to /login with this buy URL as the next parameter, and on the way back the page reserves and pays for you. The boundary is still 'hold inventory'; what changed is that you no longer meet it before you have seen the price.
-
6Sign in — or press Create an account, which is the same journey with three more fields.Expected result You land back on the buy URL with your tier and quantity intact, a hold is taken, and the payment you already chose goes through without asking a second time.Watch out for The tier and quantity ride in the next parameter and the payment choice rides in sessionStorage, so the two halves can disagree. If the total has moved while you were signing up — a tier cascaded, a price changed — the page falls back to asking you to pay again, currently without saying why.
-
7Open the host application form, still with no account, to see the other public entry point.Expected result A working application form. Submitting it is what creates a promoter account later.Watch out for Applying is a separate workflow. Do not fill this in as practice on a shared demo database — it lands in a real review queue.
-
8Try the resale exchange logged out.Expected result A redirect to the login page. The exchange is not public.Watch out for This is the one storefront-looking surface that needs a session. It is member-to-member trade, not venue inventory, so it is gated one step earlier than the catalogue.
Steps 9 — Member
their manual →Shows the same pages with a session, so the difference is visible rather than described.
-
9Log in as the demo member and open the exchange again.Expected result The index of events with an open exchange, and from there the listings for each.Watch out for Seller identity is never shown to a buyer, at any level of the exchange. If you are looking for who listed something you need the admin surface.