Group classes (year-commitment enrolment) #4

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

Capacity-enforced enrolment in a group_class offering, billed full-term upfront, reusing the registration flow.

Spec: docs/features/group-classes.md

Scope

  • New table {prefix}us_group_enrollments (offering_id, student_id, instructor_id, status, payment_id, enrolled_at)
  • Domain package src/GroupClass/: Enrollment, EnrollmentRepository, GroupClassController, EnrollmentEndpoint
  • REST: GET /enrollments, POST /enrollments (book_lesson) with answers[] + accepted_policy_version_ids[]
  • Capacity enforced by counting active rows; reject when full
  • Admin Group Classes view

Depends on

Offerings, Registration questions, Policies, Payments

Acceptance

  • Enrolment respects capacity; full-term payment + receipt; tests under tests/Unit/GroupClass/ passing
Capacity-enforced enrolment in a `group_class` offering, billed full-term upfront, reusing the registration flow. **Spec:** `docs/features/group-classes.md` ## Scope - New table `{prefix}us_group_enrollments` (offering_id, student_id, instructor_id, status, payment_id, enrolled_at) - Domain package `src/GroupClass/`: `Enrollment`, `EnrollmentRepository`, `GroupClassController`, `EnrollmentEndpoint` - REST: `GET /enrollments`, `POST /enrollments` (`book_lesson`) with `answers[]` + `accepted_policy_version_ids[]` - Capacity enforced by counting `active` rows; reject when full - Admin **Group Classes** view ## Depends on Offerings, Registration questions, Policies, Payments ## Acceptance - Enrolment respects capacity; full-term payment + receipt; tests under `tests/Unit/GroupClass/` passing
thatguygriff added the feature label 2026-06-05 12:57:16 +00:00
Author
Owner

Closing as complete. Implemented and merged in PR #21 (group-class enrolment, year commitment, capacity).

Closing as complete. Implemented and merged in PR #21 (group-class enrolment, year commitment, capacity).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Unsupervised/unsupervised-scheduler#4