Install
openclaw skills install travel-itinerary-builderComprehensive travel itinerary generator that creates detailed, multi-day trip plans with automatic weather forecasts, points of interest, restaurant recomme...
openclaw skills install travel-itinerary-builderGenerate comprehensive, print-ready travel itineraries with automatic integration of weather, places, dining, transportation, and budget planning.
This skill accesses sensitive data and requires external credentials:
gmail_parser.py script reads your Gmail messages to extract booking confirmationsGOG_KEYRING_PASSWORD environment variable (for GOG CLI authentication)places_fetcher.py script queries Google Places for attractionsGOOGLE_PLACES_API_KEY environment variable (free tier: 1000 requests/month)Before installing:
scripts/ directory# Generate itinerary from user input
python3 scripts/generate_itinerary.py \
--destination "Tokyo, Osaka, Kyoto" \
--start-date "2026-03-06" \
--end-date "2026-03-15" \
--language zh \
--output ./japan_trip.html
# Extract bookings from Gmail and generate itinerary
python3 scripts/gmail_parser.py \
--account rachelchoo1212@gmail.com \
--after "2026-03-01" \
--output ./bookings.json
python3 scripts/generate_itinerary.py \
--bookings ./bookings.json \
--destination "Tokyo, Osaka" \
--start-date "2026-03-06" \
--end-date "2026-03-15" \
--output ./trip.html
weather skill for daily forecastsgoplaces skill for attractions, restaurants, landmarksAsk user for:
If user has Gmail access configured:
python3 scripts/gmail_parser.py \
--account <email> \
--after <YYYY-MM-DD> \
--keywords "flight,hotel,booking,reservation,confirmation" \
--output bookings.json
This extracts:
Supported platforms: Agoda, Booking.com, Singapore Airlines, ANA, Trip.com, Klook, KKday
# Weather forecasts for each destination
python3 scripts/weather_fetcher.py \
--destinations "Tokyo,Osaka,Kyoto" \
--start-date "2026-03-06" \
--end-date "2026-03-15" \
--output weather.json
# Points of interest
python3 scripts/places_fetcher.py \
--destinations "Tokyo,Osaka,Kyoto" \
--interests "temples,food,shopping" \
--language zh \
--output places.json
python3 scripts/generate_itinerary.py \
--bookings bookings.json \
--weather weather.json \
--places places.json \
--start-date "2026-03-06" \
--end-date "2026-03-15" \
--budget 2000 \
--currency SGD \
--language zh \
--output japan_trip.html
# Export to PDF
python3 scripts/export_pdf.py japan_trip.html japan_trip.pdf
# Sync to Notion (if configured)
python3 scripts/sync_notion.py japan_trip.json
generate_itinerary.pyCore generator. Combines all data sources into a complete itinerary.
Arguments:
--destination: Comma-separated list of cities/regions--start-date: Trip start date (YYYY-MM-DD)--end-date: Trip end date (YYYY-MM-DD)--bookings: Path to bookings JSON (from gmail_parser.py)--weather: Path to weather JSON (from weather_fetcher.py)--places: Path to places JSON (from places_fetcher.py)--budget: Total budget amount (optional)--currency: Currency code (SGD, USD, JPY, etc.)--language: Output language (zh, en, ja, ko)--interests: Comma-separated tags (history, nature, food, shopping, concerts)--output: Output file path (.html, .md, or .json)gmail_parser.pyExtracts travel bookings from Gmail using GOG skill.
Requirements: GOG_KEYRING_PASSWORD environment variable
Arguments:
--account: Gmail account email--after: Start date for email search (YYYY-MM-DD)--keywords: Search keywords (default: "flight,hotel,booking,confirmation")--output: Output JSON fileweather_fetcher.pyFetches weather forecasts for destinations using weather skill.
Arguments:
--destinations: Comma-separated cities--start-date: Forecast start date--end-date: Forecast end date--output: Output JSON fileplaces_fetcher.pyQueries points of interest using goplaces skill.
Arguments:
--destinations: Comma-separated cities--interests: Activity tags (temples, museums, food, shopping)--language: Display language--output: Output JSON filetranslator.pyTranslates place names to multiple languages.
Arguments:
--text: Text to translate--source-lang: Source language code--target-langs: Comma-separated target language codes--output: Output JSON filebudget_calculator.pyEstimates trip costs based on destination, duration, and bookings.
Arguments:
--destination: Primary destination--days: Number of days--bookings: Path to bookings JSON--category: Budget category (budget, mid-range, luxury)--output: Output JSON fileexport_html.pyConverts itinerary JSON to styled HTML using template.
Arguments:
--input: Itinerary JSON file--template: HTML template (default: assets/itinerary_template.html)--output: Output HTML filePlace names are displayed in user language + local language:
东京塔 (東京タワー / Tokyo Tower)
和歌山城 (和歌山城 / Wakayama Castle)
Supported languages: Chinese (zh), English (en), Japanese (ja), Korean (ko)
Generated HTML includes:
This skill calls:
weather — Daily forecastsgoplaces — Attraction and restaurant searchgog — Gmail parsing (optional, requires GOG_KEYRING_PASSWORD)notion — Sync to Notion database (optional, requires Notion API key)brew install gogclibrew install steipete/tap/goplaces