fromme and Claude 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
fromme and Claude 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