Commit Graph
79 Commits
Author SHA1 Message Date
frommeandClaude Opus 5 3221008f90 refactor: move the bulk export to its own /api/exports resource
/api/travels/{dateCode} accepts an arbitrary string, so /api/travels/export
shared a namespace with every date code and stayed reachable only because
byCode() carried a negative lookahead ruling that one string out. Nothing
in the URL announced the constraint, and getting it wrong mis-routed
silently: the first attempt widened the segment to `.+` and swallowed
/api/travels/{dateId}/{hotelId}/{dateTo}/availability whole.

/api/exports never takes a parameterised segment, the same shape as
/api/contingents, so the collision stops existing instead of being
guarded. TravelController returns byte-for-byte to its state on master,
lookahead included, and the export moves to its own resource controller.

The routing test now also asserts that nothing is reintroduced under the
date code namespace.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-29 14:23:36 +02:00
frommeandClaude Opus 5 ca1ab17595 docs: document the travel export endpoint and the new hotel fields
Also corrects the token TTL: the guide claimed one hour for
client_credentials, which stopped being true when the tagged grant
service was dropped. Every grant now issues a PT10M token.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-29 12:14:59 +02:00
fromme f5e6d2105d feat: make boarding point price levelling switchable 2026-09-29 10:11:03 +02:00
fromme bad916cfb7 feat: identify accounts by a uuid in the oauth2 sub claim 2026-09-23 15:17:09 +02:00
fromme 79709e3a3e feat: give client_credentials tokens a one-hour lifetime 2026-09-22 16:56:06 +02:00
fromme ab7d00b35d feat: emit team admin role in userinfo claims when applicable 2026-09-21 11:43:36 +02:00
fromme ec83ad598f feat: identify the authenticated account in the userinfo claims 2026-09-19 10:54:06 +02:00
fromme 540cd8eeb7 feat: reserve administrative roles for staff email addresses 2026-09-17 18:13:52 +02:00
fromme 672fc30d7e doc: update bpn xml api reference 2026-09-16 15:25:50 +02:00
fromme 1d14f00bb7 feat: additional role 'customer expert' 2026-09-15 15:00:59 +02:00
fromme f8ff4b82a3 feat: replace custom discount with absolute value in favor of percentage 2026-09-08 17:11:00 +02:00
fromme 8443dae5ad feat: additional custom discount applied to total price 2026-09-08 15:29:00 +02:00
fromme 715fae8e33 chore: add bpn xml api documentation extract for agents 2026-09-02 10:33:47 +02:00
Björn Fromme 80d734e7d6 feat: derive calendar date range from price configurations 2026-08-26 13:32:25 +02:00
Björn Fromme 83b8ba7f8d docs: include previously ignored documentation files 2026-08-24 09:20:56 +02:00
Björn Fromme 045fdea923 chore: cleanup documents 2026-08-04 16:43:06 +02:00
Björn Fromme bd2d8b58a3 chore: update documentation 2026-07-15 18:00:30 +02:00
Björn Fromme 52ee6b26b1 feat: full anonymization of buspro xml dumps 2026-06-21 16:49:54 +02:00
Björn Fromme bdf8cffd04 feat: replace dropdowns with individual fields for body dimensions 2026-05-28 13:59:30 +02:00
Björn Fromme 68900dd4ea fix: use plain password in configuration for MailJet webhook url 2026-04-30 11:44:17 +02:00
Björn Fromme a2bcedafc4 feat: cli command to un-/register MailJet webhook url 2026-04-29 10:36:04 +02:00
Björn Fromme 2f96af9254 chore: remove obsolete command 2026-04-29 10:09:16 +02:00
Björn Fromme 18a97394e8 chore: cleanup, update project dependencies 2026-04-29 09:58:40 +02:00
Björn Fromme e4ef2f7adc feat: MailJet list handling with DOI, webhook receiver and API endpoint
addresses #869cut134
2026-04-29 09:51:57 +02:00
Björn Fromme df7885ca1c chore: update documentation files 2026-04-22 11:33:08 +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 b68c4ff9b4 chore: update booking-flow reference to current class names in docs 2026-04-16 13:34:54 +02:00
Björn Fromme 0d2cc5b998 feat: consolidate micro-services and unify draft merge logic 2026-04-16 13:34:54 +02:00
Björn Fromme fdfd5d56c9 chore: add booking flow reference document 2026-04-16 13:34:54 +02:00
Björn Fromme 2baa147afa feat: clarify booking summary participant count 2026-04-13 12:24:09 +02:00
Björn Fromme f903f17ebd feat: replace edit participant facade with context factory 2026-04-11 18:28:32 +02:00
Björn Fromme 63e8a068b3 feat: move prepopulation guards into participant service 2026-04-11 18:28:32 +02:00
Björn Fromme dbc0b4acee feat: extract booking participant count service 2026-04-11 18:28:32 +02:00
Björn Fromme f31ac660d2 feat: extract room grouping from booking service 2026-04-11 18:28:32 +02:00
Björn Fromme 8b72f8c277 feat: extract booking session handling 2026-04-11 18:28:32 +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 d1e2bf3e7d feat: integrate with MailJet API for newsletter registration 2026-03-19 09:42:00 +01:00
Björn Fromme 00df76269a chore: cleanup after master flatten rewrite 2026-03-17 09:44:50 +01:00
Björn Fromme 33609ab534 feat: shortened and filename-safe request ids 2026-03-16 12:03:00 +01:00
Björn Fromme 6abfa122e4 chore: update plan for symfony 7.4 upgrade 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 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 029a87c6ca doc: add technical documentation 2026-03-16 12:02:28 +01:00
Björn Fromme 9c7cf0778f chore: update lts upgrade plan with current state of the project 2026-03-16 12:02:27 +01:00
Björn Fromme 6d5f7cfd22 chore: update upgrade plan with current state of the project 2026-03-16 12:01:09 +01:00
Björn Fromme be83a4295a docs: upgrade plan to symfony 7.4 2026-03-16 12:00:55 +01:00
Björn Fromme e46053a7b7 chore: consolidate documentation 2026-03-16 11:59:11 +01:00
Björn Fromme c3fe76d78c feat: automatic unselection of discounted transportation 2026-03-16 11:59:11 +01:00
Björn Fromme 37cda348b0 feat: remove room selection field entirely for single room type
addresses #869axcukn
2026-03-16 11:59:11 +01:00
Björn Fromme 38656e73c5 chore: cleanup, update documentation 2026-03-16 11:59:11 +01:00