diff --git a/app/[lang]/(live)/(public)/hotelreservation/[section]/page.tsx b/app/[lang]/(live)/(public)/hotelreservation/[section]/page.tsx
index 3ebb491e5..9f91bee96 100644
--- a/app/[lang]/(live)/(public)/hotelreservation/[section]/page.tsx
+++ b/app/[lang]/(live)/(public)/hotelreservation/[section]/page.tsx
@@ -3,9 +3,9 @@ import { notFound } from "next/navigation"
import { getProfileSafely } from "@/lib/trpc/memoizedRequests"
import { serverClient } from "@/lib/trpc/server"
+import BedType from "@/components/HotelReservation/EnterDetails/BedType"
import Details from "@/components/HotelReservation/EnterDetails/Details"
import HotelSelectionHeader from "@/components/HotelReservation/HotelSelectionHeader"
-import BedSelection from "@/components/HotelReservation/SelectRate/BedSelection"
import BreakfastSelection from "@/components/HotelReservation/SelectRate/BreakfastSelection"
import Payment from "@/components/HotelReservation/SelectRate/Payment"
import RoomSelection from "@/components/HotelReservation/SelectRate/RoomSelection"
@@ -104,7 +104,7 @@ export default async function SectionsPage({
const selectedBreakfast = searchParams.breakfast
? breakfastAlternatives.find((a) => a.value === searchParams.breakfast)
- ?.name
+ ?.name
: undefined
const selectedRoom = searchParams.roomClass
@@ -132,9 +132,9 @@ export default async function SectionsPage({
selection={
selectedRoom
? [
- selectedRoom,
- intl.formatMessage({ id: selectedFlexibility }),
- ]
+ selectedRoom,
+ intl.formatMessage({ id: selectedFlexibility }),
+ ]
: undefined
}
path={`select-rate?${currentSearchParams}`}
@@ -155,12 +155,7 @@ export default async function SectionsPage({
selection={selectedBed}
path={`select-bed?${currentSearchParams}`}
>
- {params.section === "select-bed" && (
-
- )}
+ {params.section === "select-bed" ? : null}
+
+
+ )
+}
diff --git a/components/HotelReservation/EnterDetails/BedType/bedOptions.module.css b/components/HotelReservation/EnterDetails/BedType/bedOptions.module.css
new file mode 100644
index 000000000..81fd223b9
--- /dev/null
+++ b/components/HotelReservation/EnterDetails/BedType/bedOptions.module.css
@@ -0,0 +1,7 @@
+.form {
+ display: grid;
+ gap: var(--Spacing-x2);
+ grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
+ padding-bottom: var(--Spacing-x3);
+ width: min(600px, 100%);
+}
diff --git a/components/HotelReservation/EnterDetails/BedType/index.tsx b/components/HotelReservation/EnterDetails/BedType/index.tsx
new file mode 100644
index 000000000..97835a285
--- /dev/null
+++ b/components/HotelReservation/EnterDetails/BedType/index.tsx
@@ -0,0 +1,75 @@
+"use client"
+
+import { zodResolver } from "@hookform/resolvers/zod"
+import { FormProvider, useForm } from "react-hook-form"
+import { useIntl } from "react-intl"
+
+import { KingBedIcon } from "@/components/Icons"
+import RadioCard from "@/components/TempDesignSystem/Form/Card/Radio"
+
+import { bedTypeSchema } from "./schema"
+
+import styles from "./bedOptions.module.css"
+
+import type { BedTypeSchema } from "@/types/components/enterDetails/bedType"
+import { bedTypeEnum } from "@/types/enums/bedType"
+
+export default function BedType() {
+ const intl = useIntl()
+
+ const methods = useForm({
+ defaultValues: {
+ bed: bedTypeEnum.KING,
+ },
+ criteriaMode: "all",
+ mode: "all",
+ resolver: zodResolver(bedTypeSchema),
+ reValidateMode: "onChange",
+ })
+
+ // @ts-expect-error - Types mismatch docs as this is
+ // a pattern that is allowed https://formatjs.io/docs/react-intl/api#usage
+ const text = intl.formatMessage(
+ { id: "Included (based on availability)" },
+ { b: (str) => {str} }
+ )
+
+ return (
+
+
+
+ )
+}
diff --git a/components/HotelReservation/EnterDetails/BedType/schema.ts b/components/HotelReservation/EnterDetails/BedType/schema.ts
new file mode 100644
index 000000000..bd819b986
--- /dev/null
+++ b/components/HotelReservation/EnterDetails/BedType/schema.ts
@@ -0,0 +1,7 @@
+import { z } from "zod"
+
+import { bedTypeEnum } from "@/types/enums/bedType"
+
+export const bedTypeSchema = z.object({
+ bed: z.nativeEnum(bedTypeEnum),
+})
diff --git a/components/HotelReservation/EnterDetails/Details/index.tsx b/components/HotelReservation/EnterDetails/Details/index.tsx
index 731e3b205..2dd1b1cdb 100644
--- a/components/HotelReservation/EnterDetails/Details/index.tsx
+++ b/components/HotelReservation/EnterDetails/Details/index.tsx
@@ -4,7 +4,7 @@ import { FormProvider, useForm } from "react-hook-form"
import { useIntl } from "react-intl"
import Button from "@/components/TempDesignSystem/Button"
-import CheckboxCard from "@/components/TempDesignSystem/Form/Checkbox/Card"
+import CheckboxCard from "@/components/TempDesignSystem/Form/Card/Checkbox"
import CountrySelect from "@/components/TempDesignSystem/Form/Country"
import Input from "@/components/TempDesignSystem/Form/Input"
import Phone from "@/components/TempDesignSystem/Form/Phone"
@@ -36,6 +36,7 @@ export default function Details({ user }: DetailsProps) {
lastname: user?.lastName ?? "",
phoneNumber: user?.phoneNumber ?? "",
},
+ criteriaMode: "all",
mode: "all",
resolver: zodResolver(user ? signedInDetailsSchema : detailsSchema),
reValidateMode: "onChange",
diff --git a/components/Icons/KingBed.tsx b/components/Icons/KingBed.tsx
new file mode 100644
index 000000000..d4df0f225
--- /dev/null
+++ b/components/Icons/KingBed.tsx
@@ -0,0 +1,27 @@
+import { iconVariants } from "./variants"
+
+import type { IconProps } from "@/types/components/icon"
+
+export default function KingBedIcon({ className, color, ...props }: IconProps) {
+ const classNames = iconVariants({ className, color })
+ return (
+
+ )
+}
diff --git a/components/Icons/index.tsx b/components/Icons/index.tsx
index 04f167061..73b554342 100644
--- a/components/Icons/index.tsx
+++ b/components/Icons/index.tsx
@@ -34,6 +34,7 @@ export { default as HeartIcon } from "./Heart"
export { default as HouseIcon } from "./House"
export { default as ImageIcon } from "./Image"
export { default as InfoCircleIcon } from "./InfoCircle"
+export { default as KingBedIcon } from "./KingBed"
export { default as LocationIcon } from "./Location"
export { default as LockIcon } from "./Lock"
export { default as MapIcon } from "./Map"
diff --git a/components/TempDesignSystem/Form/Card/Checkbox.tsx b/components/TempDesignSystem/Form/Card/Checkbox.tsx
new file mode 100644
index 000000000..7f0ea428a
--- /dev/null
+++ b/components/TempDesignSystem/Form/Card/Checkbox.tsx
@@ -0,0 +1,7 @@
+import Card from "."
+
+import type { CheckboxProps } from "./card"
+
+export default function CheckboxCard(props: CheckboxProps) {
+ return
+}
diff --git a/components/TempDesignSystem/Form/Card/Radio.tsx b/components/TempDesignSystem/Form/Card/Radio.tsx
new file mode 100644
index 000000000..c1de94782
--- /dev/null
+++ b/components/TempDesignSystem/Form/Card/Radio.tsx
@@ -0,0 +1,7 @@
+import Card from "."
+
+import type { RadioProps } from "./card"
+
+export default function RadioCard(props: RadioProps) {
+ return
+}
diff --git a/components/TempDesignSystem/Form/Checkbox/Card/card.module.css b/components/TempDesignSystem/Form/Card/card.module.css
similarity index 50%
rename from components/TempDesignSystem/Form/Checkbox/Card/card.module.css
rename to components/TempDesignSystem/Form/Card/card.module.css
index bd44b7b45..1044596f6 100644
--- a/components/TempDesignSystem/Form/Checkbox/Card/card.module.css
+++ b/components/TempDesignSystem/Form/Card/card.module.css
@@ -1,70 +1,72 @@
-.checkbox {
+.label {
+ align-self: flex-start;
background-color: var(--Base-Surface-Primary-light-Normal);
border: 1px solid var(--Base-Border-Subtle);
border-radius: var(--Corner-radius-Large);
cursor: pointer;
- display: flex;
- flex-direction: column;
- gap: var(--Spacing-x1);
+ display: grid;
+ grid-template-columns: 1fr auto;
padding: var(--Spacing-x-one-and-half) var(--Spacing-x2);
transition: all 200ms ease;
width: min(100%, 600px);
}
-.checkbox:hover {
+.label:hover {
background-color: var(--Base-Surface-Secondary-light-Hover);
}
-.checkbox:has(:checked) {
+.label:has(:checked) {
background-color: var(--Primary-Light-Surface-Normal);
border-color: var(--Base-Border-Hover);
}
-.header {
- align-items: center;
- display: grid;
- gap: 0px var(--Spacing-x1);
- grid-template-areas:
- "title icon"
- "subtitle icon";
-}
-
.icon {
- grid-area: icon;
+ align-self: center;
+ grid-column: 2/3;
+ grid-row: 1/3;
justify-self: flex-end;
transition: fill 200ms ease;
}
-.checkbox:hover .icon,
-.checkbox:hover .icon *,
-.checkbox:has(:checked) .icon,
-.checkbox:has(:checked) .icon * {
+.label:hover .icon,
+.label:hover .icon *,
+.label:has(:checked) .icon,
+.label:has(:checked) .icon * {
fill: var(--Base-Text-Medium-contrast);
}
-.checkbox[data-declined="true"]:hover .icon,
-.checkbox[data-declined="true"]:hover .icon *,
-.checkbox[data-declined="true"]:has(:checked) .icon,
-.checkbox[data-declined="true"]:has(:checked) .icon * {
+.label[data-declined="true"]:hover .icon,
+.label[data-declined="true"]:hover .icon *,
+.label[data-declined="true"]:has(:checked) .icon,
+.label[data-declined="true"]:has(:checked) .icon * {
fill: var(--Base-Text-Disabled);
}
.subtitle {
- grid-area: subtitle;
+ grid-column: 1 / 2;
+ grid-row: 2;
}
.title {
- grid-area: title;
+ grid-column: 1 / 2;
}
-.list {
- list-style: none;
- margin: 0;
- padding: 0;
+.label .text {
+ margin-top: var(--Spacing-x1);
+ grid-column: 1/-1;
}
.listItem {
align-items: center;
display: flex;
gap: var(--Spacing-x-quarter);
+ grid-column: 1/-1;
+}
+
+.listItem:first-of-type {
+ margin-top: var(--Spacing-x1);
+}
+
+.listItem:nth-of-type(n + 2) {
+ margin-top: var(--Spacing-x-quarter);
}
diff --git a/components/TempDesignSystem/Form/Card/card.ts b/components/TempDesignSystem/Form/Card/card.ts
new file mode 100644
index 000000000..167595164
--- /dev/null
+++ b/components/TempDesignSystem/Form/Card/card.ts
@@ -0,0 +1,35 @@
+import type { IconProps } from "@/types/components/icon"
+
+interface BaseCardProps extends React.LabelHTMLAttributes {
+ Icon?: (props: IconProps) => JSX.Element
+ declined?: boolean
+ iconHeight?: number
+ iconWidth?: number
+ name?: string
+ saving?: boolean
+ subtitle?: string
+ title: string
+ type: "checkbox" | "radio"
+ value?: string
+}
+
+interface ListCardProps extends BaseCardProps {
+ list: {
+ title: string
+ }[]
+ text?: never
+}
+
+interface TextCardProps extends BaseCardProps {
+ list?: never
+ text: string
+}
+
+export type CardProps = ListCardProps | TextCardProps
+
+export type CheckboxProps =
+ | Omit
+ | Omit
+export type RadioProps =
+ | Omit
+ | Omit
diff --git a/components/TempDesignSystem/Form/Card/index.tsx b/components/TempDesignSystem/Form/Card/index.tsx
new file mode 100644
index 000000000..82f99e80d
--- /dev/null
+++ b/components/TempDesignSystem/Form/Card/index.tsx
@@ -0,0 +1,77 @@
+"use client"
+
+import { CheckIcon, CloseIcon, HeartIcon } from "@/components/Icons"
+import Caption from "@/components/TempDesignSystem/Text/Caption"
+import Footnote from "@/components/TempDesignSystem/Text/Footnote"
+
+import styles from "./card.module.css"
+
+import type { CardProps } from "./card"
+
+export default function Card({
+ Icon = HeartIcon,
+ iconHeight = 32,
+ iconWidth = 32,
+ declined = false,
+ id,
+ list,
+ name = "join",
+ saving = false,
+ subtitle,
+ text,
+ title,
+ type,
+ value,
+}: CardProps) {
+ return (
+
+ )
+}
diff --git a/components/TempDesignSystem/Form/Checkbox/Card/card.ts b/components/TempDesignSystem/Form/Checkbox/Card/card.ts
deleted file mode 100644
index 438c9b729..000000000
--- a/components/TempDesignSystem/Form/Checkbox/Card/card.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import type { IconProps } from "@/types/components/icon"
-
-export interface CheckboxCardProps {
- Icon?: (props: IconProps) => JSX.Element
- declined?: boolean
- list?: {
- title: string
- }[]
- name?: string
- saving?: boolean
- subtitle?: string
- text?: string
- title: string
-}
diff --git a/components/TempDesignSystem/Form/Checkbox/Card/index.tsx b/components/TempDesignSystem/Form/Checkbox/Card/index.tsx
deleted file mode 100644
index 77158c531..000000000
--- a/components/TempDesignSystem/Form/Checkbox/Card/index.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-"use client"
-
-import { CheckIcon, CloseIcon, HeartIcon } from "@/components/Icons"
-import Caption from "@/components/TempDesignSystem/Text/Caption"
-import Footnote from "@/components/TempDesignSystem/Text/Footnote"
-
-import styles from "./card.module.css"
-
-import type { CheckboxCardProps } from "./card"
-
-export default function CheckboxCard({
- Icon = HeartIcon,
- declined = false,
- list,
- name = "join",
- saving = false,
- subtitle,
- text,
- title,
-}: CheckboxCardProps) {
- return (
-
- )
-}
diff --git a/i18n/dictionaries/da.json b/i18n/dictionaries/da.json
index ed2cce0d8..dd139b105 100644
--- a/i18n/dictionaries/da.json
+++ b/i18n/dictionaries/da.json
@@ -1,4 +1,5 @@
{
+ "Included (based on availability)": "Inkluderet (baseret på tilgængelighed)",
"A destination or hotel name is needed to be able to search for a hotel room.": "Et destinations- eller hotelnavn er nødvendigt for at kunne søge efter et hotelværelse.",
"A photo of the room": "Et foto af værelset",
"About meetings & conferences": "About meetings & conferences",
@@ -64,6 +65,7 @@
"Date of Birth": "Fødselsdato",
"Day": "Dag",
"Description": "Beskrivelse",
+ "Destination": "Destination",
"Destinations & hotels": "Destinationer & hoteller",
"Discard changes": "Kassér ændringer",
"Discard unsaved changes?": "Slette ændringer, der ikke er gemt?",
@@ -74,6 +76,7 @@
"Edit": "Redigere",
"Edit profile": "Rediger profil",
"Email": "E-mail",
+ "Email address": "E-mailadresse",
"Enter destination or hotel": "Indtast destination eller hotel",
"Enjoy relaxed restaurant experiences": "Enjoy relaxed restaurant experiences",
"Events that make an impression": "Events that make an impression",
@@ -85,6 +88,7 @@
"Fair": "Messe",
"Find booking": "Find booking",
"Find hotels": "Find hotel",
+ "Firstname": "Fornavn",
"Flexibility": "Fleksibilitet",
"Former Scandic Hotel": "Tidligere Scandic Hotel",
"Free cancellation": "Gratis afbestilling",
@@ -94,6 +98,7 @@
"Get member benefits & offers": "Få medlemsfordele og tilbud",
"Go back to edit": "Gå tilbage til redigering",
"Go back to overview": "Gå tilbage til oversigten",
+ "Guest information": "Gæsteinformation",
"Guests & Rooms": "Gæster & værelser",
"Hi": "Hei",
"Highest level": "Højeste niveau",
@@ -108,7 +113,9 @@
"It is not posible to manage your communication preferences right now, please try again later or contact support if the problem persists.": "Det er ikke muligt at administrere dine kommunikationspræferencer lige nu, prøv venligst igen senere eller kontakt support, hvis problemet fortsætter.",
"Join Scandic Friends": "Tilmeld dig Scandic Friends",
"Join at no cost": "Tilmeld dig uden omkostninger",
+ "King bed": "Kingsize-seng",
"Language": "Sprog",
+ "Lastname": "Efternavn",
"Latest searches": "Seneste søgninger",
"Level": "Niveau",
"Level 1": "Niveau 1",
@@ -184,8 +191,10 @@
"Points needed to level up": "Point nødvendige for at stige i niveau",
"Points needed to stay on level": "Point nødvendige for at holde sig på niveau",
"Previous victories": "Tidligere sejre",
+ "Proceed to payment method": "Fortsæt til betalingsmetode",
"Public price from": "Offentlig pris fra",
"Public transport": "Offentlig transport",
+ "Queen bed": "Queensize-seng",
"Read more": "Læs mere",
"Read more & book a table": "Read more & book a table",
"Read more about the hotel": "Læs mere om hotellet",
@@ -211,6 +220,7 @@
"Select a country": "Vælg et land",
"Select country of residence": "Vælg bopælsland",
"Select date of birth": "Vælg fødselsdato",
+ "Select dates": "Vælg datoer",
"Select language": "Vælg sprog",
"Select your language": "Vælg dit sprog",
"Shopping": "Shopping",
@@ -280,7 +290,9 @@
"Zoom in": "Zoom ind",
"Zoom out": "Zoom ud",
"as of today": "fra idag",
+ "booking.adults": "{totalAdults, plural, one {# voksen} other {# voksne}}",
"booking.nights": "{totalNights, plural, one {# nat} other {# nætter}}",
+ "booking.rooms": "{totalRooms, plural, one {# værelse} other {# værelser}}",
"by": "inden",
"characters": "tegn",
"hotelPages.rooms.roomCard.person": "person",
@@ -296,5 +308,7 @@
"special character": "speciel karakter",
"spendable points expiring by": "{points} Brugbare point udløber den {date}",
"to": "til",
- "uppercase letter": "stort bogstav"
-}
+ "uppercase letter": "stort bogstav",
+ "{difference}{amount} {currency}": "{difference}{amount} {currency}",
+ "{width} cm × {length} cm": "{width} cm × {length} cm"
+}
\ No newline at end of file
diff --git a/i18n/dictionaries/de.json b/i18n/dictionaries/de.json
index 90b0e76b8..cca633251 100644
--- a/i18n/dictionaries/de.json
+++ b/i18n/dictionaries/de.json
@@ -1,8 +1,9 @@
{
+ "Included (based on availability)": "Inbegriffen (je nach Verfügbarkeit)",
"A destination or hotel name is needed to be able to search for a hotel room.": "Ein Reiseziel oder Hotelname wird benötigt, um nach einem Hotelzimmer suchen zu können.",
"A photo of the room": "Ein Foto des Zimmers",
- "Activities": "Aktivitäten",
"About meetings & conferences": "About meetings & conferences",
+ "Activities": "Aktivitäten",
"Add code": "Code hinzufügen",
"Add new card": "Neue Karte hinzufügen",
"Address": "Adresse",
@@ -10,13 +11,12 @@
"Already a friend?": "Sind wir schon Freunde?",
"Amenities": "Annehmlichkeiten",
"Amusement park": "Vergnügungspark",
- "An error occurred when adding a credit card, please try again later.": "Beim Hinzufügen einer Kreditkarte ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.",
"An error occurred trying to manage your preferences, please try again later.": "Beim Versuch, Ihre Einstellungen zu verwalten, ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.",
+ "An error occurred when adding a credit card, please try again later.": "Beim Hinzufügen einer Kreditkarte ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.",
"An error occurred when trying to update profile.": "Beim Versuch, das Profil zu aktualisieren, ist ein Fehler aufgetreten.",
"Any changes you've made will be lost.": "Alle Änderungen, die Sie vorgenommen haben, gehen verloren.",
"Are you sure you want to remove the card ending with {lastFourDigits} from your member profile?": "Möchten Sie die Karte mit der Endung {lastFourDigits} wirklich aus Ihrem Mitgliedsprofil entfernen?",
"Arrival date": "Ankunftsdatum",
- "as of today": "Stand heute",
"As our": "Als unser {level}",
"As our Close Friend": "Als unser enger Freund",
"At latest": "Spätestens",
@@ -28,16 +28,13 @@
"Book": "Buchen",
"Book reward night": "Bonusnacht buchen",
"Booking number": "Buchungsnummer",
- "booking.nights": "{totalNights, plural, one {# nacht} other {# Nächte}}",
"Breakfast": "Frühstück",
"Breakfast excluded": "Frühstück nicht inbegriffen",
"Breakfast included": "Frühstück inbegriffen",
+ "Breakfast restaurant": "Breakfast restaurant",
"Bus terminal": "Busbahnhof",
"Business": "Geschäft",
- "by": "bis",
- "Breakfast restaurant": "Breakfast restaurant",
"Cancel": "Stornieren",
- "characters": "figuren",
"Check in": "Einchecken",
"Check out": "Auschecken",
"Check out the credit cards saved to your profile. Pay with a saved card when signed in for a smoother web experience.": "Sehen Sie sich die in Ihrem Profil gespeicherten Kreditkarten an. Bezahlen Sie mit einer gespeicherten Karte, wenn Sie angemeldet sind, für ein reibungsloseres Web-Erlebnis.",
@@ -68,34 +65,40 @@
"Date of Birth": "Geburtsdatum",
"Day": "Tag",
"Description": "Beschreibung",
+ "Destination": "Bestimmungsort",
"Destinations & hotels": "Reiseziele & Hotels",
"Discard changes": "Änderungen verwerfen",
"Discard unsaved changes?": "Nicht gespeicherte Änderungen verwerfen?",
"Distance to city centre": "{number}km zum Stadtzentrum",
"Do you want to start the day with Scandics famous breakfast buffé?": "Möchten Sie den Tag mit Scandics berühmtem Frühstücksbuffet beginnen?",
"Download the Scandic app": "Laden Sie die Scandic-App herunter",
+ "Earn bonus nights & points": "Sammeln Sie Bonusnächte und -punkte",
"Edit": "Bearbeiten",
"Edit profile": "Profil bearbeiten",
"Email": "Email",
- "Enter destination or hotel": "Reiseziel oder Hotel eingeben",
+ "Email address": "E-Mail-Adresse",
"Enjoy relaxed restaurant experiences": "Enjoy relaxed restaurant experiences",
+ "Enter destination or hotel": "Reiseziel oder Hotel eingeben",
"Events that make an impression": "Events that make an impression",
"Explore all levels and benefits": "Entdecken Sie alle Levels und Vorteile",
"Explore nearby": "Erkunden Sie die Umgebung",
"Extras to your booking": "Extras zu Ihrer Buchung",
+ "FAQ": "Häufig gestellte Fragen",
"Failed to delete credit card, please try again later.": "Kreditkarte konnte nicht gelöscht werden. Bitte versuchen Sie es später noch einmal.",
"Fair": "Messe",
- "FAQ": "Häufig gestellte Fragen",
"Find booking": "Buchung finden",
"Find hotels": "Hotels finden",
+ "Firstname": "Vorname",
"Flexibility": "Flexibilität",
"Former Scandic Hotel": "Ehemaliges Scandic Hotel",
"Free cancellation": "Kostenlose Stornierung",
"Free rebooking": "Kostenlose Umbuchung",
"From": "Fromm",
"Get inspired": "Lassen Sie sich inspieren",
+ "Get member benefits & offers": "Holen Sie sich Vorteile und Angebote für Mitglieder",
"Go back to edit": "Zurück zum Bearbeiten",
"Go back to overview": "Zurück zur Übersicht",
+ "Guest information": "Informationen für Gäste",
"Guests & Rooms": "Gäste & Zimmer",
"Hi": "Hallo",
"Highest level": "Höchstes Level",
@@ -103,17 +106,16 @@
"Hotel": "Hotel",
"Hotel facilities": "Hotel-Infos",
"Hotel surroundings": "Umgebung des Hotels",
- "hotelPages.rooms.roomCard.person": "person",
- "hotelPages.rooms.roomCard.persons": "personen",
- "hotelPages.rooms.roomCard.seeRoomDetails": "Zimmerdetails ansehen",
"Hotels": "Hotels",
"How do you want to sleep?": "Wie möchtest du schlafen?",
"How it works": "Wie es funktioniert",
"Image gallery": "Bildergalerie",
"It is not posible to manage your communication preferences right now, please try again later or contact support if the problem persists.": "Es ist derzeit nicht möglich, Ihre Kommunikationseinstellungen zu verwalten. Bitte versuchen Sie es später erneut oder wenden Sie sich an den Support, wenn das Problem weiterhin besteht.",
"Join Scandic Friends": "Treten Sie Scandic Friends bei",
- "km to city center": "km bis zum Stadtzentrum",
+ "Join at no cost": "Kostenlos beitreten",
+ "King bed": "Kingsize-Bett",
"Language": "Sprache",
+ "Lastname": "Nachname",
"Latest searches": "Letzte Suchanfragen",
"Level": "Level",
"Level 1": "Level 1",
@@ -139,9 +141,9 @@
"Member price": "Mitgliederpreis",
"Member price from": "Mitgliederpreis ab",
"Members": "Mitglieder",
- "Membership cards": "Mitgliedskarten",
"Membership ID": "Mitglieds-ID",
"Membership ID copied to clipboard": "Mitglieds-ID in die Zwischenablage kopiert",
+ "Membership cards": "Mitgliedskarten",
"Menu": "Menu",
"Modify": "Ändern",
"Month": "Monat",
@@ -156,9 +158,6 @@
"Nearby companies": "Nahe gelegene Unternehmen",
"New password": "Neues Kennwort",
"Next": "Nächste",
- "next level:": "Nächstes Level:",
- "night": "nacht",
- "nights": "Nächte",
"Nights needed to level up": "Nächte, die zum Levelaufstieg benötigt werden",
"No content published": "Kein Inhalt veröffentlicht",
"No matching location found": "Kein passender Standort gefunden",
@@ -169,16 +168,15 @@
"Non-refundable": "Nicht erstattungsfähig",
"Not found": "Nicht gefunden",
"Nr night, nr adult": "{nights, number} Nacht, {adults, number} Erwachsener",
- "number": "nummer",
"On your journey": "Auf deiner Reise",
"Open": "Offen",
"Open language menu": "Sprachmenü öffnen",
"Open menu": "Menü öffnen",
"Open my pages menu": "Meine Seiten Menü öffnen",
- "or": "oder",
"Overview": "Übersicht",
"Parking": "Parken",
"Parking / Garage": "Parken / Garage",
+ "Password": "Passwort",
"Pay later": "Später bezahlen",
"Pay now": "Jetzt bezahlen",
"Payment info": "Zahlungsinformationen",
@@ -186,7 +184,6 @@
"Phone is required": "Telefon ist erforderlich",
"Phone number": "Telefonnummer",
"Please enter a valid phone number": "Bitte geben Sie eine gültige Telefonnummer ein",
- "points": "Punkte",
"Points": "Punkte",
"Points being calculated": "Punkte werden berechnet",
"Points earned prior to May 1, 2021": "Zusammengeführte Punkte vor dem 1. Mai 2021",
@@ -194,8 +191,10 @@
"Points needed to level up": "Punkte, die zum Levelaufstieg benötigt werden",
"Points needed to stay on level": "Erforderliche Punkte, um auf diesem Level zu bleiben",
"Previous victories": "Bisherige Siege",
+ "Proceed to payment method": "Weiter zur Zahlungsmethode",
"Public price from": "Öffentlicher Preis ab",
"Public transport": "Öffentliche Verkehrsmittel",
+ "Queen bed": "Queensize-Bett",
"Read more": "Mehr lesen",
"Read more & book a table": "Read more & book a table",
"Read more about the hotel": "Lesen Sie mehr über das Hotel",
@@ -221,6 +220,7 @@
"Select a country": "Wähle ein Land",
"Select country of residence": "Wählen Sie das Land Ihres Wohnsitzes aus",
"Select date of birth": "Geburtsdatum auswählen",
+ "Select dates": "Datum auswählen",
"Select language": "Sprache auswählen",
"Select your language": "Wählen Sie Ihre Sprache",
"Shopping": "Einkaufen",
@@ -234,29 +234,25 @@
"Something went wrong and we couldn't add your card. Please try again later.": "Ein Fehler ist aufgetreten und wir konnten Ihre Karte nicht hinzufügen. Bitte versuchen Sie es später erneut.",
"Something went wrong and we couldn't remove your card. Please try again later.": "Ein Fehler ist aufgetreten und wir konnten Ihre Karte nicht entfernen. Bitte versuchen Sie es später noch einmal.",
"Something went wrong!": "Etwas ist schief gelaufen!",
- "special character": "sonderzeichen",
- "spendable points expiring by": "{points} Einlösbare punkte verfallen bis zum {date}",
"Sports": "Sport",
"Standard price": "Standardpreis",
"Street": "Straße",
"Successfully updated profile!": "Profil erfolgreich aktualisiert!",
"Summary": "Zusammenfassung",
+ "TUI Points": "TUI Points",
"Tell us what information and updates you'd like to receive, and how, by clicking the link below.": "Teilen Sie uns mit, welche Informationen und Updates Sie wie erhalten möchten, indem Sie auf den unten stehenden Link klicken.",
"Thank you": "Danke",
"Theatre": "Theater",
"There are no transactions to display": "Es sind keine Transaktionen zum Anzeigen vorhanden",
"Things nearby HOTEL_NAME": "Dinge in der Nähe von {hotelName}",
- "to": "zu",
"Total Points": "Gesamtpunktzahl",
"Tourist": "Tourist",
"Transaction date": "Transaktionsdatum",
"Transactions": "Transaktionen",
"Transportations": "Transportmittel",
"Tripadvisor reviews": "{rating} ({count} Bewertungen auf Tripadvisor)",
- "TUI Points": "TUI Points",
"Type of bed": "Bettentyp",
"Type of room": "Zimmerart",
- "uppercase letter": "großbuchstabe",
"Use bonus cheque": "Bonusscheck nutzen",
"User information": "Nutzerinformation",
"View as list": "Als Liste anzeigen",
@@ -282,18 +278,37 @@
"You canceled adding a new credit card.": "Sie haben das Hinzufügen einer neuen Kreditkarte abgebrochen.",
"You have no previous stays.": "Sie haben keine vorherigen Aufenthalte.",
"You have no upcoming stays.": "Sie haben keine bevorstehenden Aufenthalte.",
+ "Your Challenges Conquer & Earn!": "Meistern Sie Ihre Herausforderungen und verdienen Sie Geld!",
"Your card was successfully removed!": "Ihre Karte wurde erfolgreich entfernt!",
"Your card was successfully saved!": "Ihre Karte wurde erfolgreich gespeichert!",
- "Your Challenges Conquer & Earn!": "Meistern Sie Ihre Herausforderungen und verdienen Sie Geld!",
"Your current level": "Ihr aktuelles Level",
"Your details": "Ihre Angaben",
"Your level": "Dein level",
"Your points to spend": "Meine Punkte",
"Zip code": "PLZ",
"Zoo": "Zoo",
- "Earn bonus nights & points": "Sammeln Sie Bonusnächte und -punkte",
- "Get member benefits & offers": "Holen Sie sich Vorteile und Angebote für Mitglieder",
- "Join at no cost": "Kostenlos beitreten",
"Zoom in": "Vergrößern",
- "Zoom out": "Verkleinern"
-}
+ "Zoom out": "Verkleinern",
+ "as of today": "Stand heute",
+ "booking.adults": "{totalAdults, plural, one {# erwachsene} other {# erwachsene}}",
+ "booking.nights": "{totalNights, plural, one {# nacht} other {# Nächte}}",
+ "booking.rooms": "{totalRooms, plural, one {# zimmer} other {# räume}}",
+ "by": "bis",
+ "characters": "figuren",
+ "hotelPages.rooms.roomCard.person": "person",
+ "hotelPages.rooms.roomCard.persons": "personen",
+ "hotelPages.rooms.roomCard.seeRoomDetails": "Zimmerdetails ansehen",
+ "km to city center": "km bis zum Stadtzentrum",
+ "next level:": "Nächstes Level:",
+ "night": "nacht",
+ "nights": "Nächte",
+ "number": "nummer",
+ "or": "oder",
+ "points": "Punkte",
+ "special character": "sonderzeichen",
+ "spendable points expiring by": "{points} Einlösbare punkte verfallen bis zum {date}",
+ "to": "zu",
+ "uppercase letter": "großbuchstabe",
+ "{difference}{amount} {currency}": "{difference}{amount} {currency}",
+ "{width} cm × {length} cm": "{width} cm × {length} cm"
+}
\ No newline at end of file
diff --git a/i18n/dictionaries/en.json b/i18n/dictionaries/en.json
index 6e38a05e7..f13a60b2c 100644
--- a/i18n/dictionaries/en.json
+++ b/i18n/dictionaries/en.json
@@ -1,4 +1,5 @@
{
+ "Included (based on availability)": "Included (based on availability)",
"A destination or hotel name is needed to be able to search for a hotel room.": "A destination or hotel name is needed to be able to search for a hotel room.",
"A photo of the room": "A photo of the room",
"About meetings & conferences": "About meetings & conferences",
@@ -10,8 +11,8 @@
"Already a friend?": "Already a friend?",
"Amenities": "Amenities",
"Amusement park": "Amusement park",
- "An error occurred when adding a credit card, please try again later.": "An error occurred when adding a credit card, please try again later.",
"An error occurred trying to manage your preferences, please try again later.": "An error occurred trying to manage your preferences, please try again later.",
+ "An error occurred when adding a credit card, please try again later.": "An error occurred when adding a credit card, please try again later.",
"An error occurred when trying to update profile.": "An error occurred when trying to update profile.",
"Any changes you've made will be lost.": "Any changes you've made will be lost.",
"Are you sure you want to remove the card ending with {lastFourDigits} from your member profile?": "Are you sure you want to remove the card ending with {lastFourDigits} from your member profile?",
@@ -30,9 +31,9 @@
"Breakfast": "Breakfast",
"Breakfast excluded": "Breakfast excluded",
"Breakfast included": "Breakfast included",
+ "Breakfast restaurant": "Breakfast restaurant",
"Bus terminal": "Bus terminal",
"Business": "Business",
- "Breakfast restaurant": "Breakfast restaurant",
"Cancel": "Cancel",
"Check in": "Check in",
"Check out": "Check out",
@@ -76,8 +77,8 @@
"Edit profile": "Edit profile",
"Email": "Email",
"Email address": "Email address",
- "Enter destination or hotel": "Enter destination or hotel",
"Enjoy relaxed restaurant experiences": "Enjoy relaxed restaurant experiences",
+ "Enter destination or hotel": "Enter destination or hotel",
"Events that make an impression": "Events that make an impression",
"Explore all levels and benefits": "Explore all levels and benefits",
"Explore nearby": "Explore nearby",
@@ -112,6 +113,7 @@
"It is not posible to manage your communication preferences right now, please try again later or contact support if the problem persists.": "It is not posible to manage your communication preferences right now, please try again later or contact support if the problem persists.",
"Join Scandic Friends": "Join Scandic Friends",
"Join at no cost": "Join at no cost",
+ "King bed": "King bed",
"Language": "Language",
"Lastname": "Lastname",
"Latest searches": "Latest searches",
@@ -192,6 +194,7 @@
"Proceed to payment method": "Proceed to payment method",
"Public price from": "Public price from",
"Public transport": "Public transport",
+ "Queen bed": "Queen bed",
"Read more": "Read more",
"Read more & book a table": "Read more & book a table",
"Read more about the hotel": "Read more about the hotel",
@@ -258,7 +261,7 @@
"Visiting address": "Visiting address",
"We could not add a card right now, please try again later.": "We could not add a card right now, please try again later.",
"We couldn't find a matching location for your search.": "We couldn't find a matching location for your search.",
- "We have sent a detailed confirmation of your booking to your email: ": "We have sent a detailed confirmation of your booking to your email: ",
+ "We have sent a detailed confirmation of your booking to your email:": "We have sent a detailed confirmation of your booking to your email: ",
"We look forward to your visit!": "We look forward to your visit!",
"Weekdays": "Weekdays",
"Weekends": "Weekends",
@@ -285,6 +288,7 @@
"Zip code": "Zip code",
"Zoo": "Zoo",
"Zoom in": "Zoom in",
+ "Zoom out": "Zoom out",
"as of today": "as of today",
"booking.adults": "{totalAdults, plural, one {# adult} other {# adults}}",
"booking.nights": "{totalNights, plural, one {# night} other {# nights}}",
@@ -306,5 +310,5 @@
"to": "to",
"uppercase letter": "uppercase letter",
"{difference}{amount} {currency}": "{difference}{amount} {currency}",
- "Zoom out": "Zoom out"
-}
+ "{width} cm × {length} cm": "{width} cm × {length} cm"
+}
\ No newline at end of file
diff --git a/i18n/dictionaries/fi.json b/i18n/dictionaries/fi.json
index 7a7ed2ae8..064cffe7c 100644
--- a/i18n/dictionaries/fi.json
+++ b/i18n/dictionaries/fi.json
@@ -1,4 +1,5 @@
{
+ "Included (based on availability)": "Sisältyy (saatavuuden mukaan)",
"A destination or hotel name is needed to be able to search for a hotel room.": "Kohteen tai hotellin nimi tarvitaan, jotta hotellihuonetta voidaan hakea.",
"A photo of the room": "Kuva huoneesta",
"About meetings & conferences": "About meetings & conferences",
@@ -64,6 +65,7 @@
"Date of Birth": "Syntymäaika",
"Day": "Päivä",
"Description": "Kuvaus",
+ "Destination": "Kohde",
"Destinations & hotels": "Kohteet ja hotellit",
"Discard changes": "Hylkää muutokset",
"Discard unsaved changes?": "Hylkäätkö tallentamattomat muutokset?",
@@ -74,6 +76,7 @@
"Edit": "Muokata",
"Edit profile": "Muokkaa profiilia",
"Email": "Sähköposti",
+ "Email address": "Sähköpostiosoite",
"Enter destination or hotel": "Anna kohde tai hotelli",
"Enjoy relaxed restaurant experiences": "Enjoy relaxed restaurant experiences",
"Events that make an impression": "Events that make an impression",
@@ -85,6 +88,7 @@
"Fair": "Messukeskus",
"Find booking": "Etsi varaus",
"Find hotels": "Etsi hotelleja",
+ "Firstname": "Etunimi",
"Flexibility": "Joustavuus",
"Former Scandic Hotel": "Entinen Scandic-hotelli",
"Free cancellation": "Ilmainen peruutus",
@@ -94,6 +98,7 @@
"Get member benefits & offers": "Hanki jäsenetuja ja -tarjouksia",
"Go back to edit": "Palaa muokkaamaan",
"Go back to overview": "Palaa yleiskatsaukseen",
+ "Guest information": "Vieraan tiedot",
"Guests & Rooms": "Vieraat & Huoneet",
"Hi": "Hi",
"Highest level": "Korkein taso",
@@ -108,7 +113,9 @@
"It is not posible to manage your communication preferences right now, please try again later or contact support if the problem persists.": "Viestintäasetuksiasi ei voi hallita juuri nyt. Yritä myöhemmin uudelleen tai ota yhteyttä tukeen, jos ongelma jatkuu.",
"Join Scandic Friends": "Liity jäseneksi",
"Join at no cost": "Liity maksutta",
+ "King bed": "King-vuode",
"Language": "Kieli",
+ "Lastname": "Sukunimi",
"Latest searches": "Viimeisimmät haut",
"Level": "Level",
"Level 1": "Taso 1",
@@ -184,8 +191,10 @@
"Points needed to level up": "Tarvitset vielä",
"Points needed to stay on level": "Tällä tasolla pysymiseen tarvittavat pisteet",
"Previous victories": "Edelliset voitot",
+ "Proceed to payment method": "Siirry maksutavalle",
"Public price from": "Julkinen hinta alkaen",
"Public transport": "Julkinen liikenne",
+ "Queen bed": "Queen-vuode",
"Read more": "Lue lisää",
"Read more & book a table": "Read more & book a table",
"Read more about the hotel": "Lue lisää hotellista",
@@ -212,6 +221,7 @@
"Select a country": "Valitse maa",
"Select country of residence": "Valitse asuinmaa",
"Select date of birth": "Valitse syntymäaika",
+ "Select dates": "Valitse päivämäärät",
"Select language": "Valitse kieli",
"Select your language": "Valitse kieli",
"Shopping": "Ostokset",
@@ -281,7 +291,9 @@
"Zoom in": "Lähennä",
"Zoom out": "Loitonna",
"as of today": "tänään",
+ "booking.adults": "{totalAdults, plural, one {# aikuinen} other {# aikuiset}}",
"booking.nights": "{totalNights, plural, one {# yö} other {# yötä}}",
+ "booking.rooms": "{totalRooms, plural, one {# huone} other {# sviitti}}",
"by": "mennessä",
"characters": "hahmoja",
"hotelPages.rooms.roomCard.person": "henkilö",
@@ -297,5 +309,7 @@
"special character": "erikoishahmo",
"spendable points expiring by": "{points} pistettä vanhenee {date} mennessä",
"to": "to",
- "uppercase letter": "iso kirjain"
-}
+ "uppercase letter": "iso kirjain",
+ "{difference}{amount} {currency}": "{difference}{amount} {currency}",
+ "{width} cm × {length} cm": "{width} cm × {length} cm"
+}
\ No newline at end of file
diff --git a/i18n/dictionaries/no.json b/i18n/dictionaries/no.json
index adac63ba0..aea1e69a1 100644
--- a/i18n/dictionaries/no.json
+++ b/i18n/dictionaries/no.json
@@ -1,4 +1,5 @@
{
+ "Included (based on availability)": "Inkludert (basert på tilgjengelighet)",
"A destination or hotel name is needed to be able to search for a hotel room.": "Et reisemål eller hotellnavn er nødvendig for å kunne søke etter et hotellrom.",
"A photo of the room": "Et bilde av rommet",
"About meetings & conferences": "About meetings & conferences",
@@ -63,6 +64,7 @@
"Date of Birth": "Fødselsdato",
"Day": "Dag",
"Description": "Beskrivelse",
+ "Destination": "Destinasjon",
"Destinations & hotels": "Destinasjoner og hoteller",
"Discard changes": "Forkaste endringer",
"Discard unsaved changes?": "Forkaste endringer som ikke er lagret?",
@@ -73,6 +75,7 @@
"Edit": "Redigere",
"Edit profile": "Rediger profil",
"Email": "E-post",
+ "Email address": "E-postadresse",
"Enter destination or hotel": "Skriv inn destinasjon eller hotell",
"Enjoy relaxed restaurant experiences": "Enjoy relaxed restaurant experiences",
"Events that make an impression": "Events that make an impression",
@@ -84,6 +87,7 @@
"FAQ": "FAQ",
"Find booking": "Finn booking",
"Find hotels": "Finn hotell",
+ "Firstname": "Fornavn",
"Flexibility": "Fleksibilitet",
"Former Scandic Hotel": "Tidligere Scandic-hotell",
"Free cancellation": "Gratis avbestilling",
@@ -93,6 +97,7 @@
"Get member benefits & offers": "Få medlemsfordeler og tilbud",
"Go back to edit": "Gå tilbake til redigering",
"Go back to overview": "Gå tilbake til oversikten",
+ "Guest information": "Informasjon til gjester",
"Guests & Rooms": "Gjester & rom",
"Hi": "Hei",
"Highest level": "Høyeste nivå",
@@ -107,7 +112,9 @@
"It is not posible to manage your communication preferences right now, please try again later or contact support if the problem persists.": "Det er ikke mulig å administrere kommunikasjonspreferansene dine akkurat nå, prøv igjen senere eller kontakt support hvis problemet vedvarer.",
"Join Scandic Friends": "Bli med i Scandic Friends",
"Join at no cost": "Bli med uten kostnad",
+ "King bed": "King-size-seng",
"Language": "Språk",
+ "Lastname": "Etternavn",
"Latest searches": "Siste søk",
"Level": "Nivå",
"Level 1": "Nivå 1",
@@ -183,8 +190,10 @@
"Points needed to level up": "Poeng som trengs for å komme opp i nivå",
"Points needed to stay on level": "Poeng som trengs for å holde seg på nivå",
"Previous victories": "Tidligere seire",
+ "Proceed to payment method": "Fortsett til betalingsmetode",
"Public price from": "Offentlig pris fra",
"Public transport": "Offentlig transport",
+ "Queen bed": "Queen-size-seng",
"Read more": "Les mer",
"Read more & book a table": "Read more & book a table",
"Read more about the hotel": "Les mer om hotellet",
@@ -210,6 +219,7 @@
"Select a country": "Velg et land",
"Select country of residence": "Velg bostedsland",
"Select date of birth": "Velg fødselsdato",
+ "Select dates": "Velg datoer",
"Select language": "Velg språk",
"Select your language": "Velg språk",
"Shopping": "Shopping",
@@ -279,7 +289,9 @@
"Zoom in": "Zoom inn",
"Zoom out": "Zoom ut",
"as of today": "per idag",
+ "booking.adults": "{totalAdults, plural, one {# voksen} other {# voksne}}",
"booking.nights": "{totalNights, plural, one {# natt} other {# netter}}",
+ "booking.rooms": "{totalRooms, plural, one {# rom} other {# rom}}",
"by": "innen",
"characters": "tegn",
"hotelPages.rooms.roomCard.person": "person",
@@ -295,5 +307,7 @@
"special character": "spesiell karakter",
"spendable points expiring by": "{points} Brukbare poeng utløper innen {date}",
"to": "til",
- "uppercase letter": "stor bokstav"
-}
+ "uppercase letter": "stor bokstav",
+ "{difference}{amount} {currency}": "{difference}{amount} {currency}",
+ "{width} cm × {length} cm": "{width} cm × {length} cm"
+}
\ No newline at end of file
diff --git a/i18n/dictionaries/sv.json b/i18n/dictionaries/sv.json
index d257ec189..f70bb5cf3 100644
--- a/i18n/dictionaries/sv.json
+++ b/i18n/dictionaries/sv.json
@@ -1,4 +1,5 @@
{
+ "Included (based on availability)": "Ingår (baserat på tillgänglighet)",
"A destination or hotel name is needed to be able to search for a hotel room.": "Ett destinations- eller hotellnamn behövs för att kunna söka efter ett hotellrum.",
"A photo of the room": "Ett foto av rummet",
"About meetings & conferences": "About meetings & conferences",
@@ -64,6 +65,7 @@
"Date of Birth": "Födelsedatum",
"Day": "Dag",
"Description": "Beskrivning",
+ "Destination": "Destination",
"Destinations & hotels": "Destinationer & hotell",
"Discard changes": "Ignorera ändringar",
"Discard unsaved changes?": "Vill du ignorera ändringar som inte har sparats?",
@@ -74,6 +76,7 @@
"Edit": "Redigera",
"Edit profile": "Redigera profil",
"Email": "E-post",
+ "Email address": "E-postadress",
"Enter destination or hotel": "Ange destination eller hotell",
"Enjoy relaxed restaurant experiences": "Enjoy relaxed restaurant experiences",
"Events that make an impression": "Events that make an impression",
@@ -85,6 +88,7 @@
"Fair": "Mässa",
"Find booking": "Hitta bokning",
"Find hotels": "Hitta hotell",
+ "Firstname": "Förnamn",
"Flexibility": "Flexibilitet",
"Former Scandic Hotel": "Tidigare Scandichotell",
"Free cancellation": "Fri avbokning",
@@ -94,6 +98,7 @@
"Get member benefits & offers": "Ta del av medlemsförmåner och erbjudanden",
"Go back to edit": "Gå tillbaka till redigeringen",
"Go back to overview": "Gå tillbaka till översikten",
+ "Guest information": "Information till gästerna",
"Guests & Rooms": "Gäster & rum",
"Hi": "Hej",
"Highest level": "Högsta nivå",
@@ -109,7 +114,9 @@
"Join Scandic Friends": "Gå med i Scandic Friends",
"Join at no cost": "Gå med utan kostnad",
+ "King bed": "King size-säng",
"Language": "Språk",
+ "Lastname": "Efternamn",
"Latest searches": "Senaste sökningarna",
"Level": "Nivå",
"Level 1": "Nivå 1",
@@ -185,8 +192,10 @@
"Points needed to level up": "Poäng som behövs för att gå upp i nivå",
"Points needed to stay on level": "Poäng som behövs för att hålla sig på nivå",
"Previous victories": "Tidigare segrar",
+ "Proceed to payment method": "Gå vidare till betalningsmetod",
"Public price from": "Offentligt pris från",
"Public transport": "Kollektivtrafik",
+ "Queen bed": "Queen size-säng",
"Read more": "Läs mer",
"Read more & book a table": "Read more & book a table",
"Read more about the hotel": "Läs mer om hotellet",
@@ -212,6 +221,7 @@
"Select a country": "Välj ett land",
"Select country of residence": "Välj bosättningsland",
"Select date of birth": "Välj födelsedatum",
+ "Select dates": "Välj datum",
"Select language": "Välj språk",
"Select your language": "Välj ditt språk",
"Shopping": "Shopping",
@@ -281,7 +291,9 @@
"Zoom in": "Zooma in",
"Zoom out": "Zooma ut",
"as of today": "från och med idag",
+ "booking.adults": "{totalAdults, plural, one {# vuxen} other {# vuxna}}",
"booking.nights": "{totalNights, plural, one {# natt} other {# nätter}}",
+ "booking.rooms": "{totalRooms, plural, one {# rum} other {# rum}}",
"by": "innan",
"characters": "tecken",
"hotelPages.rooms.roomCard.person": "person",
@@ -297,5 +309,7 @@
"special character": "speciell karaktär",
"spendable points expiring by": "{points} poäng förfaller {date}",
"to": "till",
- "uppercase letter": "stor bokstav"
-}
+ "uppercase letter": "stor bokstav",
+ "{difference}{amount} {currency}": "{difference}{amount} {currency}",
+ "{width} cm × {length} cm": "{width} cm × {length} cm"
+}
\ No newline at end of file
diff --git a/public/_static/icons/UI - Enter details/bed king.svg b/public/_static/icons/UI - Enter details/bed king.svg
new file mode 100644
index 000000000..0a8804fef
--- /dev/null
+++ b/public/_static/icons/UI - Enter details/bed king.svg
@@ -0,0 +1,3 @@
+
diff --git a/types/components/enterDetails/bedType.ts b/types/components/enterDetails/bedType.ts
new file mode 100644
index 000000000..c4e6e4ff0
--- /dev/null
+++ b/types/components/enterDetails/bedType.ts
@@ -0,0 +1,5 @@
+import { z } from "zod"
+
+import { bedTypeSchema } from "@/components/HotelReservation/EnterDetails/BedType/schema"
+
+export interface BedTypeSchema extends z.output {}
diff --git a/types/components/search.ts b/types/components/search.ts
index 42401045f..6f1017126 100644
--- a/types/components/search.ts
+++ b/types/components/search.ts
@@ -39,14 +39,14 @@ export interface ListItemProps
export interface DialogProps
extends React.PropsWithChildren,
- VariantProps,
- Pick {
+ VariantProps,
+ Pick {
className?: string
}
export interface ErrorDialogProps
extends React.PropsWithChildren,
- Pick {}
+ Pick { }
export interface ClearSearchButtonProps
extends Pick<
diff --git a/types/enums/bedType.ts b/types/enums/bedType.ts
new file mode 100644
index 000000000..0b4ba284d
--- /dev/null
+++ b/types/enums/bedType.ts
@@ -0,0 +1,4 @@
+export enum bedTypeEnum {
+ KING = "KING",
+ QUEEN = "QUEEN",
+}