feat: SW-1879 Tracking enter-details sections * feat: SW-1879 Tracking enter-details sections * feat: SW-1879 removed onSelect to trigger in onSubmit * feat: SW-1879 Removed onSelect and triggered inside onSubmit * feat: SW-1879 Optimized to remove unnecessary useEffect triggers in every re-render * feat: SW-1879 Updated breakfast package typings * feat: SW-1879 Reverted RadioCardProps * feat: SW-1879 Optimised code Approved-by: Tobias Johansson Approved-by: Christian Andolf
81 lines
1.9 KiB
TypeScript
81 lines
1.9 KiB
TypeScript
import { trackEvent } from "./base"
|
|
|
|
import type { BreakfastPackages } from "@/types/components/hotelReservation/breakfast"
|
|
import type { LowestRoomPriceEvent } from "@/types/components/tracking"
|
|
|
|
export function trackLowestRoomPrice(event: LowestRoomPriceEvent) {
|
|
trackEvent({
|
|
event: "lowestRoomPrice",
|
|
hotelInfo: {
|
|
hotelId: event.hotelId,
|
|
arrivalDate: event.arrivalDate,
|
|
departureDate: event.departureDate,
|
|
},
|
|
viewItemInfo: {
|
|
lowestPrice: event.lowestPrice,
|
|
currency: event.currency,
|
|
},
|
|
})
|
|
}
|
|
|
|
// Tracking for sections of booking flow enter-details page
|
|
export function trackBedSelection(bedType: string) {
|
|
trackEvent({
|
|
event: "bedSelection",
|
|
selection: {
|
|
name: "bed options selection click",
|
|
bedType: bedType,
|
|
},
|
|
pageInfo: {
|
|
pageName: "hotelreservation|bed",
|
|
pageType: "bookingbedtypepage",
|
|
},
|
|
})
|
|
}
|
|
|
|
export function trackBreakfastSelection({
|
|
breakfastPackage,
|
|
hotelId,
|
|
units,
|
|
}: {
|
|
breakfastPackage: BreakfastPackages[number]
|
|
hotelId: string
|
|
units: number
|
|
}) {
|
|
trackEvent({
|
|
event: "breakfastSelection",
|
|
selection: {
|
|
name: "breakfast options selection click",
|
|
},
|
|
ancillaries: [
|
|
{
|
|
hotelId: hotelId,
|
|
productCategory: "",
|
|
productId: breakfastPackage.code,
|
|
productUnits: units,
|
|
productPrice: breakfastPackage.localPrice.price,
|
|
productPoints: 0,
|
|
productType: "food",
|
|
productName: breakfastPackage.packageType,
|
|
},
|
|
],
|
|
pageInfo: {
|
|
pageName: "hotelreservation|breakfast",
|
|
pageType: "bookingbreakfastpage",
|
|
},
|
|
})
|
|
}
|
|
|
|
export function trackPaymentSectionOpen() {
|
|
trackEvent({
|
|
event: "paymentSectionOpen",
|
|
selection: {
|
|
name: "payment section open",
|
|
},
|
|
pageInfo: {
|
|
pageName: "hotelreservation|payment",
|
|
pageType: "bookingpaymentpage",
|
|
},
|
|
})
|
|
}
|