summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/maps/regionlookup/v1alpha/region_identifier.proto
blob: f5e6fea1410ad1eabb2669f2087174d857fb32e3 (plain)
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
// 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 google.maps.regionlookup.v1alpha;

import "google/api/field_behavior.proto";

option cc_enable_arenas = true;
option csharp_namespace = "Google.Maps.RegionLookup.V1Alpha";
option go_package = "google.golang.org/genproto/googleapis/maps/regionlookup/v1alpha;regionlookup";
option java_multiple_files = true;
option java_outer_classname = "RegionIdentifierProto";
option java_package = "com.google.maps.regionlookup.v1alpha";
option objc_class_prefix = "MRLV1A";
option php_namespace = "Google\\Maps\\RegionLookup\\V1alpha";

// Region Identifier.
//
// Identifies a region to look up.
//
// One of place or unit_code must be specified. If none is specified,
// an INVALID_ARGUMENT error is returned. region_code must also be specified
// except when place_type is "country".
//
// place and unit_code specify a location to match a Place ID to. For
// example if place is "California" and region_code "US" the API
// returns the following matched_place_id results when the following
// place_types are specified:
//
// place_type:                   matched_place_id results:
// administrative_area_level_1   Place ID for The State of California
// (All other supported types)   No Match
//
// If unit_code is "6" (FIPs code for California) and region_code is "US
// the API returns the following matched_place_id results when the
// following place_types are specified:
//
// place type:                   matched_place_id results:
// administrative_area_level_1   Place ID for The State of California
// (All other supported types)   No Match
//
// or if unit_code is "US" the API returns the following results when
// the following place_types are specified:
//
// place type:                   matched_place_id results:
// country                       Place ID for the United States
// (All other supported types)   No Match
//
// If no match is found, matched_place_id is not set.
//
// Candidate Place IDs are returned when a lookup finds a region with a
// different place_type then the one requested. For example if place is
// "California" and place_type is "country" the Place ID for The State of
// California is returned as a candidate in the candidate_place_ids field.
//
// Next available tag: 10
message RegionIdentifier {
  // Possible place types to match to.
  enum PlaceType {
    // Default value. This value is unused.
    PLACE_TYPE_UNSPECIFIED = 0;

    // Postal code.
    POSTAL_CODE = 1;

    // Administrative area level 1 (State in the US).
    ADMINISTRATIVE_AREA_LEVEL_1 = 2;

    // Administrative area level 2 (County in the US).
    ADMINISTRATIVE_AREA_LEVEL_2 = 3;

    // Locality (City).
    LOCALITY = 4;

    // Neighborhood.
    NEIGHBORHOOD = 5;

    // Country.
    COUNTRY = 6;

    // Sublocality.
    SUBLOCALITY = 7;

    // Administrative area level 3.
    ADMINISTRATIVE_AREA_LEVEL_3 = 8;

    // Administrative area level 4.
    ADMINISTRATIVE_AREA_LEVEL_4 = 9;

    // School district.
    SCHOOL_DISTRICT = 10;
  }

  // The location must be specified by one of the following:
  oneof location {
    // The name of the region to match to a Place ID.
    //
    // The place field is used in combination with place_type to look up
    // the region Place ID.
    //
    // For example:
    // If place_type is "locality", a valid place can be "Palo Alto, CA".
    //
    // If place_type is "postal_code", a valid place can be "94109".
    //
    // If place_type is "country", a valid place can be "United States".
    // etc.
    //
    // region_code is required when place is specified except when
    // place_type is "country".
    string place = 4;

    // The FIPs state or county codes (US only) or ISO-3166-1 country code to be
    // matched.
    //
    // The unit_code field is used in combination with place_type to look up
    // the region Place ID.
    //
    // For example:
    // If place_type is "country", a valid unit_code can be "US" (ISO-3166-1
    // Alpha-2 code for United States) or "BR" (ISO-3166-1 Alpha-2 code for
    // Brazil).
    //
    // If place_type is "administrative_area_level_1" (state) and region_code is
    // "US", a valid unit_code can be "6" (FIPs code for California) or
    // "12"(FIPs code for Florida).
    //
    // If place_type is "administrative_area_level_2" (county) and region_code
    // is "US", a valid unit_code can be "6001" (FIPs code for Alameda County in
    // California) or "12086" (FIPs code for Miami-Dade County in Florida).
    //
    // region_code is required when specifying a FIPs code. region_code is
    // ignored for ISO-3166-1 country codes.
    string unit_code = 5;
  }

  // Required. Place type to match.
  PlaceType place_type = 6 [(google.api.field_behavior) = REQUIRED];

  // The BCP-47 language code, such as "en-US" or "sr-Latn", corresponding to
  // the language in which the place name and address is requested. If none is
  // requested, then it defaults to English.
  string language_code = 7;

  // Two-letter ISO-3166 country/region code for the location you're trying to
  // match. region_code is optional if place_type is "country".
  string region_code = 8;
}