Flight Planning is the most common use of LMFS Web Services. The current offering provides the following capabilities:
- Filing
- Amending
- Activating
- Cancelling
- Closing
- Retrieve
Filing
LMFS Web Services offering allows developers to file the FAA domestic flight plan form or the ICAO flight plan form for IFR and VFR flight plans. We also provide support for flights leaving and arriving in the United States (International to International flights are not supported). Some aspects to know about our system that will help you get a better understanding of how things work and put you in a better position to answer questions from your users:
- VFR Flight Plans: VFR Flight Plans remain within the LMFS system throughout the duration of a flight. Once you file a VFR flight plan, it can be amended until cancelled or up to 2 hours past the ETD. It can be activated within 30 minutes of the current time before or after. After activation, the flight plan can be amended until the flight plan is closed. The flight plan must be closed within 30 minutes of the estimated time of arrival (note, LMFS offers an advanced services feature that will send a text message with a link to a pilot that they can close before the flight plan is overdue, one reason to considered credentialed filing. You may also consider such a reminder in your own application)
- IFR Flight Plans: IFR Flight Plans end up routed to the appropriate ARTCC for the flight to be managed by ATC. 3 hours prior to ETD (or immediately if filed within this window and the ETD is less than 3 hours away), it is transmitted to ATC. When the flight plan is ROGERED by ATC, the flight plan will not be accessible via web services after ETD. A flight plan can be amended or cancelled up to 30 minutes prior to ETD. After that, the pilot will need to contact the requisite ATC center to manage the flight plan. Status of the IFR flight plan in the NAS can be pulled via web services through a retrieveFlightPlan message or the notifications can be pushed to you via a registered webhook
An example of a flight plan and the expected response:
$ /usr/bin/curl -k -A "Mozilla/5.0" -i -c cookies/cookies. --header "Authorization: Basic bWVAbGV0bWVpbi5jb206TXlQYXNzdzByZCE=" --data "type=DOMESTIC&webUserName=me%40letmein.com&flightRules=VFR&aircraftIdentifier=MESSN&departure=HOU&destination=MIA&departureInstant=2015-03-04T14:48:00.0&flightDuration=PT1H30M&route=LEV%20Q102%20CYY%20SSCOT&altDestination1=LAX&altDestination2=SEA&aircraftType=P28A&numberOfAircraft=3&heavyWakeTurbulence=true&aircraftEquipment=G&remarks=This%20is%20a%20domestic%20flight%20plan%20test&speedKnots=100&altitudeFL=35&fuelOnBoard=PT20H0M&pilotData=PILOT%20INFO&peopleOnBoard=1&aircraftColor=W" "http://www.elabs.testafss.net/Website2/rest/FP/file" -v {"versionStamp":"20150304024814280","flightIdentifier":"298351728_447141_1053","returnCodedMessage":[],"returnMessage":[],"returnStatus":true}
Important items to note in the response:
versionStamp - VersionStamp is the version of the flight plan that is retained in our system. Whenever you do anything to modify the flight plan, you need to operate on the latest version of the time stamp. Your best bet is to pull the latest version of the flight plan (which will have the most recent version stamp) by making a retrieveFlightPlan request.
flightIdentifier - This is the unique identifier for every flight plan that is created in the system. It is used on other web service calls that fetch data based on a specific flight plan. (such as retrieveFlightPlan, retrieveAlertByFlightId, acknowledgeAlert). This value does not change. You should retain this information on your side so you have a reference to it in the future, particularly if you are using anonymous filing.
Amending
Below is an example of amending a flight plan, using the example above as the initial file. Note that the versionStamp is modified.
$ /usr/bin/curl -k -A "Mozilla/5.0" -i -c cookies/cookies. --header "Authorization: Basic bWVAbGV0bWVpbi5jb206TXlQYXNzdzByZCE=" --data "type=DOMESTIC&versionStamp=20150304024814280&webUserName=me%40letmein.com&flightRules=IFR&aircraftIdentifier=MESSN&departure=HOU&destination=MIA&departureInstant=2015-03-04T14:48:00.0&flightDuration=PT1H20M&route=&altDestination1=&altDestination2=&aircraftType=L18&numberOfAircraft=&aircraftEquipment=X&remarks=&speedKnots=150&altitudeFL=45&fuelOnBoard=PT21H0M&pilotData=JOE%20COOL&peopleOnBoard=2&aircraftColor=B" "http://www.elabs.testafss.net/Website2/rest/FP/file" -v {"versionStamp":"20150304024817490","returnCodedMessage":[],"returnMessage":[],"returnStatus":true}
Activating
Activating is used for activating VFR flight plans. We do not support the activation of IFR flight plans. The flight plan must be in the PROPOSED state. (Meaning that it has been filed, hasn't been activated previously and hasn't been cancelled/closed)
$ /usr/bin/curl -k -A "Mozilla/5.0" -i -c cookies/cookies. --header "Authorization: Basic bWVAbGV0bWVpbi5jb206TXlQYXNzdzByZCE=" --data "&actualDepartureInstant=2015-03-04T15:03:00.0&versionStamp=20150304024817490&includeCodedMessages=true""http://www.elabs.testafss.net/Website2/rest/FP/298351728_447141_1053/activate" -v {"versionStamp":"20150304030332170","returnCodedMessage":[],"returnMessage":[],"returnStatus":true}