Files
web/app/[lang]/(live)/(public)/hotelreservation
Tobias Johansson b394d54c3f Merged in feat/enter-details-multiroom (pull request #1280)
feat(SW-1259): Enter details multiroom

* refactor: remove per-step URLs

* WIP: map multiroom data

* fix: lint errors in details page

* fix: made useEnterDetailsStore tests pass

* fix: WIP refactor enter details store

* fix: WIP enter details store update

* fix: added room index to select correct room

* fix: added logic for navigating between steps and rooms

* fix: update summary to work with store changes

* fix: added room and total price calculation

* fix: removed unused code and added test for breakfast included

* refactor: move store selectors into helpers

* refactor: session storage state for multiroom booking

* feat: update enter details accordion navigation

* fix: added room index to each form component so they select correct room

* fix: added unique id to input to handle case when multiple inputs have same name

* fix: update payment step with store changes

* fix: rebase issues

* fix: now you should only be able to go to a step if previous room is completed

* refactor: cleanup

* fix: if no availability just skip that room for now

* fix: add select-rate Summary and adjust typings


Approved-by: Arvid Norlin
2025-02-11 14:24:24 +00:00
..
2024-11-29 15:55:30 +01:00

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.