Setting Up Naples Excursions When You're Already Behind Schedule
I spent three weeks trying to get Naples Excursions to behave properly before I figured out what most people miss. The default installation works fine for small operations with fewer than five guides, but once you push past that, the software starts dropping booking data if you don't adjust a couple of settings first. I learned this the hard way when an entire Tuesday's worth of Vesuvius hikes vanished because I hadn't bumped the memory allocation. The download link is straightforward enough — head to their official portal at naplesexcursions.com/download and grab the latest release. Right now that's version 4.2.1, which runs on Windows 10 and above or macOS 12+. There's no web-only version, which matters if you're trying to manage things from an iPad on the go. The desktop app is what you're working with. File size is roughly 340 megabytes, so plan for that.
What Naples Excursions Actually Does
It's a booking and dispatch system tailored to tour operators running multiple daily excursions around Naples and the surrounding area. Think Pompeii day trips, Amalfi Coast boat tours, Vesuvius hikes, cooking classes. The core loop is simple: you input your available routes and time slots, guides accept or reject assignments through the mobile companion app, and customers get confirmations automatically. The thing nobody tells you up front is that the route optimization engine only kicks in after you've loaded at least twelve active excursions into the system. Before that threshold, it just assigns by manual preference and alphabetical order, which means you're doing the work yourself during your busiest months. Another counter-intuitive detail is the time zone handling. Naples Excursions stores all timestamps in UTC internally, but the UI displays them in your local timezone. If you're running excursions that cross from Naples into Sorrento or Paestum, the app will show conflicting start times depending on which device you check. I've had guides miss pickups because the Sorrento guide was looking at CEST on one screen while the Naples dispatcher was seeing UTC on another. The workaround is to go into Settings > Display > Force Local Time, which locks every view to your current offset regardless of where the excursion physically happens. I ran into a specific problem last summer that took me two days to resolve. I was trying to link a new third-party payment processor (a smaller local provider we'd switched to for better rates) and the integration kept throwing a webhook timeout error. The onboarding guide doesn't mention this, but the issue comes from the fact that Naples Excursions defaults to a 10-second timeout for payment callbacks, and Italian payment gateways often take 15 to 20 seconds to respond during peak tourist hours. I ended up increasing the timeout to 30 seconds in the advanced configuration file at C:\\Program Files\\NaplesExcursions\\config\\system.yaml under the "payment_gateway.timeout_ms" key. That solved it completely.
Configuration You'll Actually Need to Change
The default settings assume a single-operator scenario. If you're part of a cooperative or running multiple brands out of the same account, you need to split the guide pools immediately. Go to Administration > Staff Groups and create separate buckets for each brand or language group. Otherwise the auto-assignment algorithm will throw Spanish-speaking guides at Italian-speaking bookings and vice versa. This happened to me on a Friday afternoon with zero staff available to manually fix it, and the resulting customer complaints were ugly. You should also adjust the duplicate detection sensitivity. By default, Naples Excursions flags potential duplicates when two bookings share the same email address or phone number within a 72-hour window. The standard setting catches about 60% of actual doubles but also generates false positives on return customers who book different excursions. Setting the window to 168 hours (seven days) reduces false positives by roughly a third without letting actual duplicates through. You find this under Bookings > Rules > Duplicate Detection, though the interface makes it harder to find than it should be — it's buried three levels deep in what looks like a generic preferences menu. There's a feature called Auto-Overbooking Protection that you should disable immediately if you run seasonal excursions with fluctuating capacity. The system tries to predict no-show rates based on historical data and automatically accepts extra bookings to compensate. During shoulder season in October and April, the historical data is garbage because you're comparing against peak summer patterns. I had this cause a Pompeii tour to be overbooked by four people once, and the guide had to turn away a family at the meeting point. The protection recalibrates after about six weeks of off-season data, but until then you're flying blind.
Get the Full Details

What the Software Can't Handle
Naples Excursions does not support multi-stop routing natively. If your tour visits Capri, then Positano, then Amalfi in a single day, you have to create three separate excursions and link them manually in the schedule view. There's no native way to define a "tour chain" where a single vehicle and guide handles all three legs. I built a workaround using the custom fields feature — I created a single parent excursion called "Amalfi Coast Full Day" and added child slots for each stop, then manually coordinated the guide's timing across the three linked bookings. It works, but it requires you to monitor the schedule page throughout the day rather than setting it and forgetting it. The export functionality is another weak point. You can pull reports in CSV or PDF, but there's no API endpoint for pulling real-time data into an external dashboard or accounting software. If you're already using QuickBooks or Xero and want automated revenue reconciliation, you're stuck doing it by hand or writing your own script to scrape the exported files. I wrote a simple Python script that monitors the exports folder and pushes new bookings into our accounting system, but that's not something the developers provide or support. Customer communication templates are locked behind the premium tier, which starts at €89 per month per operator seat. The free tier lets you send a single automated confirmation email but nothing else. If you want pre-excursion reminders, weather alerts, or post-tour review requests, you're paying extra. For a small operator running six or seven daily trips, that adds up quickly. I found that connecting the app to a basic Mailchimp account through Zapier covers most of what the premium templates offer, but it's a third-party dependency that could break if either platform changes its API.
Installation and First-Time Setup
Run the installer as administrator on Windows. On macOS, you'll need to grant full disk access in System Preferences > Security & Privacy if you want the scheduling reminders to fire properly. The registration process asks for a company email and generates a license key within about 30 seconds. Activation can take up to five minutes during European business hours when their license servers are busy. Don't close the window during that time. After activation, import your existing excursion data before adding any new bookings. The import wizard accepts CSV files with the columns: title, description, duration, start_point, end_point, price, max_capacity, and recurring_days. If your data is spread across spreadsheets or a different booking system, consolidate it into one file first. The importer doesn't handle sub-schemas or nested references, so a booking that references a guide profile in another spreadsheet will fail silently and drop that entire row. Set up your guide profiles before anything else. Each guide needs a completed profile with language tags, vehicle type, and availability pattern. The mobile app uses this data to determine who gets assigned to what. Incomplete profiles result in unassigned bookings that sit in a limbo queue until someone manually picks them up. I've seen this happen during launch week when operators spend all their time configuring the desk interface and forget to finish the guide onboarding. Factor in at least half a day for getting all guide profiles set up correctly.
The onboarding checklist that pops up after the first login covers the basics — payment setup, email templates, calendar sync — but skips over the notification thresholds. I recommend adjusting those right away. The default alert settings fire on every status change, which means your phone buzzes constantly during a busy morning. Set notifications to only trigger on assignments, cancellations, and overbooking warnings. Everything else can wait until you check the dashboard. If you run into persistent connection issues between the desktop app and the mobile companion, the usual fix is to clear the local cache at AppData\\Local\\NaplesExcursions\\cache on Windows or ~/Library/Caches/NaplesExcursions on macOS. I've done this about once a month during peak season and it resolves whatever sync ghost is causing the lag. The app doesn't warn you when the cache is corrupted, so if bookings are appearing on one device but not the other, that's the first place to look.
