From 02b26e79659a40ca12d85905c78612bd36211ddb Mon Sep 17 00:00:00 2001 From: Tobias Johansson Date: Thu, 8 May 2025 14:13:51 +0000 Subject: [PATCH] Merged in fix/SW-2668-tracking-room-details-missing (pull request #2015) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../hotelreservation/(standard)/details/page.tsx | 1 - .../Forms/BookingWidget/FormContent/Search/index.tsx | 2 +- .../BookingConfirmation/Tracking/index.tsx | 7 ++++++- .../BookingConfirmation/Tracking/tracking.ts | 4 +++- .../HotelReservation/EnterDetails/Tracking/index.tsx | 10 ++++++---- .../HotelReservation/EnterDetails/Tracking/tracking.ts | 8 +++++--- .../FormContent/Search => hooks}/useSearchHistory.ts | 0 7 files changed, 21 insertions(+), 11 deletions(-) rename apps/scandic-web/{components/Forms/BookingWidget/FormContent/Search => hooks}/useSearchHistory.ts (100%) diff --git a/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(standard)/details/page.tsx b/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(standard)/details/page.tsx index a8c5073b0..31f07144e 100644 --- a/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(standard)/details/page.tsx +++ b/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(standard)/details/page.tsx @@ -156,7 +156,6 @@ export default async function DetailsPage({ 0 ? booking.roomPoints : undefined, roomPrice: rooms.reduce((total, room) => total + room.roomPrice, 0), roomTypeCode: rooms.map((r) => r.roomTypeCode ?? "").join(","), + searchTerm, searchType: "hotel", specialRoomType: rooms .map((room) => getSpecialRoomType(room.packages)) diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Tracking/index.tsx b/apps/scandic-web/components/HotelReservation/EnterDetails/Tracking/index.tsx index 5dcb94a2c..f9dad4c29 100644 --- a/apps/scandic-web/components/HotelReservation/EnterDetails/Tracking/index.tsx +++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Tracking/index.tsx @@ -3,6 +3,7 @@ import { useEnterDetailsStore } from "@/stores/enter-details" import TrackingSDK from "@/components/TrackingSDK" +import { useSearchHistory } from "@/hooks/useSearchHistory" import { getTracking } from "./tracking" @@ -16,7 +17,6 @@ interface TrackingWrapperProps { booking: SelectHotelParams hotel: Hotel rooms: Room[] - city: string | undefined isMember: boolean lang: Lang } @@ -25,7 +25,6 @@ export default function EnterDetailsTrackingWrapper({ booking, hotel, rooms, - city, isMember, lang, }: TrackingWrapperProps) { @@ -34,15 +33,18 @@ export default function EnterDetailsTrackingWrapper({ breakfastPackages: state.breakfastPackages, })) + const searchHistory = useSearchHistory() + const searchTerm = searchHistory.searchHistory[0]?.name + const { hotelsTrackingData, pageTrackingData, ancillaries } = getTracking( booking, hotel, rooms, - city, isMember, lang, storedRooms, - breakfastPackages + breakfastPackages, + searchTerm ) return ( , hotel: Hotel, rooms: Room[], - city: string | undefined, isMember: boolean, lang: Lang, storedRooms: RoomState[], - breakfastPackages: BreakfastPackages + breakfastPackages: BreakfastPackages, + searchTerm?: string ) { const arrivalDate = new Date(booking.fromDate) const departureDate = new Date(booking.toDate) @@ -185,12 +185,14 @@ export function getTracking( rewardNightAvailability: booking.searchType === REDEMPTION ? "true" : "false", roomPrice: calcTotalRoomPrice(storedRooms, isMember), + roomTypeCode: rooms.map((room) => room.roomTypeCode).join("|"), + roomTypeName: rooms.map((room) => room.roomType).join("|"), totalPrice: calcTotalPrice(storedRooms, isMember), points: // @ts-expect-error - redemption object doesn't exist error rooms.find((room) => "redemption" in room.roomRate)?.roomRate.redemption .localPrice.pointsPerStay ?? "n/a", - searchTerm: city, + searchTerm, searchType: "hotel", specialRoomType: rooms .map((room) => getSpecialRoomType(room.packages)) diff --git a/apps/scandic-web/components/Forms/BookingWidget/FormContent/Search/useSearchHistory.ts b/apps/scandic-web/hooks/useSearchHistory.ts similarity index 100% rename from apps/scandic-web/components/Forms/BookingWidget/FormContent/Search/useSearchHistory.ts rename to apps/scandic-web/hooks/useSearchHistory.ts