Björn Fromme
4d86629315
feat: move display-assembly out of BookingPriceCalculator
2026-04-16 13:34:54 +02:00
Björn Fromme
d1c92f2957
feat: replace *Service suffix with role-based class names
2026-04-16 13:34:54 +02:00
Björn Fromme
0d2cc5b998
feat: consolidate micro-services and unify draft merge logic
2026-04-16 13:34:54 +02:00
Björn Fromme
16cab4b768
feat: add typed dto for cms data
2026-04-12 18:17:54 +02:00
Björn Fromme
fcfd366dec
chore: flatten namespace
2026-04-12 17:54:24 +02:00
Björn Fromme
aa997826f8
feat: split summary DTOs into typed sub-objects
2026-04-12 11:23:19 +02:00
Björn Fromme
69705052b3
feat: centralize create/edit flow contexts, extract edit submit service
2026-04-12 10:17:04 +02:00
Björn Fromme
f903f17ebd
feat: replace edit participant facade with context factory
2026-04-11 18:28:32 +02:00
Björn Fromme
63e8a068b3
feat: move prepopulation guards into participant service
2026-04-11 18:28:32 +02:00
Björn Fromme
dbc0b4acee
feat: extract booking participant count service
2026-04-11 18:28:32 +02:00
Björn Fromme
f31ac660d2
feat: extract room grouping from booking service
2026-04-11 18:28:32 +02:00
Björn Fromme
8b72f8c277
feat: extract booking session handling
2026-04-11 18:28:32 +02:00
Björn Fromme
f22ceae41c
feat: split booking participant controllers
2026-04-11 18:28:32 +02:00
Björn Fromme
fbfffbb31a
fix: simplify trait to address incorrect arguments
2026-03-28 10:18:34 +01:00
Björn Fromme
bc7fb794bf
feat: persist travel snapshots and refresh extended availability
2026-03-23 17:29:10 +01:00
Björn Fromme
3849ae306c
feat: extended log view and searching by error codes
2026-03-20 11:44:55 +01:00
Björn Fromme
301b14f518
feat: dedicated room pricing calculation for step 1 of create flow
2026-03-19 16:40:59 +01:00
Björn Fromme
df8566e1b5
feat: move scope of enforced 'option' status to full booking
...
addresses #869chtfeq
2026-03-19 16:15:07 +01:00
Björn Fromme
6a6bebb2d1
feat: update wording and style of password reset flash message
2026-03-19 12:41:06 +01:00
Björn Fromme
d1e2bf3e7d
feat: integrate with MailJet API for newsletter registration
2026-03-19 09:42:00 +01:00
Björn Fromme
ca7d0b6965
feat: extended price mismatch diagnostics in logs
2026-03-18 15:24:52 +01:00
Björn Fromme
c510cbf590
feat: auto-booking services
...
addresses #869cfcptv
2026-03-16 20:24:58 +01:00
Björn Fromme
49ea562322
fix: enforce submit-time immutability, scope booking cache per user
2026-03-16 12:03:00 +01:00
Björn Fromme
cef2e4fa49
fix: ensure mutability is accounted for when restoring drafts
...
addresses #869cdzmkq
2026-03-16 12:03:00 +01:00
Björn Fromme
11ff2b9084
fix: assign mandatory services when applying dummy data
2026-03-16 12:03:00 +01:00
Björn Fromme
f673bc59d0
fix: catch unexpected api response for personal data
2026-03-16 12:03:00 +01:00
Björn Fromme
c7b70dbd56
feat: dummy data fill
...
closes #869c3khk0
2026-03-16 12:03:00 +01:00
Björn Fromme
19031dba99
fix: enforce profile completion of applicant in all situations
2026-03-16 12:02:59 +01:00
Björn Fromme
02ebddc34a
feat: require all personal data fields for registration
2026-03-16 12:02:59 +01:00
Björn Fromme
3957f6bd09
feat: tracking integration with GTM and CMP
2026-03-16 12:02:59 +01:00
Björn Fromme
11ab98b3d8
feat: domain-based theme-detection
2026-03-16 12:02:59 +01:00
Björn Fromme
a444940db2
feat: display error codes in admin overview
2026-03-16 12:02:59 +01:00
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
0cac2969ae
feat: log contact form submissions
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
0a0987873f
feat: enforce profile data completeness before entering booking flow
2026-03-16 12:02:59 +01:00
Björn Fromme
957e20d763
fix: preserve selected services from booking even when unavailable
...
When editing a booking, services that were previously booked but are no
longer available in the travel catalog were being dropped. This caused
API error 650 ("Anzahl Leistung stimmt nicht mit Teilnehmerzuordnung
überein") because the service participant counts no longer matched.
The fix ensures that in edit mode, booked services are merged with
travel data services in both:
- Form rendering (ParticipantFieldOptionsProvider): so checkboxes appear
- Handler validation (AbstractParticipantFieldHandler): so selections
are accepted
This allows users to keep their existing service selections or
deliberately replace them with other available options. Create mode
remains unchanged.
2026-03-16 12:02:28 +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
384744c958
feat: xlsx export of booking edit draft data for admins
2026-03-16 12:02:28 +01:00
Björn Fromme
136e2d68a2
feat: integrate with easy admin bundle
2026-03-16 12:02:27 +01:00
Björn Fromme
bdcd54687d
feat: streamlined booking number property
2026-03-16 12:02:27 +01:00
Björn Fromme
99190b0ef1
wip: integrate with easy admin bundle
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
7942656026
fix: redirect to dashboard as default when logged in
2026-03-16 12:01:09 +01:00