Skip to content

[Feature]: Add Waitlist Support for Full Study Sessions #1922

Description

@adepat06

Description

Currently, when a study session reaches its maximum participant limit, other interested users have no option but to miss the session. Introducing a waitlist system would allow users to express interest even when a session is full and automatically fill vacant spots if they become available.

Problem Statement

Once a session reaches capacity:

  • Users cannot join or indicate that they're interested.
  • Empty spots may remain unused if someone leaves or cancels.
  • Hosts have no way to fill vacancies efficiently.

A waitlist would make better use of available seats and improve the overall session experience.

Proposed Solution

  • Display a "Join Waitlist" button when a study session is full.
  • Allow users to join the waitlist with a single click.
  • If a participant leaves or cancels before the session starts, automatically promote the first user in the waitlist.
  • Notify the promoted user that they have been moved into the participant list.
  • Update participant and waitlist counts accordingly.

Acceptance Criteria

  • Users can join the waitlist only when a session has reached its participant limit.
  • Users can leave the waitlist at any time before the session begins.
  • The first user in the queue is automatically promoted when a slot becomes available.
  • Waitlist order is maintained on a first-come, first-served basis.
  • Participant and waitlist counts update correctly after every change.
  • Appropriate loading and error states are handled gracefully.

Benefits

  • Makes better use of available session slots.
  • Gives interested learners a fair chance to participate.
  • Reduces empty seats caused by last-minute cancellations.
  • Improves the overall study session management experience.

Additional Notes

This feature should integrate seamlessly with the existing study session workflow without affecting the current session creation or joining process. If the project already supports notifications, users promoted from the waitlist can also receive an in-app notification or email informing them that they've secured a spot.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions