Commit Graph
188 Commits
Author SHA1 Message Date
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