aeroPS Prices API

The aeroPS prices API enables you to access the products and services of an airport (landing prices, fuel prices,...) and to interact with PPR forms.

Endpoints:

  • GET prices for selected airport and aircraft:
    https://avdb.aerops.com/public/prices

Authentication:

All requests use Basic Authentication over HTTPS. Please send an email to support@aerops.com to request an API key for the prices API.

Airports

Get a list of airports available in aeroPS. Results can be filtered with limit and offset parameters. E.g /public/airports?limit=1&offset=1
Example airport result:

{
  "name":"EBFS",
  "latitude":"50.2433013916",
  "longitude":"4.64583015442",
  "paymentEnabled":true,
  "pprEnabled":false,
  "fuelProvider":null,
  "newAirport":false,
  "fuelAvailable":false,
  "currency":"EUR",
  "feesLastChanged":"2018-12-18"
}
           
More explanations:
paymentEnabled:
if set to true, the airport has enable the payment of products through our services
pprEnabled:
if set to true, the airport uses the default aeroPS PPR form
fuelProvider:
list available fuels at the airport
fuelAvailable:
if set to true, the airport has enabled payment of fuel though our application.

Prices

Queries:

Add those queries to the base url to get the desired information.

To get a reply from the API, you need to send at minimum airportName and aircarftName queries. If the queried aircraft exists in our database it will automatically provide the necessary data for price calculations. If the aircraft is not available in our database you can additionally send aircraftMtow and aircraftClass data in the query.

  • aircraftName:
    (type: String, required: true)
    Description: Name of the aircraft
    ex:
    D-KSTD
  • airportName:
    (type: String, required: true)
    ex:
    EDAY
  • pax:
    (type: Int, required: false)
    ex:
    20
    landings:
    (type: Int, required: false)
    ex:
    3
  • landingType:
    (type: String, required: false)
    ex:
    school_landing
  • approachType:
    (type: String, required: false)
    ex:
    ifr_approach
  • eta:
    (type: Date, required: false)
    ex:
    2021-11-26 T11:00:00
  • etd:
    (type: Date, required: false)
    ex:
    2021-11-30 T11:00:00

Example of an url with all possible queries:


https://avdb.aerops.com/public/prices?aircraftName=D-KSTD&airportName=EDAY&pax=20&landings=3&landingType=school_landing&approachType=ifr_approach&eta=2021-11-26%20T11%3A00%3A00&etd=2021-11-30%20T11%3A00%3A00
        

Expected Results:

