Custom SaaS Development

Prapanch Tour Operations CRM

A tour operations CRM with 18+ dashboard modules and 22 backend collections for tours, bookings, travellers, crew, documents, payments, invoices, vendor payments and reporting. The platform uses 4-layer role-based access control and automated reminders to keep complex trips operationally ready.

Industry

Travel and hospitality

Technologies

SvelteKit Tailwind CSS Pocketbase Golang Cloudflare Pages Docker
Prapanch Tour Operations CRM interface

A tour operations CRM should do more than record a booking. It should connect tours, travellers, rooms, documents, payments, invoices, vendor payments and reminders so the operations team can see what is ready, what is missing and what needs action next.

Who This Is Built For

Tour operators replacing spreadsheet-based trip operations

Travel management companies coordinating travellers, suppliers, documents and payments

Operations and finance teams that need one source of truth after a booking is confirmed

Teams that need role-aware access to operational and financial records

Project Overview

Prapanch needed a full-featured Tour Operations CRM for the work that happens after a tour is sold. The system brings tours, bookings, travellers, crew, documents, payments, invoices, vendor payments and financial reporting into one operational workspace instead of leaving each part in separate spreadsheets or manual trackers.

The challenge was not just creating forms. A booking can contain multiple travellers, rooms, services, documents, payment events and operational units. The system had to keep those records connected while remaining fast enough for teams working through large tables and permission-sensitive workflows.

What Challenge Were We Solving?

Spreadsheet workflows made it difficult to answer basic operational questions: which traveller document is missing, which flight or hotel is still unbooked, which payment is pending, which vendor needs to be paid and which departure needs attention. Manual updates also made derived payment status and invoice state easy to misread.

The team needed a system that could model the real relationships in a tour operation without forcing staff to repeat the same data across unrelated screens.

Our Approach

We designed a SvelteKit frontend on Cloudflare Workers with a PocketBase backend in Go, organised inside a pnpm-workspaces monorepo. The interface uses a reusable DataTable with server-side pagination, faceted filters and text search so teams can work through operational records without loading everything at once.

A Zod-driven DynamicSheetForm keeps complex forms consistent while allowing different record types to define their own fields. Composite booking creation creates the booking, room allocations, travellers, documents, operational units and auto-generated invoice in one transaction.

What Made the System Fit the Workflow

The useful part of the product is the connection between records. Payment status is derived automatically from payment activity. A Go reminder worker regenerates reminders for flights and hotels not booked, payments pending, documents missing and departures approaching. Severity levels help teams prioritise work, while per-tour locking avoids duplicate reminders.

Access control is enforced in four layers: PocketBase database rules, SvelteKit route guards, server-side gates and UI-level gating. That keeps sensitive payment and vendor information protected even when someone bypasses a visual control.

Technical Architecture

Frontend: SvelteKit 2, Svelte 5 runes, TypeScript, Tailwind CSS 4, shadcn-svelte, TanStack Table and Superforms with Zod.

Backend: PocketBase with Go hooks and services for booking workflows, reminders and data rules.

Infrastructure: Cloudflare Workers, Docker and GitHub Actions, with pdf-lib and xlsx for document and export workflows.

Outcome

The resulting platform gives tour operations and finance teams a connected workspace for daily execution. It contains 18+ dashboard modules and 22 backend collections, supports one-transaction composite booking creation, derives payment status from activity and keeps reminders and permissions close to the underlying operational data.

Frequently Asked Questions

What is a tour operations CRM?

It is software that manages the operational records behind a tour business: tours, bookings, travellers, rooms, suppliers, documents, payments, invoices, reminders and reporting. A CRM focused only on leads does not cover this post-confirmation workflow.

What should tour operator software manage?

At minimum, it should connect bookings to travellers, rooms, services, documents, payment status, invoices, vendor payments and departure readiness. Search, filters, exports, reminders and role-based permissions become important as the operation grows.

Is a booking engine enough for a travel agency?

A booking engine can capture a reservation, but it usually does not provide the complete back-office view of documents, room allocations, pending balances, vendor payments, reminders and operational exceptions. Agencies with complex group or multi-service trips often need both.

When should a travel agency build custom operations software?

Custom software is worth considering when the team relies on spreadsheets for core operations, needs connected booking and finance records, has unusual approval or permission rules, or cannot represent its workflow in an off-the-shelf product without repeated manual work.

How should role-based access work in travel agency software?

Permissions should be enforced at the database, server route, page or loader and UI layers. Finance, operations, administrators and general staff should each see the records and actions appropriate to their responsibilities.

Outcomes

18+

Dashboard modules

22

Backend collections

4-layer RBAC

Access-control layers

1 transaction

Composite booking flow

4 alert types

Reminder categories

Project enquiry and resources

Start a Project

Project Resources

FAQ

Frequently asked questions

What did Stacknyu build for Prapanch Tour Operations CRM?

Stacknyu built a tour operations CRM covering tours, bookings, travellers, crew, documents, payments, invoices, vendor payments, reminders and financial reporting.

Who is this tour operations CRM case study relevant to?

It is relevant to tour operators, travel management companies and teams replacing spreadsheet-based booking and operations tracking.

What makes this different from a basic booking system?

The system connects booking creation to rooms, travellers, documents, operational units and an invoice, then derives payment status and generates reminders for operational exceptions.

How was access control handled?

Role-based access was enforced across PocketBase database rules, SvelteKit route guards, server-side gates and UI-level controls.

What technologies were used?

The project used SvelteKit 2, Svelte 5 runes, TypeScript, Tailwind CSS 4, shadcn-svelte, TanStack Table, Superforms and Zod, PocketBase with Go hooks, Docker, Cloudflare Workers and GitHub Actions.

Selected case studies

Products built around real constraints

Explore Stacknyu case studies across security, HR, insurance, travel, media, communities, fitness, and advisory software. Each project starts with the operating constraint and makes the next action clearer.

Open for collaboration

Let's Build Your Business Platform

From tour operations to enterprise SaaS, we build robust platforms that streamline your workflows. Book a free consultation today.

Get Started Today!