Skip to content

Add waitlist position cap option to signup queue items#11225

Merged
nbudin merged 11 commits intomainfrom
11223-waitlist-up-to-nth
Mar 15, 2026
Merged

Add waitlist position cap option to signup queue items#11225
nbudin merged 11 commits intomainfrom
11223-waitlist-up-to-nth

Conversation

@nbudin
Copy link
Contributor

@nbudin nbudin commented Mar 15, 2026

Summary

  • Adds an optional waitlist_position_cap field to SignupRankedChoice that limits waitlist prioritization to only apply when the attendee would be at or below a specified position (1–10)
  • When the cap would be exceeded, the choice is skipped with a new WAITLIST_POSITION_CAP_EXCEEDED reason
  • Frontend shows a dropdown (1–10 or "regardless of position") beneath the "waitlist instead of skipping" checkbox

Fixes #11223

Test plan

  • Enable "waitlist instead of skipping" on a queue item and verify the cap dropdown appears
  • Select a cap value and verify it is saved and persists
  • Select "regardless of position" and verify the cap is cleared (null)
  • In a full event scenario, verify the simulated skip reason shows "waitlist position cap exceeded" when the cap would be exceeded
  • Verify the signup round automation skips with waitlist_position_cap_exceeded when applicable

🤖 Generated with Claude Code

Attendees can now specify that a queue item should only prioritize
waitlisting if it would put them at position N or below on the waitlist.
The cap is set via a dropdown (1–10, or "regardless of position") shown
when "waitlist instead of skipping" is enabled.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@nbudin nbudin added enhancement minor Bumps the minor version number on release labels Mar 15, 2026
nbudin and others added 10 commits March 15, 2026 11:32
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…in SimulatedSkipReason (#11223)

Instead of SimulatedSkipReason overriding prioritize_waitlist = false on the
record, the service now accepts simulate: true which makes skip_reason always
return a reason for full events while still checking the waitlist_position_cap
first.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…eue (#11223)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…11223)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

Code Coverage Report: Only Changed Files listed

Package Base Coverage New Coverage Difference
app/graphql/mutations/set_signup_ranked_choice_prioritize_waitlist.rb 🟢 80% 🟠 69.23% 🔴 -10.77%
app/graphql/types/signup_ranked_choice_type.rb 🟢 96.77% 🟢 96.97% 🟢 0.2%
Overall Coverage 🟢 52.65% 🟢 52.69% 🟢 0.04%

Minimum allowed coverage is 0%, this run produced 52.69%

@nbudin nbudin merged commit 35a6bcd into main Mar 15, 2026
19 checks passed
@nbudin nbudin deleted the 11223-waitlist-up-to-nth branch March 15, 2026 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement minor Bumps the minor version number on release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Waitlist up to Nth on the waitlist

1 participant