Skip to content

Design how poll finalize should interact with the payment gate #1386

Description

@leahpeker

Context

While scoping PR #1272 (Issue 1238 — poll finalize bypasses RSVP capacity), payment-gate handling was pulled out as a separate design question rather than folded into the capacity fix.

Poll finalize auto-seats yes-voters directly (no RSVP action from the member). On a payment-gated event, a normal RSVP flow requires the member to self-attest paid_confirmed before they're seated as attending — but a poll voter never goes through that step. Auto-seating them as attending on a gated event would skip payment confirmation entirely; waitlisting them instead just defers the problem, since waitlist promotion (promote_from_waitlist in backend/community/_event_helpers.py) doesn't check the payment gate either, and there's currently no way for a waitlisted member to confirm payment at all (no UI, no owner-facing endpoint — only a host override via PATCH .../rsvps/{user_id}/payment/).

So this isn't a simple bug fix — it's an open design question about how polls, auto-seating, and the payment gate should interact together.

What needs to happen

Work out the intended behavior for a poll-seated voter on a payment-gated event. Rough direction discussed: seat/waitlist them as usual, but notify them that their spot isn't confirmed until they pay, making clear the host may remove them if they don't — and give the host a clear way to manage/remove unpaid poll-seated attendees. This likely also needs the broader "waitlisted member can't self-confirm payment" gap addressed (no owner-facing confirm-payment path exists today outside of re-RSVPing).

Acceptance criteria

  • TODO — decide and implement how poll finalize should interact with the payment gate (seat vs. waitlist vs. something else, notification content, host management path).

Metadata

Metadata

Assignees

Labels

automanaged by issue-supervisor loopbackendfeatureNew functionalityp1High priority

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions