Our actual trip — 3 Jun 2027, 12 nights — checked once a day. Pick a room below (colours match the Seasonality tab) to see today's cheapest rate beside the lowest and highest it's been in the past year; the pills show how today compares. For other dates, see the Seasonality tab.
Price over time
Last 30 days
Cheapest rate per night on each day's check. ▲/▼ marks a change from the previous check; — means not available that day.
Each row is a stay date; each column is how far ahead of check-in it was priced, from 1 day out (right of check-in) out to a year ahead. Pick one or more rooms below — each gets its own colour, shown per cell alongside "Sold out" where a room had no availability when checked. Read across a row for that stay's booking curve; down a column to compare seasonality at a fixed lead time.
Holidays we actually booked plus one-off price checks, logged by hand. Edits save as soon as you leave a cell (green outline = saved). Total price adds room + flights in GBP and USD at the rate on the day booked/checked; Per night is that total divided by nights. "Bundled" is only for one package price that can't be split.
Holiday ScheduleThe Body Holiday · St Lucia
Please sign in to continue
This trip planner is private right now.
Account settings
Theme
Switch between dark and light mode
Who's doing what
📅 Schedule▼
💊 Treatments▼
Pulls from the Treatments tab in your Google Sheet. Columns: User, Treatment, Date, Time, Location
✦ Loading from sheet...
PreviewReview before importing
All treatments
🍽 Dinners▼
Shown automatically to all group members in their My Day. Import from the Meals tab, or add manually.
✦ Loading from sheet...
PreviewReview before importing
All dinners
👥 Users▼
Toggle group membership to control who sees the Group tab and sharing features.
🖼 Chalkboard photos▼
📋 Menu visibility▼
Price check modeFor signed-out visitors only: collapses the site to just Prices + sign-in, overriding the per-page settings below. Signed-in users are unaffected. Turn off to return to normal "Holiday mode".
Control which bottom-nav tabs each audience sees. Group and Admin aren't listed here — those depend on trip membership and admin status, not just login.
📈 Price tracker▼
Rolling seasonality sweep, priced at several lead times out (see pattern below). Runs daily via a separate GitHub Action — doesn't touch the June target-stay daily check above.
Track untilRolling window is always today → this date
Pattern
Upcoming check-ins (preview)
Rooms of interest
Comma-separated canonical names. Drives the grid's default room filter.
Manual runs
Both run for real against the live booking site and write to their own tables — use sparingly.
Delete a day's run data
Wipes what a job wrote on the chosen date and, for the seasonality sweep, resets that day's slots back to pending so the next run actually re-scrapes them instead of skipping as already-done.
Date
📄 Sample schedule▼
Upload a PDF to show as a sample schedule link in the info bar.
Show sample schedule linkVisible to all users in info bar
Show chalkboard photosDisplay chalkboard button in info bar