Travel Itinerary Planner
yha niche ka hatana h
itineraries.json
{
"manali": {
"days": {
"1": {
"morning": ["Mall Road", "Hadimba Temple"],
"afternoon": ["Vashisht Hot Springs"],
"evening": ["Cafe hopping"]
},
"2": {
"morning": ["Solang Valley"],
"afternoon": ["Atal Tunnel"],
"evening": ["Local market"]
}
}
},
"delhi": {
"days": {
"1": {
"morning": ["India Gate"],
"afternoon": ["Connaught Place"],
"evening": ["India Gate night view"]
},
"2": {
"morning": ["Red Fort"],
"afternoon": ["Chandni Chowk"],
"evening": ["Akshardham"]
}
}
}
}
region-itinerary.js]
let regions = {};
let itineraries = {};
// load data
Promise.all([
fetch("https://cdn.jsdelivr.net/gh/USERNAME/REPO@v1/regions.json").then(r => r.json()),
fetch("https://cdn.jsdelivr.net/gh/USERNAME/REPO@v1/itineraries.json").then(r => r.json())
]).then(([r, i]) => {
regions = r;
itineraries = i;
});
// load cities on region change
function loadCities() {
const region = document.getElementById("region").value;
const citySelect = document.getElementById("city");
citySelect.innerHTML = `
`;
if (!regions[region]) return;
Object.entries(regions[region].cities).forEach(([slug, name]) => {
const opt = document.createElement("option");
opt.value = slug;
opt.textContent = name;
citySelect.appendChild(opt);
});
}
// generate itinerary
function generatePlan() {
const city = document.getElementById("city").value;
const days = parseInt(document.getElementById("days").value);
const result = document.getElementById("result");
if (!city) {
alert("Select city");
return;
}
let html = "";
for (let d = 1; d <= days; d++) {
const plan = itineraries[city]?.days[d] || {
morning: ["Free time"],
afternoon: ["Local sightseeing"],
evening: ["Rest"]
};
html += `
Day ${d}
Morning: ${plan.morning.join(", ")}
Afternoon: ${plan.afternoon.join(", ")}
Evening: ${plan.evening.join(", ")}
`;
}
result.innerHTML = html;
}
regions.json
{
"north": {
"name": "North India",
"cities": {
"shimla": "Shimla",
"manali": "Manali",
"delhi": "Delhi",
"dharamshala": "Dharamshala",
"mussoorie": "Mussoorie",
"nainital": "Nainital",
"rishikesh": "Rishikesh",
"haridwar": "Haridwar",
"amritsar": "Amritsar",
"jaipur": "Jaipur",
"udaipur": "Udaipur",
"jodhpur": "Jodhpur",
"jaisalmer": "Jaisalmer",
"agra": "Agra",
"varanasi": "Varanasi",
"lucknow": "Lucknow",
"chandigarh": "Chandigarh",
"dehradun": "Dehradun",
"kullu": "Kullu",
"kasol": "Kasol",
"dalhousie": "Dalhousie",
"kasauli": "Kasauli",
"lansdowne": "Lansdowne",
"almora": "Almora",
"ranikhet": "Ranikhet"
}
},
"south": {
"name": "South India",
"cities": {
"bangalore": "Bangalore",
"chennai": "Chennai",
"goa": "Goa",
"hyderabad": "Hyderabad",
"kochi": "Kochi",
"mysore": "Mysore",
"pondicherry": "Pondicherry",
"ooty": "Ooty",
"kodaikanal": "Kodaikanal",
"coorg": "Coorg",
"munnar": "Munnar",
"thekkady": "Thekkady",
"kanyakumari": "Kanyakumari",
"madurai": "Madurai",
"trivandrum": "Trivandrum",
"vizag": "Vizag",
"mahabalipuram": "Mahabalipuram",
"hampi": "Hampi",
"gokarna": "Gokarna",
"chikmagalur": "Chikmagalur",
"wayanad": "Wayanad",
"araku-valley": "Araku Valley",
"yercaud": "Yercaud",
"kumarakom": "Kumarakom"
}
},
"west": {
"name": "West India",
"cities": {
"mumbai": "Mumbai",
"pune": "Pune",
"ahmedabad": "Ahmedabad",
"surat": "Surat",
"mount-abu": "Mount Abu",
"saputara": "Saputara",
"matheran": "Matheran",
"lonavala": "Lonavala",
"khandala": "Khandala",
"mahabaleshwar": "Mahabaleshwar",
"panchgani": "Panchgani",
"alibaug": "Alibaug",
"daman": "Daman",
"diu": "Diu",
"bhopal": "Bhopal",
"indore": "Indore",
"gwalior": "Gwalior",
"khajuraho": "Khajuraho",
"orchha": "Orchha",
"mandu": "Mandu",
"pachmarhi": "Pachmarhi",
"chikhaldara": "Chikhaldara"
}
},
"east": {
"name": "East & North-East India",
"cities": {
"kolkata": "Kolkata",
"darjeeling": "Darjeeling",
"gangtok": "Gangtok",
"guwahati": "Guwahati",
"shillong": "Shillong",
"kohima": "Kohima",
"imphal": "Imphal",
"bhubaneswar": "Bhubaneswar",
"puri": "Puri",
"konark": "Konark",
"sundarbans": "Sundarbans",
"kalimpong": "Kalimpong",
"kurseong": "Kurseong",
"mirik": "Mirik",
"ravangla": "Ravangla",
"pelling": "Pelling",
"lachung": "Lachung",
"lachen": "Lachen",
"ziro": "Ziro",
"majuli": "Majuli",
"kaziranga": "Kaziranga",
"manas": "Manas",
"cherrapunji": "Cherrapunji",
"mawlynnong": "Mawlynnong",
"agartala": "Agartala"
}
}
}