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:
Hrishikesh Vaipurkar
2025-04-14 11:10:03 +00:00
parent 51a0855fc1
commit 1c5b116ed8
10 changed files with 54 additions and 13 deletions

View File

@@ -51,12 +51,17 @@ export default function Rooms() {
}))
)
)
const lowestPrice = pricesWithCurrencies.reduce(
(minPrice, { price }) => Math.min(minPrice, price),
Infinity
)
const currency = pricesWithCurrencies[0]?.currency
// Specific n/a when no prices available in reward night and voucher scenarios
const lowestPrice = pricesWithCurrencies.length
? pricesWithCurrencies
.reduce((minPrice, { price }) => Math.min(minPrice, price), Infinity)
.toString()
: "n/a"
const currency = pricesWithCurrencies.length
? pricesWithCurrencies[0]?.currency
: "n/a"
trackLowestRoomPrice({
hotelId,

View File

@@ -2,6 +2,7 @@ import stringify from "json-stable-stringify-without-jsonify"
import { notFound } from "next/navigation"
import { Suspense } from "react"
import { REDEMPTION } from "@/constants/booking"
import { getHotel } from "@/lib/trpc/memoizedRequests"
import { auth } from "@/auth"
@@ -70,7 +71,8 @@ export default async function SelectRatePage({
hotelData.hotel.address.country,
hotelData.hotel.address.city,
selectHotelParams.city,
bookingCode
bookingCode,
selectHotelParams.searchType === REDEMPTION
)
const booking = convertSearchParamsToObj<SelectRateSearchParams>(searchParams)

View File

@@ -21,7 +21,8 @@ export function getTracking(
country: string | undefined,
hotelCity: string | undefined,
paramCity: string | undefined,
bookingCode?: string
bookingCode?: string,
isRedemption?: boolean
) {
const pageTrackingData: TrackingSDKPageData = {
channel: TrackingChannelEnum.hotelreservation,
@@ -54,6 +55,7 @@ export function getTracking(
searchTerm: paramCity ?? hotelName,
searchType: "hotel",
bookingCode: bookingCode ?? "n/a",
rewardNight: isRedemption ? "yes" : "no",
}
return {