From d7b87585b978e723efcdc4183cdd9ade6d0df985 Mon Sep 17 00:00:00 2001 From: Christel Westerberg Date: Tue, 2 Jul 2024 13:11:06 +0200 Subject: [PATCH 1/3] fix: get joinloyalty button from contentstack --- .../Loyalty/Sidebar/JoinLoyalty/index.tsx | 21 ++++++-- lib/graphql/Query/LoyaltyPage.graphql | 35 +++++++++++++ .../contentstack/loyaltyPage/output.ts | 22 ++++++++ .../routers/contentstack/loyaltyPage/query.ts | 50 +++++++++++++------ .../routers/contentstack/loyaltyPage/utils.ts | 14 +++++- 5 files changed, 119 insertions(+), 23 deletions(-) diff --git a/components/Loyalty/Sidebar/JoinLoyalty/index.tsx b/components/Loyalty/Sidebar/JoinLoyalty/index.tsx index 481f984a7..e940aab0f 100644 --- a/components/Loyalty/Sidebar/JoinLoyalty/index.tsx +++ b/components/Loyalty/Sidebar/JoinLoyalty/index.tsx @@ -34,11 +34,22 @@ export default async function JoinLoyaltyContact({ {block.preamble ? {block.preamble} : null} - + {block.button ? ( + + ) : null}
{formatMessage({ id: "Already a friend?" })} { + switch (item.__typename) { + case SidebarTypenameEnum.LoyaltyPageSidebarJoinLoyaltyContact: + return { + ...item, + join_loyalty_contact: { + ...item.join_loyalty_contact, + button: makeButtonObject(item.join_loyalty_contact.button), + }, + } + default: + return item + } + }) + : null + const loyaltyPage = { heading: response.data.loyalty_page.heading, system: response.data.loyalty_page.system, blocks, - sidebar: response.data.loyalty_page.sidebar, + sidebar, } const validatedLoyaltyPage = diff --git a/server/routers/contentstack/loyaltyPage/utils.ts b/server/routers/contentstack/loyaltyPage/utils.ts index 409ebadef..95e251075 100644 --- a/server/routers/contentstack/loyaltyPage/utils.ts +++ b/server/routers/contentstack/loyaltyPage/utils.ts @@ -3,6 +3,7 @@ import { LoyaltyPageRefsDataRaw } from "./output" import { LoyaltyBlocksTypenameEnum, LoyaltyCardsGridEnum, + SidebarTypenameEnum, } from "@/types/components/loyalty/enums" import type { Edges } from "@/types/requests/utils/edges" import type { NodeRefs } from "@/types/requests/utils/refs" @@ -59,8 +60,17 @@ export function getConnections(refs: LoyaltyPageRefsDataRaw) { } if (refs.loyalty_page.sidebar) { refs.loyalty_page.sidebar?.forEach((item) => { - if (item.content.content.embedded_itemsConnection.edges.length) { - connections.push(item.content.content.embedded_itemsConnection) + switch (item.__typename) { + case SidebarTypenameEnum.LoyaltyPageSidebarContent: + if (item.content.content.embedded_itemsConnection.edges.length) { + connections.push(item.content.content.embedded_itemsConnection) + } + break + case SidebarTypenameEnum.LoyaltyPageSidebarJoinLoyaltyContact: + if (item.join_loyalty_contact.button?.linkConnection) { + connections.push(item.join_loyalty_contact.button.linkConnection) + } + break } }) } From e49065124ba3fc6ec350dc7e69564ce8afcd5ba6 Mon Sep 17 00:00:00 2001 From: Christel Westerberg Date: Fri, 5 Jul 2024 14:25:35 +0200 Subject: [PATCH 2/3] fix: links issues, translations and layouts --- app/[lang]/webview/layout.tsx | 10 ++++++++-- components/ContentType/Webviews/LoyaltyPage.tsx | 8 +++----- components/ContentType/Webviews/loyaltyPage.module.css | 5 +++++ components/MyPages/AccountPage/Webview/Content.tsx | 8 ++++++-- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/app/[lang]/webview/layout.tsx b/app/[lang]/webview/layout.tsx index 0d8c48ffd..eb7d7ed04 100644 --- a/app/[lang]/webview/layout.tsx +++ b/app/[lang]/webview/layout.tsx @@ -3,6 +3,9 @@ import "@scandic-hotels/design-system/style.css" import TrpcProvider from "@/lib/trpc/Provider" +import { getIntl } from "@/i18n" +import ServerIntlProvider from "@/i18n/Provider" + import styles from "./layout.module.css" import type { Metadata } from "next" @@ -13,14 +16,17 @@ export const metadata: Metadata = { title: "Webview", } -export default function RootLayout({ +export default async function RootLayout({ children, params, }: React.PropsWithChildren>) { + const { defaultLocale, locale, messages } = await getIntl() return ( - {children} + + {children} + ) diff --git a/components/ContentType/Webviews/LoyaltyPage.tsx b/components/ContentType/Webviews/LoyaltyPage.tsx index d34d32fca..a7d7fa001 100644 --- a/components/ContentType/Webviews/LoyaltyPage.tsx +++ b/components/ContentType/Webviews/LoyaltyPage.tsx @@ -19,13 +19,11 @@ export default async function AboutScandicFriends({ lang }: LangParams) {
- {loyaltyPage.sidebar ? ( -
- -
+ {loyaltyPage.sidebar.length ? ( + ) : null} - + {loyaltyPage.heading} diff --git a/components/ContentType/Webviews/loyaltyPage.module.css b/components/ContentType/Webviews/loyaltyPage.module.css index 016506517..5f83ea50c 100644 --- a/components/ContentType/Webviews/loyaltyPage.module.css +++ b/components/ContentType/Webviews/loyaltyPage.module.css @@ -8,3 +8,8 @@ margin-left: calc(var(--Spacing-x2) * -1); margin-right: calc(var(--Spacing-x2) * -1); } + +.blocks { + display: grid; + gap: var(--Spacing-x5); +} diff --git a/components/MyPages/AccountPage/Webview/Content.tsx b/components/MyPages/AccountPage/Webview/Content.tsx index 096966b38..2147566c2 100644 --- a/components/MyPages/AccountPage/Webview/Content.tsx +++ b/components/MyPages/AccountPage/Webview/Content.tsx @@ -23,7 +23,7 @@ function DynamicComponent({ component, props }: AccountPageContentProps) { return ( @@ -56,7 +56,11 @@ export default function Content({ lang, content }: ContentProps) { href: item.dynamic_content.link.linkConnection.edges[0].node .original_url || - `/${lang}/webview${item.dynamic_content.link.linkConnection.edges[0].node.url}`, + modWebviewLink( + item.dynamic_content.link.linkConnection.edges[0].node + .url, + lang + ), text: item.dynamic_content.link.link_text, } : null From 719429f691480ae73b759ecc69b2e2162b807227 Mon Sep 17 00:00:00 2001 From: Arvid Norlin Date: Fri, 5 Jul 2024 15:11:34 +0200 Subject: [PATCH 3/3] chore: add danish translations for Level Comparison --- .../DynamicContent/OverviewTable/data/DA.json | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/components/Loyalty/Blocks/DynamicContent/OverviewTable/data/DA.json b/components/Loyalty/Blocks/DynamicContent/OverviewTable/data/DA.json index 496b61821..26702c99d 100644 --- a/components/Loyalty/Blocks/DynamicContent/OverviewTable/data/DA.json +++ b/components/Loyalty/Blocks/DynamicContent/OverviewTable/data/DA.json @@ -20,11 +20,11 @@ }, { "name": "Gratis mocktail til børn under opholdet", - "description": "Vi vil så gerne have, at børnenes føler sig som de VIPs, de er, så vi giver en forfriskende mocktail under hvert ophold.", + "description": "Vi vil så gerne have, at børnene føler sig som de VIPs, de er, så vi giver en forfriskende mocktail under hvert ophold.", "unlocked": true }, { - "name": "Sen udcheckning, når tilgængelig", + "name": "Sen check ud, når tilgængelig", "description": "Vi ved godt, at muligheden for at checke sent ud virkelig kan redde turen, og nu skal du ikke længere skynde dig ud af sengen. Check ud en time senere uden ekstra omkostninger, og nyd at kunne sove lidt længere.", "unlocked": false }, @@ -39,13 +39,13 @@ "unlocked": false }, { - "name": "Tidlig indcheckning, når tilgængelig", + "name": "Tidlig check ind, når tilgængelig", "description": "Vil du tage hul på opholdet lidt hurtigere? Intet problem. Check ind en time før uden ekstra omkostninger, og nyd at kunne slappe en smule mere af.", "unlocked": false }, { "name": "Gratis opgraderinger, når tilgængelige", - "description": "ad os bare sige det lige ud: Vi giver det hele et nøk opad. På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", + "description": "På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", "unlocked": false }, { @@ -55,7 +55,7 @@ }, { "name": "48-timers værelsesgaranti", - "description": "Shh, kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", + "description": "Kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", "unlocked": false }, { @@ -89,7 +89,7 @@ }, { "name": "Rabat på mad", - "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat på vores restaurant og på maden i vores hotelshop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", + "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat i vores restaurant og på maden i vores hotel shop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", "unlocked": true, "value": "15%" }, @@ -99,7 +99,7 @@ "unlocked": true }, { - "name": "Sen udcheckning, når tilgængelig", + "name": "Sen check ud, når tilgængelig", "description": "Vi ved godt, at muligheden for at checke sent ud virkelig kan redde turen, og nu skal du ikke længere skynde dig ud af sengen. Check ud en time senere uden ekstra omkostninger, og nyd at kunne sove lidt længere.", "unlocked": false }, @@ -114,13 +114,13 @@ "unlocked": false }, { - "name": "Tidlig indcheckning, når tilgængelig", + "name": "Tidlig check ind, når tilgængelig", "description": "Vil du tage hul på opholdet lidt hurtigere? Intet problem. Check ind en time før uden ekstra omkostninger, og nyd at kunne slappe en smule mere af.", "unlocked": false }, { "name": "Gratis opgraderinger, når tilgængelige", - "description": "ad os bare sige det lige ud: Vi giver det hele et nøk opad. På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", + "description": "På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", "unlocked": false }, { @@ -130,7 +130,7 @@ }, { "name": "48-timers værelsesgaranti", - "description": "Shh, kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", + "description": "Kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", "unlocked": false }, { @@ -164,7 +164,7 @@ }, { "name": "Rabat på mad", - "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat på vores restaurant og på maden i vores hotelshop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", + "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat i vores restaurant og på maden i vores hotel shop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", "unlocked": true, "value": "15%" }, @@ -174,7 +174,7 @@ "unlocked": true }, { - "name": "Sen udcheckning, når tilgængelig", + "name": "Sen check ud, når tilgængelig", "description": "Vi ved godt, at muligheden for at checke sent ud virkelig kan redde turen, og nu skal du ikke længere skynde dig ud af sengen. Check ud en time senere uden ekstra omkostninger, og nyd at kunne sove lidt længere.", "unlocked": true }, @@ -190,13 +190,13 @@ "unlocked": false }, { - "name": "Tidlig indcheckning, når tilgængelig", + "name": "Tidlig check ind, når tilgængelig", "description": "Vil du tage hul på opholdet lidt hurtigere? Intet problem. Check ind en time før uden ekstra omkostninger, og nyd at kunne slappe en smule mere af.", "unlocked": false }, { "name": "Gratis opgraderinger, når tilgængelige", - "description": "ad os bare sige det lige ud: Vi giver det hele et nøk opad. På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", + "description": "På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", "unlocked": false }, { @@ -206,7 +206,7 @@ }, { "name": "48-timers værelsesgaranti", - "description": "Shh, kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", + "description": "Kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", "unlocked": false }, { @@ -240,7 +240,7 @@ }, { "name": "Rabat på mad", - "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat på vores restaurant og på maden i vores hotelshop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", + "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat i vores restaurant og på maden i vores hotelshop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", "unlocked": true, "value": "15%" }, @@ -250,7 +250,7 @@ "unlocked": true }, { - "name": "Sen udcheckning, når tilgængelig", + "name": "Sen check ud, når tilgængelig", "description": "Vi ved godt, at muligheden for at checke sent ud virkelig kan redde turen, og nu skal du ikke længere skynde dig ud af sengen. Check ud en time senere uden ekstra omkostninger, og nyd at kunne sove lidt længere.", "unlocked": true }, @@ -262,18 +262,18 @@ }, { "name": "Venskabsboost", - "description": "Hver gang du booster dine venskabspoint, får du 25% ekstra! Så kom i gang med at optjene point på ophold, måltider med mere, og pludselig har du en gratis overnatning.", + "description": "Hver gang du booster dine venskabspoint, får du 25% ekstra! Så kom i gang med at optjene point på ophold, måltider m.m., og pludselig har du en gratis overnatning.", "unlocked": true, "value": "25%" }, { - "name": "Tidlig indcheckning, når tilgængelig", + "name": "Tidlig check ind, når tilgængelig", "description": "Vil du tage hul på opholdet lidt hurtigere? Intet problem. Check ind en time før uden ekstra omkostninger, og nyd at kunne slappe en smule mere af.", "unlocked": true }, { "name": "Gratis opgraderinger, når tilgængelige", - "description": "ad os bare sige det lige ud: Vi giver det hele et nøk opad. På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", + "description": "På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", "unlocked": false }, { @@ -283,7 +283,7 @@ }, { "name": "48-timers værelsesgaranti", - "description": "Shh, kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", + "description": "Kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", "unlocked": false }, { @@ -317,7 +317,7 @@ }, { "name": "Rabat på mad", - "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat på vores restaurant og på maden i vores hotelshop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", + "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat i vores restaurant og på maden i vores hotel shop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", "unlocked": true, "value": "15%" }, @@ -327,7 +327,7 @@ "unlocked": true }, { - "name": "Sen udcheckning, når tilgængelig", + "name": "Sen check ud, når tilgængelig", "description": "Vi ved godt, at muligheden for at checke sent ud virkelig kan redde turen, og nu skal du ikke længere skynde dig ud af sengen. Check ud en time senere uden ekstra omkostninger, og nyd at kunne sove lidt længere.", "unlocked": true }, @@ -339,18 +339,18 @@ }, { "name": "Venskabsboost", - "description": "Hver gang du booster dine venskabspoint, får du 25% ekstra! Så kom i gang med at optjene point på ophold, måltider med mere, og pludselig har du en gratis overnatning.", + "description": "Hver gang du booster dine venskabspoint, får du 25% ekstra! Så kom i gang med at optjene point på ophold, måltider m.m., og pludselig har du en gratis overnatning.", "unlocked": true, "value": "25%" }, { - "name": "Tidlig indcheckning, når tilgængelig", + "name": "Tidlig check ind, når tilgængelig", "description": "Vil du tage hul på opholdet lidt hurtigere? Intet problem. Check ind en time før uden ekstra omkostninger, og nyd at kunne slappe en smule mere af.", "unlocked": true }, { "name": "Gratis opgraderinger, når tilgængelige", - "description": "ad os bare sige det lige ud: Vi giver det hele et nøk opad. På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", + "description": "På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", "unlocked": true }, { @@ -360,7 +360,7 @@ }, { "name": "48-timers værelsesgaranti", - "description": "Shh, kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", + "description": "Kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", "unlocked": false }, { @@ -394,7 +394,7 @@ }, { "name": "Rabat på mad", - "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat på vores restaurant og på maden i vores hotelshop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", + "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat i vores restaurant og på maden i vores hotel shop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", "unlocked": true, "value": "15%" }, @@ -404,13 +404,13 @@ "unlocked": true }, { - "name": "Sen udcheckning, når tilgængelig", + "name": "Sen check ud, når tilgængelig", "description": "Vi ved godt, at muligheden for at checke sent ud virkelig kan redde turen, og nu skal du ikke længere skynde dig ud af sengen. Check ud en time senere uden ekstra omkostninger, og nyd at kunne sove lidt længere.", "unlocked": true }, { "name": "Restaurantvoucher", - "description": "Det går ret godt, så nu giver hver pointgivende overnatning en restaurantvoucher på 150 DKK. Den er helt sikkert god at have ved hånden, næste gang du vil spise en lækker morgenmad eller romantisk middag!", + "description": "Det går ret godt, så nu giver hver pointgivende overnatning en restaurantvoucher på 150 DKK. Den er helt sikkert god at have ved hånden, næste gang du vil spise en god middag!", "unlocked": true, "value": "150 DKK" }, @@ -421,13 +421,13 @@ "value": "50%" }, { - "name": "Tidlig indcheckning, når tilgængelig", + "name": "Tidlig check ind, når tilgængelig", "description": "Vil du tage hul på opholdet lidt hurtigere? Intet problem. Check ind en time før uden ekstra omkostninger, og nyd at kunne slappe en smule mere af.", "unlocked": true }, { "name": "Gratis opgraderinger, når tilgængelige", - "description": "ad os bare sige det lige ud: Vi giver det hele et nøk opad. På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", + "description": "På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", "unlocked": true }, { @@ -437,7 +437,7 @@ }, { "name": "48-timers værelsesgaranti", - "description": "Shh, kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", + "description": "Kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", "unlocked": true }, { @@ -471,7 +471,7 @@ }, { "name": "Rabat på mad", - "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat på vores restaurant og på maden i vores hotelshop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", + "description": "Hvad er mere lækkert end en rabat? Som vores ven får du i weekenderne og på udvalgte helligdage 15% rabat i vores restaurant og på maden i vores hotel shop – og det er uanset om du overnatter hos os eller ej. Så kom i gang med at forkæle dig selv: Bestil noget roomservice!", "unlocked": true, "value": "15%" }, @@ -481,7 +481,7 @@ "unlocked": true }, { - "name": "Sen udcheckning, når tilgængelig", + "name": "Sen check ud, når tilgængelig", "description": "Vi ved godt, at muligheden for at checke sent ud virkelig kan redde turen, og nu skal du ikke længere skynde dig ud af sengen. Check ud en time senere uden ekstra omkostninger, og nyd at kunne sove lidt længere.", "unlocked": true }, @@ -498,13 +498,13 @@ "value": "50%" }, { - "name": "Tidlig indcheckning, når tilgængelig", + "name": "Tidlig check ind, når tilgængelig", "description": "Vil du tage hul på opholdet lidt hurtigere? Intet problem. Check ind en time før uden ekstra omkostninger, og nyd at kunne slappe en smule mere af.", "unlocked": true }, { "name": "Gratis opgraderinger, når tilgængelige", - "description": "ad os bare sige det lige ud: Vi giver det hele et nøk opad. På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", + "description": "På det her venskabsniveau opgraderer vi dit værelse, hvis det er muligt, så du får et endnu mere behageligt ophold.", "unlocked": true }, { @@ -514,7 +514,7 @@ }, { "name": "48-timers værelsesgaranti", - "description": "Shh, kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", + "description": "Kun få af jer får denne særlige fordel! Selv hvis vi er fuldt bookede, er du garanteret et værelse, så længe du booker mindst 48 timer i forvejen.", "unlocked": true }, {