The Tour Folks

Year

2023

Location

Italy

Type

Platform

Scope

End-to-End

Team

Small Team (2-5)

Domain

Tourism & Travel

Stack
FigmaTypeScriptReactNext.jstRPCTanStack QueryTesting LibraryJestZodPrismaPostgreSQLTailwind CSSAnt Design

Client

The Tour Folks is a Milan-based tour business offering guided experiences through online bookings, partner channels, and direct street sales.

The project focused on building a connected booking and operations platform that could support both the public customer journey and the internal workflows behind daily tour management.

Overview 

Tourists joined tours through different entry points. Some booked directly on the website in advance, while others were added to groups by staff working on the street. Additional bookings could come from hotel partners, recommendations, manual entries, and last-minute walk-ins.

The challenge was to support all these sources without fragmenting data or creating separate workflows for each sales channel.

The system had to keep public reservations, internal CRM records, payments, customers, tickets, and tour groups in sync. It also had to handle real-world booking scenarios such as pending payments, manual entries, group capacity changes, offline sales, and payment status updates without breaking ticket availability or creating duplicated work for the team.

Contribution

I led the project end to end as a solo developer, working closely with the client from initial discussions to production launch.

My work covered product structure, UX flows, frontend and backend development, data modeling, validation, payment-related logic, admin UI, integrations, and deployment.

The public website allowed tourists to explore tours and make online reservations. The internal platform helped the team manage bookings, customers, payments, tour groups, availability, and operational details from one place.

I also built staff-facing flows for direct street sales, where team members could add tourists to active tour groups from mobile while keeping availability, tickets, and booking data aligned across the system.

The project was delivered under tight timelines, which required pragmatic architectural decisions and a strong focus on the workflows that directly supported daily business operations.

01 / 05
Booking & Operations
01

Booking & Operations

The internal platform helped the team manage tours, groups, tickets, customer inquiries, and daily operational details from one place. It was designed for non-technical staff, with role-based access so editors, operators, promoters, and managers could work only with the parts of the system relevant to their responsibilities.

Multi-Channel Ticketing
02

Multi-Channel Ticketing

Bookings could come from the public website, on-street staff, manual manager entries, and partner channels. All sales channels affected the same ticket pool and group capacity, helping the team keep availability, payments, and tickets synchronized without manual reconciliation.

Payments & Booking
03

Payments & Booking

Online payments were integrated into the booking flow through Stripe. Completed payments generated tickets automatically and synchronized them with the CRM and tour group management system. The system also had to support real-world booking scenarios such as pending payment states, refunds, manual entries, group capacity changes, offline sales, and payment status updates without breaking ticket availability.

Customer-facing Booking Website
04

Customer-facing Booking Website

The public website allowed tourists to explore tours, select dates, complete secure payments, and receive tickets that were instantly reflected inside the internal platform.

Content Management
05

Content Management

The platform included a WYSIWYG editor for managing website content, with live preview and pre-rendered pages to support SEO, performance, and a consistent editing experience.