Commit Graph

54 Commits

Author SHA1 Message Date
Anton Gunnarsson
bbcabfa0ba Merged in feat/sw-2864-move-hotels-router-to-trpc-package (pull request #2410)
feat (SW-2864): Move booking router to trpc package

* Add env to trpc package

* Add eslint to trpc package

* Apply lint rules

* Use direct imports from trpc package

* Add lint-staged config to trpc

* Move lang enum to common

* Restructure trpc package folder structure

* WIP first step

* update internal imports in trpc

* Fix most errors in scandic-web

Just 100 left...

* Move Props type out of trpc

* Fix CategorizedFilters types

* Move more schemas in hotel router

* Fix deps

* fix getNonContentstackUrls

* Fix import error

* Fix entry error handling

* Fix generateMetadata metrics

* Fix alertType enum

* Fix duplicated types

* lint:fix

* Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package

* Fix broken imports

* Move booking router to trpc package

* Merge branch 'master' into feat/sw-2864-move-hotels-router-to-trpc-package


Approved-by: Linus Flood
2025-06-26 09:02:59 +00:00
Bianca Widstam
46e7f33ab6 Merged in fix/SW-3083-alternative-hotels-page-not-found (pull request #2396)
fix(SW-3083): alternative hotels compare locations with cityIdentifier

* fix(SW-3083): alternative hotels compare locations with cityIdentifier

* fix(SW-3083): rename cityName

* fix(SW-3083): rename to cityIdentifier


Approved-by: Anton Gunnarsson
2025-06-19 08:08:33 +00:00
Christian Andolf
6ca79d6bab chore: replace old primary background token with new one 2025-06-17 15:37:26 +02:00
Hrishikesh Vaipurkar
e3f4cfb738 Merged in fix/SW-2717-select-hotel-booking-codes- (pull request #2270)
fix: SW-2717 Updated filter display rules

* fix: SW-2717 Updated filter display rules

* fix: SW-2717 Fixed chip button trigger popover after next upgrade

* SW-2717 Optimised code


Approved-by: Erik Tiekstra
2025-06-05 07:14:49 +00:00
Anton Gunnarsson
dd4ef527df Merged in chore/eslint9 (pull request #2029)
chore: Update to ESLint 9

* wip: apply codemod and upgrade swc plugin

* Update eslint to 9 in scandic-web

apply code mod to config
fix existing lint issues

* Remove uneccessary fixupConfigRules

* Update eslint to 9 in design-system

* Add lint turbo dependency

* Move redis-api to eslint and prettier instead of biome

* Simplify eslint configs

* Clean up

* Apply linting


Approved-by: Linus Flood
2025-06-03 14:26:44 +00:00
Simon Emanuelsson
9580281421 fix: allow any type of phone number 2025-06-03 11:54:05 +00:00
Anton Gunnarsson
03468ad824 Merged in fix/refactor-booking-flow-search-params (pull request #2148)
Fix: refactor booking flow search params

* wip: apply codemod and upgrade swc plugin

* wip: design-system to react 19, fix issues from async (search)params

* Prepare new parse function for booking flow search params

* Prepare serialize function for booking flow search params

* Improve handling of comma separated arrays

* Slightly refactor for readability

* Next abstracts URLSearchParams so handle the abstraction instead

* Refactor booking widget to use new search params parsing

* Rename search param functions

* Refactor select-hotel to use new search param parser

* Use new search params parser in select-rate and details

* Fix hotelId type

* Avoid passing down search params into BookingWidget components

* More updates to use new types instead of SearchParams<T>

* Remove types SelectHotelSearchParams and AlternativeSelectHotelSearchParams

* Fix parseBookingWidgetSearchParams return type

* Add error handling to booking search param parsers

* Fix modifyRateIndex handling in details page

* Clean up

* Refactor booking widget search param serializing to util function

* Move start page booking widget search param parsing to page

* Use new search param serializer in HandleErrorCallback

* Delete convertSearchParamsToObj & convertObjToSearchParams


Approved-by: Michael Zetterberg
2025-06-02 13:38:01 +00:00
Anton Gunnarsson
cbf9e7b7c2 Merged in chore/next15 (pull request #1999)
chore (SW-834): Upgrade to Next 15

* wip: apply codemod and upgrade swc plugin

* wip: design-system to react 19, fix issues from async (search)params

* wip: fix remaining issues from codemod

serverClient is now async because context use headers()
getLang is now async because it uses headers()

* Minor cleanup

* Inline react-material-symbols package

Package is seemingly not maintained any more and doesn't support
React 19. This copies the package source into `design-system`,
makes the necessary changes for 19 and export it for others to use.

* Fix missing awaits

* Disable modal exit animations

Enabling modal exit animations via isExiting prop is causing
modals to be rendered in "hidden" state and never unmount.
Seems to be an issue with react-aria-components,
see https://github.com/adobe/react-spectrum/issues/7563.
Can probably be fixed by rewriting to a solution similar to
https://react-spectrum.adobe.com/react-aria/examples/framer-modal-sheet.html

* Remove unstable cache implementation and use in memory cache locally

* Fix ref type in SelectFilter

* Use cloneElement to add key prop to element


Approved-by: Linus Flood
2025-06-02 11:11:50 +00:00
Anton Gunnarsson
7e97b74c18 Merged in chore/remove-unused-code (pull request #2229)
Remove unused code

* Remove unused scandic-web files

* Remove unused exports


Approved-by: Joakim Jäderberg
2025-05-30 12:41:18 +00:00
Simon Emanuelsson
5ca30d02a0 feat: keep inventory of bedselections 2025-05-22 09:37:52 +00:00
Hrishikesh Vaipurkar
b3d5326adb Merged in feat/SW-1232-filter-improvements-select-hot (pull request #2168)
feat: SW-1232 Implemented disabling of filters and show hotel count

* feat: SW-1232 Implemented disabling of filters and show hotel count

* feat: SW-1232 Optimised code


Approved-by: Niclas Edenvin
2025-05-21 12:27:11 +00:00
Simon Emanuelsson
1a28bcdc4c feat: use correct key for searchParams check 2025-05-14 15:10:18 +00:00
Tobias Johansson
59a9c72724 Merged in fix/SW-2748-menu-hidden-behind-summary (pull request #2097)
fix(SW-2748 and SW-2747): z-index issue with overlapping summary on desktop viewport

* fix: z-index issue with overlapping summary on desktop viewport

* fix: unset z-index on desktop


Approved-by: Niclas Edenvin
2025-05-14 14:49:48 +00:00
Tobias Johansson
13261d425c Merged in feat/SW-2703-mobile-summary-improvements (pull request #2060)
Feat/SW-2703 mobile price summary improvements

* feat(SW-2703): fixes to select rate price summary

* feat(SW-2703): fixes enter details summary mobile

* fix: z-index issue related to booking widget popover

* fix

* fix: added accessibility props to overlay div

* fix: added button inside header

* fix: rename aria button


Approved-by: Michael Zetterberg
2025-05-13 09:22:34 +00:00
Simon.Emanuelsson
1108105580 Merged in feat/SW-1762 (pull request #2050)
feat: make enter details bottom sheet pixed, and add spacing at the bottom of page

* feat: make enter details bottom sheet pixed, and add spacing at the bottom of page


Approved-by: Arvid Norlin
2025-05-12 10:19:39 +00:00
Simon Emanuelsson
41acf6ee52 fix: got public price when loging in after having selected room 2025-05-09 14:53:29 +00:00
Joakim Jäderberg
e23f8694e3 Merged in fix/open-up-hotelreservation-pages (pull request #2020)
fix: open up hotelreservation

* fix: open up hotelreservation


Approved-by: Michael Zetterberg
2025-05-09 09:31:22 +00:00
Tobias Johansson
02b26e7965 Merged in fix/SW-2668-tracking-room-details-missing (pull request #2015)
fix(SW-2668): added search term and room details to tracking

* fix(SW-2668): added search term and room details to tracking

* fix: change to optional type


Approved-by: Christian Andolf
Approved-by: Matilda Landström
2025-05-08 14:13:51 +00:00
Simon Emanuelsson
c5d4895b6d feat: trigger loading states immediately upon navigation 2025-05-08 15:10:43 +02:00
Arvid Norlin
fa1ace9a2c fix: remove lingering cancel/error message based on sessionStorage 2025-05-06 04:00:32 +00:00
Joakim Jäderberg
5784822a1e Merged in feature/SW-2320-languagebased-hide-for-next-release (pull request #1937)
Language based alternative to HIDE_FOR_NEXT_RELEASE

Approved-by: Anton Gunnarsson
2025-05-05 10:53:28 +00:00
Hrishikesh Vaipurkar
d2bbc59f47 Merged in fix/SW-2602-select-hotel-page-booking-code (pull request #1941)
Fix/SW-2602 select hotel page booking code filtering

* fix: SW-2602 Fixed booking code filtering

* fix: SW-2602 Fixed lint issues


Approved-by: Niclas Edenvin
2025-05-05 09:17:44 +00:00
Hrishikesh Vaipurkar
53b630b6d8 Merged in feat/SW-2308-family-friends-booking-rest (pull request #1916)
feat: SW-2308 FnF code restriction added

* feat: SW-2308 FnF code restriction added

* feat: 2308 Optimized code


Approved-by: Niclas Edenvin
2025-05-02 14:22:05 +00:00
Tobias Johansson
bf79168216 Merged in fix/SW-2462-room-availability-error (pull request #1920)
Fix/SW-2462 room availability error

* fix: added toast error when availability fails and you get redirect to select-rate

* fix: added support for showing alert when availability error happens

* fix: rename PaymentAlert -> BookingAlert


Approved-by: Erik Tiekstra
2025-05-02 08:35:29 +00:00
Bianca Widstam
03902da897 Merged in fix/SW-2438-remove-breakfast-tracking (pull request #1872)
fix(SW-2438): remove breakfast tracking on enter details

* fix(SW-2438): remove breakfast tracking on enter details

* fix(SW-2438): show breakfastOption if already chosen on page load

* fix(SW-2438): if breakfast option does not exists (scandic go) remove breakfastOption from tracking

* fix(SW-2438): fix merge conflicts

* fix(SW-2438): fix comment

* fix(SW-2438): fix comment

* fix(SW-2438): fix merge


Approved-by: Tobias Johansson
Approved-by: Matilda Landström
2025-04-29 10:46:52 +00:00
Hrishikesh Vaipurkar
6a0f22b166 Merged in feat/SW-1355-reward-night-booking-track-2 (pull request #1877)
feat: SW-1355 Added points value in details page tracking

* feat: SW-1355 Added points value in details page tracking

* feat: SW-1355 Updated .flatMap to .map

* feat: SW-1355 Optimized for readability


Approved-by: Michael Zetterberg
2025-04-29 07:52:29 +00:00
Tobias Johansson
70095043f8 Merged in fix/SW-1353-multiroom-tracking (pull request #1870)
fix(SW-1353): enter details tracking fixes

* fix(SW-1353): tracking fixes

* refactor: move code

* fix: use hasPublicPrice

* fix: update calculation for roomPrice and totalPrice

* fix: only include bedtype if it is "preselected"


Approved-by: Michael Zetterberg
2025-04-29 06:29:57 +00:00
Hrishikesh Vaipurkar
8c0597727b Merged in feat/SW-1879-aa-tracking-bed-breakfastpayment (pull request #1789)
feat: SW-1879 Tracking enter-details sections

* feat: SW-1879 Tracking enter-details sections

* feat: SW-1879 removed onSelect to trigger in onSubmit

* feat: SW-1879 Removed onSelect and triggered inside onSubmit

* feat: SW-1879 Optimized to remove unnecessary useEffect triggers in every re-render

* feat: SW-1879 Updated breakfast package typings

* feat: SW-1879 Reverted RadioCardProps

* feat: SW-1879 Optimised code


Approved-by: Tobias Johansson
Approved-by: Christian Andolf
2025-04-16 14:06:15 +00:00
Michael Zetterberg
440e1f92df feat(SW-706): make eslint rule 'formatjs/no-literal-string-in-jsx' pass 2025-04-14 11:30:06 +00:00
Hrishikesh Vaipurkar
1c5b116ed8 Merged in feat/SW-1355-reward-night-booking-tracking (pull request #1758)
feat: SW-1355 Tracking implementation reward night booking

* feat: SW-1355 Tracking implementation reward night booking

* feat: SW-1355 Updated checks and optional params

* feat: SW-1355 Typings updated

* feat: SW-1355 Removed undefined check

* feat: SW-1355 optimized code


Approved-by: Christian Andolf
2025-04-14 11:10:03 +00:00
Hrishikesh Vaipurkar
e372b91356 Merged in feat/SW-1517-booking-codes-tracking (pull request #1745)
Feat/SW-1517 booking codes tracking

* feat: SW-1517 Updated tracking to inlcude booking code info

* feat: SW-1517 Tracking booking codes

* feat: SW-1517 booking code multiroom tracking

* feat: SW-1517 booking code tracking select-hotel map view

* feat: SW-1517 Updated to optional param

* feat: SW-1517 Optimized with map

* feat: SW-1517 Typings update

* feat: SW-1517 Replaced reduce with map and join

* feat: SW-1517 Updated typings


Approved-by: Christian Andolf
2025-04-14 07:17:40 +00:00
Michael Zetterberg
543ea3e5a3 fix(SW-2336): remove text on hotelreservation landing page 2025-04-14 06:55:57 +00:00
Simon Emanuelsson
d72c84d949 feat: filters work together 2025-04-14 06:51:44 +00:00
Simon Emanuelsson
afb37d0cc5 feat: bedtypes is selectable again 2025-04-12 08:32:42 +00:00
Simon Emanuelsson
6d869ceba7 fix: unbreak toApiLang call that failed everytime 2025-04-03 07:51:25 +00:00
Simon Emanuelsson
3e0f503314 feat: add block to ARB rate when trying multiroom booking 2025-04-02 14:30:49 +00:00
Hrishikesh Vaipurkar
221f842552 feat: SW-2028 Removed session passing 2025-04-01 08:18:22 +00:00
Simon Emanuelsson
ebaea78fb3 feat(SW-1717): rewrite select-rate to show all variants of rate-cards 2025-03-28 17:07:54 +00:00
Hrishikesh Vaipurkar
b0674d07f5 Merged in feat/SW-1308-booking-codes-track-b (pull request #1607)
Feat/SW-1308 booking codes track b

* feat: SW-1308 Booking codes track b

* feat: SW-1308 Booking codes Track B implementation

* feat: SW-1308 Optimized after rebase


Approved-by: Arvid Norlin
2025-03-24 11:23:11 +00:00
Hrishikesh Vaipurkar
c5e294c7ea Merged in feat/SW-1356-reward-night-booking-2- (pull request #1559)
feat: SW-1356 Reward night bookingflow

* feat: SW-1356 Reward night bookingflow

* feat: SW-1356 Removed extra param booking call

* feat: SW-1356 Optimized as review comments

* feat: SW-1356 Schema validation updates

* feat: SW-1356 Fix after rebase

* feat: SW-1356 Optimised price.redemptions check

* feat: SW-1356 Updated Props naming


Approved-by: Arvid Norlin
2025-03-24 08:54:02 +00:00
Bianca Widstam
3c1eee88b1 Merged in feat/SW-1370/Guarantee-my-stay-ancillaries (pull request #1545)
Feat/SW-1370/Guarantee my stay ancillaries

* feat(SW-1370): guarantee for ancillaries

* feat(SW-1370): remove console log

* feat(SW-1370): add translations

* feat(SW-1370): small fix

* feat(SW-1370): fix must be guaranteed

* feat(SW-1370): fix logic and comments pr

* feat(SW-1370): fix comments pr

* feat(SW-1370): fix comments pr

* feat(SW-1370): add translation

* feat(SW-1370): add translation and fix pr comment

* feat(SW-1370): fix pr comment

* feat(SW-1370): fix encoding path refId issue

* feat(SW-1370): refactor AddAncillaryStore usage and introduce context provider

* feat(SW-1370): refactor

* feat(SW-1370): refactor ancillaries

* feat(SW-1370): fix merge


Approved-by: Simon.Emanuelsson
2025-03-21 07:29:04 +00:00
Simon Emanuelsson
1812591903 feat: add multiroom tracking to booking flow 2025-03-17 09:47:42 +01:00
Bianca Widstam
abd401c4f4 Merged in feat/SW-1368-1369-Guarantee-late-arrival (pull request #1512)
Feat/SW-1368 1369 Guarantee late arrival

* feat(SW-1368-SW-1369): guarantee late arrival for confirmation page and my stay

* feat(SW-1368-SW-1369): guarantee late arrival updated design

* feat(SW-1368-SW-1369): add translations

* feat(SW-1368-SW-1369): add translations

* feat(SW-1368-SW-1369): fix merge with master

* feat(SW-1368-SW-1369): add translations

* feat(SW-1368-SW-1369): add redirect with refId

* feat(SW-1368-SW-1369): if booking completed redirect to confirmation page

* feat(SW-1368-SW-1369): fix comments pr

* feat(SW-1368-SW-1369): fix comments pr

* feat(SW-1368-SW-1369): fix rebase master

* feat(SW-1368-SW-1369): fix duplicate flex rate check

* feat(SW-1368-SW-1369): if any room is flex, card must be used

* feat(SW-1368-SW-1369): move callback route

* feat(SW-1368-SW-1369): top align checkbox

* feat(SW-1368-SW-1369): top align checkbox


Approved-by: Tobias Johansson
Approved-by: Niclas Edenvin
2025-03-14 10:43:14 +00:00
Tobias Johansson
ad05f792fb Merged in feat/SW-1078-rate-terms-scenarios (pull request #1500)
feat(SW-1078): mixed rate scenario

* feat(SW-1078): mixed rate scenario

* fix: change from css string modification to array join

* refactor: split out big reduce function into smaller parts

* fix: minor fixes and improvments

* fix: added room index map to localization string


Approved-by: Christian Andolf
2025-03-12 10:34:35 +00:00
Tobias Johansson
7c233ab846 Merged in feat/SW-1076-no-room-availability (pull request #1467)
Feat/SW-1076 no room availability

* fix: update booking error codes

* feat(SW-1076): handle no room availabilty on enter-details

* fix: parse to json in api mutation instead of expecting json

* fix: remove 'isComplete' state from sectionAccordion because it was not needed


Approved-by: Simon.Emanuelsson
2025-03-10 12:13:15 +00:00
Hrishikesh Vaipurkar
24bf96df41 feat: SW-1583 Used constants for strings 2025-03-07 09:08:19 +00:00
Hrishikesh Vaipurkar
5058180c41 feat: SW-1583 Implemented Reward nights on city search 2025-03-07 09:08:18 +00:00
Joakim Jäderberg
f36b90e474 Merged in feature/bookingwidget-client-side (pull request #1481)
Move more of BookingWidget to client SW-1639

* feat: move getLocations in booking widget to client side so that it's also cached on the client reducing the blinking when switching urls (and reducing duplicate calls)


Approved-by: Linus Flood
2025-03-05 13:37:33 +00:00
Hrishikesh Vaipurkar
39b6774269 Merged in feat/SW-1589-implement-booking-code-enter (pull request #1368)
Feat/SW-1589 implement booking code enter

* feat: SW-1589 Booking code rate implementation

* feat: SW-1589 Optimized price display

* feat: SW-1589 Display standard price

* feat: SW-1589 Fixed rate title issue


Approved-by: Niclas Edenvin
2025-03-05 09:32:32 +00:00
Simon Emanuelsson
92c5566c59 feat: add multiroom signup 2025-02-28 11:10:22 +01:00