Merged in feat/SW-1355-reward-night-booking-tracking (pull request #1758)
feat: SW-1355 Tracking implementation reward night booking * feat: SW-1355 Tracking implementation reward night booking * feat: SW-1355 Updated checks and optional params * feat: SW-1355 Typings updated * feat: SW-1355 Removed undefined check * feat: SW-1355 optimized code Approved-by: Christian Andolf
This commit is contained in:
@@ -73,6 +73,11 @@ export async function SelectHotelMapContainer({
|
||||
|
||||
const arrivalDate = new Date(selectHotelParams.fromDate)
|
||||
const departureDate = new Date(selectHotelParams.toDate)
|
||||
const isRedemptionAvailability = redemption
|
||||
? hotels.some(
|
||||
(hotel) => hotel.availability.productType?.redemptions?.length
|
||||
)
|
||||
: false
|
||||
|
||||
const isBookingCodeRateAvailable = bookingCode
|
||||
? hotels?.some(
|
||||
@@ -97,7 +102,9 @@ export async function SelectHotelMapContainer({
|
||||
hotels?.[0]?.hotel.address.city,
|
||||
selectHotelParams.city,
|
||||
bookingCode,
|
||||
isBookingCodeRateAvailable
|
||||
isBookingCodeRateAvailable,
|
||||
redemption,
|
||||
isRedemptionAvailability
|
||||
)
|
||||
|
||||
return (
|
||||
|
||||
@@ -24,7 +24,9 @@ export function getTracking(
|
||||
hotelCity: string | undefined,
|
||||
paramCity: string | undefined,
|
||||
bookingCode?: string,
|
||||
isBookingCodeRateAvailable?: boolean
|
||||
isBookingCodeRateAvailable?: boolean,
|
||||
isRedemption?: boolean,
|
||||
isRedemptionAvailability?: boolean
|
||||
) {
|
||||
const pageTrackingData: TrackingSDKPageData = {
|
||||
channel: TrackingChannelEnum["hotelreservation"],
|
||||
@@ -60,6 +62,8 @@ export function getTracking(
|
||||
noOfChildren: childrenInRoom?.map((kids) => kids?.length ?? 0).join(","),
|
||||
noOfRooms,
|
||||
region: hotelCity,
|
||||
rewardNight: isRedemption ? "yes" : "no",
|
||||
rewardNightAvailability: isRedemptionAvailability ? "true" : "false",
|
||||
searchTerm: isAlternativeFor ? hotelId : (paramCity as string),
|
||||
searchType: "destination",
|
||||
}
|
||||
|
||||
@@ -118,6 +118,11 @@ export default async function SelectHotel({
|
||||
]
|
||||
|
||||
const isAllUnavailable = !hotels.length
|
||||
const isRedemptionAvailability = redemption
|
||||
? hotels.some(
|
||||
(hotel) => hotel.availability.productType?.redemptions?.length
|
||||
)
|
||||
: false
|
||||
|
||||
const suspenseKey = stringify(searchParams)
|
||||
|
||||
@@ -155,7 +160,9 @@ export default async function SelectHotel({
|
||||
hotels?.[0]?.hotel.address.city,
|
||||
selectHotelParams.city,
|
||||
bookingCode,
|
||||
isBookingCodeRateAvailable ? "true" : "false"
|
||||
isBookingCodeRateAvailable ? "true" : "false",
|
||||
redemption,
|
||||
isRedemptionAvailability
|
||||
)
|
||||
|
||||
// Special rates (corporate cheque, voucher and reward nights) will not have regular rate hotels availability
|
||||
|
||||
@@ -23,7 +23,9 @@ export function getTracking(
|
||||
hotelCity: string | undefined,
|
||||
paramCity: string | undefined,
|
||||
bookingCode?: string,
|
||||
isBookingCodeRateAvailable?: string
|
||||
isBookingCodeRateAvailable?: string,
|
||||
isRedemption?: boolean,
|
||||
isRedemptionAvailable?: boolean
|
||||
) {
|
||||
const pageTrackingData: TrackingSDKPageData = {
|
||||
channel: TrackingChannelEnum["hotelreservation"],
|
||||
@@ -63,6 +65,8 @@ export function getTracking(
|
||||
bookingCodeAvailability: bookingCode
|
||||
? isBookingCodeRateAvailable
|
||||
: undefined,
|
||||
rewardNight: isRedemption ? "yes" : "no",
|
||||
rewardNightAvailability: isRedemptionAvailable ? "true" : "false",
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user