
VibeCRM: one system for a tour operator’s sales, payments and trips
A CRM for Story Travel that covers the whole journey from first call to last excursion: customer history, per-person payments, a browser call center and trip operations.
- Story Travel
- 2025-present
- In acceptance testing
- customers recovered from the old system
- 30,000+
- passengers a season
- ~10,000
- lines of code
- 126k
- months to 90% of the system, with AI coding agents
- ~6
A client who came back
In 2014 we built bus ticketing for the Črnja family’s travel company, and it ran without a hiccup for years. A decade later, Igor Črnja of Story Travel, from the same family, needed a better CRM. He remembered how well that first system had run, and he called us.
The problem
Story Travel runs multi-day bus tours across Europe, from Italy, Spain and France to New Year’s Eve trips, with about 10,000 passengers a season. Its old system was losing customers: the call center couldn’t even find, let alone call, people who had already travelled.
Day trips lived in a separate database from multi-day tours, so returning travellers gave their details again every time. A group booking only showed that “this booking for 5 is missing €230”, so the reminder went to the lead traveller, who may already have paid their own share.
Guide lists were made by hand. Rooming lists never checked whether the assigned single, double or triple rooms matched what travellers had asked for.
What we built
VibeCRM, one platform for the whole journey from first call to last excursion.
- Recovered the customer history. The old system couldn’t show past trips, so we read back every traveller and booking page it could still serve. We stored them, rebuilt trips, itineraries and bookings, and merged duplicate travellers. Over 30,000 customers are back within the call center’s reach.
- One profile per traveller across day trips and multi-day tours.
- Who owes what, per person. Every traveller in a group booking has their own package, balance and payment request.
- Payments that reconcile themselves. Card payments, deposits and installments online. Bank statements are parsed and matched to bookings automatically, and reminders go only to the people who still owe.
- A call center in the browser. Agents call from the CRM on their phones over Twilio, with call planning, a recommended next action for each customer, a sales funnel and revenue forecasts.
- Trip operations. Bus, driver and guide planning; a colour-coded seating plan; rooming lists that flag room-type mismatches; and a daily list for each guide of who paid for which excursion.
- FinanceCosts per kilometre and VAT across countries, plus dashboards for revenue, collection rate and trips that need more bookings.
Screenshots






All screenshots show demo data.
Built with AI
VibeCRM was designed and built by one engineer working with AI coding agents (Claude Code). It came to about 126,000 lines of code, with 90% of the system done in roughly six months, including the data recovery.
Results
- Over 30,000 customers are back within the call center’s reach.
- Reminders go only to the travellers who still owe, not to the lead traveller of a group.
- Bank payments are matched to bookings without manual reconciliation.
- In acceptance testing with about 15 people across the call center and office.
“My father still remembered how flawlessly the ticketing system Candesco built for our family company ran, so when our old CRM started losing customers, there was only one call to make. VibeCRM brought our whole history back and finally shows every traveller, payment and room at a glance.”