From 81f579bbfeb2f3991e984dc4829c6c2df2424610 Mon Sep 17 00:00:00 2001 From: Simon Emanuelsson Date: Mon, 31 Mar 2025 11:09:33 +0200 Subject: [PATCH] fix: publicpromotion needs to be handled differently since api use the same label for different thing --- .../EnterDetails/Payment/PaymentClient.tsx | 32 ++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Payment/PaymentClient.tsx b/apps/scandic-web/components/HotelReservation/EnterDetails/Payment/PaymentClient.tsx index 71926bda3..ac7e7e1b2 100644 --- a/apps/scandic-web/components/HotelReservation/EnterDetails/Payment/PaymentClient.tsx +++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Payment/PaymentClient.tsx @@ -289,12 +289,34 @@ export default function PaymentClient({ payment, rooms: rooms.map(({ room }, idx) => { let bookingCode = undefined - if ( - room.roomRate.rateDefinition && - room.roomRate.rateDefinition.rateType !== RateTypeEnum.Regular - ) { - bookingCode = room.roomRate.rateDefinition.rateCode + if (room.roomRate.rateDefinition) { + switch (room.roomRate.rateDefinition.rateType) { + case RateTypeEnum.Regular: + // do nothing, regular is not bookable with bookingCode + break + case RateTypeEnum.PublicPromotion: + // PublicPromotion WITH CODE + // only way to figure it out since API use the same + // label for both yet only one should have bookingCoke + if ( + booking.bookingCode === room.roomRate.rateDefinition.rateCode + ) { + bookingCode = booking.bookingCode + } + break + case RateTypeEnum.Arb: + case RateTypeEnum.Company: + case RateTypeEnum.CorporateCheque: + case RateTypeEnum.Promotion: + case RateTypeEnum.Redemption: + case RateTypeEnum.TravelAgent: + case RateTypeEnum.Voucher: + default: + bookingCode = booking.bookingCode + break + } } + return { adults: room.adults, bookingCode,