diff --git a/apps/scandic-web/components/HotelReservation/MyStay/ReferenceCard/Actions/NotCancelled/ManageStay/Actions/CancelStay/Steps/FinalConfirmation/index.tsx b/apps/scandic-web/components/HotelReservation/MyStay/ReferenceCard/Actions/NotCancelled/ManageStay/Actions/CancelStay/Steps/FinalConfirmation/index.tsx index 4937f526c..de65aa4c6 100644 --- a/apps/scandic-web/components/HotelReservation/MyStay/ReferenceCard/Actions/NotCancelled/ManageStay/Actions/CancelStay/Steps/FinalConfirmation/index.tsx +++ b/apps/scandic-web/components/HotelReservation/MyStay/ReferenceCard/Actions/NotCancelled/ManageStay/Actions/CancelStay/Steps/FinalConfirmation/index.tsx @@ -1,4 +1,5 @@ "use client" +import { differenceInCalendarDays } from "date-fns" import { useWatch } from "react-hook-form" import { useIntl } from "react-intl" @@ -45,7 +46,20 @@ export default function FinalConfirmation({ onSuccess(data, variables) { for (const confirmationNumber of data) { if (confirmationNumber) { - trackCancelStay(bookedRoom.hotelId, confirmationNumber) + const room = rooms.find( + (room) => room.confirmationNumber === confirmationNumber + ) + const duration = differenceInCalendarDays( + bookedRoom.checkOutDate, + bookedRoom.checkInDate + ) + const roomPrice = room?.roomPrice.perStay.local.price + trackCancelStay( + bookedRoom.hotelId, + duration, + confirmationNumber, + roomPrice + ) } } const allCancellationsWentThrough = data.every((cancelled) => cancelled) diff --git a/apps/scandic-web/utils/tracking/base.ts b/apps/scandic-web/utils/tracking/base.ts index 34c9ecd07..57457cbcc 100644 --- a/apps/scandic-web/utils/tracking/base.ts +++ b/apps/scandic-web/utils/tracking/base.ts @@ -16,7 +16,10 @@ export function trackEvent(data: any) { logger.error("Error getting sessionId from sessionStorage", e) } - data = { ...data, siteVersion: "new-web", sessionId } + data = { + ...data, + pageInfo: { ...data?.pageInfo, siteVersion: "new-web", sessionId }, + } window.adobeDataLayer.push(data) window.dataLayer.push(data) diff --git a/apps/scandic-web/utils/tracking/myStay.ts b/apps/scandic-web/utils/tracking/myStay.ts index 643855842..327ab582b 100644 --- a/apps/scandic-web/utils/tracking/myStay.ts +++ b/apps/scandic-web/utils/tracking/myStay.ts @@ -10,11 +10,18 @@ import type { SelectedAncillary } from "@/types/components/myPages/myStay/ancill import type { Room } from "@/types/stores/my-stay" import type { BreakfastData } from "@/stores/my-stay/add-ancillary-flow" -export function trackCancelStay(hotelId: string, bnr: string) { +export function trackCancelStay( + hotelId: string, + duration: number, + bnr: string, + roomPrice?: number +) { trackEvent({ event: "BookingCancellations", hotelInfo: { hotelId: hotelId, + duration, + roomPrice, bnr: bnr, }, })