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
|
63ffe0b0b4
|
chore: update project dependencies
|
2026-10-13 16:49:34 +02:00 |
|
fromme
|
25edb3f337
|
feat: show group or contact name in the offer headline
|
2026-10-13 10:14:55 +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
|
9f805aaec7
|
chore: update project dependencies
|
2026-10-12 10:09:21 +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
|
ac5ca7b18b
|
feat: enable scheduled content sync with typo3 for mcp
|
2026-10-08 15:35:23 +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
|
24498e6fd1
|
chore: update project dependencies
|
2026-10-08 11:09:41 +02:00 |
|
fromme
|
de5d80c2df
|
feat: replace hardcoded dummy api-key with env variable
|
2026-10-08 11:05:42 +02:00 |
|
fromme
|
18d3edcd53
|
chore: list the active unprefixed legacy promo codes
|
2026-10-06 11:34:33 +02:00 |
|
fromme
|
56af0f921b
|
fix: stop caching rejected voucher checks, document response codes
|
2026-10-06 11:29:14 +02:00 |
|
fromme
|
a14c41de4e
|
fix: keep icon-only buttons at least one line tall
|
2026-10-06 11:22:54 +02:00 |
|
fromme
|
9a8879dfbe
|
fix: give buttons the input box model so they align with fields
|
2026-10-06 10:50:30 +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
|
5f95492a7f
|
feat: add flag to disable hx-boost locally
|
2026-10-05 11:51:25 +02:00 |
|
fromme
|
627b190fcb
|
feat: update voucher purchase urls to match established patterns
|
2026-10-05 09:10:19 +02:00 |
|
fromme
|
e42f836d9b
|
chore: higher resolution voucher thumbnails, drop source pdfs
|
2026-10-05 09:09:17 +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
|
a628e96d06
|
chore: re-add buspro documentation
|
2026-10-01 12:25:18 +02:00 |
|
fromme
|
2bb0148e49
|
chore: replace nelexa/zip with maennchen/zipstream-php
|
2026-10-01 10:48:49 +02:00 |
|
fromme
|
289741d5d4
|
chore: bump php platform requirement to 8.5
|
2026-10-01 10:48:44 +02:00 |
|
fromme
|
f070f4117c
|
chore: update project dependencies
|
2026-10-01 09:50:19 +02:00 |
|
fromme
|
72ef3ff105
|
chore: bump project to php 8.5
|
2026-10-01 09:48:37 +02:00 |
|
fromme
|
1301df80c2
|
chore: update company address in email footer
|
2026-10-01 08:54:29 +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
|
67c0c2fb0c
|
fix: date group heading in offer summary
|
2026-10-01 08:45:59 +02:00 |
|
fromme
|
eb45693257
|
feat: panel layout for the accommodation booking edit and detail pages
|
2026-09-30 18:06:45 +02:00 |
|
fromme
|
5fdee68ccd
|
fix: show each admin money field's own currency
|
2026-09-30 18:06:39 +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
|
972839286c
|
fix: never reuse a collection entry index after a removal
|
2026-09-30 18:05:23 +02:00 |
|
fromme
|
ede8fd840a
|
fix: emit export pickup times as clock readings without an offset
|
2026-09-30 14:52:04 +02:00 |
|
fromme
|
6c700ea18b
|
chore: update project dependencies
|
2026-09-30 14:12:35 +02:00 |
|