CampgroundTickets/INSTALL.md
Hank d293e53ee6 Add Check-in / Ice / Banquet scan modes
- Ice mode: prepaid ice bags (Ice Total / Ice Redeemed columns) redeemed
  independently of ticket check-ins; grab all bags at once or some now.
- Banquet mode: donor total (online + offline) looked up by the ticket's
  email via the Donors Master List, with a manual email override. New
  DonorService + POST /api/banquet.
- Redeem generalized over a resource (tickets|ice); audit records ice actions.
- App gains a mode selector; webhook maps ice_bags (defaults to
  ICE_BAGS_DEFAULT when only a boolean ice option is present).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 04:07:51 +00:00

3.2 KiB
Raw Permalink Blame History

Installing Camp Scan on gate phones

Camp Scan runs two ways. Use whichever fits the device:

  • Android → install the native app (best camera performance) via Obtainium, which also auto-updates it.
  • iPhone / iPad → install the PWA from Safari (no App Store needed).

Either way, you enter the gate PIN once and the device stays signed in for the whole event.


Android (Obtainium)

Obtainium installs and updates apps straight from our Forgejo releases — no Play Store.

1. Install Obtainium

Get it from the Obtainium releases page or F-Droid, and install the APK (you may need to allow "install unknown apps" for your browser/file manager).

2. Add Camp Scan

Tap this on the phone:

Add Camp Scan to Obtainium

If the button doesn't open Obtainium, add it manually:

  1. Obtainium → Add App
  2. App source URL: https://git.mowden.top/Beartaria/CampgroundTickets
  3. Obtainium detects the Forgejo source automatically → Add.
  4. Tap Install.

3. Updates

When a new version is released (a new vX.Y.Z tag builds an APK), Obtainium shows an update — tap to install over the top. Because every release is signed with the same key, updates install cleanly.

If the repository is private: Obtainium can't read the releases without a token. Either make the repo (or a releases-only mirror) public, or in Obtainium set a Forgejo credential/token under the app's Additional Settings. A token can also be embedded in the add-link, but anyone who sees that link gets repo read access, so prefer public releases. Ask the maintainer which applies.


iPhone / iPad (PWA)

  1. Open Safari (not Chrome) and go to https://scan.beartariacampgrounds.com
  2. Tap the Share button → Add to Home ScreenAdd.
  3. Launch Camp Scan from the home screen. It runs full-screen like a native app.
  4. Allow camera access when prompted (required to scan). Camera only works over HTTPS, which the site provides.

Android users can also "Add to Home Screen" from Chrome instead of using Obtainium if they prefer the web version.


First run (all devices)

  1. Open Camp Scan.
  2. Enter the gate PIN (ask the event organizer). The first tap also enables scan sounds.
  3. You're in. The device stays signed in until you tap Sign out or the session expires (~30 days). You won't re-enter the PIN each shift.

Using it

Pick a mode with the buttons under the title:

  • Check-in — scan a ticket QR, pick how many people are entering now (a family can split arrivals across the day on one code), then Check in. Green + chime = saved; red + buzz = a problem (already fully redeemed, not a valid ticket, or a network/database error — the reason is shown).
  • Ice — scan a ticket, hand out prepaid ice bags (defaults to all remaining; adjust if they only want some).
  • Banquet — scan a ticket to see that buyer's total donations, or type an email and tap Look up.
  • Admin (top-right): if scanning won't work, search by name, email, or ticket code, use the buttons to check people in or undo, and view check-in history.