syntax = "proto3";

message Person {
  string name = 1;

  enum PhoneType {
    MOBILE = 0;
    HOME = 1;
  }

  oneof contact {
    string email = 3;
    string phone = 4;
  }
}

service AddressBook {
  rpc GetPerson(PersonRequest) returns (Person) {
    option idempotency_level = NO_SIDE_EFFECTS;
  }
}
