Every summer, thousands of tour companies across Turkey's Mediterranean coast manage their entire
operation with Excel spreadsheets, WhatsApp groups, and paper notebooks. We decided to change that.
Turkish tourism is a $50B+ industry. Yet most tour operators — running daily safari tours, boat
trips, cultural excursions — still rely on Excel for reservations with no real-time collaboration,
WhatsApp groups for driver coordination where messages get lost, paper notebooks for cash tracking
full of errors, and manual data entry for UETDS government reporting that eats 1-2 hours daily.
A single tour operator in Antalya might handle 200+ passengers per day across 10 different tours, 15
vehicles, and 5 sales offices. Managing this with spreadsheets is chaos.
We built TourOperation.com — a cloud-based platform that covers the entire tour lifecycle from
reservation to operation to finance to reporting.
On the reservation side, we handle multi-channel bookings from walk-in, phone, B2B agencies, and OTA
marketplaces. Real-time availability, automated WhatsApp confirmations, and QR digital tickets are
all built in.
For daily operations, there's a drag-and-drop vehicle assignment board, driver and guide rotation,
hotel pickup scheduling with route optimization powered by OSRM and VROOM, and overbooking
prevention with dynamic capacity management.
Financial tracking includes a multi-currency cash register supporting TRY, EUR, USD, GBP, and RUB.
Office-level and central collection, staff commission calculation, and daily reconciliation all
happen automatically.
B2B account management handles agency and subcontractor ledgers, mutual reconciliation, payment
tracking, and credit limit management.
One of our most impactful features is UETDS automation. Turkey requires all tour companies to report
passenger data to the government before each trip. Penalties reach 5,000 TL per unreported trip. We
automate this entirely, saving operators 1-2 hours daily during peak season.
On the tech side, we went with a pragmatic stack optimized for reliability. The backend runs on
Node.js with Express, PostgreSQL, and Prisma ORM. The admin panel is Next.js 14 with App Router and
TypeScript. Real-time updates flow through Socket.IO. Background jobs like translations and UETDS
submissions run on BullMQ with Redis. Route optimization uses OSRM and VROOM. Infrastructure is
Hetzner with Coolify for self-hosted deployment, Cloudflare DNS, and R2 storage. Security includes
AES-256-GCM encryption for PII, JWT authentication, and Zod validation.
We chose PostgreSQL over Firebase or Supabase because tour operation data is highly relational.
Bookings connect to tours, vehicles, drivers, passengers, offices, cash registers, and agency
accounts. A relational database with proper foreign keys and transactions was non-negotiable.
One of the biggest pain points we solved was OTA management. Tour operators sell on GetYourGuide,
Viator, and Sputnik8 simultaneously but manage inventory manually. We built automatic sync so a
booking on GetYourGuide instantly reduces availability across all channels. No more overbooking.
The route optimization challenge was another interesting problem. Every morning, a tour operator
needs to plan pickup routes across 50+ hotels for multiple tours. The pickup sequence affects fuel
cost, time, and passenger satisfaction. We integrated OSRM with VROOM to geocode hotels, calculate
optimal pickup sequences per vehicle, generate driver routes with estimated times, and send
passengers WhatsApp notifications with their pickup window. This alone saves operators 30-45 minutes
of manual planning every morning.
Since Turkish tourism serves international guests, the platform supports Turkish, English, German,
and Russian in the UI. Customer-facing features like digital tickets and storefronts work in 6
languages. We integrated DeepL API for bulk content translation.
Building this taught us several things. Domain expertise beats technical elegance — understanding
that "bebek kucakta" (baby on lap) doesn't count toward vehicle capacity is invisible from the
outside but critical for correct operation planning. Offline-first matters in tourism because guides
checking passengers at a boat dock may have poor connectivity, so QR ticket scanning needs to work
reliably. Multi-currency is harder than it sounds when a single tour can have payments in TRY, EUR,
and USD and cash registers need per-currency tracking without mixing. And government compliance is a
feature — UETDS automation isn't exciting, but it's the number one reason operators switch from
Excel.
We're currently working on AI-powered demand forecasting using historical pattern analysis, a public
API for third-party integrations, and a mobile app for field operations built with Expo and React
Native.
If you're building SaaS for a specific vertical, I'd love to hear about your experience. The tourism
industry has unique challenges that generic tools simply can't address.
Try it at touroperation.com — 14-day free trial, no credit card
required.
Top comments (1)
Thanks for reacting!