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:
Anton Gunnarsson
2025-10-17 09:35:37 +00:00
parent c01f440651
commit 710309b7eb
17 changed files with 100 additions and 41 deletions

View File

@@ -10,6 +10,7 @@ import { ChildBedMapEnum } from "@scandic-hotels/trpc/enums/childBedMapEnum"
import type { Lang } from "@scandic-hotels/common/constants/language"
import type { Child } from "@scandic-hotels/trpc/types/child"
import type { BookingFlowConfig } from "../bookingFlowConfig/bookingFlowConfig"
import type { SelectHotelBooking } from "../utils/url"
type ChildrenInRoom = (Child[] | null)[] | null
@@ -30,6 +31,7 @@ type SelectHotelTrackingInput = {
isBookingCodeRateAvailable?: boolean
isRedemption?: boolean
isRedemptionAvailable?: boolean
config: Pick<BookingFlowConfig, "bookingCodeEnabled">
}
export function getSelectHotelTracking({
@@ -45,6 +47,7 @@ export function getSelectHotelTracking({
hotelCity,
searchTerm,
bookingCode,
config,
isBookingCodeRateAvailable = false,
isRedemption = false,
isRedemptionAvailable = false,
@@ -69,16 +72,20 @@ export function getSelectHotelTracking({
childrenInRoom = rooms.map((room) => room.childrenInRoom ?? null)
}
const bookingCodeProperties = {
bookingCode: bookingCode ?? "n/a",
bookingCodeAvailability: bookingCode
? isBookingCodeRateAvailable.toString()
: undefined,
}
const hotelsTrackingData: TrackingSDKHotelInfo = {
ageOfChildren: childrenInRoom
?.map((c) => c?.map((k) => k.age).join(",") ?? "")
.join("|"),
arrivalDate: format(arrivalDate, "yyyy-MM-dd"),
availableResults: hotelsResult,
bookingCode: bookingCode ?? "n/a",
bookingCodeAvailability: bookingCode
? isBookingCodeRateAvailable.toString()
: undefined,
...(config.bookingCodeEnabled ? bookingCodeProperties : {}),
bookingTypeofDay: isWeekend(arrivalDate) ? "weekend" : "weekday",
childBedPreference: childrenInRoom
?.map((c) => c?.map((k) => ChildBedMapEnum[k.bed]).join(",") ?? "")