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
95d50e9833
fix: return proper response for stale participant edit urls
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
dbc0b4acee
feat: extract booking participant count service
2026-04-11 18:28:32 +02:00
Björn Fromme
f31ac660d2
feat: extract room grouping from booking service
2026-04-11 18:28:32 +02:00
Björn Fromme
8b72f8c277
feat: extract booking session handling
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
f22ceae41c
feat: split booking participant controllers
2026-04-11 18:28:32 +02:00
Björn Fromme
346256f895
feat: simplify booking pricing flow
2026-04-11 18:28:32 +02:00
Björn Fromme
7eb1cbdabd
fix: remove redundant insurance hydration, cache snapshots and files map
2026-04-03 15:20:37 +02:00
Björn Fromme
fce6d1615a
chore: cleanup, add PHPStan type annotations
2026-04-03 13:45:41 +02:00
Björn Fromme
bca3610cff
feat: delete orphaned future snapshots after xml sync
2026-03-25 15:35:12 +01:00
Björn Fromme
6f07678f04
fix: reduce snapshot payloads via serializer group and hydration
2026-03-24 17:06:10 +01:00
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