Typescript/Javascript package for querying the OnAir API
A Typescript/Javascript wrapper around the OnAir Airline Manager's API.
Installation
npm i -s onair-api
Usage
The required apiKey and optional companyId can be found in the lower left corner of the options screen within the OnAir Desktop client, if You need additional help locating these ID's check the How To in the wiki.
- apiKey
- companyId - Optional, but required for all
getCompany*
methods - vaId - Optional, only required if using either of the VA methods
getVirtualAirline
orgetVirtualAirlineMembers
Example using Javascript
import OnAirApi from 'onair-api'
// define the prerequisite keys
// apiKey and companyId can be found in the lower left corner of the options screen within the OnAir Desktop client
const apikey = 'YOUR-API-KEY'
const companyId = 'YOUR-COMPANY-ID'
// instantiate the OnAirApi
const Api = new OnAirApi({ apiKey, companyId });
/**
* call one of the Api methods, like getCompany
* which will query the OnAir API using the above credentials
* and returns the company details
*/
let company = await Api.getCompany();
// do something with the company data
Methods
- getCompany
- getCompanyFbos
- getCompanyFleet
- getCompanyFlights
- getCompanyMissionFlightTracks
- getCompanyJobs
- getCompanyEmployees
- getCompanyCashFlow
- getCompanyIncomeStatement
- getCompanyBalanceSheet
- getCompanyWorkOrders
- getAircraft
- getAircraftFlights
- getAirport
- getFlight
- getVirtualAirlineMembers
- getVirtualAirline
- getVirtualAirlineShareHolders
- getVirtualAirlineRoles
- getEmployee
getCompany()
Fetches the company details for the given companyId.
Usage
import OnAirApi, { Company, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let companyDetails: Company = await api.getCompany();
Example Response
getCompanyFbos()
Fetches the FBOs for a given companyId.
Usage
import OnAirApi, { Fbo, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let companyFbos: Fbo[] = await api.getCompanyFbos();
Example Response
getCompanyFleet()
Fetches the aircraft that are owned, leased, or rented for a given companyId.
Usage
import OnAirApi, { Aircraft, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let companyFleet: Aircraft[] = await api.getCompanyFleet();
Example Response
getCompanyFlights()
Fetches the Flights for a given companyId.
Usage
import OnAirApi, { Flight, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let companyFlights: Flight[] = await api.getCompanyFlights();
Example Response
getCompanyMissionFlightTracks()
Fetches the flight tracks for all missions.
Usage
import OnAirApi, { FlightTrack, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let companyMissionFlightTracks: FlightTrack[] = await api.getCompanyMissionFlightTracks();
Example Response
getCompanyJobs(completed = false)
Fetches the pending jobs for a given companyId. Pass true
as the first argument to return completed jobs.
Usage
import OnAirApi, { Job, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let companyJobs: Job[] = await api.getCompanyJobs();
// pass true as the first argument to return the completed jobs
let completedCompanyJobs: Job[] = await api.getCompanyJobs(true);
Example Response
getCompanyEmployees()
Fetches the Persons currently employed by a given companyId.
Usage
import OnAirApi, { People, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let companyEmployees: People[] = await api.getCompanyEmployees();
Example Response
getCompanyCashFlow()
Fetches the cash flow for a given companyId.
Usage
import OnAirApi, { CashFlow, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let companyCashFlow: CashFlow[] = await api.getCompanyCashFlow();
Example Response
getCompanyIncomeStatement(startDate: string, endDate: string)
Fetches the income statement within a given range for a companyId. If no startDate or endDate is provided it will return the last 30 days.
Usage
import OnAirApi, { IncomeStatement, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
// no startDate or endDate provided, returns 30 days
let companyIncomeStatement: IncomeStatement = await api.getCompanyIncomeStatement();
// providing a startDate and endDate
const startDate = '2021-12-01T00:00:00';
const endDate = '2022-01-30T02:58:39.104Z';
let companyIncomeStatement2: IncomeStatement = await api.getCompanyIncomeStatement(startDate, endDate)
Example Response
getCompanyBalanceSheet()
Fetches the company's current balance sheet. Which provides a current snapshot of the financial status of a company.
Usage
import OnAirApi, { BalanceSheet, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let balancesheet: BalanceSheet = await api.getCompanyBalanceSheet();
Example Response
getCompanyWorkOrders()
Fetches the company's currently generated work orders.
Usage
import OnAirApi, { WorkOrder, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let workorders: WorkOrder = await api.getCompanyWorkOrders();
Example Response
getAircraft(aircraftId: string)
Fetches the Aircraft details for a given aircraftId.
Usage
import OnAirApi, { Aircraft, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
const aircraftId = '9891d561-def7-438c-9097-d3336989af93';
let companyAircraft: Aircraft = await api.getAircraft(aircraftId);
Example Response
getAircraftFlights(aircraftId: string)
Fetches the Flights flown for a given aircraftId.
Usage
import OnAirApi, { Flight, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
const aircraftId = '9891d561-def7-438c-9097-d3336989af93';
let companyAircraftFlights: Flight[] = await api.getAircraftFlights(aircraftId);
Example Response
getAirport(airportCode: string)
Fetches Airport details for a given airport Code.
Usage
import OnAirApi, { Airport, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
const airportCode = 'KLAX';
let airport: Airport = await api.getAirport(airportCode);
Example Response
getFlight(flightId: string)
Fetches Flight details for a given flightId.
Usage
import OnAirApi, { Flight, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
const flightId = '9891d561-def7-438c-9097-d3336989af93';
let flight: Flight = await api.getFlight(flightId);
Example Response
getVirtualAirline()
Fetches VirtualAirline details for a given vaId. Note: this requires the vaId to be provided during Api instantiation
Usage
import OnAirApi, { VirtualAirline, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let va: VirtualAirline = await api.getVirtualAirline();
Example Response
getVirtualAirlineMembers()
Fetches the members of a Virtual Airline for a given vaId.
Usage
import OnAirApi, { Member, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let vaMembers: Member[] = await api.getVirtualAirlineMembers();
Example Response
getVirtualAirlineShareHolders()
Fetches the ShareHolders of a Virtual Airline for a given vaId.
Usage
import OnAirApi, { ShareHolder, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let vaShareHolders: ShareHolder[] = await api.getVirtualAirlineShareHolders();
Example Response
getVirtualAirlineRoles()
Fetches the Roles for a given vaId.
Usage
import OnAirApi, { VARole, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
let roles: VARole[] = await api.getVirtualAirlineRoles();
Example Response
getEmployee(employeeId: string)
Fetches details for a given employeeId.
Usage
import OnAirApi, { People, OnAirApiConfig, } from 'onair-api'
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
const api: Api = new OnAirApi(apiConfig);
const employeeId = '596b6c2e-4ac7-44e9-b1d4-a4299030cb04';
let employee_details: People = await api.getEmployee(employeeId);
Example Response
Examples
Example using the dotenv package
import 'dotenv/config'
import { OnAirApi, } from 'onair-api'
(async function () {
const apiKey = process.env.COMPANY_APIKEY;
const companyId = process.env.COMPANY_ID;
const vaId = process.env.VIRTUAL_AIRLINE_ID;
const Api = new OnAirApi({ apiKey, companyId, vaId, });
let company = await Api.getCompanyDetails();
let fleet = await Api.getCompanyFleet();
console.log({
company,
fleet,
});
})();
Typescript Example using dotenv package and onair-api types
import 'dotenv/config'
import { OnAirApi, } from 'onair-api'
import { Company, Aircraft, Api, } from 'onair-api/src/types'
(async function () {
const apiKey: string = process.env.COMPANY_APIKEY;
const companyId: string = process.env.COMPANY_ID;
const vaId = process.env.VIRTUAL_AIRLINE_ID;
const api: Api = new OnAirApi({ apiKey, companyId, vaId, });
let company: Company = await api.getCompanyDetails();
let fleet: Aircraft[] = await api.getCompanyFleet();
console.log({
company,
fleet,
});
})();