-
Notifications
You must be signed in to change notification settings - Fork 17
/
model.proto
87 lines (81 loc) · 2.66 KB
/
model.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
Copyright 2022 Google LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
syntax = "proto3";
package test.location;
// Import google timestamp to identify
import "google/protobuf/timestamp.proto";
// Go Lang Options
option go_package = "gcp/proto/test/location";
// Java Options
option java_package = "gcp.proto.test.location";
option java_multiple_files = true;
// A physical location that can be described with either an address
// or a set of geo coordinates.
message PhysicalLocation {
// A postal address for the physical location.
message Address {
// Address type is used to identify the type of address.
enum AddressType {
RESIDENTIAL = 0; // A residential address
BUSINESS = 1; // A business address
}
// First line of the address
string line1 = 1;
// Second line of the address
string line2 = 2;
// Third line of the address
string line3 = 3;
// The city or township
string city = 4;
// The state or province
string state = 5;
// The postal code
string zipcode = 6;
// The type of address
AddressType type = 7;
// Reserved for future use
reserved 8 to 20;
}
// The timestamp the record was created
google.protobuf.Timestamp created = 1;
// The mailing address of the location
Address address = 2;
// Longitude degrees
int32 longitude_degrees = 3 [json_name = 'lng_d'];
// Longitude Minutes
int32 longitude_minutes = 4 [json_name = 'lng_m'];
// Longitude Seconds
int32 longitude_seconds = 5 [json_name = 'lng_s'];
// Longitude Degrees
int32 latitude_degrees = 6 [json_name = 'lat_d'];
// Latitude Minutes
int32 latitude_minutes = 7 [json_name = 'lat_m'];
// Latitude Seconds
int32 latitude_seconds = 8 [json_name = 'lat_s'];
// Latitude Direction Code
string latitude_direction_code = 9 [json_name = 'lat_dir_code'];
// Altitude in Meters
double altitude_meters = 10 [json_name = 'alt_m'];
// Additional Meta Data
map<string, string> meta = 11;
// Names for the location
repeated string names = 12 [json_name = 'names'];
}
message PhoneNumber {
string country_code = 1;
string area_code = 2;
string prefix = 3;
string suffix = 4;
string extension = 5;
reserved 6 to 10;
}