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,