System Manual
Help & how-to
Everything you need to run, score, or shoot a match on Core Stage. Search the manual or jump to a topic.
Getting started
AllCreate an account, pick a role, set up your profile.
Core Stage supports three roles: Shooter, Organizer, and Range Officer (RO). Pick the signup that fits you.
- Shooters: /signup — name, email, password.
- Organizers: /signup/organizer (your matches require admin approval before publishing).
- ROs: /signup/ro — unlocks score entry permissions when an organizer grants you a stage.
- Complete your profile (display name, USPSA #, division, classification) — this autofills registrations.
Registering for a match
ShooterFind, register, pick a squad, accept the waiver, and pay.
- Browse /matches (grid, map, or calendar view) and open one.
- Pick a squad if the organizer has published them, optionally apply a discount code.
- Read and tick the Release of Liability + Range Safety Waiver — required.
- Hit Register. Paid matches redirect to a secure Stripe Checkout (Apple Pay / Google Pay supported); free matches confirm immediately.
- Track everything at /registrations — resume unpaid checkouts, grab Stripe-hosted invoices, or cancel (refunds auto-issue for paid entries).
If the match is full you'll be offered a free waitlist spot; you're auto-promoted when someone cancels.
Profile, results & stats
ShooterPast results, stage history, ranking, and follows.
- Your profile shows registrations, invoices, score history, and personal stats.
- Public organizer pages live at
/o/<organizer-id>— follow them to get their matches in your feed. - The activity feed aggregates registrations, results, achievements, and clubs you follow.
- Live results during a match:
/matches/<id>/live. Final leaderboard: /leaderboard.
Creating & running a match
OrganizerFrom draft to approved, with stages, squads, and check-in.
- New Match — name, date, location, discipline, fee, capacity, hero image. Submits as
pending_approval. - Admin reviews at /admin/approvals. Approved matches go public.
- From /organizer, manage Squads, Stages, Discounts, Check-in, Score, Moderation, and Revenue.
- Export the roster as CSV (shooter, USPSA #, division, squad, paid amount) anytime from the dashboard.
Range Officer score entry
ROClassic scoring screen and the dedicated RO Tablet Mode.
Two interfaces, same backend:
- Classic:
/organizer/matches/<id>/scores— full-width entry with timer, signature pad, and QR shooter scanner. - RO Tablet Mode:
/ro/<id>— chrome-less, locked-zoom, big +/- counters per hit zone, squad filter strip, Save & Next that auto-advances through the squad.
Both write through the same offline-first queue (see below). Hit factor = max(raw points, 0) ÷ time; raw points = 5·A + 3·C + 1·D − 10·(M + NS) − 5·P.
Offline scoring & sync
ROScore entry works without connectivity and syncs automatically.
- Every save writes to a durable local queue before any network attempt — ROs never wait on signal.
- The queue auto-flushes when the device comes back online, on app boot, and on a 20-second safety net.
- Duplicate edits on the same shooter+stage collapse into one write. Failed entries retry with exponential backoff (2s → 5min).
- The sync chip in the header shows Live, Offline, or N queued; tap to force a flush.
Notifications
AllIn-app bell + optional browser push.
- The bell shows registrations, payments, approvals, and score / rank updates.
- Toggle browser push from the bell to get OS-level alerts when your score posts — clicking opens the live match view.
- Manage all alerts at /notifications.
Payments, receipts & refunds
AllStripe Checkout, saved cards, invoices, cancellations.
- All charges go through Stripe Checkout — Apple Pay, Google Pay, Link, and card auto-surface based on your device.
- Saved cards enable one-click re-registration for future matches.
- Stripe-hosted invoice PDFs are linked from /registrations.
- Cancel a registration to auto-refund (paid) and free the slot — the waitlist promotes the next shooter.
Store: tickets, merch, memberships
AllBrowse, buy, get a receipt.
- Public storefront: /store. Open a product, pick quantity, hit Buy.
- Orders show in your account; Stripe webhook flips them to paid automatically. Free items skip Checkout.
- Organizers manage their own products and fulfill orders at /organizer/store.
Safety, waivers & DQ policy
AllVersioned waiver, range safety expectations, DQ recording.
- Every registration captures the active waiver version and timestamp — required before submit.
- ROs can mark a stage DQ with a reason (180° break, AD, unsafe handling). The shooter is disqualified for the match.
- Reshoot chips voids the stage and prompts a re-score instead.
Troubleshooting
AllCommon issues and fast fixes.
- I paid but my registration still says awaiting payment.
- Refresh in 10 seconds — the Stripe webhook is the source of truth and usually finishes within a few seconds. If it persists after a minute, contact the organizer.
- The RO tablet says Offline.
- Scores are still safe in the local queue. Reconnect to WiFi and tap the sync chip to flush.
- I can't see browser push notifications.
- Open the bell, toggle push on, and approve the OS prompt. If you previously denied it, re-enable notifications for this site in your browser settings.
- My match isn't visible publicly.
- New matches require admin approval. Watch /organizer — status flips to
openwhen approved. - I need to cancel and get a refund.
- /registrations → Cancel. Paid entries auto-refund via Stripe; the waitlist gets promoted.
Still stuck?
Reach the match organizer from the match page, or contact the Core Stage team.