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:
Bianca Widstam
2025-10-15 14:21:41 +00:00
parent 33f4952d94
commit e2403e11b3
3 changed files with 42 additions and 3 deletions

View File

@@ -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",
},
})
}