fix: filter out room availability based on packages

This commit is contained in:
Christel Westerberg
2024-11-12 08:45:14 +01:00
parent 43ef48e2c7
commit dbb5367df2
4 changed files with 41 additions and 12 deletions

View File

@@ -624,6 +624,7 @@ export const hotelQueryRouter = router({
attachedProfileId,
rateCode,
roomTypeCode,
packageCodes,
} = input
const params: Record<string, string | number | undefined> = {
@@ -723,17 +724,35 @@ export const hotelQueryRouter = router({
ctx.serviceToken
)
const selectedRoom = validateAvailabilityData.data.roomConfigurations
.filter((room) => room.status === "Available")
.find((room) => room.roomTypeCode === roomTypeCode)
console.log({ packageCodes })
const availableRoomsInCategory =
validateAvailabilityData.data.roomConfigurations.filter(
(room) =>
room.status === "Available" &&
room.roomType === selectedRoom?.roomType
)
const availableRooms =
validateAvailabilityData.data.roomConfigurations.filter((room) => {
if (packageCodes) {
return (
room.status === "Available" &&
room.features.some(
(feature) =>
packageCodes.includes(feature.code) && feature.inventory > 0
)
)
}
return room.status === "Available"
})
console.log("hrteij", JSON.stringify(availableRooms, null, 4))
const selectedRoom = availableRooms.find(
(room) => room.roomTypeCode === roomTypeCode
)
const availableRoomsInCategory = availableRooms.filter(
(room) => room.roomType === selectedRoom?.roomType
)
console.log(
"availableRoomsInCategory",
JSON.stringify(availableRoomsInCategory, null, 4)
)
if (!selectedRoom) {
console.error("No matching room found")
return null