What's new in v2.0.0
π Major feature β CourtReserve event access
Members registered for events now receive door access automatically, just like court reservations. Three access modes are available via the new EVENT_ACCESS_MODE environment variable.
Access modes
pin_individual (default)
Each registrant receives their own unique UniFi visitor record and PIN.
Works identically to court reservations.
pin_shared
One UniFi visitor and PIN is created for the event. All registrants receive the same PIN. New registrants who sign up after the initial notification always receive the PIN on the next cycle.
unlock
Door(s) in UNIFI_RESOURCES are unlocked for the full event window and automatically relock when the event ends. No PINs generated.
Set EVENT_UNLOCK_NOTIFY=true to send registrants a "facility open" notification. New registrants are notified on the next cycle.
Additional improvements
- Late registrants and new sign-ups always receive notifications - per-registrant delivery is tracked independently of visitor creation
- Events processed until end time so registrants who sign up while an event is in progress still receive access
- Admin portal cards show an Event, Event (shared PIN), or Event (door unlock) badge to distinguish from reservations
- Detail field label shows Event instead of Court on event cards
- Email label correctly shows Event: instead of Court: for events
New environment variables
EVENT_ACCESS_MODE=pin_individual
EVENT_ACCESS_BUFFER_MINUTES=30
EVENT_UNLOCK_NOTIFY=false
Add these to Railway β Variables β Raw Editor.
New CourtReserve API role required
Enable EventRegistrationReport β Read on your API key: CourtReserve Admin β Settings β API Access
Files changed
index.jsenv.exampledocs/configuration.md
How to update
Replace all three files in your GitHub repo β Railway redeploys automatically.
Verified
β
pin_individual β confirmed working in production
β
pin_shared β confirmed working in production including late registrants
β
unlock β confirmed working in production