Notification Service 1.1.0

Connect to this service to receive various streams of updates for various objects.

Servers

wss://open-atms.airlab.aero/streams/v1 ws

Operations

Sub /system-track/{clientId}

System track updates

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue" or "end".

continue

  • Continue after the last received and acknowledged offset

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

Accepts the following message:

SystemTrackMsg

System tracks notification message

  • Message body contains a block of CAT062 and CAT065 messages (any combination).
  • The details of the ASTERIX data exchange message encoding refer to:
Payload
object
records
array<object>

Items:

0
object
payload
string
  • Each String is the Base 64 encoded contents of a message.
  • User Application Profile (UAP) for CAT062.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": "string"
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /flight-plan/{clientId}

Flight plan updates in the format of FIXM 4.2

  • Seek option 'latest' will return the last message for each unique flight plan ID.

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue", "latest" or "end".

continue

  • Continue after the last received and acknowledged offset

latest

  • Start from the end of the stream.
  • The latest set of messages currently in the stream will be received.
  • What a 'set' consists of and what is 'latest' is stream dependent.
  • Also, there is no gaurantee that only the 'latest' is received. The subscriber may receive older records (in chronological order per record key) before receiving the latest.

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

process false

Name of a process to be applied to the stream.

Default: none.

Depending on the process chosen, additional parmaeters prefixed with 'proccess.' may be required.

Process name: filter-by-icao

  • Description: Include only flight plans with specified arrival or departure aereodrome.
  • Parameters:
    • process.icao - the ICAO designator of the required aerodrome
    • process.arrival - whether to include arrivals to the aerodrome [true|false]
    • process.departure - whether to include departures from the aerodrome [true|false]

Process name: filter-by-runway

  • Description: Include only flight plans assigned to the specified runway at specified aerodrome.
  • Parameters:
    • process.icao - the ICAO designator of the required aerodrome.
    • process.runway - the required runway at the specified aerodrome.

Process name: filter-by-callsign

  • Description: Include only flight plans with specified callsign.
  • Parameters:
    • process.callsign - the required callsign. The wildcard character '*' is supported.

Process name: filter-by-fix

  • Description: Include only flight plans with route that has the specified fix point and the ETO of the fix point is in the future.
  • Parameters:
    • process.fix - the required fix point.

Accepts the following message:

FlightPlanMsg

Flight plans notification message

Message body will be a XML string in FIXM 4.2 format.

Payload
object
records
array<object>

Items:

0
object
payload
string

Each String is the contents of a record.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": "string"
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /ident/{clientId}

Track coupling events

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue", "latest" or "end".

continue

  • Continue after the last received and acknowledged offset

latest

  • Start from the end of the stream.
  • The latest set of messages currently in the stream will be received.
  • What a 'set' consists of and what is 'latest' is stream dependent.
  • Also, there is no gaurantee that only the 'latest' is received. The subscriber may receive older records (in chronological order per record key) before receiving the latest.

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

Accepts the following message:

IdentMsg

Track coupling events message

Payload
object
records
array<object>

Items:

0
object
payload
object
gufi
string

The globally unique flight identifier of the flight that was coupled.

trackNumber
integer

The track number that was coupled.

event
object
couplingTime
string

The timestamp of the event

decouplingTime
string

The timestamp of the event

couplingMode
string

The coupling mode

Enum: "pssr" "assr" "icao_code" "callsign"

Additional properties are allowed.

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": {
        "gufi": "string",
        "trackNumber": 0,
        "event": {
          "couplingTime": "string",
          "decouplingTime": "string",
          "couplingMode": "pssr"
        }
      }
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /sua/{clientId}

Statuses of a Danger Area

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue", "latest" or "end".

continue

  • Continue after the last received and acknowledged offset

latest

  • Start from the end of the stream.
  • The latest set of messages currently in the stream will be received.
  • What a 'set' consists of and what is 'latest' is stream dependent.
  • Also, there is no gaurantee that only the 'latest' is received. The subscriber may receive older records (in chronological order per record key) before receiving the latest.

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

