syntax = "proto3"; // Interface exported by the server. service RouteService { rpc ShortestPath(RouteRequest) returns (RouteResponse) {} rpc ListNodes(Profile) returns (stream Node) {} } message RouteRequest { string start = 1; string end = 2; Profile profile = 3; } message Profile { enum Profile { FOOT = 0; MANUAL_WHEELCHAIR = 1; ELECTRIC_WHEELCHAIR = 2; } Profile profile = 1; } message RouteResponse { repeated string route = 1; int32 distance = 2; } message Node { string index = 1; float latitude = 2; float longitude = 3; }