The hotel detail page
There is not one hotel page — there are around 1,830, and they are all the same page. One Page entry supplies the bands and their wording; each hotel's own record supplies the substance. So an edit made on that entry lands on every hotel page at once.
How it fits together
A hotel page is assembled from three places at once. The template decides which bands exist and their order. The hotel's own Accommodation record — mostly synced from ePIM — fills them: its rooms, its facilities, its excursions, its reviews, its prose. And the reservation system supplies every price and every available date, live, as the page renders.
Page "Hotel detail — shared template" ← Kind = hotelDetail, NO slug
└─ Sections (a list of 20) ← the bands, in page order
├─ Hotel — page section kind = overview
├─ Content rail source = tips
├─ Content rail source = rooms → rooms come from ePIM
├─ … and so on, in page order
└─ Content rail source = iconItems → read, renders no band
(the hero's badge wording)
Accommodation "<one hotel>" ← what the URL resolves to
├─ name, photos, rating, prose ← synced from ePIM
├─ rooms, facilities, excursions ← synced from ePIM
└─ Sections (optional) ← OVERRIDES a band, for this hotel onlyA band on a hotel's own record overrides the template's for that hotel — its heading, its visibility, its tint. It cannot remove a band and it cannot reorder the page: order and presence stay with the template, so adding one band to a hotel record can never accidentally drop the rooms or the facilities.
Which entry am I editing?
The site looks for these in order and uses the first it finds.
| # | Entry | What it is |
|---|---|---|
| 1 | A per-hotel override | A Page entry with Kind = "hotelDetail" AND a Slug matching that hotel. It wins for that one hotel and affects no other. |
| 2 | The shared template | A Page entry with Kind = "hotelDetail" and NO Slug. This is the usual case: one entry, every hotel page. The empty Slug is exactly what makes it shared, so putting a slug on it turns it into a one-hotel override and every other hotel loses its bands. |
| 3 | The built-in outline | With no template published at all, every band falls back to demo content written into the code. That is a fault, not a feature, and /api/debug-fallbacks reports it. |
Two content types do most of the work
Seven bands are the same content type — a Hotel — page section, where a Kind dropdown decides which band it is. Eight more are Content rails, where Card source does the same job. So learning those two forms teaches you most of the page, and each section page below mainly tells you which value to expect and which handful of fields that band actually reads.
| Content type | Sections | Which ones |
|---|---|---|
| Content rail (card row) | 8 | The bits that make it brilliant, Rooms, Things to do, Meet the experts, Make it a multi-centre, Our remarkable offers, Similar hotels, Guides and inspiration |
| Hotel — page section | 7 | Overview, Facilities, In the area, When to visit, Fine-tune your getaway, FAQs, Reviews |
| CTA Band | 2 | Speak to an expert, Want to discuss your trip ideas? |
| Accommodation | 1 | Hero |
| Text value (phone / availability) | 1 | Sticky price bar |
| Content card | 1 | What our guests say |
| Safe Hands Bar | 1 | Why holiday the Kuoni way? |
The page, top to bottom
The same order as the Sections list on the template. Open a band to see which field changes which part of it, how to edit it, and — the question this page raises most — what is ePIM's rather than yours.
| # | Section | What it is | What you edit |
|---|---|---|---|
| 1 | HeroAccommodation | The full-width photo at the top with the hotel's name, its destination, its rating and its badges over it. | The hotel's own Accommodation entry ePIM, synced into the Accommodation entry |
| 2 | Sticky price barText value (phone / availability) | The bar that follows you down the page with a price, a phone number and two buttons. | The sales phone number (Text value) TravelBox for the price; the CMS for the phone number |
| 3 | OverviewHotel — page section | The hotel's introduction: two paragraphs, an illustrated row of facts, the best-for tags and an optional reassurance strip. | Hotel template — Hotel overview |
| 4 | The bits that make it brilliantContent rail (card row) | The carousel of insider tips — what the people who know the hotel say about staying there. | Hotel template — Why our experts like it ePIM tips, per hotel |
| 5 | RoomsContent rail (card row) | Every room type that can be booked, with what is included in each. | Hotel template — Rooms and suites ePIM room types, per hotel |
| 6 | FacilitiesHotel — page section | The tabbed band covering food and drink, spa, fitness, entertainment, families and sustainability. | Hotel template — Facilities ePIM facility prose, per hotel |
| 7 | Things to doContent rail (card row) | Experiences that can be added to the holiday while the customer is there. | Hotel template — Things to do nearby ePIM excursions, per hotel |
| 8 | Speak to an expertCTA Band | The first of two CTA bands — a heading, a line of copy and a button. | Hotel template — talk to an expert |
| 9 | Meet the expertsContent rail (card row) | The image-and-text band where a Personal Travel Expert tells their own story about the destination. | Hotel template — Meet the experts |
| 10 | Want to discuss your trip ideas?CTA Band | The second CTA band, sitting under the expert's story. | Hotel template — see more hotels |
| 11 | What our guests sayContent card | One customer's words about the hotel, with their photo and a star rating. | A Content card with Kind = testimonial |
| 12 | In the areaHotel — page section | The static map of the hotel's surroundings, with the points of interest around it. | Hotel template — In the area |
| 13 | Make it a multi-centreContent rail (card row) | A row of trip ideas pairing this hotel with a second destination. | Hotel template — Combine it with somewhere else |
| 14 | Why holiday the Kuoni way?Safe Hands Bar | The reassurance band: a heading and a row of trust marks with a line of copy each. | Hotel template — why book with Kuoni |
| 15 | When to visitHotel — page section | The month-by-month chart of temperature, rainfall and guide prices, and the words around it. | Hotel template — When to visit The travel area's climate record from ePIM, and TravelBox for the guide prices |
| 16 | Our remarkable offersContent rail (card row) | A row of the offers that apply to this hotel right now. | Hotel template — Current offers TravelBox offers, live per hotel |
| 17 | Fine-tune your getawayHotel — page section | The booking configurator: dates, room, board and departure airport, with prices updating as the customer chooses — plus the expert strip and the good-to-know lines around it. | Hotel template — Build your holiday TravelBox for every price and every date |
| 18 | FAQsHotel — page section | Questions and answers, one accordion row each. | Hotel template — Frequently asked questions |
| 19 | ReviewsHotel — page section | The independently collected review score and a handful of the reviews behind it. | Hotel template — Guest reviews Tripadvisor, live |
| 20 | Similar hotelsContent rail (card row) | A row of other properties we book in the same area. | Hotel template — Similar places |
| 21 | Guides and inspirationContent rail (card row) | The row of articles that closes the page. | Hotel template — Guides and inspiration |
Before you start
Open the template
Hotel detail — shared template (Page) in the development-refactoring environment. You will need to be signed in to Contentful. Its Sections list is the page, in order.