Accepts the following message:

SuaMsg

Statuses of a Danger Area

Payload
object
records
array<object>

Items:

0
object
payload
object
  • Special Use Airspace
  • (Note : Could be enhanced to accept NOTAM as the payload in the future.)
areaName
required
string

Name of an existing SUA.

version
required
string
  • Version ID that represents the last valid data.
  • String that contains 3 numerics delimited by '-'.
  • Invalid provided versions are considered bad requests.
description
required
string

Description of the activity/facility in the SUA.

activationStatus
required
string

Activation Statuses of a Special Use Airspace.

  • ON - Set Special Use Airspace as Active. ValidityInfo is not required.
  • OFF - Set Special Use Airspace as Inactive. ValidityInfo is not required.
  • AUTO - Special Use Airspace status will be updated to active based on the selected days of the week, validity, activity periods. ValidityInfo is required.
Enum: "ON" "OFF" "AUTO"
validityInfo
array<object>

Items:

0
object

Special Use Airspace - Validity Details

lowerLevel
required
integer

The minimum level limit of a SUA.

upperLevel
required
integer

The maximum level limit of a SUA.

validityStartDateTime
required
string
date-time
  • Start Date and Time of the validity period of activities in the SUA.
  • Date Time format should follow iso-8601 standard.
  • (https://www.iso.org/iso-8601-date-and-time-format.html)
validityEndDateTime
required
string
date-time
  • End Date and Time of the validity period of activities in the SUA.
  • Date Time format should follow iso-8601 standard.
  • (https://www.iso.org/iso-8601-date-and-time-format.html)
comment
required
string

Comments on the SUA.

activityInfo
required
array<object>

Items:

0
object

Special Use Airspace - Activity

activityStartDateTime
required
string
date-time
  • Start Date and Time of an activity in the SUA.
  • Date Time format should follow iso-8601 standard.
  • (https://www.iso.org/iso-8601-date-and-time-format.html)
activityEndDateTime
required
string
date-time
  • End Date and Time of an activity in the SUA.
  • Date Time format should follow iso-8601 standard.
  • (https://www.iso.org/iso-8601-date-and-time-format.html)
selectedDaysOfWeek
required
object
sunday
required
boolean
Default: false
monday
required
boolean
Default: false
tuesday
required
boolean
Default: false
wednesday
required
boolean
Default: false
thursday
required
boolean
Default: false
friday
required
boolean
Default: false
saturday
required
boolean
Default: false

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": {
        "areaName": "string",
        "version": "123456789-1234567-1",
        "description": "string",
        "activationStatus": "ON",
        "validityInfo": [
          {
            "lowerLevel": 0,
            "upperLevel": 0,
            "validityStartDateTime": "2020-01-01T23:59:00.000Z",
            "validityEndDateTime": "2020-01-01T23:59:00.000Z",
            "comment": "string",
            "activityInfo": [
              {
                "activityStartDateTime": "2020-01-01T23:59:00.000Z",
                "activityEndDateTime": "2020-01-01T23:59:00.000Z",
                "selectedDaysOfWeek": {
                  "sunday": false,
                  "monday": false,
                  "tuesday": false,
                  "wednesday": false,
                  "thursday": false,
                  "friday": false,
                  "saturday": false
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /clam/{clientId}

Flight level alerts

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue", "latest" or "end".

continue

  • Continue after the last received and acknowledged offset

latest

  • Start from the end of the stream.
  • The latest set of messages currently in the stream will be received.
  • What a 'set' consists of and what is 'latest' is stream dependent.
  • Also, there is no gaurantee that only the 'latest' is received. The subscriber may receive older records (in chronological order per record key) before receiving the latest.

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

Accepts the following message:

CAT004Msg

Asterix CAT004 alerts message

Message body will be an encoded CAT004 Asterix message

Payload
object
records
array<object>

Items:

0
object
payload
string
  • Each String is the Base 64 encoded contents of a message.
  • Only mandatory data items for the CAT004 message type are included in the message.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": "string"
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /ram/{clientId}

Route adherance alerts

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue", "latest" or "end".

continue

  • Continue after the last received and acknowledged offset

latest

  • Start from the end of the stream.
  • The latest set of messages currently in the stream will be received.
  • What a 'set' consists of and what is 'latest' is stream dependent.
  • Also, there is no gaurantee that only the 'latest' is received. The subscriber may receive older records (in chronological order per record key) before receiving the latest.

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

Accepts the following message:

CAT004Msg

Asterix CAT004 alerts message

Message body will be an encoded CAT004 Asterix message

Payload
object
records
array<object>

Items:

0
object
payload
string
  • Each String is the Base 64 encoded contents of a message.
  • Only mandatory data items for the CAT004 message type are included in the message.
  • The transversal distance deviation (data item 075) is not available and is set to 0.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": "string"
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /daiw/{clientId}

Danger Area Infringement Warning

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue", "latest" or "end".

continue

  • Continue after the last received and acknowledged offset

latest

  • Start from the end of the stream.
  • The latest set of messages currently in the stream will be received.
  • What a 'set' consists of and what is 'latest' is stream dependent.
  • Also, there is no gaurantee that only the 'latest' is received. The subscriber may receive older records (in chronological order per record key) before receiving the latest.

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

Accepts the following message:

CAT004Msg

Asterix CAT004 alerts message

Message body will be an encoded CAT004 Asterix message

Payload
object
records
array<object>

Items:

0
object
payload
string
  • Each String is the Base 64 encoded contents of a message.
  • Only mandatory data items for the CAT004 message type are included in the message.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": "string"
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /stca/{clientId}

Short term conflict alerts

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue" or "end".

continue

  • Continue after the last received and acknowledged offset

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

Accepts the following message:

CAT004Msg

Asterix CAT004 alerts message

Message body will be an encoded CAT004 Asterix message

Payload
object
records
array<object>

Items:

0
object
payload
string
  • Each String is the Base 64 encoded contents of a message.
  • Only mandatory data items for the CAT004 message type are included in the message.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": "string"
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /mtca/{clientId}

Medium term conflict alerts

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue", "latest" or "end".

continue

  • Continue after the last received and acknowledged offset

latest

  • Start from the end of the stream.
  • The latest set of messages currently in the stream will be received.
  • What a 'set' consists of and what is 'latest' is stream dependent.
  • Also, there is no gaurantee that only the 'latest' is received. The subscriber may receive older records (in chronological order per record key) before receiving the latest.

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

Accepts the following message:

MTCAMsg

Medium term conflict alerts message

Payload
object
records
array<object>

Items:

0
object
payload
object
id
required
number
integer

Alert Identifier

  • The item is the Alert Identification of the conflict in the system
  • This number shall be assigned, by the Conflict Probe Server, incrementally to every new alert and restart on zero after reaching the maximum value (65535) [Asterix I004/040]
timestamp
required
string
date-time

Time of Message

  • Absolute time stamping of the message in the form of elapsed time since last midnight [Asterix I004/020]
status
string

Alert Status

  • Information concerning status of the alert
  • The content of this item is implementation dependent [Asterix I004/045]
Default: "ACTIVE"
Enum: "ACTIVE" "DELETED"
conflict
object
timings
required
object

Information on Conflict Timing [Asterix I004/070]

startTime
required
string
date-time

Start time of actual conflict situation

endTime
required
string
date-time

End time of actual conflict situation

Additional properties are allowed.

characteristics
required
object

Conflict Characteristics:

  • Description of the Conflict Properties
conflictNature
required
oneOf

Conflict Nature: Nature of the conflict expressed by a set of properties

Specification Extensions:

x-one-of-name: ConflictNature
0
object
encounterType
required
string
Enum: "ConflictAircraftToAircraftType"
flight
required
object

Identification & Characteristics of an Aircraft involved in the Conflict

gufi
required
object

Global Unique Flight Identifier.

The value contains 32 digits with the final digits indicating the CDC record number.

Note : To be replaced by a value generated by a GUFI service in the future.

value
required
string
codeSpace
string

Additional properties are allowed.

predictedConflictPositions
object
startOfConflictPosition
object

WGS-84 Coordinates

latitude
required
number
double
longitude
required
number
double

Additional properties are allowed.

endOfConflictPosition
object

WGS-84 Coordinates

latitude
required
number
double
longitude
required
number
double

Additional properties are allowed.

Additional properties are allowed.

Additional properties are allowed.

flight2
required
object

Identification & Characteristics of an Aircraft involved in the Conflict

gufi
required
object

Global Unique Flight Identifier.

The value contains 32 digits with the final digits indicating the CDC record number.

Note : To be replaced by a value generated by a GUFI service in the future.

value
required
string
codeSpace
string

Additional properties are allowed.

predictedConflictPositions
object
startOfConflictPosition
object

WGS-84 Coordinates

latitude
required
number
double
longitude
required
number
double

Additional properties are allowed.

endOfConflictPosition
object

WGS-84 Coordinates

latitude
required
number
double
longitude
required
number
double

Additional properties are allowed.

Additional properties are allowed.

Additional properties are allowed.

Specification Extensions:

x-one-of-name: ConflictNature

Additional properties are allowed.

1
object
encounterType
required
string
Enum: "ConflictAircraftToAirspaceType"
flight
required
object

Identification & Characteristics of an Aircraft involved in the Conflict

gufi
required
object

Global Unique Flight Identifier.

The value contains 32 digits with the final digits indicating the CDC record number.

Note : To be replaced by a value generated by a GUFI service in the future.

value
required
string
codeSpace
string

Additional properties are allowed.

predictedConflictPositions
object
startOfConflictPosition
object

WGS-84 Coordinates

latitude
required
number
double
longitude
required
number
double

Additional properties are allowed.

endOfConflictPosition
object

WGS-84 Coordinates

latitude
required
number
double
longitude
required
number
double

Additional properties are allowed.

Additional properties are allowed.

Additional properties are allowed.

area
required
object

Definition of Areas involved in the Conflict Alert [Asterix I004/100]

type
required
string
Enum: "HOLDING" "RESTRICTED"
id
required
string

Id of the area for the given area type

Additional properties are allowed.

Specification Extensions:

x-one-of-name: ConflictNature

Additional properties are allowed.

conflictClassification
required
string

Severity classification of the conflict

Enum: "CONFLICT" "RISK"

Specification Extensions:

x-components
{
  "schemas": {
    "ConflictAircraftToAircraftType": {
      "type": "object",
      "properties": {
        "encounterType": {
          "type": "string",
          "enum": [
            "ConflictAircraftToAircraftType"
          ],
          "x-parser-schema-id": "<anonymous-schema-60>"
        },
        "flight": {
          "description": "Identification & Characteristics of an Aircraft\ninvolved in the Conflict\n",
          "type": "object",
          "properties": {
            "gufi": {
              "description": "Global Unique Flight Identifier.\n\nThe value contains 32 digits with the final digits indicating the CDC record number.\n\nNote : To be replaced by a value generated by a GUFI service in the future.\n",
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "example": "00000000-0000-0000-0000-000000000001",
                  "x-parser-schema-id": "<anonymous-schema-63>"
                },
                "codeSpace": {
                  "type": "string",
                  "x-parser-schema-id": "<anonymous-schema-64>"
                }
              },
              "required": [
                "value"
              ],
              "x-parser-schema-id": "<anonymous-schema-62>"
            },
            "predictedConflictPositions": {
              "type": "object",
              "properties": {
                "startOfConflictPosition": {
                  "type": "object",
                  "description": "WGS-84 Coordinates\n",
                  "properties": {
                    "latitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-67>"
                    },
                    "longitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-68>"
                    }
                  },
                  "required": [
                    "longitude",
                    "latitude"
                  ],
                  "x-parser-schema-id": "<anonymous-schema-66>"
                },
                "endOfConflictPosition": {
                  "type": "object",
                  "description": "WGS-84 Coordinates\n",
                  "properties": {
                    "latitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-67>"
                    },
                    "longitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-68>"
                    }
                  },
                  "required": [
                    "longitude",
                    "latitude"
                  ],
                  "x-parser-schema-id": "<anonymous-schema-66>"
                }
              },
              "x-parser-schema-id": "<anonymous-schema-65>"
            }
          },
          "required": [
            "gufi"
          ],
          "x-parser-schema-id": "<anonymous-schema-61>"
        },
        "flight2": {
          "description": "Identification & Characteristics of an Aircraft\ninvolved in the Conflict\n",
          "type": "object",
          "properties": {
            "gufi": {
              "description": "Global Unique Flight Identifier.\n\nThe value contains 32 digits with the final digits indicating the CDC record number.\n\nNote : To be replaced by a value generated by a GUFI service in the future.\n",
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "example": "00000000-0000-0000-0000-000000000001",
                  "x-parser-schema-id": "<anonymous-schema-63>"
                },
                "codeSpace": {
                  "type": "string",
                  "x-parser-schema-id": "<anonymous-schema-64>"
                }
              },
              "required": [
                "value"
              ],
              "x-parser-schema-id": "<anonymous-schema-62>"
            },
            "predictedConflictPositions": {
              "type": "object",
              "properties": {
                "startOfConflictPosition": {
                  "type": "object",
                  "description": "WGS-84 Coordinates\n",
                  "properties": {
                    "latitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-67>"
                    },
                    "longitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-68>"
                    }
                  },
                  "required": [
                    "longitude",
                    "latitude"
                  ],
                  "x-parser-schema-id": "<anonymous-schema-66>"
                },
                "endOfConflictPosition": {
                  "type": "object",
                  "description": "WGS-84 Coordinates\n",
                  "properties": {
                    "latitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-67>"
                    },
                    "longitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-68>"
                    }
                  },
                  "required": [
                    "longitude",
                    "latitude"
                  ],
                  "x-parser-schema-id": "<anonymous-schema-66>"
                }
              },
              "x-parser-schema-id": "<anonymous-schema-65>"
            }
          },
          "required": [
            "gufi"
          ],
          "x-parser-schema-id": "<anonymous-schema-61>"
        }
      },
      "required": [
        "encounterType",
        "flight",
        "flight2"
      ],
      "x-one-of-name": "ConflictNature",
      "x-parser-schema-id": "<anonymous-schema-59>"
    },
    "ConflictAircraftToAirspaceType": {
      "type": "object",
      "properties": {
        "encounterType": {
          "type": "string",
          "enum": [
            "ConflictAircraftToAirspaceType"
          ],
          "x-parser-schema-id": "<anonymous-schema-70>"
        },
        "flight": {
          "description": "Identification & Characteristics of an Aircraft\ninvolved in the Conflict\n",
          "type": "object",
          "properties": {
            "gufi": {
              "description": "Global Unique Flight Identifier.\n\nThe value contains 32 digits with the final digits indicating the CDC record number.\n\nNote : To be replaced by a value generated by a GUFI service in the future.\n",
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "example": "00000000-0000-0000-0000-000000000001",
                  "x-parser-schema-id": "<anonymous-schema-63>"
                },
                "codeSpace": {
                  "type": "string",
                  "x-parser-schema-id": "<anonymous-schema-64>"
                }
              },
              "required": [
                "value"
              ],
              "x-parser-schema-id": "<anonymous-schema-62>"
            },
            "predictedConflictPositions": {
              "type": "object",
              "properties": {
                "startOfConflictPosition": {
                  "type": "object",
                  "description": "WGS-84 Coordinates\n",
                  "properties": {
                    "latitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-67>"
                    },
                    "longitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-68>"
                    }
                  },
                  "required": [
                    "longitude",
                    "latitude"
                  ],
                  "x-parser-schema-id": "<anonymous-schema-66>"
                },
                "endOfConflictPosition": {
                  "type": "object",
                  "description": "WGS-84 Coordinates\n",
                  "properties": {
                    "latitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-67>"
                    },
                    "longitude": {
                      "type": "number",
                      "format": "double",
                      "x-parser-schema-id": "<anonymous-schema-68>"
                    }
                  },
                  "required": [
                    "longitude",
                    "latitude"
                  ],
                  "x-parser-schema-id": "<anonymous-schema-66>"
                }
              },
              "x-parser-schema-id": "<anonymous-schema-65>"
            }
          },
          "required": [
            "gufi"
          ],
          "x-parser-schema-id": "<anonymous-schema-61>"
        },
        "area": {
          "description": "Definition of Areas involved in the Conflict Alert\n[Asterix I004/100]\n",
          "type": "object",
          "properties": {
            "type": {
              "description": "",
              "type": "string",
              "enum": [
                "HOLDING",
                "RESTRICTED"
              ],
              "x-parser-schema-id": "<anonymous-schema-72>"
            },
            "id": {
              "description": "Id of the area for the given area type\n",
              "type": "string",
              "x-parser-schema-id": "<anonymous-schema-73>"
            }
          },
          "required": [
            "type",
            "id"
          ],
          "x-parser-schema-id": "<anonymous-schema-71>"
        }
      },
      "required": [
        "encounterType",
        "flight",
        "area"
      ],
      "x-one-of-name": "ConflictNature",
      "x-parser-schema-id": "<anonymous-schema-69>"
    }
  }
}

Additional properties are allowed.

Additional properties are allowed.

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": {
        "id": 1,
        "timestamp": "2020-05-25T15:18:19.833Z",
        "status": "ACTIVE",
        "conflict": {
          "timings": {
            "startTime": "2020-06-28T15:12:19.833Z",
            "endTime": "2020-06-28T15:18:19.833Z"
          },
          "characteristics": {
            "conflictNature": {
              "encounterType": "ConflictAircraftToAircraftType",
              "flight": {
                "gufi": {
                  "value": "00000000-0000-0000-0000-000000000001",
                  "codeSpace": "string"
                },
                "predictedConflictPositions": {
                  "startOfConflictPosition": {
                    "latitude": 0,
                    "longitude": 0
                  },
                  "endOfConflictPosition": {
                    "latitude": 0,
                    "longitude": 0
                  }
                }
              },
              "flight2": {
                "gufi": {
                  "value": "00000000-0000-0000-0000-000000000001",
                  "codeSpace": "string"
                },
                "predictedConflictPositions": {
                  "startOfConflictPosition": {
                    "latitude": 0,
                    "longitude": 0
                  },
                  "endOfConflictPosition": {
                    "latitude": 0,
                    "longitude": 0
                  }
                }
              }
            },
            "conflictClassification": "CONFLICT"
          }
        }
      }
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /airac-dataset-change/{clientId}

