Merged in feat/sw-2863-move-contentstack-router-to-trpc-package (pull request #2389)

feat(SW-2863): Move contentstack router to trpc package

* Add exports to packages and lint rule to prevent relative imports

* Add env to trpc package

* Add eslint to trpc package

* Apply lint rules

* Use direct imports from trpc package

* Add lint-staged config to trpc

* Move lang enum to common

* Restructure trpc package folder structure

* WIP first step

* update internal imports in trpc

* Fix most errors in scandic-web

Just 100 left...

* Move Props type out of trpc

* Fix CategorizedFilters types

* Move more schemas in hotel router

* Fix deps

* fix getNonContentstackUrls

* Fix import error

* Fix entry error handling

* Fix generateMetadata metrics

* Fix alertType enum

* Fix duplicated types

* lint:fix

* Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package

* Fix broken imports

* Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package


Approved-by: Linus Flood
This commit is contained in:
Anton Gunnarsson
2025-06-26 07:53:01 +00:00
parent 0263ab8c87
commit 002d093af4
921 changed files with 3112 additions and 3008 deletions
@@ -0,0 +1,67 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/DynamicContent.graphql"
#import "../../Fragments/Blocks/Shortcuts.graphql"
#import "../../Fragments/Blocks/TextContent.graphql"
query GetAccountPage($locale: String!, $uid: String!) {
account_page(locale: $locale, uid: $uid) {
heading
preamble
hero_image
hero_image_active
title
url
content {
__typename
...DynamicContent_AccountPage
...Shortcuts_AccountPage
...TextContent_AccountPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: account_page(locale: "en", uid: $uid) {
url
}
}
query GetAccountPageRefs($locale: String!, $uid: String!) {
account_page(locale: $locale, uid: $uid) {
content {
__typename
...DynamicContent_AccountPageRefs
...Shortcuts_AccountPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsAccountPage($uid: String!) {
de: account_page(locale: "de", uid: $uid) {
url
}
en: account_page(locale: "en", uid: $uid) {
url
}
da: account_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsAccountPage($uid: String!) {
fi: account_page(locale: "fi", uid: $uid) {
url
}
no: account_page(locale: "no", uid: $uid) {
url
}
sv: account_page(locale: "sv", uid: $uid) {
url
}
}
@@ -0,0 +1,18 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetAccountPageMetadata($locale: String!, $uid: String!) {
account_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
system {
...System
}
}
}
@@ -0,0 +1,85 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/PageLink/AccountPageLink.graphql"
#import "../../Fragments/PageLink/CampaignPageLink.graphql"
#import "../../Fragments/PageLink/CollectionPageLink.graphql"
#import "../../Fragments/PageLink/ContentPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../../Fragments/PageLink/HotelPageLink.graphql"
#import "../../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../../Fragments/PageLink/StartPageLink.graphql"
#import "../../Fragments/AccountPage/Ref.graphql"
#import "../../Fragments/CampaignPage/Ref.graphql"
#import "../../Fragments/CollectionPage/Ref.graphql"
#import "../../Fragments/ContentPage/Ref.graphql"
#import "../../Fragments/DestinationCityPage/Ref.graphql"
#import "../../Fragments/DestinationCountryPage/Ref.graphql"
#import "../../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../../Fragments/HotelPage/Ref.graphql"
#import "../../Fragments/LoyaltyPage/Ref.graphql"
#import "../../Fragments/StartPage/Ref.graphql"
query GetNavigationMyPages($locale: String!) {
all_navigation_my_pages(locale: $locale, limit: 1) {
items {
menu_items {
display_sign_out_link
links {
link_text
page: pageConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
}
title
}
}
}
query GetNavigationMyPagesRefs($locale: String!) {
all_navigation_my_pages(locale: $locale, limit: 1) {
items {
menu_items {
links {
page: pageConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
system {
...System
}
}
}
}
@@ -0,0 +1,29 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetMyPagesBreadcrumbs($locale: String!, $uid: String!) {
account_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetMyPagesBreadcrumbsRefs($locale: String!, $uid: String!) {
account_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,29 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetCampaignOverviewPageBreadcrumbs($locale: String!, $uid: String!) {
campaign_overview_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetCampaignOverviewPageBreadcrumbsRefs($locale: String!, $uid: String!) {
campaign_overview_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,29 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetCampaignPageBreadcrumbs($locale: String!, $uid: String!) {
campaign_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetCampaignPageBreadcrumbsRefs($locale: String!, $uid: String!) {
campaign_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,29 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetCollectionPageBreadcrumbs($locale: String!, $uid: String!) {
collection_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetCollectionPageBreadcrumbsRefs($locale: String!, $uid: String!) {
collection_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,29 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetContentPageBreadcrumbs($locale: String!, $uid: String!) {
content_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetContentPageBreadcrumbsRefs($locale: String!, $uid: String!) {
content_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,29 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationCityPageBreadcrumbs($locale: String!, $uid: String!) {
destination_city_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetDestinationCityPageBreadcrumbsRefs($locale: String!, $uid: String!) {
destination_city_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,32 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationCountryPageBreadcrumbs($locale: String!, $uid: String!) {
destination_country_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetDestinationCountryPageBreadcrumbsRefs(
$locale: String!
$uid: String!
) {
destination_country_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,32 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationOverviewPageBreadcrumbs($locale: String!, $uid: String!) {
destination_overview_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetDestinationOverviewPageBreadcrumbsRefs(
$locale: String!
$uid: String!
) {
destination_overview_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,29 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetHotelPageBreadcrumbs($locale: String!, $uid: String!) {
hotel_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetHotelPageBreadcrumbsRefs($locale: String!, $uid: String!) {
hotel_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,29 @@
#import "../../Fragments/Breadcrumbs/Breadcrumbs.graphql"
#import "../../Fragments/System.graphql"
query GetLoyaltyPageBreadcrumbs($locale: String!, $uid: String!) {
loyalty_page(locale: $locale, uid: $uid) {
url
web {
breadcrumbs {
...Breadcrumbs
}
}
system {
...System
}
}
}
query GetLoyaltyPageBreadcrumbsRefs($locale: String!, $uid: String!) {
loyalty_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
...BreadcrumbsRefs
}
}
system {
...System
}
}
}
@@ -0,0 +1,72 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/CampaignOverviewPage/NavigationLinks.graphql"
#import "../../Fragments/CampaignOverviewPage/TopCampaign.graphql"
query GetCampaignOverviewPage($locale: String!, $uid: String!) {
campaign_overview_page(uid: $uid, locale: $locale) {
title
header {
heading
preamble
...NavigationLinks_CampaignOverviewPage
}
top_campaignConnection {
edges {
node {
...TopCampaign
}
}
}
system {
...System
created_at
updated_at
}
}
trackingProps: campaign_overview_page(locale: "en", uid: $uid) {
url
}
}
query GetCampaignOverviewPageRefs($locale: String!, $uid: String!) {
campaign_overview_page(locale: $locale, uid: $uid) {
header {
...NavigationLinksRef_CampaignOverviewPage
}
top_campaignConnection {
edges {
node {
...TopCampaignRef
}
}
}
system {
...System
}
}
}
query GetDaDeEnUrlsCampaignOverviewPage($uid: String!) {
de: campaign_overview_page(locale: "de", uid: $uid) {
url
}
en: campaign_overview_page(locale: "en", uid: $uid) {
url
}
da: campaign_overview_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsCampaignOverviewPage($uid: String!) {
fi: campaign_overview_page(locale: "fi", uid: $uid) {
url
}
no: campaign_overview_page(locale: "no", uid: $uid) {
url
}
sv: campaign_overview_page(locale: "sv", uid: $uid) {
url
}
}
@@ -0,0 +1,22 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetCampaignOverviewPageMetadata($locale: String!, $uid: String!) {
campaign_overview_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
header {
heading
preamble
}
system {
...System
}
}
}
@@ -0,0 +1,79 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/CampaignPage/IncludedHotels.graphql"
#import "../../Fragments/CampaignPage/Hero.graphql"
#import "../../Fragments/Blocks/Accordion.graphql"
#import "../../Fragments/Blocks/Essentials.graphql"
#import "../../Fragments/Blocks/CarouselCards.graphql"
#import "../../Fragments/Blocks/HotelListing.graphql"
query GetCampaignPage($locale: String!, $uid: String!) {
campaign_page(uid: $uid, locale: $locale) {
title
heading
subheading
preamble {
is_two_columns
first_column
second_column
}
included_hotels {
...CampaignPageIncludedHotels
}
blocks {
__typename
...Essentials_CampaignPage
...CarouselCards_CampaignPage
...Accordion_CampaignPage
...HotelListing_CampaignPage
}
system {
...System
created_at
updated_at
}
...Hero_CampaignPage
}
trackingProps: campaign_page(locale: "en", uid: $uid) {
url
}
}
query GetCampaignPageRefs($locale: String!, $uid: String!) {
campaign_page(locale: $locale, uid: $uid) {
blocks {
__typename
...CarouselCards_CampaignPageRefs
...Accordion_CampaignPageRefs
}
...HeroRef_CampaignPage
system {
...System
}
}
}
query GetDaDeEnUrlsCampaignPage($uid: String!) {
de: campaign_page(locale: "de", uid: $uid) {
url
}
en: campaign_page(locale: "en", uid: $uid) {
url
}
da: campaign_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsCampaignPage($uid: String!) {
fi: campaign_page(locale: "fi", uid: $uid) {
url
}
no: campaign_page(locale: "no", uid: $uid) {
url
}
sv: campaign_page(locale: "sv", uid: $uid) {
url
}
}
@@ -0,0 +1,22 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetCampaignPageMetadata($locale: String!, $uid: String!) {
campaign_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
heading
preamble {
first_column
}
system {
...System
}
}
}
@@ -0,0 +1,84 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/CardsGrid.graphql"
#import "../../Fragments/Blocks/DynamicContent.graphql"
#import "../../Fragments/Blocks/Shortcuts.graphql"
#import "../../Fragments/Blocks/UspGrid.graphql"
#import "../../Fragments/CollectionPage/NavigationLinks.graphql"
#import "../../Fragments/CollectionPage/TopPrimaryButton.graphql"
query GetCollectionPage($locale: String!, $uid: String!) {
collection_page(uid: $uid, locale: $locale) {
hero_image
title
header {
heading
preamble
...TopPrimaryButton_CollectionPage
...NavigationLinks_CollectionPage
}
meeting_package {
show_widget
location
}
blocks {
__typename
...CardsGrid_CollectionPage
...Shortcuts_CollectionPage
...UspGrid_CollectionPage
...DynamicContent_CollectionPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: collection_page(locale: "en", uid: $uid) {
url
}
}
query GetCollectionPageRefs($locale: String!, $uid: String!) {
collection_page(locale: $locale, uid: $uid) {
header {
...TopPrimaryButtonRef_CollectionPage
...NavigationLinksRef_CollectionPage
}
blocks {
__typename
...CardsGrid_CollectionPageRefs
...Shortcuts_CollectionPageRefs
...UspGrid_CollectionPageRefs
...DynamicContent_CollectionPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsCollectionPage($uid: String!) {
de: collection_page(locale: "de", uid: $uid) {
url
}
en: collection_page(locale: "en", uid: $uid) {
url
}
da: collection_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsCollectionPage($uid: String!) {
fi: collection_page(locale: "fi", uid: $uid) {
url
}
no: collection_page(locale: "no", uid: $uid) {
url
}
sv: collection_page(locale: "sv", uid: $uid) {
url
}
}
@@ -0,0 +1,23 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetCollectionPageMetadata($locale: String!, $uid: String!) {
collection_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
header {
heading
preamble
}
hero_image
system {
...System
}
}
}
@@ -0,0 +1,39 @@
query GetContactConfig($locale: String!) {
all_contact_config(locale: $locale) {
items {
email {
address
name
}
email_loyalty {
address
name
}
mailing_address {
name
street
zip
country
city
}
phone {
number
name
footnote
}
phone_loyalty {
name
number
footnote
}
title
visiting_address {
country
city
street
zip
}
}
total
}
}
@@ -0,0 +1,147 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/Accordion.graphql"
#import "../../Fragments/Blocks/CardsGrid.graphql"
#import "../../Fragments/Blocks/Content.graphql"
#import "../../Fragments/Blocks/DynamicContent.graphql"
#import "../../Fragments/Blocks/HotelListing.graphql"
#import "../../Fragments/Blocks/Shortcuts.graphql"
#import "../../Fragments/Blocks/Table.graphql"
#import "../../Fragments/Blocks/TextCols.graphql"
#import "../../Fragments/Blocks/UspGrid.graphql"
#import "../../Fragments/ContentPage/NavigationLinks.graphql"
#import "../../Fragments/ContentPage/TopPrimaryButton.graphql"
#import "../../Fragments/Sidebar/Content.graphql"
#import "../../Fragments/Sidebar/DynamicContent.graphql"
#import "../../Fragments/Sidebar/JoinLoyaltyContact.graphql"
#import "../../Fragments/Sidebar/TeaserCard.graphql"
#import "../../Fragments/Sidebar/ScriptedCard.graphql"
#import "../../Fragments/Sidebar/QuickLinks.graphql"
query GetContentPage($locale: String!, $uid: String!) {
content_page(uid: $uid, locale: $locale) {
hero_image
title
header {
heading
preamble
dynamic_content {
component
}
...TopPrimaryButton_ContentPage
...NavigationLinks_ContentPage
}
meeting_package {
show_widget
location
}
blocks {
__typename
}
sidebar {
__typename
...ContentSidebar_ContentPage
...DynamicContentSidebar_ContentPage
...JoinLoyaltyContactSidebar_ContentPage
...ScriptedCardSidebar_ContentPage
...TeaserCardSidebar_ContentPage
...QuickLinksSidebar_ContentPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: content_page(locale: "en", uid: $uid) {
url
}
}
query GetContentPageBlocksBatch1($locale: String!, $uid: String!) {
content_page(uid: $uid, locale: $locale) {
blocks {
__typename
...Accordion_ContentPage
...CardsGrid_ContentPage
...Content_ContentPage
...DynamicContent_ContentPage
}
}
}
query GetContentPageBlocksBatch2($locale: String!, $uid: String!) {
content_page(uid: $uid, locale: $locale) {
blocks {
__typename
...HotelListing_ContentPage
...Shortcuts_ContentPage
...Table_ContentPage
...TextCols_ContentPage
...UspGrid_ContentPage
}
}
}
query GetContentPageRefs($locale: String!, $uid: String!) {
content_page(locale: $locale, uid: $uid) {
header {
dynamic_content {
component
}
...NavigationLinksRef_ContentPage
...TopPrimaryButtonRef_ContentPage
}
sidebar {
__typename
...ContentSidebar_ContentPageRefs
...JoinLoyaltyContactSidebar_ContentPageRefs
...ScriptedCardSidebar_ContentPageRefs
...TeaserCardSidebar_ContentPageRefs
...QuickLinksSidebar_ContentPageRefs
}
system {
...System
}
}
}
query GetContentPageBlocksRefs($locale: String!, $uid: String!) {
content_page(locale: $locale, uid: $uid) {
blocks {
__typename
...Accordion_ContentPageRefs
...CardsGrid_ContentPageRefs
...Content_ContentPageRefs
...DynamicContent_ContentPageRefs
...Shortcuts_ContentPageRefs
...TextCols_ContentPageRef
...UspGrid_ContentPageRefs
}
}
}
query GetDaDeEnUrlsContentPage($uid: String!) {
de: content_page(locale: "de", uid: $uid) {
url
}
en: content_page(locale: "en", uid: $uid) {
url
}
da: content_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsContentPage($uid: String!) {
fi: content_page(locale: "fi", uid: $uid) {
url
}
no: content_page(locale: "no", uid: $uid) {
url
}
sv: content_page(locale: "sv", uid: $uid) {
url
}
}
@@ -0,0 +1,32 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetContentPageMetadata($locale: String!, $uid: String!) {
content_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
header {
heading
preamble
}
hero_image
blocks {
... on ContentPageBlocksContent {
content {
content {
json
}
}
}
}
system {
...System
}
}
}
@@ -0,0 +1,39 @@
#import "../../Fragments/Aside/Contact.graphql"
#import "../../Fragments/Aside/Puff.graphql"
#import "../../Fragments/Blocks/List.graphql"
#import "../../Fragments/Blocks/Puff.graphql"
#import "../../Fragments/Blocks/Text.graphql"
#import "../../Fragments/Breadcrumbs/CurrentBlocksPage.graphql"
#import "../../Fragments/Hero.graphql"
#import "../../Fragments/Preamble.graphql"
query GetCurrentBlockPage($locale: String!, $url: String!) {
all_current_blocks_page(limit: 1, locale: $locale, where: { url: $url }) {
items {
aside {
__typename
...ContactAside
...PuffAside
}
blocks {
__typename
...ListBlock
...PuffBlock
...TextBlock
}
...CurrentBlocksPageBreadcrumbs
hero {
...Hero
}
...Preamble
system {
created_at
uid
updated_at
}
title
url
}
total
}
}
@@ -0,0 +1,5 @@
query GetCurrentBlockPageTrackingData($uid: String!) {
current_blocks_page(uid: $uid, locale: "en") {
url
}
}
@@ -0,0 +1,36 @@
#import "../../Fragments/CurrentFooter/AppDownloads.graphql"
#import "../../Fragments/CurrentFooter/Logo.graphql"
#import "../../Fragments/CurrentFooter/Navigation.graphql"
#import "../../Fragments/CurrentFooter/SocialMedia.graphql"
#import "../../Fragments/CurrentFooter/TripAdvisor.graphql"
#import "../../Fragments/System.graphql"
query GetCurrentFooter($locale: String!) {
all_current_footer(limit: 1, locale: $locale) {
items {
...CurrentFooterAppDownloads
...CurrentFooterSocialMedia
...Logo
...Navigation
...TripAdvisor
title
about {
text
title
}
system {
...System
}
}
}
}
query GetCurrentFooterRef($locale: String!) {
all_current_footer(limit: 1, locale: $locale) {
items {
system {
...System
}
}
}
}
@@ -0,0 +1,43 @@
#import "../../Fragments/SysAsset.graphql"
#import "../../Fragments/System.graphql"
query GetCurrentHeader($locale: String!) {
all_current_header(limit: 1, locale: $locale) {
items {
frontpage_link_text
logoConnection {
edges {
node {
...SysAsset
}
}
}
menu {
links {
href
title
}
}
top_menu {
links {
link {
href
title
}
show_on_mobile
sort_order_mobile
}
}
}
}
}
query GetCurrentHeaderRef($locale: String!) {
all_current_header(limit: 1, locale: $locale) {
items {
system {
...System
}
}
}
}
@@ -0,0 +1,35 @@
query GetDaDeEnUrlsCurrentBlocksPage($uid: String!) {
de: all_current_blocks_page(where: { uid: $uid }, locale: "de") {
items {
url
}
}
en: all_current_blocks_page(where: { uid: $uid }, locale: "en") {
items {
url
}
}
da: all_current_blocks_page(where: { uid: $uid }, locale: "da") {
items {
url
}
}
}
query GetFiNoSvUrlsCurrentBlocksPage($uid: String!) {
fi: all_current_blocks_page(where: { uid: $uid }, locale: "fi") {
items {
url
}
}
no: all_current_blocks_page(where: { uid: $uid }, locale: "no") {
items {
url
}
}
sv: all_current_blocks_page(where: { uid: $uid }, locale: "sv") {
items {
url
}
}
}
@@ -0,0 +1,41 @@
#import "../../Fragments/System.graphql"
query GetDestinationCityListData($locale: String!, $cityIdentifier: String!) {
all_destination_city_page(
where: {
OR: [
{ destination_settings: { city_denmark: $cityIdentifier } }
{ destination_settings: { city_finland: $cityIdentifier } }
{ destination_settings: { city_germany: $cityIdentifier } }
{ destination_settings: { city_norway: $cityIdentifier } }
{ destination_settings: { city_poland: $cityIdentifier } }
{ destination_settings: { city_sweden: $cityIdentifier } }
]
}
locale: $locale
) {
items {
heading
destination_settings {
city_denmark
city_finland
city_germany
city_norway
city_poland
city_sweden
}
sort_order
preamble
images {
image
}
experiences {
destination_experiences
}
url
system {
...System
}
}
}
}
@@ -0,0 +1,162 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/Accordion.graphql"
#import "../../Fragments/Blocks/Content.graphql"
#import "../../Fragments/PageLink/AccountPageLink.graphql"
#import "../../Fragments/PageLink/CampaignPageLink.graphql"
#import "../../Fragments/PageLink/CollectionPageLink.graphql"
#import "../../Fragments/PageLink/ContentPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../../Fragments/PageLink/HotelPageLink.graphql"
#import "../../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../../Fragments/PageLink/StartPageLink.graphql"
#import "../../Fragments/AccountPage/Ref.graphql"
#import "../../Fragments/CampaignPage/Ref.graphql"
#import "../../Fragments/CollectionPage/Ref.graphql"
#import "../../Fragments/ContentPage/Ref.graphql"
#import "../../Fragments/DestinationCityPage/Ref.graphql"
#import "../../Fragments/DestinationCountryPage/Ref.graphql"
#import "../../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../../Fragments/HotelPage/Ref.graphql"
#import "../../Fragments/LoyaltyPage/Ref.graphql"
#import "../../Fragments/StartPage/Ref.graphql"
query GetDestinationCityPage($locale: String!, $uid: String!) {
destination_city_page(uid: $uid, locale: $locale) {
title
destination_settings {
city_denmark
city_finland
city_germany
city_norway
city_poland
city_sweden
location {
longitude
latitude
default_zoom
}
}
heading
preamble
experiences {
destination_experiences
}
images {
image
}
has_sidepeek
sidepeek_button_text
sidepeek_content {
heading
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
json
}
}
blocks {
__typename
...Accordion_DestinationCityPage
...Content_DestinationCityPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: destination_city_page(locale: "en", uid: $uid) {
url
}
}
query GetDestinationCityPageRefs($locale: String!, $uid: String!) {
destination_city_page(locale: $locale, uid: $uid) {
destination_settings {
city_denmark
city_finland
city_germany
city_norway
city_poland
city_sweden
location {
longitude
latitude
default_zoom
}
}
sidepeek_content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
blocks {
__typename
...Accordion_DestinationCityPageRefs
...Content_DestinationCityPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsDestinationCityPage($uid: String!) {
de: destination_city_page(locale: "de", uid: $uid) {
url
}
en: destination_city_page(locale: "en", uid: $uid) {
url
}
da: destination_city_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsDestinationCityPage($uid: String!) {
fi: destination_city_page(locale: "fi", uid: $uid) {
url
}
no: destination_city_page(locale: "no", uid: $uid) {
url
}
sv: destination_city_page(locale: "sv", uid: $uid) {
url
}
}
@@ -0,0 +1,7 @@
#import "../../Fragments/System.graphql"
query GetCityPageCount($locale: String!) {
all_destination_city_page(locale: $locale) {
total
}
}
@@ -0,0 +1,20 @@
#import "../../Fragments/System.graphql"
query GetCityPageUrls($locale: String!, $skip: Int) {
all_destination_city_page(locale: $locale, limit: 100, skip: $skip) {
items {
url
destination_settings {
city_denmark
city_finland
city_germany
city_norway
city_poland
city_sweden
}
system {
...System
}
}
}
}
@@ -0,0 +1,29 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationCityPageMetadata($locale: String!, $uid: String!) {
destination_city_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
destination_settings {
city_denmark
city_finland
city_germany
city_norway
city_poland
city_sweden
}
images {
image
}
system {
...System
}
}
}
@@ -0,0 +1,144 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/Accordion.graphql"
#import "../../Fragments/Blocks/Content.graphql"
#import "../../Fragments/PageLink/AccountPageLink.graphql"
#import "../../Fragments/PageLink/CampaignPageLink.graphql"
#import "../../Fragments/PageLink/CollectionPageLink.graphql"
#import "../../Fragments/PageLink/ContentPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../../Fragments/PageLink/HotelPageLink.graphql"
#import "../../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../../Fragments/PageLink/StartPageLink.graphql"
#import "../../Fragments/AccountPage/Ref.graphql"
#import "../../Fragments/CampaignPage/Ref.graphql"
#import "../../Fragments/CollectionPage/Ref.graphql"
#import "../../Fragments/ContentPage/Ref.graphql"
#import "../../Fragments/DestinationCityPage/Ref.graphql"
#import "../../Fragments/DestinationCountryPage/Ref.graphql"
#import "../../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../../Fragments/HotelPage/Ref.graphql"
#import "../../Fragments/LoyaltyPage/Ref.graphql"
#import "../../Fragments/StartPage/Ref.graphql"
query GetDestinationCountryPage($locale: String!, $uid: String!) {
destination_country_page(uid: $uid, locale: $locale) {
title
destination_settings {
country
location {
longitude
latitude
default_zoom
}
}
heading
preamble
experiences {
destination_experiences
}
images {
image
}
has_sidepeek
sidepeek_button_text
sidepeek_content {
heading
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
json
}
}
blocks {
__typename
...Accordion_DestinationCountryPage
...Content_DestinationCountryPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: destination_country_page(locale: "en", uid: $uid) {
url
}
}
query GetDestinationCountryPageRefs($locale: String!, $uid: String!) {
destination_country_page(locale: $locale, uid: $uid) {
sidepeek_content {
content {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
blocks {
__typename
...Accordion_DestinationCountryPageRefs
...Content_DestinationCountryPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsDestinationCountryPage($uid: String!) {
de: destination_country_page(locale: "de", uid: $uid) {
url
}
en: destination_country_page(locale: "en", uid: $uid) {
url
}
da: destination_country_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsDestinationCountryPage($uid: String!) {
fi: destination_country_page(locale: "fi", uid: $uid) {
url
}
no: destination_country_page(locale: "no", uid: $uid) {
url
}
sv: destination_country_page(locale: "sv", uid: $uid) {
url
}
}
@@ -0,0 +1,15 @@
#import "../../Fragments/System.graphql"
query GetCountryPageUrls($locale: String!) {
all_destination_country_page(locale: $locale) {
items {
url
destination_settings {
country
}
system {
...System
}
}
}
}
@@ -0,0 +1,24 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationCountryPageMetadata($locale: String!, $uid: String!) {
destination_country_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
destination_settings {
country
}
images {
image
}
system {
...System
}
}
}
@@ -0,0 +1,63 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/CardGallery.graphql"
query GetDestinationOverviewPage($locale: String!, $uid: String!) {
destination_overview_page(uid: $uid, locale: $locale) {
heading
url
blocks {
__typename
...CardGallery_DestinationOverviewPage
}
location {
longitude
latitude
default_zoom
}
system {
...System
created_at
updated_at
}
}
trackingProps: destination_overview_page(locale: "en", uid: $uid) {
url
}
}
query GetDestinationOverviewPageRefs($locale: String!, $uid: String!) {
destination_overview_page(locale: $locale, uid: $uid) {
blocks {
__typename
...CardGallery_DestinationOverviewPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsDestinationOverviewPage($uid: String!) {
de: destination_overview_page(locale: "de", uid: $uid) {
url
}
en: destination_overview_page(locale: "en", uid: $uid) {
url
}
da: destination_overview_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsDestinationOverviewPage($uid: String!) {
fi: destination_overview_page(locale: "fi", uid: $uid) {
url
}
no: destination_overview_page(locale: "no", uid: $uid) {
url
}
sv: destination_overview_page(locale: "sv", uid: $uid) {
url
}
}
@@ -0,0 +1,18 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetDestinationOverviewPageMetadata($locale: String!, $uid: String!) {
destination_overview_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
system {
...System
}
}
}
@@ -0,0 +1,176 @@
#import "../Fragments/System.graphql"
#import "../Fragments/PageLink/AccountPageLink.graphql"
#import "../Fragments/PageLink/CampaignPageLink.graphql"
#import "../Fragments/PageLink/CollectionPageLink.graphql"
#import "../Fragments/PageLink/ContentPageLink.graphql"
#import "../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../Fragments/PageLink/HotelPageLink.graphql"
#import "../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../Fragments/PageLink/StartPageLink.graphql"
#import "../Fragments/AccountPage/Ref.graphql"
#import "../Fragments/CampaignPage/Ref.graphql"
#import "../Fragments/CollectionPage/Ref.graphql"
#import "../Fragments/ContentPage/Ref.graphql"
#import "../Fragments/DestinationCityPage/Ref.graphql"
#import "../Fragments/DestinationCountryPage/Ref.graphql"
#import "../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../Fragments/HotelPage/Ref.graphql"
#import "../Fragments/LoyaltyPage/Ref.graphql"
#import "../Fragments/StartPage/Ref.graphql"
#import "../Fragments/Footer/AppDownloads.graphql"
#import "../Fragments/Footer/SocialMedia.graphql"
query GetFooter($locale: String!) {
all_footer(limit: 1, locale: $locale) {
items {
main_links {
title
open_in_new_tab
link {
href
title
}
pageConnection {
edges {
node {
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
secondary_links {
title
links {
title
open_in_new_tab
pageConnection {
edges {
node {
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
link {
href
title
}
}
}
tertiary_links {
title
open_in_new_tab
link {
href
title
}
pageConnection {
edges {
node {
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
...AppDownloads
...SocialMedia
}
}
}
query GetFooterRef($locale: String!) {
all_footer(limit: 1, locale: $locale) {
items {
main_links {
pageConnection {
edges {
node {
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
secondary_links {
links {
pageConnection {
edges {
node {
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
tertiary_links {
pageConnection {
edges {
node {
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
system {
...System
}
}
}
}
@@ -0,0 +1,265 @@
#import "../Fragments/System.graphql"
#import "../Fragments/Blocks/Card.graphql"
#import "../Fragments/Blocks/Refs/Card.graphql"
#import "../Fragments/PageLink/AccountPageLink.graphql"
#import "../Fragments/PageLink/CampaignPageLink.graphql"
#import "../Fragments/PageLink/CollectionPageLink.graphql"
#import "../Fragments/PageLink/ContentPageLink.graphql"
#import "../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../Fragments/PageLink/HotelPageLink.graphql"
#import "../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../Fragments/PageLink/StartPageLink.graphql"
#import "../Fragments/AccountPage/Ref.graphql"
#import "../Fragments/CampaignPage/Ref.graphql"
#import "../Fragments/CollectionPage/Ref.graphql"
#import "../Fragments/ContentPage/Ref.graphql"
#import "../Fragments/DestinationCityPage/Ref.graphql"
#import "../Fragments/DestinationCountryPage/Ref.graphql"
#import "../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../Fragments/HotelPage/Ref.graphql"
#import "../Fragments/LoyaltyPage/Ref.graphql"
#import "../Fragments/StartPage/Ref.graphql"
query GetHeader($locale: String!) {
all_header(limit: 1, locale: $locale) {
items {
top_link {
logged_in {
icon
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
logged_out {
icon
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
}
menu_items {
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
see_all_link {
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
submenu {
title
links {
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
}
cardConnection {
edges {
node {
__typename
...CardBlock
}
}
}
}
}
}
}
query GetHeaderRef($locale: String!) {
all_header(limit: 1, locale: $locale) {
items {
top_link {
logged_in {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
logged_out {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
menu_items {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
see_all_link {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
submenu {
links {
linkConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
}
cardConnection {
edges {
node {
__typename
...CardBlockRef
}
}
}
}
system {
...System
}
}
}
}
@@ -0,0 +1,149 @@
#import "../../Fragments/PageLink/CollectionPageLink.graphql"
#import "../../Fragments/PageLink/ContentPageLink.graphql"
#import "../../Fragments/AccountPage/Ref.graphql"
#import "../../Fragments/CollectionPage/Ref.graphql"
#import "../../Fragments/Blocks/Accordion.graphql"
#import "../../Fragments/Blocks/Refs/Accordion.graphql"
query GetHotelPage($locale: String!, $uid: String!) {
hotel_page(locale: $locale, uid: $uid) {
hotel_page_id
title
url
hotel_navigation {
overview
rooms
restaurant_bar
conferences_meetings
health_wellness
activities
offers
faq
}
faq {
__typename
title
global_faqConnection {
__typename
edges {
node {
...AccordionBlock
}
}
}
specific_faq {
__typename
...GlobalAccordionBlock
}
}
content {
__typename
... on HotelPageContentUpcomingActivitiesCard {
upcoming_activities_card {
background_image
cta_text
sidepeek_cta_text
heading
body_text
scripted_title
sidepeek_slug
hotel_page_activities_content_pageConnection {
edges {
node {
__typename
... on ContentPage {
...ContentPageLink
header {
preamble
}
}
}
}
}
}
}
... on HotelPageContentSpaPage {
spa_page {
button_cta
pageConnection {
edges {
node {
...CollectionPageLink
...ContentPageLink
}
}
}
}
}
}
system {
...System
created_at
updated_at
}
}
}
query GetHotelPageRefs($locale: String!, $uid: String!) {
hotel_page(locale: $locale, uid: $uid) {
faq {
global_faqConnection {
edges {
node {
...AccordionBlockRefs
}
}
}
specific_faq {
...GlobalAccordionBlockRefs
}
}
content {
__typename
... on HotelPageContentUpcomingActivitiesCard {
upcoming_activities_card {
hotel_page_activities_content_pageConnection {
edges {
node {
__typename
...ContentPageRef
}
}
}
}
}
}
system {
...System
}
}
trackingProps: hotel_page(locale: "en", uid: $uid) {
url
}
}
query GetDaDeEnUrlsHotelPage($uid: String!) {
de: hotel_page(locale: "de", uid: $uid) {
url
}
en: hotel_page(locale: "en", uid: $uid) {
url
}
da: hotel_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsHotelPage($uid: String!) {
fi: hotel_page(locale: "fi", uid: $uid) {
url
}
no: hotel_page(locale: "no", uid: $uid) {
url
}
sv: hotel_page(locale: "sv", uid: $uid) {
url
}
}
@@ -0,0 +1,7 @@
#import "../../Fragments/System.graphql"
query GetHotelPageCount($locale: String!) {
all_hotel_page(locale: $locale) {
total
}
}
@@ -0,0 +1,13 @@
#import "../../Fragments/System.graphql"
query GetHotelPageUrls($locale: String!, $skip: Int) {
all_hotel_page(locale: $locale, limit: 100, skip: $skip) {
items {
url
hotel_page_id
system {
...System
}
}
}
}
@@ -0,0 +1,19 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetHotelPageMetadata($locale: String!, $uid: String!) {
hotel_page(locale: $locale, uid: $uid) {
hotel_page_id
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
system {
...System
}
}
}
@@ -0,0 +1,25 @@
query GetAllLoyaltyLevels($lang: String!, $level_ids: [String]!) {
all_loyalty_level(where: { level_id_in: $level_ids }, locale: $lang) {
items {
description
level_id
name
required_points
required_nights
user_facing_tag
}
}
}
query GetLoyaltyLevel($lang: String!, $level_id: String!) {
all_loyalty_level(where: { level_id: $level_id }, locale: $lang) {
items {
description
level_id
name
required_points
required_nights
user_facing_tag
}
}
}
@@ -0,0 +1,102 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/CardsGrid.graphql"
#import "../../Fragments/Blocks/Content.graphql"
#import "../../Fragments/Blocks/DynamicContent.graphql"
#import "../../Fragments/Blocks/Shortcuts.graphql"
#import "../../Fragments/Sidebar/Content.graphql"
#import "../../Fragments/Sidebar/DynamicContent.graphql"
#import "../../Fragments/Sidebar/JoinLoyaltyContact.graphql"
query GetLoyaltyPage($locale: String!, $uid: String!) {
loyalty_page(uid: $uid, locale: $locale) {
heading
hero_image
preamble
title
blocks {
__typename
...CardsGrid_LoyaltyPage
...Content_LoyaltyPage
...DynamicContent_LoyaltyPage
...Shortcuts_LoyaltyPage
}
sidebar {
__typename
...ContentSidebar_LoyaltyPage
...DynamicContentSidebar_LoyaltyPage
...JoinLoyaltyContactSidebar_LoyaltyPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: loyalty_page(locale: "en", uid: $uid) {
url
}
}
query GetLoyaltyPageRefs($locale: String!, $uid: String!) {
loyalty_page(locale: $locale, uid: $uid) {
blocks {
__typename
...CardsGrid_LoyaltyPageRefs
...Content_LoyaltyPageRefs
...DynamicContent_LoyaltyPageRefs
...Shortcuts_LoyaltyPageRefs
}
sidebar {
__typename
...ContentSidebar_LoyaltyPageRefs
...JoinLoyaltyContactSidebar_LoyaltyPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsLoyaltyPage($uid: String!) {
de: loyalty_page(locale: "de", uid: $uid) {
web {
original_url
}
url
}
en: loyalty_page(locale: "en", uid: $uid) {
web {
original_url
}
url
}
da: loyalty_page(locale: "da", uid: $uid) {
web {
original_url
}
url
}
}
query GetFiNoSvUrlsLoyaltyPage($uid: String!) {
sv: loyalty_page(locale: "sv", uid: $uid) {
web {
original_url
}
url
}
no: loyalty_page(locale: "no", uid: $uid) {
web {
original_url
}
url
}
fi: loyalty_page(locale: "fi", uid: $uid) {
web {
original_url
}
url
}
}
@@ -0,0 +1,31 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetLoyaltyPageMetadata($locale: String!, $uid: String!) {
loyalty_page(locale: $locale, uid: $uid) {
web {
breadcrumbs {
title
}
seo_metadata {
...Metadata
}
}
heading
preamble
hero_image
blocks {
... on LoyaltyPageBlocksContent {
__typename
content {
content {
json
}
}
}
}
system {
...System
}
}
}
@@ -0,0 +1,97 @@
#import "../Fragments/PageSettings.graphql"
query GetAccountPageSettings($uid: String!, $locale: String!) {
page: account_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetCampaignOverviewPageSettings($uid: String!, $locale: String!) {
page: campaign_overview_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetCampaignPageSettings($uid: String!, $locale: String!) {
page: campaign_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetCollectionPageSettings($uid: String!, $locale: String!) {
page: collection_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetContentPageSettings($uid: String!, $locale: String!) {
page: content_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetCurrentBlocksPageSettings($uid: String!, $locale: String!) {
page: current_blocks_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetDestinationCityPageSettings($uid: String!, $locale: String!) {
page: destination_city_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetDestinationCountryPageSettings($uid: String!, $locale: String!) {
page: destination_country_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetDestinationOverviewPageSettings($uid: String!, $locale: String!) {
page: destination_overview_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetHotelPageSettings($uid: String!, $locale: String!) {
page: hotel_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetLoyaltyPageSettings($uid: String!, $locale: String!) {
page: loyalty_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
query GetStartPageSettings($uid: String!, $locale: String!) {
page: start_page(uid: $uid, locale: $locale) {
settings: page_settings {
...PageSettings
}
}
}
@@ -0,0 +1,103 @@
#import "../Fragments/System.graphql"
query EntryByUrlBatch1($locale: String!, $url: String!) {
all_account_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_collection_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_content_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_current_blocks_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_loyalty_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_hotel_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
}
query EntryByUrlBatch2($locale: String!, $url: String!) {
all_destination_overview_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_destination_country_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_destination_city_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_start_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_campaign_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
all_campaign_overview_page(where: { url: $url }, locale: $locale) {
items {
system {
...System
}
}
total
}
}
@@ -0,0 +1,15 @@
query GetRewards($locale: String!, $rewardIds: [String!]) {
all_reward(locale: $locale, where: { reward_id_in: $rewardIds }) {
items {
taxonomies {
term_uid
}
label
grouped_label
description
grouped_description
value
reward_id
}
}
}
@@ -0,0 +1,88 @@
#import "../Fragments/System.graphql"
#import "../Fragments/PageLink/AccountPageLink.graphql"
#import "../Fragments/PageLink/CampaignPageLink.graphql"
#import "../Fragments/PageLink/CollectionPageLink.graphql"
#import "../Fragments/PageLink/ContentPageLink.graphql"
#import "../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../Fragments/PageLink/HotelPageLink.graphql"
#import "../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../Fragments/PageLink/StartPageLink.graphql"
#import "../Fragments/AccountPage/Ref.graphql"
#import "../Fragments/CampaignPage/Ref.graphql"
#import "../Fragments/CollectionPage/Ref.graphql"
#import "../Fragments/ContentPage/Ref.graphql"
#import "../Fragments/DestinationCityPage/Ref.graphql"
#import "../Fragments/DestinationCountryPage/Ref.graphql"
#import "../Fragments/DestinationOverviewPage/Ref.graphql"
#import "../Fragments/HotelPage/Ref.graphql"
#import "../Fragments/LoyaltyPage/Ref.graphql"
#import "../Fragments/StartPage/Ref.graphql"
query GetRewards($locale: String!, $rewardIds: [String!]) {
all_reward(locale: $locale, where: { reward_id_in: $rewardIds }) {
items {
taxonomies {
term_uid
}
label
grouped_label
description
redeem_description {
json
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
grouped_description
value
reward_id
}
}
}
query GetRewardsRef($locale: String!, $rewardIds: [String!]) {
all_reward(locale: $locale, where: { reward_id_in: $rewardIds }) {
items {
redeem_description {
embedded_itemsConnection {
edges {
node {
__typename
...AccountPageRef
...CampaignPageRef
...CollectionPageRef
...ContentPageRef
...DestinationCityPageRef
...DestinationCountryPageRef
...DestinationOverviewPageRef
...HotelPageRef
...LoyaltyPageRef
...StartPageRef
}
}
}
}
system {
...System
}
}
}
}
@@ -0,0 +1,51 @@
#import "../Fragments/PageLink/AccountPageLink.graphql"
#import "../Fragments/PageLink/CampaignPageLink.graphql"
#import "../Fragments/PageLink/CollectionPageLink.graphql"
#import "../Fragments/PageLink/ContentPageLink.graphql"
#import "../Fragments/PageLink/DestinationCityPageLink.graphql"
#import "../Fragments/PageLink/DestinationCountryPageLink.graphql"
#import "../Fragments/PageLink/DestinationOverviewPageLink.graphql"
#import "../Fragments/PageLink/HotelPageLink.graphql"
#import "../Fragments/PageLink/LoyaltyPageLink.graphql"
#import "../Fragments/PageLink/StartPageLink.graphql"
query GetAllSasTierComparison($lang: String!) {
all_sas_tier_comparison(locale: $lang) {
items {
scandic_column_title
sas_column_title
tier_matches {
title
scandic_friends_tier_name
sas_eb_tier_name
content {
json
}
link {
href
title
}
}
call_to_action {
title
linkConnection {
edges {
node {
__typename
...AccountPageLink
...CampaignPageLink
...CollectionPageLink
...ContentPageLink
...DestinationCityPageLink
...DestinationCountryPageLink
...DestinationOverviewPageLink
...HotelPageLink
...LoyaltyPageLink
...StartPageLink
}
}
}
}
}
}
}
@@ -0,0 +1,39 @@
#import "../Fragments/System.graphql"
#import "../Fragments/Alert.graphql"
query GetSiteConfig($locale: String!) {
all_site_config(limit: 1, locale: $locale) {
items {
sitewide_alert {
booking_widget_disabled
alertConnection {
edges {
node {
...Alert
}
}
}
}
}
}
}
query GetSiteConfigRef($locale: String!) {
all_site_config(limit: 1, locale: $locale) {
items {
sitewide_alert {
alertConnection {
edges {
node {
...AlertRef
}
}
}
}
system {
...System
}
}
}
}
@@ -0,0 +1,19 @@
#import "../../Fragments/Metadata.graphql"
#import "../../Fragments/System.graphql"
query GetStartPageMetadata($locale: String!, $uid: String!) {
start_page(locale: $locale, uid: $uid) {
web {
seo_metadata {
...Metadata
}
}
header {
heading
hero_image
}
system {
...System
}
}
}
@@ -0,0 +1,90 @@
#import "../../Fragments/System.graphql"
#import "../../Fragments/Blocks/CardsGrid.graphql"
#import "../../Fragments/Blocks/FullWidthCampaign.graphql"
#import "../../Fragments/Blocks/CarouselCards.graphql"
#import "../../Fragments/Blocks/JoinScandicFriends.graphql"
query GetStartPage($locale: String!, $uid: String!) {
start_page(locale: $locale, uid: $uid) {
title
url
header {
heading
hero_image
}
blocks {
__typename
...CardsGrid_StartPage
...CarouselCards_StartPage
... on StartPageBlocksFullWidthCampaign {
__typename
full_width_campaign {
full_width_campaignConnection {
edges {
node {
...FullWidthCampaign
}
}
}
}
}
...JoinScandicFriends_StartPage
}
system {
...System
created_at
updated_at
}
}
trackingProps: start_page(locale: "en", uid: $uid) {
url
}
}
query GetStartPageRefs($locale: String!, $uid: String!) {
start_page(locale: $locale, uid: $uid) {
blocks {
__typename
...CardsGrid_StartPageRefs
...CarouselCards_StartPageRefs
... on StartPageBlocksFullWidthCampaign {
full_width_campaign {
full_width_campaignConnection {
edges {
node {
...FullWidthCampaignRefs
}
}
}
}
}
...JoinScandicFriends_StartPageRefs
}
system {
...System
}
}
}
query GetDaDeEnUrlsStartPage($uid: String!) {
de: start_page(locale: "de", uid: $uid) {
url
}
en: start_page(locale: "en", uid: $uid) {
url
}
da: start_page(locale: "da", uid: $uid) {
url
}
}
query GetFiNoSvUrlsStartPage($uid: String!) {
fi: start_page(locale: "fi", uid: $uid) {
url
}
no: start_page(locale: "no", uid: $uid) {
url
}
sv: start_page(locale: "sv", uid: $uid) {
url
}
}