import "nanopb.proto";

message Person {
  required string name = 1 [(nanopb).max_size = 40];
  required int32 id = 2;
  optional string email = 3 [(nanopb).max_size = 40];
  
  enum PhoneType {
    MOBILE = 0;
    HOME = 1;
    WORK = 2;
  }

  message PhoneNumber {
    required string number = 1 [(nanopb).max_size = 40];
    optional PhoneType type = 2 [default = HOME];
  }

  repeated PhoneNumber phone = 4 [(nanopb).max_count = 5];
}
