Galle, LK--:--5/6 sites live

One File the Owner Can Edit

Resorts, guides and wellness centres change prices and phone numbers — not code. Put every editable fact in one typed data file.

20 Oct 20264 min read#Data#Client handover#Tourism

Lesson 10 of 10 · Tourism Tech · built from Nora Travels, Nora Labs, Mahesh Travellers and my hospitality sites

After launch, the person editing a tourism site is usually the owner, not a developer. Give them one file with every fact they might change.

Example — the resort's company record

ExampleTypeScript
export interface CompanyInfo {
  name: string;
  tagline: string;
  whatsappNumber: string;          // used to build wa.me links
  whatsappNumberDisplay: string;   // how it's shown to guests
  phoneDisplay: string;
  email: string;
  address: string;
  social: { facebook: string; instagram: string; youtube: string };
  hours: { office: string; afterHours: string };
  logo: string;
}
  • Two versions of the phone number — one for links, one for display — so formatting never breaks the link.
  • Rooms, dining packages and event pricing live beside it as typed records, so there's no database to pay for.
  • Types mean a missing field fails the build instead of showing undefined to a guest.

The same rule across my tourism and hospitality sites

SiteThe one fileWhat the owner edits
Super King Star ResortresortData.tsSuites, dining, events, contact
Clean Airdata/data.tsServices, prices, WhatsApp, holidays
Mahesh Travellersdata/content.jsFive languages of copy, itineraries, activities
Nora Travelsdata/*.jsonActivities, destinations, wiki, theme

Try it yourself: compare the client websites playbook — it's the same lesson from the business side.

Exercise

List every fact on a resort homepage that could change in a year. Which belong in CompanyInfo, and which need their own record type?


Keep going: ← Lesson 9 · See the live tourism sites →

ExerciseKnowledge check

Why keep company details like the WhatsApp number in a typed data file?

Finished this one?

Progress is saved in this browser.

Guide