Skip to content

UC-002: Hackathon Guest Access

Actor: Guest Priority: Must Status: Implemented (protocol + firmware allow-list evaluation)

Summary

A guest attending a weekend hackathon can enter the space only during the event dates.

Preconditions

  • Admin has registered the guest in the backend with a date-limited access rule
  • Guest has been issued a temporary NFC card
  • The allow-list includes the guest's entry with valid_from and valid_until set to the event dates

Main Flow

  1. Guest holds NFC card against the terminal on Saturday morning
  2. ESP32 receives the UID, finds the entry in the allow-list
  3. Entry has access type SCHEDULED, no time slots (num_time_slots=0), date range covers the weekend
  4. Current time is within the date range — access granted
  5. Door unlocks, green LED + confirmation beep

Alternative Flows

A1: Guest arrives early (before valid_from)

  1. Guest scans card on Friday evening
  2. ESP32 finds the entry, but current_time < valid_from
  3. Access denied: "not yet active"
  4. Red LED + denial buzzer

A2: Guest returns after event (grace period)

  1. Hackathon ended Sunday at 18:00 (valid_until), group stayed until 18:45
  2. Space shutdown at 18:50 (last person presses shutdown button)
  3. Guest returns at 19:10 to pick up forgotten laptop
  4. Grace period (30 min) counts from shutdown (18:50), so grace runs until 19:20 — access granted with GRANTED_GRACE
  5. Grace period resets from this re-entry (19:10), so another 30 min until 19:40
  6. If NOTIFY_ON_ANOMALY is set, anomaly event is queued

Error Flows

E1: Guest tries to enter after expiry + grace

  1. Guest scans card on Monday
  2. valid_until + grace period has passed
  3. Access denied: "expired"

Postconditions

  • Door unlocks during the event dates
  • After event: card becomes inactive, admin can reclaim it

Access Rule

  • Access type: SCHEDULED
  • Time slots: None (all day within date range)
  • valid_from: Friday 2026-03-13 18:00
  • valid_until: Sunday 2026-03-15 18:00
  • Notifications: NOTIFY_ON_ANOMALY
  • Grace period: 30 minutes

Notes

  • Admin should reclaim or deactivate the guest card after the event.
  • If the hackathon runs overnight, no special time slot config is needed — the date range covers the entire period.