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, + }, + }) +}