diff --git a/packages/booking-flow/lib/components/HotelCardListing/index.tsx b/packages/booking-flow/lib/components/HotelCardListing/index.tsx index 40f3ed82b..100b0d7ba 100644 --- a/packages/booking-flow/lib/components/HotelCardListing/index.tsx +++ b/packages/booking-flow/lib/components/HotelCardListing/index.tsx @@ -83,17 +83,19 @@ export default function HotelCardListing({ isBookingCodeRateAvailable && activeCodeFilter === BookingCodeFilterEnum.Discounted + const hotelsWithBookingCode = hotelData.filter( + (hotel) => hotel.availability?.bookingCode + ) const isCampaignWithBookingCode = !!bookingCode && - hotelData - .filter((hotel) => hotel.availability.bookingCode) - .every( - (hotel) => - hotel.availability.productType?.public?.rateType === - RateTypeEnum.PublicPromotion || - hotel.availability.productType?.member?.rateType === - RateTypeEnum.PublicPromotion - ) + hotelsWithBookingCode.length > 0 && + hotelsWithBookingCode.every( + (hotel) => + hotel.availability.productType?.public?.rateType === + RateTypeEnum.PublicPromotion || + hotel.availability.productType?.member?.rateType === + RateTypeEnum.PublicPromotion + ) const unfilteredHotelCount = showOnlyBookingCodeRates ? hotelData.filter((hotel) => hotel.availability.bookingCode).length diff --git a/packages/design-system/lib/components/HotelCard/index.tsx b/packages/design-system/lib/components/HotelCard/index.tsx index c2c2af3ef..faeae8207 100644 --- a/packages/design-system/lib/components/HotelCard/index.tsx +++ b/packages/design-system/lib/components/HotelCard/index.tsx @@ -279,7 +279,7 @@ export const HotelCard = memo( isCampaignUnavailable={ isCampaignWithBookingCode && fullPrice } - isCampaign={isCampaign} + isCampaign={isCampaign && !(fullPrice && bookingCode)} /> )} {(!isUserLoggedIn ||