Skip to content

v2.0.0 - Event access support

Latest

Choose a tag to compare

@jchette jchette released this 20 Mar 01:34
· 1 commit to main since this release
375ef65

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.js
  • env.example
  • docs/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