Björn Fromme
145f7de781
fix: make personal data editable in bookings as permitted by bpn
2026-06-23 15:24:10 +02:00
Björn Fromme
f023bd9772
chore: remove redundant instance check flagged by phpstan
2026-05-28 15:49:09 +02:00
Björn Fromme
ee8c6a6545
fix: normalize non-numeric body dimension values of existing drafts
2026-05-28 15:35:34 +02:00
Björn Fromme
bdf8cffd04
feat: replace dropdowns with individual fields for body dimensions
2026-05-28 13:59:30 +02:00
Björn Fromme
eaff989bdd
fix: always filter ski passes by participant's age
2026-05-07 11:40:45 +02:00
Björn Fromme
1fa8f88a6d
chore: code cleanup with rector and php-cs-fixer
2026-05-04 17:20:01 +02:00
Björn Fromme
9b84893d88
feat: api endpoints and xml sync for contingents data
2026-04-22 11:23:52 +02:00
Björn Fromme
083e68ee4d
feat: placeholder text for room remarks field
...
closes #869ch2wv8
2026-04-21 15:10:50 +02:00
Björn Fromme
ca5a604a3e
fix: corrupted logic of model transformer
2026-04-16 16:40:38 +02:00
Björn Fromme
0fcecc9c58
chore: fix phpstan errors
2026-04-16 16:27:35 +02:00
Björn Fromme
a927d6bf59
chore: cgl cleanup
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
16cab4b768
feat: add typed dto for cms data
2026-04-12 18:17:54 +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
ca052682bb
feat: simplify pricing and room selection display
2026-04-11 18:28:32 +02:00
Björn Fromme
1b0e479e49
feat: refactor participant card DTOs and labels
2026-04-11 18:28:32 +02: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
ea76c808de
chore: update field label
2026-03-19 09:46: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
cb56a4fe46
feat: implement mutability cutoff for rentals
...
addresses #869cca42x
2026-03-17 10:29:43 +01:00
Björn Fromme
752e6752b4
feat: limit room remarks field to 200 characters to align with buspro
2026-03-17 10:01:40 +01:00
Björn Fromme
c510cbf590
feat: auto-booking services
...
addresses #869cfcptv
2026-03-16 20:24:58 +01:00
Björn Fromme
0e644260b6
feat: update wording
2026-03-16 12:03:00 +01:00
Björn Fromme
709b0ff61e
fix: ensure drop-offs are submitted when same as pickups
2026-03-16 12:03:00 +01:00
Björn Fromme
b752256bda
fix: validate mandatory services selection
2026-03-16 12:03:00 +01:00
Björn Fromme
9cef24f827
fix: enforce mutability checks for all fields
2026-03-16 12:03:00 +01:00
Björn Fromme
e6880b7fed
chore: remove dead code
2026-03-16 12:03:00 +01:00
Björn Fromme
40c0042158
feat: use normalized checkbox values in field handlers
2026-03-16 12:03:00 +01:00
Björn Fromme
1670b8b8d2
fix: avoid selection trap for mandatory services with age constraints
2026-03-16 12:03:00 +01:00
Björn Fromme
f99a2d99a2
fix: show pickup select field for outbound bus travel only
2026-03-16 12:03:00 +01:00
Björn Fromme
f795a3ea21
feat: selectable drop-offs for inbound bus travel
2026-03-16 12:03:00 +01:00
Björn Fromme
78b925daa6
fix: backward compatibility for new session format
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
6fd5a218a3
feat: reduce session payload
2026-03-16 12:03:00 +01:00
Björn Fromme
1f27c744d2
chore: code cleanup
2026-03-16 12:02:59 +01:00
Björn Fromme
f9d420fecd
feat: revert allow updating room assignments in edit mode
2026-03-16 12:02:59 +01:00
Björn Fromme
f46cc59041
fix: allow updating room assignments in edit mode
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
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
aa3b23ecb8
feat: info text and correct field type for service group 'VEG'
...
addresses #869bvch71
2026-03-16 12:02:59 +01:00
Björn Fromme
1e653e213a
fix: don't hide voucher fields for booking status 'O'
...
closes #869bvbkrd
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
18d60c8781
feat: allow editing of nationality in personal data
2026-03-16 12:02:59 +01:00
Björn Fromme
7708ea6a0f
fix: default participant's nationality to German to avoid missing data
2026-03-16 12:02:59 +01:00
Björn Fromme
667324df69
feat: body dimensions mandatory with selected rentals, updated help text
...
feat: body dimensions mandatory with selected rentals
2026-03-16 12:02:28 +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
875943e4da
feat: match modes for room selection condition to detect MBZ*
...
addresses #869btdcyh
2026-03-16 12:02:28 +01:00