{
  "informationService": {
    "descriptionInformation": {
      "descriptionIdentification": {
        "title": "FMI - TAF in IWXXM",
        "edition": "1.0",
        "referenceDate": "2025-12-19"
      },
      "abbreviations": [
        {
          "name": "AIRM",
          "description": "ATM Information Reference Model"
        },
        {
          "name": "AMQP",
          "description": "Advanced Queueing Message Protocol (1.0) – per SWIM TI Yellow Profile Messaging"
        },
        {
          "name": "ATC",
          "description": "Air Traffic Control"
        },
        {
          "name": "ATM",
          "description": "Air Traffic Management"
        },
		{
          "name": "FMI",
          "description": "Finnish Meteorological Institute"
        },
        {
          "name": "HTTP",
          "description": "Hypertext Transfer Protocol"
        },
        {
          "name": "ICAO",
          "description": "International Civil Aviation Organization"
        },
        {
          "name": "IER",
          "description": "Information Exchange Requirement"
        },
        {
          "name": "IR",
          "description": "Implementation Rules"
        },
        {
          "name": "ISRM",
          "description": "Information Service Reference Model"
        },
        {
          "name": "IWXXM",
          "description": "ICAO Meteorological Information Exchange Model"
        },
        {
          "name": "METAR",
          "description": "Meteorological Aerodrome Report"
        },
		{
          "name": "NAMCON",
          "description": "Northern Europe Aviation Meteorology Consortium"
        },	  
        {
          "name": "NWS",
          "description": "National Weather Service"
        },
        {
          "name": "OGC",
          "description": "Open Geospatial Consortium"
        },
        {
          "name": "PCP",
          "description": "Pilot Common Project"
        },
        {
          "name": "REQ",
          "description": "Requirement"
        },
        {
          "name": "WMO",
          "description": "World Meteorological Organization"
        },
        {
          "name": "SIGMET",
          "description": "Significant meteorological phenomena"
        },
        {
          "name": "TAF",
          "description": "Terminal Aerodrome Forecast"
        }
      ]
    },
    "serviceIdentification": {
      "name": "FMI - TAF in IWXXM",
      "version": "1.0"
    },
    "serviceAbstract": "The service provides the latest TAF reports in IWXXM for Finnish aerodromes in compliance with ICAO Annex 3, PANS-MET and EU Implementing Regulations. Retrieval is available via (1) an OGC API - Environmental Data Retrieval (EDR) endpoint where the IWXXM data is provided as a ZIP archive, and (2) subscription over AMQP 1.0 where the message contains the IWXXM as payload.",
    "serviceProvider": {
      "providerType": [
        "REGULATED_METEOROLOGICAL_SERVICE_PROVIDER"
      ],
      "pointOfContact": [
        {
          "name": "FMI Aviation Customer Service",
          "contactInformation": [
            {
              "type": "EMAIL",
              "address": "ilmailu@fmi.fi"
            },
            {
              "type": "PHONE",
              "address": "+358 29 539 1000"
            },
            {
              "type": "URL",
              "address": "https://www.fmi.fi"
            }
          ],
          "role": "Data Provider"
        }
      ],
      "provider": "FMI",
      "providerDescription": "The Finnish Meteorological Institute (FMI) is the designated aeronautical weather service provider in Helsinki FIR and provides aeronautical meteorological services in accordance with ICAO Annex 3 and EU Implementing Regulations. FMI boasts over a century of expertise in aviation meteorology and is a globally recognized leader in atmospheric science."
    },
    "serviceCategorisation": {
      "serviceType": "SWIM_COMPLIANT",
      "businessActivityType": [
        "AERODROME_OPERATION",
        "AIRSPACE_ORGANISATION_AND_MANAGEMENT",
        "INFORMATION_MANAGEMENT",
        "SERVICE_DELIVERY_MANAGEMENT"
      ],
      "intendedConsumer": [
        "AIR_TRAFFIC_SERVICE_PROVIDER",
        "AIRPORT_OPERATOR",
        "AIRSIDE_GROUND_HANDLER",
        "CIVIL_AIR_NAVIGATION_SERVICE_PROVIDER",
        "CIVIL_AIRSPACE_USER",
        "COMMUNICATION_NAVIGATION_AND_SURVEILLANCE_SERVICE_PROVIDER",
        "MILITARY_AIR_NAVIGATION_SERVICE_PROVIDER",
        "MILITARY_AIRSPACE_USER",
        "PROVIDER_OF_DATA_SERVICES",
        "REGULATED_METEOROLOGICAL_SERVICE_PROVIDER"
      ],
      "informationCategory": [
        "METEOROLOGICAL_INFORMATION_EXCHANGE"
      ],
      "applicationMessageExchangePattern": [
        {
          "name": "Request/Reply"
        },
        {
          "name": "Publish/Subscribe with Push Mechanism"
        }
      ],
      "geospatialCategorisation": {
        "countryCode": [
          "FI"
        ],
        "fir": [
            "EFIN"
        ],
          "description": "The dataset is valid for Finland (Finland FIR/EFIN)."
      },
      "other": [
        {
          "name": "Service Type: METEOROLOGICAL_FEATURE_ACCESS_SERVICE",
          "value": "METEOROLOGICAL_FEATURE_ACCESS_SERVICE",
          "categorisationScheme": {
            "url": "http://reference.swim.aero/information-services/service-categories/CodeServiceType.html"
          }
        },
        {
          "name": "Service Type: METEOROLOGICAL_INFORMATION_SUBSCRIPTION_SERVICE",
          "value": "METEOROLOGICAL_INFORMATION_SUBSCRIPTION_SERVICE",
          "categorisationScheme": {
            "url": "http://reference.swim.aero/information-services/service-categories/CodeServiceType.html"
          }
        }
      ],
      "lifeCycle": [
        {
          "lifeCycleStage": "OPERATIONAL",
          "from": "2025-12-19"
        }
      ]
    },
    "generalDescription": {
      "operationalEnvironment": {
        "operationalNeeds": [
          {
            "name": "Operational Needs",
            "description": "This service contributes to fulfilling operational needs as defined in Commission Implementing Regulation (EU) 2017/373 and ICAO Annex 3. It supports 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 Amendment 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": [
        {
          "name": "Distribute Data",
          "description": "The service distributes the data according to the stored subscriptions and topics.",
          "realWorldEffect": "Information has been shared; the service consumer gets the requested data."
        },
        {
          "name": "Request Data",
          "description": "The consumer can request data from the service using an OGC API - EDR endpoint.",
          "realWorldEffect": "Information has been shared; the service consumer gets the requested data."
        },
        {
          "name": "Subscribe to Data",
          "description": "The user can subscribe to data via AMQP 1.0. Messages follow the SWIM TI Yellow Profile (Messaging).",
          "realWorldEffect": "Subscription established; data is received upon publication."
        }
      ],
      "qualitiesOfService": {
        "performance": [
           {
             "name": "Time Behaviour",
             "description": "Under normal operations 95% of messages will be delivered within 5 minutes after the issuing time."
           },
           {
             "name": "Capacity",
             "description": "Capacity of the services is monitored and can be reduced and/or revoked in case of overload of the system."
           }
        ],
        "reliability": [
           {
             "name": "Availability",
             "description": "99.9 % outside planned updates and outages."
           },
           {
             "name": "Recoverability",
             "description": "Best effort."
           }
        ],
        "security": [
           {
             "name": "Integrity",
             "description": "Integrity is protected by using TLS layer for all the service interface bindings."
           },
           {
             "name": "Confidentiality",
             "description": "Data delivery is only available for registered users, who need to present their credentials for access to the services using API keys for HTTP based connections, and using SASL plain for AMQP connections."
           }
        ]
      },
      "accessAndUseConditions": [
        {
          "name": "General Terms and Conditions of Business",
          "type": "LEGAL_CONSTRAINT",
          "description": "Terms and conditions are available at https://en.ilmatieteenlaitos.fi/swim-policy"
        },
        {
          "name": "Information Retainment",
          "type": "SERVICE_CONSUMPTION_CONSTRAINT",
          "description": "According to ICAO Annex 3, meteorological information is retained for a period of at least 30 days from the date of issue."
        },
        {
          "name": "Subscription",
          "type": "SERVICE_CONSUMPTION_CONSTRAINT",
          "description": "Consumers begin receiving data by connecting to the published endpoints with appropriate credentials; no explicit subscribe/unsubscribe API is provided. Contact FMI Aviation Customer Service via e-mail for credentials and details."
        },
        {
          "name": "Authentication and authorization",
          "type": "SECURITY_CONSTRAINT",
          "description": "Access is limited by policy to users within the Aviation domain. Authentication is managed using SASL PLAIN for AMQP, and API keys for EDR API. In the future authentication and authorization via EACP issued Aviation Domain Certificate may be required to use the services."
        },
        {
          "name": "Encryption",
          "type": "SECURITY_CONSTRAINT",
          "description": "Communication is encrypted per SWIM TI Yellow Profile."
        },
        {
          "name": "Signature",
          "type": "SECURITY_CONSTRAINT",
          "description": "The requested information may contain a digital signature using SHA-256 or stronger."
        }
      ],
      "validation": [
        {
          "type": "SELF_VALIDATION",
          "description": {
            "evidence": "Service tested by FMI"
          }
        }
      ],
      "dateInOperation": "2025-12-19"
    },
    "informationDescription": {
      "filtering": {
        "capability": [
          {
            "name": "Filtering Capabilities (EDR)",
            "description": "Filtering is exposed through OGC API - EDR query parameters and collections, including spatial, temporal, and parameter subsetting of IWXXM-derived attributes (e.g., aerodrome ICAO designator, validity period).",
            "reference": {
              "url": "https://swim-eurocontrol.atlassian.net/wiki/spaces/MSS/pages/630194181/MET+SWIM+OGC+EDR+Guidance"
            }
          },
          {
            "name": "Filtering Capabilities (AMQP)",
            "description": "Topic-based filtering is available through the broker’s topic hierarchy. Private queues with provider-defined selectors consistent with SWIM TI Yellow Profile may be provisioned.",
            "reference": {
              "url": "https://swim-eurocontrol.atlassian.net/wiki/spaces/MSS/pages/638156804/AMQP+Message+Structure+in+MET-SWIM"
            }
		  }
        ]
      },
      "sourceOfInformation": "The service provider ensures that the data offered for the Finnish FIR within this service is created by FMI, a REGULATED_METEOROLOGICAL_SERVICE_PROVIDER. The service may also contain data provided by other REGULATED_METEOROLOGICAL_SERVICE_PROVIDERs from NAMCON states.",
      "informationDefinition": [
        {
          "name": "TAF (Terminal Aerodrome Forecast)",
          "definition": "A digital aeronautical meteorological forecast for an aerodrome, covering a defined validity period, encoded and exchanged using IWXXM.",
          "airmCorrespondence": "AIRM 1.0.0 :: TAF — correspondence and mapping notes: https://airm.aero/developers/icao-wxxm-3.0.0-to-airm-1.0.0-index",
          "datatype": "IWXXM 3.x TAF",
          "cardinality": "0..*",
          "constraints": "IWXXM version 3.0 (https://schemas.wmo.int/iwxxm/3.0/iwxxm.xsd). Payload is raw XML in AMQP messages and zip archive in EDR responses; no size constraints.",
          "path": "/taf"
        }
      ]
    },
    "technicalDescription": {
      "serviceMonitoring": {
        "monitoringDescription": "FMI IT components are monitored with 24/7 maintenance."
      },
      "technicalConstraint": [
        {
          "name": "Transport Security",
          "description": "AMQP uses amqps:// over TLS. SASL EXTERNAL (client certificate) may be required. Provider may use server certificates in the EACP chain at a later point."
        },
        {
          "name": "Topic Structure",
            "description": "Messages are published under weather.aviation.taf. This covers all messages in the Finnish FIR (EFIN), and may contain messages for the NAMCON area. AMQP 1.0 filters (e.g., ICAO location identifier) can be applied via message headers as defined by the message schema."
        },
        {
          "name": "Payload Encoding",
          "description": "IWXXM content is carried as plain text XML (not gzipped) via AMQP, and zip archive via EDR API."
        },
        {
          "name": "Flow Control and Limits",
          "description": "Default link credit and connection limits are to be confirmed; values will be documented in narrative connection documentation when available."
        }
      ],
      "behaviour": [
        {
          "name": "Typical Request/Reply Behaviour",
          "description": "The request is sent from the consumer to the EDR service, which processes the request and returns the requested IWXXM TAF message(s) as a zip archive.",
          "reference": {
            "description": "OGC API - EDR",
            "url": "https://ogcapi.ogc.org/edr/"
          }
        },
        {
          "name": "Typical Data Distribution Behaviour",
          "description": "The service sends data to consumers when available and matching their connection parameters using AMQP 1.0 per SWIM TI Yellow Profile Messaging."
        }
      ]
    },
    "serviceInterface": [
      {
        "name": "EDR Request",
        "description": "The interface is used to receive the data via OGC API - EDR.",
        "provisionSide": "PROVIDER_SIDE",
        "schema": {
          "url": "https://aviation.fmi.fi/fmi-apikey/userapikey/edr/"
        },
        "endpoints": [
          {
            "name": "FMI SWIM EDR API",
            "description": "Connection between the service provider and the consumer via OGC API - EDR. Contact FMI Aviation Customer Service via e-mail for credentials and details.",
            "url": "https://aviation.fmi.fi/fmi-apikey/userapikey/edr/"
          }
        ],
        "serviceInterfaceBinding": {
          "name": "SWIM_TI_YP_1_1_HTTP_REST",
          "description": "HTTP(S) REST binding per SWIM Technical Infrastructure Yellow Profile."
        },
        "networkInterfaceBinding": {
          "name": "IPV4_SECURE_UNICAST",
          "description": "Service supports IPv4 secure unicast and IPv6 secure unicast over TLS (mTLS per policy)."
        },
        "operations": [
          {
            "name": "EDR operations",
            "description": "Standard EDR retrieval operations (collection discovery, location queries, temporal subsetting).",
            "idempotency": "IDEMPOTENT",
            "messages": [
              {
                "name": "EDR Request",
                "direction": "IN"
              },
              {
                "name": "EDR Response",
                "direction": "OUT"
              }
            ]
          }
        ],
        "messages": [
          {
            "name": "EDR Response",
            "description": "Response payload structure and parameters are defined by the OpenAPI document.",
            "schema": {
              "url": "https://aviation.fmi.fi/fmi-apikey/userapikey/edr/api/"
            }
          }
        ],
        "messageExchangePattern": "SYNCHRONOUS_REQUEST_RESPONSE"
      },
      {
        "name": "AMQP Push Service",
        "description": "The interface is used to receive published data via AMQP 1.0 per SWIM TI Yellow Profile Messaging.",
        "provisionSide": "PROVIDER_SIDE",
        "schema": {
          "url": "https://swim-eurocontrol.atlassian.net/wiki/spaces/MSS/pages/638156804/AMQP+Message+Structure+in+MET-SWIM"
        },
        "endpoints": [
          {
            "name": "AMQPBrokerNAMCON",
              "description": "Connection for AMQP 1.0 notifications and payload delivery according to the consumer’s connection for all NAMCON countries, hosted by FMI. Contact FMI Aviation Customer Service via e-mail for credentials and details.",
              "url": "amqps://namcon-swim-broker.fmi.fi:5671"
          }
        ],
        "serviceInterfaceBinding": {
          "name": "AMQP_MESSAGING",
          "description": "Binding aligned with EUROCONTROL SWIM Technical Infrastructure Yellow Profile (Messaging)."
        },
        "networkInterfaceBinding": {
          "name": "IPV4_SECURE_UNICAST",
          "description": "Service supports IPv4 secure unicast and IPv6 secure unicast over TLS (mTLS per policy)."
        },
        "operations": [
          {
            "name": "dataDelivery",
            "description": "The IWXXM payload is delivered directly in the AMQP message or via reference to an EDR resource.",
            "idempotency": "NON_IDEMPOTENT",
            "messages": [
              {
                "name": "dataDelivery",
                "direction": "OUT"
              }
            ]
          }
        ],
        "messages": [
          {
            "name": "dataDelivery",
            "description": "AMQP message contract including headers/properties and IWXXM payload shape for TAF.",
            "schema": {
              "url": "https://swim-eurocontrol.atlassian.net/wiki/spaces/MSS/pages/638156804/AMQP+Message+Structure+in+MET-SWIM"
            }
          }
        ],
        "messageExchangePattern": "BROKERED_PUBLISH_SUBSCRIBE_WITH_PUSH_MECHANISM"
      }
    ],
    "references": {
      "implementedStandard": [
        {
          "title": "OGC API - Environmental Data Retrieval (EDR)",
          "standardType": "SERVICE_STANDARD",
          "conformanceStatement": "is conformant",
          "version": "1.1.0",
          "description": "OGC API - Environmental Data Retrieval"
        },
        {
          "title": "EUROCONTROL SWIM Technical Infrastructure - Yellow Profile (Messaging, AMQP 1.0)",
          "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_TECHNICAL_INFRASTRUCTURE",
          "conformanceStatement": "is conformant",
          "version": "2.0",
          "description": "Advanced Message Queuing Protocol 1.0 per SWIM TI Yellow Profile"
        },
        {
          "title": "EUROCONTROL SWIM Service Description",
          "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_SERVICE_DESCRIPTION",
          "conformanceStatement": "is compliant",
          "version": "2.0",
          "description": "Description of Service according to EUROCONTROL specifications"
        }		
      ]
    }
  }
}