Notifiation of changes to AIRAC dataset.

As the dataset is huge, this is just a notification. The message body does not contain any details of the change. Clients should invoke appropriate synchronous services to get the latest values for the sections of the dataset they are using.

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. Must be "end".

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

Accepts the following message:

AIRACDatasetChangeMsg

An AIRAC dataset change notification message

Payload
object
records
array<object>

Items:

0
object
payload
object
version
integer

The new version number of the dataset.

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Headers
object
records
array<object>

Items:

0
object
headers
object
__key__
string

Each String is the Kafka record key

__timestamp__
number
long

Each number is the Kafka record timestamp

Additional properties are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "records": [
    {
      "payload": {
        "version": 0
      }
    }
  ]
}
This example has been generated automatically.
{
  "records": [
    {
      "headers": {
        "__key__": "string",
        "__timestamp__": 1633340067102
      }
    }
  ]
}
This example has been generated automatically.

Sub /vhf-ch-flight-context/{clientId}

Flight context updates for VHF Channels

Parameters
clientId
required
string

Unique identifier of the client subscribing to this stream

Channel Binding: WebSocket

Method: GET

Query Parameters:

NameRequiredDescription
seek false

Seek to specified stream position. One of "continue", "latest" or "end".

continue

  • Continue after the last received and acknowledged offset

