> ## Documentation Index
> Fetch the complete documentation index at: https://docs.canadava.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Explore the Virtual Air Canada Airline knowledge base for pilot guides, ASOPs, checklists, flight booking, and community resources

export const Airports = ({airports = [], title = "Canadian Airport Briefings", labels = {}}) => {
  const DEFAULT_LABELS = {
    hub: "Hub",
    regional: "Regional",
    liveLabel: "VATSIM",
    liveTitle: "VATSIM ATIS broadcasting now"
  };
  const mergedLabels = {
    ...DEFAULT_LABELS,
    ...labels
  };
  const [liveIcaos, setLiveIcaos] = useState(() => new Set());
  useEffect(() => {
    let cancelled = false;
    const fetchAtisFeed = async () => {
      try {
        const res = await fetch("https://data.vatsim.net/v3/vatsim-data.json", {
          cache: "no-store"
        });
        if (!res.ok) return;
        const json = await res.json();
        const all = Array.isArray(json.atis) ? json.atis : [];
        const live = new Set();
        for (const a of all) {
          const cs = (a.callsign || "").toUpperCase();
          const m = cs.match(/^([A-Z]{4})(?:_[AD])?_ATIS$/);
          if (m) live.add(m[1]);
        }
        if (!cancelled) setLiveIcaos(live);
      } catch (_) {}
    };
    fetchAtisFeed();
    const interval = setInterval(fetchAtisFeed, 60 * 1000);
    return () => {
      cancelled = true;
      clearInterval(interval);
    };
  }, []);
  const typeKey = type => {
    const t = (type || "").toLowerCase();
    if (t.includes("hub") || t.includes("plaque") || t.includes("focus")) return "hub";
    if (t.includes("regional") || t.includes("régional") || t.includes("capital")) return "regional";
    return "default";
  };
  const typeLabel = k => {
    if (k === "hub") return mergedLabels.hub;
    if (k === "regional") return mergedLabels.regional;
    return "";
  };
  const TypeIcon = ({k}) => {
    const svgProps = {
      width: 14,
      height: 14,
      viewBox: "0 0 24 24",
      fill: "none",
      stroke: "currentColor",
      strokeWidth: 2,
      strokeLinecap: "round",
      strokeLinejoin: "round",
      "aria-hidden": true
    };
    switch (k) {
      case "hub":
        return <svg {...svgProps}>
            <path d="M16 10h4a2 2 0 0 1 0 4h-4l-4 7h-3l2-7H6l-2 2H1l2-4-2-4h3l2 2h5l-2-7h3z" />
          </svg>;
      case "regional":
        return <svg {...svgProps}>
            <path d="M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z" />
          </svg>;
      default:
        return <svg {...svgProps}>
            <rect x="3" y="3" width="18" height="18" rx="2" />
          </svg>;
    }
  };
  const ChevronIcon = () => <svg width={16} height={16} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth={2} strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
      <polyline points="9 18 15 12 9 6" />
    </svg>;
  return <div className="kb-airports">
      <div className="kb-airports-header">
        <span className="kb-airports-eyebrow">{title}</span>
      </div>
      <div className="kb-airports-list">
        {airports.map((airport, i) => {
    const k = typeKey(airport.type);
    const sublabel = typeLabel(k);
    const isLive = airport.icao && liveIcaos.has(airport.icao.toUpperCase());
    return <a key={`a-${i}`} href={airport.href} className="kb-airports-row" data-type={k}>
              <span className="kb-airports-icon" aria-hidden="true">
                <TypeIcon k={k} />
              </span>
              <div className="kb-airports-text">
                <div className="kb-airports-name">
                  <span className="kb-airports-name-label">{airport.name}</span>
                  {airport.icao && <span className="kb-airports-icao">{airport.icao}</span>}
                  {isLive && <span className="kb-airports-live" title={mergedLabels.liveTitle}>
                      <span className="kb-airports-live-dot" aria-hidden="true" />
                      <span className="kb-airports-live-label">
                        {mergedLabels.liveLabel}
                      </span>
                    </span>}
                </div>
                {airport.description && <div className="kb-airports-description">
                    {airport.description}
                  </div>}
              </div>
              <div className="kb-airports-type-col">
                {sublabel && <span className="kb-airports-sublabel">{sublabel}</span>}
              </div>
              <span className="kb-airports-chevron" aria-hidden="true">
                <ChevronIcon />
              </span>
            </a>;
  })}
      </div>
    </div>;
};

