Björn Fromme
26bbba5a2e
feat: streamlined flash messages
2026-03-16 12:02:59 +01:00
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