### Discord Bot Setup and Configuration (YAML) Source: https://context7.com/vamsys-ltd/documentation/llms.txt Details the setup process for the vAMSYS Discord bot, including inviting the bot, running the setup command, and checking the connection. It also covers bot role configuration, notification channel setup, role mapping for pilot ranks, and auto-assignment settings. ```yaml # Discord Setup (Orwell -> Settings -> Discord) # Step 1: Invite vAMSYS bot (URL provided in settings) # Step 2: Run setup command in Discord channel /setup [setup_token] # Step 3: Click "Check Connection" in Orwell # Bot Role Configuration # Move 'vAMSYS' role ABOVE pilot rank roles in Discord settings # Bot cannot modify users with roles higher than its own # Notification Channels Channels: Alerts Channel: #alerts NOTAMs Channel: #notams Booking Notification: #flight-bookings Departure Notification: #departures Landing Notification: #landings VA Statistics Full: #staff-stats # Daily detailed stats (private) VA Statistics Simple: #pilot-stats # Daily summary (public) # Notification Roles (@ mentioned) Alert Role: @everyone NOTAM Role: @pilots # Pilot Rank Discord Roles # Map vAMSYS ranks to Discord roles Rank Mapping: Cadet: Trainee Pilot First Officer: First Officer Captain: Captain Staff Team: Staff # Auto-assign on join (if user has linked Discord + vAMSYS) Automatically Assign: true # Pilot Verification Button # Discord admin runs in verification channel: /set-role-request # Pilots click button to: # 1. Get nickname changed to "Public Name - Pilot ID" (e.g., "John D - HTA1249") # 2. Get rank-appropriate Discord role assigned # Message Colors (hex values) Colors: Success: "#28a745" Danger: "#dc3545" Warning: "#ffc107" Info: "#17a2b8" ``` -------------------------------- ### Install CacheAdvance dependencies Source: https://github.com/vamsys-ltd/documentation/blob/main/page.md Installs the CacheAdvance library into your project using the npm package manager. This is the required first step before configuration or usage. ```shell npm install @tailwindlabs/cache-advance ``` -------------------------------- ### Protocol API - Create and Use API Token Source: https://context7.com/vamsys-ltd/documentation/llms.txt Demonstrates how to create an API token through the Orwell UI and use it to authenticate requests to the Protocol API for accessing airline data like pilot information. Includes examples for GET requests. ```bash # Create an API token via Orwell UI: # Navigate to: Orwell -> Settings -> API # Click "Create New Token" and provide a friendly name # Copy the token immediately - it won't be displayed again # Using the API token for requests curl -X GET "https://protocol.vamsys.dev/api/v1/airline/pilots" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" # Token usage statistics are available in the Orwell API settings: # - API calls today # - API calls this week # - API calls this month # - API calls last month # For detailed API documentation, visit: # https://protocol.vamsys.dev/ ``` -------------------------------- ### Setup vAMSYS Bot in Discord Source: https://github.com/vamsys-ltd/documentation/blob/main/settings/discord/page.md Command to set up the vAMSYS bot in a Discord channel. Requires a setup token. This is the initial step to enable Discord integration. ```discord /setup [setup_token] ``` -------------------------------- ### PFPX route format example Source: https://github.com/vamsys-ltd/documentation/blob/main/guides/pfpx-airac-validation/page.md An example of the required text string format for importing route data into the PFPX Route Database. ```text LKPRLIEE;LKPR VOZ DCT PISAM DCT TAGAS DCT RADLY DCT NIKOL DCT APSUX DCT DEXUL Q125 KOVAS LIEE ``` -------------------------------- ### Event Configuration Examples (YAML) Source: https://context7.com/vamsys-ltd/documentation/llms.txt Defines various event types such as Generic Event, Focus Airport, Overload, and Tour, along with their configurations for airports, routes, and legs. It also details event timing, restrictions (networks, ranks, fleets, callsigns), point awards, and repetition settings. ```yaml # Event Types (Orwell -> Events) Generic Event: # Pilots fly specific routes or airport combinations Departure Airports: [EGSS, EGLL] Arrival Airports: [EHAM, LFPG] # OR specific routes Routes: [HTA100, HTA101] Focus Airport: # All flights to/from one airport earn points Focus Airport: EGSS # No registration required, simplified event page Overload: # Multiple airports, all arrivals/departures earn points Overload Airports: [EGSS, EGLC, EGKK] # London area Tour: # Sequential legs that must be flown in order Legs: - Leg 1: EGSS -> EHAM - Leg 2: EHAM -> LFPG - Leg 3: LFPG -> EGSS # Event Configuration Event Details: Name: Summer Europe Tour Tag: TOUR # Corner badge Hidden: false # Visible to pilots Registration Required: true Slot Booking: false # Timing Event Start: 2024-07-01 00:00 Event End: 2024-07-31 23:59 Advertisement Start: 2024-06-15 00:00 Registration Start: 2024-06-20 00:00 Registration End: 2024-07-01 00:00 # Restrictions Restrictions: Networks: [VATSIM, IVAO] # Only online flights Ranks: [FO, CPT, LTC] # Minimum rank Fleets: [B738, A320] # Specific aircraft Callsigns: [HTA, BAW] # Callsign prefixes # Point Awards Awards: Condition: Departure and Arrival # Both within event time Points: 100 # Fixed bonus points # OR percentage: 50% # 50% of regular points as bonus # Repetition (auto-creates next event) Repetition: Weekly # One-off, Weekly, Every two Weeks, Monthly ``` -------------------------------- ### Data Export - CSV Aircraft Data Source: https://context7.com/vamsys-ltd/documentation/llms.txt Example of exporting aircraft data in CSV format from Orwell. This includes details like ID, name, registration, and fleet type, useful for analysis or external systems. ```csv # Aircraft Export Example (Orwell -> Data -> Exporters -> Aircraft) # Columns: ID, Name, Registration, Selcal, Fin Number, Hexcode, Fleet Type, PAX, Freight, etc. ID,Name,Registration,Selcal,Fin Number,Hexcode,Fleet Type,PAX,Freight,Container Units 123456,Flight of Fancy,G-LUJA,AC-BD,G-LUJA,AE586C,6,180,0,0 ``` -------------------------------- ### Configure CacheAdvance library Source: https://github.com/vamsys-ltd/documentation/blob/main/page.md Defines the configuration settings for CacheAdvance, including the caching strategy and engine parameters like CPU count and backup file paths. ```javascript // cache-advance.config.js export default { strategy: 'predictive', engine: { cpus: 12, backups: ['./storage/cache.wtf'], }, } ``` -------------------------------- ### Data Export - CSV Routes Data Source: https://context7.com/vamsys-ltd/documentation/llms.txt Example of exporting route data in CSV format from Orwell. This includes departure and arrival codes, callsigns, flight numbers, and flight details, useful for operational planning. ```csv # Routes Export Example # Columns: ID, Departure ID, Departure Code, Arrival ID, Arrival Code, Callsign, Flight Number, etc. ID,Departure ID,Departure Code,Arrival ID,Arrival Code,Callsign,Flight Number,Fleets,Flight Length,Flight Distance,Type,Tag 988,182803,EGSS,183136,EHAM,HTA16H,HT1141,"88,322,6",01:15,256,scheduled,"Summer 2024,Winter 2024" ``` -------------------------------- ### Hangar File Storage Configuration (YAML) Source: https://context7.com/vamsys-ltd/documentation/llms.txt Outlines the features and configuration for vAMSYS's Hangar file management system. It details file components like authors, sources, categories, and versions, along with file properties such as title, description, and access control. Pilot access features like filtering and downloading are also described. ```yaml # Hangar Features (Orwell -> Hangar) File Components: Authors: Attribution for file creators Sources: Original source attribution Categories: Organizational grouping Addons: Filter by simulator addon (PMDG 737, Fenix A320) Files: Core content items Versions: Version-controlled updates # File Properties File Configuration: Title: A320 Standard Checklist Description: Complete checklist for A320 operations Author: VA Training Team Source: Internal Category: Checklists Simulator: MSFS 2020 Addon: Fenix A320 # Version Control Current Version: 1.2 Changelog: Updated descent checklist items # Access Control Restricted: true # Only VA pilots can download # Pilot Features Pilot Access: - Filter by Simulator (XP12, MSFS 2020, MSFS 2024) - Filter by Addon (PMDG, Fenix, etc.) - Download Packs (bundled file sets) - Update Notifications (when downloaded files are updated) ``` -------------------------------- ### Data Export - CSV Airports Data Source: https://context7.com/vamsys-ltd/documentation/llms.txt Example of exporting airport data in CSV format from Orwell. This includes airport identifiers, names, and operational parameters like taxi times, useful for managing airport information. ```csv # Airports Export Example ID,Name,World Airport ID,ICAO,IATA,Base,Category,PAX LF,Taxi In Minutes,Taxi Out Minutes 123456,London Stansted,5678,EGSS,STN,1,Cat A,15,5,7 ``` -------------------------------- ### Pilot Invite Form Configuration Source: https://context7.com/vamsys-ltd/documentation/llms.txt YAML detailing the fields and options available in the pilot invite form within Orwell, used for adding staff, invite-only VAs, or during migrations. ```yaml # Pilot Invite (Orwell -> Pilots -> Invite) # Useful for adding staff during trial, invite-only VAs, or migrations Invite Form: First Name: John Last Name: Doe Email: pilot@example.com Transfer PIREP Hours: 100 # Optional credited hours Transfer PIREP Points: 5000 # Optional credited points Transfer Bonus Points: 500 # Optional bonus points ``` -------------------------------- ### Map Categorized Tags to Additional Parameters Source: https://github.com/vamsys-ltd/documentation/blob/main/guides/regular-expressions-flight-type/page.md Demonstrates how to use the results of a previous categorization column to derive secondary parameters like flight type using nested IFS and OR logic. ```Google Sheets Formula =IFS(T2="Scheduled Flight";"scheduled";OR(T2="Charter Flight";T2="Business Jet Flight");"charter";T2="Repositioning Flight";"repositioning";TRUE;"") =IFS(T2="Scheduled Flight";"s";OR(T2="Charter Flight";T2="Repositioning Flight";T2="Business Jet Flight");"n";TRUE;"") ``` -------------------------------- ### Data Import - CSV Route Import Source: https://context7.com/vamsys-ltd/documentation/llms.txt Example of importing route data via CSV for adding, updating, or deleting routes. Requires specifying departure/arrival codes, callsigns, and flight numbers. ID is used for updates/deletions. ```csv # Route Import Example # To ADD a new route: Leave ID blank, Delete blank # To UPDATE a route: Provide ID, Delete blank # To DELETE a route: Provide ID, Delete = 1 ID,Departure Code,Arrival Code,Callsign,Flight Number,Fleets,Type,Flight Length,Start Date,Delete ,EGSS,EHAM,HTA16H,HT1141,"88,322,6",scheduled,01:15,2024-07-18 14:50, 988,EGSS,EHAM,HTA16H,HT1141,"88,322,6",scheduled,01:30,2024-07-18 14:50, 989,,,,,,,,,,1 ``` -------------------------------- ### Data Import - CSV Aircraft Import Source: https://context7.com/vamsys-ltd/documentation/llms.txt Example of importing aircraft data via CSV for bulk creation or updates. Requires aircraft details, registration, and Fleet Type ID. Leave ID blank for new entries. ```csv # Aircraft Import Example # Fleet Type ID must be retrieved from VDS or Fleet export ID,Name,Registration,Fleet Type,PAX,Freight,SimBrief Airframe ID,SB OFP Format,Delete ,Boeing 737-800,G-NEWB,6,189,0,349674_1719351837546,lido, ``` -------------------------------- ### Data Import - CSV Airport Import Source: https://context7.com/vamsys-ltd/documentation/llms.txt Example of importing airport data via CSV for bulk creation or updates. Accepts World Airport ID, ICAO, or IATA codes. Leave ID blank for new entries. ```csv # Airport Import Example # World airport column can contain World Airport ID, ICAO, or IATA code ID,World airport,Name,Base,Category,Taxi In Minutes,Taxi Out Minutes,Delete ,KJFK,New York JFK,1,Cat A,8,12, ```