## Getting Started

New to Virtual Air Canada Airline? These resources will help you begin your virtual flying career:

<Columns cols={2}>
  <Tile href="/get-started/vaca-quickstart" title="New Pilot Quickstart" description="Get up and running as a new vACA pilot in under 3 minutes">
    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/get-started.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=c816a2969bc1a6f6b7a504016d3760ad" alt="New Pilot Quickstart" className="block dark:hidden" width="1550" height="966" data-path="images/tiles/get-started.png" />

    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/get-started-dark.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=504b92c36bd991581a95469d1d21bf94" alt="New Pilot Quickstart" className="hidden dark:block" width="1550" height="966" data-path="images/tiles/get-started-dark.png" />
  </Tile>

  <Tile href="/get-started/download-software" title="Download Software" description="Install the required software for your virtual flying career">
    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/software.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=84d52c2cbcfa5e66b085722d09275797" alt="Download Software" className="block dark:hidden" width="1550" height="966" data-path="images/tiles/software.png" />

    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/software-dark.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=342f77cee0ddad5549e6a78aa93c014c" alt="Download Software" className="hidden dark:block" width="1550" height="966" data-path="images/tiles/software-dark.png" />
  </Tile>

  <Tile href="/get-started/faq" title="Frequently Asked Questions" description="Find answers to common questions about Virtual Air Canada Airline">
    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/faq.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=c35f0bdac4981568c266787a7ace2498" alt="Frequently Asked Questions" className="block dark:hidden" width="1550" height="966" data-path="images/tiles/faq.png" />

    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/faq-dark.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=b16c598bbbcdc2f81df3fbcf6b260855" alt="Frequently Asked Questions" className="hidden dark:block" width="1550" height="966" data-path="images/tiles/faq-dark.png" />
  </Tile>

  <Tile href="/updates/changelog" title="Updates" description="Stay up to date with the latest changes and features">
    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/changelog.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=76c98a3008894868374317e3a80851a6" alt="Updates" className="block dark:hidden" width="1550" height="966" data-path="images/tiles/changelog.png" />

    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/changelog-dark.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=63e1dc1d0a4654ac9f0b6be4e888bc30" alt="Updates" className="hidden dark:block" width="1550" height="966" data-path="images/tiles/changelog-dark.png" />
  </Tile>

  <Tile href="/get-started/rank-transfer" title="Rank Transfer" description="Transfer your experience from another virtual airline">
    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/rank-transfer.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=6f7410fb239c5a0a75e0ae53cfe212dd" alt="Rank Transfer" className="block dark:hidden" width="1550" height="966" data-path="images/tiles/rank-transfer.png" />

    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/rank-transfer-dark.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=2d6d22219b757b994abcdbd836ec0d6b" alt="Rank Transfer" className="hidden dark:block" width="1550" height="966" data-path="images/tiles/rank-transfer-dark.png" />
  </Tile>

  <Tile href="/updates/routes" title="Route Updates" description="Learn about the latest routes and updates">
    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/updates.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=f0ec7cac5f558b8b6dfac3e6df8f6f51" alt="Route Updates" className="block dark:hidden" width="1550" height="966" data-path="images/tiles/updates.png" />

    <img src="https://mintcdn.com/virtualaircanada/JpNxrPVg0ZvbH3-l/images/tiles/updates-dark.png?fit=max&auto=format&n=JpNxrPVg0ZvbH3-l&q=85&s=f501937d9cae719332d04a102c5be042" alt="Route Updates" className="hidden dark:block" width="1550" height="966" data-path="images/tiles/updates-dark.png" />
  </Tile>
</Columns>

## Essential Resources

Learn about the core systems and procedures for vACA pilots:

