Install
openclaw skills install @amurtiger01/ticket-price-compareCompare real-time flight and train ticket prices across major platforms with direct booking links, real-time train availability, and discount condition details.
openclaw skills install @amurtiger01/ticket-price-compareThis skill enables real-time comparison of flight and train ticket prices. It fetches real-time train availability via 12306 (no API key needed), and uses Firecrawl to render Ctrip JS pages for detailed flight data when FIRECRAWL_API_KEY is set. It also generates direct search links for all major booking platforms and WeChat mini program quick links for convenient mobile search. Tequila/Amadeus APIs are available as optional fallbacks for users who already have keys. Discount conditions and restrictions are clearly listed separately.
/v2/scrape API to render Ctrip's JavaScript-heavy flight search pagesFIRECRAWL_API_KEY environment variable. Register at firecrawl.devleftTicket/queryZ endpoint for real-time train availabilityqueryTicketPrice endpoint for actual fares per seat typeTEQUILA_API_KEY is set (registration may no longer be available)AMADEUS_CLIENT_ID + AMADEUS_CLIENT_SECRET are set (registration is closed)python scripts/ticket_search.py "<departure>" "<arrival>" "<date>" flight
python scripts/ticket_search.py "Beijing" "Shanghai" "2026-05-01" flightpython scripts/ticket_search.py "Shanghai" "Tokyo" "2026-06-15" flightData sources (in order of priority):
FIRECRAWL_API_KEY set) - Best quality: individual flights, times, aircraft, pricesCovered domestic platforms: Ctrip, Qunar, Fliggy, Tongcheng, Tuniu
Covered international platforms: Skyscanner, Google Flights, Kayak, Momondo, Expedia, Booking.com
Covered airline official sites: 10 Chinese + 13 international airlines
python scripts/ticket_search.py "<departure>" "<arrival>" "<date>" train
Real-time data from 12306: Returns actual train schedules with:
python scripts/ticket_search.py "<departure>" "<arrival>" "<date>" all
Train results are automatically excluded for international routes.
The script generates structured output with these sections (in order):
Always include the dedicated "Discount Conditions / Restrictions" section. Reference references/platforms_guide.md for detailed per-platform discount conditions. Load this file when:
Collect query parameters: Get departure city, arrival city, and travel date. If date not specified, ask. Default ticket type to "all".
Execute search: Run scripts/ticket_search.py with the parameters.
Present results: Show the complete output from the script. IMPORTANT: Do NOT summarize or omit train ticket price information. Always include:
二等座¥305(有) / 一等座¥488(12). This is real-time pricing data from 12306 and MUST be shown to the user.If no flight prices returned: Inform the user that real-time flight prices could not be fetched automatically, and recommend clicking the platform links to compare prices manually. Always mention that 12306 train data with real-time prices is available for domestic routes.
When user asks for "all" or combined search: Present train results and flight results side by side. Do NOT skip or truncate the train price table even when flight data is extensive.
If a user asks for "cheapest dates" or "price trends":
proxy: "basic" for optimal reliability with Chinese booking sites