Websites · React
Walking tour operator
Lively walking tour site with small-group tours and prices, the route's stops, how booking works, reviews and FAQs.

What you get
A site for a walking tour or local experience operator: tours with prices and durations, the stops along the way, how booking works, guest reviews, practical questions and a booking request form. All content lives in src/site.ts.
Files
Exactly what is copied into a new project: 13 files, nothing generated.
Explorer 13
import type { Site } from "./types"; /** Everything this site shows. Edit freely. */export const site: Site = { "brand": "Alfama on Foot", "nav": [ { "label": "Tours", "href": "#tours" }, { "label": "The route", "href": "#route" }, { "label": "Reviews", "href": "#reviews" }, { "label": "FAQ", "href": "#faq" } ], "navCta": { "label": "Book a tour", "href": "#contact" }, "sections": [ { "kind": "hero", "variant": "split", "eyebrow": "Small-group walking tours · Lisbon", "title": "Lisbon's oldest streets, with someone who grew up in them.", "text": "Two and a half hours through Alfama and Mouraria with a local guide, a stop for ginjinha, and never more than ten people in a group.", "primary": { "label": "See the tours", "href": "#tours" }, "secondary": { "label": "Book a date", "href": "#contact" }, "visual": { "type": "card", "tone": "#881337", "title": "Next departures", "lines": [ "Daily at 10:00 and 16:30", "Meet at Largo do Chafariz de Dentro", "English, Portuguese and Spanish" ] }, "note": "Free cancellation up to 24 hours before the tour." }, { "kind": "pricing", "id": "tours", "eyebrow": "Tours", "title": "Choose a walk", "text": "Per person. Children under 12 walk free.", "plans": [ { "name": "Alfama classic", "price": "€28", "text": "2½ hours through the old Moorish quarter.", "features": [ "Max 10 guests", "Ginjinha tasting", "Daily, 10:00 and 16:30" ], "cta": { "label": "Book", "href": "#contact" } }, { "name": "Fado at dusk", "price": "€65", "text": "Evening walk ending with a fado set and petiscos.", "features": [ "Max 8 guests", "Dinner and one drink", "Thursday to Saturday, 19:00" ], "featured": true, "cta": { "label": "Book", "href": "#contact" } }, { "name": "Private walk", "price": "€180", "period": "/group", "text": "Your own guide for up to six people.", "features": [ "Any start time", "Route tailored to you", "Stroller friendly on request" ], "cta": { "label": "Enquire", "href": "#contact" } } ] }, { "kind": "gallery", "id": "route", "eyebrow": "The route", "title": "Six stops on the classic walk", "items": [ { "title": "Chafariz de Dentro", "caption": "Where we meet, by the old fountain", "tone": "#9f1239" }, { "title": "Beco do Carneiro", "caption": "Lisbon's narrowest alley", "tone": "#57534e" }, { "title": "Largo de São Miguel", "caption": "Grilled sardines in June", "tone": "#a16207" }, { "title": "Sé Cathedral", "caption": "Built in 1147, rebuilt many times", "tone": "#78716c" }, { "title": "Miradouro de Santa Luzia", "caption": "Tiles and the river view", "tone": "#0e7490" }, { "title": "A Ginjinha do Largo", "caption": "Sour cherry liqueur, one glass", "tone": "#7f1d1d" } ] }, { "kind": "steps", "eyebrow": "How it works", "title": "Booking is simple", "items": [ { "title": "Pick a date", "text": "Send the form or message us. We confirm within a few hours with the meeting point on a map." }, { "title": "Meet your guide", "text": "Look for the red umbrella. Wear shoes with grip; Alfama's cobbles are steep and polished." }, { "title": "Pay after", "text": "Pay your guide by card or cash at the end. If you did not enjoy it, you do not pay." } ] }, { "kind": "quotes", "id": "reviews", "eyebrow": "Reviews", "title": "From recent walkers", "items": [ { "quote": "Inês showed us her grandmother's street and the bakery she still buys bread from. Best morning of our trip.", "name": "Laura K.", "role": "Classic walk, May" }, { "quote": "The fado evening was intimate and the food kept coming. Book it early.", "name": "Ahmed S.", "role": "Fado at dusk" }, { "quote": "Brilliant with our two kids. They still talk about the narrowest alley.", "name": "The Dowd family", "role": "Private walk" } ] }, { "kind": "faq", "id": "faq", "eyebrow": "FAQ", "title": "Before you walk", "items": [ { "q": "How hilly is it?", "a": "Quite. There are steep sections and plenty of steps, with short stops every 15 minutes. Ask us about a flatter route." }, { "q": "What if it rains?", "a": "We walk in light rain and lend umbrellas. In heavy storms we reschedule or refund in full." }, { "q": "Is the tour wheelchair accessible?", "a": "The classic route is not, because of the stairs. Our private walk can follow an accessible route through Baixa." } ] }, { "kind": "contact", "eyebrow": "Book", "title": "Book a walk", "text": "Tell us the tour, the date and how many are coming. We reply within a few hours, usually sooner.", "fields": [ "name", "email", "date", "guests", "message" ], "button": "Request booking" } ], "footer": { "text": "Small-group walking tours in Alfama and Mouraria.", "columns": [ { "title": "Meet", "links": [ "Largo do Chafariz de Dentro", "+351 912 555 014" ] }, { "title": "Tours", "links": [ "Alfama classic", "Fado at dusk", "Private walks" ] }, { "title": "Follow", "links": [ "Instagram", "Newsletter" ] } ], "legal": "© Alfama on Foot. Sample content: replace it in src/site.ts." }};Remix
Remix this template
Describe what to change and the agent starts from Walking tour operator's files. The box is already started for you: finish “Start from Walking tour operator and …”
Dependencies
Documented from the template's package.json. The runtime has a prebuilt dependency set for Vite + React + TypeScript, so installs are fast.
- react^19.1.0
- react-dom^19.1.0
- vite^6.3.0
- @vitejs/plugin-react^4.4.0
- tailwindcss^4.1.0
- @tailwindcss/vite^4.1.0
- typescript^5.8.0
How it runs
- Framework
- Vite + React + TypeScript
- Dev command
- npm run dev
- Build command
- npm run build
- Output directory
- dist
- Port
- 5173
- Entry route
- /
Projects run in an isolated sandbox with a live preview. Read the projects documentation for settings, snapshots and deployment.
Keep browsing
All templates
Architecture studio
Editorial architecture practice site with selected projects, the studio's approach, a short history and the team.

Boutique hotel
Elegant small-hotel website with rooms and rates, the restaurant, guest notes, arrival details and a stay request form.

Static website
Plain HTML, CSS, and JavaScript with no build step. Ideal for simple sites and learning.
Build on Walking tour operator
Create a free account, start from this template, and ask the AI agent to turn it into your app.