PerryGolf
ArchitectureMarginWise site analysis · July 2026
links are shareable
Working session · Aug 26–27, 2026 · data model

How the data works

A plain-English tour of the content model behind the new site — how suppliers, tours, cruises and destinations fit together. No jargon, a few real examples. Read it before the hands-on blocks on the working-session agenda so we spend the room building, not explaining.

Executive summary
  • Two systems, one split: the CMS holds what customers read and see (words, photos, what's featured); PGGO holds the operations (pricing, quotes, inventory).
  • Everything is built from a small set of pieces — trips, venues, ships, destinations, pages — that point at each other instead of copying each other.
  • So you write a thing once (a hotel, a ship, a photo set) and every trip and page that uses it updates. That one idea is most of the model.
Why it matters for the workshop — every Day 1 block — destination, small group tour, cruise, PYOT — is built from these same pieces, so recognising them before we start clicking is the difference between building and explaining.
The split

Two sources of truth

  • The CMS (Sanity) is the marketing source of truth — the words, the photos, and what gets featured where. It's what a customer reads.
  • PGGO is the operational source of truth — pricing, quotes, booking, inventory. It's the numbers that actually sell a trip.
  • Rule of thumb: if a customer reads it, it lives in the CMS; if it's a number that books a trip, it lives in PGGO.
  • One exception — PYOT. Its marketing content moves into the CMS, but the quote still comes from PGGO. That split is one of the things to settle in the session.
The pieces

The building blocks

Everything on the site is made of these. Most of the work in the CMS is creating one of them and pointing it at the others.

Building blockWhat it isReal example
TourOne escorted / small group tour, start to finish.Passions of Argentina
CruiseOne golf-cruise voyage.2028 Baltic Sea Golf Cruise
Tour typeThe boilerplate every tour of a type shares — what's included, ground transport, FAQs. Written once.Small Group Tour
Cruise lineThe shared fare inclusions and FAQs for every cruise on a line.Silversea
ShipA reusable vessel — its stats, photos and cabins. Many cruises sail it.Silver Nova
Cabin typeA cabin or suite category on a ship.Classic Veranda Suite
Partner (venue)A place — a golf course, a hotel, or a lodge. One venue is one record, with its own photos and write-up.Fancourt · Gleneagles
CourseOne golf course at a venue that has several. Single-course venues don't need this — their course details sit on the venue itself.The King's Course, at Gleneagles
Country (destination)A destination. Trips and venues are tagged to it.Scotland
RegionAn optional grouping, parallel to country.Scotland Central
PageA flexible page built from stackable sections. Destination pages are these./destinations/scotland
CarouselA reusable set of photos, built once and pointed at from anywhere.Fancourt gallery
Tour extensionAn optional add-on before or after a tour. Offered on several tours.Iguazú Falls

Two systems own the data: the CMS holds the words and photos above; PGGO holds pricing and inventory.

At a glance

The shape

The whole model on one picture. Trips (tours and cruises) point at shared templates and at venue records; a venue is written once and reused everywhere; a destination page pulls the trips and venues tagged to its country. The worked examples below walk three paths through this.

add-ongallerycourse + hotelphotoscoursebelongs todestinationingroupingfeatured venuesfeatured trips (tours & cruises)Tour typee.g. Small Group TourCruise linee.g. SilverseaShipe.g. Silver NovaCabin typee.g. Veranda SuiteToure.g. Passions of ArgentinaCruisee.g. Baltic Sea CruiseTour extensione.g. Iguazú FallsCarousele.g. Fancourt galleryItinerary daye.g. Day 3 · Buenos AiresCruise daye.g. Day 2 · CopenhagenPartner (venue)e.g. FancourtCoursee.g. The King's, GleneaglesCountrye.g. ScotlandPagee.g. /destinations/scotlandRegione.g. Scotland Central
Points at — a reference (single source of truth)Auto — surfaced on the destination page by tagA tripA shared venue
Read one path

Passions of Argentina is a tour. It uses the Small Group Tour type for its shared inclusions and FAQs. Its Day 3 in Buenos Aires plays a course and stays at a hotel — both are venue records (like Fancourt), written once and reused. Its gallery is a carousel that pulls those same venue photos, and Iguazú Falls rides along as an optional extension. Because the tour is tagged to its country (Argentina), it surfaces automatically on that destination page’s featured-trips section, with no hand-picking.

Worked example

A tour, end to end

Take Passions of Argentina. It's a single tour record. It writes its own story — dates, nights, rounds, highlights, and the day-by-day itinerary — and points at existing records for everything else.

The tour owns: its title, dates, nights and rounds, its highlights, and its day-by-day itinerary.

Points at
  • Its tour type (“Small Group Tour”) — supplies what's included, the ground-transport copy and the shared FAQs, written once and reused by every small group tour.
  • Each itinerary day points at the golf course played and the hotel for the night — those are venue records, not text typed onto the tour.
  • The Golf Courses and Lodging sections are those same venues, shown as photo galleries.
  • Optional extensions — like Iguazú Falls — are their own add-on records, offered on more than one tour.

So building a tour is mostly choosing which existing venues and type it points at, then writing the day-by-day story around them.

Worked example

A cruise

A cruise is the same idea, shaped for sailing. Take the 2028 Baltic Sea Golf Cruise.

The cruise owns: its title, dates, embark and disembark ports, highlights, and its port-by-port itinerary.

Points at
  • A cruise line (“Silversea”) — the shared fare inclusions and FAQs for every voyage on that line.
  • A ship (“Silver Nova”) — reusable, carrying its own stats, photos and cabin catalogue. One ship, many voyages.
  • The cabins it sells — a subset of the ship's cabin types, each with an availability note and a price placeholder.
  • Golf days point at courses — the same venue records a tour uses.
Worked example

A destination page

A destination page — say /destinations/scotland — is a flexible page with its country set to Scotland.

  • It's built from stackable sections — a hero, editorial copy, “featured trips”, “featured courses & hotels”, an enquiry form — dragged into the order you want.
  • Two of those sections can run on autopilot. Set to auto, “featured trips” and “featured courses & hotels” pull every tour, cruise and venue tagged to that destination — no hand-picking. Set to curated, an editor picks the exact list instead.
  • Because the page already knows its country, the auto sections inherit it — you set the destination once, not on every section.
The map

How it all connects

This……points at……so that
A tourits tour type, its courses & hotels, its optional extensionsshared copy is written once; venues are a single source of truth reused across trips
A cruiseits cruise line, its ship, the cabins it sells, its coursesthe ship and its cabins are reused by every voyage that sails it
An itinerary dayone golf course and one hotel (both venues)the day-by-day itinerary and its map draw from the same venue records
A destination pagea countryits auto sections surface every trip and venue tagged to that destination
A carousela venue's photosgalleries reuse a venue's images with no duplication
The key idea

Change once, updates everywhere

Because trips and pages point at shared records instead of copying them, one edit ripples out. This is the single most useful thing to hold in your head.

  • Fix a hotel's description or add a photo on its venue record — every tour, cruise and destination page that features it updates.
  • Change the “what's included” list on a tour type — every tour of that type shows the new list.
  • Fix a ship's stats or reorder its cabins — every voyage on that ship reflects it.
  • The flip side is the useful part: there's one right place to make a change. If a course reads wrong on three tours, you fix the one venue, not the three tours.
The reasoning

Why it's built this way

  • One source of truth. A venue, a ship, a photo set is written once and pointed at — never copied — so it can't drift out of sync between pages.
  • One slot that fits both shapes. Most venues are a single course, so the course detail lives on the venue. A few (like Gleneagles) have several courses, so each course is its own record. A golf slot accepts either, so itineraries don't have to care which shape a venue is.
  • Descriptions stay deliberately simple. Venue write-ups allow bold, italic, links and bullets — but no headings or tables — so the text can flow back to PGGO cleanly later.
Reference for the working session. The agenda that builds on this is the working-session agenda.