Availability: lesson durations, weekly-recurring windows & public calendar #2

Closed
opened 2026-06-05 12:55:33 +00:00 by thatguygriff · 1 comment
Owner

Extend availability so windows carry a lesson length, can be generated weekly, and are shown on a public calendar.

Spec: docs/features/availability-management.md

Scope

  • Add columns to {prefix}us_availability: offering_id (nullable FK), duration_minutes, recurrence_group
  • Generate weekly-recurring windows as rows sharing one recurrence_group
  • Front-end month/week calendar in the booking shortcode, populated from GET /availability, filterable by instructor and offering/duration
  • GET /availability gains offering_id and duration_minutes query params

Acceptance

  • Duration-aware booking: a 30-min offering only fits a window that accommodates it
  • Weekly series can be added/removed together; booked occurrences are independent
  • Tests under tests/Unit/Availability/ updated and passing
Extend availability so windows carry a lesson length, can be generated weekly, and are shown on a public calendar. **Spec:** `docs/features/availability-management.md` ## Scope - Add columns to `{prefix}us_availability`: `offering_id` (nullable FK), `duration_minutes`, `recurrence_group` - Generate weekly-recurring windows as rows sharing one `recurrence_group` - Front-end month/week **calendar** in the booking shortcode, populated from `GET /availability`, filterable by instructor and offering/duration - `GET /availability` gains `offering_id` and `duration_minutes` query params ## Acceptance - Duration-aware booking: a 30-min offering only fits a window that accommodates it - Weekly series can be added/removed together; booked occurrences are independent - Tests under `tests/Unit/Availability/` updated and passing
thatguygriff added the enhancement label 2026-06-05 12:55:33 +00:00
Author
Owner

Closing as complete. Implemented and merged in PR #17 (durations, weekly recurrence, public calendar).

Closing as complete. Implemented and merged in PR #17 (durations, weekly recurrence, public calendar).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Unsupervised/unsupervised-scheduler#2