latest

  • Start from the end of the stream.
  • The latest set of messages currently in the stream will be received.
  • What a 'set' consists of and what is 'latest' is stream dependent.
  • Also, there is no gaurantee that only the 'latest' is received. The subscriber may receive older records (in chronological order per record key) before receiving the latest.

end

  • Start from end of the stream.
  • No messages will be received until a new message arrives.

Default: end

acknowledgementRequired false

Either true or false.

Whether the client will send acknowledgement for each group of messages sent by the server.

Default: false

topics false

VHF frequencies map to sector. Each sector number to the same channel number

singapore-vcs-ch-01 [134.4, 128.1]

singapore-vcs-ch-02 [133.25, 135.8]

singapore-vcs-ch-03 [133.8, 127.3]

singapore-vcs-ch-04 [134.2, 133.35]

singapore-vcs-ch-06 [134.7, 134.15]

singapore-vcs-ch-07 [123.7, 127.3]

singapore-vcs-ch-08 [134.35, 133.6]

singapore-vcs-ch-09 [124.05, 124.60, 126.30]

singapore-vcs-ch-10 [119.3, 119.4, 119.55]

singapore-vcs-ch-11 [120.30]

Accepts the following message:

VHFMsg

VHF message

Payload
object
  • Flight Context for VCS Channels
