Same fix as self-booking page: radio buttons replaced with checkboxes
with mutual-exclusivity JS, so Gratis/Direkt-bar can be deselected.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Balance panel turns green with "Bezahlt ✓" + breakdown when open_balance <= 0, on all four tab pages (me, pay, staff_user, staff_pay)
- booking_mode radio on me.html and staff_user.html: normal / for_free / cash_paid; cash_paid auto-creates matching UserPayment(method=cash)
- Dashboard finance section shows "Kasse (bar)" sum of all cash payments for cross-checking
- staff_pay prefill lower-capped at 0; "Zahlung eintragen" always visible on staff_user
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Crew can mark bookings as free (Gratis checkbox) on staff_user page;
free anonymous bookings skip the auto-payment.
- Users (and crew) can delete their UserPayments with a confirmation page.
- Pay page redesigned around "Eintrittsspende": quick-pick amount buttons
(drinks rounded to 5 € + 10/15/20/25/30), "Nur Drinks" escape, intro
text, type=text input to dodge browser locale formatting.
- Me page: always-visible donate button, intro text linking drinks +
Eintrittsspende.
- Day cutoff at 06:00 Berlin: festival day rolls at 06:00, applied to
current_festival_day plus Frühaufsteher/Nachtschwärmer/Goldene Stunde.
- Dashboard: single Finanzen section (income vs costs) with breakdown,
fun facts grouped (Trinker / Getränke / Zeit / Geld / Gratis).
- Offene Beträge filtered to open > 0.
- Staff list shows "(das bist du)" disabled row for own user.
- Renamed seed_drinks_2026 -> seed_2026, added Baumarkt 194 € entry.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Users can delete their own bookings (confirmation page)
- Crew page tree (/suff/staff/): book/pay/delete for any user, register
new users, set/reset PINs
- Anonymous walk-in user "anonym": bookings auto-create matching cash
payment so balance stays at 0
- Self-signup: unknown name creates account (PIN required); known name
without PIN and no activity allows claim (PIN required); known name
without PIN but with activity blocks and points to bar crew
- Crew-only PIN set/reset; no random PINs, PINs never displayed
- Cyan .staff-target highlight on all crew pages
- Updated suff.md with current feature state and open ideas
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>