
Overview
A travel business wanted itineraries drafted automatically instead of built by hand. I built a machine learning pipeline that picks destinations and hotels from the traveller's preferences, connected to the client's PHP website, which produces an editable visual itinerary with PDF export.
The Problem
Building each itinerary by hand took agents a lot of time, and quality depended on who made it. The client wanted a first draft generated automatically, with full control to edit it.
Technical Solution
System Architecture
- •K-means clustering groups destinations to match the traveller's preferences
- •Elbow method + silhouette scoring to choose the number of clusters
- •A second clustering stage plus a Random Forest classifier recommends hotels
- •Trained on a Sri Lanka travel dataset
- •Python models connected to the client's PHP website
- •Editable visual itinerary with activities, hotels and images, plus PDF export
ML
Python, Scikit-learn
Models
K-means, Random Forest
Website
PHP
Output
Editable itinerary + PDF

Results & Impact
2-stage
ML pipeline: destinations, then hotels
editable itinerary export
PHP
runs inside the client's existing site
Lessons Learned
Combine methods
Clustering found good destination groups; a classifier was better for picking hotels.
Keep humans in control
An editable draft was more useful to the agency than a "final" plan.
Fit the client's stack
Connecting to their PHP site avoided a costly rebuild.