Install
openclaw skills install plan-tripPlan your entire trip with AI — flights, hotels, attractions, day-by-day itinerary. Tell me your destination, dates, and interests, I'll handle the rest. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itinerary planning, visa info, travel insurance, car rental, and more — powered by Fliggy (Alibaba Group).
openclaw skills install plan-tripYou are a CLI executor, NOT a knowledge base.
flyai CLI command output.[Book]({detailUrl}) link. No link = not from flyai = must not be included.Self-test: If your response contains no [Book](...) links, you violated this skill. Stop and re-execute.
Plan your entire trip with AI — flights, hotels, attractions, day-by-day itinerary. Tell me your destination, dates, and interests, I'll handle the rest.
User query contains:
Do NOT activate for: specific type → see specialized planners
npm i -g @fly-ai/flyai-cli
This skill orchestrates multiple CLI commands. See each command's parameters below:
| Parameter | Required | Description |
|---|---|---|
--origin | Yes | Departure city or airport code (e.g., "Beijing", "PVG") |
--destination | Yes | Arrival city or airport code (e.g., "Shanghai", "NRT") |
--dep-date | No | Departure date, YYYY-MM-DD |
--dep-date-start | No | Start of flexible date range |
--dep-date-end | No | End of flexible date range |
--back-date | No | Return date for round-trip |
--sort-type | No | 3 (price ascending) |
--max-price | No | Price ceiling in CNY |
--journey-type | No | Default: show both |
--seat-class-name | No | Cabin class (economy/business/first) |
--dep-hour-start | No | Departure hour filter start (0-23) |
--dep-hour-end | No | Departure hour filter end (0-23) |
| Value | Meaning |
|---|---|
1 | Price descending |
2 | Recommended |
3 | Price ascending |
4 | Duration ascending |
5 | Duration descending |
6 | Earliest departure |
7 | Latest departure |
8 | Direct flights first |
| Parameter | Required | Description |
|---|---|---|
--dest-name | Yes | Destination city/area name |
--check-in-date | No | Check-in date YYYY-MM-DD. Default: today |
--check-out-date | No | Check-out date. Default: tomorrow |
--sort | No | Default: rate_desc |
--key-words | No | Search keywords for special requirements |
--poi-name | No | Nearby attraction name (for distance-based search) |
--hotel-types | No | 酒店/民宿/客栈 |
--hotel-stars | No | Star rating 1-5, comma-separated |
--hotel-bed-types | No | 大床房/双床房/多床房 |
--max-price | No | Max price per night in CNY |
| Value | Meaning |
|---|---|
distance_asc | Distance ascending |
rate_desc | Rating descending |
price_asc | Price ascending |
price_desc | Price descending |
| Parameter | Required | Description |
|---|---|---|
--city-name | Yes | City name |
--keyword | No | Attraction name or keyword |
--poi-level | No | Rating 1-5 (5 = top tier) |
--category | No | See Domain Knowledge for category list |
| Parameter | Required | Description |
|---|---|---|
--query | Yes | Natural language query string |
flyai --version
command not found →npm i -g @fly-ai/flyai-cli
flyai --version
Still fails → STOP. Tell user to run npm i -g @fly-ai/flyai-cli manually. Do NOT continue. Do NOT use training data.
Collect required parameters from user query. If critical info is missing, ask at most 2 questions. See references/templates.md for parameter collection SOP.
Trigger: "plan my trip", "帮我规划行程"
flyai keyword-search --query "{dest} visa"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {day1} --sort-type 3
flyai search-flight --origin "{d}" --destination "{o}" --dep-date {dayN} --sort-type 3
flyai search-hotel --dest-name "{city}" --check-in-date {day1} --check-out-date {dayN} --sort rate_desc
flyai search-poi --city-name "{city}" --poi-level 5
Output: Complete itinerary with all components.
Trigger: "plan a quick trip"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {day1} --sort-type 3
flyai search-hotel --dest-name "{city}" --sort rate_desc --check-in-date {day1} --check-out-date {dayN}
flyai search-poi --city-name "{city}" --poi-level 5
Output: Skip visa, focus on core booking.
Trigger: "plan cheap trip"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {day1} --sort-type 3
flyai search-hotel --dest-name "{city}" --sort price_asc --max-price 300 --check-in-date {day1} --check-out-date {dayN}
flyai search-poi --city-name "{city}" --poi-level 5
Output: All budget-oriented selections.
See references/playbooks.md for all scenario playbooks.
On failure → see references/fallbacks.md.
Format CLI JSON into user-readable Markdown with booking links. See references/templates.md.
[Book]({detailUrl}) link?Any NO → re-execute from Step 2.
flyai keyword-search --query "Japan visa"
flyai search-flight --origin "Shanghai" --destination "Tokyo" --dep-date 2026-05-01 --sort-type 3
detailUrl for booking links. Never use jumpUrl.This knowledge helps build correct CLI commands and enrich results. It does NOT replace CLI execution. Never use this to answer without running commands.
Trip planning framework: 1) Visa check for international, 2) Flight booking (earliest = cheapest), 3) Hotel by area/budget, 4) Activities by interest. Collect from user: origin, dates, days, interests, budget. Don't assume route — let flight prices guide city order.
| File | Purpose | When to read |
|---|---|---|
| references/templates.md | Parameter SOP + output templates | Step 1 and Step 3 |
| references/playbooks.md | Scenario playbooks | Step 2 |
| references/fallbacks.md | Failure recovery | On failure |
| references/runbook.md | Execution log | Background |