Filter booking calendar slots by available lesson type #117

Closed
opened 2026-07-28 15:27:23 +00:00 by thatguygriff · 0 comments
Owner

Problem

Not every open availability slot can be booked as every private-lesson type. A slot tied to an offering takes that offering only, and a generic slot only takes types whose length fits it. A student browsing the booking calendar sees every open time regardless, and only finds out which lesson types a time actually supports after clicking it.

Ask

Add a lesson-type filter to the booking calendar.

  • A filter above the calendar listing the active private-lesson types.
  • With the filter set, show only the open times bookable as one of the chosen types.
  • With the filter set, the registration form's Lesson type picker offers only the filtered types.
  • When the filter narrows a slot down to a single lesson type, that type is selected automatically.

Notes

  • Bookability must mirror the rule POST /bookings already enforces: same instructor, the tied offering when the slot has one, otherwise a matching duration_minutes. The filter is a browsing aid — the server still validates every booking.
  • No filter set means no change from today's behaviour: every open time is listed.
## Problem Not every open availability slot can be booked as every private-lesson type. A slot tied to an offering takes that offering only, and a generic slot only takes types whose length fits it. A student browsing the booking calendar sees every open time regardless, and only finds out which lesson types a time actually supports after clicking it. ## Ask Add a lesson-type filter to the booking calendar. - A filter above the calendar listing the active private-lesson types. - With the filter set, show only the open times bookable as one of the chosen types. - With the filter set, the registration form's **Lesson type** picker offers only the filtered types. - When the filter narrows a slot down to a single lesson type, that type is selected automatically. ## Notes - Bookability must mirror the rule `POST /bookings` already enforces: same instructor, the tied offering when the slot has one, otherwise a matching `duration_minutes`. The filter is a browsing aid — the server still validates every booking. - No filter set means no change from today's behaviour: every open time is listed.
thatguygriff added the enhancement label 2026-07-28 15:27:23 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Unsupervised/unsupervised-scheduler#117