fix: initial fix of modify dates
This commit is contained in:
committed by
Michael Zetterberg
parent
a34951e075
commit
4e36fecd6e
@@ -189,7 +189,7 @@ export default function PriceDetailsModal() {
|
|||||||
})}
|
})}
|
||||||
value={formatPrice(
|
value={formatPrice(
|
||||||
intl,
|
intl,
|
||||||
room.breakfast.totalPrice * room.adults,
|
room.breakfast.totalPrice,
|
||||||
currencyCode
|
currencyCode
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -282,79 +282,91 @@ export default function PaymentClient({
|
|||||||
status: "attempt",
|
status: "attempt",
|
||||||
})
|
})
|
||||||
|
|
||||||
initiateBooking.mutate({
|
const payload = {
|
||||||
checkInDate: fromDate,
|
checkInDate: fromDate,
|
||||||
checkOutDate: toDate,
|
checkOutDate: toDate,
|
||||||
hotelId,
|
hotelId,
|
||||||
language: lang,
|
language: lang,
|
||||||
payment,
|
payment,
|
||||||
rooms: rooms.map(({ room }, idx) => ({
|
rooms: rooms.map(({ room }, idx) => {
|
||||||
adults: room.adults,
|
const isMainRoom = idx === 0
|
||||||
bookingCode: room.roomRate.bookingCode,
|
let rateCode = ""
|
||||||
childrenAges: room.childrenInRoom?.map((child) => ({
|
if (isMainRoom && isUserLoggedIn) {
|
||||||
age: child.age,
|
rateCode = booking.rooms[idx].rateCode
|
||||||
bedType: bedTypeMap[parseInt(child.bed.toString())],
|
} else if (
|
||||||
})),
|
|
||||||
guest: {
|
|
||||||
becomeMember: room.guest.join,
|
|
||||||
countryCode: room.guest.countryCode,
|
|
||||||
email: room.guest.email,
|
|
||||||
firstName: room.guest.firstName,
|
|
||||||
lastName: room.guest.lastName,
|
|
||||||
membershipNumber: room.guest.membershipNo,
|
|
||||||
phoneNumber: room.guest.phoneNumber,
|
|
||||||
// Only allowed for room one
|
|
||||||
...(idx === 0 && {
|
|
||||||
dateOfBirth:
|
|
||||||
"dateOfBirth" in room.guest && room.guest.dateOfBirth
|
|
||||||
? room.guest.dateOfBirth
|
|
||||||
: undefined,
|
|
||||||
postalCode:
|
|
||||||
"zipCode" in room.guest && room.guest.zipCode
|
|
||||||
? room.guest.zipCode
|
|
||||||
: undefined,
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
packages: {
|
|
||||||
accessibility:
|
|
||||||
room.roomFeatures?.some(
|
|
||||||
(feature) =>
|
|
||||||
feature.code === RoomPackageCodeEnum.ACCESSIBILITY_ROOM
|
|
||||||
) ?? false,
|
|
||||||
allergyFriendly:
|
|
||||||
room.roomFeatures?.some(
|
|
||||||
(feature) => feature.code === RoomPackageCodeEnum.ALLERGY_ROOM
|
|
||||||
) ?? false,
|
|
||||||
breakfast: !!(room.breakfast && room.breakfast.code),
|
|
||||||
petFriendly:
|
|
||||||
room.roomFeatures?.some(
|
|
||||||
(feature) => feature.code === RoomPackageCodeEnum.PET_ROOM
|
|
||||||
) ?? false,
|
|
||||||
},
|
|
||||||
rateCode:
|
|
||||||
(room.guest.join || room.guest.membershipNo) &&
|
(room.guest.join || room.guest.membershipNo) &&
|
||||||
booking.rooms[idx].counterRateCode
|
booking.rooms[idx].counterRateCode
|
||||||
? booking.rooms[idx].counterRateCode
|
) {
|
||||||
: booking.rooms[idx].rateCode,
|
rateCode = booking.rooms[idx].counterRateCode
|
||||||
roomPrice: {
|
} else {
|
||||||
memberPrice:
|
rateCode = booking.rooms[idx].rateCode
|
||||||
"member" in room.roomRate
|
}
|
||||||
? room.roomRate.member?.localPrice.pricePerStay
|
return {
|
||||||
|
adults: room.adults,
|
||||||
|
bookingCode: room.roomRate.bookingCode,
|
||||||
|
childrenAges: room.childrenInRoom?.map((child) => ({
|
||||||
|
age: child.age,
|
||||||
|
bedType: bedTypeMap[parseInt(child.bed.toString())],
|
||||||
|
})),
|
||||||
|
guest: {
|
||||||
|
becomeMember: room.guest.join,
|
||||||
|
countryCode: room.guest.countryCode,
|
||||||
|
email: room.guest.email,
|
||||||
|
firstName: room.guest.firstName,
|
||||||
|
lastName: room.guest.lastName,
|
||||||
|
membershipNumber: room.guest.membershipNo,
|
||||||
|
phoneNumber: room.guest.phoneNumber,
|
||||||
|
// Only allowed for room one
|
||||||
|
...(idx === 0 && {
|
||||||
|
dateOfBirth:
|
||||||
|
"dateOfBirth" in room.guest && room.guest.dateOfBirth
|
||||||
|
? room.guest.dateOfBirth
|
||||||
|
: undefined,
|
||||||
|
postalCode:
|
||||||
|
"zipCode" in room.guest && room.guest.zipCode
|
||||||
|
? room.guest.zipCode
|
||||||
|
: undefined,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
packages: {
|
||||||
|
accessibility:
|
||||||
|
room.roomFeatures?.some(
|
||||||
|
(feature) =>
|
||||||
|
feature.code === RoomPackageCodeEnum.ACCESSIBILITY_ROOM
|
||||||
|
) ?? false,
|
||||||
|
allergyFriendly:
|
||||||
|
room.roomFeatures?.some(
|
||||||
|
(feature) => feature.code === RoomPackageCodeEnum.ALLERGY_ROOM
|
||||||
|
) ?? false,
|
||||||
|
breakfast: !!(room.breakfast && room.breakfast.code),
|
||||||
|
petFriendly:
|
||||||
|
room.roomFeatures?.some(
|
||||||
|
(feature) => feature.code === RoomPackageCodeEnum.PET_ROOM
|
||||||
|
) ?? false,
|
||||||
|
},
|
||||||
|
rateCode,
|
||||||
|
roomPrice: {
|
||||||
|
memberPrice:
|
||||||
|
"member" in room.roomRate
|
||||||
|
? room.roomRate.member?.localPrice.pricePerStay
|
||||||
|
: undefined,
|
||||||
|
publicPrice:
|
||||||
|
"public" in room.roomRate
|
||||||
|
? room.roomRate.public?.localPrice.pricePerStay
|
||||||
|
: undefined,
|
||||||
|
},
|
||||||
|
roomTypeCode: room.bedType!.roomTypeCode, // A selection has been made in order to get to this step.
|
||||||
|
smsConfirmationRequested: data.smsConfirmation,
|
||||||
|
specialRequest: {
|
||||||
|
comment: room.specialRequest.comment
|
||||||
|
? room.specialRequest.comment
|
||||||
: undefined,
|
: undefined,
|
||||||
publicPrice:
|
},
|
||||||
"public" in room.roomRate
|
}
|
||||||
? room.roomRate.public?.localPrice.pricePerStay
|
}),
|
||||||
: undefined,
|
}
|
||||||
},
|
|
||||||
roomTypeCode: room.bedType!.roomTypeCode, // A selection has been made in order to get to this step.
|
initiateBooking.mutate(payload)
|
||||||
smsConfirmationRequested: data.smsConfirmation,
|
|
||||||
specialRequest: {
|
|
||||||
comment: room.specialRequest.comment
|
|
||||||
? room.specialRequest.comment
|
|
||||||
: undefined,
|
|
||||||
},
|
|
||||||
})),
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
[
|
[
|
||||||
savedCreditCards,
|
savedCreditCards,
|
||||||
@@ -368,6 +380,7 @@ export default function PaymentClient({
|
|||||||
getPaymentMethod,
|
getPaymentMethod,
|
||||||
hasOnlyFlexRates,
|
hasOnlyFlexRates,
|
||||||
bookingMustBeGuaranteed,
|
bookingMustBeGuaranteed,
|
||||||
|
isUserLoggedIn,
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ export default function useModifyStay({
|
|||||||
let totalNewPrice = 0
|
let totalNewPrice = 0
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const data = await utils.client.hotel.availability.room.query({
|
const data = await utils.hotel.availability.room.fetch({
|
||||||
hotelId: bookedRoom.hotelId,
|
hotelId: bookedRoom.hotelId,
|
||||||
roomStayStartDate: formValues.checkInDate,
|
roomStayStartDate: formValues.checkInDate,
|
||||||
roomStayEndDate: formValues.checkOutDate,
|
roomStayEndDate: formValues.checkOutDate,
|
||||||
|
|||||||
Reference in New Issue
Block a user