diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Summary/UI/index.tsx b/apps/scandic-web/components/HotelReservation/EnterDetails/Summary/UI/index.tsx index ddb5037fd..6f7d0c4c8 100644 --- a/apps/scandic-web/components/HotelReservation/EnterDetails/Summary/UI/index.tsx +++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Summary/UI/index.tsx @@ -186,6 +186,13 @@ export default function SummaryUI({ room.roomPrice.perStay.local.currency ) + let rateDetails = room.rateDetails + if (room.memberRateDetails) { + if (isMember || room.guest.join) { + rateDetails = room.memberRateDetails + } + } + return (
{room.cancellationText} - - {intl.formatMessage({ - defaultMessage: "Rate details", + {rateDetails ? ( + + {intl.formatMessage({ + defaultMessage: "Rate details", + })} + + + } + title={ + room.rateTitle ? room.rateTitle : room.cancellationText + } + subtitle={ + room.rateTitle ? room.cancellationText : undefined + } + > +
+ {rateDetails.map((info) => { + return ( + + + {info} + + ) })} - - - } - title={ - room.rateTitle ? room.rateTitle : room.cancellationText - } - subtitle={room.rateTitle ? room.cancellationText : undefined} - > -
- {room.rateDetails?.map((info) => { - debugger - return ( - - - {info} - - ) - })} -
- +
+
+ ) : null}
{room.roomFeatures ? room.roomFeatures.map((feature) => ( diff --git a/apps/scandic-web/providers/EnterDetailsProvider.tsx b/apps/scandic-web/providers/EnterDetailsProvider.tsx index c1f2e5f2c..99d23bb5f 100644 --- a/apps/scandic-web/providers/EnterDetailsProvider.tsx +++ b/apps/scandic-web/providers/EnterDetailsProvider.tsx @@ -42,6 +42,7 @@ export default function EnterDetailsProvider({ breakfastIncluded: !!room.breakfastIncluded, cancellationText: room.cancellationText, rateDetails: room.rateDetails, + memberRateDetails: room.memberRateDetails, rateTitle: room.rateTitle, roomFeatures: room.packages, roomRate: room.roomRate, @@ -56,6 +57,7 @@ export default function EnterDetailsProvider({ } : undefined, mustBeGuaranteed: room.mustBeGuaranteed, + memberMustBeGuaranteed: room.memberMustBeGuaranteed, isFlexRate: room.isFlexRate, })), vat, diff --git a/apps/scandic-web/server/routers/hotels/query.ts b/apps/scandic-web/server/routers/hotels/query.ts index 250273556..b32d5f099 100644 --- a/apps/scandic-web/server/routers/hotels/query.ts +++ b/apps/scandic-web/server/routers/hotels/query.ts @@ -231,7 +231,7 @@ export const hotelQueryRouter = router({ cancellationText: rateDefinition.cancellationText, isAvailable: selectedRoom.status === AvailabilityEnum.Available, isFlexRate: product.rate === RateEnum.flex, - memberMustBeGuaranteed: !!memberRateDefinition?.mustBeGuaranteed, + memberMustBeGuaranteed: memberRateDefinition?.mustBeGuaranteed, mustBeGuaranteed: rateDefinition.mustBeGuaranteed, packages: room.packages.filter((pkg) => selectedPackages?.includes(pkg.code) @@ -239,6 +239,7 @@ export const hotelQueryRouter = router({ rate: product.rate, rateDefinitionTitle: rateDefinition.title, rateDetails: rateDefinition.generalTerms, + memberRateDetails: memberRateDefinition?.generalTerms, // Send rate Title when it is a booking code rate rateTitle: rateDefinition.rateType !== RateTypeEnum.Regular diff --git a/apps/scandic-web/types/providers/details/room.ts b/apps/scandic-web/types/providers/details/room.ts index 4eb28dcd4..e9bb40f6b 100644 --- a/apps/scandic-web/types/providers/details/room.ts +++ b/apps/scandic-web/types/providers/details/room.ts @@ -14,6 +14,7 @@ export interface Room { rate: RateEnum rateDefinitionTitle: string rateDetails: string[] + memberRateDetails?: string[] rateTitle?: string rateType: string roomRate: RoomRate diff --git a/apps/scandic-web/types/stores/enter-details.ts b/apps/scandic-web/types/stores/enter-details.ts index f35a2bc6d..500bc6920 100644 --- a/apps/scandic-web/types/stores/enter-details.ts +++ b/apps/scandic-web/types/stores/enter-details.ts @@ -31,13 +31,14 @@ export interface InitialRoomData { isAvailable: boolean isFlexRate: boolean mustBeGuaranteed: boolean + memberMustBeGuaranteed?: boolean rateDetails: string[] | undefined + memberRateDetails?: string[] rateTitle?: string roomFeatures: Packages | null roomRate: RoomRate roomType: string roomTypeCode: string - memberMustBeGuaranteed?: boolean } export type RoomStep = {