diff --git a/packages/booking-flow/lib/pages/SelectRatePage.tsx b/packages/booking-flow/lib/pages/SelectRatePage.tsx index a419fb586..c5671300a 100644 --- a/packages/booking-flow/lib/pages/SelectRatePage.tsx +++ b/packages/booking-flow/lib/pages/SelectRatePage.tsx @@ -16,16 +16,6 @@ import type { NextSearchParams } from "../types" export { SelectRateSkeleton as SelectRatePageSkeleton } from "../components/SelectRate" -const rateTypeRegex = { - ARB: /(^B[a-z]{3}\d{6}$)/, - VOUCHER: /(^VO[0-9a-z]*$)/, -} - -const singleRoomRateTypes = combineRegExps( - [rateTypeRegex.ARB, rateTypeRegex.VOUCHER], - "i" -) - export async function SelectRatePage({ lang, searchParams, @@ -41,17 +31,17 @@ export async function SelectRatePage({ logger.debug("Invalid search params", searchParams) notFound() } - const isMultiRoom = booking.rooms.length > 1 const isRedemption = booking.searchType === SEARCH_TYPE_REDEMPTION - const isArbOrVoucher = booking.bookingCode - ? singleRoomRateTypes.test(booking.bookingCode) + const voucherPattern = /^VO[0-9a-z]*$/i + const isVoucher = booking.bookingCode + ? voucherPattern.test(booking.bookingCode) : false - if ((isMultiRoom && isRedemption) || (isMultiRoom && isArbOrVoucher)) { + if ((isMultiRoom && isRedemption) || (isMultiRoom && isVoucher)) { logger.debug( "Invalid search params, can't have multiroom and redemption/voucher", - { isMultiRoom, isRedemption, isArbOrVoucher } + { isMultiRoom, isRedemption, isVoucher } ) notFound() } @@ -82,7 +72,3 @@ export async function SelectRatePage({ ) } - -function combineRegExps(regexps: RegExp[], flags = "") { - return new RegExp(regexps.map((r) => r.source).join("|"), flags) -}