fromme
1ff293f41f
feat: split booking between participants and applicant
...
addresses #869f2q1vu
2026-10-19 09:18:22 +02:00
fromme
93512b8345
feat: add employee-only supervisor role nominated by crm selection 1487
2026-10-05 17:06:37 +02:00
fromme
b755a6f43e
refactor: split buspro ApiClient into domain clients
2026-10-02 13:55:30 +02:00
fromme
3c81c79819
refactor: move buspro socket framing into SocketTransport
2026-10-02 13:55:04 +02:00
fromme
f3dd122678
feat: voucher purchase flow
2026-10-01 15:03:27 +02:00
fromme
2bb0148e49
chore: replace nelexa/zip with maennchen/zipstream-php
2026-10-01 10:48:49 +02:00
fromme
6b539f43f3
fix: skip travels whose hotel is missing from the master data
2026-09-29 14:46:27 +02:00
fromme
1845441bc2
feat: expose hotel cost unit and iso country code via the api
2026-09-29 14:46:20 +02:00
fromme
f5e6d2105d
feat: make boarding point price levelling switchable
2026-09-29 10:11:03 +02:00
fromme
0c6126010f
fix: always adopt outbound pickup price for inbound when set
2026-09-28 16:33:36 +02:00
fromme
ab7d00b35d
feat: emit team admin role in userinfo claims when applicable
2026-09-21 11:43:36 +02:00
fromme
fbb3ebb8c1
fix: make bpn response failures diagnosable
2026-09-19 11:51:15 +02:00
fromme
160ebef39e
fix: stop offering unbookable services in the booking edit flow
2026-09-16 15:28:07 +02:00
fromme
1d14f00bb7
feat: additional role 'customer expert'
2026-09-15 15:00:59 +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
e14d29f7d4
fix: restore room occupancy lost to case-sensitive xml attribute lookup
2026-08-31 14:15:21 +02:00
Björn Fromme
bfad61f1dd
feat: upgrade phpunit to 12.5
2026-08-31 09:31:00 +02:00
Björn Fromme
010cfe56b2
feat: upgrade project to symfony 7.4
2026-08-31 09:03:44 +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
0c667d6b69
feat: align role assignment logic with myep-team
2026-08-19 12:14:09 +02:00
Björn Fromme
6af8044f7c
fix: collect hotel codes from every CRM selection group
2026-08-12 17:46:33 +02:00
Björn Fromme
70a10c4dba
fix: make email readonly in personal data form to prevent user lockout
2026-08-11 18:08:48 +02:00
Björn Fromme
6ee00f2bee
feat: hide unavailable ski passes from selection in create flow
2026-08-06 13:08:46 +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
9d2aa11fdb
feat: groups price calculator admin crud, booking/offer flow and api
2026-08-03 15:25:10 +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
d1c92f2957
feat: replace *Service suffix with role-based class names
2026-04-16 13:34:54 +02: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
df8566e1b5
feat: move scope of enforced 'option' status to full booking
...
addresses #869chtfeq
2026-03-19 16:15:07 +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
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
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
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
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
0bf78b0b81
fix: correctly handle discounts applied by dpn 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
bdcd54687d
feat: streamlined booking number property
2026-03-16 12:02:27 +01:00