Commit Graph
117 Commits
Author SHA1 Message Date
Björn Fromme c1425f0562 feat: extensible participant status determination for booking creation
Adds a rule-based system to determine participant status in CREATE
payloads. Participants selecting a 'Begleitperson' service now receive
status 'O' (Option), all others default to 'F' (Final).

- Add ParticipantStatusRuleInterface for defining status rules
- Add ParticipantStatusRuleRegistry for priority-based rule evaluation
- Add ChaperonServiceStatusRule for Begleitperson detection
- Integrate status evaluation into BookingPayloadBuilder
2026-03-16 12:02:59 +01:00
Björn Fromme c582e0820a feat: move profile completeness check from login to booking flow entry
- Add profileComplete flag to User entity to avoid API calls
- Set flag during login (BpnAuthenticator) and profile save
- Check flag in IndexController when entering booking flow
- Remove ProfileCompletionSubscriber (no longer needed)

Users with incomplete profiles are only redirected when starting
a new booking, not on every login. Eliminates extra API call by
caching completeness status on the user entity.
2026-03-16 12:02:59 +01:00
Björn Fromme 6d418ee8cc fix: account for discounts applied by bpn api in validation request 2026-03-16 12:02:28 +01:00
Björn Fromme fba3becb06 feat: always load fresh api data when starting to edit booking 2026-03-16 12:02:28 +01:00
Björn Fromme bdcd54687d feat: streamlined booking number property 2026-03-16 12:02:27 +01:00
Björn Fromme 30496a4875 feat: cleanup, log successful bookings 2026-03-16 12:02:27 +01:00
Björn Fromme e09e5858d8 fix: don't update booking session and draft on form refresh
Each form refresh would create a draft even for users that just explore
booking options causing stale draft records in the database.
2026-03-16 12:02:27 +01:00
Björn Fromme fedfcc247e fix: update draft together with session on refresh 2026-03-16 12:02:27 +01:00
Björn Fromme 8186adfaeb fix: show actual error message 2026-03-16 12:02:27 +01:00
Björn Fromme 8646dfbf02 fix: avoid float rounding errors when comparing 2026-03-16 12:02:27 +01:00
Björn Fromme c18ba3d815 fix: only invalidate cache and remove draft on successful edit 2026-03-16 12:01:09 +01:00
Björn Fromme fd81079247 chore: code cleanup 2026-03-16 12:01:09 +01:00
Björn Fromme e5781fbabc fix: invalidate booking data caches after updating personal data 2026-03-16 12:01:09 +01:00
Björn Fromme db74b6049c feat: remove cancel confirmation since obsolete because of drafts 2026-03-16 12:01:09 +01:00
Björn Fromme 0b5c7af4be feat: automatic saving of drafts when editing bookings 2026-03-16 12:01:09 +01:00
Björn Fromme 02742aef5b fix: catch travel data not found errors to show proper flash message 2026-03-16 12:01:09 +01:00
Björn Fromme 3c2ade9299 feat: loading indicator on initial page load 2026-03-16 12:00:56 +01:00
Björn Fromme 12b69bd681 feat: load availability data once per booking session 2026-03-16 12:00:56 +01:00
Björn Fromme ee84690cd9 feat: basic themes for event sites 2026-03-16 12:00:56 +01:00
Björn Fromme 654ae4dc0b feat: use query parameters for booking urls 2026-03-16 12:00:56 +01:00
Björn Fromme 96619c6cec fix: reset room assignments after updated selection if required 2026-03-16 12:00:56 +01:00
Björn Fromme 65398d59d4 chore: simplify parameter handling 2026-03-16 12:00:55 +01:00
Björn Fromme 3df9659ce2 feat: configurable choices for body dimensions
closes #8697phk21
2026-03-16 12:00:55 +01:00
Björn Fromme 3d1b75b591 fix: ensure flash message is displayed after redirect 2026-03-16 12:00:55 +01:00
Björn Fromme 6bbef0a975 feat: various improvements in styles and layout 2026-03-16 12:00:55 +01:00
Björn Fromme 15fdfdc42e feat: load cms data early to display image on login page 2026-03-16 12:00:55 +01:00
Björn Fromme a6d2661562 feat: improved error handling and redirect on invalid session 2026-03-16 12:00:55 +01:00
Björn Fromme 4b95b12a7b feat: indicate incomplete participant data in cards 2026-03-16 12:00:55 +01:00
Björn Fromme 28c426ca3c feat: increase availability cache ttl and ensure fresh data when entering form 2026-03-16 12:00:55 +01:00
Björn Fromme 87439ee509 feat: optional return url 2026-03-16 12:00:41 +01:00
Björn Fromme 400407358d fix: remove obsolete htmx attributes from forms 2026-03-16 11:59:12 +01:00
Björn Fromme 1e107c68b4 feat: implement hx-boost for reliable loading indication 2026-03-16 11:59:12 +01:00
Björn Fromme 4a2d1f4a02 feat: implement screendesign 2026-03-16 11:59:12 +01:00
Björn Fromme 8c8aae9a1e feat: refactoring and cleanup 2026-03-16 11:59:12 +01:00
Björn Fromme 230c53875f feat: finalize voucher handling and discount display in summary and overview 2026-03-16 11:59:12 +01:00
Björn Fromme 4db2cd7eda fix: clear target path when canceling booking flow 2026-03-16 11:59:12 +01:00
Björn Fromme 1f2f2751e4 feat: correct determination of inquiry status and conditional voucher field display 2026-03-16 11:59:11 +01:00
Björn Fromme 85998534fe feat: correct handling of vouchers 2026-03-16 11:59:11 +01:00
Björn Fromme fb983f23dd feat: improved promotional and purchase vouchers 2026-03-16 11:59:11 +01:00
Björn Fromme 7df99521c4 feat: promotional and purchase vouchers 2026-03-16 11:59:11 +01:00
Björn Fromme a8c0a1aa61 feat: fetch additional content from cms via api 2026-03-16 11:59:11 +01:00
Björn Fromme 37924841e1 feat: improved timeout handling for api client 2026-03-16 11:59:11 +01:00
Björn Fromme 5c5f164aa2 feat: improved dynamic validation 2026-03-16 11:59:11 +01:00
Björn Fromme f3ea6734a1 fix: keep browser history intact when navigating between cards view and participant form 2026-03-16 11:59:11 +01:00
Björn Fromme 43823dbda1 feat: improved mutability checks for personal data in edit or create mode 2026-03-16 11:59:11 +01:00
Björn Fromme 7b84ecbb56 fix: adapt changes in create mode for edit mode, cleanup 2026-03-16 11:59:11 +01:00
Björn Fromme dc6de1734a feat: authenticated booking 2026-03-16 11:59:11 +01:00
Björn Fromme 03ac430be4 fix: validation error indication on cards 2026-03-16 11:59:11 +01:00
Björn Fromme 89979d6ce4 wip: email uniqueness validation 2026-03-16 11:59:11 +01:00
Björn Fromme 54a3145710 wip: improved validation and feedback 2026-03-16 11:59:11 +01:00