import { Typography } from "@scandic-hotels/design-system/Typography" import { dt } from "@/lib/dt" import { getIntl } from "@/i18n" import { getLang } from "@/i18n/serverContext" import { getNumberOfNights } from "@/utils/dateFormatting" import styles from "./footer.module.css" import type { FooterProps } from "@/types/components/hotelReservation/myStay/receipt" import { RoomPackageCodeEnum } from "@/types/components/hotelReservation/selectRate/roomFilter" export default async function Footer({ booking, room }: FooterProps) { const intl = await getIntl() const lang = getLang() const petRoomPackage = booking.packages.find( (p) => p.code === RoomPackageCodeEnum.PET_ROOM ) return (
{intl.formatMessage({ defaultMessage: "Booking number", })}
{booking.confirmationNumber}
{intl.formatMessage({ defaultMessage: "Room", })}
{room?.name}
{intl.formatMessage({ defaultMessage: "Rate", })}
{booking.rateDefinition.title}
{intl.formatMessage({ defaultMessage: "Check-in", })}
{dt(booking.checkInDate).locale(lang).format("ddd, D MMM YYYY")}
{intl.formatMessage({ defaultMessage: "Check-out", })}
{dt(booking.checkOutDate).locale(lang).format("ddd, D MMM YYYY")}
{intl.formatMessage({ defaultMessage: "Number of nights", })}
{getNumberOfNights(booking.checkInDate, booking.checkOutDate)}
{intl.formatMessage({ defaultMessage: "Number of guests", })}
{intl.formatMessage( { defaultMessage: "{adults, plural, one {# adult} other {# adults}}", }, { adults: booking.adults } )} {booking.childrenAges.length > 0 && ( <> {", "} {intl.formatMessage( { defaultMessage: "{children, plural, one {# child} other {# children}}", }, { children: booking.childrenAges.length } )} )}
{intl.formatMessage({ defaultMessage: "Bed type", })}
{room?.bedType.mainBed.description}
{petRoomPackage && (
{intl.formatMessage({ defaultMessage: "Room classification", })}
{intl.formatMessage({ defaultMessage: "Pet-friendly", })}
)}
{intl.formatMessage({ defaultMessage: "Breakfast", })}
{booking.rateDefinition.breakfastIncluded ? intl.formatMessage({ defaultMessage: "Included", }) : intl.formatMessage({ defaultMessage: "Not included", })}
) }