Merged in fix/SW-3449-corporatecheque-reward-nights-price (pull request #2782)

fix(SW-3449): corporate cheque and rewards price fixes in select rate

* fix(SW-3449): corporate cheque and rewards price fixes in select rate


Approved-by: Erik Tiekstra
Approved-by: Anton Gunnarsson
This commit is contained in:
Bianca Widstam
2025-09-10 08:57:44 +00:00
parent 1ceb1520a6
commit ddd4b7c531
3 changed files with 52 additions and 28 deletions

View File

@@ -255,12 +255,12 @@ export default function SummaryContent({
}
case "redemption":
return {
redemption: room.redemption,
redemption: room.redemption.localPrice,
}
case "code": {
if ("corporateCheque" in room) {
return {
corporateCheque: room.corporateCheque,
corporateCheque: room.corporateCheque.localPrice,
}
}

View File

@@ -90,6 +90,7 @@ function InnerCode({
roomTypeCode={roomTypeCode}
bannerText={bannerText}
packagesSum={pkgsSum}
requestedPackagesSum={pkgsSumRequested}
handleSelectRate={handleSelectRate}
isSelected={isSelected}
/>
@@ -154,6 +155,7 @@ function CorporateChequeCode({
roomIndex,
bannerText,
packagesSum,
requestedPackagesSum,
handleSelectRate,
isSelected,
}: {
@@ -162,6 +164,7 @@ function CorporateChequeCode({
roomTypeCode: string
bannerText: string
packagesSum: ReturnType<typeof sumPackages>
requestedPackagesSum: ReturnType<typeof sumPackagesRequestedPrice>
handleSelectRate: (rateCode: string) => void
isSelected: boolean
}) {
@@ -185,18 +188,22 @@ function CorporateChequeCode({
? (localPrice.currency ?? packagesSum.currency ?? "")
: ""
const approximateRate =
requestedPrice?.additionalPricePerStay && requestedPrice?.currency
? {
label: intl.formatMessage({
defaultMessage: "Approx.",
}),
price:
`${requestedPrice.numberOfCheques} CC + ` +
requestedPrice.additionalPricePerStay,
unit: requestedPrice.currency,
}
: undefined
let approximateRate = undefined
if (requestedPrice?.currency && requestedPrice?.numberOfCheques) {
const base = requestedPrice.numberOfCheques
const additionalPrice =
(requestedPrice.additionalPricePerStay ?? 0) +
(requestedPackagesSum?.price ?? 0)
if (additionalPrice > 0) {
approximateRate = {
label: intl.formatMessage({ defaultMessage: "Approx." }),
price: `${base} CC + ${additionalPrice}`,
unit: requestedPrice.currency,
}
}
}
return (
<CodeRateCard