AI Travel Itinerary Planner
Human → AIAI plans personalized itinerary, checks availability, traveler approves before booking.
5 nodes · 5 edgestravel
agenthumanapi
Visual
Traveler Preferenceshuman
Traveler provides dates, budget, interests, and constraints.
↓sequential→ AI Plan Itinerary
AI Plan Itineraryagent
Generate day-by-day itinerary with flights, hotels, and activities.
↓sequential→ Check Availability
Check Availabilityapi
Query booking APIs for real-time pricing and availability.
↓sequential→ Traveler Review
Traveler Reviewhuman
Traveler reviews itinerary and requests modifications.
↓conditional→ Book Reservations
↓loop→ AI Plan Itinerary
Book Reservationsapi
Confirm and book all approved flights, hotels, and activities.
uc-travel-itinerary.osop.yaml
osop_version: "1.0"
id: "ai-travel-itinerary"
name: "AI Travel Itinerary Planner"
description: "AI plans personalized itinerary, checks availability, traveler approves before booking."
nodes:
- id: "preferences"
type: "human"
subtype: "input"
name: "Traveler Preferences"
description: "Traveler provides dates, budget, interests, and constraints."
- id: "plan_itinerary"
type: "agent"
subtype: "llm"
name: "AI Plan Itinerary"
description: "Generate day-by-day itinerary with flights, hotels, and activities."
security:
risk_level: "low"
- id: "check_availability"
type: "api"
subtype: "rest"
name: "Check Availability"
description: "Query booking APIs for real-time pricing and availability."
timeout_sec: 30
- id: "traveler_review"
type: "human"
subtype: "review"
name: "Traveler Review"
description: "Traveler reviews itinerary and requests modifications."
security:
approval_gate: true
- id: "book"
type: "api"
subtype: "rest"
name: "Book Reservations"
description: "Confirm and book all approved flights, hotels, and activities."
edges:
- from: "preferences"
to: "plan_itinerary"
mode: "sequential"
- from: "plan_itinerary"
to: "check_availability"
mode: "sequential"
- from: "check_availability"
to: "traveler_review"
mode: "sequential"
- from: "traveler_review"
to: "book"
mode: "conditional"
when: "review.approved == true"
- from: "traveler_review"
to: "plan_itinerary"
mode: "loop"
label: "Revise itinerary based on feedback"