<CardGroup cols={2}>
  <Card title="Pilot One-pager" icon="clipboard-list" href="/essentials/pilot-onepager" cta="Learn More">
    Quick reference guide for essential pilot operations
  </Card>

  <Card title="Pegasus ACARS" icon="location-dot" href="/essentials/acars-guide" cta="Learn More">
    Learn how to use the flight tracking software
  </Card>

  <Card title="Pilot Hub" icon="desktop" href="/essentials/pilot-hub" cta="Learn More">
    Master the central pilot management application
  </Card>

  <Card title="Booking Flights" icon="calendar" href="/essentials/booking-flights" cta="Learn More">
    Learn how to book and prepare for your flights
  </Card>

  <Card title="Active VATSIM Airports" icon="radio" href="/aops/airports/active-atis" cta="Learn More">
    Live VATSIM ATIS coverage across vACA's seven Canadian airports
  </Card>

  <Card title="Pilot Ranks" icon="ranking-star" href="/operations/ranks" cta="Learn More">
    Understand the rank structure and career progression
  </Card>

  <Card title="Accepted Aircraft" icon="plane" href="/aircraft/accepted-aircraft" cta="Learn More">
    Learn about the aircraft that are accepted in Virtual Air Canada Airline
  </Card>

  <Card title="Accepted Liveries" icon="plane" href="/aircraft/accepted-liveries" cta="Learn More">
    Learn about the aircraft that are accepted in Virtual Air Canada Airline
  </Card>
</CardGroup>

## Canadian Airport Briefings

<Airports
  title="Canadian Airport Briefings"
  airports={[
{ type: "hub", icao: "CYYZ", name: "Toronto Pearson", href: "/aops/airports/toronto-pearson", description: "Canada's busiest field, parallel ops on five runways" },
{ type: "hub", icao: "CYUL", name: "Montréal-Trudeau", href: "/aops/airports/montreal-trudeau", description: "Bilingual ATC, twin parallel runways" },
{ type: "hub", icao: "CYVR", name: "Vancouver", href: "/aops/airports/vancouver-international", description: "Sea Island location, terrain and coastal fog" },
{ type: "hub", icao: "CYYC", name: "Calgary", href: "/aops/airports/calgary-international", description: "Hot-and-high prairie, chinook crosswinds" },
{ type: "regional", icao: "CYOW", name: "Ottawa", href: "/aops/airports/ottawa", description: "National capital, bilingual ATC" },
{ type: "regional", icao: "CYEG", name: "Edmonton", href: "/aops/airports/edmonton", description: "Cold-weather ops, intersecting runways" },
{ type: "regional", icao: "CYHZ", name: "Halifax", href: "/aops/airports/halifax", description: "Transatlantic widebody gateway, coastal fog" }
]}
/>

## Aircraft Checklists

Standard checklists for each aircraft type in the vACA fleet:

<Columns cols={2}>
  <Tile href="/aops/checklists/a220" title="A220-300 Checklist" description="Airbus A220-300 normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/a-220.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=316c488d388d247c6306eb57e8ba6a97" alt="Airbus A220-300" width="800" height="460" data-path="images/aops/fleet/a-220.png" />
  </Tile>

  <Tile href="/aops/checklists/a320" title="A320 Series Checklist" description="Airbus A320 series normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/a-320.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=8bae4d49a1cdeb32bc82a38e4f309381" alt="Airbus A320" width="800" height="460" data-path="images/aops/fleet/a-320.png" />
  </Tile>

  <Tile href="/aops/checklists/a330" title="A330-300 Checklist" description="Airbus A330-300 normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/A333.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=79c2655e1070f94b0b256b59106e6d17" alt="Airbus A330-300" width="800" height="460" data-path="images/aops/fleet/A333.png" />
  </Tile>

  <Tile href="/aops/checklists/b737max" title="737 MAX 8 Checklist" description="Boeing 737 MAX 8 normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/b-737.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=2af54bb9917536c5a2309c382549115e" alt="Boeing 737 MAX 8" width="800" height="460" data-path="images/aops/fleet/b-737.png" />
  </Tile>

  <Tile href="/aops/checklists/b777-200lr" title="777-200LR Checklist" description="Boeing 777-200LR normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/b-777-200.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=877f9a0847df09850509767f7903eeec" alt="Boeing 777-200LR" width="800" height="460" data-path="images/aops/fleet/b-777-200.png" />
  </Tile>

  <Tile href="/aops/checklists/b777-300er" title="777-300ER Checklist" description="Boeing 777-300ER normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/b-777-er.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=e80c92565960eedddf162bcb130397b3" alt="Boeing 777-300ER" width="800" height="460" data-path="images/aops/fleet/b-777-er.png" />
  </Tile>

  <Tile href="/aops/checklists/q400" title="Dash 8-400 Checklist" description="De Havilland Dash 8-400 normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/dh4.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=a7e34a8fab9e8a4c1ab5b27d246b0042" alt="De Havilland Dash 8-400" width="800" height="460" data-path="images/aops/fleet/dh4.png" />
  </Tile>

  <Tile href="/aops/checklists/crj900" title="CRJ-900 Checklist" description="Bombardier CRJ-900 normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/crj900.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=88c4f5e70034299c55fbeb7aae882d41" alt="Bombardier CRJ-900" width="800" height="460" data-path="images/aops/fleet/crj900.png" />
  </Tile>

  <Tile href="/aops/checklists/e175" title="E175 Checklist" description="Embraer E175 normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/e75.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=0f3865a47da063265c812fbf33a6e870" alt="Embraer E175" width="800" height="460" data-path="images/aops/fleet/e75.png" />
  </Tile>

  <Tile href="/aops/checklists/b787-9" title="787-9 Checklist" description="Boeing 787-9 Dreamliner normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/b-787-9.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=ccf6bda6f2128a493a32bb07699ac26a" alt="Boeing 787-9 Dreamliner" width="800" height="460" data-path="images/aops/fleet/b-787-9.png" />
  </Tile>

  <Tile href="/aops/checklists/b787-8" title="787-8 Checklist" description="Boeing 787-8 Dreamliner normal and abnormal checklists">
    <img src="https://mintcdn.com/virtualaircanada/iQJB1gDJzxYoDw5J/images/aops/fleet/b-787.png?fit=max&auto=format&n=iQJB1gDJzxYoDw5J&q=85&s=808d06050baa5b34e558e60d513dac13" alt="Boeing 787-8 Dreamliner" width="800" height="460" data-path="images/aops/fleet/b-787.png" />
  </Tile>
