Björn Fromme
3b6ee90a7e
feat: refresh existing snapshots from XML after sync
2026-03-24 11:13:11 +01:00
Björn Fromme
7e686cef6b
chore: add inline documentation
2026-03-23 19:22:18 +01:00
Björn Fromme
be43d30cc7
fix: skip snapshots of travels still available as XML from refreshing
2026-03-23 19:15:45 +01:00
Björn Fromme
77b16f287a
chore: remove obsolete feature flag
2026-03-23 17:43:12 +01:00
Björn Fromme
bc7fb794bf
feat: persist travel snapshots and refresh extended availability
2026-03-23 17:29:10 +01:00
Björn Fromme
301b14f518
feat: dedicated room pricing calculation for step 1 of create flow
2026-03-19 16:40:59 +01: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
45d05786da
fix: correctly calculate room pricing based on participant assignment
2026-03-19 15:45:23 +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
ca7d0b6965
feat: extended price mismatch diagnostics in logs
2026-03-18 15:24:52 +01:00
Björn Fromme
02ff28acdd
fix: use correct amount of rooms to calculate rooms pricing
2026-03-18 15:24:29 +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
c510cbf590
feat: auto-booking services
...
addresses #869cfcptv
2026-03-16 20:24:58 +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
33609ab534
feat: shortened and filename-safe request ids
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
51ce9b6e45
fix: don't restore selections from draft for immutable fields
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
6fd5a218a3
feat: reduce session payload
2026-03-16 12:03:00 +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
e5803860df
feat: remove street from hotel address in sidebar
...
addresses #869bwq1vh
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
afe5aef9f7
feat: error-codes in flash messages to reference log entries
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
0a0987873f
feat: enforce profile data completeness before entering booking flow
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
baa4609102
fix: ensure unique services mapping when creating api payload
2026-03-16 12:02:28 +01:00
Björn Fromme
4851b1b72d
feat: revert room price fetching for performance reasons
2026-03-16 12:02:28 +01:00
Björn Fromme
f28227384d
fix: fetch fresh room prices from api to avoid calculation mismatch
2026-03-16 12:02:28 +01:00
Björn Fromme
cef9be92f3
fix: consider booking status O correctly
2026-03-16 12:02:28 +01:00
Björn Fromme
f849d67a79
fix: correctly compare age range
2026-03-16 12:02:28 +01:00
Björn Fromme
fba3becb06
feat: always load fresh api data when starting to edit booking
2026-03-16 12:02:28 +01:00
Björn Fromme
384744c958
feat: xlsx export of booking edit draft data for admins
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
b7eaed3ac3
fix: populate booking number with edit drafts
2026-03-16 12:02:28 +01:00
Björn Fromme
136e2d68a2
feat: integrate with easy admin bundle
2026-03-16 12:02:27 +01:00
Björn Fromme
1fa17a7df7
feat: cli command to clean up outdated or stale booking draft records
2026-03-16 12:02:27 +01:00
Björn Fromme
6ede062a66
feat: streamlined display of hotel image, name and address
2026-03-16 12:02:27 +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
ff241f437f
fix: insurance ids are strings
2026-03-16 12:02:27 +01:00
Björn Fromme
4a6b9cd64d
fix: exclude pickup surcharge when self-organized outbound
2026-03-16 12:02:27 +01:00
Björn Fromme
d6f2681c61
feat: load hotel data locally for sidebar
2026-03-16 12:02:27 +01:00
Björn Fromme
5a47ca6053
feat: default status of new bookings to option during beta phase
...
addresses #869bpb7fg
2026-03-16 12:02:22 +01:00
Björn Fromme
fd81079247
chore: code cleanup
2026-03-16 12:01:09 +01:00
Björn Fromme
e5781fbabc
fix: invalidate booking data caches after updating personal data
2026-03-16 12:01:09 +01:00