Skip to content

Let a balance carried into a free event be paid - #2951

Merged
maebeale merged 3 commits into
maebeale/old-ticket-reads-new-balancefrom
maebeale/free-new-event-pay-balance
Nov 5, 2026
Merged

maebeale merged 3 commits into
maebeale/old-ticket-reads-new-balancefrom
maebeale/free-new-event-pay-balance

Conversation

@maebeale

@maebeale maebeale commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

🤖 suggested review level: 3 Read 📖 small gate change on the ticket and payment card

Someone who transfers into a free event with a balance still owed can now pay it from their new ticket, because they had no Pay button and stayed locked out of payment-gated callouts.

  • Pay button and payment card: now judged by the registration's price, not the new event's.
  • Scholarship page: shows the balance on the same basis.

Worth a close look

  • Payment card needs a published row: built-in callouts seed hidden, so a free event's card usually won't show. The Pay button doesn't depend on it.
  • Editor badge unchanged: the callout editor still says a free event has no payment card, which is true for everyone but these transfers.
  • Roster unchanged: a free event has no payment column, so staff see this balance on the registration page only.

Stacked on #2949

Transfer notice copy

  • Both ticket notices: one sentence per line, no em dash or semicolon.
  • "For these hours" dropped: keeps the last line of the transferred-in notice on one line.

Features seed

  • Added a features seed

UI Testing Checklist

  • Ticket on a free event shows Pay when a balance carried over
  • A normal free-event ticket still shows no Pay button or payment card

🤖 Generated with Claude Code

@maebeale
maebeale marked this pull request as ready for review November 5, 2026 16:24
maebeale and others added 3 commits November 5, 2026 11:33
Someone who transferred into a free event with money still owed had no Pay
button, so they stayed locked out of payment-gated callouts with no way to
settle it. The ticket judged that from the new event's price, but the balance
is priced at the original event.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The notices ran together as one block, so registrants had to read through
it to find where to pay and where their records stay. Short sentences on
separate lines make each point easy to spot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@maebeale
maebeale force-pushed the maebeale/free-new-event-pay-balance branch from 1cd40df to c788072 Compare November 5, 2026 17:32
@maebeale
maebeale force-pushed the maebeale/old-ticket-reads-new-balance branch from 3168760 to 6e6eb63 Compare November 5, 2026 17:32
@maebeale
maebeale merged commit 0113563 into maebeale/old-ticket-reads-new-balance Nov 5, 2026
5 of 6 checks passed
@maebeale
maebeale deleted the maebeale/free-new-event-pay-balance branch November 5, 2026 17:41
maebeale added a commit that referenced this pull request Nov 5, 2026
* Let a balance carried into a free event be paid

Someone who transferred into a free event with money still owed had no Pay
button, so they stayed locked out of payment-gated callouts with no way to
settle it. The ticket judged that from the new event's price, but the balance
is priced at the original event.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Link the free-event balance seed to its PR

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Put each transfer notice sentence on its own line

The notices ran together as one block, so registrants had to read through
it to find where to pay and where their records stay. Short sentences on
separate lines make each point easy to spot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
maebeale added a commit that referenced this pull request Nov 5, 2026
* Let a balance carried into a free event be paid

Someone who transferred into a free event with money still owed had no Pay
button, so they stayed locked out of payment-gated callouts with no way to
settle it. The ticket judged that from the new event's price, but the balance
is priced at the original event.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Link the free-event balance seed to its PR

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Put each transfer notice sentence on its own line

The notices ran together as one block, so registrants had to read through
it to find where to pay and where their records stay. Short sentences on
separate lines make each point easy to spot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
maebeale added a commit that referenced this pull request Nov 5, 2026
* Send old tickets to the new registration's balance

Once a transferred registrant paid on the new registration, the old ticket still
said "Make your payment" with a balance due, and its payment page has no Pay
button. It was a dead end, and it told people who had paid that they still owed.

Also seeds transfer scenarios, since reviewers had no data to try this with.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Link the old-ticket feature seed to its PR

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Let a balance carried into a free event be paid (#2951)

* Let a balance carried into a free event be paid

Someone who transferred into a free event with money still owed had no Pay
button, so they stayed locked out of payment-gated callouts with no way to
settle it. The ticket judged that from the new event's price, but the balance
is priced at the original event.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Link the free-event balance seed to its PR

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Put each transfer notice sentence on its own line

The notices ran together as one block, so registrants had to read through
it to find where to pay and where their records stay. Short sentences on
separate lines make each point easy to spot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant