diff --git a/apps/scandic-web/components/HotelReservation/SidePeek/index.tsx b/apps/scandic-web/components/HotelReservation/SidePeek/index.tsx
index 6c6011ec6..2b67bb627 100644
--- a/apps/scandic-web/components/HotelReservation/SidePeek/index.tsx
+++ b/apps/scandic-web/components/HotelReservation/SidePeek/index.tsx
@@ -68,14 +68,14 @@ export default function HotelReservationSidePeek() {
<>
+ {hotel.url ? (
+
+ {intl.formatMessage({
+ defaultMessage: "Read more about the hotel",
+ })}
+
+ ) : null}
)
}
diff --git a/apps/scandic-web/components/SidePeeks/HotelSidePeek/index.tsx b/apps/scandic-web/components/SidePeeks/HotelSidePeek/index.tsx
index e0483a0e2..3bc7baef5 100644
--- a/apps/scandic-web/components/SidePeeks/HotelSidePeek/index.tsx
+++ b/apps/scandic-web/components/SidePeeks/HotelSidePeek/index.tsx
@@ -4,6 +4,7 @@ import { useIntl } from "react-intl"
import { Typography } from "@scandic-hotels/design-system/Typography"
+import ButtonLink from "@/components/ButtonLink"
import Contact from "@/components/HotelReservation/Contact"
import AdditionalAmenities from "@/components/SidePeeks/AmenitiesSidepeekContent/AdditionalAmenities"
import Accordion from "@/components/TempDesignSystem/Accordion"
@@ -59,6 +60,18 @@ export default function HotelSidePeek({
/>
+ {hotel.url ? (
+
+ {intl.formatMessage({
+ defaultMessage: "Read more about the hotel",
+ })}
+
+ ) : null}
)
diff --git a/apps/scandic-web/server/routers/hotels/query.ts b/apps/scandic-web/server/routers/hotels/query.ts
index 66e7f3c38..4ccfc462d 100644
--- a/apps/scandic-web/server/routers/hotels/query.ts
+++ b/apps/scandic-web/server/routers/hotels/query.ts
@@ -474,7 +474,20 @@ export const hotelQueryRouter = router({
get: serviceProcedure
.input(hotelInputSchema)
.query(async ({ ctx, input }) => {
- return getHotel(input, ctx.serviceToken)
+ const { hotelId, language } = input
+
+ const [hotelData, hotelPages] = await Promise.all([
+ getHotel(input, ctx.serviceToken),
+ getHotelPageUrls(language),
+ ])
+ const hotelPage = hotelPages.find((page) => page.hotelId === hotelId)
+
+ return hotelData
+ ? {
+ ...hotelData,
+ url: hotelPage?.url ?? null,
+ }
+ : null
}),
hotels: router({
byCountry: router({
diff --git a/apps/scandic-web/types/components/hotelReservation/amenitiesSidePeek.ts b/apps/scandic-web/types/components/hotelReservation/amenitiesSidePeek.ts
index 81725b76a..f8cf9da6f 100644
--- a/apps/scandic-web/types/components/hotelReservation/amenitiesSidePeek.ts
+++ b/apps/scandic-web/types/components/hotelReservation/amenitiesSidePeek.ts
@@ -2,7 +2,7 @@ import type { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek"
import type { AdditionalData, Hotel, Restaurant } from "@/types/hotel"
export type AmenitiesSidePeekProps = {
- hotel: Hotel
+ hotel: Hotel & { url: string | null }
restaurants: Restaurant[]
additionalHotelData: AdditionalData | undefined
activeSidePeek: SidePeekEnum
diff --git a/apps/scandic-web/types/components/hotelReservation/hotelSidePeek.ts b/apps/scandic-web/types/components/hotelReservation/hotelSidePeek.ts
index ac7345be2..24a71105c 100644
--- a/apps/scandic-web/types/components/hotelReservation/hotelSidePeek.ts
+++ b/apps/scandic-web/types/components/hotelReservation/hotelSidePeek.ts
@@ -2,7 +2,7 @@ import type { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek"
import type { AdditionalData, Hotel, Restaurant } from "@/types/hotel"
export type HotelSidePeekProps = {
- hotel: Hotel
+ hotel: Hotel & { url: string | null }
restaurants: Restaurant[]
additionalHotelData: AdditionalData | undefined
activeSidePeek: SidePeekEnum