fromme
f3dd122678
feat: voucher purchase flow
2026-10-01 15:03:27 +02:00
fromme
a3e8c737de
fix: key participant status like the participants they belong to
2026-09-14 15:13:21 +02:00
Björn Fromme
c9c28792e5
fix: resolve stale dependent selections after booking family insurance
2026-08-24 16:58:09 +02:00
Björn Fromme
0b642dcfe4
fix: reconcile assigned family insurance rate on updated participant
2026-08-05 15:11:48 +02:00
Björn Fromme
8a46908856
fix: incorrect rules around family insurances
...
addresses #869dr80qj
2026-08-05 15:11:37 +02:00
Björn Fromme
b41b19d4c6
feat: pre-flight check of agency bookings
...
addresses #869bqxr4q
2026-07-10 14:33:09 +02:00
Björn Fromme
a15c7578c3
fix: do not copy applicant address into participant for agency bookings
2026-06-24 13:13:14 +02:00
Björn Fromme
1fa8f88a6d
chore: code cleanup with rector and php-cs-fixer
2026-05-04 17:20:01 +02:00
Björn Fromme
c0c8ad515c
fix: properly handle 'veg' services in booking edit flow
2026-04-29 11:59:39 +02:00
Björn Fromme
0fcecc9c58
chore: fix phpstan errors
2026-04-16 16:27:35 +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
df8566e1b5
feat: move scope of enforced 'option' status to full booking
...
addresses #869chtfeq
2026-03-19 16:15:07 +01:00
Björn Fromme
1cc7a025a1
fix: ensure pickups node exists in api payload
2026-03-16 12:03:00 +01:00
Björn Fromme
a7c3064df6
feat: adopt new pickups planning payload JSON structure
2026-03-16 12:03:00 +01:00
Björn Fromme
3644b935fd
fix: always fill-in empty participants names when submitting to api
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
ded904fac8
fix: correct room assignment and count
...
closes #869c2jnzr
2026-03-16 12:03:00 +01:00
Björn Fromme
06f53ba6eb
feat: fill default names for canceled participants in agency bookings
2026-03-16 12:03:00 +01:00
Björn Fromme
bbc011ddb9
feat: update personal data of canceled participants as well
...
addresses #869bze0kq
2026-03-16 12:02:59 +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
028db7a7ee
fix: ensure complete participant data even when canceled
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
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
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
fba3becb06
feat: always load fresh api data when starting to edit booking
2026-03-16 12:02:28 +01:00
Björn Fromme
9afe3b334e
fix: ensure nationality is assigned when editing booking data
2026-03-16 12:02:28 +01:00
Björn Fromme
95d0ce33d4
feat: new service category 'VEG'
2026-03-16 12:02:27 +01:00
Björn Fromme
ab48b1f867
fix: properly handle parking service selection
2026-03-16 12:01:09 +01:00
Björn Fromme
b3cace3b43
fix: avoid null pointer exceptions, log warning about removed services
2026-03-16 12:01:09 +01:00
Björn Fromme
06e64bd3b8
fix: only assign dummy data to the applicant
2026-03-16 12:01:09 +01:00
Björn Fromme
48572812a9
fix: assign dummy values to missing applicant data fields
...
This fix avoids rejection of API requests due to missing data of the
applicant. The current user most probably is not aware about this so
they get confused about the error messages otherwise.
2026-03-16 12:01:09 +01:00
Björn Fromme
ea1ce4a029
docs: add inline documentation where missing
2026-03-16 12:01:09 +01:00
Björn Fromme
52ac269b8d
fix: avoid duplicated pickup planning entries
2026-03-16 12:00:56 +01:00
Björn Fromme
7f2d52a5ce
feat: accept multiple travel codes per pickup planning
2026-03-16 12:00:56 +01:00
Björn Fromme
c7a27f1dc7
feat: api endpoints for pickups planning
2026-03-16 12:00:56 +01:00
Björn Fromme
e1bfe9b93c
feat: show room prices in room assignment form field
2026-03-16 12:00:55 +01:00
Björn Fromme
4a2d1f4a02
feat: implement screendesign
2026-03-16 11:59:12 +01:00
Björn Fromme
8c8aae9a1e
feat: refactoring and cleanup
2026-03-16 11:59:12 +01:00
Björn Fromme
230c53875f
feat: finalize voucher handling and discount display in summary and overview
2026-03-16 11:59:12 +01:00
Björn Fromme
1f2f2751e4
feat: correct determination of inquiry status and conditional voucher field display
2026-03-16 11:59:11 +01:00
Björn Fromme
85998534fe
feat: correct handling of vouchers
2026-03-16 11:59:11 +01:00
Björn Fromme
fb983f23dd
feat: improved promotional and purchase vouchers
2026-03-16 11:59:11 +01:00
Björn Fromme
7df99521c4
feat: promotional and purchase vouchers
2026-03-16 11:59:11 +01:00
Björn Fromme
beee44a10e
fix: streamlined single room selection handling
2026-03-16 11:59:11 +01:00
Björn Fromme
43823dbda1
feat: improved mutability checks for personal data in edit or create mode
2026-03-16 11:59:11 +01:00
Björn Fromme
dc6de1734a
feat: authenticated booking
2026-03-16 11:59:11 +01:00
Björn Fromme
a0d5768752
feat: consolidated insurance service
2026-03-16 11:59:11 +01:00
Björn Fromme
1f5c835f8a
wip: bulk insurance refactoring
2026-03-16 11:59:11 +01:00
Björn Fromme
e51c4843c5
feat: refactor to cards
2026-03-16 11:59:10 +01:00