Commit Graph
79 Commits
Author SHA1 Message Date
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 1670b8b8d2 fix: avoid selection trap for mandatory services with age constraints 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 1f27c744d2 chore: code cleanup 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 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 10e674cdd0 feat: improved logic to control field visibility
addresses #869btdphv
2026-03-16 12:02:28 +01:00
Björn Fromme 70c6617e88 feat: merge draft data with api response for selected fields 2026-03-16 12:02:28 +01:00
Björn Fromme 95d0ce33d4 feat: new service category 'VEG' 2026-03-16 12:02:27 +01:00
Björn Fromme e222f448bb 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-03-16 12:02:27 +01:00
Björn Fromme e3bdd8737f feat: update field label 2026-03-16 12:01:09 +01:00
Björn Fromme ee84690cd9 feat: basic themes for event sites 2026-03-16 12:00:56 +01:00
Björn Fromme 1fd9f8d1f8 feat: always show all available ski passes but readonly if age doesn't match 2026-03-16 12:00:56 +01:00
Björn Fromme b57d849ecd feat: update labels of voucher fields
addresses #869bf8tzv
2026-03-16 12:00:56 +01:00
Björn Fromme 3984a623bf fix: properly assign readonly state to form fields for unavailable services 2026-03-16 12:00:56 +01:00
Björn Fromme 3dd92ccdb4 feat: consistent display of included services and prices 2026-03-16 12:00:56 +01:00
Björn Fromme b111a615a9 feat: show unavailable transportation services as readonly 2026-03-16 12:00:56 +01:00
Björn Fromme e26884c099 feat: align rendering of pickups field with other services 2026-03-16 12:00:55 +01:00
Björn Fromme e1bfe9b93c feat: show room prices in room assignment form field 2026-03-16 12:00:55 +01:00
Björn Fromme da5b913757 feat: render room assignment as radio buttons 2026-03-16 12:00:55 +01:00
Björn Fromme 6b5a51f652 feat: replace overly complex and unnecessary form choice loader for rooms 2026-03-16 12:00:55 +01:00
Björn Fromme cc747f0690 feat: body dimensions optional 2026-03-16 12:00:55 +01:00
Björn Fromme cca8554e3d feat: special treatment of services for participants of age 0-2 2026-03-16 12:00:55 +01:00
Björn Fromme 980589e190 fix: remove form options cache causing issues 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 2e40cbc7c7 feat: special treatment of participants with age 0-2 (babies) 2026-03-16 11:59:12 +01:00
Björn Fromme cd1ffc3e9a fix: don't disable room selection field with single option 2026-03-16 11:59:12 +01:00
Björn Fromme 7df99521c4 feat: promotional and purchase vouchers 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 1e464cef0a feat: performance improvements 2026-03-16 11:59:11 +01:00
Björn Fromme 91d9e82d84 feat: price info tooltip for bulk insurance booking
addresses #869axbjzz
2026-03-16 11:59:11 +01:00
Björn Fromme c3fe76d78c feat: automatic unselection of discounted transportation 2026-03-16 11:59:11 +01:00
Björn Fromme a74f34b559 feat: display service descriptions as tooltip with info icon
addresses #869axbnj0
2026-03-16 11:59:11 +01:00
Björn Fromme af163d597e feat: prefer discounted transportation services
addresses #869axbjbz
2026-03-16 11:59:11 +01:00
Björn Fromme 647fa8e212 feat: unassign rooms from other participants when unavailable 2026-03-16 11:59:11 +01:00
Björn Fromme a0d5768752 feat: consolidated insurance service 2026-03-16 11:59:11 +01:00
Björn Fromme 1f5c835f8a wip: bulk insurance refactoring 2026-03-16 11:59:11 +01:00
Björn Fromme 5ef3bb9cbf wip: finalize implementation 2026-03-16 11:59:11 +01:00
Björn Fromme e51c4843c5 feat: refactor to cards 2026-03-16 11:59:10 +01:00
Björn Fromme 5c0814ef9b wip: modernized edit flow, fix insurance tier calculation 2026-03-16 11:59:10 +01:00
Björn Fromme 28831a3b06 wip: modernized edit flow 2026-03-16 11:59:10 +01:00
Björn Fromme d70a27f2fd wip: backport booking create flow form handling to edit flow 2026-03-16 11:59:10 +01:00
Björn Fromme e330626b03 feat: unify pickup selection 2026-03-16 11:59:10 +01:00
Björn Fromme 0f4b16c194 feat: comprehensive booking overview for confirmation 2026-03-16 11:59:10 +01:00
Björn Fromme 66ccebb02b feat: make room selection fields read-only for single room type 2026-03-16 11:59:10 +01:00
Björn Fromme e3081e56f8 feat: extended insurance parsing, pass info urls to view 2026-03-16 11:59:10 +01:00
Björn Fromme 4489169553 wip: improved insurance selection 2026-03-16 11:59:10 +01:00