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"
|
"use client"
|
||||||
|
import { differenceInCalendarDays } from "date-fns"
|
||||||
import { useWatch } from "react-hook-form"
|
import { useWatch } from "react-hook-form"
|
||||||
import { useIntl } from "react-intl"
|
import { useIntl } from "react-intl"
|
||||||
|
|
||||||
@@ -45,7 +46,20 @@ export default function FinalConfirmation({
|
|||||||
onSuccess(data, variables) {
|
onSuccess(data, variables) {
|
||||||
for (const confirmationNumber of data) {
|
for (const confirmationNumber of data) {
|
||||||
if (confirmationNumber) {
|
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)
|
const allCancellationsWentThrough = data.every((cancelled) => cancelled)
|
||||||
|
|||||||
@@ -16,7 +16,10 @@ export function trackEvent(data: any) {
|
|||||||
logger.error("Error getting sessionId from sessionStorage", e)
|
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.adobeDataLayer.push(data)
|
||||||
window.dataLayer.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 { Room } from "@/types/stores/my-stay"
|
||||||
import type { BreakfastData } from "@/stores/my-stay/add-ancillary-flow"
|
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({
|
trackEvent({
|
||||||
event: "BookingCancellations",
|
event: "BookingCancellations",
|
||||||
hotelInfo: {
|
hotelInfo: {
|
||||||
hotelId: hotelId,
|
hotelId: hotelId,
|
||||||
|
duration,
|
||||||
|
roomPrice,
|
||||||
bnr: bnr,
|
bnr: bnr,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user