Commit Graph
206 Commits
Author SHA1 Message Date
Björn Fromme 6adc0769c7 chore: code cleanup 2026-02-05 17:45:54 +01:00
Björn Fromme e668c2d882 feat: revert allow updating room assignments in edit mode 2026-02-05 10:29:34 +01:00
Björn Fromme 6b205c7a86 fix: allow updating room assignments in edit mode 2026-01-30 17:29:26 +01:00
Björn Fromme dc91660488 feat: require all personal data fields for registration 2026-01-27 18:25:38 +01:00
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 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 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 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 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 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 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 6beb965c85 feat: new service category 'VEG' 2026-01-08 16:42:42 +01:00
Björn Fromme 97a5d7f9f1 fix: include gender and nationality into group of mandatory fields 2026-01-08 14:18:37 +01:00
Björn Fromme 776b9d0912 feat: proper determination of agency initiated bookings
For booking that are agency initiated (groups) different rules apply
concerning mutability and requirement of personal data and whether the
first participant is the applicant or not. This commit adds logic to
evaluate the agency id assigned to the booking data to decide.
2026-01-08 12:54:59 +01:00
Björn Fromme ddb876bc1c fix: ensure rental insurance is selectable when insurance is available
addresses #869bp9ev5
2026-01-07 17:31:20 +01:00
Björn Fromme 6fee5c048a fix: correctly distinguish between first participant and applicant 2026-01-07 17:22:17 +01:00
Björn Fromme e1123577f4 feat: update field label 2026-01-07 11:36:08 +01:00
Björn Fromme e021fc7570 feat: link terms in confirmation checkbox label 2026-01-06 11:56:03 +01:00
Björn Fromme 1f1ac1a0cc docs: add inline documentation where missing 2025-12-19 17:26:59 +01:00
Björn Fromme e9c1dd8b9d feat: basic themes for event sites 2025-12-12 13:13:36 +01:00
Björn Fromme 1d97a19982 feat: always show all available ski passes but readonly if age doesn't match 2025-12-12 08:47:25 +01:00
Björn Fromme c3519124b7 feat: update labels of voucher fields
addresses #869bf8tzv
2025-12-12 08:09:34 +01:00
Björn Fromme c1539a47f9 fix: properly assign readonly state to form fields for unavailable services 2025-12-11 12:07:19 +01:00
Björn Fromme b4c03160ca feat: consistent display of included services and prices 2025-12-11 11:17:03 +01:00
Björn Fromme e42ef2d3c9 feat: show unavailable transportation services as readonly 2025-12-10 17:15:05 +01:00
Björn Fromme bb69a28ec2 fix: don't show incorrect notification about updated rentals 2025-12-10 15:40:17 +01:00
Björn Fromme e8c2261b7e feat: show inquiry status with rooms in step 1 2025-12-10 15:33:13 +01:00
Björn Fromme 7665385cbf feat: hide parking from participants under 18 2025-12-10 14:37:06 +01:00
Björn Fromme 346dee23e4 fix: don't auto assign discounted transport to babies 2025-12-10 14:09:52 +01:00
Björn Fromme 0e9c5e6e1a feat: configurable choices for body dimensions
closes #8697phk21
2025-12-10 13:48:47 +01:00
Björn Fromme 0564e3c424 feat: align rendering of pickups field with other services 2025-12-09 20:43:58 +01:00
Björn Fromme 31f414b4d8 feat: show room prices in room assignment form field 2025-12-09 12:55:00 +01:00
Björn Fromme 6b32b6baa4 fix: disable autocomplete in chrome for good 2025-12-09 11:33:19 +01:00
Björn Fromme fa2b5e0d7f feat: render room assignment as radio buttons 2025-12-09 10:05:14 +01:00
Björn Fromme 1ac7720765 feat: replace overly complex and unnecessary form choice loader for rooms 2025-12-09 09:32:01 +01:00
Björn Fromme 1726523eaf fix: disable autocompletion on personal data fields 2025-12-08 16:20:20 +01:00
Björn Fromme 1aa564960d feat: body dimensions optional 2025-12-08 16:18:31 +01:00
Björn Fromme 6dbbfd87f8 feat: special treatment of services for participants of age 0-2 2025-12-08 15:26:30 +01:00
Björn Fromme 233748a6c5 chore: cleanup 2025-12-07 15:03:54 +01:00
Björn Fromme c7129d5791 chore: cleanup 2025-12-07 14:47:51 +01:00
Björn Fromme 21600dc2d6 feat: implement hx-boost for reliable loading indication 2025-12-07 14:11:50 +01:00
Björn Fromme de52907eec fix: remove form options cache causing issues 2025-12-06 15:02:34 +01:00
Björn Fromme bfb1a04ea0 feat: implement screendesign 2025-12-06 15:02:33 +01:00
Björn Fromme 5b55d0984a fix: correctly handle email uniqueness by excluding the applicant from validation 2025-12-06 15:02:13 +01:00