AI Travel Itinerary Planner

Human → AI

AI plans personalized itinerary, checks availability, traveler approves before booking.

5 nodes · 5 edgestravel
agenthumanapi
Visual
Traveler Preferenceshuman

Traveler provides dates, budget, interests, and constraints.

sequentialAI Plan Itinerary
AI Plan Itineraryagent

Generate day-by-day itinerary with flights, hotels, and activities.

sequentialCheck Availability
Check Availabilityapi

Query booking APIs for real-time pricing and availability.

sequentialTraveler Review
Traveler Reviewhuman

Traveler reviews itinerary and requests modifications.

conditionalBook Reservations
loopAI 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"