vcsChNumber
required
string

VCS Channel of flight contexts in string

vhfFrequencies
required
array<string>

Frequencies of the VCS Channel (namestring)

Items:

0
string

Additional items are allowed.

aircraftOnChannel
required
array<object>

Items:

0
object
  • Flight Context for VCS Channels
callsign
required
string
gufi
required
string
nextLevels
required
array<array>

Items:

0
array<string>

Three levels below and above the CFL for each flight

Items:

0
string

Additional items are allowed.

Additional items are allowed.

nextRteElements
required
array<array>

Items:

0
array<string>

Next 3 route waypoints of the flight

Items:

0
string

Additional items are allowed.

Additional items are allowed.

nextHeadings
required
array<array>

Items:

0
array<string>

Next 3 headings derived from aircraft track data

Items:

0
string

Additional items are allowed.

Additional items are allowed.

nextAtcoUtterance
required
array<object>

Items:

0
object
  • Utterance from Airport Controllers
usedPhrases
required
array<array>

Items:

0
array<string>

Next 3 route waypoints of the flight

Items:

0
string

Additional items are allowed.

Additional items are allowed.

spokenCallsign
required
array<string>

Next 3 route waypoints of the flight

Items:

0
string

Additional items are allowed.

Additional properties are allowed.

Additional items are allowed.

