Björn Fromme
2776429639
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-01-19 15:51:39 +01:00
Björn Fromme
3e6533829c
fix: ensure unique services mapping when creating api payload
2026-01-16 14:22:17 +01:00
Björn Fromme
b18fccff9d
fix: correctly handle discounts applied by dpn api
2026-01-14 17:46:15 +01:00
Björn Fromme
398eb448cb
feat: cli command to download travel xml data from buspro api
2026-01-14 16:57:17 +01:00
Björn Fromme
3046aad94d
fix: account for discounts applied by bpn api in validation request
2026-01-14 12:47:25 +01:00
Björn Fromme
efacbf64cb
fix: consider booking status O correctly
2026-01-13 14:42:51 +01:00
Björn Fromme
00803b2e73
feat: always load fresh api data when starting to edit booking
2026-01-13 13:16:35 +01:00
Björn Fromme
7636ee41af
fix: ensure nationality is assigned when editing booking data
2026-01-12 18:23:52 +01:00
Björn Fromme
d95d0a8930
feat: streamlined booking number property
2026-01-10 12:12:54 +01:00
Björn Fromme
7b98cccbe9
fix: add suffix to request id in xml-dump filenames to avoid overwrites
2026-01-09 13:28:04 +01:00
Björn Fromme
6beb965c85
feat: new service category 'VEG'
2026-01-08 16:42:42 +01:00
Björn Fromme
776b9d0912
feat: proper determination of agency initiated bookings
...
For booking that are agency initiated (groups) different rules apply
concerning mutability and requirement of personal data and whether the
first participant is the applicant or not. This commit adds logic to
evaluate the agency id assigned to the booking data to decide.
2026-01-08 12:54:59 +01:00
Björn Fromme
df35ed3032
feat: log request ids to map xml dumps of bpn api communication
2026-01-08 10:17:00 +01:00
Björn Fromme
b0b608f12e
feat: load hotel data locally for sidebar
2026-01-07 18:35:09 +01:00
Björn Fromme
80f22b7cd0
fix: don't include default date of birth in contact form submissions
2026-01-07 14:44:53 +01:00
Björn Fromme
69df93b773
feat: load balancing of api requests, cleanup api client
2026-01-07 08:33:16 +01:00
Björn Fromme
1e3389e21a
fix: properly handle parking service selection
2026-01-06 19:03:10 +01:00
Björn Fromme
6008a1b2d9
feat: retry api requests when closed immediately due to overload
2026-01-06 17:29:34 +01:00
Björn Fromme
62fc734f82
fix: avoid null pointer exceptions, log warning about removed services
2026-01-06 16:08:51 +01:00
Björn Fromme
eb1d05aa10
fix: only assign dummy data to the applicant
2026-01-06 14:39:49 +01:00
Björn Fromme
db1de2653c
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-01-06 14:29:41 +01:00
Björn Fromme
1c1766bbd4
fix: apply correct return type and response handling
2026-01-06 14:05:51 +01:00
Björn Fromme
bccd8c6fc3
chore: merge master into feature branch
2026-01-05 18:25:14 +01:00
Björn Fromme
1f1ac1a0cc
docs: add inline documentation where missing
2025-12-19 17:26:59 +01:00
Björn Fromme
62ac8038dc
feat: cron controlled cli command to sync xml data with remote
2025-12-19 17:06:27 +01:00
Björn Fromme
1dc8489239
fix: avoid duplicated pickup planning entries
2025-12-17 17:05:38 +01:00
Björn Fromme
bfb25a4051
feat: accept multiple travel codes per pickup planning
2025-12-17 14:23:05 +01:00
Björn Fromme
42f17db542
feat: extended oauth2 user info and refactored authenticator
2025-12-12 19:57:34 +01:00
Björn Fromme
79e5a3c12d
feat: adjust oauth2 implementation for TYPO3 backend login
2025-12-12 16:31:32 +01:00
Björn Fromme
b1ff6989ec
feat: api endpoints for pickups planning
2025-12-12 09:44:38 +01:00
Björn Fromme
c1539a47f9
fix: properly assign readonly state to form fields for unavailable services
2025-12-11 12:07:19 +01:00
Björn Fromme
c8a33cdf43
fix: assign correct return types
2025-12-11 11:26:46 +01:00
Björn Fromme
b4c03160ca
feat: consistent display of included services and prices
2025-12-11 11:17:03 +01:00
Björn Fromme
b9dfeb2d3e
feat: backport contact form api endpoint
2025-12-10 18:00:51 +01:00
Björn Fromme
2b8046b416
feat: re-implement contact form submissions api endpoint for website
2025-12-10 09:29:19 +01:00
Björn Fromme
31f414b4d8
feat: show room prices in room assignment form field
2025-12-09 12:55:00 +01:00
Björn Fromme
bfb1a04ea0
feat: implement screendesign
2025-12-06 15:02:33 +01:00
Björn Fromme
2b3a8f1c69
feat: request replay command for bpn api
2025-12-06 15:02:13 +01:00
Björn Fromme
696800aafd
feat: refactoring and cleanup
2025-12-06 15:02:13 +01:00
Björn Fromme
1f3e79d57c
fix: prevent null reference errors
2025-12-01 10:37:39 +01:00
Björn Fromme
f4691ec67e
feat: finalize voucher handling and discount display in summary and overview
2025-11-26 17:29:15 +01:00
Björn Fromme
32bef9a4e9
feat: special treatment of participants with age 0-2 (babies)
2025-11-26 15:38:49 +01:00
Björn Fromme
ecc4741f56
feat: correct determination of inquiry status and conditional voucher field display
2025-11-25 16:41:25 +01:00
Björn Fromme
f33e55f201
feat: correct handling of vouchers
2025-11-24 10:20:21 +01:00
Björn Fromme
9d28d2f102
feat: improved promotional and purchase vouchers
2025-11-21 12:43:51 +01:00
Björn Fromme
aaa7e9f4c3
feat: promotional and purchase vouchers
2025-11-20 18:41:46 +01:00
Björn Fromme
26681e5c62
feat: fetch additional content from cms via api
2025-11-20 15:42:41 +01:00
Björn Fromme
33c3dc6022
feat: sort pickups by their times
2025-11-17 10:00:03 +01:00
Björn Fromme
d0d1edb3ae
feat: sort pickups by their times
2025-11-17 09:50:00 +01:00
Björn Fromme
bcded403be
feat: improved timeout handling for api client
2025-11-13 11:15:31 +01:00