From fd6909add5848c9c1c72a6a7df85f34a54df627f Mon Sep 17 00:00:00 2001 From: Linus Flood Date: Thu, 20 Nov 2025 13:50:40 +0000 Subject: [PATCH] Merged in feat/book-595-gla-tracking (pull request #3187) feat(BOOK-595): add pageview tracking to gla-callback and get-booking pages * feat(BOOK-595): add pageview tracking to gla-callback and get-booking pages Approved-by: Bianca Widstam --- .../payment-callback/[status]/page.tsx | 32 +++++++++++++---- .../gla-payment-callback/page.tsx | 34 ++++++++++++++----- .../payment-callback/page.tsx | 34 ++++++++++++++----- .../hotelreservation/get-booking/page.tsx | 26 +++++++++++++- .../gla-payment-callback/page.tsx | 34 ++++++++++++++----- 5 files changed, 128 insertions(+), 32 deletions(-) diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/[status]/page.tsx b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/[status]/page.tsx index c5b7856ed..59f618f5b 100644 --- a/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/[status]/page.tsx +++ b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/[status]/page.tsx @@ -1,5 +1,10 @@ import { PaymentCallbackPage as PaymentCallbackPagePrimitive } from "@scandic-hotels/booking-flow/pages/PaymentCallbackPage" import { logger } from "@scandic-hotels/common/logger" +import { TrackingSDK } from "@scandic-hotels/tracking/TrackingSDK" +import { + TrackingChannelEnum, + type TrackingSDKPageData, +} from "@scandic-hotels/tracking/types" import { bookingFlowConfig } from "@/constants/bookingFlowConfig" @@ -23,13 +28,26 @@ export default async function PaymentCallbackPage( userAccessToken = session.access_token } + const pageTrackingData: TrackingSDKPageData = { + pageId: "payment-callback", + domainLanguage: lang, + channel: TrackingChannelEnum["hotelreservation"], + pageName: "payment-callback", + siteSections: "hotelreservation|payment-callback", + pageType: "hotelreservationspayment-callback", + siteVersion: "new-web", + } + return ( - + <> + + + ) } diff --git a/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(payment-callback)/gla-payment-callback/page.tsx b/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(payment-callback)/gla-payment-callback/page.tsx index 1b7b62a14..495d1f341 100644 --- a/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(payment-callback)/gla-payment-callback/page.tsx +++ b/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(payment-callback)/gla-payment-callback/page.tsx @@ -2,6 +2,11 @@ import { notFound } from "next/navigation" import { myStay } from "@scandic-hotels/common/constants/routes/myStay" import { logger } from "@scandic-hotels/common/logger" +import { TrackingSDK } from "@scandic-hotels/tracking/TrackingSDK" +import { + TrackingChannelEnum, + type TrackingSDKPageData, +} from "@scandic-hotels/tracking/types" import GuaranteeCallbackPage from "@/components/GuaranteeCallback" @@ -29,14 +34,27 @@ export default async function GuaranteePaymentCallbackPage( } const myStayUrl = `${myStay[lang]}?RefId=${encodeURIComponent(refId)}` + const pageTrackingData: TrackingSDKPageData = { + pageId: "gla-payment-callback", + domainLanguage: lang, + channel: TrackingChannelEnum["hotelreservation"], + pageName: "gla-payment-callback", + siteSections: "hotelreservation|gla-payment-callback", + pageType: "hotelreservationsgla-payment-callback", + siteVersion: "new-web", + } + return ( - + <> + + + ) } diff --git a/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(payment-callback)/payment-callback/page.tsx b/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(payment-callback)/payment-callback/page.tsx index 214836411..a22d599ca 100644 --- a/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(payment-callback)/payment-callback/page.tsx +++ b/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/(payment-callback)/payment-callback/page.tsx @@ -1,5 +1,10 @@ import { PaymentCallbackPage as PaymentCallbackPagePrimitive } from "@scandic-hotels/booking-flow/pages/PaymentCallbackPage" import { logger } from "@scandic-hotels/common/logger" +import { TrackingSDK } from "@scandic-hotels/tracking/TrackingSDK" +import { + TrackingChannelEnum, + type TrackingSDKPageData, +} from "@scandic-hotels/tracking/types" import { isValidSession } from "@scandic-hotels/trpc/utils/session" import { bookingFlowConfig } from "@/constants/bookingFlowConfig" @@ -23,14 +28,27 @@ export default async function PaymentCallbackPage( userAccessToken = session.token.access_token } + const pageTrackingData: TrackingSDKPageData = { + pageId: "payment-callback", + domainLanguage: lang, + channel: TrackingChannelEnum["hotelreservation"], + pageName: "payment-callback", + siteSections: "hotelreservation|payment-callback", + pageType: "hotelreservationspayment-callback", + siteVersion: "new-web", + } + return ( - + <> + + + ) } diff --git a/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/get-booking/page.tsx b/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/get-booking/page.tsx index bac6659cb..35b05864d 100644 --- a/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/get-booking/page.tsx +++ b/apps/scandic-web/app/[lang]/(live)/(public)/hotelreservation/get-booking/page.tsx @@ -1,11 +1,35 @@ +import { TrackingSDK } from "@scandic-hotels/tracking/TrackingSDK" +import { + TrackingChannelEnum, + type TrackingSDKPageData, +} from "@scandic-hotels/tracking/types" + import FindMyBooking from "@/components/HotelReservation/FindMyBooking" import { getIntl } from "@/i18n" import styles from "./page.module.css" -export default function GetBookingPage() { +import type { Lang } from "@scandic-hotels/common/constants/language" + +export default async function GetBookingPage( + props: PageProps<"/[lang]/hotelreservation/get-booking"> +) { + const params = await props.params + const lang = params.lang as Lang + + const pageTrackingData: TrackingSDKPageData = { + pageId: "get-booking", + domainLanguage: lang, + channel: TrackingChannelEnum["hotelreservation"], + pageName: "get-booking", + siteSections: "hotelreservation|get-booking", + pageType: "hotelreservationsget-booking", + siteVersion: "new-web", + } + return (
+
diff --git a/apps/scandic-web/app/[lang]/webview/(views)/hotelreservation/gla-payment-callback/page.tsx b/apps/scandic-web/app/[lang]/webview/(views)/hotelreservation/gla-payment-callback/page.tsx index a11949b5c..3ee4c1698 100644 --- a/apps/scandic-web/app/[lang]/webview/(views)/hotelreservation/gla-payment-callback/page.tsx +++ b/apps/scandic-web/app/[lang]/webview/(views)/hotelreservation/gla-payment-callback/page.tsx @@ -1,6 +1,11 @@ import { notFound } from "next/navigation" import { logger } from "@scandic-hotels/common/logger" +import { TrackingSDK } from "@scandic-hotels/tracking/TrackingSDK" +import { + TrackingChannelEnum, + type TrackingSDKPageData, +} from "@scandic-hotels/tracking/types" import { myStay } from "@/constants/routes/webviews" @@ -28,15 +33,28 @@ export default async function GuaranteePaymentWebViewCallbackPage( } const myStayUrl = `${myStay[lang]}?RefId=${encodeURIComponent(refId)}` + const pageTrackingData: TrackingSDKPageData = { + pageId: "webview|gla-payment-callback", + domainLanguage: lang, + channel: TrackingChannelEnum["hotelreservation"], + pageName: "webview|gla-payment-callback", + siteSections: "webview|hotelreservation|gla-payment-callback", + pageType: "hotelreservationsgla-payment-callback", + siteVersion: "new-web", + } + logger.debug(`[gla-payment-callback] callback started`) return ( - + <> + + + ) }