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
This commit is contained in:
Bianca Widstam
2025-03-27 14:09:39 +00:00
parent 65f75c11ef
commit a28fa67195
2 changed files with 35 additions and 0 deletions

View File

@@ -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
? {

View File

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