Skip to content

11 — Page Document Types

Dev Guide — Savoy Signature Hotels PRD refs: 06_Content_Modeling_Umbraco.md, 07_Modules_and_Templates.md Related dev guide: 01_UMBRACO_CONTENT_MODELING.md Last updated: 2026-04-28 (post Umbraco uniformity review)

Reference inventory of every Document Type that represents a page/template — the doc types editors use to author site content. Excludes repository folders/items, form config doc types, and Element Types.


#AliasDisplay NameTypeDescription
1siteRootSite Root🏠 RootRoot node of each hotel site (1 per site). Holds site-wide configuration, branding, SEO defaults, hotel data, header/footer modules. Also acts as the homepage.
2contentPageContent Page📄 GenericGeneric content page composed via the Page Modules Block List. Self-nestable (Content Page → Content Page) for hierarchical URL structures.
3roomsListPageRooms List Page📋 ListAccommodation listing page. Room detail pages are added as children.
4roomDetailPageRoom Detail Page📑 DetailIndividual room/suite page with editorial content (name, descriptions), per-page modules, and details (size, max guests, floor plan, booking CTA).
5diningListPageDining List Page📋 ListRestaurants & dining listing. Dining detail pages are added as children.
6diningDetailPageDining Detail Page📑 DetailIndividual restaurant page with editorial content, per-page modules, and details (cuisine, dress code, reservations, menu PDF).
7wellnessListPageWellness List Page📋 ListWellness & SPA listing. Wellness detail pages are added as children.
8wellnessDetailPageWellness Detail Page📑 DetailIndividual wellness/SPA service page with editorial content, per-page modules, and details (opening hours, services).
9experienceListPageExperience List Page📋 ListExperiences listing. Experience detail pages are added as children.
10experienceDetailPageExperience Detail Page📑 DetailIndividual experience/activity page with editorial content, per-page modules, and category.
11eventsListPageEvents List Page📋 ListEvents listing. Event detail pages are added as children.
12eventDetailPageEvent Detail Page📑 DetailIndividual event page with editorial content, per-page modules, and details (start/end dates, location).
13offersListPageOffers List Page📋 ListSpecial offers listing. Offer detail pages are added as children.
14offerDetailPageOffer Detail Page📑 DetailIndividual special offer page with editorial content, per-page modules, and details (validity dates, booking CTA).
15galleryPageGallery Page🖼️ SpecialPage composed via the Page Modules Block List, intended for image-heavy compositions (M11 Banner, M24 Full Image, M16 Logo Carousel, etc.).

Type legend: 🏠 Root · 📄 Generic · 📋 List · 📑 Detail · 🖼️ Special


siteRoot (1 per site)
├── contentPage (auto-nestable)
├── roomsListPage
│ └── roomDetailPage
├── diningListPage
│ └── diningDetailPage
├── wellnessListPage
│ └── wellnessDetailPage
├── experienceListPage
│ └── experienceDetailPage
├── eventsListPage
│ └── eventDetailPage
├── offersListPage
│ └── offerDetailPage
└── galleryPage

siteRoot allows: contentPage, roomsListPage, diningListPage, wellnessListPage, experienceListPage, eventsListPage, offersListPage, galleryPage.

contentPage allows: contentPage (self-nesting only).

Each list page allows ONLY its corresponding detail page as a child.


Convention: tabs are sorted by sortOrder. The “Info” tab (formerly sortOrder 0) was removed across the board on 2026-04-28; “Hero Images” sub-group via responsiveImageComposition was removed from all 6 detail pages on the same date.

Uniform alias rule: The “Content Modules” tab uses alias contentModules (sortOrder 0) on EVERY page type. The alias content is reserved for the editorial “Content” tab (detail pages only).

sortOrderTabAliasNotes
0Content ModulescontentModulesPage modules Block List
2Site ModulessiteModulesHeader + footer modules
10SEOseoMeta + Open Graph + JSON-LD
15Hotel DatahotelDataschema.org Hotel structured data (14 fields)
20BrandingbrandingLogo, favicon, brand assets
22Social SharesocialSharePlatform toggles (socialShareComposition)
25Site ScriptssiteScriptsHeader + footer scripts (admin only)
30SettingssettingsBooking, analytics, navigation
sortOrderTabAliasNotes
0Content ModulescontentModulesONLY the modules Block List (no editorial fields)
10SEOseoMeta + OG + JSON-LD
30SettingssettingsSub-group “Navigation” (navigationComposition)

3.3 List pages (roomsListPage, diningListPage, wellnessListPage, experienceListPage, eventsListPage, offersListPage, galleryPage)

Section titled “3.3 List pages (roomsListPage, diningListPage, wellnessListPage, experienceListPage, eventsListPage, offersListPage, galleryPage)”
sortOrderTabAliasNotes
0Content ModulescontentModulesONLY the modules Block List
10SEOseoMeta + OG + JSON-LD
30Settingssettings(roomsListPage only — filterByCategory toggle)

3.4 Detail pages (roomDetailPage, diningDetailPage, wellnessDetailPage, experienceDetailPage, eventDetailPage, offerDetailPage)

Section titled “3.4 Detail pages (roomDetailPage, diningDetailPage, wellnessDetailPage, experienceDetailPage, eventDetailPage, offerDetailPage)”
sortOrderTabAliasNotes
0Content ModulescontentModulesPage modules Block List (modules)
1ContentcontentEditorial fields (name, descriptions, etc.)
2DetailsdetailsPage-specific metadata (size/dates/cuisine/etc.)
10SEOseoMeta + OG + JSON-LD

Doc TypeseoCompositionnavigationCompositionhotelDataCompositionsocialShareCompositionseedVersionComposition
siteRoot
contentPageper-page settings
All list pagesper-page settings
All detail pagesper-page settings
galleryPageper-page settings

Note: responsiveImageComposition is no longer applied to any page (removed 2026-04-28). Hero imagery is authored via the Page Modules Block List on the new “Content Modules” tab. The composition itself still exists in the codebase but is currently orphan — flag for future cleanup.


These are valid Document Types in the Umbraco backoffice but they are NOT page templates — they’re either containers, repository items (shared content), or form configuration. Excluded from the inventory above.

CategoryAliasesPurpose
Repository folders (containers)repositoryRoot, eventsRepository, newsRepository, faqsRepository, awardsRepository, documentsRepository, testimonialsRepositoryFolders that hold reusable content items shared across modules.
Repository items (shared content)eventItem, newsItem, faqItem, awardItem, documentItem, testimonialItemIndividual reusable entries authored once and referenced by modules.
Filter / categoriesfilterCategoriesRoot, faqCategoriesFolder, faqCategory, faqRepositoryItemTaxonomy used by category-based filters (e.g., FAQ groupings).
Form config (not page templates)formFolder, formPage, newsletterFormPageForm definitions consumed by M14 Form / M33 Newsletter modules. They render as part of a host page, not as standalone templates.
Content fragments (Element Types)galleryImageItemUsed inside Block Lists, not on its own. (Currently orphan — flag for cleanup.)

  • How to create a Document Type: 01_UMBRACO_CONTENT_MODELING.md
  • Modules used inside the modules Block List: docs/PRD/07_Modules_and_Templates.md
  • Hierarchy / IA per hotel site: docs/PRD/Arquitetura Informação/
  • Tab ordering convention + icon validation: .claude/rules/backend-umbraco.md § “Tab Ordering Convention”
  • Uniformity review log: docs/todo/umbraco-uniformity-tracker.md