Commit Graph
442 Commits
Author SHA1 Message Date
Björn Fromme c510cbf590 feat: auto-booking services
addresses #869cfcptv
2026-03-16 20:24:58 +01:00
Björn Fromme 6d9265de0f fix: restore unintended file changes after master flatten rewrite 2026-03-16 14:15:51 +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 37c839600e fix: reduce mutability data cache ttl to avoid staleness
addresses #869cdzmkq
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 0e644260b6 feat: update wording 2026-03-16 12:03:00 +01:00
Björn Fromme 33609ab534 feat: shortened and filename-safe request ids 2026-03-16 12:03:00 +01:00
Björn Fromme 1cc7a025a1 fix: ensure pickups node exists in api payload 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 0d7d90a442 feat: anonymization command for request/response XML dumps 2026-03-16 12:03:00 +01:00
Björn Fromme a7c3064df6 feat: adopt new pickups planning payload JSON structure 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 474d171779 fix: correctly validate pickup selection
closes #869c94jqn
2026-03-16 12:03:00 +01:00
Björn Fromme 51ce9b6e45 fix: don't restore selections from draft for immutable fields 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 3644b935fd fix: always fill-in empty participants names when submitting to api 2026-03-16 12:03:00 +01:00
Björn Fromme 44a9de7db7 fix: correct sort order of pickups and drop-offs 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 6ddd0b00bd fix: handle empty api responses more gracefully 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 78b925daa6 fix: backward compatibility for new session format 2026-03-16 12:03:00 +01:00
Björn Fromme 4e05c94912 fix: correctly determine file size and avoid type mismatch 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 ded904fac8 fix: correct room assignment and count
closes #869c2jnzr
2026-03-16 12:03:00 +01:00
Björn Fromme 06f53ba6eb feat: fill default names for canceled participants in agency bookings 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 bbc011ddb9 feat: update personal data of canceled participants as well
addresses #869bze0kq
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 380b1ed329 chore: streamline namespacing 2026-03-16 12:02:59 +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 028db7a7ee fix: ensure complete participant data even when canceled 2026-03-16 12:02:59 +01:00
Björn Fromme e5803860df feat: remove street from hotel address in sidebar
addresses #869bwq1vh
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 8ca105966d fix: don't normalize hotel and product codes when fetching cms data 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 afe5aef9f7 feat: error-codes in flash messages to reference log entries 2026-03-16 12:02:59 +01:00
Björn Fromme 21a3e8fafc feat: user-friendly error messages on login 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 b68d5c9398 fix: revert pickup pricing to match current BusPro behavior
Reverts split pricing calculation to use outbound-only pricing,
matching BusPro's current behavior where pickup is only charged when
outbound transportation is BUS.

- Use pickup->price directly instead of calculateEffectivePrice()
- PKW+BUS scenario now correctly charges €0 (matches BusPro loophole)
- priceOutbound/priceInbound remain populated for future activation
- Updated documentation with current behavior and future plan
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