nextPilotUtterance
required
array<object>

Items:

0
object
  • Utterance from Airport Controllers
usedPhrases
required
array<array>

Items:

0
array<string>

Next 3 route waypoints of the flight

Items:

0
string

Additional items are allowed.

Additional items are allowed.

spokenCallsign
required
array<string>

Next 3 route waypoints of the flight

Items:

0
string

Additional items are allowed.

Additional properties are allowed.

Additional items are allowed.

spokenCallsign
required
array<string>

Aircraft company telephony assigned by FAA and the radio-telephony for flight number

Items:

0
string

Additional items are allowed.

Additional properties are allowed.

Additional items are allowed.

Additional properties are allowed.

Examples

{
  "vcsChNumber": "string",
  "vhfFrequencies": [
    "string"
  ],
  "aircraftOnChannel": [
    {
      "callsign": "string",
      "gufi": "string",
      "nextLevels": [
        [
          "string"
        ]
      ],
      "nextRteElements": [
        [
          "string"
        ]
      ],
      "nextHeadings": [
        [
          "string"
        ]
      ],
      "nextAtcoUtterance": [
        {
          "usedPhrases": [
            [
              "string"
            ]
          ],
          "spokenCallsign": [
            "string"
          ]
        }
      ],
      "nextPilotUtterance": [
        {
          "usedPhrases": [
            [
              "string"
            ]
          ],
          "spokenCallsign": [
            "string"
          ]
        }
      ],
      "spokenCallsign": [
        "string"
      ]
    }
  ]
}
This example has been generated automatically.