syntax = "proto3"; package adsbiq.v1; service AircraftService { rpc GetAircraft(GetAircraftRequest) returns (Aircraft); rpc NearbyAircraft(NearbyAircraftRequest) returns (AircraftList); rpc NetworkStats(NetworkStatsRequest) returns (NetworkStatsResponse); } message GetAircraftRequest { string hex = 1; } message NearbyAircraftRequest { double lat = 1; double lon = 2; double radius_nm = 3; int32 limit = 4; } message NetworkStatsRequest {} message Aircraft { string hex = 1; string flight = 2; string registration = 3; string aircraft_type = 4; double lat = 5; double lon = 6; int32 alt_baro = 7; bool on_ground = 8; double alt_geom = 9; double ground_speed = 10; double track = 11; string squawk = 12; string emergency = 13; string category = 14; string route_origin = 15; string route_destination = 16; double seen_seconds = 17; double distance_nm = 18; } message AircraftList { repeated Aircraft aircraft = 1; int32 total = 2; double source_time = 3; } message NetworkStatsResponse { int32 aircraft_total = 1; double source_time = 2; double served_at = 3; }