Merged in fix/SW-2418-tracking-booking-cancellations (pull request #2500)
fix(SW-2418): add duration and price to booking cancellations tracking * fix(SW-2418): add duration and price to booking cancellations tracking * fix(SW-2418): move sessionId and siteVersion inside the pageInfo object Approved-by: Matilda Landström
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user