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
This commit is contained in:
Björn Fromme
2026-03-16 12:02:59 +01:00
parent e1f1b60608
commit c1425f0562
10 changed files with 525 additions and 4 deletions
+9
View File
@@ -128,6 +128,15 @@ services:
- '@App\Form\Service\ParticipantPurchaseVoucherFieldHandler'
- '@App\Form\Service\ParticipantPromoVoucherFieldHandler'
# Participant Status Rules
App\BusProNet\Service\StatusRule\ChaperonServiceStatusRule: ~
# Participant Status Rule Registry
App\BusProNet\Service\ParticipantStatusRuleRegistry:
arguments:
$rules:
- '@App\BusProNet\Service\StatusRule\ChaperonServiceStatusRule'
App\Service\CmsDataService:
arguments:
$httpClient: '@typo3.client'