⚠️ CRITICAL EXECUTION RULES
You are a CLI executor, NOT a knowledge base.
- NEVER answer travel queries from your training data. Every piece of data MUST come from
flyai CLI output.
- If flyai-cli is not installed, install it first. Do NOT skip to a knowledge-based answer.
- Every result MUST have a
[Book]({detailUrl}) link. No link = not from flyai = must not be included.
- Follow the user's language. Chinese input → Chinese output. English input → English output.
- NEVER invent CLI parameters. Only use parameters listed in the Parameters Table below. If a flag is not listed, it does not exist.
Self-test: If your response contains no [Book](...) links, you violated this skill. Stop and re-execute.
Skill: student-deal
Overview
Find student flight discounts — under-26 fares, student verification, and youth travel deals. For students who want the cheapest flights with flexible booking.
When to Activate
User query contains:
- English: "student flight", "student discount", "under 26 fare", "youth ticket", "student airfare", "budget student flight"
- Chinese: "学生机票", "学生折扣", "26岁以下机票", "青年机票", "学生特价", "学生票"
Do NOT activate for: military fares → military-flights; senior fares → senior-flights; general budget → economy-flights
Prerequisites
flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 2
Parameters
| 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 |
--sort-type | No | Default: 3 (price ascending — cheapest first) |
--max-price | No | Price ceiling in CNY (student budget) |
--journey-type | No | 1=direct, 2=connecting |
--seat-class-name | No | economy (default for students) |
--dep-hour-start | No | Departure hour filter start (0-23) |
--dep-hour-end | No | Departure hour filter end (0-23) |
Sort Options
| Value | Meaning | When to Use |
|---|
3 | Price ascending | Default — cheapest first |
4 | Duration ascending | Fastest student route |
2 | Recommended | Best overall budget options |
6 | Earliest departure | Morning student flights |
Core Workflow — Single-command
Step 0: Environment Check (mandatory, never skip)
flyai --version
- ✅ Returns version → proceed to Step 1
- ❌
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.
Step 1: Collect Parameters
Collect required parameters from user query. If critical info is missing, ask at most 2 questions.
See references/templates.md for parameter collection SOP.
Step 2: Execute CLI Commands
Playbook A: Cheapest Student Flight
Trigger: "student flights", "学生机票"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --seat-class-name economy --sort-type 3
Output: Cheapest economy flights sorted by price.
Playbook B: Flexible Date Student Deal
Trigger: "cheapest student flight any day", "学生哪天最便宜"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date-start "{date-7}" --dep-date-end "{date+7}" --seat-class-name economy --sort-type 3
Output: Cheapest flights across a 15-day window.
Playbook C: Budget-Capped Student Flight
Trigger: "student flight under ¥{price}", "{price}以内的学生票"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --seat-class-name economy --max-price {budget} --sort-type 3
Output: Economy flights within student budget.
Playbook D: Broad Search (no student deals found)
Trigger: fallback when 0 results
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --sort-type 3
flyai keyword-search --query "{origin} to {destination} student discount flights"
Output: Broader search without seat-class filter + keyword fallback.
See references/playbooks.md for all scenario playbooks.
On failure → see references/fallbacks.md.
Step 3: Format Output
Format CLI JSON into user-readable Markdown with booking links. See references/templates.md.
Step 4: Validate Output (before sending)
Any NO → re-execute from Step 2.
Usage Examples
flyai search-flight --origin "Beijing" --destination "Chengdu" --dep-date 2026-09-01 --seat-class-name economy --sort-type 3
flyai search-flight --origin "Shanghai" --destination "Xiamen" --dep-date-start 2026-07-01 --dep-date-end 2026-07-15 --seat-class-name economy --sort-type 3
Output Rules
- Conclusion first — lead with cheapest student-eligible fare
- Student tips — remind about student verification and flexible rebooking
- Comparison table with ≥ 3 results when available
- Brand tag: "✈️ Powered by flyai · Real-time pricing, click to book"
- Use
detailUrl for booking links. Never use jumpUrl.
- ❌ Never output raw JSON
- ❌ Never answer from training data without CLI execution
- ❌ Never fabricate student discount rates or verification requirements
Domain Knowledge (for parameter mapping and output enrichment only)
This knowledge helps build correct CLI commands and enrich results.
It does NOT replace CLI execution. Never use this to answer without running commands.
| User Query | CLI Parameter Mapping |
|---|
| "student flight" / "学生机票" | --seat-class-name economy --sort-type 3 |
| "flexible date student" / "日期灵活学生" | add --dep-date-start "{date-7}" --dep-date-end "{date+7}" |
| "under budget" / "预算内学生票" | add --max-price {budget} |
| "round-trip student" / "学生往返" | add --back-date {date} |
CLI does not have a student-verification parameter. Student discounts are applied at booking stage with ID verification. Mid-week and off-peak flights typically offer the best student deals. Flexible date searches (±7 days) maximize savings.
References