diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(confirmation)/booking-confirmation/page.tsx b/apps/partner-sas/app/[lang]/hotelreservation/(confirmation)/booking-confirmation/page.tsx
new file mode 100644
index 000000000..cef2be4c8
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(confirmation)/booking-confirmation/page.tsx
@@ -0,0 +1,4 @@
+export default async function BookingConfirmationPage() {
+ // eslint-disable-next-line formatjs/no-literal-string-in-jsx
+ return
booking-confirmation
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/gla-payment-callback/page.tsx b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/gla-payment-callback/page.tsx
new file mode 100644
index 000000000..c37fcdc0f
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/gla-payment-callback/page.tsx
@@ -0,0 +1,4 @@
+export default async function GuaranteePaymentCallbackPage() {
+ // eslint-disable-next-line formatjs/no-literal-string-in-jsx
+ return gla-payment-callback
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/layout.module.css b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/layout.module.css
new file mode 100644
index 000000000..42e2b9aa7
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/layout.module.css
@@ -0,0 +1,4 @@
+.layout {
+ background-color: var(--Background-Primary);
+ min-height: 100dvh;
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/layout.tsx b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/layout.tsx
new file mode 100644
index 000000000..15e19cee5
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/layout.tsx
@@ -0,0 +1,10 @@
+import styles from "./layout.module.css"
+
+// TODO is this really needed? Similar to standard layout, but without SidePeek?
+export default function PaymentCallbackLayout({
+ children,
+}: {
+ children: React.ReactNode
+}) {
+ return {children}
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/page.tsx b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/page.tsx
new file mode 100644
index 000000000..e079fa300
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(payment-callback)/payment-callback/page.tsx
@@ -0,0 +1,4 @@
+export default async function PaymentCallbackPage() {
+ // eslint-disable-next-line formatjs/no-literal-string-in-jsx
+ return payment-callback
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(standard)/details/page.tsx b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/details/page.tsx
new file mode 100644
index 000000000..ed81126dc
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/details/page.tsx
@@ -0,0 +1,4 @@
+export default async function DetailsPage() {
+ // eslint-disable-next-line formatjs/no-literal-string-in-jsx
+ return details
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(standard)/layout.module.css b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/layout.module.css
new file mode 100644
index 000000000..c80cddde3
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/layout.module.css
@@ -0,0 +1,3 @@
+.layout {
+ background-color: var(--Background-Primary);
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(standard)/layout.tsx b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/layout.tsx
new file mode 100644
index 000000000..753e4b4e9
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/layout.tsx
@@ -0,0 +1,16 @@
+import styles from "./layout.module.css"
+
+import type { ReactNode } from "react"
+
+export default function StandardHotelReservationLayout({
+ children,
+}: {
+ children: ReactNode
+}) {
+ return (
+
+ {children}
+ {/* */}
+
+ )
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(standard)/select-hotel/page.tsx b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/select-hotel/page.tsx
new file mode 100644
index 000000000..a6d92296f
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/select-hotel/page.tsx
@@ -0,0 +1,4 @@
+export default async function SelectHotelPage() {
+ // eslint-disable-next-line formatjs/no-literal-string-in-jsx
+ return select-hotel
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/(standard)/select-rate/page.tsx b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/select-rate/page.tsx
new file mode 100644
index 000000000..63cdea728
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/(standard)/select-rate/page.tsx
@@ -0,0 +1,4 @@
+export default async function SelectRatePage() {
+ // eslint-disable-next-line formatjs/no-literal-string-in-jsx
+ return select-rate
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/layout.tsx b/apps/partner-sas/app/[lang]/hotelreservation/layout.tsx
new file mode 100644
index 000000000..ac41219df
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/layout.tsx
@@ -0,0 +1,14 @@
+export async function generateMetadata() {
+ return {
+ robots: {
+ index: true,
+ follow: true,
+ },
+ }
+}
+
+export default function HotelReservationLayout({
+ children,
+}: React.PropsWithChildren) {
+ return <>{children}>
+}
diff --git a/apps/partner-sas/app/[lang]/hotelreservation/page.tsx b/apps/partner-sas/app/[lang]/hotelreservation/page.tsx
new file mode 100644
index 000000000..ec0b98cb8
--- /dev/null
+++ b/apps/partner-sas/app/[lang]/hotelreservation/page.tsx
@@ -0,0 +1,8 @@
+import { redirect } from "next/navigation"
+
+import { getLang } from "@/i18n/serverContext"
+
+export default async function HotelReservationPage() {
+ const lang = await getLang()
+ redirect(`/${lang}/hotelreservation/select-hotel`)
+}