Go Portugal Tours · Tour booking site · 2025
A booking site built by someone who ran the business.
Booking site for private tours in Portugal: 24 data-driven tours, pricing by passenger count, validated forms, PT/EN.
- Website
- Booking
- i18n
- Client
- Go Portugal Tours
- Status
- In production.

Tour page with group pricing.
Context
I ran a tours company from 2017 to 2021. I know what a client asks before booking and what the operator needs to answer.
The problem
Private tour pricing depends on group size (1-2, 3-4, 5-6, 7-8). Each tour needs its own marketing copy in each language, not a translation.
My role
Sole developer.
Solution
Next.js 14 with dynamic routes generated from per-language data files, four price tiers per tour, React Hook Form + Zod, Radix UI, build-time route validation script.
What was built
- Adding a tour means adding an object; the page appears on its own.
Outcome
Site in production.
Stack
Next.js 14 · TypeScript · next-intl · React Hook Form · Zod · Radix UI
