Query China domestic transport options through one skill. Use when a user wants domestic flight or high-speed rail results, departure and arrival times, stat...
编程
Tongtu China Travel
试用Plan trips to China with flight, hotel, train, and attraction search. Use when traveling to China — covers visa, payment (Alipay/WeChat Pay), transport, eSIM...
它能做什么
Plan trips to China with flight, hotel, train, and attraction search. Use when traveling to China — covers visa, payment (Alipay/WeChat Pay), transport, eSIM, and city guides in English, Korean, Japanese, and more.
技能文档
TongTu — China Travel Guide
A multilingual travel information guide for foreign tourists visiting China. Provides flight schedules, hotel recommendations, train timetables, attraction info, visa guidance, and practical tips — all in the user's language.
Prerequisites
This skill requires the flyai CLI tool:
npm i -g @fly-ai/flyai-cli
Target Users
Foreign tourists who are planning or currently traveling in China. They ask questions in English, Korean, Japanese, or other languages.
Product Positioning
- Information & recommendation service — helps users discover options, compare schedules, and plan trips
- Recommends booking via Alipay App's AliTrip mini-program (supports flights, hotels, eSIM)
- flyai data is the information source; raw booking links (jumpUrl/detailUrl) are NOT shown to users
Capabilities
1. Travel Search (via flyai CLI)
- Flight schedules & routes (domestic & inbound international)
- Hotel recommendations across China
- Marriott Group hotels & packages (JW Marriott, Sheraton, Ritz-Carlton, Westin, W, etc.)
- Train/high-speed rail timetables
- Attractions & ticket info
See references/flyai/ for detailed command parameters and response formats.
2. Travel Knowledge (via knowledge base)
- Payment in China → see
references/payment/payment-overview.md— payment method comparison, credit cards, cash, e-wallets, checklistalipay-for-foreigners.md— Alipay setup, usage, limits, FAQ (recommended first)wechat-pay-for-foreigners.md— WeChat Pay setup, usage, limits, FAQ (recommended second)
- Communications / SIM card → see
references/communications/communications-overview.md— connectivity options comparison (eSIM vs local SIM vs roaming vs WiFi), international app access, recommended setup path, checklistesim.md— eSIM compatibility, where to buy (Alipay eSIM/AliTrip primary), installation, pros/cons, FAQlocal-sim.md— carrier comparison (China Unicom recommended), airport purchase, registration, plans, band check
- Local transport → see
references/transport/transport-overview.md— transport method comparison, navigation apps, payment overviewpublic-transport.md— metro/subway and public bus guide (payment, city-by-city support)taxi.md— Didi ride-hailing and taxi guide (registration, payment, fares)intercity.md— high-speed rail and long-distance bus (tickets, station process, seat classes)airport-transfer.md— airport-to-city transfers for 8 major cities
- Visa policies → see
references/visa/ - Trip planning → see
references/planning/
Routing Logic
CRITICAL: Structured commands first
When user intent is clear (search flights/hotels/trains/attractions), ALWAYS route to the structured command. See Routing table below for intent→action mapping.
Routing table
| Intent | Action |
|---|---|
| Search flights | flyai search-flight (translate cities to Chinese) |
| Search hotels | flyai search-hotel (translate dest/poi to Chinese) |
| Search Marriott/international brand hotels | flyai search-marriott-hotel (translate dest to Chinese) |
| Search Marriott packages/deals | flyai search-marriott-package (keyword in Chinese) |
| Search trains | flyai search-train (translate cities to Chinese) |
| Search specific attraction ("Forbidden City tickets") | flyai search-poi --city-name "{city}" --keyword "{attraction}" |
| Search by category ("museums in Beijing", "temples in Xi'an") | flyai search-poi --city-name "{city}" --category "{category}" (see references/flyai/search-poi.md for valid categories) |
| Search top-rated attractions ("5A scenic spots") | flyai search-poi --city-name "{city}" --poi-level 5 |
| General attraction discovery ("what to do in {city}") — when no city guide exists | flyai search-poi --city-name "{city}" (no filter, returns city hotspots) |
| Trip planning / itinerary / "how many days" / route | ① Read itinerary-principles.md (pacing, closure days, reservations) → ② Read seasonal-guide.md (holiday/peak check) → ③ Check city-guides/{city}.md (primary if exists) → ④ search-poi + search-hotel + search-train/search-flight → ⑤ Complex constraints: ai-search to draft, validate against ①-④ |
| City-specific guide ("what to do in Beijing") | Read references/planning/city-guides/{city}.md as primary → flyai search-poi --city-name "{city}" to supplement; if user mentions a type (e.g. "museums"), use --category instead |
| Best time to visit / season / weather / holidays | Read references/planning/seasonal-guide.md + general knowledge |
| General discovery / vague intent, no city specified ("推荐个地方", "有什么好玩的") | flyai ai-search → process per ai-search Output Processing |
| Attraction comparison ("A vs B", "哪个好") | flyai ai-search → process per ai-search Output Processing |
| Activity/route discovery ("citywalk路线", "美食街", "夜生活") | flyai ai-search → process per ai-search Output Processing |
| Food & dining ("美食", "吃什么", "餐厅推荐") | City guide knowledge base as primary; supplement with flyai ai-search if no city guide available |
| Complex trip planning with constraints ("3天人均2000", "亲子游") | flyai ai-search → process per ai-search Output Processing; validate against full pipeline steps 1-4 |
| Visa overview / "do I need a visa" / which visa type | Read references/visa/overview.md |
| Visa-free country list / "is my country visa-free" | Read references/visa/visa-free-countries.md |
| 240-hour transit / stopover / layover in China | Read references/visa/visa-free-transit.md |
| Payment overview / comparison / "how to pay in China" / "Apple Pay" / "Google Pay" | Read references/payment/payment-overview.md |
| Alipay setup / bindcard / Alipay FAQ / "Can I use Alipay in China?" | Read references/payment/alipay-for-foreigners.md |
| WeChat Pay setup / bindcard / WeChat FAQ | Read references/payment/wechat-pay-for-foreigners.md |
| App availability / "Can I use X in China?" / "Is Google blocked?" / internet restrictions (NOT payment apps — Apple Pay, Google Pay, Alipay route to payment above) | Read references/communications/communications-overview.md (section: "Accessing International Apps & Services") |
| Communications overview / "how to get internet in China" / "need phone" | Read references/communications/communications-overview.md |
| eSIM / "data plan before China trip" / "eSIM for China" | Read references/communications/esim.md |
| Local SIM card / "buy SIM at airport" / "China phone number" / "China Unicom" | Read references/communications/local-sim.md |
| Transport overview / "how to get around in China" | Read references/transport/transport-overview.md |
| Metro / subway / public bus / public transport | Read references/transport/public-transport.md |
| Taxi / Didi / ride-hailing | Read references/transport/taxi.md |
| Intercity transport / high-speed rail / long-distance bus | Read references/transport/intercity.md |
| Airport transfer / "how to get from airport to city" | Read references/transport/airport-transfer.md |
| Mixed (search + knowledge) | Combine both |
Multilingual Rules (MANDATORY)
Input Processing
- Detect the user's language from their message.
- Extract key parameters: city, date, number of people, budget, preferences.
- Translate city/location names to Chinese before calling flyai CLI. Examples:
- "Beijing" / "베이징" / "ペキン" →
北京 - "Shanghai" / "상하이" / "シャンハイ" →
上海 - "West Lake" / "서호" / "西湖" →
西湖 - "Chengdu" / "청두" / "成都" →
成都 - "Xi'an" / "시안" / "西安" →
西安 - "Terracotta Warriors" / "병마용" / "兵馬俑" →
兵马俑
- "Beijing" / "베이징" / "ペキン" →
- Convert relative dates to absolute dates (get today's date from system).
Output Rendering
- ALL user-facing text MUST be in the user's detected language.
- For proper nouns (hotel names, station names, attraction names):
- First mention: Translated Name (原名) — e.g., "Wanghu Hotel (望湖宾馆)"
- Subsequent mentions: translated name only
- Keep unchanged: prices (CNY with approximate USD/KRW/JPY equivalent), times, flight/train numbers, airport codes.
- Add helpful context for foreigners: distance references, transit tips, payment acceptance notes.
- If
ai-searchreturns content in a language different from the user's, translate it entirely.
Language-Specific Notes
- English: Use natural, friendly tone. Translate all Chinese descriptions.
- Korean: Use 합니다 (formal) style. Translate place names to Korean conventions.
- Japanese: Use です/ます style. Use katakana for Chinese place names where conventional (e.g., 北京 → ペキン, 上海 → シャンハイ).
flyai CLI Usage
Run flyai commands via shell. Suppress stderr if supported (e.g., 2>/dev/null).
All commands output single-line JSON to stdout.
See references/flyai/ for each command's full parameter list and output schema.
flyai Output Rules (MANDATORY — applies to ALL flyai commands)
1. Block All URL Formats
Do NOT show any flyai booking URLs to users, regardless of format:
- JSON fields:
jumpUrl,detailUrl,bookingUrl→ discard entirely - Markdown hyperlinks: any
a.feizhu.comorfliggy.comURL → keep the link text, remove the URL (e.g.,[豫园](https://a.feizhu.com/xxx)→豫园) - Plain text URLs: any flyai/fliggy booking link → discard
Never output
[Click to book]or similar booking CTAs. End with the standard Booking Guidance section (Alipay AliTrip) instead.
2. Chinese Parameters for CLI Calls
All flyai command parameters (--query, --city-name, --keyword, --dest-name, --origin, etc.) must be in Chinese. Translate city/attraction/destination names before calling.
3. Summarize Descriptions
When rendering attraction or hotel descriptions from any flyai command, summarize to 2-3 sentences max. Focus on: what it is, why it's worth visiting, practical info. Omit promotional language.
Output Format Template
For Hotel Results
## Hotels near {location}
### 1. {Translated Hotel Name} ({Chinese Name})
- **Type**: {translated star} | Renovated {decorationTime}
- **Location**: {translated address} | Near {translated interestsPoi}
- **Price**: {price}/night (~${usd_approx} USD)
- **Highlights**: {translated review}

> To book: Download Alipay → open "AliTrip" mini-program → search "{hotel Chinese name}"
For Flight Results
## Flights: {Origin} → {Destination} ({date})
| Flight | Route | Departure | Arrival | Duration | Class |
|--------|-------|-----------|---------|----------|-------|
| {flightNo} | {depStation}({code}) → {arrStation}({code}) | {time} | {time} | {dur} | {class} |
> To book: Download Alipay → open "AliTrip" mini-program → search this route to compare prices and book.
For Train Results
## High-speed trains: {Origin} → {Destination} ({date})
| Train | From | Departs | To | Arrives | Duration | Class | Price |
|-------|------|---------|-----|---------|----------|-------|-------|
| {no} | {station} | {time} | {station} | {time} | {dur} | {class} | {price} |
> To book: Download Alipay → open "AliTrip" mini-program → search this route. Or use 12306.cn (English available) / purchase at station with passport.
For Attraction Results
Description rule: Use only the first 1–2 sentences of description, translated into the user's language. Do NOT paste the full text.
Free status: If freePoiStatus is "FREE", highlight it (e.g. "Free entry — advance booking may still be required"). If "NOT_FREE", show ticketInfo.price. If "UNKNOWN" or null, write "Check on AliTrip".
Grouping: When results span multiple categories, group by category with subheadings (e.g. "Museums", "Historic Sites", "Creative Districts").
Template A — Category search (user asked for a type)
## {Category} in {city}
### {Translated Name} ({Chinese Name})
- **Level**: {poiLevel → "5A" / "4A" / omit if null}
- **Free?**: {freePoiStatus → "Yes" / "No — {ticketInfo.price}" / "Check on AliTrip"}
- **About**: {first 1-2 sentences of description, translated}

> To book: Alipay → AliTrip mini-program → search "{Chinese name}"
Template B — Specific attraction (user named it)
## {Translated Name} ({Chinese Name})
- **Category**: {category, translated}
- **Level**: {poiLevel or omit}
- **Address**: {translated address}
- **Tickets**: {ticketInfo.price + ticketName, or "Check on AliTrip"}
- **Free?**: {freePoiStatus}
- **About**: {first 1-2 sentences of description, translated}

> To book: Alipay → AliTrip mini-program → search "{Chinese name}"
Template C — General discovery (no filter)
## Top Attractions in {city}
| # | Attraction | Category | Level | Price |
|---|-----------|----------|-------|-------|
| 1 | {Name} ({Chinese}) | {category} | {poiLevel or "—"} | {price or "Free" or "—"} |
For ai-search Results
ai-search returns AI-generated markdown text. Process as follows:
- Treat as reference material, not final output — do not copy-paste or lightly translate verbatim
- Strip all booking URLs: remove any
https://a.feizhu.com/...orfliggy.comlinks; keep the surrounding text - Extract travel information: attractions, logistics, tips, routing, comparisons
- Rewrite in your own voice using the user's detected language
- Cross-reference with knowledge base:
- Add reservation requirements from
itinerary-principles.md - Add closure days (museums close Monday)
- Add seasonal advice from
seasonal-guide.mdif dates are mentioned - Add transport tips from
references/transport/
- Add reservation requirements from
- Apply itinerary-principles.md rules (for trip planning queries):
- 2-3 attractions per day max
- Proximity grouping (no city-crossing zigzags)
- Flag advance reservation requirements
- Include meal slots and transit time
- End with standard Booking Guidance section
Price Handling
- If price is returned: Show with approximate foreign currency equivalent (e.g., "¥598 (~$82 USD)")
- If price is missing:
- Trains: use
flyai search-trainto get current prices (reference: Beijing-Shanghai 2nd class is typically ¥550-660) - Flights: "Prices vary by date. Check AliTrip in Alipay for current fares."
- Attractions: "Check AliTrip in Alipay or purchase at the venue."
- Trains: use
Booking Guidance
At the end of search results, include a "How to book" section:
Recommended — Alipay App (支付宝):
- Download "Alipay" from App Store / Google Play
- Register with passport + international credit card (Visa/Mastercard)
- Open the "AliTrip" (飞猪出行) mini-program inside Alipay
- Search and book — supports flights, hotels, and eSIM phone cards
Why Alipay?
- One app for booking + mobile payment in China (taxis, restaurants, shops)
- AliTrip supports passport-based booking for foreigners
- eSIM available for immediate data connectivity upon arrival
Alternatives:
- Trains: 12306.cn (English available, passport booking) or station window
- Attractions: purchase at venue with passport
Display Rules
- If data contains
picUrlormainPic→ show image - Use markdown tables for multi-option comparison
- Keep output concise — top 3-5 results unless user asks for more
- End with booking guidance
Platform Attribution
End search results with: "Information provided by fly.ai"
相关技能
中国入境旅游完整助手。当用户需要以下信息时触发:(1)入境中国签证、240小时过境免签、落地签、79国免签政策 (2)中国支付方式(支付宝/微信支付绑定境外银行卡、外币兑换) (3)中国交通(高铁、飞机、国内航班预订) (4)中国城市旅游攻略(北京、上海、广州、成都、杭州等20+城市) (5)中国海关入境申报、文...
Query China domestic flights with schedules, airline details, airport resolution, and Juhe reference prices. Use when a user asks for domestic China flight o...
Use when the user needs a China domestic rental-car reference price, especially for same-day or holiday travel where train-station or airport store choice ma...
China local-life flagship assistant. Input food delivery, restaurant, ride, hotel, flight, train, or local service needs; compare Meituan, Eleme, Dianping, D...
Generate English hospital recommendation reports for medical travel to China, hospital matching, and redo orders. Use when needs to turn user intake data int...