Shared event — participant guide
⚠️ Screenshots: No local environment is available to capture live screenshots without deploying external infrastructure. This guide describes the actual implemented behavior. Screenshots will be added in a follow-up once a staging environment is provisioned.
A shared event is an organizer-owned concert that your organization has been invited to distribute alongside other independent organizations. You sell tickets using your existing workflows — orders, registrations, free tickets, external sales — all attributed to your organization. You share the venue capacity with the other participants, but you never see another organization's customer records.
Your role
As a participant admin, you manage your organization's sellers, sales, and reports within the shared event, exactly as you do for standalone events. Your baseline access (no grant required) includes:
- Reading shared event details, showtimes, and prices.
- Viewing the total and remaining capacity (and your own quota, in quota mode).
- Managing your own organization's sellers, sales, and reports under your existing organization roles.
Your baseline does not include authority over other organizations' data, shared event configuration, capacity policy, or other participants' sales.
If you need additional authority (for example the ability to view the combined cross-org report), an owner must grant you that capability explicitly. Being an admin of your own organization does not automatically give you shared-event authority beyond the baseline.
Joining via an invitation link
The organizer invites your organization by sharing a single-use invitation link. You may receive the link by email or through another channel the organizer uses to contact you.
To accept:
- Open the invitation link. Sign in if you are not already signed in.
- The page shows the shared event name and organizer name so you can confirm the invitation is for the expected event.
- Choose the organization you want to join the event with. If you administer more than one organization, a dropdown appears; if you administer exactly one eligible organization, it is pre-selected.
- Select Accept. Acceptance is immediate — your organization joins the roster and projection provisioning begins. Sales are enabled once the projection is fully ready (status shows
active).
If you have not received a link: Contact the organizer. You cannot find or access an invitation from within Management → Shared events without the link.
If you change your mind before accepting: Do not use the link; it expires after 14 days. Ask the organizer to revoke it to prevent accidental use.
Receiving invitations via in-app notifications
If the organizer provided an email address when generating the invitation link, and that address matches your platform account, the platform may create an in-app notification in your notification bell. One notification appears per organization context you currently administer — if you administer multiple organizations you will see the notification in each.
Note: Receiving a notification is not guaranteed. The notification is only created when the platform identifies the provided email as belonging to a known, approved admin. If you do not receive a notification this is intentional and not an error — ask the organizer to share the link directly through a trusted channel instead.
Using the pending invitations page
You can find available invitations without needing the direct link by navigating to Management → Shared events → Pending invitations. This authenticated page lists active invitation links for shared events where you are currently an admin of at least one eligible (non-organizer, non-duplicate) organization. No invitation token is required to access this page.
To accept from the pending invitations page:
- Open the notification in your bell, or navigate directly to Management → Shared events → Pending invitations.
- The page shows active invitations addressed to you. For each you see the shared event name and organizer name.
- If you administer more than one eligible organization, a selector appears — choose the organization you want to join with.
- Select Accept. The acceptance is immediate and uses the same one-time, concurrency-safe mechanism as the direct invitation-link path. If the organizer's link has already been used by another path, the invitation will no longer appear as actionable.
Stale notifications
A notification may remain in your bell after the invitation it references has expired, been used, or been revoked. Clicking such a notification simply shows no actionable invitation on the pending-invitations page — this is expected behavior and not an error.
Link error states
If the link cannot be used, the page shows a generic error. The message does not reveal whether the link was expired, already used, revoked, or never valid.
| Situation | What to do |
|---|---|
| Link unavailable (any reason) | Contact the organizer to generate a new link |
| Your organization is already on the roster | No action needed; you are already participating |
| You have no eligible organizations | Only admins can accept. Check your organization memberships or contact your platform super admin. |
Leaving the event
You can leave a shared event you are currently active in via Management → Shared events → [event] → Leave event. Leaving locks your organization's projection to new sales. Your committed sales, historical reports, and the ability to service existing customers (deliver tickets, process transfers, apply authorized corrections) are preserved. You cannot leave while you own an active external channel; disable or reassign it first.
Operating participation and selling
Once your organization's projection is active, you sell tickets using your normal workflows:
- Member orders via the member ordering flow.
- Direct registrations logged by your ticket managers.
- Free tickets issued to members.
- External sales (for example manual Ticketmaster entries) if your organization is the designated source for that channel.
All sales are attributed to your organization and stored in your organization's own data. No other organization can see your individual customer records.
Prices are set by the organizer on the shared event templates. You cannot set your own prices for a shared event's ticket types.
Understanding your quota or the shared pool
In quota mode
Your organization has a fixed allocation per showtime. You can see your current quota and remaining allocation in the capacity panel on the shared event detail page.
- You cannot sell more tickets than your quota for a given showtime, even if another organization has unsold allocation.
- Your remaining allocation is independent of other organizations; if another org sells out, your capacity is not affected.
- If your quota is raised or lowered by the organizer, the change takes effect immediately subject to capacity constraints (your quota can never be reduced below your committed sales).
- The combined remaining shown in the organizer's report is the sum of all participants' remaining allocations; the enforcement boundary for your sales is your own allocation.
Pool mode does not have a per-participant ceiling. If the event uses pool mode, any organization can sell any available seat first-come-first-served. There is no ceiling per organization, but the total across all organizations is bounded by the event's shared physical capacity for each showtime. Pool mode is never unlimited inventory.
In pool mode
There is one finite shared total per showtime. Your checkout flow works as follows:
- Starting a checkout reserves seats from the shared pool (holding them for a configured time window).
- Completing the order commits the reservation; the seats are permanently sold.
- If the checkout is abandoned, the hold expires and the seats return to the pool.
Sold-out behavior: When the shared pool is exhausted (held + committed == capacity), further reservations are rejected as sold out. The shared remaining shown in the UI is the authoritative figure.
Retry safety: If a checkout is retried with the same reservation identity (for example after a network error), the system returns the existing hold without booking extra seats. Retries are idempotent.
Reporting
Open your sales report from Management → Shared events → [event] → Sales report.
As a participant, your report shows:
- Your own detailed sales — the same per-organization report you have for standalone events: orders, registrations, free tickets, external sales, revenue, fees.
- Your own quota allocation (quota mode) — your per-showtime allocation and remaining.
- Shared aggregate remaining — the shared pool remaining (pool mode) or the sum of all participants' remaining allocations (quota mode). This is a display figure; the enforcement boundary is your own quota.
Your report never shows another organization's customer names, contact details, or individual sale records. You see only totals and aggregate figures for the shared event as a whole.
If you have been granted the viewCombinedReports capability by an owner, you can switch to the combined report view, which shows event-level totals and per-participant breakdowns. Even with this capability you see only totals per organization, not individual buyer records from other organizations.
Audit feed
The audit feed on the shared event detail page shows every governance-relevant change:
- Roster transitions (invitations, acceptances, declines, removals, departures).
- Owner and grant changes.
- Capacity-policy changes and capacity edits.
- External channel assignments and reassignments.
- Cancellation events.
Each entry shows the action, the actor's organization, the target organization when applicable, and the timestamp. Your own organization's user IDs and those of other organizations are never shown; only organization names are displayed. The audit trail is read-only for participants with baseline access.
No-access and revocation behavior
No access (403)
You receive a "no access" response when:
- Your organization is not (or is no longer) an
activeparticipant. - You are attempting to perform an action that requires a capability you have not been granted.
- Your grant has been revoked.
If you see a no-access state unexpectedly, contact the organizer organization.
Grant revocation
A capability grant you hold becomes inactive if:
- Your organization's participant status changes to
leftorremoved. - An owner explicitly revokes the grant.
After revocation you revert to the participant baseline. Your existing sales and historical reports are unaffected.
Organization removal
If your organization is removed from the shared event:
- Your organization's projection is locked to new sales.
- Your committed sales, their attribution, and your historical reports are preserved and remain visible to you.
- You retain access to service existing customers: deliver tickets, process transfers, and apply authorized administrative corrections to your own sales until the event is cancelled.
- The app exposes no customer refund workflow in v1; committed sales are final.
- Your shared-event grants and owner entries are revoked automatically.
Escalation
Contact the organizer if you need:
- A quota change or rebalancing.
- A capacity-policy transition.
- An external channel assigned or reassigned.
- A grant issued or a capability added.
- Clarification on a roster status or an audit entry.
Contact a platform super admin if:
- The organizer organization is unavailable or suspended.
- You have a privacy concern or data-subject request involving your own customers.
- You need cross-organization customer support access (denied by default; only a super admin can cross that boundary, and every access is audited).
Not yet implemented
| Item | Deferred to |
|---|---|
| Billetto OAuth and webhook integration runtime | #242 |
| Provider-driven cancellation and refund ingestion | #242 |
| Customer refund workflow for committed sales | Not planned for v1 |
| Bulk/CSV import of external sales | Not planned for v1 |