diff --git a/packages/booking-flow/lib/components/EnterDetails/Details/RoomOne/index.tsx b/packages/booking-flow/lib/components/EnterDetails/Details/RoomOne/index.tsx index dc5259d63..0700b6e32 100644 --- a/packages/booking-flow/lib/components/EnterDetails/Details/RoomOne/index.tsx +++ b/packages/booking-flow/lib/components/EnterDetails/Details/RoomOne/index.tsx @@ -14,6 +14,7 @@ import { useFormTracking } from "@scandic-hotels/tracking/useFormTracking" import { useBookingFlowConfig } from "../../../../bookingFlowConfig/bookingFlowConfigContext" import { useRoomContext } from "../../../../contexts/EnterDetails/RoomContext" +import { useBookingFlowContext } from "../../../../hooks/useBookingFlowContext" import useLang from "../../../../hooks/useLang" import { getFormattedCountryList } from "../../../../misc/getFormatedCountryList" import { useEnterDetailsStore } from "../../../../stores/enter-details" @@ -45,6 +46,7 @@ export default function Details({ user }: DetailsProps) { const intl = useIntl() const lang = useLang() const config = useBookingFlowConfig() + const bookingFlowContextUserData = useBookingFlowContext().user.data const { lastRoom, addPreSubmitCallback } = useEnterDetailsStore((state) => ({ lastRoom: state.lastRoom, @@ -58,7 +60,24 @@ export default function Details({ user }: DetailsProps) { idx, } = useRoomContext() - const initialData = room.guest + let partialUser + if ( + !user && + config.variant !== "scandic" && + bookingFlowContextUserData?.firstName && + bookingFlowContextUserData.lastName && + bookingFlowContextUserData.email + ) { + partialUser = { + firstName: bookingFlowContextUserData.firstName, + lastName: bookingFlowContextUserData.lastName, + email: bookingFlowContextUserData.email, + } + } + const initialData = { + ...room.guest, + ...partialUser, + } const memberRate = "member" in room.roomRate ? room.roomRate.member : null