# vAMSYS Documentation > Complete documentation for vAMSYS Virtual Airline Management System > Auto-generated from https://vamsys.co.uk/docs ## Table of Contents - Pilot Data & Marketing: /docs/pilot-data-and-marketing - Import/Export Best Practices: /docs/import-export-best-practices - Getting Started with vAMSYS: /docs/getting-started - Contributing to Community Docs: /docs/contributing-to-docs - PFPX AIRAC Validation: /docs/pfpx-airac-validation - Using Regex to Determine Flight Types: /docs/regex-flight-type - Aircraft Import/Export: /docs/aircraft-import-export - Fleet Import/Export: /docs/fleet-import-export - Airport Import/Export: /docs/airport-import-export - Route Import/Export: /docs/route-import-export - Routing Import/Export: /docs/routing-import-export - Load Factor Import/Export: /docs/loadfactor-import-export - Container Import/Export: /docs/container-import-export - Hub Import/Export: /docs/hub-import-export - Badge Import/Export: /docs/badge-import-export - Scenery Import/Export: /docs/scenery-import-export - PFPX Export: /docs/pfpx-export --- # Pilot Data & Marketing Manage marketing opt-ins and export subscriber data for email campaigns. The Marketing system lets pilots opt in to receive communications from your Virtual Airline. Opted-in subscribers can be exported for email campaigns, with built-in unsubscribe handling. **Airline Owners Only**: Access to marketing data is restricted to airline owners. The feature must also be enabled for your airline in settings. ## How Pilots Subscribe Pilots can opt in through several methods, all tracked in the system: - During registration - Checkbox on the signup form - Profile settings - Toggle in Phoenix under Profile → Settings - Dashboard prompt - Alert shown to pilots who have not opted in (can be dismissed) The toggle in Phoenix shows: "Allow [Airline Name] to contact you with news, events, and promotions. Your first name, last name, and email will be shared with the Virtual Airline for direct marketing purposes." ## Viewing Subscribers In Orwell, go to Pilots → Marketing. The stats overview shows: - Total subscribers - New subscribers (last 30 days) - Unsubscribes (last 30 days) - Net change - Breakdown by subscription method (registration vs profile) The table lists all opted-in pilots with their ID, name, email, subscription date, and how they subscribed. ## Exporting Subscribers Click Export Subscribers to download a CSV containing: - First name - Last name - Email address - Unique unsubscribe link The unsubscribe link is unique per pilot and does not require login. When clicked, vAMSYS immediately revokes their marketing consent. ## Unsubscribing Pilots Pilots can unsubscribe through: - Email link - The unsubscribe URL in your marketing emails - Profile settings - In Phoenix, pilots go to Profile → Settings and turn off the Marketing Communications toggle - Staff action - Use the Unsubscribe button on the Marketing page (individual or bulk) ## Usage Guidelines Click Usage Guidelines on the Marketing page for a quick reference. Key points: - Fresh export each time - Generate a new export before each campaign to respect recent unsubscribes - Individual emails only - Send one email per recipient with their unique unsubscribe link. Never use CC or BCC. - Include unsubscribe link - Every marketing email must contain the unsubscribe URL from the export - Delete after use - Do not store exports long-term ## Privacy Law Compliance GDPR (General Data Protection Regulation) is European law that governs how personal data can be collected and used. It applies to anyone handling data of EU residents, regardless of where you are located. Similar laws exist in other regions: - UK GDPR - Nearly identical to EU GDPR, enforced by the ICO - Canada (PIPEDA) - Requires consent for commercial electronic messages - Australia (Privacy Act) - Requires consent or easy opt-out for direct marketing - California (CCPA/CPRA) - Requires transparency and opt-out rights GDPR is the most comprehensive standard. The consent mechanism in vAMSYS satisfies all these laws. If you follow GDPR best practices, you are generally compliant with other privacy regulations. ### Your Role as Data Controller When you export and use pilot data, you become a Data Controller under GDPR. This means: - You decide why and how pilot data is used - You are legally responsible for your use of that data - vAMSYS does not assume responsibility for misuse of pilot data by VAs If pilot data is misused, liability rests with your Virtual Airline, not vAMSYS. ### What vAMSYS Handles vAMSYS collects explicit consent from pilots on your behalf. The opt-in clearly states their name and email will be shared with your Virtual Airline for marketing. This gives you the lawful basis to send marketing emails to opted-in pilots. ### What You Are Responsible For Consent is only one part of GDPR. Once you export pilot data, you become responsible for your own processing activities. This includes how you store the export, what tools you use to send emails, how long you keep the data, and how you handle data requests. If you only view pilot data within vAMSYS for operational purposes (managing registrations, administering pilots), the vAMSYS Privacy Policy covers that processing. However, you need your own privacy policy if you: - Send marketing or engagement emails - Export or download pilot data - Store pilot data outside of vAMSYS - Use third-party tools or services with pilot data ### Service Emails vs Marketing Emails GDPR treats different types of emails differently. Understanding this distinction is essential. Service emails are strictly necessary to operate the service. vAMSYS handles these. Examples: account verification, password resets, security alerts, system notifications. These do not require marketing consent. Marketing emails promote, encourage, or increase participation. Examples: invitations to fly, event announcements, newsletters, "come back and fly" messages. These require explicit opt-in consent. **Engagement is Marketing**: Calling emails "engagement" does not change their legal classification. If the purpose is to encourage participation, it is marketing and requires consent. ### Prohibited Practices The following violate GDPR and may result in enforcement action against your Virtual Airline: - Scraping email addresses - Copying emails from the pilot list or using scripts to collect addresses - CC/BCC bulk emails - This leaks personal data and prevents individual unsubscribe handling - Reusing old exports - Always generate a fresh export to respect recent unsubscribes - Emailing non-opted-in pilots - If they are not in the export, you have no lawful basis to email them - Disguising marketing as service emails - Do not send promotional content under the guise of operational messages ### Using External Mailing Platforms If you use Mailchimp, SendGrid, or similar services, you assume full responsibility for GDPR compliance. You must provide your own lawful basis, transparency notices, and unsubscribe handling. vAMSYS has no liability for that processing. ### Enforcement vAMSYS actively protects pilot data. Access to pilot email addresses may be restricted if misuse is suspected. Serious or repeated violations may lead to suspension or termination of your Virtual Airline. **Best Practice**: Grant pilot data access only to staff who need it. Send marketing emails sparingly and with clear value. Treat pilot email addresses as confidential data. When in doubt, do not send the email. --- # Import/Export Best Practices Everything you need to know about working with CSV files for bulk data management. Importers and exporters let you bulk manage your VA data using CSV files. This guide covers everything from CSV basics to advanced tips. **Imports Cannot Be Undone**: Mismanaged imports can damage your VA data, and vAMSYS cannot restore it. For one-off changes, use the tools in Orwell instead. ## Before You Start ### Tools You Need You need a way to edit CSV files. Choose one: - Google Sheets (recommended) - Free, handles encoding well, less likely to mangle data - Microsoft Excel - Works, but watch out for data formatting issues (see below) - LibreOffice Calc - Free alternative to Excel For verifying files, any text editor works: Notepad (Windows), TextEdit (Mac), or Notepad++. ### The Golden Rule Always export first, then modify. Exported files show you exactly how your data should be formatted and give you the IDs you need for updates. Create a few sample entries in Orwell, export them, and use that as your template. ## Understanding CSV Files ### What is a CSV? CSV stands for Comma Separated Values. It is a plain text file where each line is a row and commas separate the columns. You can open a CSV in spreadsheet software (which shows it as a grid) or in a text editor (which shows the raw text with commas). ### How to Verify Your File If your import fails, your file might not be a valid CSV. Open it in a text editor (not Excel) and check: - Values should be separated by commas, not tabs - Text containing commas should be wrapped in quotes - No strange characters at the start of the file A valid CSV looks like this: ``` Name,ICAO,Country "London Heathrow",EGLL,United Kingdom "Los Angeles",KLAX,United States ``` If you see tabs between values instead of commas, the file is tab-separated and will not work. ### Saving as CSV - Google Sheets: File > Download > Comma-separated values (.csv) - Excel: File > Save As > Choose "CSV UTF-8 (Comma delimited)" - LibreOffice: File > Save As > Choose "Text CSV (.csv)" **Do Not Rename Files**: Renaming an .xlsx file to .csv does not convert it. You must use Save As or Download to create a real CSV file. ### Excel Pitfalls Excel can change your data without asking: - Leading zeros removed: 007 becomes 7 - Dates reformatted: 2025-01-28 might become 28/01/2025 or 1/28/25 - Large numbers become scientific notation: 12345678901 becomes 1.23E+10 To avoid these issues, use Google Sheets, or import the CSV into Excel with all columns set to "Text" format. ## Data Formats Use these exact formats in your CSV files: Data TypeFormatExampleDateYYYY-MM-DD HH:MM:SS2025-01-28 14:30:00TimeHH:MM14:30BooleanTRUE or FALSEFALSE Dates use 24-hour time. Times are in UTC unless your airline has local times enabled for routes. ## How Imports Work Imports do not replace all your data. Each row tells vAMSYS to create, update, or delete one record based on the ID and _delete columns. Example: You have 200 airports and want to rename 10 of them. Export all airports, delete the 190 rows you do not need to change, edit the 10 you want to rename, then import. Those 10 airports update. The other 190 remain exactly as they were. Importing is not the same as replacing. ### Creating Records Leave the ID column empty. Set _delete to FALSE. ### Updating Records Include the ID from your export. Set _delete to FALSE. **Update Instead of Delete + Create**: Updating a record with its ID preserves history and relationships. Deleting and recreating generates a new ID, which breaks references from other records. Updates are also faster. ### Deleting Records Include the ID from your export. Set _delete to TRUE. Deleted records cannot be recovered. ### Exports Match Imports Exported files are designed to work with the importer. Column names match automatically, so you do not need to map columns manually. ## Import Order Some data types depend on others. Import them in this order: 1. Containers, Load Factors, Hubs (no dependencies) 2. Fleets (no dependencies) 3. Aircraft (requires Fleets) 4. Airports (can reference Containers, Load Factors, Hubs) 5. Routes, Routings, Scenery (requires Airports) Wait for each import to complete before starting the next one. ## Performance Tips ### Only Upload Changes If you have 20,000 routes and need to update 100 of them, only import those 100 rows. Do not upload all 20,000. Imports that change nothing are bad for everyone: your import takes longer, and vAMSYS does work that is not needed. Leaving out unchanged records will not delete them. ### Use End Date for Routes To retire routes, set an End Date instead of using _delete. Deletion slows down your import. End Date expiry happens in the background. ### Test First When trying something new, import a few rows first to verify everything works before importing thousands of records. ## Troubleshooting ### Import Gets Stuck Do not re-upload the same file. The file likely contains errors. Ask for help in the community and share your CSV so others can spot the problem. ### Incompatible Files Only comma-separated CSV files work. PDF, XLS, and XLSX files will fail. ### Third-Party Files Some third-party providers (such as VASchedules) claim to offer vAMSYS-compatible exports. These files do not work with vAMSYS importers. If you purchased a product advertised as vAMSYS-compatible and it does not import correctly, contact the provider for a refund or correction. vAMSYS has no control over what third parties advertise, and our attempts to resolve this have been ignored. Never import files blindly. Always open the file, verify it matches the format vAMSYS expects, and check the data before uploading. Importing incorrect data can damage your VA, and vAMSYS cannot restore it. When in doubt, import a small sample first and verify the results in Orwell. --- # Getting Started with vAMSYS Welcome to vAMSYS! This guide will help you get your Virtual Airline up and running. Welcome to vAMSYS, the professional platform for managing Virtual Airlines. This guide will walk you through your first steps. ## What is vAMSYS? vAMSYS provides a complete software solution for running a Virtual Airline in flight simulators. It includes pilot management, flight tracking via Pegasus, route scheduling, and much more. ## Your First Steps ### 1. Access Orwell Orwell is your administration control room. This is where you configure your airline, manage pilots, set up routes, and more. ### 2. Configure Your Airline Start by setting up your airline basics: name, ICAO code, logo, and theme colors. These appear throughout Phoenix (the pilot portal) and set the tone for your VA. ### 3. Add Your Fleet Add aircraft types and individual aircraft to your fleet. vAMSYS supports all major simulators including MSFS 2020/2024, X-Plane 11/12, and Prepar3D. ## Next Steps Once you have the basics configured, explore the following areas: - Setting up routes and schedules - Configuring ranks and awards - Customizing pilot registration - Setting up Discord integration --- # Contributing to Community Docs Share your knowledge with the vAMSYS community by contributing guides, tips, and best practices. The Community section features guides and best practices contributed by Virtual Airline staff and pilots. If you've discovered a useful technique, built a helpful workflow, or solved a tricky problem, we'd love to share it with others. ## What Makes a Good Contribution The best community articles are practical and specific. They solve real problems that other Virtual Airlines face. - Workflow guides - How you use spreadsheets, scripts, or external tools alongside vAMSYS - Configuration tips - Creative ways to set up ranks, awards, or scoring systems - Data techniques - Using regex, formulas, or imports to manage your airline - Integration examples - Connecting vAMSYS with Discord bots, websites, or other tools ## How to Submit Send your guide through our helpdesk, available in Orwell under vAMSYS Support. Our team reviews submissions and works with you to polish the content before publishing. Write in any format you're comfortable with - a Word document, Google Doc, or even bullet points. We'll handle the formatting. ## Recognition All community contributions are credited to their authors. Your name and Virtual Airline appear at the top of the article, helping others in the community discover your work. --- # PFPX AIRAC Validation Validate your vAMSYS routes against the current AIRAC cycle using PFPX software. **Community Contribution**: This guide was contributed by Jan Podlipský (TVS32) from Smartwings Virtual. ## Prerequisites - Own a copy of PFPX (Download edition is enough, no server subscription needed) - Have the latest AIRAC installed in PFPX (via Navigraph) - For European routes, install the RAD (Route Availability Document) for your AIRAC cycle ## Export Routes from vAMSYS Currently there is no official vAMSYS exporter for PFPX, so you need to convert the routes CSV into a compatible format manually. The PFPX format is: DEP_ICAO""DEST_ICAO";"DEP_ICAO" "ROUTE" "DEST_ICAO" For example: LKPRLIEE;LKPR VOZ DCT PISAM DCT TAGAS DCT RADLY DCT NIKOL DCT APSUX DCT DEXUL Q125 KOVAS LIEE Use this Google Sheets/Excel formula on your vAMSYS Routes CSV: ``` =C2&E2&";"&C2&" "&K2&" "&E2 ``` Paste the entire column of generated routes into a TXT file. ## Import into PFPX 1. Open PFPX and click the globe icon 2. Navigate to Route Data → Route Database [Image: PFPX globe menu showing Route Data and Route Database navigation - Navigate to Route Data → Route Database] 1. Click Import and select your saved TXT file [Image: PFPX Route Database showing the Import button location - Click the Import button] 1. PFPX will import the routes and highlight any invalid ones [Image: PFPX showing import progress with routes being validated - PFPX validates routes during import] 1. After import completes, filter to show only Invalid routes [Image: PFPX filter dropdown showing Invalid routes option selected - Filter to show only invalid routes] ## Clean Up Valid Routes Since we only care about invalid routes, remove the valid ones: 1. Set filter to "Valid" 2. Select all valid routes and delete them 3. Switch filter to "All" to see only invalid routes remaining [Image: PFPX showing valid routes selected for deletion - Select and delete valid routes to keep only invalid ones] ## Fix Invalid Routes You can regenerate routes directly in PFPX: 1. Double-click on an invalid route [Image: PFPX route editor showing an invalid route ready for rebuilding - Double-click to open the route editor] 1. Click "Build" to generate a new valid route 2. Click "Apply" to update the route 3. Export the finished routes from Route Database to get them in text format for updating vAMSYS [Image: PFPX showing a rebuilt valid route with Build and Apply buttons - Build and Apply to create the new valid route] **Tip**: You can also note down the invalid routes and generate new ones using SimBrief or other flight planning tools before updating them in vAMSYS. --- # Using Regex to Determine Flight Types Learn how to use Regular Expressions to automatically categorize flights based on callsign patterns. **Community Contribution**: This guide was contributed by Jan Podlipský (TVS32) from Smartwings Virtual. Many Virtual Airlines use logical callsign systems where you can determine the flight type (Scheduled, Charter, Repositioning, Training) based on the callsign pattern. This guide shows how to use Regular Expressions to automate this categorization. ## Regular Expression Basics Regular Expressions (regex) are patterns used to match character combinations in strings. You define character types and quantities. Let's analyze the callsign TVS3BD (a Smartwings scheduled flight using ARCID format): The pattern is: Letter-Letter-Letter-Number-Letter-Letter As a regex: [A-Z]{3}\d{1}[A-Z]{2} ### Breaking It Down - [A-Z]{3} = 3 letters from A to Z = "TVS" - \d{1} = 1 digit (0-9) = "3" - [A-Z]{2} = 2 letters from A to Z = "BD" ## Matching Multiple Patterns What about TVS56H? This looks like a different pattern (3 letters, 2 numbers, 1 letter), but you can match both with one regex using ranges: ``` [A-Z]{3}\d{1,2}[A-Z]{1,2} ``` - \d{1,2} = 1 or 2 digits - [A-Z]{1,2} = 1 or 2 letters ## Practical Flight Type Patterns Ferry/Positioning flights (e.g., TVS240P, TVS240F): ``` [A-Z]{3}\d{3}[FP]{1} ``` Note: [FP] matches only F or P (specific letters in brackets). Charter flights (e.g., TVS2240 - 4 digits): ``` [A-Z]{3}\d{4} ``` ## Using Regex in Google Sheets Google Sheets can use regex in conditional formulas. Basic syntax: ``` =IF(REGEXMATCH(A1;"[A-Z]{3}\d{4}");"Charter Flight") ``` **Regional Settings**: The parameter separator depends on your regional settings - it may be a semicolon (;) or comma (,). For multiple conditions, use IFS instead of IF: ``` =IFS(REGEXMATCH(F2;"[A-Z]{3}[0-9]{3}[FP]");"Repositioning";REGEXMATCH(F2;"[A-Z]{3}[0-9]{4}");"Charter";REGEXMATCH(F2;"[A-Z]{3}\d{1,2}[A-Z]{1,2}");"Scheduled";TRUE;"") ``` **Order Matters**: With IFS, the first matching condition wins. Place more specific patterns before general ones. Add TRUE;"" at the end to leave unmatched cells blank instead of showing an error. ## Deriving Other Fields Once you have a Tag column with flight types, derive other import fields: Type field: ``` =IFS(T2="Scheduled Flight";"scheduled";OR(T2="Charter Flight";T2="Business Jet Flight");"charter";T2="Repositioning Flight";"repositioning";TRUE;"") ``` Flighttype field: ``` =IFS(T2="Scheduled Flight";"s";OR(T2="Charter Flight";T2="Repositioning Flight");"n";TRUE;"") ``` --- # Aircraft Import/Export Import and export individual aircraft with registrations, SimBrief overrides, and capacity settings. The Aircraft importer and exporter let you bulk manage individual aircraft in your fleet. Each aircraft belongs to a Fleet (aircraft type) and can have its own registration, capacity overrides, and SimBrief settings. **Import Fleets First**: Aircraft require Fleet IDs. Import your Fleets before importing Aircraft so you have the Fleet IDs to reference. ## Accessing Import/Export In Orwell, go to Data → Exports to download your aircraft as CSV, or Data → Imports to upload changes. ## Column Reference ### Core Columns ColumnRequiredDescriptionIDFor updatesvAMSYS record ID. Leave empty when creating new aircraft. Include when updating or deleting.NameYesDisplay name for the aircraft (e.g., "Boeing 737-8AS(WL)")RegistrationYesAircraft registration (e.g., "9H-QEU")Fleet IDYesID of the Fleet (aircraft type) this aircraft belongs to. Get this from a Fleet export.SELCALNoSELCAL code (e.g., "AB-CD")Fin NumberNoAircraft fin/tail numberHex CodeNoMode S transponder hex codePassengersNoPassenger capacity override. Only applies to passenger fleet types.FreightNoCargo capacity override. Only applies to cargo-capable fleet types.Container UnitsNoContainer unit capacity override. Only applies to container-capable fleet types.Internal RemarksNoInternal notes (staff only, not visible to pilots)_deleteYesSet to TRUE to delete, FALSE otherwise ### SimBrief Override Columns These columns let you override SimBrief settings at the aircraft level. Leave empty to use Fleet defaults. ColumnDescriptionSB OFP LayoutOFP layout code (e.g., "RYR", "BAW")SB Perf CodePerformance code: A, B, C, D, or ESB Weight CatWake turbulence category: L, M, H, or JSB ETOPS ThresholdETOPS threshold: 60, 75, 90, 120, or 180 minutesSB ETOPS CertETOPS certification: 75-370 minutesSB ICAO EquipICAO equipment codes (e.g., "SDE3FGHIRWY")SB ICAO TransponderICAO transponder code (e.g., "LB1")SB PBN CapabilityPBN capability (e.g., "PBN/A1B1C1D1")SB Extra FPL InfoAdditional flight plan remarks (e.g., "DAT/V RVR/250")SB Engine TypeEngine type codeSB Pax WeightPassenger weight in kgSB Bag WeightBag weight in kgSB OEWOperating empty weight (tonnes)SB MZFWMax zero fuel weight (tonnes)SB MTOWMax takeoff weight (tonnes)SB MLWMax landing weight (tonnes)SB Max Fuel CapMaximum fuel capacity (tonnes) **Fuel Columns**: Additional fuel columns (SB Contingency Fuel, SB Reserve Fuel, SB Block Fuel, SB Arrival Fuel, SB MEL Fuel, SB ATC Fuel, SB WXX Fuel, SB Extra Fuel, SB Tankering Fuel) are available with corresponding unit columns (wgt for kg, min for minutes). ## Creating New Aircraft 1. Export your current Fleets to get Fleet IDs 2. Leave the ID column empty 3. Fill in required columns: Name, Registration, Fleet ID 4. Set _delete to FALSE ## Updating Aircraft 1. Export existing aircraft 2. Modify the columns you need to change 3. Keep the ID column intact 4. Ensure _delete is FALSE ## Deleting Aircraft 1. Export existing aircraft 2. Keep only the rows you want to delete 3. Ensure the ID column has the correct value 4. Set _delete to TRUE **Capacity Based on Fleet Type**: Capacity fields are automatically adjusted based on the Fleet type. For cargo fleets, passenger capacity is ignored. For passenger-only fleets, cargo capacity is ignored. For non-container fleets, container units are ignored. --- # Fleet Import/Export Import and export aircraft types (fleets) with SimBrief configurations and PIREP scoring settings. The Fleet importer and exporter let you bulk manage aircraft types. Each fleet defines the base configuration for a type of aircraft, including capacity, SimBrief settings, and PIREP scoring rules. Individual aircraft belong to fleets. **Import Before Aircraft**: Fleets must exist before you import Aircraft. Aircraft reference Fleet IDs, so import your Fleets first. ## Accessing Import/Export In Orwell, go to Data → Exports to download your fleets as CSV, or Data → Imports to upload changes. ## Column Reference ### Core Columns ColumnRequiredDescriptionIDFor updatesvAMSYS record ID. Leave empty when creating new fleets. Include when updating or deleting.NameYesFleet display name (e.g., "Boeing 737-800")Type CodeYesICAO aircraft type code (e.g., "B738")Type (pax/cargo/...)YesFleet type: pax, pax-cargo, pax-containers, cargo, or cargo-containersMax PassengersConditionalMaximum passenger capacity. Required for passenger fleet types.Max FreightConditionalMaximum cargo capacity. Required for cargo-capable fleet types.Container UnitsConditionalContainer unit capacity. Required for container fleet types.Hide in PhoenixNoSet TRUE to hide this fleet from pilots in PhoenixPIREP Scoring Group IDNoID of the scoring group for PIREP evaluationAllowed Prefix IDsNoComma-separated Parameter IDs this fleet can use_deleteYesSet to TRUE to delete, FALSE otherwise ### Fleet Types TypeDescriptionCapacity FieldspaxPassenger onlyMax Passengerspax-cargoPassengers with belly cargoMax Passengers, Max Freightpax-containersPassengers with container cargoMax Passengers, Container UnitscargoCargo freighter (bulk)Max Freightcargo-containersCargo freighter (containerized)Container Units ### SimBrief Override Columns Fleet-level SimBrief settings serve as defaults for all aircraft in this fleet. Individual aircraft can override these settings. **SimBrief Columns**: The same SimBrief columns from Aircraft Import/Export are available here: SB OFP Layout, SB Perf Code, SB Weight Cat, SB ETOPS settings, SB ICAO equipment codes, weight and fuel settings, and performance profiles. Fleet also includes alternate search settings (SB Altn Radius, SB Altn Min Ceiling, SB Altn Min Rwy Length, SB Altn Avoid Bad Wx). ## Creating New Fleets 1. Leave the ID column empty 2. Fill in required columns: Name, Type Code, Type 3. Fill appropriate capacity fields based on Type 4. Set _delete to FALSE ## Updating Fleets 1. Export existing fleets 2. Modify the columns you need to change 3. Keep the ID column intact 4. Ensure _delete is FALSE ## Deleting Fleets 1. Export the fleets you want to delete 2. Set _delete to TRUE for those rows 3. Import the file **Aircraft Impact**: Deleting a fleet will affect all aircraft that belong to it. Reassign aircraft to a different fleet before deleting if you want to keep them. --- # Airport Import/Export Import and export airports with load factor assignments, container availability, and SimBrief alternate settings. The Airport importer and exporter let you bulk manage the airports your airline operates from. You can configure taxi times, mark hubs, assign load factors and containers, and set SimBrief alternate search preferences. **Import Dependencies First**: Create Load Factors and Containers before importing airports that reference them. The importer validates that all referenced IDs exist. ## Accessing Import/Export In Orwell, go to Data → Exports to download your airports as CSV, or Data → Imports to upload changes. ## Column Reference ### Core Columns ColumnRequiredDescriptionICAO/IATAYesAirport identifier (ICAO 4-character or IATA 3-character code). Used to match records for updates.NameYesDisplay name for the airport in your airlineCategoryNoCustom category for organizing airportsBaseNoTRUE if this is a base/hub airportSuitable AlternateNoTRUE if this airport can be used as an alternateAirport Briefing URLNoLink to external airport briefing or chartsTaxi In MinutesNoDefault taxi time from runway to gateTaxi Out MinutesNoDefault taxi time from gate to runwayPreferred AlternatesNoComma-separated list of preferred alternate ICAO codes_deleteYesSet to TRUE to delete, FALSE otherwise ### Load Factor Columns Assign load factors to control passenger and cargo load calculations for flights at this airport. Load factors must be created first via Data → Load Factors. ColumnDescriptionPassenger LF IDLoad factor ID for passenger count calculationLuggage LF IDLoad factor ID for passenger luggage weightCargo (Weight) LF IDLoad factor ID for cargo weight calculationCargo (Volume) LF IDLoad factor ID for cargo volume calculation ### Container Column ColumnDescriptionContainer IDsComma-separated container IDs available at this airport ### SimBrief Alternate Settings Configure how SimBrief searches for alternates when this airport is the destination. ColumnDescriptionSB Alt RadiusSearch radius in nautical miles for alternate airportsSB Alt Min CeilingMinimum ceiling height in feet for alternate selectionSB Alt Min Rwy LengthMinimum runway length in feet for alternate selectionSB Alt Avoid Bad WeatherTRUE to exclude alternates with thunderstorms, freezing conditionsSB Alt Exclude AirportsICAO codes to exclude from alternate search (space or comma-separated)SB Takeoff Altn ICAO/IATASpecified takeoff alternate airportSB Altn 1-4 ICAO/IATAUp to 4 specific destination alternates (columns 1 through 4) ### Info Columns (Export Only) These columns appear in exports for reference but are ignored during import. - Info-Airport ID - Internal vAMSYS record ID - Info-Airport ICAO - World airport ICAO code - Info-Airport IATA - World airport IATA code - Info-Created, Info-Updated - Timestamps ## Adding Airports 1. Enter the ICAO or IATA code in the ICAO/IATA column (must exist in world airports) 2. Fill in the required Name column 3. Add optional settings (taxi times, load factors, etc.) 4. Set _delete to FALSE ## Updating Airports 1. Export existing airports 2. Modify the columns you need to change 3. Keep the ICAO/IATA column intact (this identifies the record) 4. Ensure _delete is FALSE **Airport Identification**: Unlike Aircraft and Fleet which use internal IDs, Airports are identified by their ICAO/IATA code. The same code in a new import updates the existing airport rather than creating a duplicate. ## Deleting Airports 1. Export the airports you want to delete 2. Set _delete to TRUE for those rows 3. Import the file --- # Route Import/Export Import and export flight routes with schedules, times, SimBrief settings, and fleet assignments. The Route importer and exporter let you bulk manage flight routes. Routes define the flights your pilots can book, including departure/arrival airports, schedule times, fleet assignments, and SimBrief configuration. **Import Dependencies First**: Create Airports, Fleets, Load Factors, and Containers before importing routes. Routes validate that all referenced IDs exist and that fleets are allowed for the assigned parameters. ## Accessing Import/Export In Orwell, go to Data → Exports to download your routes as CSV, or Data → Imports to upload changes. ## Column Reference ### Core Columns ColumnRequiredDescriptionIDFor updatesvAMSYS record ID. Leave empty when creating new routes. Include when updating or deleting.Departure Airport (ICAO/IATA)YesDeparture airport code or ID. Must exist in your airline.Arrival Airport (ICAO/IATA)YesArrival airport code or ID. Must exist in your airline.TypeYesRoute type: scheduled, cargo, charter, training, vfr, repositioning, or jumpseatCallsignConditionalRadio callsign (4-7 characters). Required for all types except jumpseat.Flight NumberConditionalFlight number (3-6 characters). Required for all types except jumpseat.Fleet IDsConditionalComma-separated Fleet IDs. Required for all types except jumpseat._deleteYesSet to TRUE to delete, FALSE otherwise ### Schedule Columns ColumnDescriptionStart DateRoute becomes available (YYYY-MM-DD HH:MM:SS)End DateRoute expires (YYYY-MM-DD HH:MM:SS)Departure Time (HH:MM)Scheduled departure timeArrival Time (HH:MM)Scheduled arrival timeService DaysComma-separated weekdays: monday, tuesday, wednesday, thursday, friday, saturday, sunday **Timezone Handling**: If your airline uses local times for routes, departure and arrival times are automatically converted between local airport timezone and UTC during import/export. ### Flight Details ColumnDescriptionAltitudeCruise altitude (e.g., FL350, 35000)Cost IndexCost index value (AUTO or 0-9999)Flight Length (HH:MM)Flight duration. Auto-calculated if empty.Flight Distance (NM)Distance in nautical miles. Auto-calculated if empty.RoutingFlight plan route stringRemarksVisible remarks for pilotsInternal RemarksStaff-only notesTagsComma-separated tags for categorizationIs HiddenTRUE to hide from pilots ### Callsign Options ColumnDescriptionAllow Callsign ChangeTRUE to let pilots modify the callsignCS Defaults Username Opt1TRUE to use username option 1 as defaultCS Defaults Username Opt2TRUE to use username option 2 as defaultCS Defaults Aircraft RegTRUE to use aircraft registration as defaultCallsign Generator StrCustom callsign generator pattern ### Load Factor and Container Columns ColumnDescriptionPax LF IDPassenger load factor IDPax Luggage LF IDPassenger luggage load factor IDCargo LF IDCargo weight load factor IDCargo Volume LF IDCargo volume load factor IDContainer IDsComma-separated container IDs available on this route ### SimBrief Columns Route-level SimBrief settings for flight planning. ColumnDescriptionFlight Rulesi=IFR, v=VFR, y=IFR/VFR, z=VFR/IFRFlight Types=Scheduled, n=Non-scheduled, g=General aviation, m=Military, x=OtherSB Pax WgtPassenger weight override (kg)SB Bag WgtBag weight override (kg)SB Contingency FuelContingency fuel policySB Reserve FuelReserve fuel policy **Additional SimBrief Fuel Columns**: Additional fuel columns available: SB MEL Fuel, SB ATC Fuel, SB WXX Fuel, SB Extra Fuel, SB Tankering Fuel, SB Min FOB, SB Min FOD. Each has a corresponding units column (mins, kg, or lbs). Alternate airports: SB Enroute Altn, SB Takeoff Altn, SB Altn 1-4. ## Route Types TypeDescriptionRequirementsscheduledRegular passenger flightsCallsign, Flight Number, Fleet IDscargoCargo-only flightsCallsign, Flight Number, Fleet IDscharterCharter flightsCallsign, Flight Number, Fleet IDstrainingTraining flightsCallsign, Flight Number, Fleet IDsvfrVFR flightsCallsign, Flight Number, Fleet IDsrepositioningFerry/repositioning flightsCallsign, Flight Number, Fleet IDsjumpseatPilot repositioning (no aircraft)None (no callsign, flight number, or fleet) ## Creating Routes 1. Leave the ID column empty 2. Fill in required columns: Departure/Arrival airports, Type 3. Add Callsign, Flight Number, and Fleet IDs (unless jumpseat) 4. Set _delete to FALSE ## Updating Routes 1. Export existing routes 2. Modify the columns you need to change 3. Keep the ID column intact 4. Ensure _delete is FALSE ## Ending Routes Setting _delete to TRUE and letting a route naturally expire via End Date achieve the same result. Using End Date lets vAMSYS handle expiry automatically without needing an import. 1. Export existing routes 2. Set End Date to a date in the past (e.g., yesterday) 3. Keep the ID column intact 4. Ensure _delete is FALSE **Prefer Ending Over Deleting**: If you know when a route should end, set the End Date when creating it. For routes you need to end now, setting an End Date in the past is still faster than using _delete. Deletion slows down your import, while End Date expiry happens in the background. --- # Routing Import/Export Import and export pre-defined flight plan route strings. The Routing importer and exporter let you bulk manage pre-defined flight plan route strings. Route strings are cleaned during import, removing unrecognized waypoints or airways. **Import Airports First**: Both departure and arrival airports must exist in your airline before importing routings. You cannot change airports after a routing is created. ## Routing vs Route Routing stores the flight plan route string between two airports (e.g., "DCT KONAN UN866 DVR UL9 KONAN"). Route defines a complete scheduled flight including callsign, times, and fleet assignments. A Route can reference a Routing for its flight plan. ## Accessing Import/Export In Orwell, go to Data → Exports to download your routings as CSV, or Data → Imports to upload changes. ## Column Reference ColumnRequiredDescriptionIDFor updatesvAMSYS record ID. Leave empty when creating new routings. Include when updating or deleting.Departure Airport (ICAO/IATA)YesDeparture airport code. Must exist in your airline.Arrival Airport (ICAO/IATA)YesArrival airport code. Must exist in your airline.Route StringYesThe flight plan route string. Cleaned during import to remove unrecognized elements.RemarksNoVisible remarksInternal RemarksNoStaff-only notesTagsNoComma-separated tags for categorizationDays of OperationNoComma-separated weekdays: monday, tuesday, wednesday, thursday, friday, saturday, sunday_deleteYesSet to TRUE to delete, FALSE otherwise ### Info Columns (Export Only) These columns appear in exports for reference but are ignored during import. - AIRAC Cycle - The AIRAC cycle the routing was validated against - Created At - Creation timestamp ## Route Processing Route strings are processed during import to clean formatting and remove unrecognized waypoints or airways. Successfully imported routings are tagged with the current AIRAC cycle. **Cannot Change Airports**: Once a routing is created, you cannot change its departure or arrival airports. To use a different airport pair, create a new routing and delete the old one. ## Creating Routings 1. Leave the ID column empty 2. Fill in required columns: Departure Airport, Arrival Airport, Route String 3. Set _delete to FALSE ## Updating Routings 1. Export existing routings 2. Modify the columns you need to change (except airports) 3. Keep the ID column intact 4. Ensure _delete is FALSE ## Deleting Routings 1. Export the routings you want to delete 2. Set _delete to TRUE for those rows 3. Import the file --- # Load Factor Import/Export Import and export load factors for passenger and cargo load calculations. The Load Factor importer and exporter let you bulk manage load factors. Load factors control how passenger and cargo loads are calculated for flights, using statistical distributions to create realistic variation. **Import Before Airports/Routes**: Load Factors can be assigned to Airports and Routes. Create your Load Factors before importing Airports or Routes that reference them. ## Accessing Import/Export In Orwell, go to Data → Exports to download your load factors as CSV, or Data → Imports to upload changes. ## Column Reference ColumnRequiredDescriptionIDFor updatesvAMSYS record ID. Leave empty when creating. Include when updating or deleting.TypeYesLoad factor type: pax, pax-luggage, cargo, or cargo-volumeNameYesDisplay name. Must be unique per type within your airline.Min %YesMinimum load percentage (0-100). Must be less than Max.Max %YesMaximum load percentage (1-100). Must be greater than Min.Average %NoTarget average percentage (1-100)BiasNoDistribution skew factor (0.0-1.0)Deviation (SD)YesStandard deviation for load variation (0-100)Is DefaultNoTRUE to use as default for this type. Only one default per type._deleteYesSet to TRUE to delete, FALSE otherwise ## Load Factor Types TypeDescriptionpaxPassenger count calculationpax-luggagePassenger luggage weight calculationcargoCargo weight calculationcargo-volumeCargo volume calculation **Default Handling**: When you set a load factor as default, all other load factors of the same type are automatically set to non-default. Only one load factor per type can be the default. ## Creating Load Factors 1. Leave the ID column empty 2. Fill in required columns: Type, Name, Min %, Max %, Deviation (SD) 3. Set _delete to FALSE ## Updating Load Factors 1. Export existing load factors 2. Modify the columns you need to change 3. Keep the ID column intact 4. Ensure _delete is FALSE ## Deleting Load Factors 1. Export the load factors you want to delete 2. Set _delete to TRUE for those rows 3. Import the file **Check References First**: Before deleting a load factor, ensure no airports or routes are using it. Reassign them to a different load factor first. --- # Container Import/Export Import and export cargo containers with incompatibility relationships. The Container importer and exporter let you bulk manage cargo containers. Containers define the unit load devices (ULDs) available in your airline, including their capacity and which containers cannot be loaded together. **Import Before Airports/Routes**: Containers can be assigned to Airports and Routes. Create your Containers before importing Airports or Routes that reference them. ## Accessing Import/Export In Orwell, go to Data → Exports to download your containers as CSV, or Data → Imports to upload changes. ## Column Reference ColumnRequiredDescriptionIDFor updatesvAMSYS record ID. Leave empty when creating. Include when updating or deleting.NameYesContainer display name (e.g., "LD3 Container")TypeYesContainer type identifierUnit SizeYesHow many unit positions this container occupies (1-9999)Weight (kg)YesContainer maximum weight capacity in kilogramsNotesNoOptional notes about the containerIncompatible Container IDsNoComma-separated container IDs that cannot be loaded with this container_deleteYesSet to TRUE to delete, FALSE otherwise **Incompatibility is Bidirectional**: When you mark Container A as incompatible with Container B, the system automatically marks Container B as incompatible with Container A. You only need to specify the relationship once. ## Creating Containers 1. Leave the ID column empty 2. Fill in required columns: Name, Type, Unit Size, Weight (kg) 3. Set _delete to FALSE ## Updating Containers 1. Export existing containers 2. Modify the columns you need to change 3. Keep the ID column intact 4. Ensure _delete is FALSE ## Deleting Containers 1. Export the containers you want to delete 2. Set _delete to TRUE for those rows 3. Import the file **Check References First**: Before deleting a container, ensure no airports or routes are using it. Reassign them to a different container first. --- # Hub Import/Export Import and export pilot hubs with airport assignments. The Hub importer and exporter let you bulk manage pilot hubs. Hubs group airports together and can be assigned to pilots to define their home base or operating region. **Import Airports First**: Airport codes in the import must match existing airports in your airline. Create Airports before importing Hubs. ## Accessing Import/Export In Orwell, go to Data → Exports to download your hubs as CSV, or Data → Imports to upload changes. ## Column Reference ColumnRequiredDescriptionIDFor updatesvAMSYS record ID. Leave empty when creating. Include when updating or deleting.NameYesHub display name (e.g., "London Hub", "East Coast")Is DefaultNoTRUE to use as default hub for new pilots. Only one hub can be default.OrderNoDisplay order (lower numbers appear first)Airport Codes (ICAO/IATA)NoComma-separated airport codes belonging to this hub_deleteYesSet to TRUE to delete, FALSE otherwise **Default Handling**: When you set a hub as default, all other hubs are automatically set to non-default. Only one hub can be the default. ## Creating Hubs 1. Leave the ID column empty 2. Fill in the required Name column 3. Add airport codes (comma-separated) if desired 4. Set _delete to FALSE ## Updating Hubs 1. Export existing hubs 2. Modify the columns you need to change 3. Keep the ID column intact 4. Ensure _delete is FALSE ## Deleting Hubs 1. Export the hubs you want to delete 2. Set _delete to TRUE for those rows 3. Import the file **Pilot Assignments**: Before deleting a hub, ensure no pilots are assigned to it. Reassign pilots to a different hub first. --- # Badge Import/Export Import and export pilot badges with rules and page content. The Badge importer and exporter let you bulk manage pilot achievement badges. Badges can be awarded automatically based on rules or manually by staff. ## Accessing Import/Export In Orwell, go to Data → Exports to download your badges as CSV, or Data → Imports to upload changes. ## Column Reference ColumnRequiredDescriptionIDFor updatesvAMSYS record ID. Leave empty when creating. Include when updating or deleting.NameYesBadge name. Must be unique within your airline.CategoryYesCategory for grouping badgesDescriptionNoBadge description shown to pilotsOrderNoDisplay order (lower numbers appear first)Rules (JSON)NoAuto-award rules in JSON format. Leave empty for manual-only badges.Page Content (JSON)NoCustom page content in JSON format_deleteYesSet to TRUE to delete, FALSE otherwise **Manual vs Automatic Badges**: Badges without rules are automatically flagged as manually awardable. Badges with rules are awarded automatically when pilots meet the criteria. ## JSON Format The Rules (JSON) and Page Content (JSON) columns expect valid JSON strings. When exporting, these are output as JSON. When importing, ensure the JSON is properly formatted and escaped for CSV. ## Creating Badges 1. Leave the ID column empty 2. Fill in required columns: Name, Category 3. Add Rules (JSON) for automatic awarding, or leave empty for manual 4. Set _delete to FALSE ## Updating Badges 1. Export existing badges 2. Modify the columns you need to change 3. Keep the ID column intact 4. Ensure _delete is FALSE ## Deleting Badges 1. Export the badges you want to delete 2. Set _delete to TRUE for those rows 3. Import the file **Pilot Awards**: Deleting a badge removes it from all pilots who have earned it. This action cannot be undone. --- # Scenery Import/Export Import and export airport scenery recommendations by simulator and developer. The Scenery importer and exporter let you bulk manage airport scenery recommendations. Each scenery entry links an airport to a specific scenery package for a particular simulator. **Import Airports First**: The airport must exist in your airline before you can add scenery entries for it. Create Airports before importing Scenery. ## Accessing Import/Export In Orwell, go to Data → Exports to download your scenery entries as CSV, or Data → Imports to upload changes. ## Column Reference ColumnRequiredDescriptionICAO/IATAYesAirport code. Must exist in world airports and be configured for your airline.TypeYesScenery type (e.g., "Freeware", "Payware")SimulatorYesSimulator name (e.g., "MSFS 2020", "X-Plane 12", "P3D v5")URLYesLink to the scenery package (must be a valid URL)DeveloperYesDeveloper or publisher name_deleteYesSet to TRUE to delete, FALSE otherwise ### Info Columns (Export Only) These columns appear in exports for reference but are ignored during import. - Airport Name - The airline airport name - Info-Scenery ID - Internal vAMSYS record ID - Info-Airport ICAO, Info-Airport IATA - World airport codes **Uniqueness**: Scenery entries are identified by the combination of airport, type, simulator, and developer. Importing a row with the same combination updates the existing entry rather than creating a duplicate. ## Creating Scenery Entries 1. Fill in all required columns: ICAO/IATA, Type, Simulator, URL, Developer 2. Ensure the airport is already configured in your airline 3. Set _delete to FALSE ## Updating Scenery Entries To update an existing scenery entry, import a row with the same combination of airport, type, simulator, and developer. The URL will be updated to the new value. 1. Export existing scenery entries 2. Modify the URL or other columns as needed 3. Keep the identifying columns intact (ICAO/IATA, Type, Simulator, Developer) 4. Ensure _delete is FALSE ## Deleting Scenery Entries 1. Export the scenery entries you want to delete 2. Set _delete to TRUE for those rows 3. Import the file --- # PFPX Export Export routes and routings in PFPX format for use with Professional Flight Planner X. The PFPX exporters let you export your routes and routings in a format compatible with Professional Flight Planner X (PFPX). The exported files are TXT format and can be imported directly into PFPX. **Export Only**: PFPX exports are one-way only. The TXT format cannot be imported back into vAMSYS. Use the standard Route or Routing importers for vAMSYS data management. ## Accessing PFPX Exports In Orwell, go to Data → Exports and select either Route (PFPX) or Routing (PFPX) from the export options. ## Export Types ### Route PFPX Export Exports scheduled routes with their flight plan route strings. Each route that has a routing assigned will appear in the export. ### Routing PFPX Export Exports all pre-defined flight plan route strings. Useful when you want to export your routing database for use in PFPX. ## File Format The exported TXT file contains one route per line in PFPX format: ```text EGLLKJFK;EGLL DCT WOBUN N57 MATCH MATCH6 KJFK ``` The format is: DEPTICAOARRICAO;DEPTICAO ROUTE_STRING ARRICAO - DEPTICAOARRICAO - Departure and arrival ICAO codes concatenated (identifier) - DEPTICAO - Departure airport ICAO code - ROUTE_STRING - The flight plan route string - ARRICAO - Arrival airport ICAO code ## Using in PFPX 1. Export your routes or routings using the PFPX export option 2. Download the generated TXT file 3. In PFPX, import the file using the appropriate import function **Related Documentation**: For managing routes and routings within vAMSYS, see the Route Import/Export and Routing Import/Export documentation.