feat(SW-2873): Move select-hotel to booking flow * crude setup of select-hotel in partner-sas * wip * Fix linting * restructure tracking files * Remove dependency on trpc in tracking hooks * Move pageview tracking to common * Fix some lint and import issues * Add AlternativeHotelsPage * Add SelectHotelMapPage * Add AlternativeHotelsMapPage * remove next dependency in tracking store * Remove dependency on react in tracking hooks * move isSameBooking to booking-flow * Inject searchParamsComparator into tracking store * Move useTrackHardNavigation to common * Move useTrackSoftNavigation to common * Add TrackingSDK to partner-sas * call serverclient in layout * Remove unused css * Update types * Move HotelPin type * Fix todos * Merge branch 'master' into feat/sw-2873-move-selecthotel-to-booking-flow * Merge branch 'master' into feat/sw-2873-move-selecthotel-to-booking-flow * Fix component Approved-by: Joakim Jäderberg
Booking flow
The booking flow is the user journey of booking one or more rooms at our hotels. Everything from choosing the date to payment and confirmation is part of the booking flow.
Booking widget
On most of the pages on the website we have a booking widget. This is where the user starts the booking flow, by filling the form and submit. If they entered a city as the destination they will land on the select hotel page and if they entered a specific hotel they will land on the select rate page.
Select hotel
Lists available hotels based on the search criteria. When the user selects a hotel they land on the select rate page.
Select rate, room, breakfast etc
This is a page with an accordion like design, but every accordion is handled as its own page with its own URL.
State management
The state, like search parameters and selected alternatives, is kept throughout the booking flow in the URL.