fromme
|
d4296f30a5
|
fix: list boarding surcharges per leg and count them once in the summary
|
2026-10-19 10:38:17 +02:00 |
|
fromme
|
57b86a8fbc
|
chore: remove boarding point price levelling
|
2026-10-19 10:29:12 +02:00 |
|
fromme
|
1d9c852113
|
feat: make email optional for under-16 participants except applicant
|
2026-10-19 09:18:22 +02:00 |
|
fromme
|
b958d1a371
|
feat: offer non-travelling applicant choice only on selected travels
|
2026-10-19 09:18:22 +02:00 |
|
fromme
|
5b75938c73
|
fix: applicant split in edit mode, drop create-mode agency checks
|
2026-10-19 09:18:22 +02:00 |
|
fromme
|
1ff293f41f
|
feat: split booking between participants and applicant
addresses #869f2q1vu
|
2026-10-19 09:18:22 +02:00 |
|
fromme
|
0ee8fafbe1
|
fix: name missing fields the user cannot edit on personal data page
|
2026-10-16 17:46:05 +02:00 |
|
fromme
|
6d2db1b258
|
feat: add the product code to the travel export
|
2026-10-15 17:26:12 +02:00 |
|
fromme
|
a5f8d75caa
|
feat: show and sort accommodation bookings by timestamp of last update
|
2026-10-14 17:06:50 +02:00 |
|
fromme
|
ff722b5cef
|
feat: show the travel name above the mailing list
|
2026-10-14 14:05:42 +02:00 |
|
fromme
|
1a733a6ba6
|
feat: open the logs to every administrative role
|
2026-10-14 12:41:57 +02:00 |
|
fromme
|
ade30c6b06
|
refactor: single admin menu gated per entry by the controller's role
|
2026-10-14 12:36:35 +02:00 |
|
fromme
|
e796dd01ee
|
feat: admin view listing a travel's mailing recipients from bpn-connect
|
2026-10-14 12:32:23 +02:00 |
|
fromme
|
fe40e1807e
|
feat: chatbot trip search finds trips by trip name, hotel name and code
|
2026-10-13 09:29:27 +02:00 |
|
fromme
|
26d4140c18
|
feat: trips-only chatbot MCP endpoint without editorial website text
|
2026-10-12 14:43:46 +02:00 |
|
fromme
|
849a19b67a
|
fix: exclude cancelled participants' services from price breakdown
|
2026-10-09 12:33:43 +02:00 |
|
fromme
|
553ec901f3
|
fix: omit zero-amount surcharges from the booking summary
|
2026-10-09 12:22:32 +02:00 |
|
fromme
|
0afa4f4855
|
feat: chatbot prefers structured trip fields over editorial text
|
2026-10-09 10:09:42 +02:00 |
|
fromme
|
3cb1548f2f
|
fix: give chatbot pickups per-leg surcharges including the return leg
|
2026-10-09 08:38:57 +02:00 |
|
fromme
|
4ab2714bde
|
feat: turn search_trips into the website's travel search
|
2026-10-08 13:14:12 +02:00 |
|
fromme
|
bfdedefae3
|
feat: give every MCP client its own token, rate limit and log name
|
2026-10-08 12:37:49 +02:00 |
|
fromme
|
3af41c06ab
|
feat: let get_trip resolve a date code to its trip and date
|
2026-10-08 11:46:59 +02:00 |
|
fromme
|
754360605c
|
fix: leave access denials on stateless firewalls to the plain 401/403
|
2026-10-08 11:46:59 +02:00 |
|
fromme
|
1b4384e3f3
|
feat: add MCP server for the website chatbot over a mirrored TYPO3 content feed
|
2026-10-08 11:46:58 +02:00 |
|
fromme
|
ff7ddf7a9e
|
feat: drop the TYPO3 api key query parameter
|
2026-10-08 11:45:24 +02:00 |
|
fromme
|
2d876152aa
|
fix: drop unreachable null check
|
2026-10-08 11:10:13 +02:00 |
|
fromme
|
56af0f921b
|
fix: stop caching rejected voucher checks, document response codes
|
2026-10-06 11:29:14 +02:00 |
|
fromme
|
21d756a2e3
|
feat: fold purchase and promo voucher fields into one code field
|
2026-10-06 10:41:30 +02:00 |
|
fromme
|
93512b8345
|
feat: add employee-only supervisor role nominated by crm selection 1487
|
2026-10-05 17:06:37 +02:00 |
|
fromme
|
627b190fcb
|
feat: update voucher purchase urls to match established patterns
|
2026-10-05 09:10:19 +02:00 |
|
fromme
|
b755a6f43e
|
refactor: split buspro ApiClient into domain clients
|
2026-10-02 13:55:30 +02:00 |
|
fromme
|
0a55544ca8
|
refactor: move buspro XML protocol into XmlChannel
|
2026-10-02 13:55:16 +02:00 |
|
fromme
|
3c81c79819
|
refactor: move buspro socket framing into SocketTransport
|
2026-10-02 13:55:04 +02:00 |
|
fromme
|
e51664df6c
|
refactor: deduplicate request building in buspro api client
|
2026-10-02 13:54:50 +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
|
56deb1e24b
|
feat: name the accommodation booking PDF after its record label
|
2026-10-01 08:46:12 +02:00 |
|
fromme
|
ec10ca3623
|
feat: offer the accommodation booking PDF download in every status
|
2026-10-01 08:46:06 +02:00 |
|
fromme
|
eb45693257
|
feat: panel layout for the accommodation booking edit and detail pages
|
2026-09-30 18:06:45 +02:00 |
|
fromme
|
7001bc0cf2
|
feat: split nights off an accommodation booking as separate periods
addresses #869f6z36v
|
2026-09-30 18:06:20 +02:00 |
|
fromme
|
ede8fd840a
|
fix: emit export pickup times as clock readings without an offset
|
2026-09-30 14:52:04 +02:00 |
|
fromme
|
1d42565a84
|
feat: unfiltered product export for the website's catalogue import
|
2026-09-30 12:19:10 +02:00 |
|
fromme
|
272c811f4f
|
feat: report the source export timestamp on every travel export page
|
2026-09-30 12:19:04 +02:00 |
|
fromme
|
c2c55bc8b2
|
fix: answer null instead of 500 when the export marker is missing
|
2026-09-30 12:18:59 +02:00 |
|
fromme
|
8a6ce7606f
|
feat: add a cleanup command for accounts without recent activity
|
2026-09-29 16:23:32 +02:00 |
|
fromme
|
7dadb6806a
|
feat: add a paginated travel export for the teamer app
|
2026-09-29 14:46:36 +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
|
d0e7ba017c
|
fix: resync room selections with travel data before step 2
|
2026-09-29 10:59:13 +02:00 |
|
fromme
|
f5e6d2105d
|
feat: make boarding point price levelling switchable
|
2026-09-29 10:11:03 +02:00 |
|