{
  "informationService": {
    "descriptionInformation": {
      "descriptionIdentification": {
        "title": "OPMET API and PUB/SUB - SIGMET",
        "edition": "0.1",
        "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": "EATMN",
          "description": "Europeeean Air Traffic Management Network"
        },
        {
          "name": "LHMS",
          "description": "Lithuanian hydrometeorological service under the Ministry of Environment"
        },
        {
          "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": "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"
        },
        {
          "name": "AMO",
          "description": "Aerodrome Meteorological Office"
        },
        {
          "name": "AMS",
          "description": "Aeronautical Meteorological Station"
        },
        {
          "name": "EDR",
          "description": "Environmental Data Retrieval (OGC API - EDR)"
        },
        {
          "name": "MEP",
          "description": "Message Exchange Pattern"
        },
        {
          "name": "PANS-MET",
          "description": "ICAO Procedures for Air Navigation Services - Meteorology"
        },
        {
          "name": "TIYP",
          "description": "Technical Infrastructure Yellow Profile"
        },
        {
          "name": "TI",
          "description": "Technical Infrastructure"
        }
      ]
    },
    "serviceIdentification": {
      "name": "OPMET API and PUB/SUB - SIGMET",
      "version": "0.1"
    },
    "serviceAbstract": "The service provides the latest SIGMET reports in IWXXM for Vilnius FIR/UIRs 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 and (2) AMQP 1.0 publish/subscribe where the IWXXM payload and message headers conform to the EUROCONTROL SWIM Technical Infrastructure Yellow Profile (Messaging).",
    "serviceProvider": {
      "providerType": [
        "REGULATED_METEOROLOGICAL_SERVICE_PROVIDER"
      ],
      "pointOfContact": [
        {
          "name": "SWIM.METEO contact group",
          "contactInformation": [
            {
              "type": "EMAIL",
              "address": "swim@meteo.lt"
            },
            {
              "type": "PHONE",
              "address": "+370 648 06 320"
            },
            {
              "type": "URL",
              "address": "https://www.meteo.lt"
            }
          ],
          "role": "Data Provider"
        }
      ],
      "provider": "LHMS",
      "providerDescription": "LHMS is designated meteorological service provider for International Air Navigation within the Vilniaus FIR in accordance with ICAO Annex 3 and Commission Implementing Regulation (EU) No. 2017/373."
    },
    "serviceCategorisation": {
      "serviceType": "SWIM_COMPLIANT",
      "businessActivityType": [
        "AERODROME_OPERATION",
        "AIRSPACE_ORGANISATION_AND_MANAGEMENT",
        "INFORMATION_MANAGEMENT",
        "SERVICE_DELIVERY_MANAGEMENT"
      ],
      "intendedConsumer": [
        "AIR_TRAFFIC_SERVICE_PROVIDER",
        "CIVIL_AIR_NAVIGATION_SERVICE_PROVIDER",
        "CIVIL_AIRSPACE_USER",
        "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": [
          "LT"
        ],
        "fir": [
          "EYVI"
        ],
        "description": "The dataset is valid for Lithuania (Vilnius FIR/EYVI)."
      },
      "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-31"
        }
      ]
    },
    "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": "The information currently included in SIGMET 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 published 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": "Receive Published Data",
          "description": "The consumer can receive data via AMQP 1.0. Messages follow the SWIM TI Yellow Profile (Messaging).",
          "realWorldEffect": "Data is received upon publication."
        }
      ],
      "qualitiesOfService": {
        "performance": [
          {
            "name": "Performance",
            "description": "Actual pre-operational status."
          }
        ],
        "reliability": [
          {
            "name": "Reliability",
            "description": "Actual pre-operational status."
          }
        ],
        "security": [
          {
            "name": "Security",
            "description": "SWIM TI Yellow Profile-compliant security controls (confidentiality, integrity, authentication)."
          }
        ]
      },
      "accessAndUseConditions": [
        {
          "name": "General Terms and Conditions of Business",
          "type": "LEGAL_CONSTRAINT",
          "description": "Terms and conditions are provided by LHMS upon request."
        },
        {
          "name": "Customization",
          "type": "SERVICE_POLICY",
          "description": "Within the given constraints, the user can customize the service to individual needs if applicable."
        },
        {
          "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": "Access",
          "type": "SECURITY_CONSTRAINT",
          "description": "Access is limited to authorized users per SWIM TI Yellow Profile."
        },
        {
          "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 LHMS"
          }
        }
      ],
      "dateInOperation": "2025-12-31"
    },
    "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.",
            "reference": {
              "url": "https://ogcapi.ogc.org/edr/"
            }
          },
          {
            "name": "Filtering Capabilities (AMQP)",
            "description": "Topic-based filtering is available through the broker’s topic hierarchy. AMQP 1.0 filters (e.g., ICAO location identifier) can be applied via standard message headers as defined by the message schema."
          }
        ]
      },
      "sourceOfInformation": "The service provider ensures that the data offered within this service is created by LHMS, a REGULATED_METEOROLOGICAL_SERVICE_PROVIDER.",
      "informationDefinition": [
        {
          "name": "SIGMET (Significant Meteorological Information)",
          "definition": "A digital aeronautical meteorological warning for en-route aircraft concerning specified significant weather phenomena, encoded and exchanged using IWXXM.",
          "airmCorrespondence": "AIRM 1.0.0 :: SIGMET — correspondence and mapping notes: https://airm.aero/developers/icao-wxxm-3.0.0-to-airm-1.0.0-index",
          "datatype": "IWXXM 3.x SIGMET",
          "cardinality": "0..*",
          "constraints": "IWXXM version 2023-1 (https://schemas.wmo.int/iwxxm/2023-1/iwxxm.xsd). Payload is raw XML in AMQP messages and EDR responses; no size constraints.",
          "path": "/sigmet"
        }
      ]
    },
    "technicalDescription": {
      "serviceMonitoring": {
        "monitoringDescription": "LHMS IT components are monitored with 24/7 maintenance."
      },
      "technicalConstraint": [
        {
          "name": "Topic Structure",
          "description": "Messages are published under weather.aviation.{taf,metar,sigmet}. This covers all messages in the Lithuania FIR."
        },
        {
          "name": "Payload Encoding",
          "description": "IWXXM content is carried as plain text XML (not gzipped)."
        },
        {
          "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 SIGMET IWXXM payload. The service follows OGC API - EDR behaviour.",
          "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://www.meteo.lt"
        },
        "endpoints": [
          {
            "name": "LHMS EDR API",
            "description": "Connection between the service provider and the consumer via OGC API - EDR. Contact LHMS SWIM.METEO group for credentials and collection details.",
            "url": "https://swim.meteo.lt:8443"
          }
        ],
        "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, position/area/trajectory 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://www.meteo.lt"
            }
          }
        ],
        "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://raw.githubusercontent.com/iblsoft/swimdemo/acf23736bca2a55a0184988acbcd52cd8f8b88c3/schema/cp1/sigmet.json"
        },
        "endpoints": [
          {
            "name": "AMQPBrokerLHMS",
            "description": "Connection for AMQP 1.0 notifications and payload delivery according to the consumer’s connection.",
            "url": "amqps://swim.meto.lt: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 SIGMET.",
            "schema": {
              "url": "https://raw.githubusercontent.com/iblsoft/swimdemo/acf23736bca2a55a0184988acbcd52cd8f8b88c3/schema/cp1/sigmet.json"
            }
          }
        ],
        "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"
        }
      ]
    }
  }
}
