CityVol CRM
A travel-agency CRM and operational management system covering clients, travel dossiers, payments and agent performance.
01 — Overview
CityVol CRM is the operational backbone of a travel agency: every client, travel dossier and payment plan lives in one system, with agents working their own portfolios and management overseeing the whole agency through live dashboards.
02 — The Challenge
Dossiers, payment plans and client documents were tracked in notebooks and WhatsApp. Agents had no shared view of who owed what, managers had no aggregate visibility, and nothing prevented two agents from working the same client inconsistently.
03 — The Solution
We built the CRM around the travel dossier as the central object — destination, amounts, advances, remaining balance and status — with automatic status transitions driven by payments, and strict ownership: agents see their own dossiers, admins see everything with global statistics.
04 — Product Experience


05 — Engineering
Next.js App Router with server-side authorization checks on every route, NextAuth credentials + JWT sessions with role-based access, Prisma/PostgreSQL data layer, computed financial fields to eliminate drift, Zod validation at the boundaries, containerized deployment.
06 — Outcome
A production CRM the agency actually runs on — every dossier, payment and balance in one place, with dashboards leadership trusts.
- Client and travel-dossier management
- Payment-driven dossier status
- Agent-scoped access with admin oversight
- Dashboards, filters and reporting
Engineering complexity
- Payment-driven state machine on dossiers
- Ownership-scoped data access at the query level
- Admin analytics across agents, destinations and dates
07 — Explore
This platform is deployed and publicly accessible.
Building something similar?
Tell us what you're building — we'll help you determine the best technical path.
Start a Project