feat: SW-1356 Reward night bookingflow * feat: SW-1356 Reward night bookingflow * feat: SW-1356 Removed extra param booking call * feat: SW-1356 Optimized as review comments * feat: SW-1356 Schema validation updates * feat: SW-1356 Fix after rebase * feat: SW-1356 Optimised price.redemptions check * feat: SW-1356 Updated Props naming Approved-by: Arvid Norlin
60 lines
1.5 KiB
TypeScript
60 lines
1.5 KiB
TypeScript
import { trpc } from "@/lib/trpc/client"
|
|
|
|
import { RoomPackageCodeEnum } from "@/types/components/hotelReservation/selectRate/roomFilter"
|
|
import type { Lang } from "@/constants/languages"
|
|
import type { ChildrenInRoom } from "@/utils/hotelSearchDetails"
|
|
|
|
export function useRoomsAvailability(
|
|
adultsCount: number[],
|
|
hotelId: string,
|
|
fromDateString: string,
|
|
toDateString: string,
|
|
lang: Lang,
|
|
childArray: ChildrenInRoom,
|
|
bookingCode?: string,
|
|
redemption?: boolean
|
|
) {
|
|
const params = {
|
|
adultsCount,
|
|
bookingCode,
|
|
childArray,
|
|
hotelId,
|
|
lang,
|
|
roomStayEndDate: toDateString,
|
|
roomStayStartDate: fromDateString,
|
|
redemption,
|
|
}
|
|
|
|
const roomsAvailability = redemption
|
|
? trpc.hotel.availability.roomsCombinedAvailabilityWithRedemption.useQuery(
|
|
params
|
|
)
|
|
: trpc.hotel.availability.roomsCombinedAvailability.useQuery(params)
|
|
|
|
|
|
return roomsAvailability
|
|
}
|
|
|
|
export function useHotelPackages(
|
|
adultArray: number[],
|
|
childArray: ChildrenInRoom,
|
|
fromDateString: string,
|
|
toDateString: string,
|
|
hotelId: string,
|
|
lang: Lang
|
|
) {
|
|
return trpc.hotel.packages.get.useQuery({
|
|
adults: adultArray[0], // Using the first adult count
|
|
children: childArray?.[0]?.length, // Using the first children count
|
|
endDate: toDateString,
|
|
hotelId,
|
|
packageCodes: [
|
|
RoomPackageCodeEnum.ACCESSIBILITY_ROOM,
|
|
RoomPackageCodeEnum.PET_ROOM,
|
|
RoomPackageCodeEnum.ALLERGY_ROOM,
|
|
],
|
|
startDate: fromDateString,
|
|
lang: lang,
|
|
})
|
|
}
|