Commit Graph
51 Commits
Author SHA1 Message Date
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