What's New
The latest features and improvements shipped to Picklebeast.
June 2026
Jun 24, 2026
Club Admin
Embeddable Club Portal — Your Whole Club, On Your Website
Embed your entire club experience — reserve a court, browse and register for events, join as a member, and member account — onto your own website as one full-screen, branded portal. Premium theming (colors, fonts, spacing, control sizing), a per-club domain allowlist that locks the frame-ancestors policy so checkout can't be clickjacked, a guest-friendly booking flow, and a session-safe My Account pop-out. Pro and Elite plans.
- One full-screen iframe with Reserve / Events / Join / My Account tabs
- Tabs switch in place with working browser Back and deep-links
- Domain allowlist protects the payment surfaces from clickjacking
- Expanded theming tokens + sanitized custom CSS for a native feel
Jun 24, 2026
Club Admin
Family Membership Checkout — Enroll the Whole Family in One Payment
After a parent signs up their family, they set up everyone's memberships in one place: a tier and add-ons per person (or a single family plan that covers the household, or leave someone as a guest), a live total, and one card payment that activates every membership at once. Works as an embeddable widget on the club's website and as a branded standalone page, with auto-renew and a clear pre-purchase disclosure.
- Per-member tier + add-on pickers with a live combined total
- One card entry charges the whole family; memberships activate together
- Optional single family-plan tier covers the household in one membership
- Guests cost nothing; auto-renew on by default, cancellable anytime
- Renders on the club's own site (embed widget) or a branded standalone page
Jun 23, 2026
Club Admin
Sponsored Membership Billing — One Member Funds Another's Membership
An admin-mediated, billing-only way for one adult member to pay for another adult's club membership. Club staff broker the link between a Payer and a Beneficiary; the payer's saved card funds the beneficiary's membership off-session while the beneficiary keeps full control of their own account. Two-party consent before any charge, a 'Funded by' badge on the membership, and a funding-ends lifecycle that runs the membership to the paid period end — never a mid-period yank — then prompts the beneficiary to take over payment.
- Staff create the link at the front desk and pick which tier to fund (can_process_payments-gated)
- Payer authorizes a saved card; beneficiary acknowledges — no charge until both consents are recorded
- Off-session enrollment + auto-renew route to the payer through the single billing_user chokepoint
- 'Funded by <Payer>' badge on the beneficiary's membership; notifications still route to the beneficiary
- Funding-ends: membership runs to period end, beneficiary prompted to take over — no mid-period yank
- One active sponsor per member per club; self-sponsorship blocked; Stripe Connect-safe refunds
Jun 3, 2026
Camps
Camp Volume Discounts — Multi-Camp Tiers + Sibling Savings
Reward families who register for multiple camps or multiple kids in one cart. Configure a tiered ladder (2 camps = 5% off, 3 = 10%, 4 = 15%) plus a sibling discount that stacks on every additional camper. A floor protection cap prevents over-stacking. Whole-camp registration only; per-camp opt-outs keep premium flagship camps full price. Parents see live savings on the in-app cart and the embed widget; receipt + cancellation emails itemize what was applied. Refund preview reads the cart-time snapshot — surviving cart registrations are never re-tiered.
- Club-level editor for multi-camp tier ladder + sibling discount + floor protection
- Per-camp opt-out toggles (per_session camps are auto-excluded)
- Server-backed parent cart with live discount preview + promo stacking
- Mobile + embed widget show savings inline; receipt + refund mailers itemize
- Grandfather contract — refund preview reads the snapshot, never re-tiers
Jun 2, 2026
Mobile App
Gift a Guest Pass — Cover a Friend's Court Fee in One Tap
Gift a guest pass to anyone you invite to a court reservation. Use a pass you already have, or buy one inline if your membership allows. Your guest is notified and chooses — when they join, they apply the pass to play free or pay their own share. Paid-for and booking-specific passes return to you automatically if the gift goes unused, and you get a heads-up when your gift gets used.
- Gift from the reservation invite flow — pick invitees and a scope (anytime / this booking)
- Buy-to-gift inline when you're out of passes (membership permitting)
- Recipient chooses to apply the pass or pay when they accept the invite
- Unused booking-scoped or purchased passes return to your balance on decline / cancel / expiry
Jun 1, 2026
Platform
Refund Automation — Tiered Player Cancellations on Autopilot
Set a tiered, date-driven refund policy on any league or tournament — '100% by Jun 1, 50% by Jun 15, no refund after' — and player cancellations process the right refund automatically through Stripe Connect. Per-event toggle between fully automated and manual organizer review. Players see the exact refund amount before confirming. Multi-division registrations cancel per-division, not bundle-wide. Platform fees stay non-refundable. Backed by Stripe-compliant Connect refunds, an immutable policy snapshot on every registration row, idempotency at every layer, and a full audit trail.
- Up to 5 cutoff tiers per event with per-tier refund percentages
- Per-event automated / manual mode toggle in the create-edit wizard
- Policy snapshotted on every registration — later edits don't reach back
- Per-division cancellation for multi-division registrations + Team Cup bundles
- Platform fees never refunded across all modes (hard invariant)
- Multi-select cancel sheet on mobile with live refund preview
- Web admin organizer custom-amount refund modal at the participants list
- 4 email templates (auto-refund processed, manual-mode cancellation requested) for both player + organizer
- AI Schema Registry entries: refund_policy + event_refund_summary (read-only)
May 2026
May 28, 2026
Tournaments
Standings Preview — Award-Winning Live Standings
Tournament standings now read like real tournament software: clear column labels, a tap-(ⓘ)-for-legend chip, a stage-aware contextual banner, per-pool grouping when divisions split into 2+ pools, and a green pulsing 'Live' indicator while matches are running. Available on every doubles round-robin AND individual-rotating mixer division. Includes a server-side fix for the bench-leak bug that surfaced removed players as still-registered, and a new REGISTERED · UNASSIGNED chip so removed players can see their state.
- Columns renamed: PS/SD/PE/PD → Rank/Seed/PF/+/-, with a tap-for-legend chip
- Stage-aware banner: 'Registration open' → 'Schedule published' → live pulse → 'Final standings'
- Per-pool sections for multi-pool divisions with 'Top N advance' chip
- Tap any column header to sort; tap twice to reverse, three times to clear
- Doubles RR and IR both consume the same standings_state contract
- Bench leak fixed: benched players no longer surface in the live preview
- New REGISTERED · UNASSIGNED chip on the division selector for removed players
- Mobile detection now consumes a single /my_status call (was N+1)
May 27, 2026
Tournaments
Mixer Multi-Pool — Split Big IR Fields Into Parallel Pools
Individual-rotating (mixer / rotating-partners) tournament divisions can now be split into 1–8 pools. Each pool runs its own rotating-partner schedule with its own round target and per-pool standings; top N from each pool advance via snake-seeded cross-pool bracket. Single-pool back-compat fully preserved.
- 1–8 pools per IR division with admin-set count
- Auto-balance by DUPR snake-draft, random shuffle, or manual drag/drop
- Per-pool target_pool_rounds override (Pool A=3 rounds, Pool B=5)
- Three playoff modes: top-N-per-pool · all-from-all-pools · single-pool back-compat
- Snake cross-pool seeding (1A·1B·1C·1D · 2D·2C·2B·2A) protects top seeds
- Cross-pool court allocation keeps all courts in play across pools
- Mobile: pool filter chip rail on standings + Pool A chip on match cards
- ResetPoolPlayService is pool-aware — reset one pool without touching others
May 23, 2026
Leagues
Drop-In Rung Ladder — Drop-In Mexicano with One Cumulative Leaderboard
A new league format combining drop-in registration with rung ladders. Every week is a fresh Mexicano session; one cumulative season leaderboard ranks every player by W → Win% → Point Differential → H2H.
- Per-week registration — players sign up week-by-week, no season commitment
- Variable rung count each week based on who actually shows up
- Auto-suggested seeding from rolling standings, DUPR, or Club Rating
- One cumulative leaderboard across the season
- Optional rung point multipliers for higher-rung wins
- Sub credit attribution preserves season points when players fill in
- Full mobile parity — register, view week schedule, browse cumulative standings
May 20, 2026
Club Admin
Camp Sales Tax — Charge, Track, and Remit
Charge a club-configured sales-tax percentage on top of camp registrations, tracked separately and reported for filing — with a built-in remittance report and CSV export.
- Club-wide default rate + per-camp override (set 0% to mark a camp untaxed)
- Tax line itemized on the embed widget checkout and in the in-app PaymentSheet
- Refunds return the proportional tax automatically; platform fee never reversed
- Sales Tax remittance report by date range, broken down per camp (gross / refunded / net) with CSV export
- Tax money lands in the club's Stripe Connect account — Picklebeast keeps zero of it
- Off by default; opt-in with a one-time responsibility acknowledgment