Björn Fromme
259cbd02c5
fix: reduce logger noise
2026-04-30 15:17:21 +02:00
Björn Fromme
4f6b82daa8
chore: fix phpstan errors, add inline docs
2026-04-30 12:31:58 +02:00
Björn Fromme
68900dd4ea
fix: use plain password in configuration for MailJet webhook url
2026-04-30 11:44:17 +02:00
Björn Fromme
daf89f9189
fix: initialize DOI in booking create flow with newsletter subscription
2026-04-29 10:10:18 +02:00
Björn Fromme
18a97394e8
chore: cleanup, update project dependencies
2026-04-29 09:58:40 +02:00
Björn Fromme
e4ef2f7adc
feat: MailJet list handling with DOI, webhook receiver and API endpoint
...
addresses #869cut134
2026-04-29 09:51:57 +02:00
Björn Fromme
9b84893d88
feat: api endpoints and xml sync for contingents data
2026-04-22 11:23:52 +02:00
Björn Fromme
02a1640b51
feat: additional notification about invoice download
...
closes #869cxbk6c
2026-04-21 15:34:04 +02:00
Björn Fromme
80969d1da0
chore: further cleanup and refactor
2026-04-19 15:45:02 +02:00
Björn Fromme
0fcecc9c58
chore: fix phpstan errors
2026-04-16 16:27:35 +02:00
Björn Fromme
a927d6bf59
chore: cgl cleanup
2026-04-16 13:34:54 +02:00
Björn Fromme
c0cc183c59
feat: rename BookingSessionStore to BookingSessionManager
2026-04-16 13:34:54 +02:00
Björn Fromme
132329361f
fix: pass logger explicitly to BookingCreateTrait::handleApiError
2026-04-16 13:34:54 +02:00
Björn Fromme
4d86629315
feat: move display-assembly out of BookingPriceCalculator
2026-04-16 13:34:54 +02:00
Björn Fromme
d1c92f2957
feat: replace *Service suffix with role-based class names
2026-04-16 13:34:54 +02:00
Björn Fromme
0d2cc5b998
feat: consolidate micro-services and unify draft merge logic
2026-04-16 13:34:54 +02:00
Björn Fromme
16cab4b768
feat: add typed dto for cms data
2026-04-12 18:17:54 +02:00
Björn Fromme
fcfd366dec
chore: flatten namespace
2026-04-12 17:54:24 +02:00
Björn Fromme
aa997826f8
feat: split summary DTOs into typed sub-objects
2026-04-12 11:23:19 +02:00
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
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
f22ceae41c
feat: split booking participant controllers
2026-04-11 18:28:32 +02:00
Björn Fromme
fbfffbb31a
fix: simplify trait to address incorrect arguments
2026-03-28 10:18:34 +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
3849ae306c
feat: extended log view and searching by error codes
2026-03-20 11:44:55 +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
6a6bebb2d1
feat: update wording and style of password reset flash message
2026-03-19 12:41:06 +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
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
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
f673bc59d0
fix: catch unexpected api response for personal data
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
19031dba99
fix: enforce profile completion of applicant in all situations
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
a444940db2
feat: display error codes in admin overview
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
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
Björn Fromme
c582e0820a
feat: move profile completeness check from login to booking flow entry
...
- Add profileComplete flag to User entity to avoid API calls
- Set flag during login (BpnAuthenticator) and profile save
- Check flag in IndexController when entering booking flow
- Remove ProfileCompletionSubscriber (no longer needed)
Users with incomplete profiles are only redirected when starting
a new booking, not on every login. Eliminates extra API call by
caching completeness status on the user entity.
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