</Columns>

## vACA Community

Virtual Air Canada Airline is more than just flying - it's a community of aviation enthusiasts:

* **Discord**: Join our [active Discord server](https://links.canadava.com/kgNgqfb) for real-time communication
* **Events**: Participate in group flights and special operations
* **Training**: Access mentorship from experienced pilots (coming soon)

## Airline Standard Operating Procedures (ASOPs)

<CardGroup cols={2}>
  <Card title="Executive Overview" icon="book-open" href="/aops/overview/executive-overview">
    Key objectives and introduction to Virtual Air Canada Airline ASOPs
  </Card>

  <Card title="Governance & Responsibility" icon="scale-balanced" href="/aops/overview/governance">
    Regulatory basis, operational control, and manual hierarchy
  </Card>

  <Card title="Safety Culture & CRM" icon="shield" href="/aops/overview/safety-culture">
    Crew Resource Management and Threat & Error Management model
  </Card>

  <Card title="Flight‑Deck SOPs" icon="gauge-high" href="/aops/standard-procedures/flight-deck-sops">
    Standard operating procedures for normal flight operations
  </Card>

  <Card title="Abnormal & Emergency Procedures" icon="triangle-exclamation" href="/aops/standard-procedures/emergency-procedures">
    Procedures for handling abnormal situations and emergencies
  </Card>

  <Card title="Cabin Operations" icon="person-seat" href="/aops/standard-procedures/cabin-operations">
    Cabin-related procedures and safety protocols
  </Card>

  <Card title="Ground Handling & Ramp Safety" icon="plane-arrival" href="/aops/standard-procedures/ground-handling">
    Procedures for safe ground operations
  </Card>

  <Card title="Performance & Weight/Balance" icon="weight-scale" href="/aops/standard-procedures/performance">
    Aircraft performance calculations and weight & balance
  </Card>

  <Card title="Winter & Adverse Weather" icon="snowflake" href="/aops/standard-procedures/winter-operations">
    Operations in winter conditions and adverse weather
  </Card>

  <Card title="Security & Dangerous Goods" icon="lock" href="/aops/additional-resources/security">
    Security protocols and dangerous goods handling
  </Card>
</CardGroup>

## Need Help?

<CardGroup cols={2}>
  <Card title="Discord Community" icon="discord" href="https://links.canadava.com/kgNgqfb" cta="Join Discord" arrow={true}>
    Get answers to your questions in our active Discord community
  </Card>

  <Card title="Email Support" icon="envelope" href="mailto:support@canadava.com" cta="Contact Us" arrow={true}>
    Contact our support team for personalized assistance
  </Card>
</CardGroup>
