Having worked on the new FAA NOTAM Management Service, the Development Team (DT) have does a lot of work in supporting NOTAMs. The starting point is the Notam struct and this is made up of a series of other objects that form the NOTAM data, these being: NotamItem A through to G and also the Notam Qualification. There is a lot of data checking going when a NOTAM is created and any discrepancies relating to the format can be accessed through the ValidationMessages property.
Where possible we have tried to used .NET data types that best fit the information of the NOTAM. For example in the case of Traffic Qualifiers these can be a combination so these are implemented using an Enum with the .NET [Flags] attribute for combinations.

As you look through the API documentation we have tried to add useful information relating to NOTAMs and the format.
Testing our code – As in all of the SDK, we use Unit Test cases to make sure the code written is of a high quality and it behaves how it was designed to. Below is a screenshot of part of the Notam struct initialization test:

Sourcing the NOTAM – Currently you are able to use the FAA NMS and ICAO API Data Service to download NOTAM data to your app. We know there are other sources and, if requested, we might support these other web based API’s.
Of course, you can create your own .NET NOTAM object in your code if you are a provider. This is achieved by calling the constructors that we have implemented.
Currently we are adding a NOTAM decoder to our sample app on GitHub so please do take a look.
If you have a question, want to suggest a new feature then please just make contact and we’ll be happy to help.