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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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.
Notes
POST /bookingsalready enforces: same instructor, the tied offering when the slot has one, otherwise a matchingduration_minutes. The filter is a browsing aid — the server still validates every booking.