Recent In Internet

Recent in Technology

Trending News

Itinerary Planner

from flask import Flask, request, jsonify import datetime app = Flask(__name__) # Sample data for destinations and activities destinations = { "Kathmandu": [ {"activity": "Visit Swayambhunath Stupa", "time": 2}, {"activity": "Explore Kathmandu Durbar Square", "time": 3}, {"activity": "Shop at Thamel", "time": 1} ], "Pokhara": [ {"activity": "Boat ride on Phewa Lake", "time": 2}, {"activity": "Visit Sarangkot for sunrise", "time": 3}, {"activity": "Explore Devi's Fall", "time": 1} ], "Chitwan": [ {"activity": "Jungle Safari", "time": 4}, {"activity": "Visit Elephant Breeding Center", "time": 2}, {"activity": "Canoeing in Rapti River", "time": 3} ] } @app.route('/generate_itinerary', methods=['POST']) def generate_itinerary(): try: data = request.get_json() selected_destinations = data.get("destinations", []) days = data.get("days", 1) if not selected_destinations or days <= 0: return jsonify({"error": "Invalid input. Please provide destinations and a valid number of days."}), 400 itinerary = [] day_counter = 1 time_per_day = 8 # Assuming 8 hours per day for activities for destination in selected_destinations: if destination not in destinations: return jsonify({"error": f"Destination '{destination}' not found."}), 404 activities = destinations[destination] daily_schedule = [] for activity in activities: if time_per_day - activity["time"] >= 0: daily_schedule.append(activity["activity"]) time_per_day -= activity["time"] else: break itinerary.append({ "day": day_counter, "destination": destination, "activities": daily_schedule }) day_counter += 1 if day_counter > days: break return jsonify({"itinerary": itinerary}), 200 except Exception as e: return jsonify({"error": str(e)}), 500 if __name__ == '__main__': app.run(debug=True)