Merged in feat/sw-3545-update-sas-userinfo-tracking (pull request #2982)
feat(SW-3545): Update partner-sas userinfo tracking * Update loginType to eurobonus * Remove tracking booking code properties when disabled * Add EB user data to tracking * Fix type issue Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
import { TrackingSDK } from "@scandic-hotels/tracking/TrackingSDK"
|
||||
|
||||
import { useBookingFlowConfig } from "../../../bookingFlowConfig/bookingFlowConfigContext"
|
||||
import { useSearchHistory } from "../../../hooks/useSearchHistory"
|
||||
import { useEnterDetailsStore } from "../../../stores/enter-details"
|
||||
import { getTracking } from "./tracking"
|
||||
@@ -31,7 +32,7 @@ export default function EnterDetailsTrackingWrapper({
|
||||
storedRooms: state.rooms,
|
||||
breakfastPackages: state.breakfastPackages,
|
||||
}))
|
||||
|
||||
const config = useBookingFlowConfig()
|
||||
const searchHistory = useSearchHistory()
|
||||
const searchTerm = searchHistory.searchHistory[0]?.name
|
||||
|
||||
@@ -43,6 +44,7 @@ export default function EnterDetailsTrackingWrapper({
|
||||
lang,
|
||||
storedRooms,
|
||||
breakfastPackages,
|
||||
config,
|
||||
searchTerm
|
||||
)
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ import type {
|
||||
Product,
|
||||
} from "@scandic-hotels/trpc/types/roomAvailability"
|
||||
|
||||
import type { BookingFlowConfig } from "../../../bookingFlowConfig/bookingFlowConfig"
|
||||
import type { RoomState } from "../../../stores/enter-details/types"
|
||||
import type { DetailsBooking } from "../../../utils/url"
|
||||
|
||||
@@ -35,6 +36,7 @@ export function getTracking(
|
||||
lang: Lang,
|
||||
storedRooms: RoomState[],
|
||||
breakfastPackages: BreakfastPackages,
|
||||
config: Pick<BookingFlowConfig, "bookingCodeEnabled">,
|
||||
searchTerm?: string
|
||||
) {
|
||||
const arrivalDate = new Date(booking.fromDate)
|
||||
@@ -62,15 +64,7 @@ export function getTracking(
|
||||
siteSections: "hotelreservation|details",
|
||||
siteVersion: "new-web",
|
||||
}
|
||||
const hotelsTrackingData: TrackingSDKHotelInfo = {
|
||||
ageOfChildren: booking.rooms
|
||||
.map((room) => room.childrenInRoom?.map((kid) => kid.age).join(",") ?? "")
|
||||
.join("|"),
|
||||
analyticsRateCode: rooms.map((room) => room.rate).join("|"),
|
||||
arrivalDate: format(arrivalDate, "yyyy-MM-dd"),
|
||||
bedType: storedRooms
|
||||
.map((r) => (r.room.bedType ? r.room.bedType.type : ""))
|
||||
.join("|"),
|
||||
const bookingCodeProperties = {
|
||||
// Comma separated booking code values in "code,code,n/a" format for multiroom and "code" or "n/a" for singleroom
|
||||
// n/a is used whenever code is Not applicable as defined by Tracking team
|
||||
bookingCode: rooms
|
||||
@@ -82,6 +76,17 @@ export function getTracking(
|
||||
.map((room) => (room.roomRate.bookingCode ? "true" : "false"))
|
||||
.join(", ")
|
||||
: undefined,
|
||||
}
|
||||
const hotelsTrackingData: TrackingSDKHotelInfo = {
|
||||
ageOfChildren: booking.rooms
|
||||
.map((room) => room.childrenInRoom?.map((kid) => kid.age).join(",") ?? "")
|
||||
.join("|"),
|
||||
analyticsRateCode: rooms.map((room) => room.rate).join("|"),
|
||||
arrivalDate: format(arrivalDate, "yyyy-MM-dd"),
|
||||
bedType: storedRooms
|
||||
.map((r) => (r.room.bedType ? r.room.bedType.type : ""))
|
||||
.join("|"),
|
||||
...(config.bookingCodeEnabled ? bookingCodeProperties : null),
|
||||
bookingTypeofDay: isWeekend(arrivalDate) ? "weekend" : "weekday",
|
||||
breakfastOption,
|
||||
childBedPreference: booking.rooms
|
||||
|
||||
Reference in New Issue
Block a user