syntax = "proto2";
import "profile.proto"; //enums PlayerType and Sport

message DropInWorld {
	required uint64 id = 1;
	optional string name = 2;
	optional uint64 course_id = 3;
	optional bool f4 = 4;
	optional uint64 zwifters = 5;
	optional uint64 world_time = 6;
	optional uint64 real_time = 7;
	repeated DropInPlayer pro_players = 8;
	repeated DropInPlayer followees = 9;
	repeated DropInPlayer others = 10;
	optional uint64 max_zwifters = 11; //stored as int32
	repeated DropInPlayer pacer_bots = 12;
}

message DropInWorldList {
	repeated DropInWorld worlds = 1;
}

message DropInPlayer {
	required uint64 id = 1;
	required string firstName = 2;
	required string lastName = 3;
	optional uint64 distance = 4;
	optional uint64 time = 5;
	optional uint64 country_code = 6;
	optional PlayerType player_type = 7;
	optional Sport sport = 8;
	optional bool f9 = 9; 
	optional bool f10 = 10;
	optional uint64 f11 = 11;
	optional uint64 power = 12;
	optional uint64 f13 = 13;
	optional float x = 14;
	optional float y_altitude = 15;
	optional float z = 16;
	optional int32 route = 17;
	optional uint32 ride_power = 18;
	optional uint32 speed = 19;
}

message TeleportTargets {
	repeated DropInPlayer pacer_groups = 1;
	repeated DropInPlayer friends = 2;
}
