Equipment Reservations

Each equipment type has its own sign-up board. Select one to view available slots.

FES Bike

● Active
Open Board →

Bertec

● Wireframe
Spec ready

Weekly schedule — 4 time slots/day, reserve 30-min blocks.

XCite

● Wireframe
Spec ready

Same shared class — configure time slots per equipment.

+ Add Equipment

Coming soon

New equipment types use the same shared EquipmentBoard class.

Wireframe note: The FES Bike schedule table already follows this pattern. The ScheduleTable class takes a scheduleType parameter. New equipment types just pass a different type string.

EquipmentBoard — Shared Reservation Class

Input: equipmentType (string), timeSlots (array), days (array)

Firebase path pattern: equipment/{type}/schedule/{weekKey}/{day}/{timeSlot}

Flow: Load → Render grid → Click slot → Confirm → Save → Re-render

Integration per equipment type

// 1. Define config per equipment
const bertecConfig = {
  type: 'bertec',
  timeSlots: ['8am','9am','10am','11am','1pm','2pm','3pm'],
  days: ['Monday','Tuesday','Wednesday','Thursday','Friday'],
  slotDuration: 30,        // minutes
  maxPerSlot: 1,           // one person per slot
};

// 2. Instantiate shared class
const board = new EquipmentBoard(dataManager, bertecConfig);
board.mount(document.getElementById('bertecBoard'));

File plan

src/js/ui/equipmentBoard.js    → Shared EquipmentBoard class
equipment.html                 → Hub page (this page)
fesBike.html                   → Already built, uses ScheduleTable
equipment-bertec.html          → New (wireframe)
equipment-xcite.html           → New (wireframe)