Björn Fromme
b41b19d4c6
feat: pre-flight check of agency bookings
...
addresses #869bqxr4q
2026-07-10 14:33:09 +02:00
Björn Fromme
a6ed60462d
refactor: inject AgeConstraintParserRegistry into TravelParser
2026-06-26 17:20:42 +02:00
Björn Fromme
8907233ef5
fix: adopt response format of bpn personal data endpoint
2026-06-25 15:06:15 +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
b2fccae431
chore: remote obsolete contingents-related plumbing
2026-06-11 16:19:14 +02:00
Björn Fromme
d207bc74cb
feat: force booking status 'O' for selection id 1473
...
addresses #869d79q0r
2026-06-11 15:53:56 +02:00
Björn Fromme
de4dadb9e5
feat: mention selected port by api client in log messages
2026-05-18 12:48:07 +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
9b84893d88
feat: api endpoints and xml sync for contingents data
2026-04-22 11:23:52 +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
d1c92f2957
feat: replace *Service suffix with role-based class names
2026-04-16 13:34:54 +02: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
bc7fb794bf
feat: persist travel snapshots and refresh extended availability
2026-03-23 17:29:10 +01:00
Björn Fromme
ccfafc5da4
fix: allow hotel-less travel data
...
addresses #869ckkwh7
2026-03-23 16:59:49 +01:00
Björn Fromme
3234c78f0d
feat: harden xml parsing to avoid uncaught errors
2026-03-20 12:14:02 +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
00df76269a
chore: cleanup after master flatten rewrite
2026-03-17 09:44:50 +01:00
Björn Fromme
5619a6f22f
fix: XML scope for services too broad
2026-03-16 20:25:56 +01:00
Björn Fromme
c510cbf590
feat: auto-booking services
...
addresses #869cfcptv
2026-03-16 20:24:58 +01:00
Björn Fromme
6d9265de0f
fix: restore unintended file changes after master flatten rewrite
2026-03-16 14:15:51 +01:00
Björn Fromme
33609ab534
feat: shortened and filename-safe request ids
2026-03-16 12:03:00 +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
44a9de7db7
fix: correct sort order of pickups and drop-offs
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
6ddd0b00bd
fix: handle empty api responses more gracefully
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
1f27c744d2
chore: code cleanup
2026-03-16 12:02:59 +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
380b1ed329
chore: streamline namespacing
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
02ebddc34a
feat: require all personal data fields for registration
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
167ccf5151
feat: ignored room types
...
closes #869bvbmcw
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
0bf78b0b81
fix: correctly handle discounts applied by dpn api
2026-03-16 12:02:28 +01:00
Björn Fromme
c90b93556a
feat: cli command to download travel xml data from buspro api
2026-03-16 12:02:28 +01:00
Björn Fromme
6d418ee8cc
fix: account for discounts applied by bpn api in validation request
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
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