google-apis-mybusinessbusinessinformation_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 5c0327e3417fe0c1106937a6d0f5f8a320bc752ae043699d32c22a0e6af36d64
4
+ data.tar.gz: 8ac5b8560e0393be6e06a14afe44704467ee116e9d058ef51a86fbe1260f112c
5
+ SHA512:
6
+ metadata.gz: da73261fb66738622d7f239b1c207bc4fd5fa192151721bf0062f045b81518e6536b1a6f61be614eb018ef0fbd1580ac172495ce2272aa24d922c04531d1531c
7
+ data.tar.gz: 9bae1f3dba2d6941506feeb1ef68b213753c9e493f4072e0ba2062f139f2855455ad9f3c786fae0b5617bc8355ef42d2d554317bca84156e6b850308e3876b30
data/.yardopts ADDED
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-mybusinessbusinessinformation_v1
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/mybusinessbusinessinformation_v1/*.rb
9
+ lib/google/apis/mybusinessbusinessinformation_v1.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-mybusinessbusinessinformation_v1
2
+
3
+ ### v0.1.0 (2021-08-25)
4
+
5
+ * Regenerated from discovery document revision 20210822
6
+ * Regenerated using generator version 0.4.0
7
+
data/LICENSE.md ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/OVERVIEW.md ADDED
@@ -0,0 +1,96 @@
1
+ # Simple REST client for version V1 of the My Business Business Information API
2
+
3
+ This is a simple client library for version V1 of the My Business Business Information API. It provides:
4
+
5
+ * A client object that connects to the HTTP/JSON REST endpoint for the service.
6
+ * Ruby objects for data structures related to the service.
7
+ * Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts.
8
+ * Control of retry, pagination, and timeouts.
9
+
10
+ Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information.
11
+
12
+ ## Getting started
13
+
14
+ ### Before you begin
15
+
16
+ There are a few setup steps you need to complete before you can use this library:
17
+
18
+ 1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
19
+ 2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).
20
+ 3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/mybusinessbusinessinformation.googleapis.com) in the console.
21
+
22
+ ### Installation
23
+
24
+ Add this line to your application's Gemfile:
25
+
26
+ ```ruby
27
+ gem 'google-apis-mybusinessbusinessinformation_v1', '~> 0.1'
28
+ ```
29
+
30
+ And then execute:
31
+
32
+ ```
33
+ $ bundle
34
+ ```
35
+
36
+ Or install it yourself as:
37
+
38
+ ```
39
+ $ gem install google-apis-mybusinessbusinessinformation_v1
40
+ ```
41
+
42
+ ### Creating a client object
43
+
44
+ Once the gem is installed, you can load the client code and instantiate a client.
45
+
46
+ ```ruby
47
+ # Load the client
48
+ require "google/apis/mybusinessbusinessinformation_v1"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::MybusinessbusinessinformationV1::MyBusinessBusinessInformationService.new
52
+
53
+ # Authenticate calls
54
+ client.authentication = # ... use the googleauth gem to create credentials
55
+ ```
56
+
57
+ See the class reference docs for information on the methods you can call from a client.
58
+
59
+ ## Documentation
60
+
61
+ More detailed descriptions of the Google simple REST clients are available in two documents.
62
+
63
+ * The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
64
+ * The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
65
+
66
+ (Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Mybusinessbusinessinformation service in particular.)
67
+
68
+ For reference information on specific calls in the My Business Business Information API, see the {Google::Apis::MybusinessbusinessinformationV1::MyBusinessBusinessInformationService class reference docs}.
69
+
70
+ ## Which client should I use?
71
+
72
+ Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**.
73
+
74
+ This library, `google-apis-mybusinessbusinessinformation_v1`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
75
+
76
+ Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
77
+
78
+ Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
79
+
80
+ **For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
81
+
82
+ The [product documentation](https://developers.google.com/my-business/) may provide guidance regarding the preferred client library to use.
83
+
84
+ ## Supported Ruby versions
85
+
86
+ This library is supported on Ruby 2.5+.
87
+
88
+ Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
89
+
90
+ ## License
91
+
92
+ This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}.
93
+
94
+ ## Support
95
+
96
+ Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
@@ -0,0 +1,1901 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module MybusinessbusinessinformationV1
24
+
25
+ # Additional information that is surfaced in AdWords.
26
+ class AdWordsLocationExtensions
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Required. An alternate phone number to display on AdWords location extensions
30
+ # instead of the location's primary phone number.
31
+ # Corresponds to the JSON property `adPhone`
32
+ # @return [String]
33
+ attr_accessor :ad_phone
34
+
35
+ def initialize(**args)
36
+ update!(**args)
37
+ end
38
+
39
+ # Update properties of this object
40
+ def update!(**args)
41
+ @ad_phone = args[:ad_phone] if args.key?(:ad_phone)
42
+ end
43
+ end
44
+
45
+ # Request message for Locations.AssociateLocationRequest.
46
+ class AssociateLocationRequest
47
+ include Google::Apis::Core::Hashable
48
+
49
+ # The association to establish. If not set, it indicates no match.
50
+ # Corresponds to the JSON property `placeId`
51
+ # @return [String]
52
+ attr_accessor :place_id
53
+
54
+ def initialize(**args)
55
+ update!(**args)
56
+ end
57
+
58
+ # Update properties of this object
59
+ def update!(**args)
60
+ @place_id = args[:place_id] if args.key?(:place_id)
61
+ end
62
+ end
63
+
64
+ # A location attribute. Attributes provide additional information about a
65
+ # location. The attributes that can be set on a location may vary based on the
66
+ # properties of that location (for example, category). Available attributes are
67
+ # determined by Google and may be added and removed without API changes.
68
+ class Attribute
69
+ include Google::Apis::Core::Hashable
70
+
71
+ # Required. The resource name for this attribute.
72
+ # Corresponds to the JSON property `name`
73
+ # @return [String]
74
+ attr_accessor :name
75
+
76
+ # Values for an attribute with a `value_type` of REPEATED_ENUM. This consists of
77
+ # two lists of value IDs: those that are set (true) and those that are unset (
78
+ # false). Values absent are considered unknown. At least one value must be
79
+ # specified.
80
+ # Corresponds to the JSON property `repeatedEnumValue`
81
+ # @return [Google::Apis::MybusinessbusinessinformationV1::RepeatedEnumAttributeValue]
82
+ attr_accessor :repeated_enum_value
83
+
84
+ # When the attribute value type is URL, this field contains the value(s) for
85
+ # this attribute, and the other values fields must be empty.
86
+ # Corresponds to the JSON property `uriValues`
87
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::UriAttributeValue>]
88
+ attr_accessor :uri_values
89
+
90
+ # Output only. The type of value that this attribute contains. This should be
91
+ # used to determine how to interpret the value.
92
+ # Corresponds to the JSON property `valueType`
93
+ # @return [String]
94
+ attr_accessor :value_type
95
+
96
+ # The values for this attribute. The type of the values supplied must match that
97
+ # expected for that attribute. This is a repeated field where multiple attribute
98
+ # values may be provided. Attribute types only support one value.
99
+ # Corresponds to the JSON property `values`
100
+ # @return [Array<Object>]
101
+ attr_accessor :values
102
+
103
+ def initialize(**args)
104
+ update!(**args)
105
+ end
106
+
107
+ # Update properties of this object
108
+ def update!(**args)
109
+ @name = args[:name] if args.key?(:name)
110
+ @repeated_enum_value = args[:repeated_enum_value] if args.key?(:repeated_enum_value)
111
+ @uri_values = args[:uri_values] if args.key?(:uri_values)
112
+ @value_type = args[:value_type] if args.key?(:value_type)
113
+ @values = args[:values] if args.key?(:values)
114
+ end
115
+ end
116
+
117
+ # Metadata for an attribute. Contains display information for the attribute,
118
+ # including a localized name and a heading for grouping related attributes
119
+ # together.
120
+ class AttributeMetadata
121
+ include Google::Apis::Core::Hashable
122
+
123
+ # If true, the attribute is deprecated and should no longer be used. If
124
+ # deprecated, updating this attribute will not result in an error, but updates
125
+ # will not be saved. At some point after being deprecated, the attribute will be
126
+ # removed entirely and it will become an error.
127
+ # Corresponds to the JSON property `deprecated`
128
+ # @return [Boolean]
129
+ attr_accessor :deprecated
130
+ alias_method :deprecated?, :deprecated
131
+
132
+ # The localized display name for the attribute, if available; otherwise, the
133
+ # English display name.
134
+ # Corresponds to the JSON property `displayName`
135
+ # @return [String]
136
+ attr_accessor :display_name
137
+
138
+ # The localized display name of the group that contains this attribute, if
139
+ # available; otherwise, the English group name. Related attributes are collected
140
+ # into a group and should be displayed together under the heading given here.
141
+ # Corresponds to the JSON property `groupDisplayName`
142
+ # @return [String]
143
+ attr_accessor :group_display_name
144
+
145
+ # The unique identifier for the attribute.
146
+ # Corresponds to the JSON property `parent`
147
+ # @return [String]
148
+ attr_accessor :parent
149
+
150
+ # If true, the attribute supports multiple values. If false, only a single value
151
+ # should be provided.
152
+ # Corresponds to the JSON property `repeatable`
153
+ # @return [Boolean]
154
+ attr_accessor :repeatable
155
+ alias_method :repeatable?, :repeatable
156
+
157
+ # For some types of attributes (for example, enums), a list of supported values
158
+ # and corresponding display names for those values is provided.
159
+ # Corresponds to the JSON property `valueMetadata`
160
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::AttributeValueMetadata>]
161
+ attr_accessor :value_metadata
162
+
163
+ # The value type for the attribute. Values set and retrieved should be expected
164
+ # to be of this type.
165
+ # Corresponds to the JSON property `valueType`
166
+ # @return [String]
167
+ attr_accessor :value_type
168
+
169
+ def initialize(**args)
170
+ update!(**args)
171
+ end
172
+
173
+ # Update properties of this object
174
+ def update!(**args)
175
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
176
+ @display_name = args[:display_name] if args.key?(:display_name)
177
+ @group_display_name = args[:group_display_name] if args.key?(:group_display_name)
178
+ @parent = args[:parent] if args.key?(:parent)
179
+ @repeatable = args[:repeatable] if args.key?(:repeatable)
180
+ @value_metadata = args[:value_metadata] if args.key?(:value_metadata)
181
+ @value_type = args[:value_type] if args.key?(:value_type)
182
+ end
183
+ end
184
+
185
+ # Metadata for supported attribute values.
186
+ class AttributeValueMetadata
187
+ include Google::Apis::Core::Hashable
188
+
189
+ # The display name for this value, localized where available; otherwise, in
190
+ # English. The value display name is intended to be used in context with the
191
+ # attribute display name. For example, for a "WiFi" enum attribute, this could
192
+ # contain "Paid" to represent paid Wi-Fi.
193
+ # Corresponds to the JSON property `displayName`
194
+ # @return [String]
195
+ attr_accessor :display_name
196
+
197
+ # The attribute value.
198
+ # Corresponds to the JSON property `value`
199
+ # @return [Object]
200
+ attr_accessor :value
201
+
202
+ def initialize(**args)
203
+ update!(**args)
204
+ end
205
+
206
+ # Update properties of this object
207
+ def update!(**args)
208
+ @display_name = args[:display_name] if args.key?(:display_name)
209
+ @value = args[:value] if args.key?(:value)
210
+ end
211
+ end
212
+
213
+ # A container for all the attributes for a given location.
214
+ class Attributes
215
+ include Google::Apis::Core::Hashable
216
+
217
+ # A collection of attributes that need to be updated.
218
+ # Corresponds to the JSON property `attributes`
219
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::Attribute>]
220
+ attr_accessor :attributes
221
+
222
+ # Required. Google identifier for this location in the form of `locations/`
223
+ # location_id`/attributes`.
224
+ # Corresponds to the JSON property `name`
225
+ # @return [String]
226
+ attr_accessor :name
227
+
228
+ def initialize(**args)
229
+ update!(**args)
230
+ end
231
+
232
+ # Update properties of this object
233
+ def update!(**args)
234
+ @attributes = args[:attributes] if args.key?(:attributes)
235
+ @name = args[:name] if args.key?(:name)
236
+ end
237
+ end
238
+
239
+ # Response message for BusinessCategories.BatchGetBusinessCategories.
240
+ class BatchGetCategoriesResponse
241
+ include Google::Apis::Core::Hashable
242
+
243
+ # Categories that match the GConcept ids provided in the request. They will not
244
+ # come in the same order as category ids in the request.
245
+ # Corresponds to the JSON property `categories`
246
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::Category>]
247
+ attr_accessor :categories
248
+
249
+ def initialize(**args)
250
+ update!(**args)
251
+ end
252
+
253
+ # Update properties of this object
254
+ def update!(**args)
255
+ @categories = args[:categories] if args.key?(:categories)
256
+ end
257
+ end
258
+
259
+ # Represents the time periods that this location is open for business. Holds a
260
+ # collection of TimePeriod instances.
261
+ class BusinessHours
262
+ include Google::Apis::Core::Hashable
263
+
264
+ # Required. A collection of times that this location is open for business. Each
265
+ # period represents a range of hours when the location is open during the week.
266
+ # Corresponds to the JSON property `periods`
267
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::TimePeriod>]
268
+ attr_accessor :periods
269
+
270
+ def initialize(**args)
271
+ update!(**args)
272
+ end
273
+
274
+ # Update properties of this object
275
+ def update!(**args)
276
+ @periods = args[:periods] if args.key?(:periods)
277
+ end
278
+ end
279
+
280
+ # A collection of categories that describes the business. During updates, both
281
+ # fields must be set. Clients are prohibited from individually updating the
282
+ # primary or additional categories using the update mask.
283
+ class Categories
284
+ include Google::Apis::Core::Hashable
285
+
286
+ # Optional. Additional categories to describe your business. Categories help
287
+ # your customers find accurate, specific results for services they're interested
288
+ # in. To keep your business information accurate and live, make sure that you
289
+ # use as few categories as possible to describe your overall core business.
290
+ # Choose categories that are as specific as possible, but representative of your
291
+ # main business.
292
+ # Corresponds to the JSON property `additionalCategories`
293
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::Category>]
294
+ attr_accessor :additional_categories
295
+
296
+ # A category describing what this business is (not what it does). For a list of
297
+ # valid category IDs, and the mappings to their human-readable names, see `
298
+ # categories.list`.
299
+ # Corresponds to the JSON property `primaryCategory`
300
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Category]
301
+ attr_accessor :primary_category
302
+
303
+ def initialize(**args)
304
+ update!(**args)
305
+ end
306
+
307
+ # Update properties of this object
308
+ def update!(**args)
309
+ @additional_categories = args[:additional_categories] if args.key?(:additional_categories)
310
+ @primary_category = args[:primary_category] if args.key?(:primary_category)
311
+ end
312
+ end
313
+
314
+ # A category describing what this business is (not what it does). For a list of
315
+ # valid category IDs, and the mappings to their human-readable names, see `
316
+ # categories.list`.
317
+ class Category
318
+ include Google::Apis::Core::Hashable
319
+
320
+ # Output only. The human-readable name of the category. This is set when reading
321
+ # the location. When modifying the location, `category_id` must be set.
322
+ # Corresponds to the JSON property `displayName`
323
+ # @return [String]
324
+ attr_accessor :display_name
325
+
326
+ # Output only. More hours types that are available for this business category.
327
+ # Corresponds to the JSON property `moreHoursTypes`
328
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::MoreHoursType>]
329
+ attr_accessor :more_hours_types
330
+
331
+ # Required. A stable ID (provided by Google) for this category. The value must
332
+ # be specified when modifying the category (when creating or updating a location)
333
+ # .
334
+ # Corresponds to the JSON property `name`
335
+ # @return [String]
336
+ attr_accessor :name
337
+
338
+ # Output only. A list of all the service types that are available for this
339
+ # business category.
340
+ # Corresponds to the JSON property `serviceTypes`
341
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::ServiceType>]
342
+ attr_accessor :service_types
343
+
344
+ def initialize(**args)
345
+ update!(**args)
346
+ end
347
+
348
+ # Update properties of this object
349
+ def update!(**args)
350
+ @display_name = args[:display_name] if args.key?(:display_name)
351
+ @more_hours_types = args[:more_hours_types] if args.key?(:more_hours_types)
352
+ @name = args[:name] if args.key?(:name)
353
+ @service_types = args[:service_types] if args.key?(:service_types)
354
+ end
355
+ end
356
+
357
+ # A chain is a brand that your business's locations can be affiliated with.
358
+ class Chain
359
+ include Google::Apis::Core::Hashable
360
+
361
+ # Names of the chain.
362
+ # Corresponds to the JSON property `chainNames`
363
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::ChainName>]
364
+ attr_accessor :chain_names
365
+
366
+ # Number of locations that are part of this chain.
367
+ # Corresponds to the JSON property `locationCount`
368
+ # @return [Fixnum]
369
+ attr_accessor :location_count
370
+
371
+ # Required. The chain's resource name, in the format `chains/`chain_id``.
372
+ # Corresponds to the JSON property `name`
373
+ # @return [String]
374
+ attr_accessor :name
375
+
376
+ # Websites of the chain.
377
+ # Corresponds to the JSON property `websites`
378
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::ChainUri>]
379
+ attr_accessor :websites
380
+
381
+ def initialize(**args)
382
+ update!(**args)
383
+ end
384
+
385
+ # Update properties of this object
386
+ def update!(**args)
387
+ @chain_names = args[:chain_names] if args.key?(:chain_names)
388
+ @location_count = args[:location_count] if args.key?(:location_count)
389
+ @name = args[:name] if args.key?(:name)
390
+ @websites = args[:websites] if args.key?(:websites)
391
+ end
392
+ end
393
+
394
+ # Name to be used when displaying the chain.
395
+ class ChainName
396
+ include Google::Apis::Core::Hashable
397
+
398
+ # The display name for this chain.
399
+ # Corresponds to the JSON property `displayName`
400
+ # @return [String]
401
+ attr_accessor :display_name
402
+
403
+ # The BCP 47 code of language of the name.
404
+ # Corresponds to the JSON property `languageCode`
405
+ # @return [String]
406
+ attr_accessor :language_code
407
+
408
+ def initialize(**args)
409
+ update!(**args)
410
+ end
411
+
412
+ # Update properties of this object
413
+ def update!(**args)
414
+ @display_name = args[:display_name] if args.key?(:display_name)
415
+ @language_code = args[:language_code] if args.key?(:language_code)
416
+ end
417
+ end
418
+
419
+ # Url to be used when displaying the chain.
420
+ class ChainUri
421
+ include Google::Apis::Core::Hashable
422
+
423
+ # The uri for this chain.
424
+ # Corresponds to the JSON property `uri`
425
+ # @return [String]
426
+ attr_accessor :uri
427
+
428
+ def initialize(**args)
429
+ update!(**args)
430
+ end
431
+
432
+ # Update properties of this object
433
+ def update!(**args)
434
+ @uri = args[:uri] if args.key?(:uri)
435
+ end
436
+ end
437
+
438
+ # Request message for Locations.ClearLocationAssociationRequest.
439
+ class ClearLocationAssociationRequest
440
+ include Google::Apis::Core::Hashable
441
+
442
+ def initialize(**args)
443
+ update!(**args)
444
+ end
445
+
446
+ # Update properties of this object
447
+ def update!(**args)
448
+ end
449
+ end
450
+
451
+ # Represents a whole or partial calendar date, such as a birthday. The time of
452
+ # day and time zone are either specified elsewhere or are insignificant. The
453
+ # date is relative to the Gregorian Calendar. This can represent one of the
454
+ # following: * A full date, with non-zero year, month, and day values * A month
455
+ # and day value, with a zero year, such as an anniversary * A year on its own,
456
+ # with zero month and day values * A year and month value, with a zero day, such
457
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
458
+ # google.protobuf.Timestamp`.
459
+ class Date
460
+ include Google::Apis::Core::Hashable
461
+
462
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
463
+ # specify a year by itself or a year and month where the day isn't significant.
464
+ # Corresponds to the JSON property `day`
465
+ # @return [Fixnum]
466
+ attr_accessor :day
467
+
468
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
469
+ # and day.
470
+ # Corresponds to the JSON property `month`
471
+ # @return [Fixnum]
472
+ attr_accessor :month
473
+
474
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
475
+ # year.
476
+ # Corresponds to the JSON property `year`
477
+ # @return [Fixnum]
478
+ attr_accessor :year
479
+
480
+ def initialize(**args)
481
+ update!(**args)
482
+ end
483
+
484
+ # Update properties of this object
485
+ def update!(**args)
486
+ @day = args[:day] if args.key?(:day)
487
+ @month = args[:month] if args.key?(:month)
488
+ @year = args[:year] if args.key?(:year)
489
+ end
490
+ end
491
+
492
+ # A generic empty message that you can re-use to avoid defining duplicated empty
493
+ # messages in your APIs. A typical example is to use it as the request or the
494
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
495
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
496
+ # `Empty` is empty JSON object ````.
497
+ class Empty
498
+ include Google::Apis::Core::Hashable
499
+
500
+ def initialize(**args)
501
+ update!(**args)
502
+ end
503
+
504
+ # Update properties of this object
505
+ def update!(**args)
506
+ end
507
+ end
508
+
509
+ # Represents a free-form service offered by the merchant. These are services
510
+ # that are not exposed as part of our structure service data. The merchant
511
+ # manually enters the names for of such services via a geomerchant surface.
512
+ class FreeFormServiceItem
513
+ include Google::Apis::Core::Hashable
514
+
515
+ # Required. This field represents the category name (i.e. the category's stable
516
+ # ID). The `category` and `service_type_id` should match the possible
517
+ # combinations provided in the `Category` message.
518
+ # Corresponds to the JSON property `category`
519
+ # @return [String]
520
+ attr_accessor :category
521
+
522
+ # Label to be used when displaying the price list, section, or item.
523
+ # Corresponds to the JSON property `label`
524
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Label]
525
+ attr_accessor :label
526
+
527
+ def initialize(**args)
528
+ update!(**args)
529
+ end
530
+
531
+ # Update properties of this object
532
+ def update!(**args)
533
+ @category = args[:category] if args.key?(:category)
534
+ @label = args[:label] if args.key?(:label)
535
+ end
536
+ end
537
+
538
+ # Represents a Location that is present on Google. This can be a location that
539
+ # has been claimed by the user, someone else, or could be unclaimed.
540
+ class GoogleLocation
541
+ include Google::Apis::Core::Hashable
542
+
543
+ # A location. See the [help center article] (https://support.google.com/business/
544
+ # answer/3038177) for a detailed description of these fields, or the [category
545
+ # endpoint](/my-business/reference/rest/v4/categories) for a list of valid
546
+ # business categories.
547
+ # Corresponds to the JSON property `location`
548
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Location]
549
+ attr_accessor :location
550
+
551
+ # Resource name of this GoogleLocation, in the format `googleLocations/`
552
+ # googleLocationId``.
553
+ # Corresponds to the JSON property `name`
554
+ # @return [String]
555
+ attr_accessor :name
556
+
557
+ # A URL that will redirect the user to the request admin rights UI. This field
558
+ # is only present if the location has already been claimed by any user,
559
+ # including the current user.
560
+ # Corresponds to the JSON property `requestAdminRightsUri`
561
+ # @return [String]
562
+ attr_accessor :request_admin_rights_uri
563
+
564
+ def initialize(**args)
565
+ update!(**args)
566
+ end
567
+
568
+ # Update properties of this object
569
+ def update!(**args)
570
+ @location = args[:location] if args.key?(:location)
571
+ @name = args[:name] if args.key?(:name)
572
+ @request_admin_rights_uri = args[:request_admin_rights_uri] if args.key?(:request_admin_rights_uri)
573
+ end
574
+ end
575
+
576
+ # Represents a location that was modified by Google.
577
+ class GoogleUpdatedLocation
578
+ include Google::Apis::Core::Hashable
579
+
580
+ # The fields that Google updated.
581
+ # Corresponds to the JSON property `diffMask`
582
+ # @return [String]
583
+ attr_accessor :diff_mask
584
+
585
+ # A location. See the [help center article] (https://support.google.com/business/
586
+ # answer/3038177) for a detailed description of these fields, or the [category
587
+ # endpoint](/my-business/reference/rest/v4/categories) for a list of valid
588
+ # business categories.
589
+ # Corresponds to the JSON property `location`
590
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Location]
591
+ attr_accessor :location
592
+
593
+ # The fields that have pending edits that haven't yet been pushed to Maps and
594
+ # Search.
595
+ # Corresponds to the JSON property `pendingMask`
596
+ # @return [String]
597
+ attr_accessor :pending_mask
598
+
599
+ def initialize(**args)
600
+ update!(**args)
601
+ end
602
+
603
+ # Update properties of this object
604
+ def update!(**args)
605
+ @diff_mask = args[:diff_mask] if args.key?(:diff_mask)
606
+ @location = args[:location] if args.key?(:location)
607
+ @pending_mask = args[:pending_mask] if args.key?(:pending_mask)
608
+ end
609
+ end
610
+
611
+ # Label to be used when displaying the price list, section, or item.
612
+ class Label
613
+ include Google::Apis::Core::Hashable
614
+
615
+ # Optional. Description of the price list, section, or item.
616
+ # Corresponds to the JSON property `description`
617
+ # @return [String]
618
+ attr_accessor :description
619
+
620
+ # Required. Display name for the price list, section, or item.
621
+ # Corresponds to the JSON property `displayName`
622
+ # @return [String]
623
+ attr_accessor :display_name
624
+
625
+ # Optional. The BCP-47 language code that these strings apply for. Only one set
626
+ # of labels may be set per language.
627
+ # Corresponds to the JSON property `languageCode`
628
+ # @return [String]
629
+ attr_accessor :language_code
630
+
631
+ def initialize(**args)
632
+ update!(**args)
633
+ end
634
+
635
+ # Update properties of this object
636
+ def update!(**args)
637
+ @description = args[:description] if args.key?(:description)
638
+ @display_name = args[:display_name] if args.key?(:display_name)
639
+ @language_code = args[:language_code] if args.key?(:language_code)
640
+ end
641
+ end
642
+
643
+ # An object that represents a latitude/longitude pair. This is expressed as a
644
+ # pair of doubles to represent degrees latitude and degrees longitude. Unless
645
+ # specified otherwise, this object must conform to the WGS84 standard. Values
646
+ # must be within normalized ranges.
647
+ class LatLng
648
+ include Google::Apis::Core::Hashable
649
+
650
+ # The latitude in degrees. It must be in the range [-90.0, +90.0].
651
+ # Corresponds to the JSON property `latitude`
652
+ # @return [Float]
653
+ attr_accessor :latitude
654
+
655
+ # The longitude in degrees. It must be in the range [-180.0, +180.0].
656
+ # Corresponds to the JSON property `longitude`
657
+ # @return [Float]
658
+ attr_accessor :longitude
659
+
660
+ def initialize(**args)
661
+ update!(**args)
662
+ end
663
+
664
+ # Update properties of this object
665
+ def update!(**args)
666
+ @latitude = args[:latitude] if args.key?(:latitude)
667
+ @longitude = args[:longitude] if args.key?(:longitude)
668
+ end
669
+ end
670
+
671
+ # Response for AttributesService.ListAttributeMetadata.
672
+ class ListAttributeMetadataResponse
673
+ include Google::Apis::Core::Hashable
674
+
675
+ # A collection of attribute metadata for the available attributes.
676
+ # Corresponds to the JSON property `attributeMetadata`
677
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::AttributeMetadata>]
678
+ attr_accessor :attribute_metadata
679
+
680
+ # If the number of attributes exceeded the requested page size, this field will
681
+ # be populated with a token to fetch the next page of attributes on a subsequent
682
+ # call to `attributes.list`. If there are no more attributes, this field will
683
+ # not be present in the response.
684
+ # Corresponds to the JSON property `nextPageToken`
685
+ # @return [String]
686
+ attr_accessor :next_page_token
687
+
688
+ def initialize(**args)
689
+ update!(**args)
690
+ end
691
+
692
+ # Update properties of this object
693
+ def update!(**args)
694
+ @attribute_metadata = args[:attribute_metadata] if args.key?(:attribute_metadata)
695
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
696
+ end
697
+ end
698
+
699
+ # Response message for BusinessCategories.ListCategories.
700
+ class ListCategoriesResponse
701
+ include Google::Apis::Core::Hashable
702
+
703
+ # The matching categories based on the requested parameters.
704
+ # Corresponds to the JSON property `categories`
705
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::Category>]
706
+ attr_accessor :categories
707
+
708
+ # If the number of categories exceeded the requested page size, this field will
709
+ # be populated with a token to fetch the next page of categories on a subsequent
710
+ # call to `ListCategories`.
711
+ # Corresponds to the JSON property `nextPageToken`
712
+ # @return [String]
713
+ attr_accessor :next_page_token
714
+
715
+ def initialize(**args)
716
+ update!(**args)
717
+ end
718
+
719
+ # Update properties of this object
720
+ def update!(**args)
721
+ @categories = args[:categories] if args.key?(:categories)
722
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
723
+ end
724
+ end
725
+
726
+ # Response message for Locations.ListLocations.
727
+ class ListLocationsResponse
728
+ include Google::Apis::Core::Hashable
729
+
730
+ # The locations.
731
+ # Corresponds to the JSON property `locations`
732
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::Location>]
733
+ attr_accessor :locations
734
+
735
+ # If the number of locations exceeded the requested page size, this field is
736
+ # populated with a token to fetch the next page of locations on a subsequent
737
+ # call to `ListLocations`. If there are no more locations, this field is not
738
+ # present in the response.
739
+ # Corresponds to the JSON property `nextPageToken`
740
+ # @return [String]
741
+ attr_accessor :next_page_token
742
+
743
+ # The approximate number of Locations in the list irrespective of pagination.
744
+ # Corresponds to the JSON property `totalSize`
745
+ # @return [Fixnum]
746
+ attr_accessor :total_size
747
+
748
+ def initialize(**args)
749
+ update!(**args)
750
+ end
751
+
752
+ # Update properties of this object
753
+ def update!(**args)
754
+ @locations = args[:locations] if args.key?(:locations)
755
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
756
+ @total_size = args[:total_size] if args.key?(:total_size)
757
+ end
758
+ end
759
+
760
+ # A location. See the [help center article] (https://support.google.com/business/
761
+ # answer/3038177) for a detailed description of these fields, or the [category
762
+ # endpoint](/my-business/reference/rest/v4/categories) for a list of valid
763
+ # business categories.
764
+ class Location
765
+ include Google::Apis::Core::Hashable
766
+
767
+ # Additional information that is surfaced in AdWords.
768
+ # Corresponds to the JSON property `adWordsLocationExtensions`
769
+ # @return [Google::Apis::MybusinessbusinessinformationV1::AdWordsLocationExtensions]
770
+ attr_accessor :ad_words_location_extensions
771
+
772
+ # A collection of categories that describes the business. During updates, both
773
+ # fields must be set. Clients are prohibited from individually updating the
774
+ # primary or additional categories using the update mask.
775
+ # Corresponds to the JSON property `categories`
776
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Categories]
777
+ attr_accessor :categories
778
+
779
+ # Optional. A collection of free-form strings to allow you to tag your business.
780
+ # These labels are NOT user facing; only you can see them. Must be between 1-255
781
+ # characters per label.
782
+ # Corresponds to the JSON property `labels`
783
+ # @return [Array<String>]
784
+ attr_accessor :labels
785
+
786
+ # Immutable. The language of the location. Set during creation and not
787
+ # updateable.
788
+ # Corresponds to the JSON property `languageCode`
789
+ # @return [String]
790
+ attr_accessor :language_code
791
+
792
+ # An object that represents a latitude/longitude pair. This is expressed as a
793
+ # pair of doubles to represent degrees latitude and degrees longitude. Unless
794
+ # specified otherwise, this object must conform to the WGS84 standard. Values
795
+ # must be within normalized ranges.
796
+ # Corresponds to the JSON property `latlng`
797
+ # @return [Google::Apis::MybusinessbusinessinformationV1::LatLng]
798
+ attr_accessor :latlng
799
+
800
+ # Additional non-user-editable information about the location.
801
+ # Corresponds to the JSON property `metadata`
802
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Metadata]
803
+ attr_accessor :metadata
804
+
805
+ # Optional. More hours for a business's different departments or specific
806
+ # customers.
807
+ # Corresponds to the JSON property `moreHours`
808
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::MoreHours>]
809
+ attr_accessor :more_hours
810
+
811
+ # Google identifier for this location in the form: `locations/`location_id``.
812
+ # Corresponds to the JSON property `name`
813
+ # @return [String]
814
+ attr_accessor :name
815
+
816
+ # Information related to the opening state of the business.
817
+ # Corresponds to the JSON property `openInfo`
818
+ # @return [Google::Apis::MybusinessbusinessinformationV1::OpenInfo]
819
+ attr_accessor :open_info
820
+
821
+ # A collection of phone numbers for the business. During updates, both fields
822
+ # must be set. Clients may not update just the primary or additional phone
823
+ # numbers using the update mask. International phone format is preferred, such
824
+ # as "+1 415 555 0132", see more in (https://developers.google.com/style/phone-
825
+ # numbers#international-phone-numbers).
826
+ # Corresponds to the JSON property `phoneNumbers`
827
+ # @return [Google::Apis::MybusinessbusinessinformationV1::PhoneNumbers]
828
+ attr_accessor :phone_numbers
829
+
830
+ # All information pertaining to the location's profile.
831
+ # Corresponds to the JSON property `profile`
832
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Profile]
833
+ attr_accessor :profile
834
+
835
+ # Represents the time periods that this location is open for business. Holds a
836
+ # collection of TimePeriod instances.
837
+ # Corresponds to the JSON property `regularHours`
838
+ # @return [Google::Apis::MybusinessbusinessinformationV1::BusinessHours]
839
+ attr_accessor :regular_hours
840
+
841
+ # Information of all parent and children locations related to this one.
842
+ # Corresponds to the JSON property `relationshipData`
843
+ # @return [Google::Apis::MybusinessbusinessinformationV1::RelationshipData]
844
+ attr_accessor :relationship_data
845
+
846
+ # Service area businesses provide their service at the customer's location (for
847
+ # example, a locksmith or plumber).
848
+ # Corresponds to the JSON property `serviceArea`
849
+ # @return [Google::Apis::MybusinessbusinessinformationV1::ServiceAreaBusiness]
850
+ attr_accessor :service_area
851
+
852
+ # Optional. List of services supported by merchants. A service can be haircut,
853
+ # install water heater, etc. Duplicated service items will be removed
854
+ # automatically.
855
+ # Corresponds to the JSON property `serviceItems`
856
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::ServiceItem>]
857
+ attr_accessor :service_items
858
+
859
+ # Represents a set of time periods when a location's operational hours differ
860
+ # from its normal business hours.
861
+ # Corresponds to the JSON property `specialHours`
862
+ # @return [Google::Apis::MybusinessbusinessinformationV1::SpecialHours]
863
+ attr_accessor :special_hours
864
+
865
+ # Optional. External identifier for this location, which must be unique within a
866
+ # given account. This is a means of associating the location with your own
867
+ # records.
868
+ # Corresponds to the JSON property `storeCode`
869
+ # @return [String]
870
+ attr_accessor :store_code
871
+
872
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
873
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
874
+ # Box or similar. It is not intended to model geographical locations (roads,
875
+ # towns, mountains). In typical usage an address would be created via user input
876
+ # or from importing existing data, depending on the type of process. Advice on
877
+ # address input / editing: - Use an i18n-ready address widget such as https://
878
+ # github.com/google/libaddressinput) - Users should not be presented with UI
879
+ # elements for input or editing of fields outside countries where that field is
880
+ # used. For more guidance on how to use this schema, please see: https://support.
881
+ # google.com/business/answer/6397478
882
+ # Corresponds to the JSON property `storefrontAddress`
883
+ # @return [Google::Apis::MybusinessbusinessinformationV1::PostalAddress]
884
+ attr_accessor :storefront_address
885
+
886
+ # Required. Location name should reflect your business's real-world name, as
887
+ # used consistently on your storefront, website, and stationery, and as known to
888
+ # customers. Any additional information, when relevant, can be included in other
889
+ # fields of the resource (for example, `Address`, `Categories`). Don't add
890
+ # unnecessary information to your name (for example, prefer "Google" over "
891
+ # Google Inc. - Mountain View Corporate Headquarters"). Don't include marketing
892
+ # taglines, store codes, special characters, hours or closed/open status, phone
893
+ # numbers, website URLs, service/product information, location/address or
894
+ # directions, or containment information (for example, "Chase ATM in Duane Reade"
895
+ # ).
896
+ # Corresponds to the JSON property `title`
897
+ # @return [String]
898
+ attr_accessor :title
899
+
900
+ # Optional. A URL for this business. If possible, use a URL that represents this
901
+ # individual business location instead of a generic website/URL that represents
902
+ # all locations, or the brand.
903
+ # Corresponds to the JSON property `websiteUri`
904
+ # @return [String]
905
+ attr_accessor :website_uri
906
+
907
+ def initialize(**args)
908
+ update!(**args)
909
+ end
910
+
911
+ # Update properties of this object
912
+ def update!(**args)
913
+ @ad_words_location_extensions = args[:ad_words_location_extensions] if args.key?(:ad_words_location_extensions)
914
+ @categories = args[:categories] if args.key?(:categories)
915
+ @labels = args[:labels] if args.key?(:labels)
916
+ @language_code = args[:language_code] if args.key?(:language_code)
917
+ @latlng = args[:latlng] if args.key?(:latlng)
918
+ @metadata = args[:metadata] if args.key?(:metadata)
919
+ @more_hours = args[:more_hours] if args.key?(:more_hours)
920
+ @name = args[:name] if args.key?(:name)
921
+ @open_info = args[:open_info] if args.key?(:open_info)
922
+ @phone_numbers = args[:phone_numbers] if args.key?(:phone_numbers)
923
+ @profile = args[:profile] if args.key?(:profile)
924
+ @regular_hours = args[:regular_hours] if args.key?(:regular_hours)
925
+ @relationship_data = args[:relationship_data] if args.key?(:relationship_data)
926
+ @service_area = args[:service_area] if args.key?(:service_area)
927
+ @service_items = args[:service_items] if args.key?(:service_items)
928
+ @special_hours = args[:special_hours] if args.key?(:special_hours)
929
+ @store_code = args[:store_code] if args.key?(:store_code)
930
+ @storefront_address = args[:storefront_address] if args.key?(:storefront_address)
931
+ @title = args[:title] if args.key?(:title)
932
+ @website_uri = args[:website_uri] if args.key?(:website_uri)
933
+ end
934
+ end
935
+
936
+ # Additional non-user-editable information about the location.
937
+ class Metadata
938
+ include Google::Apis::Core::Hashable
939
+
940
+ # Output only. Indicates whether the location can be deleted using the API.
941
+ # Corresponds to the JSON property `canDelete`
942
+ # @return [Boolean]
943
+ attr_accessor :can_delete
944
+ alias_method :can_delete?, :can_delete
945
+
946
+ # Output only. Indicates if the listing is eligible for food menu.
947
+ # Corresponds to the JSON property `canHaveFoodMenus`
948
+ # @return [Boolean]
949
+ attr_accessor :can_have_food_menus
950
+ alias_method :can_have_food_menus?, :can_have_food_menus
951
+
952
+ # Output only. Indicates if the listing can modify the service list.
953
+ # Corresponds to the JSON property `canModifyServiceList`
954
+ # @return [Boolean]
955
+ attr_accessor :can_modify_service_list
956
+ alias_method :can_modify_service_list?, :can_modify_service_list
957
+
958
+ # Output only. Indicates whether the location can operate on Health data.
959
+ # Corresponds to the JSON property `canOperateHealthData`
960
+ # @return [Boolean]
961
+ attr_accessor :can_operate_health_data
962
+ alias_method :can_operate_health_data?, :can_operate_health_data
963
+
964
+ # Output only. Indicates if the listing can manage local posts.
965
+ # Corresponds to the JSON property `canOperateLocalPost`
966
+ # @return [Boolean]
967
+ attr_accessor :can_operate_local_post
968
+ alias_method :can_operate_local_post?, :can_operate_local_post
969
+
970
+ # Output only. Indicates whether the location can operate on Lodging data.
971
+ # Corresponds to the JSON property `canOperateLodgingData`
972
+ # @return [Boolean]
973
+ attr_accessor :can_operate_lodging_data
974
+ alias_method :can_operate_lodging_data?, :can_operate_lodging_data
975
+
976
+ # Output only. The location resource that this location duplicates.
977
+ # Corresponds to the JSON property `duplicateLocation`
978
+ # @return [String]
979
+ attr_accessor :duplicate_location
980
+
981
+ # Output only. Indicates whether the place ID associated with this location has
982
+ # updates that need to be updated or rejected by the client. If this boolean is
983
+ # set, you should call the `getGoogleUpdated` method to lookup information that'
984
+ # s needs to be verified.
985
+ # Corresponds to the JSON property `hasGoogleUpdated`
986
+ # @return [Boolean]
987
+ attr_accessor :has_google_updated
988
+ alias_method :has_google_updated?, :has_google_updated
989
+
990
+ # Output only. Indicates whether any of this Location's properties are in the
991
+ # edit pending state.
992
+ # Corresponds to the JSON property `hasPendingEdits`
993
+ # @return [Boolean]
994
+ attr_accessor :has_pending_edits
995
+ alias_method :has_pending_edits?, :has_pending_edits
996
+
997
+ # Output only. A link to the location on Maps.
998
+ # Corresponds to the JSON property `mapsUri`
999
+ # @return [String]
1000
+ attr_accessor :maps_uri
1001
+
1002
+ # Output only. A link to the page on Google Search where a customer can leave a
1003
+ # review for the location.
1004
+ # Corresponds to the JSON property `newReviewUri`
1005
+ # @return [String]
1006
+ attr_accessor :new_review_uri
1007
+
1008
+ # Output only. If this locationappears on Google Maps, this field is populated
1009
+ # with the place ID for the location. This ID can be used in various Places APIs.
1010
+ # This field can be set during Create calls, but not for Update.
1011
+ # Corresponds to the JSON property `placeId`
1012
+ # @return [String]
1013
+ attr_accessor :place_id
1014
+
1015
+ def initialize(**args)
1016
+ update!(**args)
1017
+ end
1018
+
1019
+ # Update properties of this object
1020
+ def update!(**args)
1021
+ @can_delete = args[:can_delete] if args.key?(:can_delete)
1022
+ @can_have_food_menus = args[:can_have_food_menus] if args.key?(:can_have_food_menus)
1023
+ @can_modify_service_list = args[:can_modify_service_list] if args.key?(:can_modify_service_list)
1024
+ @can_operate_health_data = args[:can_operate_health_data] if args.key?(:can_operate_health_data)
1025
+ @can_operate_local_post = args[:can_operate_local_post] if args.key?(:can_operate_local_post)
1026
+ @can_operate_lodging_data = args[:can_operate_lodging_data] if args.key?(:can_operate_lodging_data)
1027
+ @duplicate_location = args[:duplicate_location] if args.key?(:duplicate_location)
1028
+ @has_google_updated = args[:has_google_updated] if args.key?(:has_google_updated)
1029
+ @has_pending_edits = args[:has_pending_edits] if args.key?(:has_pending_edits)
1030
+ @maps_uri = args[:maps_uri] if args.key?(:maps_uri)
1031
+ @new_review_uri = args[:new_review_uri] if args.key?(:new_review_uri)
1032
+ @place_id = args[:place_id] if args.key?(:place_id)
1033
+ end
1034
+ end
1035
+
1036
+ # Represents an amount of money with its currency type.
1037
+ class Money
1038
+ include Google::Apis::Core::Hashable
1039
+
1040
+ # The three-letter currency code defined in ISO 4217.
1041
+ # Corresponds to the JSON property `currencyCode`
1042
+ # @return [String]
1043
+ attr_accessor :currency_code
1044
+
1045
+ # Number of nano (10^-9) units of the amount. The value must be between -999,999,
1046
+ # 999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be
1047
+ # positive or zero. If `units` is zero, `nanos` can be positive, zero, or
1048
+ # negative. If `units` is negative, `nanos` must be negative or zero. For
1049
+ # example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
1050
+ # Corresponds to the JSON property `nanos`
1051
+ # @return [Fixnum]
1052
+ attr_accessor :nanos
1053
+
1054
+ # The whole units of the amount. For example if `currencyCode` is `"USD"`, then
1055
+ # 1 unit is one US dollar.
1056
+ # Corresponds to the JSON property `units`
1057
+ # @return [Fixnum]
1058
+ attr_accessor :units
1059
+
1060
+ def initialize(**args)
1061
+ update!(**args)
1062
+ end
1063
+
1064
+ # Update properties of this object
1065
+ def update!(**args)
1066
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
1067
+ @nanos = args[:nanos] if args.key?(:nanos)
1068
+ @units = args[:units] if args.key?(:units)
1069
+ end
1070
+ end
1071
+
1072
+ # The time periods during which a location is open for certain types of business.
1073
+ class MoreHours
1074
+ include Google::Apis::Core::Hashable
1075
+
1076
+ # Required. Type of hours. Clients should call `#link businessCategories:
1077
+ # BatchGet` to get supported hours types for categories of their locations.
1078
+ # Corresponds to the JSON property `hoursTypeId`
1079
+ # @return [String]
1080
+ attr_accessor :hours_type_id
1081
+
1082
+ # Required. A collection of times that this location is open. Each period
1083
+ # represents a range of hours when the location is open during the week.
1084
+ # Corresponds to the JSON property `periods`
1085
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::TimePeriod>]
1086
+ attr_accessor :periods
1087
+
1088
+ def initialize(**args)
1089
+ update!(**args)
1090
+ end
1091
+
1092
+ # Update properties of this object
1093
+ def update!(**args)
1094
+ @hours_type_id = args[:hours_type_id] if args.key?(:hours_type_id)
1095
+ @periods = args[:periods] if args.key?(:periods)
1096
+ end
1097
+ end
1098
+
1099
+ # More hours types that a business can offers, in addition to its regular hours.
1100
+ class MoreHoursType
1101
+ include Google::Apis::Core::Hashable
1102
+
1103
+ # Output only. The human-readable English display name for the hours type.
1104
+ # Corresponds to the JSON property `displayName`
1105
+ # @return [String]
1106
+ attr_accessor :display_name
1107
+
1108
+ # Output only. A stable ID provided by Google for this hours type.
1109
+ # Corresponds to the JSON property `hoursTypeId`
1110
+ # @return [String]
1111
+ attr_accessor :hours_type_id
1112
+
1113
+ # Output only. The human-readable localized display name for the hours type.
1114
+ # Corresponds to the JSON property `localizedDisplayName`
1115
+ # @return [String]
1116
+ attr_accessor :localized_display_name
1117
+
1118
+ def initialize(**args)
1119
+ update!(**args)
1120
+ end
1121
+
1122
+ # Update properties of this object
1123
+ def update!(**args)
1124
+ @display_name = args[:display_name] if args.key?(:display_name)
1125
+ @hours_type_id = args[:hours_type_id] if args.key?(:hours_type_id)
1126
+ @localized_display_name = args[:localized_display_name] if args.key?(:localized_display_name)
1127
+ end
1128
+ end
1129
+
1130
+ # Information related to the opening state of the business.
1131
+ class OpenInfo
1132
+ include Google::Apis::Core::Hashable
1133
+
1134
+ # Output only. Indicates whether this business is eligible for re-open.
1135
+ # Corresponds to the JSON property `canReopen`
1136
+ # @return [Boolean]
1137
+ attr_accessor :can_reopen
1138
+ alias_method :can_reopen?, :can_reopen
1139
+
1140
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1141
+ # day and time zone are either specified elsewhere or are insignificant. The
1142
+ # date is relative to the Gregorian Calendar. This can represent one of the
1143
+ # following: * A full date, with non-zero year, month, and day values * A month
1144
+ # and day value, with a zero year, such as an anniversary * A year on its own,
1145
+ # with zero month and day values * A year and month value, with a zero day, such
1146
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
1147
+ # google.protobuf.Timestamp`.
1148
+ # Corresponds to the JSON property `openingDate`
1149
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Date]
1150
+ attr_accessor :opening_date
1151
+
1152
+ # Required. Indicates whether or not the Location is currently open for business.
1153
+ # All locations are open by default, unless updated to be closed.
1154
+ # Corresponds to the JSON property `status`
1155
+ # @return [String]
1156
+ attr_accessor :status
1157
+
1158
+ def initialize(**args)
1159
+ update!(**args)
1160
+ end
1161
+
1162
+ # Update properties of this object
1163
+ def update!(**args)
1164
+ @can_reopen = args[:can_reopen] if args.key?(:can_reopen)
1165
+ @opening_date = args[:opening_date] if args.key?(:opening_date)
1166
+ @status = args[:status] if args.key?(:status)
1167
+ end
1168
+ end
1169
+
1170
+ # A collection of phone numbers for the business. During updates, both fields
1171
+ # must be set. Clients may not update just the primary or additional phone
1172
+ # numbers using the update mask. International phone format is preferred, such
1173
+ # as "+1 415 555 0132", see more in (https://developers.google.com/style/phone-
1174
+ # numbers#international-phone-numbers).
1175
+ class PhoneNumbers
1176
+ include Google::Apis::Core::Hashable
1177
+
1178
+ # Optional. Up to two phone numbers (mobile or landline, no fax) at which your
1179
+ # business can be called, in addition to your primary phone number.
1180
+ # Corresponds to the JSON property `additionalPhones`
1181
+ # @return [Array<String>]
1182
+ attr_accessor :additional_phones
1183
+
1184
+ # Required. A phone number that connects to your individual business location as
1185
+ # directly as possible. Use a local phone number instead of a central, call
1186
+ # center helpline number whenever possible.
1187
+ # Corresponds to the JSON property `primaryPhone`
1188
+ # @return [String]
1189
+ attr_accessor :primary_phone
1190
+
1191
+ def initialize(**args)
1192
+ update!(**args)
1193
+ end
1194
+
1195
+ # Update properties of this object
1196
+ def update!(**args)
1197
+ @additional_phones = args[:additional_phones] if args.key?(:additional_phones)
1198
+ @primary_phone = args[:primary_phone] if args.key?(:primary_phone)
1199
+ end
1200
+ end
1201
+
1202
+ # Defines an area that's represented by a place ID.
1203
+ class PlaceInfo
1204
+ include Google::Apis::Core::Hashable
1205
+
1206
+ # Required. The ID of the place. Must correspond to a region. (https://
1207
+ # developers.google.com/places/web-service/supported_types#table3)
1208
+ # Corresponds to the JSON property `placeId`
1209
+ # @return [String]
1210
+ attr_accessor :place_id
1211
+
1212
+ # Required. The localized name of the place. For example, `Scottsdale, AZ`.
1213
+ # Corresponds to the JSON property `placeName`
1214
+ # @return [String]
1215
+ attr_accessor :place_name
1216
+
1217
+ def initialize(**args)
1218
+ update!(**args)
1219
+ end
1220
+
1221
+ # Update properties of this object
1222
+ def update!(**args)
1223
+ @place_id = args[:place_id] if args.key?(:place_id)
1224
+ @place_name = args[:place_name] if args.key?(:place_name)
1225
+ end
1226
+ end
1227
+
1228
+ # Defines the union of areas represented by a set of places.
1229
+ class Places
1230
+ include Google::Apis::Core::Hashable
1231
+
1232
+ # The areas represented by place IDs. Limited to a maximum of 20 places.
1233
+ # Corresponds to the JSON property `placeInfos`
1234
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::PlaceInfo>]
1235
+ attr_accessor :place_infos
1236
+
1237
+ def initialize(**args)
1238
+ update!(**args)
1239
+ end
1240
+
1241
+ # Update properties of this object
1242
+ def update!(**args)
1243
+ @place_infos = args[:place_infos] if args.key?(:place_infos)
1244
+ end
1245
+ end
1246
+
1247
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
1248
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
1249
+ # Box or similar. It is not intended to model geographical locations (roads,
1250
+ # towns, mountains). In typical usage an address would be created via user input
1251
+ # or from importing existing data, depending on the type of process. Advice on
1252
+ # address input / editing: - Use an i18n-ready address widget such as https://
1253
+ # github.com/google/libaddressinput) - Users should not be presented with UI
1254
+ # elements for input or editing of fields outside countries where that field is
1255
+ # used. For more guidance on how to use this schema, please see: https://support.
1256
+ # google.com/business/answer/6397478
1257
+ class PostalAddress
1258
+ include Google::Apis::Core::Hashable
1259
+
1260
+ # Unstructured address lines describing the lower levels of an address. Because
1261
+ # values in address_lines do not have type information and may sometimes contain
1262
+ # multiple values in a single field (e.g. "Austin, TX"), it is important that
1263
+ # the line order is clear. The order of address lines should be "envelope order"
1264
+ # for the country/region of the address. In places where this can vary (e.g.
1265
+ # Japan), address_language is used to make it explicit (e.g. "ja" for large-to-
1266
+ # small ordering and "ja-Latn" or "en" for small-to-large). This way, the most
1267
+ # specific line of an address can be selected based on the language. The minimum
1268
+ # permitted structural representation of an address consists of a region_code
1269
+ # with all remaining information placed in the address_lines. It would be
1270
+ # possible to format such an address very approximately without geocoding, but
1271
+ # no semantic reasoning could be made about any of the address components until
1272
+ # it was at least partially resolved. Creating an address only containing a
1273
+ # region_code and address_lines, and then geocoding is the recommended way to
1274
+ # handle completely unstructured addresses (as opposed to guessing which parts
1275
+ # of the address should be localities or administrative areas).
1276
+ # Corresponds to the JSON property `addressLines`
1277
+ # @return [Array<String>]
1278
+ attr_accessor :address_lines
1279
+
1280
+ # Optional. Highest administrative subdivision which is used for postal
1281
+ # addresses of a country or region. For example, this can be a state, a province,
1282
+ # an oblast, or a prefecture. Specifically, for Spain this is the province and
1283
+ # not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many
1284
+ # countries don't use an administrative area in postal addresses. E.g. in
1285
+ # Switzerland this should be left unpopulated.
1286
+ # Corresponds to the JSON property `administrativeArea`
1287
+ # @return [String]
1288
+ attr_accessor :administrative_area
1289
+
1290
+ # Optional. BCP-47 language code of the contents of this address (if known).
1291
+ # This is often the UI language of the input form or is expected to match one of
1292
+ # the languages used in the address' country/region, or their transliterated
1293
+ # equivalents. This can affect formatting in certain countries, but is not
1294
+ # critical to the correctness of the data and will never affect any validation
1295
+ # or other non-formatting related operations. If this value is not known, it
1296
+ # should be omitted (rather than specifying a possibly incorrect default).
1297
+ # Examples: "zh-Hant", "ja", "ja-Latn", "en".
1298
+ # Corresponds to the JSON property `languageCode`
1299
+ # @return [String]
1300
+ attr_accessor :language_code
1301
+
1302
+ # Optional. Generally refers to the city/town portion of the address. Examples:
1303
+ # US city, IT comune, UK post town. In regions of the world where localities are
1304
+ # not well defined or do not fit into this structure well, leave locality empty
1305
+ # and use address_lines.
1306
+ # Corresponds to the JSON property `locality`
1307
+ # @return [String]
1308
+ attr_accessor :locality
1309
+
1310
+ # Optional. The name of the organization at the address.
1311
+ # Corresponds to the JSON property `organization`
1312
+ # @return [String]
1313
+ attr_accessor :organization
1314
+
1315
+ # Optional. Postal code of the address. Not all countries use or require postal
1316
+ # codes to be present, but where they are used, they may trigger additional
1317
+ # validation with other parts of the address (e.g. state/zip validation in the U.
1318
+ # S.A.).
1319
+ # Corresponds to the JSON property `postalCode`
1320
+ # @return [String]
1321
+ attr_accessor :postal_code
1322
+
1323
+ # Optional. The recipient at the address. This field may, under certain
1324
+ # circumstances, contain multiline information. For example, it might contain "
1325
+ # care of" information.
1326
+ # Corresponds to the JSON property `recipients`
1327
+ # @return [Array<String>]
1328
+ attr_accessor :recipients
1329
+
1330
+ # Required. CLDR region code of the country/region of the address. This is never
1331
+ # inferred and it is up to the user to ensure the value is correct. See http://
1332
+ # cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/
1333
+ # territory_information.html for details. Example: "CH" for Switzerland.
1334
+ # Corresponds to the JSON property `regionCode`
1335
+ # @return [String]
1336
+ attr_accessor :region_code
1337
+
1338
+ # The schema revision of the `PostalAddress`. This must be set to 0, which is
1339
+ # the latest revision. All new revisions **must** be backward compatible with
1340
+ # old revisions.
1341
+ # Corresponds to the JSON property `revision`
1342
+ # @return [Fixnum]
1343
+ attr_accessor :revision
1344
+
1345
+ # Optional. Additional, country-specific, sorting code. This is not used in most
1346
+ # regions. Where it is used, the value is either a string like "CEDEX",
1347
+ # optionally followed by a number (e.g. "CEDEX 7"), or just a number alone,
1348
+ # representing the "sector code" (Jamaica), "delivery area indicator" (Malawi)
1349
+ # or "post office indicator" (e.g. Côte d'Ivoire).
1350
+ # Corresponds to the JSON property `sortingCode`
1351
+ # @return [String]
1352
+ attr_accessor :sorting_code
1353
+
1354
+ # Optional. Sublocality of the address. For example, this can be neighborhoods,
1355
+ # boroughs, districts.
1356
+ # Corresponds to the JSON property `sublocality`
1357
+ # @return [String]
1358
+ attr_accessor :sublocality
1359
+
1360
+ def initialize(**args)
1361
+ update!(**args)
1362
+ end
1363
+
1364
+ # Update properties of this object
1365
+ def update!(**args)
1366
+ @address_lines = args[:address_lines] if args.key?(:address_lines)
1367
+ @administrative_area = args[:administrative_area] if args.key?(:administrative_area)
1368
+ @language_code = args[:language_code] if args.key?(:language_code)
1369
+ @locality = args[:locality] if args.key?(:locality)
1370
+ @organization = args[:organization] if args.key?(:organization)
1371
+ @postal_code = args[:postal_code] if args.key?(:postal_code)
1372
+ @recipients = args[:recipients] if args.key?(:recipients)
1373
+ @region_code = args[:region_code] if args.key?(:region_code)
1374
+ @revision = args[:revision] if args.key?(:revision)
1375
+ @sorting_code = args[:sorting_code] if args.key?(:sorting_code)
1376
+ @sublocality = args[:sublocality] if args.key?(:sublocality)
1377
+ end
1378
+ end
1379
+
1380
+ # All information pertaining to the location's profile.
1381
+ class Profile
1382
+ include Google::Apis::Core::Hashable
1383
+
1384
+ # Required. Description of the location in your own voice, not editable by
1385
+ # anyone else.
1386
+ # Corresponds to the JSON property `description`
1387
+ # @return [String]
1388
+ attr_accessor :description
1389
+
1390
+ def initialize(**args)
1391
+ update!(**args)
1392
+ end
1393
+
1394
+ # Update properties of this object
1395
+ def update!(**args)
1396
+ @description = args[:description] if args.key?(:description)
1397
+ end
1398
+ end
1399
+
1400
+ # Information of all parent and children locations related to this one.
1401
+ class RelationshipData
1402
+ include Google::Apis::Core::Hashable
1403
+
1404
+ # The list of children locations that this location has relations with.
1405
+ # Corresponds to the JSON property `childrenLocations`
1406
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::RelevantLocation>]
1407
+ attr_accessor :children_locations
1408
+
1409
+ # The resource name of the Chain that this location is member of. How to find
1410
+ # Chain ID
1411
+ # Corresponds to the JSON property `parentChain`
1412
+ # @return [String]
1413
+ attr_accessor :parent_chain
1414
+
1415
+ # Information about another location that is related to current one. The
1416
+ # relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and
1417
+ # the location specified here can be on either side (parent/child) of the
1418
+ # location.
1419
+ # Corresponds to the JSON property `parentLocation`
1420
+ # @return [Google::Apis::MybusinessbusinessinformationV1::RelevantLocation]
1421
+ attr_accessor :parent_location
1422
+
1423
+ def initialize(**args)
1424
+ update!(**args)
1425
+ end
1426
+
1427
+ # Update properties of this object
1428
+ def update!(**args)
1429
+ @children_locations = args[:children_locations] if args.key?(:children_locations)
1430
+ @parent_chain = args[:parent_chain] if args.key?(:parent_chain)
1431
+ @parent_location = args[:parent_location] if args.key?(:parent_location)
1432
+ end
1433
+ end
1434
+
1435
+ # Information about another location that is related to current one. The
1436
+ # relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and
1437
+ # the location specified here can be on either side (parent/child) of the
1438
+ # location.
1439
+ class RelevantLocation
1440
+ include Google::Apis::Core::Hashable
1441
+
1442
+ # Required. Specify the location that is on the other side of the relation by
1443
+ # its placeID.
1444
+ # Corresponds to the JSON property `placeId`
1445
+ # @return [String]
1446
+ attr_accessor :place_id
1447
+
1448
+ # Required. The type of the relationship.
1449
+ # Corresponds to the JSON property `relationType`
1450
+ # @return [String]
1451
+ attr_accessor :relation_type
1452
+
1453
+ def initialize(**args)
1454
+ update!(**args)
1455
+ end
1456
+
1457
+ # Update properties of this object
1458
+ def update!(**args)
1459
+ @place_id = args[:place_id] if args.key?(:place_id)
1460
+ @relation_type = args[:relation_type] if args.key?(:relation_type)
1461
+ end
1462
+ end
1463
+
1464
+ # Values for an attribute with a `value_type` of REPEATED_ENUM. This consists of
1465
+ # two lists of value IDs: those that are set (true) and those that are unset (
1466
+ # false). Values absent are considered unknown. At least one value must be
1467
+ # specified.
1468
+ class RepeatedEnumAttributeValue
1469
+ include Google::Apis::Core::Hashable
1470
+
1471
+ # Enum values that are set.
1472
+ # Corresponds to the JSON property `setValues`
1473
+ # @return [Array<String>]
1474
+ attr_accessor :set_values
1475
+
1476
+ # Enum values that are unset.
1477
+ # Corresponds to the JSON property `unsetValues`
1478
+ # @return [Array<String>]
1479
+ attr_accessor :unset_values
1480
+
1481
+ def initialize(**args)
1482
+ update!(**args)
1483
+ end
1484
+
1485
+ # Update properties of this object
1486
+ def update!(**args)
1487
+ @set_values = args[:set_values] if args.key?(:set_values)
1488
+ @unset_values = args[:unset_values] if args.key?(:unset_values)
1489
+ end
1490
+ end
1491
+
1492
+ # Response message for Locations.SearchChains.
1493
+ class SearchChainsResponse
1494
+ include Google::Apis::Core::Hashable
1495
+
1496
+ # Chains that match the queried chain_display_name in SearchChainsRequest. If
1497
+ # there are no matches, this field will be empty. Results are listed in order of
1498
+ # relevance.
1499
+ # Corresponds to the JSON property `chains`
1500
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::Chain>]
1501
+ attr_accessor :chains
1502
+
1503
+ def initialize(**args)
1504
+ update!(**args)
1505
+ end
1506
+
1507
+ # Update properties of this object
1508
+ def update!(**args)
1509
+ @chains = args[:chains] if args.key?(:chains)
1510
+ end
1511
+ end
1512
+
1513
+ # Request message for GoogleLocations.SearchGoogleLocations.
1514
+ class SearchGoogleLocationsRequest
1515
+ include Google::Apis::Core::Hashable
1516
+
1517
+ # A location. See the [help center article] (https://support.google.com/business/
1518
+ # answer/3038177) for a detailed description of these fields, or the [category
1519
+ # endpoint](/my-business/reference/rest/v4/categories) for a list of valid
1520
+ # business categories.
1521
+ # Corresponds to the JSON property `location`
1522
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Location]
1523
+ attr_accessor :location
1524
+
1525
+ # The number of matches to return. The default value is 3, with a maximum of 10.
1526
+ # Note that latency may increase if more are requested. There is no pagination.
1527
+ # Corresponds to the JSON property `pageSize`
1528
+ # @return [Fixnum]
1529
+ attr_accessor :page_size
1530
+
1531
+ # Text query to search for. The search results from a query string will be less
1532
+ # accurate than if providing an exact location, but can provide more inexact
1533
+ # matches.
1534
+ # Corresponds to the JSON property `query`
1535
+ # @return [String]
1536
+ attr_accessor :query
1537
+
1538
+ def initialize(**args)
1539
+ update!(**args)
1540
+ end
1541
+
1542
+ # Update properties of this object
1543
+ def update!(**args)
1544
+ @location = args[:location] if args.key?(:location)
1545
+ @page_size = args[:page_size] if args.key?(:page_size)
1546
+ @query = args[:query] if args.key?(:query)
1547
+ end
1548
+ end
1549
+
1550
+ # Response message for GoogleLocations.SearchGoogleLocations.
1551
+ class SearchGoogleLocationsResponse
1552
+ include Google::Apis::Core::Hashable
1553
+
1554
+ # A collection of GoogleLocations that are potential matches to the specified
1555
+ # request, listed in order from most to least accuracy.
1556
+ # Corresponds to the JSON property `googleLocations`
1557
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::GoogleLocation>]
1558
+ attr_accessor :google_locations
1559
+
1560
+ def initialize(**args)
1561
+ update!(**args)
1562
+ end
1563
+
1564
+ # Update properties of this object
1565
+ def update!(**args)
1566
+ @google_locations = args[:google_locations] if args.key?(:google_locations)
1567
+ end
1568
+ end
1569
+
1570
+ # Service area businesses provide their service at the customer's location (for
1571
+ # example, a locksmith or plumber).
1572
+ class ServiceAreaBusiness
1573
+ include Google::Apis::Core::Hashable
1574
+
1575
+ # Required. Indicates the type of the service area business.
1576
+ # Corresponds to the JSON property `businessType`
1577
+ # @return [String]
1578
+ attr_accessor :business_type
1579
+
1580
+ # Defines the union of areas represented by a set of places.
1581
+ # Corresponds to the JSON property `places`
1582
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Places]
1583
+ attr_accessor :places
1584
+
1585
+ # Immutable. CLDR region code of the country/region that this service area
1586
+ # business is based in. See http://cldr.unicode.org/ and http://www.unicode.org/
1587
+ # cldr/charts/30/supplemental/territory_information.html for details. Example: "
1588
+ # CH" for Switzerland. This field is required for CUSTOMER_LOCATION_ONLY
1589
+ # businesses, and is ignored otherwise. The region specified here can be
1590
+ # different from regions for the areas that this business serves (e.g. service
1591
+ # area businesses that provide services in regions other than the one that they
1592
+ # are based in). If this location requires verification after creation, the
1593
+ # address provided for verification purposes *must* be located within this
1594
+ # region, and the business owner or their authorized representative *must* be
1595
+ # able to receive postal mail at the provided verification address.
1596
+ # Corresponds to the JSON property `regionCode`
1597
+ # @return [String]
1598
+ attr_accessor :region_code
1599
+
1600
+ def initialize(**args)
1601
+ update!(**args)
1602
+ end
1603
+
1604
+ # Update properties of this object
1605
+ def update!(**args)
1606
+ @business_type = args[:business_type] if args.key?(:business_type)
1607
+ @places = args[:places] if args.key?(:places)
1608
+ @region_code = args[:region_code] if args.key?(:region_code)
1609
+ end
1610
+ end
1611
+
1612
+ # A message that describes a single service item. It is used to describe the
1613
+ # type of service that the merchant provides. For example, haircut can be a
1614
+ # service.
1615
+ class ServiceItem
1616
+ include Google::Apis::Core::Hashable
1617
+
1618
+ # Represents a free-form service offered by the merchant. These are services
1619
+ # that are not exposed as part of our structure service data. The merchant
1620
+ # manually enters the names for of such services via a geomerchant surface.
1621
+ # Corresponds to the JSON property `freeFormServiceItem`
1622
+ # @return [Google::Apis::MybusinessbusinessinformationV1::FreeFormServiceItem]
1623
+ attr_accessor :free_form_service_item
1624
+
1625
+ # Represents an amount of money with its currency type.
1626
+ # Corresponds to the JSON property `price`
1627
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Money]
1628
+ attr_accessor :price
1629
+
1630
+ # Represents a structured service offered by the merchant. For eg:
1631
+ # toilet_installation.
1632
+ # Corresponds to the JSON property `structuredServiceItem`
1633
+ # @return [Google::Apis::MybusinessbusinessinformationV1::StructuredServiceItem]
1634
+ attr_accessor :structured_service_item
1635
+
1636
+ def initialize(**args)
1637
+ update!(**args)
1638
+ end
1639
+
1640
+ # Update properties of this object
1641
+ def update!(**args)
1642
+ @free_form_service_item = args[:free_form_service_item] if args.key?(:free_form_service_item)
1643
+ @price = args[:price] if args.key?(:price)
1644
+ @structured_service_item = args[:structured_service_item] if args.key?(:structured_service_item)
1645
+ end
1646
+ end
1647
+
1648
+ # A message describing a service type that the business offers.
1649
+ class ServiceType
1650
+ include Google::Apis::Core::Hashable
1651
+
1652
+ # Output only. The human-readable display name for the service type.
1653
+ # Corresponds to the JSON property `displayName`
1654
+ # @return [String]
1655
+ attr_accessor :display_name
1656
+
1657
+ # Output only. A stable ID (provided by Google) for this service type.
1658
+ # Corresponds to the JSON property `serviceTypeId`
1659
+ # @return [String]
1660
+ attr_accessor :service_type_id
1661
+
1662
+ def initialize(**args)
1663
+ update!(**args)
1664
+ end
1665
+
1666
+ # Update properties of this object
1667
+ def update!(**args)
1668
+ @display_name = args[:display_name] if args.key?(:display_name)
1669
+ @service_type_id = args[:service_type_id] if args.key?(:service_type_id)
1670
+ end
1671
+ end
1672
+
1673
+ # Represents a single time period when a location's operational hours differ
1674
+ # from its normal business hours. A special hour period must represent a range
1675
+ # of less than 24 hours. The `open_time` and `start_date` must predate the `
1676
+ # close_time` and `end_date`. The `close_time` and `end_date` can extend to 11:
1677
+ # 59 a.m. on the day after the specified `start_date`. For example, the
1678
+ # following inputs are valid: start_date=2015-11-23, open_time=08:00, close_time=
1679
+ # 18:00 start_date=2015-11-23, end_date=2015-11-23, open_time=08:00, close_time=
1680
+ # 18:00 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=
1681
+ # 11:59 The following inputs are not valid: start_date=2015-11-23, open_time=13:
1682
+ # 00, close_time=11:59 start_date=2015-11-23, end_date=2015-11-24, open_time=13:
1683
+ # 00, close_time=12:00 start_date=2015-11-23, end_date=2015-11-25, open_time=08:
1684
+ # 00, close_time=18:00
1685
+ class SpecialHourPeriod
1686
+ include Google::Apis::Core::Hashable
1687
+
1688
+ # Represents a time of day. The date and time zone are either not significant or
1689
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1690
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1691
+ # Corresponds to the JSON property `closeTime`
1692
+ # @return [Google::Apis::MybusinessbusinessinformationV1::TimeOfDay]
1693
+ attr_accessor :close_time
1694
+
1695
+ # Optional. If true, `end_date`, `open_time`, and `close_time` are ignored, and
1696
+ # the date specified in `start_date` is treated as the location being closed for
1697
+ # the entire day.
1698
+ # Corresponds to the JSON property `closed`
1699
+ # @return [Boolean]
1700
+ attr_accessor :closed
1701
+ alias_method :closed?, :closed
1702
+
1703
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1704
+ # day and time zone are either specified elsewhere or are insignificant. The
1705
+ # date is relative to the Gregorian Calendar. This can represent one of the
1706
+ # following: * A full date, with non-zero year, month, and day values * A month
1707
+ # and day value, with a zero year, such as an anniversary * A year on its own,
1708
+ # with zero month and day values * A year and month value, with a zero day, such
1709
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
1710
+ # google.protobuf.Timestamp`.
1711
+ # Corresponds to the JSON property `endDate`
1712
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Date]
1713
+ attr_accessor :end_date
1714
+
1715
+ # Represents a time of day. The date and time zone are either not significant or
1716
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1717
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1718
+ # Corresponds to the JSON property `openTime`
1719
+ # @return [Google::Apis::MybusinessbusinessinformationV1::TimeOfDay]
1720
+ attr_accessor :open_time
1721
+
1722
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1723
+ # day and time zone are either specified elsewhere or are insignificant. The
1724
+ # date is relative to the Gregorian Calendar. This can represent one of the
1725
+ # following: * A full date, with non-zero year, month, and day values * A month
1726
+ # and day value, with a zero year, such as an anniversary * A year on its own,
1727
+ # with zero month and day values * A year and month value, with a zero day, such
1728
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
1729
+ # google.protobuf.Timestamp`.
1730
+ # Corresponds to the JSON property `startDate`
1731
+ # @return [Google::Apis::MybusinessbusinessinformationV1::Date]
1732
+ attr_accessor :start_date
1733
+
1734
+ def initialize(**args)
1735
+ update!(**args)
1736
+ end
1737
+
1738
+ # Update properties of this object
1739
+ def update!(**args)
1740
+ @close_time = args[:close_time] if args.key?(:close_time)
1741
+ @closed = args[:closed] if args.key?(:closed)
1742
+ @end_date = args[:end_date] if args.key?(:end_date)
1743
+ @open_time = args[:open_time] if args.key?(:open_time)
1744
+ @start_date = args[:start_date] if args.key?(:start_date)
1745
+ end
1746
+ end
1747
+
1748
+ # Represents a set of time periods when a location's operational hours differ
1749
+ # from its normal business hours.
1750
+ class SpecialHours
1751
+ include Google::Apis::Core::Hashable
1752
+
1753
+ # Required. A list of exceptions to the business's regular hours.
1754
+ # Corresponds to the JSON property `specialHourPeriods`
1755
+ # @return [Array<Google::Apis::MybusinessbusinessinformationV1::SpecialHourPeriod>]
1756
+ attr_accessor :special_hour_periods
1757
+
1758
+ def initialize(**args)
1759
+ update!(**args)
1760
+ end
1761
+
1762
+ # Update properties of this object
1763
+ def update!(**args)
1764
+ @special_hour_periods = args[:special_hour_periods] if args.key?(:special_hour_periods)
1765
+ end
1766
+ end
1767
+
1768
+ # Represents a structured service offered by the merchant. For eg:
1769
+ # toilet_installation.
1770
+ class StructuredServiceItem
1771
+ include Google::Apis::Core::Hashable
1772
+
1773
+ # Optional. Description of structured service item. The character limit is 300.
1774
+ # Corresponds to the JSON property `description`
1775
+ # @return [String]
1776
+ attr_accessor :description
1777
+
1778
+ # Required. The `service_type_id` field is a Google provided unique ID that can
1779
+ # be found in `ServiceType`. This information is provided by `BatchGetCategories`
1780
+ # rpc service.
1781
+ # Corresponds to the JSON property `serviceTypeId`
1782
+ # @return [String]
1783
+ attr_accessor :service_type_id
1784
+
1785
+ def initialize(**args)
1786
+ update!(**args)
1787
+ end
1788
+
1789
+ # Update properties of this object
1790
+ def update!(**args)
1791
+ @description = args[:description] if args.key?(:description)
1792
+ @service_type_id = args[:service_type_id] if args.key?(:service_type_id)
1793
+ end
1794
+ end
1795
+
1796
+ # Represents a time of day. The date and time zone are either not significant or
1797
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1798
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1799
+ class TimeOfDay
1800
+ include Google::Apis::Core::Hashable
1801
+
1802
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
1803
+ # allow the value "24:00:00" for scenarios like business closing time.
1804
+ # Corresponds to the JSON property `hours`
1805
+ # @return [Fixnum]
1806
+ attr_accessor :hours
1807
+
1808
+ # Minutes of hour of day. Must be from 0 to 59.
1809
+ # Corresponds to the JSON property `minutes`
1810
+ # @return [Fixnum]
1811
+ attr_accessor :minutes
1812
+
1813
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1814
+ # Corresponds to the JSON property `nanos`
1815
+ # @return [Fixnum]
1816
+ attr_accessor :nanos
1817
+
1818
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1819
+ # allow the value 60 if it allows leap-seconds.
1820
+ # Corresponds to the JSON property `seconds`
1821
+ # @return [Fixnum]
1822
+ attr_accessor :seconds
1823
+
1824
+ def initialize(**args)
1825
+ update!(**args)
1826
+ end
1827
+
1828
+ # Update properties of this object
1829
+ def update!(**args)
1830
+ @hours = args[:hours] if args.key?(:hours)
1831
+ @minutes = args[:minutes] if args.key?(:minutes)
1832
+ @nanos = args[:nanos] if args.key?(:nanos)
1833
+ @seconds = args[:seconds] if args.key?(:seconds)
1834
+ end
1835
+ end
1836
+
1837
+ # Represents a span of time that the business is open, starting on the specified
1838
+ # open day/time and closing on the specified close day/time. The closing time
1839
+ # must occur after the opening time, for example later in the same day, or on a
1840
+ # subsequent day.
1841
+ class TimePeriod
1842
+ include Google::Apis::Core::Hashable
1843
+
1844
+ # Required. Indicates the day of the week this period ends on.
1845
+ # Corresponds to the JSON property `closeDay`
1846
+ # @return [String]
1847
+ attr_accessor :close_day
1848
+
1849
+ # Represents a time of day. The date and time zone are either not significant or
1850
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1851
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1852
+ # Corresponds to the JSON property `closeTime`
1853
+ # @return [Google::Apis::MybusinessbusinessinformationV1::TimeOfDay]
1854
+ attr_accessor :close_time
1855
+
1856
+ # Required. Indicates the day of the week this period starts on.
1857
+ # Corresponds to the JSON property `openDay`
1858
+ # @return [String]
1859
+ attr_accessor :open_day
1860
+
1861
+ # Represents a time of day. The date and time zone are either not significant or
1862
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1863
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1864
+ # Corresponds to the JSON property `openTime`
1865
+ # @return [Google::Apis::MybusinessbusinessinformationV1::TimeOfDay]
1866
+ attr_accessor :open_time
1867
+
1868
+ def initialize(**args)
1869
+ update!(**args)
1870
+ end
1871
+
1872
+ # Update properties of this object
1873
+ def update!(**args)
1874
+ @close_day = args[:close_day] if args.key?(:close_day)
1875
+ @close_time = args[:close_time] if args.key?(:close_time)
1876
+ @open_day = args[:open_day] if args.key?(:open_day)
1877
+ @open_time = args[:open_time] if args.key?(:open_time)
1878
+ end
1879
+ end
1880
+
1881
+ # Values for an attribute with a `value_type` of URL.
1882
+ class UriAttributeValue
1883
+ include Google::Apis::Core::Hashable
1884
+
1885
+ # Required. The proposed URI value for this attribute.
1886
+ # Corresponds to the JSON property `uri`
1887
+ # @return [String]
1888
+ attr_accessor :uri
1889
+
1890
+ def initialize(**args)
1891
+ update!(**args)
1892
+ end
1893
+
1894
+ # Update properties of this object
1895
+ def update!(**args)
1896
+ @uri = args[:uri] if args.key?(:uri)
1897
+ end
1898
+ end
1899
+ end
1900
+ end
1901
+ end