diff --git a/app/[lang]/(live)/(public)/hotelreservation/(standard)/step/enterDetailsTracking.tsx b/app/[lang]/(live)/(public)/hotelreservation/(standard)/step/enterDetailsTracking.tsx
index 0fc33acf4..36ea41182 100644
--- a/app/[lang]/(live)/(public)/hotelreservation/(standard)/step/enterDetailsTracking.tsx
+++ b/app/[lang]/(live)/(public)/hotelreservation/(standard)/step/enterDetailsTracking.tsx
@@ -115,7 +115,10 @@ export default function EnterDetailsTracking(props: Props) {
bedType: bedType?.description,
roomTypeCode: bedType?.roomTypeCode,
roomPrice: roomPrice.perStay.local.price,
- //discount: public - member rates?.
+ discount: roomRate.memberRate
+ ? roomRate.publicRate.localPrice.pricePerStay -
+ roomRate.memberRate.localPrice.pricePerStay
+ : 0,
}
return data
diff --git a/components/HotelReservation/BookingConfirmation/index.tsx b/components/HotelReservation/BookingConfirmation/index.tsx
index a93a93346..dbe6586e9 100644
--- a/components/HotelReservation/BookingConfirmation/index.tsx
+++ b/components/HotelReservation/BookingConfirmation/index.tsx
@@ -13,6 +13,7 @@ import {
TrackingChannelEnum,
type TrackingSDKHotelInfo,
type TrackingSDKPageData,
+ type TrackingSDKPaymentInfo,
} from "@/types/components/tracking"
import { CurrencyEnum } from "@/types/enums/currency"
@@ -69,6 +70,10 @@ export default async function BookingConfirmation({
bnr: booking.confirmationNumber ?? undefined,
}
+ const paymentInfo: TrackingSDKPaymentInfo = {
+ paymentStatus: "confirmed",
+ }
+
return (
<>
@@ -76,6 +81,7 @@ export default async function BookingConfirmation({
>
diff --git a/components/TrackingSDK/RouterTransition.tsx b/components/TrackingSDK/RouterTransition.tsx
index 5c21a6cda..4cbda687d 100644
--- a/components/TrackingSDK/RouterTransition.tsx
+++ b/components/TrackingSDK/RouterTransition.tsx
@@ -29,6 +29,7 @@ export default function RouterTransition({
pageData,
userData,
hotelInfo,
+ paymentInfo,
}: TrackingSDKProps) {
const [loading, setLoading] = useOptimistic(false)
const [status, setStatus] = useState(
@@ -64,6 +65,7 @@ export default function RouterTransition({
pageInfo: pageObject,
userInfo: userData,
hotelInfo: hotelInfo,
+ paymentInfo,
})
perfObserver.disconnect()
@@ -76,7 +78,16 @@ export default function RouterTransition({
hasRunInitial.current = true
setHasRun()
}
- }, [pathName, hasRun, setHasRun, hotelInfo, userData, pageData, sessionId])
+ }, [
+ pathName,
+ hasRun,
+ setHasRun,
+ hotelInfo,
+ userData,
+ pageData,
+ sessionId,
+ paymentInfo,
+ ])
useEffect(() => {
if (isTransitioning && status === TransitionStatusEnum.NotRun) {
@@ -115,6 +126,7 @@ export default function RouterTransition({
pageInfo: pageObject,
userInfo: userData,
hotelInfo: hotelInfo,
+ paymentInfo,
})
}
}
@@ -131,6 +143,7 @@ export default function RouterTransition({
getPageLoadTime,
hasRun,
sessionId,
+ paymentInfo,
])
return null
diff --git a/components/TrackingSDK/index.tsx b/components/TrackingSDK/index.tsx
index 1ba49d695..e9bcaa3a0 100644
--- a/components/TrackingSDK/index.tsx
+++ b/components/TrackingSDK/index.tsx
@@ -5,6 +5,7 @@ import RouterTransition from "@/components/TrackingSDK/RouterTransition"
import type {
TrackingSDKHotelInfo,
TrackingSDKPageData,
+ TrackingSDKPaymentInfo,
} from "@/types/components/tracking"
export const preloadUserTracking = () => {
@@ -14,9 +15,11 @@ export const preloadUserTracking = () => {
export default async function TrackingSDK({
pageData,
hotelInfo,
+ paymentInfo,
}: {
pageData: TrackingSDKPageData
hotelInfo?: TrackingSDKHotelInfo
+ paymentInfo?: TrackingSDKPaymentInfo
}) {
const userTrackingData = await getUserTracking()
@@ -25,6 +28,7 @@ export default async function TrackingSDK({
pageData={pageData}
userData={userTrackingData}
hotelInfo={hotelInfo}
+ paymentInfo={paymentInfo}
/>
)
}
diff --git a/env/server.ts b/env/server.ts
index 831e60df6..5c389b330 100644
--- a/env/server.ts
+++ b/env/server.ts
@@ -93,7 +93,7 @@ export const env = createEnv({
.refine((s) => s === "true" || s === "false")
// transform to boolean
.transform((s) => s === "true")
- .default("false"),
+ .default("true"),
ENABLE_BOOKING_WIDGET: z
.string()
// only allow "true" or "false"
@@ -107,7 +107,7 @@ export const env = createEnv({
.refine((s) => s === "true" || s === "false")
// transform to boolean
.transform((s) => s === "true")
- .default("false"),
+ .default("true"),
SHOW_SITE_WIDE_ALERT: z
.string()
// only allow "true" or "false"
diff --git a/types/components/tracking.ts b/types/components/tracking.ts
index af8eaaf22..7226da977 100644
--- a/types/components/tracking.ts
+++ b/types/components/tracking.ts
@@ -84,10 +84,21 @@ export type TrackingSDKHotelInfo = {
searchType?: "destination" | "hotel"
}
+export type TrackingSDKPaymentInfo = {
+ edccCurrencyFrom?: string
+ edccCurrencyTo?: string
+ isedcc?: string
+ isSavedCard?: boolean
+ isCreditCard?: boolean
+ paymentStatus?: "confirmed"
+ paymentType?: string
+}
+
export type TrackingSDKProps = {
pageData: TrackingSDKPageData
userData: TrackingSDKUserData
hotelInfo?: TrackingSDKHotelInfo
+ paymentInfo?: TrackingSDKPaymentInfo
}
export type TrackingSDKData = TrackingSDKPageData & {