{
  "informationService": {
    "serviceAbstract": "The IWXXM TAF Subscription and Request Service provides the service consumer with TAFs for one or more aerodromes of a State as it becomes available. The service consumer can subscribe to the service, specifying the aerodrome of interest, and receive information as it becomes available. It is also possible to send a direct request, using a request-reply mechanism, to the service to get the relevant meteorological information. The meteorological information is issued by the designated Aerodrome Meteorological Office. The meteorological information is only intended to be used by service consumers within the aviation domain.",
    "serviceDefinitionProvider": {
      "provider": "EUROCONTROL",
      "providerDescription": "EUROCONTROL is an intergovernmental organisation with 41 Member and 2 Comprehensive Agreement States.",
      "pointOfContact": [
        {
          "name": "EUROCONTROL",
          "contactInformation": [
            {
              "type": "EMAIL",
              "address": "swim@eurocontrol.int"
            }
          ]
        }
      ]
    },
    "serviceCategorisation": {
      "serviceType": "SWIM_DEFINITION",
      "businessActivityType": [
        "INFORMATION_MANAGEMENT"
      ],
      "intendedConsumer": [
        "CIVIL_AIRSPACE_USER",
        "MILITARY_AIRSPACE_USER",
        "CIVIL_AIR_NAVIGATION_SERVICE_PROVIDER",
        "MILITARY_AIR_NAVIGATION_SERVICE_PROVIDER",
        "AIRPORT_OPERATOR",
        "REGULATED_METEOROLOGICAL_SERVICE_PROVIDER",
        "AIR_TRAFFIC_SERVICE_PROVIDER",
        "COMMUNICATION_NAVIGATION_AND_SURVEILLANCE_SERVICE_PROVIDER",
        "PROVIDER_OF_DATA_SERVICES",
        "AIRSIDE_GROUND_HANDLER"
      ],
      "informationCategory": [
        "METEOROLOGICAl_INFORMATION_EXCHANGE",
        "METEOROLOGICAL_INFORMATION"
      ],
      "applicationMessageExchangePattern": [
        {
          "name": "PUBLISH_SUBSCRIBE"
        },
        {
          "name": "SYNCHRONOUS_REQUEST_REPLY"
        }
      ],
      "geospatialCategorisation": {
        "description": "The service shall make TAFs available for one or more aerodrome(s) within a State. Note: it is expected that a single service will be implemented per State, covering all of the aerodromes within the State."
      },
      "other": [
        {
          "name": "Service Type",
          "value": "METEOROLOGICAL_INFORMATION_SUBSCRIPTION_SERVICE",
          "categorisationScheme": {
            "url": "http://reference.swim.aero/information-services/service-categories/CodeServiceType.html" 
          } 
        },
        {
          "name": "Service Type",
          "value": "METEOROLOGICAL_FEATURE_ACCESS_SERVICE",
          "categorisationScheme": {
            "url": "http://reference.swim.aero/information-services/service-categories/CodeServiceType.html"
          }
        },
        {
          "name": "Intended Service Provider",
          "value": "REGULATED_METEOROLOGICAL_SERVICE_PROVIDER",
          "categorisationScheme": {
            "url": "http://reference.swim.aero/information-services/service-categories/CodeStakeholderType.html"
          }
        }
      ]
    },
    "generalDescription": {
      "operationalEnvironment": {
        "operationalNeeds": [
          {
            "name": "Operational Needs",
            "description": "A list of operational needs that this service contributes to satisfying is available in Appendix B. This service satisfies these by offering meteorological information as regulated by Commission Implementing Regulation (EU) 2017/373 of 1 March 2017 and ICAO Annex 3. The scope of the meteorological information satisfies the EU Implementing Regulation 2021/116 - Common Project One."
          },
          {
            "name": "Information Exchange Requirements",
            "description": "IER 1 - The information currently included in the TAF as defined in Commission Implementing Regulation (EU) 2017/373, ICAO Annex 3 Amdt 82 and PANS-MET."
          }
        ],
        "capabilities": [
          {
            "name": "Capabilities",
            "description": "The service provides high quality, up-to-date, trusted, regulated meteorological information in digital form for use by service consumers within the aviation domain."
          }
        ]
      },
      "functionality": [
        {
          "description": "The service consumer shall be able to request the latest TAF for an aerodrome or group of aerodromes.",
          "name": "Request the latest TAF",
          "realWorldEffect": "The meteorological information is received and can be used by the service consumer."
        },
        {
          "description": "The service consumer shall be able to subscribe/unsubscribe in order to receive TAFs based on ICAO location indicator codes for aerodromes.",
          "name": "Subscribe to TAFs",
          "realWorldEffect": "Service consumer receives the Digital NOTAM."
        },
        {
          "description": "The service shall distribute the TAFs when they are available.",
          "name": "Distribute TAFs",
          "realWorldEffect": "The service consumer receives the TAFs."
        }
      ],
      "accessAndUseConditions": [ 
        
            {
                "name": "Operational Policy",
                "type": "SERVICE_POLICY",
                "description": "There shall be a service policy to ensure that only service consumers within the aviation domain can use the service. The service policy shall include a requirement that service consumers cannot pass the information obtained from the service to non-aviation users without prior authorisation from the service provider." 
            },

     
        {
          "name": "Authentication",
          "type": "SECURITY_CONSTRAINT",
          "description": "The service shall ensure consumer authentication in accordance with EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile requirement SWIM-TIYP-0042. The service shall ensure provider authentication in accordance with EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile requirement SWIM-TIYP-0042."
        },
        {
          "name": "Authorisation",
          "type": "SECURITY_CONSTRAINT",
          "description": "The service shall ensure that satisfactory authorisation is put in place according to EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile requirement SWIM-TIYP-0070."
        },
        {
          "name": "Confidentiality",
          "type": "SECURITY_CONSTRAINT",
          "description": "The service shall ensure point-to-point confidentiality in accordance with EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile through the use of Transport Layer Security (TLS) 1.2 or above."
        },
        {
          "name": "Integrity",
          "type": "SECURITY_CONSTRAINT",
          "description": "The service shall ensure point-to-point integrity in accordance with EUROCONTROL Specification for SWIM Technical Infrastructure (TI) Yellow Profile through the use of Transport Layer Security (TLS) 1.2 or above."
        }
      ],
      "qualitiesOfService": {
        "performance": [
          {
            "name": "Capacity",
            "description": "The service shall achieve a quality that is sufficient to ensure the service is fit for purpose."
          },
          {
            "name": "Response time",
            "description": "The service shall achieve a quality that is sufficient to ensure the service is fit for purpose."
          }
        ],
        "reliability": [
          {
            "name": "Availability",
            "description": "The service shall achieve a quality that is sufficient to ensure the service is fit for purpose."
          },
          {
            "name": "Recoverability",
            "description": "The service shall achieve a quality that is sufficient to ensure the service is fit for purpose."
          }
        ],
        "security": [
          {
            "name": "Confidentiality",
            "description": "The service shall ensure confidentiality by using SWIM Technical Infrastructure (TI) Yellow Profile bindings."
          },
          {
            "name": "Integrity",
            "description": "The service shall ensure integrity by using SWIM Technical Infrastructure (TI) Yellow Profile bindings."
          }
        ]
      },
      "qualityOfData": [
        {
          "name": "Quality Of Data",
          "description": "The meteorological information offered by the service shall be verified by the service provider. The meteorological information offered by the service shall be encoded according to the rules of the IWXXM standard."
        }
      ]
    },
    "informationDescription": {
      "informationDefinition": [
        {
          "name": "IWXXM TAF",
          "definition": "The service shall offer meteorological information in accordance with ICAO Annex 3. The service shall offer meteorological information in accordance with the rules of latest applicable version of IWXXM. Note: the latest applicable version of IWXXM (IWXXM 2023-1) contains the TAF schema version 3.0.1.",
          "airmCorrespondence": "urn:aero:airm:1.0.0:ConceptualModel:Subjects:AirTrafficOperations:InformationServicesProducts:MeteorologicalInformationProduct:TAF" 
        }
      ],
      "filtering": {
        "capability": [
          {
            "name": "Filter Encoding",
            "description": "The IWXXM TAF Subscription and Request Service Request Interface shall support filtering based on the ICAO location indicator of the aerodrome of interest. The IWXXM TAF Subscription and Request Service Subscription Interface shall allow for the selection of subscription based on clearly defined criteria. The service may support other filters based on the operators defined in the OGC Filter Encoding 2.0 Encoding Standard on a case by case basis."
          }
        ]
      },
      "sourceOfInformation": "The service provider shall ensure that the meteorological data offered by the services is received from the appropriate authorised originating sources. This includes:\r\n- REGULATED_METEOROLOGICAL_SERVICE_PROVIDER acting as the designated Aerodrome Meteorological Office (AMO)."
    },
    "technicalDescription": {
      "serviceMonitoring": {
        "monitoringDescription": "A service monitoring mechanism should be made available to service consumers." 
      },
      "behaviour": [
        {
          "name": "Typical Behaviour",
          "description": "The service behaviour shall be in accordance with the patterns detailed in the Message Exchange Patterns: Identification Guidelines. The typical service behaviour, is:\r\n- The service consumer subscribes to the service \r\n- The service sends the latest TAFs to subscribers when they are available and match their subscription.\r\n The interfaces have different behaviour. A combination of an AMQP 1.0 implementation and an OGC implementation shall be used for the basic behaviour. The typical behaviour for PUBLISH_SUBSCRIBE means that: \r\n- The subscription is handled by either: a request-reply implementation (see IWXXM TAF Subscription and Request Service Subscription Interface) or \r\n- an email request to the service provider.\r\n- The distribution of the messages is handled by an AMQP 1.0 implementation (see IWXXM TAF Subscription and Request Service Distribution Interface).\r\n The typical behaviour for REQUEST_REPLY (as used in IWXXM TAF Subscription and Request Service Request Interface) is as follows:\r\n Synchronous Request/Reply \r\n- The request message is sent from the service consumer to the service \r\n- The service consumer remains blocked while awaiting the reply \r\n- The service remains blocked while processing the reply \r\n- The TAF, the reply message, is sent from the service to the service consumer."
        }
      ]
    },
    "references": {
      "serviceDocument": [
        {
          "documentType": "-",
          "title": "Appendix A: References",
          "version": "1.0",
          "description": "https://swim-eurocontrol.atlassian.net/wiki/spaces/MSS/pages/60162191/IWXXM+TAF+Subscription+and+Request+Service+-+Service+Definition#IWXXMTAFSubscriptionandRequestService-ServiceDefinition-AppendixA:References"
        },
        {
          "documentType": "-",
          "title": "Appendix B: Operational Needs",
          "version": "1.0",
          "description": "https://swim-eurocontrol.atlassian.net/wiki/spaces/MSS/pages/60162191/IWXXM+TAF+Subscription+and+Request+Service+-+Service+Definition#IWXXMTAFSubscriptionandRequestService-ServiceDefinition-AppendixB:OperationalNeeds"
        },
        {
          "documentType": "-",
          "title": "Meteorological SWIM Services Subscription Interface Standard",
          "version": "1.0",
          "description": "https://swim-eurocontrol.atlassian.net/wiki/spaces/MSS/pages/60162052/Meteorological+SWIM+Services+Subscription+Interface+Standard"
        }
        
      ]
    },
    "serviceInterface": [
      {
        "name": "IWXXM TAF Subscription and Request Service Request Interface",
        "description": "Allows the service consumer to request the latest available TAFs. Note: This interface is used to group the operations offered by the chosen OGC standard.",
        "provisionSide": "PROVIDER_SIDE",
        "operations": [
          {
            "name": "GetFeature",
            "description": "Explanatory note: The OGC Web Feature Service Interface Standard and OGC API - Environmental Data Retrieval Standard are used to implement the service operations. It is not the intention to repeat the standardised operations here. However, the table below illustrates how the WFS GetFeature operation would look in the context of this service. The GetFeature operation returns a selection of features from a data store.  It responds to a GetFeature Request message with a Meteorological Aerodrome Forecast Message that satisfies the query expressions specified in the request.",
            "idempotency": "IDEMPOTENT",
            "messages": [
              {
                "name": "Request",
                "direction": "IN"
              },
              {
                "name": "TAF",
                "direction": "OUT"
              }
            ]
          }
        ],
        "messages": [
          {
            "name": "TAF",
            "description": "Request message to subscribe to an event scenario of interest.",
            "schema": {
            "description":  "The TAF information shall be provided in ICAOs Meteorological Information Exchange Model (IWXXM) format containing a collection of features.",
            "url": "https://github.com/wmo-im/iwxxm"
            },

            "isError": false
            
          },
          {
            "name": "Request",
            "description": "Request message submitted to the service containing query expressions for the WFS GetFeature operation or the EDR HTTP GET operation.",
            "isError": false
          }
        ],
        "serviceInterfaceBinding": {
          "name": "SWIM_TI_YP_1_1_WS_LIGHT",
          "description": "The WS Light Interface Binding as detailed in the EUROCONTROL Specification for SWIM Technical Infrastructure Yellow Profile, edition 1.1"
        },
        "networkInterfaceBinding": {
          "name": "Selected network interface binding",
          "description": "The service shall use the network bindings of the SWIM TIYP. The interface shall use at least one of the following OGC standards: \r\n- for services that exchange the meteorological information as resources: \r\n- OGC API - Environmental Data Retrieval Standard; \r\n- for services that exchange the meteorological information as features:\r\n- OGC Web Feature Service 2.0 Interface Standard;  \r\n- OGC API - Features. \r\n Note: it is a best practice for new services that exchange meteorological information to implement the OGC API - Environmental Data Retrieval Standard. \r\n Existing services based on the OGC Web Feature Service 2.0 Interface Standard should indicate an end-of-life date."
        }
      },
      {
        "name": "IWXXM TAF Subscription and Request Service Subscription Interface",
        "description": "Allows the service consumer to select and subscribe to TAFs for aerodromes of interest. It allows the service consumer to manage the subscriptions e.g. to unsubscribe. Note: This is an optional interface. Many service providers will prefer to receive subscription requests by email.",
        "provisionSide": "PROVIDER_SIDE",
        "operations": [
          {
            "name": "Meteorological SWIM Services Subscription Interface Standard",
            "description": "The standard operations for subscription and subscription management. The following operations shall be implement at a minimum: subscribe, unsubscribe"
          }
        ],
        "serviceInterfaceBinding": {
          "name": "SWIM_TI_YP_1_1_WS_LIGHT",
          "description": "The WS Light Interface Binding as detailed in the EUROCONTROL Specification for SWIM Technical Infrastructure Yellow Profile, edition 1.1."
        },
        "networkInterfaceBinding": {
          "name": "selected network interface binding",
          "description": "The service shall use the network bindings of the SWIM Technical Infrastructure (TI) Yellow Profile."
        }
      },
      {
        "name": "IWXXM TAF Subscription and Request Service Distribution Interface",
        "description": "Allows the service provider to distribute the latest available TAFs meeting the need of the service consumer that has subscribed for updates.",
        "provisionSide": "CONSUMER_SIDE",
        "operations": [
          {
            "name": "Publish",
            "description": "This operation allows the service provider to publish Meteorological Aerodrome Forecast Message to service consumers based on their subscriptions.",
            "messages": [
              {
                "name": "TAF",
                "direction": "IN"
              }
            ]
          }
        ],
        "messages": [
          {
            "name": "TAF",
            "description": "The message that is an output of the service, containing the TAF information.",
            "schema": {
            "description":  "The TAF information shall be provided in ICAOs Meteorological Information Exchange Model (IWXXM) format containing a collection of features.",
            "url":  "https://github.com/wmo-im/iwxxm"
            },
            
            "isError": false

          }
        ],
        "serviceInterfaceBinding": {
          "name": "SWIM_TI_YP_1_1_AMQP_MESSAGING",
          "description": "The AMQP_MESSAGING Interface Binding as detailed in the EUROCONTROL Specification for SWIM Technical Infrastructure Yellow Profile, edition 1.1."
        },
        "networkInterfaceBinding": {
          "name": "selected network interface binding",
          "description": "The service shall use the network bindings of the SWIM TIYP. AMQP 1.0 shall be used to distribute messages as explained in the Publish/Subscribe Push MEP: Implementation Guidance."
        }
      }
    ],
    "descriptionInformation": {
      "descriptionIdentification": {
        "title": "Service definition for the IWXXM TAF Subscription and Request Service",
        "referenceDate": "2024-06-17",
        "edition": "00.00.04"
      },
      "abbreviations": [
    {
        "name": "AMO",
        "description": "Aerodrome Meteorological Office"
    },
    {
        "name": "AMQP",
        "description": "Advanced Message Queuing Protocol"
    },
    {
        "name": "API",
        "description": "Application Programming Interface"
    },
    {
        "name": "EDR",
        "description": "Environmental Data Retrieval"
    },
    {
        "name": "EU",
        "description": "European Union"
    },
    {
        "name": "ICAO",
        "description": "International Civil Aviation Organization"
    },
    {
        "name": "IWXXM",
        "description": "ICAO Meteorological Information Exchange Model"
    },
    {
        "name": "JSON",
        "description": "JavaScript Object Notation"
    },
    {
        "name": "MEP",
        "description": "Message Exchange Pattern"
    },
    {
        "name": "OGC",
        "description": "Open Geospatial Consortium"
    },
    {
        "name": "PANS-MET",
        "description": "ICAO Procedures for Air Navigation Services - Meteorology"
    },
    {
        "name": "SWIM",
        "description": "System wide information management"
    },
    {
        "name": "TAF",
        "description": "Terminal Aerodrome Forecast"
    },
    {
        "name": "TCU",
        "description": "Towering Cumulus"
    },
    {
        "name": "TI",
        "description": "Technical Infrastructure"
    },
    {
        "name": "TIYP",
        "description": "Technical Infrastructure Yellow Profile"
    },
    {
        "name": "TLS",
        "description": "Transport Layer Security"
    },
    {
        "name": "WFS",
        "description": "Web Feature Service"
    },
    {
        "name": "WMO",
        "description": "World Meteorological Organization"
    },
    {
        "name": "XML",
        "description": "Extensible Markup Language"
    }
]
    },
    "serviceIdentification": {
      "name": "IWXXM TAF Subscription and Request Service",
      "version": "1.0"
    }
  }
}