+
+
+
+ {city.heading}
+
+
+ {city.preamble}
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/components/ContentType/DestinationPage/CityListing/cityListing.module.css b/components/ContentType/DestinationPage/CityListing/cityListing.module.css
new file mode 100644
index 000000000..4bde934e7
--- /dev/null
+++ b/components/ContentType/DestinationPage/CityListing/cityListing.module.css
@@ -0,0 +1,10 @@
+.container {
+ display: grid;
+ gap: var(--Spacing-x2);
+}
+
+.cityList {
+ list-style: none;
+ display: grid;
+ gap: var(--Spacing-x2);
+}
diff --git a/components/ContentType/DestinationPage/CityListing/index.tsx b/components/ContentType/DestinationPage/CityListing/index.tsx
new file mode 100644
index 000000000..639d46e09
--- /dev/null
+++ b/components/ContentType/DestinationPage/CityListing/index.tsx
@@ -0,0 +1,36 @@
+import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
+import { getIntl } from "@/i18n"
+
+import CityListingItem from "./CityListingItem"
+
+import styles from "./cityListing.module.css"
+
+import type { DestinationCityListItem } from "@/types/trpc/routers/contentstack/destinationCityPage"
+
+interface CityListingProps {
+ cities: DestinationCityListItem[]
+}
+
+export default async function CityListing({ cities }: CityListingProps) {
+ const intl = await getIntl()
+
+ return (
+