From a28fa671950456ed324f2614dc138ccce5ec0925 Mon Sep 17 00:00:00 2001 From: Bianca Widstam Date: Thu, 27 Mar 2025 14:09:39 +0000 Subject: [PATCH] Merged in feat/SW-1996-tracking-gla-my-stay (pull request #1625) Feat/SW-1996 tracking gla my stay * feat(SW-1996): tracking gla my stay * feat(SW-1996): update gla tracking * feat(SW-1996): update gla tracking * feat(SW-1996): fix comment * feat(SW-1996): fix camelCase Approved-by: Niclas Edenvin Approved-by: Erik Tiekstra --- .../MyStay/GuaranteeLateArrival/index.tsx | 7 +++++ apps/scandic-web/utils/tracking/myStay.ts | 28 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/apps/scandic-web/components/HotelReservation/MyStay/GuaranteeLateArrival/index.tsx b/apps/scandic-web/components/HotelReservation/MyStay/GuaranteeLateArrival/index.tsx index 71d1d7bfc..76d35e8ff 100644 --- a/apps/scandic-web/components/HotelReservation/MyStay/GuaranteeLateArrival/index.tsx +++ b/apps/scandic-web/components/HotelReservation/MyStay/GuaranteeLateArrival/index.tsx @@ -26,6 +26,7 @@ import { toast } from "@/components/TempDesignSystem/Toasts" import { useGuaranteeBooking } from "@/hooks/booking/useGuaranteeBooking" import useLang from "@/hooks/useLang" import { formatPrice } from "@/utils/numberFormatting" +import { trackGlaSaveCardAttempt } from "@/utils/tracking/myStay" import MySavedCards from "../../EnterDetails/Payment/MySavedCards" import PaymentOption from "../../EnterDetails/Payment/PaymentOption" @@ -82,6 +83,12 @@ export default function GuaranteeLateArrival({ const savedCreditCard = savedCreditCards?.find( (card) => card.id === data.paymentMethod ) + trackGlaSaveCardAttempt( + bookedRoom.hotelId, + data.paymentMethod, + savedCreditCard, + "yes" + ) if (bookedRoom.confirmationNumber) { const card = savedCreditCard ? { diff --git a/apps/scandic-web/utils/tracking/myStay.ts b/apps/scandic-web/utils/tracking/myStay.ts index e4f94fe34..99fb660ce 100644 --- a/apps/scandic-web/utils/tracking/myStay.ts +++ b/apps/scandic-web/utils/tracking/myStay.ts @@ -1,5 +1,9 @@ +import { PaymentMethodEnum } from "@/constants/booking" + import { trackEvent } from "./base" +import type { CreditCard } from "@/types/user" + export function trackCancelStay(hotelId: string, bnr: string) { trackEvent({ event: "BookingCancellations", @@ -18,3 +22,27 @@ export function trackMyStayPageLink(ctaName: string) { }, }) } + +type LateArrivalGuarantee = "mandatory" | "yes" | "no" | "na" + +export function trackGlaSaveCardAttempt( + hotelId: string, + paymentMethod: string | null, + savedCreditCard: CreditCard | undefined, + lateArrivalGuarantee: LateArrivalGuarantee +) { + trackEvent({ + event: "glaCardSaveAttempt", + hotelInfo: { + hotelId, + lateArrivalGuarantee, + guaranteedProduct: "room", + }, + paymentInfo: { + isCreditCard: paymentMethod === PaymentMethodEnum.card, + isSavedCreditCard: !!savedCreditCard, + status: "glacardsaveattempt", + type: savedCreditCard?.cardType, + }, + }) +}