fromme
7001bc0cf2
feat: split nights off an accommodation booking as separate periods
...
addresses #869f6z36v
2026-09-30 18:06:20 +02:00
fromme
29f295abf6
feat: duplicate an accommodation booking into a new draft
...
addresses #869f6z44f
2026-09-28 08:55:01 +02:00
fromme
56adf72d12
fix: refuse implausible accommodation booking prices
2026-09-26 15:39:04 +02:00
fromme
bad916cfb7
feat: identify accounts by a uuid in the oauth2 sub claim
2026-09-23 15:17:09 +02:00
fromme
cc3d32fcbb
feat: gate oauth2 authorization on per-client roles
2026-09-23 13:46:56 +02:00
fromme
5f8a586385
fix: derive contingent change signal from the sync diff
2026-09-11 19:34:29 +02:00
fromme
f8ff4b82a3
feat: replace custom discount with absolute value in favor of percentage
2026-09-08 17:11:00 +02:00
fromme
d6c2cfaf1c
fix: remove incorrect validation group
2026-09-08 16:25:43 +02:00
fromme
8443dae5ad
feat: additional custom discount applied to total price
2026-09-08 15:29:00 +02:00
fromme
976b30ccc0
feat: add cms product code for future use
2026-09-03 17:40:29 +02:00
Björn Fromme
c1f0cda479
feat: always sync full 24 months horizon of contingents
2026-08-20 12:03:21 +02:00
Björn Fromme
351fbab498
feat: improved contingents api performance with db backed snapshots
2026-08-20 11:46:03 +02:00
Björn Fromme
8617bf6c86
fix: prevent generating offer links while booking is in draft
2026-08-19 13:00:43 +02:00
Björn Fromme
5a3957e143
feat: refactored accommodation booking status model
2026-08-19 11:46:52 +02:00
Björn Fromme
8dee65d0dc
feat: additional confirmation cycle and status for groups inquiries
2026-08-18 12:48:17 +02:00
Björn Fromme
5045846eed
fix: propagate updated at timestamp to parent entity
2026-08-18 09:52:28 +02:00
Björn Fromme
a5d97f1206
feat: enable entering additional remarks in offer confirmation
2026-08-17 15:30:17 +02:00
Björn Fromme
77de1643f0
feat: import users` real names from bpn API
2026-08-17 14:24:56 +02:00
Björn Fromme
aa8fa5c1b2
feat: accommodation booking type and status as dedicated properties
2026-08-06 08:52:09 +02:00
Björn Fromme
e5fa63b7e8
feat: dedicated logos per country for accommodation bookings
2026-08-05 12:28:43 +02:00
Björn Fromme
2c381ee741
feat: additional status
2026-08-04 18:09:40 +02:00
Björn Fromme
dc86e715cb
feat: create new bookings or inquiries on behalf of customer
2026-08-04 17:29:05 +02:00
Björn Fromme
455456b6bc
feat: manual sorting of additional services
2026-08-04 17:06:41 +02:00
Björn Fromme
331c88c38e
feat: exclusion groups for additional services
2026-08-04 10:24:29 +02:00
Björn Fromme
9d2aa11fdb
feat: groups price calculator admin crud, booking/offer flow and api
2026-08-03 15:25:10 +02:00
Björn Fromme
2fc7ffe458
feat: remove easy admin bundle, adopt admin theme
2026-06-22 08:59:47 +02:00
Björn Fromme
80569e0977
feat: cli command to anonymize local database
2026-06-17 10:32:02 +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
fce6d1615a
chore: cleanup, add PHPStan type annotations
2026-04-03 13:45:41 +02:00
Björn Fromme
6f07678f04
fix: reduce snapshot payloads via serializer group and hydration
2026-03-24 17:06:10 +01:00
Björn Fromme
45af3a21b7
chore: replace deprecated attribute
2026-03-23 19:23:59 +01:00
Björn Fromme
7e686cef6b
chore: add inline documentation
2026-03-23 19:22:18 +01:00
Björn Fromme
bc7fb794bf
feat: persist travel snapshots and refresh extended availability
2026-03-23 17:29:10 +01:00
Björn Fromme
3849ae306c
feat: extended log view and searching by error codes
2026-03-20 11:44:55 +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
afe5aef9f7
feat: error-codes in flash messages to reference log entries
2026-03-16 12:02:59 +01:00
Björn Fromme
c582e0820a
feat: move profile completeness check from login to booking flow entry
...
- Add profileComplete flag to User entity to avoid API calls
- Set flag during login (BpnAuthenticator) and profile save
- Check flag in IndexController when entering booking flow
- Remove ProfileCompletionSubscriber (no longer needed)
Users with incomplete profiles are only redirected when starting
a new booking, not on every login. Eliminates extra API call by
caching completeness status on the user entity.
2026-03-16 12:02:59 +01:00
Björn Fromme
384744c958
feat: xlsx export of booking edit draft data for admins
2026-03-16 12:02:28 +01:00
Björn Fromme
136e2d68a2
feat: integrate with easy admin bundle
2026-03-16 12:02:27 +01:00
Björn Fromme
bdcd54687d
feat: streamlined booking number property
2026-03-16 12:02:27 +01:00
Björn Fromme
99190b0ef1
wip: integrate with easy admin bundle
2026-03-16 12:02:27 +01:00
Björn Fromme
9c9db05b86
feat: cli command to backfill travel dates on draft records, single use
2026-03-16 12:02:27 +01:00
Björn Fromme
1fa17a7df7
feat: cli command to clean up outdated or stale booking draft records
2026-03-16 12:02:27 +01:00
Björn Fromme
0b5c7af4be
feat: automatic saving of drafts when editing bookings
2026-03-16 12:01:09 +01:00
Björn Fromme
645729a518
feat: remove outdated log entries scheduled
2026-03-16 12:01:09 +01:00
Björn Fromme
65f8436aa7
feat: extended oauth2 user info and refactored authenticator
2026-03-16 12:00:56 +01:00
Björn Fromme
5f9ac1a4e9
feat: log to database
2025-04-25 08:36:23 +02:00
Björn Fromme
9094e8c061
feat: log to database
2025-04-25 08:31:45 +02:00
Björn Fromme
d9ab2a6e1f
fix: always update encrypted password
...
This avoids issues with changed passwords or encryption keys
2025-04-25 08:15:45 +02:00
Björn Fromme
c418ae6399
feat: minimal locally stored user entity
2025-04-24 17:09:05 +02:00