If you give a value to the given queries, you will get the following result:

  • landingProducts:
    (result type: Array of landingProduct)
    Example Result:
    
    [{
      "articleId": "EDAY10155",
      "price": 4.1,
      "netprice": 3.45,
      "title": "Landing fee , Increased soundproofing - MTOW up to 1000kg",
      "quantity": 1,
      "tax": "19.00"
    }]
                        
  • approachProducts:
    (result type: Array of approachProduct)
    Example Result:
    
    [{
      "articleId": "EDAY10212",
      "price": 10,
      "netprice": 8.4,
      "title": "Anflugentgelt , Normal bis 1500kg",
      "quantity": 1,
      "tax": "19.00"
    }]
                        
  • additionalLandingProducts:
    (result type: Array of additionalLandingProducts)
    Example Result:
    
    [{
      "articleId": "EDAY10122",
      "price": 11.15,
      "netprice": 9.61,
      "title": "RAMP-KAT-1",
      "quantity": 1,
      "tax": "16.00"
    }]
                        
  • packageProducts:
    (result type: Array of packageProduct)
    Example Result:
    
    [{
      "articleId": "EDAY10299",
      "price": 12,
      "netprice": 10.08,
      "title": "package 10 landungen",
      "tax": "19.00"
    }]
                        
  • fuellingProducts:
    (result type: Array of fuellingProduct)
    Example Result:
    
    [{
      "articleId": "EDAY_myArticle_1234",
      "price": 2.23,
      "netprice": 2.0899999999999999,
      "optionalTaxAmount": "1.2312312",
      "behgTaxAmount": null,
      "title": "Refueling",
      "tax": "7.00"
    },
                        
  • aircraft:
    (result type: Object)
    Example Result:
    
    {
      "name": "DKSTD",
      "aircraftMtow": 770,
      "aircraftChapter": 10,
      "aircraftClass": 5,
      "noiseLevel": "60.00",
      "noiseClass": 3,
      "availableInAerops": true
    }
                        
  • forms:
    (result type: Object)
    Example Result:
    
    {
    "id": 3,
    "name": "PPR",
    "description": "außerhalb regulärer Öffnungszeiten",
    "schema": "{\"schema\":{\"name\":{\"title\":\"Name \\/ Firma\",\"placeholder\":\"Full Name\",\"required\":true,\"type\":\"string\"},\"street\":{\"title\":\"Stra\\u00dfe \\/ Nr.\",\"placeholder\":\"Street Number\",\"required\":true,\"type\":\"string\"},\"city\":{\"title\":\"PLZ und Stadt\",\"placeholder\":\"City and Zip\",\"required\":true,\"type\":\"string\"},\"email\":{\"title\":\"E-Mail\",\"required\":true,\"type\":\"email\"},\"phone\":{\"title\":\"Telefon\",\"required\":true,\"type\":\"tel\"},\"arrivalDateTime\":{\"title\":\"Ankunftszeit (UTC)\",\"type\":\"text\"},\"departureDateTime\":{\"title\":\"Abflugzeit (UTC)\",\"type\":\"text\"},\"arrivingFrom\":{\"title\":\"Flug von \",\"required\":true,\"type\":\"string\"},\"departingTo\":{\"title\":\"Flug nach\",\"required\":true,\"type\":\"string\"},\"paxIn\":{\"title\":\"Number of Passengers in\",\"required\":true,\"type\":\"integer\",\"min\":0,\"max\":0,\"minimum\":0,\"maximum\":99999},\"paxOut\":{\"title\":\"Number of Passengers out\",\"required\":true,\"type\":\"integer\",\"min\":0,\"max\":0,\"minimum\":0,\"maximum\":99999},\"aircraftType\":{\"title\":\"Aircraft Type\",\"required\":true,\"type\":\"string\"},\"licenceNumber\":{\"title\":\"LFZ-Kennzeichen\",\"required\":true,\"type\":\"string\"},\"flightType\":{\"title\":\"Flugtyp\",\"required\":true,\"type\":\"string\",\"enum\":[\"Streckenflug\",\"Platzrundenfl\\u00fcge\",\"Erweiterte Platzrundenfl\\u00fcge\"]},\"mtow\":{\"title\":\"MTOW\",\"required\":true,\"type\":\"integer\",\"min\":0,\"max\":0,\"minimum\":0,\"maximum\":99999},\"remarks\":{\"title\":\"Sonstiges\",\"required\":false,\"type\":\"textarea\"},\"schengen\":{\"title\":\"Arrival\\/Departure in Schengen\",\"default\":true,\"type\":\"checkbox\"},\"avgas\":{\"title\":\"AvGas\",\"default\":false,\"type\":\"boolean\"},\"mogas\":{\"title\":\"MoGas\",\"default\":false,\"type\":\"boolean\"},\"diesel\":{\"title\":\"Diesel\",\"default\":false,\"type\":\"checkbox\"},\"jetA1\":{\"title\":\"Jet A1\",\"default\":false,\"type\":\"checkbox\"},\"etaOrEtdRequired\":{}},\"form\":[{\"key\":\"name\",\"prepend\":\"Name\",\"notitle\":true,\"fieldHtmlClass\":\"input-sm\"},{\"key\":\"street\",\"prepend\":\"Stra\\u00dfe\",\"notitle\":true,\"fieldHtmlClass\":\"input-sm\"},{\"key\":\"city\",\"prepend\":\"PLZ und Stadt\",\"notitle\":true,\"fieldHtmlClass\":\"input-sm\"},{\"key\":\"email\",\"prepend\":\"E-Mail\",\"notitle\":true,\"fieldHtmlClass\":\"input-sm\"},{\"key\":\"phone\",\"prepend\":\"Telefon\",\"notitle\":true,\"fieldHtmlClass\":\"input-sm\"},\"departureDateTime\",\"arrivalDateTime\",{\"key\":\"arrivingFrom\",\"prepend\":\"Flug von\",\"notitle\":true,\"fieldHtmlClass\":\"input-sm\",\"placeholder\":\"ICAO code\"},{\"key\":\"departingTo\",\"prepend\":\"Flug nach\",\"notitle\":true,\"fieldHtmlClass\":\"input-sm\",\"placeholder\":\"ICAO code\"},{\"key\":\"licenceNumber\",\"prepend\":\"LFZ-Kennzeichen\",\"notitle\":true,\"fieldHtmlClass\":\"input-sm\",\"placeholder\":\"D-\"},{\"key\":\"flightType\",\"prepend\":\"Flugtyp\",\"notitle\":true,\"fieldHtmlClass\":\"input-sm-disabled\",\"placeholder\":\"D-\"},{\"key\":\"remarks\",\"fieldHtmlClass\":\"input-sm\",\"placeholder\":\"\"}]}",
    "embedLink": "https://gat.aerops.com/form-data/EDAY/3",
    "link": "https://gat.aerops.com/form/EDAY/3"
    }
                        
  • airport:
    (result type: Object)
    Example Result:
    
    {
      "name": "EDAY",
      "paymentEnabled": true,
      "fuelProvider": "",
      "newAirport": false,
      "fuelAvailable": true,
      "currency": "€",
      "availableInAerops": true
    }
                        



AircraftClass values: 

id description
1 Aircraft
2 Rotorcraft
3 Airship
4 Sailplane
4 Glider
5 Motorglider
6 Balloon
7 Ultralight

PPR

Our PPR services provide functions to handle Prior Permission Requests exchanged between pilots and aiports. Normally this is done via embedded web forms generated by our system. You can use the API to post PPR request data directly to an airport. This enables you to build forms or inputs using your own services.

Getting PPR form fields

If an airport has activated a service form or a PPR form, these can be called up using the following URL scheme https://avdb.aerops.com/public/prices?airportName=EDAY

Expected Result:


{
  "forms": [
    {
      "id": 2,
      "name": "Simple PPR test",
      "description": "This is a ppr template for testing",
      "schema": "{\"schema\":{\"name\":{\"title\":\"Contact Name\",\"placeholder\":\"Full Name\",\"required\":true,\"type\":\"string\"},\"email\":{\"title\":\"Email Address\",\"required\":true,\"type\":\"email\"},\"phone\":{\"title\":\"Phone\",\"required\":true,\"type\":\"tel\"},\"arrivalDateTime\":{\"title\":\"Arrival time (UTC)\",\"type\":\"text\"},\"departureDateTime\":{\"title\":\"Departing time (UTC)\",\"type\":\"text\"},\"arrivingFrom\":{\"title\":\"Arriving from\",\"required\":true,\"type\":\"string\"},\"departingTo\":{\"title\":\"Departing to\",\"required\":true,\"type\":\"string\"},\"paxIn\":{\"title\":\"Number of Passengers in\",\"required\":true,\"type\":\"integer\",\"min\":0,\"max\":0,\"minimum\":0,\"maximum\":99999},\"paxOut\":{\"title\":\"Number of Passengers out\",\"required\":true,\"type\":\"integer\",\"min\":0,\"max\":0,\"minimum\":0,\"maximum\":99999},\"aircraftType\":{\"title\":\"Aircraft Type\",\"required\":true,\"type\":\"string\"},\"licenceNumber\":{\"title\":\"Aircraft Registration\",\"required\":true,\"type\":\"string\"},\"flightType\":{\"title\":\"Flight Type\",\"required\":true,\"type\":\"string\",\"enum\":[\"Private\",\"Commercial\",\"Air Taxi\"]},\"mtow\":{\"title\":\"MTOW\",\"required\":true,\"type\":\"integer\",\"min\":0,\"max\":0,\"minimum\":0,\"maximum\":99999},\"remarks\":{\"title\":\"Remarks\",\"required\":false,\"type\":\"textarea\"}},\"form\":[\"email\",\"arrivalDateTime\",\"licenceNumber\",{\"key\":\"remarks\",\"placeholder\":\"Remarks\"}]}",
      "embedLink": "https://gat.aerops.com/form-data/EDAY/2",
      "link": "https://gat.aerops.com/form/EDAY/2"
    }
  ],
  "airport": {
    "name": "EDAY",
    "paymentEnabled": true,
    "availableInAerops": true,
    "currency": "€"
  }
}
                    

Posting PPR Form Data

Utilizing the schema from the response you can POST data in the jsonformData key to a selected PPR form using the following endpoint, replacing {{id}} with the targeted form id:

https://avdb.aerops.com/public/ppr-data/{{id}}

Example POST:


             {
    "userEmail":"test@test.de",
  "licenseNumber": "LICENCENUMBER_EXAMPLE",
  "jsonformSchema": "{\"schema\":{\"name\":{\"title\":\"Contact Name\",\"type\":\"string\"},\"email\":{\"title\":\"Email Address\",\"type\":\"email\"},\"phone\":{\"title\":\"Phone\",\"type\":\"tel\"},\"arrivalDateTime\":{\"title\":\"Arrival time (UTC)\",\"type\":\"text\"},\"departureDateTime\":{\"title\":\"Departing time (UTC)\",\"type\":\"text\"},\"arrivingFrom\":{\"title\":\"Arriving from\",\"type\":\"string\"},\"departingTo\":{\"title\":\"Departing to\",\"type\":\"string\"},\"paxIn\":{\"title\":\"Number of Passengers in\",\"type\":\"integer\"},\"paxOut\":{\"title\":\"Number of Passengers out\",\"type\":\"integer\"},\"aircraftType\":{\"title\":\"Aircraft Type\",\"type\":\"string\"},\"licenceNumber\":{\"title\":\"Aircraft Registration\",\"type\":\"string\"},\"mtow\":{\"title\":\"MTOW\",\"type\":\"integer\"},\"remarks\":{\"title\":\"Remarks\",\"type\":\"textarea\"}},\"form\":[\"name\",\"email\",\"phone\",\"arrivalDateTime\",\"departureDateTime\",\"arrivingFrom\",\"departingTo\",\"paxIn\",\"paxOut\",\"aircraftType\",\"licenceNumber\",\"mtow\",\"remarks\"]}",
  "jsonformData": "{\"name\":\"NAME_EXAMPLE\",\"email\":\"example@example.de\",\"phone\":\"+4911111111111\",\"arrivalDateTime\":\"Sat Jan 01 2022 15:15:00 GMT+0000\",\"departureDateTime\":\"Sun Jan 02 2022 15:15:00 GMT+0000\",\"arrivingFrom\":\"ICAO\",\"departingTo\":\"ICAO\",\"paxIn\":\"3\",\"paxOut\":\"3\",\"aircraftType\":\"TYPE_EXAMPLE\",\"licenceNumber\":\"LICENCENUMBER_EXAMPLE\",\"mtow\":\"2000\",\"remarks\":\"Hi \"}"
}