Skip to content

Property info pages

/p/{token}/info is the property info hub for the booking’s unit. Three sub-pages hang off it:

PathContent
/p/{token}/infoHub: WiFi, parking, amenities, kitchen, heating, address, links to walk-throughs
/p/{token}/info/getting-inProperty-specific arrival walk-through (lockbox flow, keys, etc.)
/p/{token}/info/leavingProperty-specific checkout walk-through
/p/{token}/info/house-rulesFull numbered house-rules list

Why it lives here

This content used to live publicly at steamboatbyowner.com/<unit>. Bill didn’t want it discoverable on stayonthesnow.com because it contains things like WiFi passwords and lockbox-area instructions. Now that the portal is gated behind a 256-bit token, that content has a proper home: every page is reachable only by holders of the booking’s token.

Where the content lives

TypeScript modules in src/property-content/:

FilePropertyBeds24 ID
cc-223.tsChateaux Chamonix #223117485
ss-702.tsSteamboat Sheraton #702117487
tp-501.tsTorian Plum #501120202

Each exports a PropertyContent object (see types.ts for the shape). getPropertyContent(propertyId) in index.ts is the lookup.

Editing

Open the relevant file, edit the content, commit, deploy. No migration needed; no D1 round-trip. If the rate of edits grows, we can extract to D1 with an admin editor later.

The structure is rich enough that each property can carry different sections — TP501’s WiFi password is intentionally empty because it’s issued at the front desk; SS702 has 10 arrival steps where CC223 has 6.

Steamboatbyowner.com retirement

The intent is to retire steamboatbyowner.com as a public site once emails are fully cut over (P12.M7 burn-in window). Until then, both work — the new portal is the canonical source, the public site is the deprecated mirror.

Source

  • Routes: src/routes/portal.ts handleInfoRoute + renderInfoHub / renderGettingIn / renderLeaving / renderHouseRules
  • Content: src/property-content/*.ts
  • Tests: test/routes/portal.test.ts — 6 M8 cases covering hub render, property-specific data for CC/SS/TP, getting-in, leaving, house-rules.