The deals page is the one most escape rooms get laziest with — a stale "Summer Special" with no actual offer, no price, no urgency. That's a wasted page, because deal‑seekers and seasonal searchers arrive ready to act if you give them something concrete. Done right, it's a high‑intent conversion page. Done wrong, it converts almost nothing.
1. What this page is for
Convert the price‑sensitive and the seasonal. Two audiences land here: people deciding partly on value (students, families, off‑peak bookers) and people hunting a seasonal hook (school holidays, Christmas gifts, winter team deals). Both want a specific, believable offer with a clear way to claim it.
2. Section‑by‑section anatomy
- Hero — "Real deals, real savings" framing, not a vague banner.
- The headline offer — your best/most relevant deal up top as a strong offer card: what it is, the actual price, who it's for, and a Book button. Here, the Family Pass (a flat Saturday‑morning rate for up to 8) is the anchor.
- The rest of the offers — a grid of offer cards: off‑peak/weekday group rates, student/school rates, evening deals, gift vouchers, seasonal specials. Each one concrete, each one priced.
- Honest urgency — real scarcity only: "weekends book out fast," seasonal date windows, "best‑value group rate." Never fake countdowns.
- Gift/seasonal funnel — surface gift vouchers and any seasonal gift pages, especially in‑season.
- CTA band — straight to booking or the relevant offer.

Every deal concrete and priced, built from one reusable offer card.
3. Imagery & media
- Offer cards can be image‑light — a clean card with the price doing the work, on the accent textures.
- A celebration or value‑themed hero image.
- Where a deal is tied to a room (e.g. a room‑specific evening deal), use that room's imagery and accent.
4. The show‑off feature
The deals page is a showcase of component reuse:
- One offer‑card component, many offers. Build the offer card once; every deal is the same component with different content. New seasonal deal? Add one card. The page stays perfectly consistent and takes minutes to update.
- Easy seasonal swaps. Because the site is code‑versioned and deploys in seconds, putting up a Christmas offer or pulling an expired one is a tiny change shipped instantly — and just as easily rolled back when the season ends.
- No layout drift. Reusable cards mean ten offers look as tidy as two.
This is the quiet superpower of the stack for a page that changes often: the structure is fixed and trustworthy, so updating content is fast and safe.
5. Copy & SEO notes
- Seasonal and deal pages can carry valuable specific phrases ("last minute christmas gifts wellington," "winter team deal"). Keep the price points in the titles and copy.
- Be careful with hard dates — a deal that says "until Nov 28" becomes a liability the day after. Prefer evergreen framing ("Wed–Fri evenings") unless you'll actively maintain the date.
- Each deal links to the booking path for the relevant room/time.
6. How I built it
- Claude‑Chat flagged the dead deals page as a conversion leak and specified a real offers page with honest urgency.
- Claude‑Design built the offer‑card pattern and the deals layout.
- Claude‑Code implemented the reusable offer card and the seasonal pages, and connected each deal's Book button to the booking path.
- Cowork + GitHub + Vercel shipped them — and make adding or retiring a seasonal deal a seconds‑long task.
7. The principle
A deals page only works if every deal is specific, priced and claimable. Anchor with your best offer, present the rest as consistent reusable cards, use only honest urgency, and lean on the stack's instant deploys to keep seasonal offers fresh. A page you can update in two minutes is a page you'll actually keep current.