Implements the facility-classes-booking-dashboard plan (frontend):
- Facility create/edit replaces the single Booking Mode dropdown with
two independent checkboxes (Classes / Walk-in booking), showing both
capacity fields when both apply.
- New Classes tab (Memberships): create/edit recurring classes
(Daily/Weekly/Monthly/Custom), view occurrence history, mark an
occurrence not held, and a "Manage Plan" action that creates a
membership plan linked to that class (with an optional "also grant
gym access" toggle). Old Sessions tab/dialog removed from Bookings,
superseded by this.
- Booking Dashboard calendar now shows class occurrences as distinct
blocks (capacity/booked count, muted+dashed when not held and open
again), clicking any event opens a status/payment detail dialog, and
dragging a time range in Day/Week view jumps to Book Now with the
time pre-filled (snapped to 15-minute marks).
- Renamed adhoc-booking-tab.tsx to walkin-booking-tab.tsx (component
WalkInBookingTab, tab key "book-now") and every other "AdHoc"
reference to "WalkIn" for a clearer, simpler name.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
feat: add RfidTagsTab component for managing RFID tags
refactor: update auth API endpoints to use unified auth endpoint
feat: enhance bookings API with AdHoc booking functionality and new booking management features
refactor: update facilities API to include device assignment and availability checks
delete: remove obsolete places API and model definitions
feat: introduce RFID tag management API and model definitions