Björn Fromme
2aeed762fd
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-01-21 10:16:57 +01:00
Björn Fromme
512b63b88b
feat: infotext for insurance booking conditions
...
closes #869bvcu2p
2026-01-21 09:33:36 +01:00
Björn Fromme
92d7eac3a1
chore: update httpclient config to use random values for contactform
2026-01-21 09:02:47 +01:00
Björn Fromme
548b8a8ef0
feat: log contact form submissions
2026-01-21 08:43:28 +01:00
Björn Fromme
fb8aabe34c
chore: remove debug logging in toast controller
2026-01-21 08:11:36 +01:00
Björn Fromme
0c1f143b12
feat: info text and correct field type for service group 'VEG'
...
addresses #869bvch71
2026-01-20 18:36:33 +01:00
Björn Fromme
24ac2efc53
fix: don't hide voucher fields for booking status 'O'
...
closes #869bvbkrd
2026-01-20 16:06:17 +01:00
Björn Fromme
e7a139b025
chore: update test to fix deprecation warning
2026-01-20 16:05:48 +01:00
Björn Fromme
cfe19b7a74
chore: update project dependencies
2026-01-20 16:05:28 +01:00
Björn Fromme
f725a6b72f
feat: ignored room types
...
closes #869bvbmcw
2026-01-20 15:52:57 +01:00
Björn Fromme
a097159897
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-01-19 18:55:55 +01:00
Björn Fromme
da33620ea9
chore: update alert wording to be more descriptive
2026-01-19 18:06:29 +01:00
Björn Fromme
0b44394b11
feat: enforce profile data completeness before entering booking flow
2026-01-19 18:04:19 +01:00
Björn Fromme
2949870acc
feat: allow editing of nationality in personal data
2026-01-19 17:12:26 +01:00
Björn Fromme
35c289240d
fix: default participant's nationality to German to avoid missing data
2026-01-19 17:12:12 +01:00
Björn Fromme
3b165bf292
chore: update rsync excludes in deployer config
2026-01-19 16:17:35 +01:00
Björn Fromme
f0c43a17d8
feat: body dimensions mandatory with selected rentals, updated help text
...
feat: body dimensions mandatory with selected rentals
2026-01-19 16:12:53 +01:00
Björn Fromme
2776429639
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-01-19 15:51:39 +01:00
Björn Fromme
5c9f8c2a2e
doc: add technical documentation
2026-01-17 19:27:06 +01:00
Björn Fromme
3e6533829c
fix: ensure unique services mapping when creating api payload
2026-01-16 14:22:17 +01:00
Björn Fromme
054505d853
feat: match modes for room selection condition to detect MBZ*
...
addresses #869btdcyh
2026-01-15 11:02:27 +01:00
Björn Fromme
c793550af5
feat: improved logic to control field visibility
...
addresses #869btdphv
2026-01-15 10:28:26 +01:00
Björn Fromme
b18fccff9d
fix: correctly handle discounts applied by dpn api
2026-01-14 17:46:15 +01:00
Björn Fromme
398eb448cb
feat: cli command to download travel xml data from buspro api
2026-01-14 16:57:17 +01:00
Björn Fromme
6cdede138e
fix: correct body dimensions values
2026-01-14 16:07:30 +01:00
Björn Fromme
3046aad94d
fix: account for discounts applied by bpn api in validation request
2026-01-14 12:47:25 +01:00
Björn Fromme
ec2ce6ec62
feat: revert room price fetching for performance reasons
2026-01-13 15:54:54 +01:00
Björn Fromme
3c61e7eaf3
feat: trigger form refresh for dob when completely entered only
2026-01-13 15:37:05 +01:00
Björn Fromme
f942600dd8
fix: fetch fresh room prices from api to avoid calculation mismatch
2026-01-13 15:14:27 +01:00
Björn Fromme
efacbf64cb
fix: consider booking status O correctly
2026-01-13 14:42:51 +01:00
Björn Fromme
e38445f184
fix: correctly compare age range
2026-01-13 14:42:35 +01:00
Björn Fromme
00803b2e73
feat: always load fresh api data when starting to edit booking
2026-01-13 13:16:35 +01:00
Björn Fromme
a52f65919f
chore: update project dependencies
2026-01-13 10:22:25 +01:00
Björn Fromme
3d4d88e986
feat: xlsx export of booking edit draft data for admins
2026-01-13 10:22:03 +01:00
Björn Fromme
5221cea53b
feat: merge draft data with api response for selected fields
2026-01-12 18:25:51 +01:00
Björn Fromme
7636ee41af
fix: ensure nationality is assigned when editing booking data
2026-01-12 18:23:52 +01:00
Björn Fromme
830fd2464c
fix: avoid reinstallation of claude code with each restart of ddev
2026-01-11 13:35:50 +01:00
Björn Fromme
d922fd2b9c
chore: update project dependencies
2026-01-11 13:26:02 +01:00
Björn Fromme
d22078b26e
fix: populate booking number with edit drafts
2026-01-11 13:25:13 +01:00
Björn Fromme
195af95995
feat: integrate with easy admin bundle
2026-01-11 13:24:07 +01:00
Björn Fromme
d95d0a8930
feat: streamlined booking number property
2026-01-10 12:12:54 +01:00
Björn Fromme
6fca40963d
wip: integrate with easy admin bundle
2026-01-10 11:35:16 +01:00
Björn Fromme
ace251c1dd
feat: cleanup favicons
2026-01-10 11:34:46 +01:00
Björn Fromme
db2e92c058
feat: custom hx redirect class
2026-01-10 11:32:14 +01:00
Björn Fromme
28b62f5071
feat: adjust xml dump reader command to new filename format
2026-01-10 11:31:24 +01:00
Björn Fromme
168c128b1d
chore: update claude code installation in ddev container
2026-01-09 18:07:45 +01:00
Björn Fromme
90af012e56
chore: update lts upgrade plan with current state of the project
2026-01-09 16:34:46 +01:00
Björn Fromme
d6c36b4171
chore: simplify and update claude code installation in ddev container
2026-01-09 16:25:43 +01:00
Björn Fromme
9575aad10c
feat: always allow editing of participants for internal bookings
...
Prior to this commit the mutability flag from BusProNet was evaluated
and would potentially conflict with this rule. This flag is now
completely ignored for internal bookings.
2026-01-09 13:37:22 +01:00
Björn Fromme
7b98cccbe9
fix: add suffix to request id in xml-dump filenames to avoid overwrites
2026-01-09 13:28:04 +01:00