Merged in fix/BOOK-131-noroomsavailability-tracking (pull request #2971)
fix(BOOK-131): add action and domain * fix(BOOK-131): add action and domain Approved-by: Anton Gunnarsson
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
"use client"
|
||||
|
||||
import { differenceInCalendarDays, isWeekend } from "date-fns"
|
||||
import { usePathname } from "next/navigation"
|
||||
import { useEffect } from "react"
|
||||
|
||||
import { useSessionId } from "@scandic-hotels/common/hooks/useSessionId"
|
||||
import {
|
||||
TrackingChannelEnum,
|
||||
type TrackingSDKHotelInfo,
|
||||
@@ -11,6 +13,7 @@ import {
|
||||
import { SEARCH_TYPE_REDEMPTION } from "@scandic-hotels/trpc/constants/booking"
|
||||
|
||||
import { trackEvent } from "./base"
|
||||
import { createSDKPageObject } from "./pageview"
|
||||
|
||||
import type { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
@@ -27,10 +30,19 @@ export function NoAvailabilityTracking({
|
||||
hotelsTrackingData,
|
||||
pageTrackingData,
|
||||
}: NoAvailabilityTrackingProps) {
|
||||
const pathName = usePathname()
|
||||
const sessionId = useSessionId()
|
||||
|
||||
useEffect(() => {
|
||||
if (!shouldTrackNoAvailability) {
|
||||
return
|
||||
}
|
||||
const pageTracking = {
|
||||
...pageTrackingData,
|
||||
sessionId,
|
||||
pathName,
|
||||
}
|
||||
const pageObject = createSDKPageObject(pageTracking)
|
||||
const {
|
||||
searchTerm,
|
||||
searchType,
|
||||
@@ -49,6 +61,7 @@ export function NoAvailabilityTracking({
|
||||
hotelInfo: {
|
||||
searchTerm,
|
||||
searchType,
|
||||
action: "Hotel search",
|
||||
noRoomsAvailable: "yes",
|
||||
hotelID,
|
||||
leadTime,
|
||||
@@ -59,7 +72,7 @@ export function NoAvailabilityTracking({
|
||||
duration,
|
||||
specialRoomType,
|
||||
},
|
||||
pageInfo: pageTrackingData,
|
||||
pageInfo: pageObject,
|
||||
})
|
||||
}, [lang, hotelsTrackingData, pageTrackingData])
|
||||
|
||||
@@ -80,6 +93,8 @@ type TrackNoAvailabilityParams = {
|
||||
pageType: string
|
||||
siteSections: string
|
||||
lang: Lang
|
||||
sessionId: string | null
|
||||
domain?: string
|
||||
}
|
||||
|
||||
export function trackNoAvailability({
|
||||
@@ -96,6 +111,8 @@ export function trackNoAvailability({
|
||||
pageName,
|
||||
pageType,
|
||||
siteSections,
|
||||
sessionId,
|
||||
domain,
|
||||
}: TrackNoAvailabilityParams) {
|
||||
const arrivalDate = new Date(fromDate)
|
||||
const departureDate = new Date(toDate)
|
||||
@@ -105,6 +122,7 @@ export function trackNoAvailability({
|
||||
hotelInfo: {
|
||||
searchTerm,
|
||||
searchType,
|
||||
action: "Hotel search",
|
||||
noRoomsAvailable: "yes",
|
||||
hotelId,
|
||||
leadTime: differenceInCalendarDays(arrivalDate, new Date()),
|
||||
@@ -117,12 +135,14 @@ export function trackNoAvailability({
|
||||
},
|
||||
pageInfo: {
|
||||
channel: TrackingChannelEnum.hotelreservation,
|
||||
domain: "www.scandichotels.com",
|
||||
domain,
|
||||
domainLanguage: lang,
|
||||
pageId,
|
||||
pageName,
|
||||
pageType,
|
||||
siteSections,
|
||||
sessionId,
|
||||
siteVersion: "new-web",
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user