A Typescript/Javascript wrapper around the OnAir Airline Manager's API.
npm i -s onair-api
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 - required, used on all Api calls to authenticate the caller
- companyId - Optional, except for all
getCompany*
methods - vaId - Optional, except for all
getVirtualAirline*
methods
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
import OnAirApi, { Company, OnAirApiConfig, } from 'onair-api'
// build the OnAirApiConfig object
const apiConfig: OnAirApiConfig = {
apiKey: 'YOUR-API-KEY',
companyId: 'YOUR-COMPANY-ID',
vaId: 'YOUR-VA-ID'
};
// instantiate a new OnAirApi class
const api: Api = new OnAirApi(apiConfig);
/**
* call one of the Api methods, like getCompany
* which will query the OnAir API using the above credentials
* and returns the company details
*/
let companyDetails: Company = await api.getCompany();
// or pass another companyId as the first argument
let companyDetails: Company[] = await api.getCompany('35f37dab-59ef-4fdb-b5d5-e7851def1276');
// then do something with the company data
- getCompany
- getCompanyDashboard
- getCompanyFbos
- getCompanyFleet
- getCompanyFlights
- getCompanyJobs
- getCompanyEmployees
- getCompanyCashFlow
- getCompanyIncomeStatement
- getCompanyBalanceSheet
- getCompanyWorkOrders
- getCompanyAircraftWorkOrders
- getCompanyNotifications
- getAircraft
- getAircraftMaintenanceCosts
- getAircraftEconomicDetails
- getAircraftFlights
- getAircraftAtAirport
- getAirport
- getFlight
- getVirtualAirlineMembers
- getVirtualAirline
- getVirtualAirlineShareHolders
- getVirtualAirlineRoles
- getVirtualAirlineFlights
- getVirtualAirlineFleet
- getVirtualAirlineJobs
- getVirtualAirlineWorkOrders
- getVirtualAirlineNotifications
- getVirtualAirlineIncomeStatement
- getEmployee
- getFboJobs
Fetches the company details for the given companyId.
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();
// or pass another companyId as the first argument
let companyDetails: Company[] = await api.getCompanyFbos(companyId);
Fetches the company dashboard for the given companyId.
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: CompanyDashboard = await api.getCompanyDashboard();
// or pass another companyId as the first argument
let companyDetails: CompanyDashboard = await api.getCompanyFbos(companyId);
Fetches the FBOs for a given companyId.
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();
// or pass another companyId as the first argument
let companyFbos: Fbo[] = await api.getCompanyFbos(companyId);
Fetches the aircraft that are owned, leased, or rented for a given companyId.
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();
// or pass another companyId as the first argument
let companyFleet: Aircraft[] = await api.getCompanyFleet(companyId);
getCompanyFlights(companyId?:string, page:number = 1, limit:number = 20)
Fetches the Flights for a given companyId.
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();
// or pass another companyId as the first argument
let companyFlights: Flight[] = await api.getCompanyFlights(companyId)
Fetches the pending jobs for a given companyId.
Pass true
as the first argument to return completed jobs.
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();
// or pass in another companyId as the first argument to get the completed jobs for that company
let companyJobs: Job[] = await api.getCompanyJobs(companyId);
// pass true as the second argument to return the completed jobs for the Api instanciated companyId
let completedCompanyJobs: Job[] = await api.getCompanyJobs(undefined, true);
let companyJobs: Job[] = await api.getCompanyJobs(companyId, true);
Fetches the Persons currently employed by a given companyId.
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();
Fetches the cash flow for a given companyId.
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();
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.
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)
Fetches the company's current balance sheet. Which provides a current snapshot of the financial status of a company.
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();
Fetches the company's currently generated work orders.
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();
Fetches the company's currently generated work orders for a given aircraft.
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);
const aircraftId = '73baa73c-01e3-4aae-b99b-29cff83c7f37';
let workorders: WorkOrder = await api.getCompanyAircraftWorkOrders(aircraftId);
Fetches the recent notifications for the given companyId
import OnAirApi, { Notification, 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);
// by default, will return the notifications for the Api instantiated companyId
let companyNotifications: Notification[] = await api.getCompanyNotifications();
// or
// pass a companyId as the first argument to load the notifications for the given Company
let someOtherCompaniesNotifications: Notification[] = await api.getCompanyNotifications('SOME-OTHER-COMPANY-ID');
Fetches the Aircraft details for a given aircraftId.
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);
Fetches the Aircraft details for a given aircraftId.
import OnAirApi, { MaintenanceCost, 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 maintenanceCost: MaintenanceCost = await api.getAircraftMaintenanceCosts(aircraftId);
Fetches the Aircraft details for a given aircraftId.
import OnAirApi, { EconomicDetail, 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 economicDetail: EconomicDetail = await api.getAircraftEconomicDetails(aircraftId);
Fetches the Flights flown for a given aircraftId.
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);
Fetches the Aircraft currently at a given airport code.
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 aircraft: Aircraft = await api.getAircraftAtAirport('KPHX');
Fetches Airport details for a given airport Code.
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);
Fetches Flight details for a given flightId.
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);
Fetches VirtualAirline details for a given vaId. Note: this requires the vaId to be provided during Api instantiation
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();
Fetches the members of a Virtual Airline for a given vaId.
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();
Fetches the ShareHolders of a Virtual Airline for a given vaId.
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();
Fetches the Roles for a given vaId.
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();
Fetches the Roles for a given vaId.
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 vaFlights: Flight[] = await api.getVirtualAirlineFlights();
Fetches the Roles for a given vaId.
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 vaFleet: Aircraft[] = await api.getVirtualAirlineFleet();
Fetches the current pending jobs for the given VA, if the second parameter is passed as true, it will return the completed jobs.
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 vaJobs: Job[] = await api.getVirtualAirlineJobs();
Fetches the Virtual Airline's currently generated work orders.
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.getVirtualAirlineWorkOrders();
Fetches the recent notifications for the given vaId
import OnAirApi, { Notification, 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);
// by default, will return the notifications for the Api instantiated VA using the passed vaId
let vaNotifications: Notification[] = await api.getVirtualAirlineNotifications();
// or
// pass a valid VirtualAirline Id as the first argument to load the notifications for the given VA
let someOtherVAsNotifications: Notification[] = await api.getVirtualAirlineNotifications('SOME-OTHER-VA-ID');
getVirtualAirlineIncomeStatement(vaId?:string, startDate?:string|undefined, endDate?:string|undefined)
Fetches the income statement within a given range for a given vaId. If no startDate or endDate is provided it will return the last 30 days. If either startDate or endDate is provided, it will return the last 30 days from the provided date.
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 the last 30 days
let virtualAirlineIncomeStatement: IncomeStatement = await api.getVirtualAirlineIncomeStatement();
// or
// providing a startDate and endDate
const startDate = '2021-12-01T00:00:00';
const endDate = '2022-01-30T02:58:39.104Z';
let virtualAirlineIncomeStatement2: IncomeStatement = await api.getVirtualAirlineIncomeStatement(startDate, endDate)
Fetches details for a given employeeId.
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);
Fetches pending jobs for a given fboId.
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);
const fboId = '35f37dab-59ef-4fdb-b5d5-e7851def1276';
let pendingFBOJobs: Job[] = await api.getFboJobs(fboId);
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,
});
})();
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,
});
})();