google-apis-merchantapi_accounts_v1beta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3131 @@
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 MerchantapiAccountsV1beta
24
+
25
+ # Reference to a Terms of Service resource.
26
+ class AcceptTermsOfService
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Required. The resource name of the terms of service version.
30
+ # Corresponds to the JSON property `name`
31
+ # @return [String]
32
+ attr_accessor :name
33
+
34
+ # Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This is
35
+ # either a country when the ToS applies specifically to that country or `001`
36
+ # when it applies globally.
37
+ # Corresponds to the JSON property `regionCode`
38
+ # @return [String]
39
+ attr_accessor :region_code
40
+
41
+ def initialize(**args)
42
+ update!(**args)
43
+ end
44
+
45
+ # Update properties of this object
46
+ def update!(**args)
47
+ @name = args[:name] if args.key?(:name)
48
+ @region_code = args[:region_code] if args.key?(:region_code)
49
+ end
50
+ end
51
+
52
+ # Describes the accepted terms of service.
53
+ class Accepted
54
+ include Google::Apis::Core::Hashable
55
+
56
+ # The account where the acceptance was recorded. This can be the account itself
57
+ # or, in the case of subaccounts, the MCA account.
58
+ # Corresponds to the JSON property `acceptedBy`
59
+ # @return [String]
60
+ attr_accessor :accepted_by
61
+
62
+ # The accepted [termsOfService](google.shopping.merchant.accounts.v1main.
63
+ # TermsOfService).
64
+ # Corresponds to the JSON property `termsOfService`
65
+ # @return [String]
66
+ attr_accessor :terms_of_service
67
+
68
+ # Represents a whole or partial calendar date, such as a birthday. The time of
69
+ # day and time zone are either specified elsewhere or are insignificant. The
70
+ # date is relative to the Gregorian Calendar. This can represent one of the
71
+ # following: * A full date, with non-zero year, month, and day values. * A month
72
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
73
+ # with a zero month and a zero day. * A year and month, with a zero day (for
74
+ # example, a credit card expiration date). Related types: * google.type.
75
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
76
+ # Corresponds to the JSON property `validUntil`
77
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Date]
78
+ attr_accessor :valid_until
79
+
80
+ def initialize(**args)
81
+ update!(**args)
82
+ end
83
+
84
+ # Update properties of this object
85
+ def update!(**args)
86
+ @accepted_by = args[:accepted_by] if args.key?(:accepted_by)
87
+ @terms_of_service = args[:terms_of_service] if args.key?(:terms_of_service)
88
+ @valid_until = args[:valid_until] if args.key?(:valid_until)
89
+ end
90
+ end
91
+
92
+ # An account.
93
+ class Account
94
+ include Google::Apis::Core::Hashable
95
+
96
+ # Output only. The ID of the account.
97
+ # Corresponds to the JSON property `accountId`
98
+ # @return [Fixnum]
99
+ attr_accessor :account_id
100
+
101
+ # Required. A human-readable name of the account. See [store name](https://
102
+ # support.google.com/merchants/answer/160556) and [business name](https://
103
+ # support.google.com/merchants/answer/12159159) for more information.
104
+ # Corresponds to the JSON property `accountName`
105
+ # @return [String]
106
+ attr_accessor :account_name
107
+
108
+ # Whether this account contains adult content.
109
+ # Corresponds to the JSON property `adultContent`
110
+ # @return [Boolean]
111
+ attr_accessor :adult_content
112
+ alias_method :adult_content?, :adult_content
113
+
114
+ # Required. The account's [BCP-47 language code](https://tools.ietf.org/html/
115
+ # bcp47), such as `en-US` or `sr-Latn`.
116
+ # Corresponds to the JSON property `languageCode`
117
+ # @return [String]
118
+ attr_accessor :language_code
119
+
120
+ # Identifier. The resource name of the account. Format: `accounts/`account``
121
+ # Corresponds to the JSON property `name`
122
+ # @return [String]
123
+ attr_accessor :name
124
+
125
+ # Output only. Whether this is a test account.
126
+ # Corresponds to the JSON property `testAccount`
127
+ # @return [Boolean]
128
+ attr_accessor :test_account
129
+ alias_method :test_account?, :test_account
130
+
131
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
132
+ # time-zones).
133
+ # Corresponds to the JSON property `timeZone`
134
+ # @return [Google::Apis::MerchantapiAccountsV1beta::TimeZone]
135
+ attr_accessor :time_zone
136
+
137
+ def initialize(**args)
138
+ update!(**args)
139
+ end
140
+
141
+ # Update properties of this object
142
+ def update!(**args)
143
+ @account_id = args[:account_id] if args.key?(:account_id)
144
+ @account_name = args[:account_name] if args.key?(:account_name)
145
+ @adult_content = args[:adult_content] if args.key?(:adult_content)
146
+ @language_code = args[:language_code] if args.key?(:language_code)
147
+ @name = args[:name] if args.key?(:name)
148
+ @test_account = args[:test_account] if args.key?(:test_account)
149
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
150
+ end
151
+ end
152
+
153
+ # An [`AccountIssue`](https://support.google.com/merchants/answer/12153802?sjid=
154
+ # 17798438912526418908-EU#account).
155
+ class AccountIssue
156
+ include Google::Apis::Core::Hashable
157
+
158
+ # Further localized details about the issue.
159
+ # Corresponds to the JSON property `detail`
160
+ # @return [String]
161
+ attr_accessor :detail
162
+
163
+ # Link to Merchant Center Help Center providing further information about the
164
+ # issue and how to fix it.
165
+ # Corresponds to the JSON property `documentationUri`
166
+ # @return [String]
167
+ attr_accessor :documentation_uri
168
+
169
+ # The impact this issue has on various destinations.
170
+ # Corresponds to the JSON property `impactedDestinations`
171
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::ImpactedDestination>]
172
+ attr_accessor :impacted_destinations
173
+
174
+ # Identifier. The resource name of the account issue. Format: `accounts/`account`
175
+ # /issues/`id``
176
+ # Corresponds to the JSON property `name`
177
+ # @return [String]
178
+ attr_accessor :name
179
+
180
+ # The overall severity of the issue.
181
+ # Corresponds to the JSON property `severity`
182
+ # @return [String]
183
+ attr_accessor :severity
184
+
185
+ # The localized title of the issue.
186
+ # Corresponds to the JSON property `title`
187
+ # @return [String]
188
+ attr_accessor :title
189
+
190
+ def initialize(**args)
191
+ update!(**args)
192
+ end
193
+
194
+ # Update properties of this object
195
+ def update!(**args)
196
+ @detail = args[:detail] if args.key?(:detail)
197
+ @documentation_uri = args[:documentation_uri] if args.key?(:documentation_uri)
198
+ @impacted_destinations = args[:impacted_destinations] if args.key?(:impacted_destinations)
199
+ @name = args[:name] if args.key?(:name)
200
+ @severity = args[:severity] if args.key?(:severity)
201
+ @title = args[:title] if args.key?(:title)
202
+ end
203
+ end
204
+
205
+ # The tax settings of a merchant account. All methods require the admin role.
206
+ class AccountTax
207
+ include Google::Apis::Core::Hashable
208
+
209
+ # Output only. The ID of the account to which these account tax settings belong.
210
+ # Corresponds to the JSON property `account`
211
+ # @return [Fixnum]
212
+ attr_accessor :account
213
+
214
+ # Identifier. The name of the tax setting. Format: "`account_tax.name=accounts/`
215
+ # account``"
216
+ # Corresponds to the JSON property `name`
217
+ # @return [String]
218
+ attr_accessor :name
219
+
220
+ # Tax rules. "Define the tax rules in each region. No tax will be presented if a
221
+ # region has no rule."
222
+ # Corresponds to the JSON property `taxRules`
223
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::TaxRule>]
224
+ attr_accessor :tax_rules
225
+
226
+ def initialize(**args)
227
+ update!(**args)
228
+ end
229
+
230
+ # Update properties of this object
231
+ def update!(**args)
232
+ @account = args[:account] if args.key?(:account)
233
+ @name = args[:name] if args.key?(:name)
234
+ @tax_rules = args[:tax_rules] if args.key?(:tax_rules)
235
+ end
236
+ end
237
+
238
+ # Additional instructions to add account services during creation of the account.
239
+ class AddAccountService
240
+ include Google::Apis::Core::Hashable
241
+
242
+ # A generic empty message that you can re-use to avoid defining duplicated empty
243
+ # messages in your APIs. A typical example is to use it as the request or the
244
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
245
+ # protobuf.Empty) returns (google.protobuf.Empty); `
246
+ # Corresponds to the JSON property `accountAggregation`
247
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Empty]
248
+ attr_accessor :account_aggregation
249
+
250
+ # Optional. The provider of the service. Format: `accounts/`account``
251
+ # Corresponds to the JSON property `provider`
252
+ # @return [String]
253
+ attr_accessor :provider
254
+
255
+ def initialize(**args)
256
+ update!(**args)
257
+ end
258
+
259
+ # Update properties of this object
260
+ def update!(**args)
261
+ @account_aggregation = args[:account_aggregation] if args.key?(:account_aggregation)
262
+ @provider = args[:provider] if args.key?(:provider)
263
+ end
264
+ end
265
+
266
+ # Shipping address of the warehouse.
267
+ class Address
268
+ include Google::Apis::Core::Hashable
269
+
270
+ # Required. Top-level administrative subdivision of the country. For example, a
271
+ # state like California ("CA") or a province like Quebec ("QC").
272
+ # Corresponds to the JSON property `administrativeArea`
273
+ # @return [String]
274
+ attr_accessor :administrative_area
275
+
276
+ # Required. City, town or commune. May also include dependent localities or
277
+ # sublocalities (For example neighborhoods or suburbs).
278
+ # Corresponds to the JSON property `city`
279
+ # @return [String]
280
+ attr_accessor :city
281
+
282
+ # Required. Postal code or ZIP (For example "94043").
283
+ # Corresponds to the JSON property `postalCode`
284
+ # @return [String]
285
+ attr_accessor :postal_code
286
+
287
+ # Required. [CLDR country code](http://www.unicode.org/repos/cldr/tags/latest/
288
+ # common/main/en.xml) (For example "US").
289
+ # Corresponds to the JSON property `regionCode`
290
+ # @return [String]
291
+ attr_accessor :region_code
292
+
293
+ # Street-level part of the address. For example: `111w 31st Street`.
294
+ # Corresponds to the JSON property `streetAddress`
295
+ # @return [String]
296
+ attr_accessor :street_address
297
+
298
+ def initialize(**args)
299
+ update!(**args)
300
+ end
301
+
302
+ # Update properties of this object
303
+ def update!(**args)
304
+ @administrative_area = args[:administrative_area] if args.key?(:administrative_area)
305
+ @city = args[:city] if args.key?(:city)
306
+ @postal_code = args[:postal_code] if args.key?(:postal_code)
307
+ @region_code = args[:region_code] if args.key?(:region_code)
308
+ @street_address = args[:street_address] if args.key?(:street_address)
309
+ end
310
+ end
311
+
312
+ # Business days of the warehouse.
313
+ class BusinessDayConfig
314
+ include Google::Apis::Core::Hashable
315
+
316
+ # Required. Regular business days. May not be empty.
317
+ # Corresponds to the JSON property `businessDays`
318
+ # @return [Array<String>]
319
+ attr_accessor :business_days
320
+
321
+ def initialize(**args)
322
+ update!(**args)
323
+ end
324
+
325
+ # Update properties of this object
326
+ def update!(**args)
327
+ @business_days = args[:business_days] if args.key?(:business_days)
328
+ end
329
+ end
330
+
331
+ # Collection of information related to the [identity of a business](https://
332
+ # support.google.com/merchants/answer/12564247).
333
+ class BusinessIdentity
334
+ include Google::Apis::Core::Hashable
335
+
336
+ # All information related to an identity attribute.
337
+ # Corresponds to the JSON property `blackOwned`
338
+ # @return [Google::Apis::MerchantapiAccountsV1beta::IdentityAttribute]
339
+ attr_accessor :black_owned
340
+
341
+ # All information related to an identity attribute.
342
+ # Corresponds to the JSON property `latinoOwned`
343
+ # @return [Google::Apis::MerchantapiAccountsV1beta::IdentityAttribute]
344
+ attr_accessor :latino_owned
345
+
346
+ # Identifier. The resource name of the business identity. Format: `accounts/`
347
+ # account`/businessIdentity`
348
+ # Corresponds to the JSON property `name`
349
+ # @return [String]
350
+ attr_accessor :name
351
+
352
+ # Optional. Whether the identity attributes may be used for promotions.
353
+ # Corresponds to the JSON property `promotionsConsent`
354
+ # @return [String]
355
+ attr_accessor :promotions_consent
356
+
357
+ # All information related to an identity attribute.
358
+ # Corresponds to the JSON property `smallBusiness`
359
+ # @return [Google::Apis::MerchantapiAccountsV1beta::IdentityAttribute]
360
+ attr_accessor :small_business
361
+
362
+ # All information related to an identity attribute.
363
+ # Corresponds to the JSON property `veteranOwned`
364
+ # @return [Google::Apis::MerchantapiAccountsV1beta::IdentityAttribute]
365
+ attr_accessor :veteran_owned
366
+
367
+ # All information related to an identity attribute.
368
+ # Corresponds to the JSON property `womenOwned`
369
+ # @return [Google::Apis::MerchantapiAccountsV1beta::IdentityAttribute]
370
+ attr_accessor :women_owned
371
+
372
+ def initialize(**args)
373
+ update!(**args)
374
+ end
375
+
376
+ # Update properties of this object
377
+ def update!(**args)
378
+ @black_owned = args[:black_owned] if args.key?(:black_owned)
379
+ @latino_owned = args[:latino_owned] if args.key?(:latino_owned)
380
+ @name = args[:name] if args.key?(:name)
381
+ @promotions_consent = args[:promotions_consent] if args.key?(:promotions_consent)
382
+ @small_business = args[:small_business] if args.key?(:small_business)
383
+ @veteran_owned = args[:veteran_owned] if args.key?(:veteran_owned)
384
+ @women_owned = args[:women_owned] if args.key?(:women_owned)
385
+ end
386
+ end
387
+
388
+ # Collection of information related to a business.
389
+ class BusinessInfo
390
+ include Google::Apis::Core::Hashable
391
+
392
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
393
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
394
+ # Box or similar. It is not intended to model geographical locations (roads,
395
+ # towns, mountains). In typical usage an address would be created via user input
396
+ # or from importing existing data, depending on the type of process. Advice on
397
+ # address input / editing: - Use an internationalization-ready address widget
398
+ # such as https://github.com/google/libaddressinput) - Users should not be
399
+ # presented with UI elements for input or editing of fields outside countries
400
+ # where that field is used. For more guidance on how to use this schema, please
401
+ # see: https://support.google.com/business/answer/6397478
402
+ # Corresponds to the JSON property `address`
403
+ # @return [Google::Apis::MerchantapiAccountsV1beta::PostalAddress]
404
+ attr_accessor :address
405
+
406
+ # Customer service information.
407
+ # Corresponds to the JSON property `customerService`
408
+ # @return [Google::Apis::MerchantapiAccountsV1beta::CustomerService]
409
+ attr_accessor :customer_service
410
+
411
+ # Identifier. The resource name of the business info. Format: `accounts/`account`
412
+ # /businessInfo`
413
+ # Corresponds to the JSON property `name`
414
+ # @return [String]
415
+ attr_accessor :name
416
+
417
+ # An object representing a phone number, suitable as an API wire format. This
418
+ # representation: - should not be used for locale-specific formatting of a phone
419
+ # number, such as "+1 (650) 253-0000 ext. 123" - is not designed for efficient
420
+ # storage - may not be suitable for dialing - specialized libraries (see
421
+ # references) should be used to parse the number for that purpose To do
422
+ # something meaningful with this number, such as format it for various use-cases,
423
+ # convert it to an `i18n.phonenumbers.PhoneNumber` object first. For instance,
424
+ # in Java this would be: com.google.type.PhoneNumber wireProto = com.google.type.
425
+ # PhoneNumber.newBuilder().build(); com.google.i18n.phonenumbers.Phonenumber.
426
+ # PhoneNumber phoneNumber = PhoneNumberUtil.getInstance().parse(wireProto.
427
+ # getE164Number(), "ZZ"); if (!wireProto.getExtension().isEmpty()) ` phoneNumber.
428
+ # setExtension(wireProto.getExtension()); ` Reference(s): - https://github.com/
429
+ # google/libphonenumber
430
+ # Corresponds to the JSON property `phone`
431
+ # @return [Google::Apis::MerchantapiAccountsV1beta::PhoneNumber]
432
+ attr_accessor :phone
433
+
434
+ # Output only. The phone verification state of the business.
435
+ # Corresponds to the JSON property `phoneVerificationState`
436
+ # @return [String]
437
+ attr_accessor :phone_verification_state
438
+
439
+ def initialize(**args)
440
+ update!(**args)
441
+ end
442
+
443
+ # Update properties of this object
444
+ def update!(**args)
445
+ @address = args[:address] if args.key?(:address)
446
+ @customer_service = args[:customer_service] if args.key?(:customer_service)
447
+ @name = args[:name] if args.key?(:name)
448
+ @phone = args[:phone] if args.key?(:phone)
449
+ @phone_verification_state = args[:phone_verification_state] if args.key?(:phone_verification_state)
450
+ end
451
+ end
452
+
453
+ # A list of carrier rates that can be referred to by `main_table` or `
454
+ # single_value`.
455
+ class CarrierRate
456
+ include Google::Apis::Core::Hashable
457
+
458
+ # Required. Carrier service, such as `"UPS"` or `"Fedex"`.
459
+ # Corresponds to the JSON property `carrier`
460
+ # @return [String]
461
+ attr_accessor :carrier
462
+
463
+ # Required. Carrier service, such as `"ground"` or `"2 days"`.
464
+ # Corresponds to the JSON property `carrierService`
465
+ # @return [String]
466
+ attr_accessor :carrier_service
467
+
468
+ # The price represented as a number and currency.
469
+ # Corresponds to the JSON property `flatAdjustment`
470
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Price]
471
+ attr_accessor :flat_adjustment
472
+
473
+ # Required. Name of the carrier rate. Must be unique per rate group.
474
+ # Corresponds to the JSON property `name`
475
+ # @return [String]
476
+ attr_accessor :name
477
+
478
+ # Required. Shipping origin for this carrier rate.
479
+ # Corresponds to the JSON property `originPostalCode`
480
+ # @return [String]
481
+ attr_accessor :origin_postal_code
482
+
483
+ # Optional. Multiplicative shipping rate modifier as a number in decimal
484
+ # notation. Can be negative. For example `"5.4"` increases the rate by 5.4%, `"-
485
+ # 3"` decreases the rate by 3%.
486
+ # Corresponds to the JSON property `percentageAdjustment`
487
+ # @return [String]
488
+ attr_accessor :percentage_adjustment
489
+
490
+ def initialize(**args)
491
+ update!(**args)
492
+ end
493
+
494
+ # Update properties of this object
495
+ def update!(**args)
496
+ @carrier = args[:carrier] if args.key?(:carrier)
497
+ @carrier_service = args[:carrier_service] if args.key?(:carrier_service)
498
+ @flat_adjustment = args[:flat_adjustment] if args.key?(:flat_adjustment)
499
+ @name = args[:name] if args.key?(:name)
500
+ @origin_postal_code = args[:origin_postal_code] if args.key?(:origin_postal_code)
501
+ @percentage_adjustment = args[:percentage_adjustment] if args.key?(:percentage_adjustment)
502
+ end
503
+ end
504
+
505
+ # Request message for the `ClaimHomepage` method.
506
+ class ClaimHomepageRequest
507
+ include Google::Apis::Core::Hashable
508
+
509
+ def initialize(**args)
510
+ update!(**args)
511
+ end
512
+
513
+ # Update properties of this object
514
+ def update!(**args)
515
+ end
516
+ end
517
+
518
+ # Request message for the `CreateAndConfigureAccount` method.
519
+ class CreateAndConfigureAccountRequest
520
+ include Google::Apis::Core::Hashable
521
+
522
+ # Reference to a Terms of Service resource.
523
+ # Corresponds to the JSON property `acceptTermsOfService`
524
+ # @return [Google::Apis::MerchantapiAccountsV1beta::AcceptTermsOfService]
525
+ attr_accessor :accept_terms_of_service
526
+
527
+ # An account.
528
+ # Corresponds to the JSON property `account`
529
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Account]
530
+ attr_accessor :account
531
+
532
+ # Optional. If specified, an account service between the account to be created
533
+ # and the provider account is initialized as part of the creation.
534
+ # Corresponds to the JSON property `service`
535
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::AddAccountService>]
536
+ attr_accessor :service
537
+
538
+ # Optional. Users to be added to the account.
539
+ # Corresponds to the JSON property `users`
540
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::CreateUserRequest>]
541
+ attr_accessor :users
542
+
543
+ def initialize(**args)
544
+ update!(**args)
545
+ end
546
+
547
+ # Update properties of this object
548
+ def update!(**args)
549
+ @accept_terms_of_service = args[:accept_terms_of_service] if args.key?(:accept_terms_of_service)
550
+ @account = args[:account] if args.key?(:account)
551
+ @service = args[:service] if args.key?(:service)
552
+ @users = args[:users] if args.key?(:users)
553
+ end
554
+ end
555
+
556
+ # Request message for the `CreateUser` method.
557
+ class CreateUserRequest
558
+ include Google::Apis::Core::Hashable
559
+
560
+ # Required. The resource name of the account for which a user will be created.
561
+ # Format: `accounts/`account``
562
+ # Corresponds to the JSON property `parent`
563
+ # @return [String]
564
+ attr_accessor :parent
565
+
566
+ # A [user](https://support.google.com/merchants/answer/12160472).
567
+ # Corresponds to the JSON property `user`
568
+ # @return [Google::Apis::MerchantapiAccountsV1beta::User]
569
+ attr_accessor :user
570
+
571
+ # Required. The email address of the user (for example, `john.doe@gmail.com`).
572
+ # Corresponds to the JSON property `userId`
573
+ # @return [String]
574
+ attr_accessor :user_id
575
+
576
+ def initialize(**args)
577
+ update!(**args)
578
+ end
579
+
580
+ # Update properties of this object
581
+ def update!(**args)
582
+ @parent = args[:parent] if args.key?(:parent)
583
+ @user = args[:user] if args.key?(:user)
584
+ @user_id = args[:user_id] if args.key?(:user_id)
585
+ end
586
+ end
587
+
588
+ # Customer service information.
589
+ class CustomerService
590
+ include Google::Apis::Core::Hashable
591
+
592
+ # Optional. The email address where customer service may be reached.
593
+ # Corresponds to the JSON property `email`
594
+ # @return [String]
595
+ attr_accessor :email
596
+
597
+ # An object representing a phone number, suitable as an API wire format. This
598
+ # representation: - should not be used for locale-specific formatting of a phone
599
+ # number, such as "+1 (650) 253-0000 ext. 123" - is not designed for efficient
600
+ # storage - may not be suitable for dialing - specialized libraries (see
601
+ # references) should be used to parse the number for that purpose To do
602
+ # something meaningful with this number, such as format it for various use-cases,
603
+ # convert it to an `i18n.phonenumbers.PhoneNumber` object first. For instance,
604
+ # in Java this would be: com.google.type.PhoneNumber wireProto = com.google.type.
605
+ # PhoneNumber.newBuilder().build(); com.google.i18n.phonenumbers.Phonenumber.
606
+ # PhoneNumber phoneNumber = PhoneNumberUtil.getInstance().parse(wireProto.
607
+ # getE164Number(), "ZZ"); if (!wireProto.getExtension().isEmpty()) ` phoneNumber.
608
+ # setExtension(wireProto.getExtension()); ` Reference(s): - https://github.com/
609
+ # google/libphonenumber
610
+ # Corresponds to the JSON property `phone`
611
+ # @return [Google::Apis::MerchantapiAccountsV1beta::PhoneNumber]
612
+ attr_accessor :phone
613
+
614
+ # Optional. The URI where customer service may be found.
615
+ # Corresponds to the JSON property `uri`
616
+ # @return [String]
617
+ attr_accessor :uri
618
+
619
+ def initialize(**args)
620
+ update!(**args)
621
+ end
622
+
623
+ # Update properties of this object
624
+ def update!(**args)
625
+ @email = args[:email] if args.key?(:email)
626
+ @phone = args[:phone] if args.key?(:phone)
627
+ @uri = args[:uri] if args.key?(:uri)
628
+ end
629
+ end
630
+
631
+ # Configs related to local delivery ends for the day.
632
+ class CutoffConfig
633
+ include Google::Apis::Core::Hashable
634
+
635
+ # Time that local delivery ends for the day.
636
+ # Corresponds to the JSON property `localCutoffTime`
637
+ # @return [Google::Apis::MerchantapiAccountsV1beta::LocalCutoffTime]
638
+ attr_accessor :local_cutoff_time
639
+
640
+ # Merchants can opt-out of showing n+1 day local delivery when they have a
641
+ # shipping service configured to n day local delivery. For example, if the
642
+ # shipping service defines same-day delivery, and it's past the cut-off, setting
643
+ # this field to `true` results in the calculated shipping service rate returning
644
+ # `NO_DELIVERY_POST_CUTOFF`. In the same example, setting this field to `false`
645
+ # results in the calculated shipping time being one day. This is only for local
646
+ # delivery.
647
+ # Corresponds to the JSON property `noDeliveryPostCutoff`
648
+ # @return [Boolean]
649
+ attr_accessor :no_delivery_post_cutoff
650
+ alias_method :no_delivery_post_cutoff?, :no_delivery_post_cutoff
651
+
652
+ # Only valid with local delivery fulfillment. Represents cutoff time as the
653
+ # number of hours before store closing. Mutually exclusive with `
654
+ # local_cutoff_time`.
655
+ # Corresponds to the JSON property `storeCloseOffsetHours`
656
+ # @return [Fixnum]
657
+ attr_accessor :store_close_offset_hours
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @local_cutoff_time = args[:local_cutoff_time] if args.key?(:local_cutoff_time)
666
+ @no_delivery_post_cutoff = args[:no_delivery_post_cutoff] if args.key?(:no_delivery_post_cutoff)
667
+ @store_close_offset_hours = args[:store_close_offset_hours] if args.key?(:store_close_offset_hours)
668
+ end
669
+ end
670
+
671
+ # Business days cutoff time definition.
672
+ class CutoffTime
673
+ include Google::Apis::Core::Hashable
674
+
675
+ # Required. Hour of the cutoff time until which an order has to be placed to be
676
+ # processed in the same day.
677
+ # Corresponds to the JSON property `hour`
678
+ # @return [Fixnum]
679
+ attr_accessor :hour
680
+
681
+ # Required. Minute of the cutoff time until which an order has to be placed to
682
+ # be processed in the same day.
683
+ # Corresponds to the JSON property `minute`
684
+ # @return [Fixnum]
685
+ attr_accessor :minute
686
+
687
+ # Required. [Timezone identifier](https://developers.google.com/adwords/api/docs/
688
+ # appendix/codes-formats#timezone-ids) For example "Europe/Zurich".
689
+ # Corresponds to the JSON property `timeZone`
690
+ # @return [String]
691
+ attr_accessor :time_zone
692
+
693
+ def initialize(**args)
694
+ update!(**args)
695
+ end
696
+
697
+ # Update properties of this object
698
+ def update!(**args)
699
+ @hour = args[:hour] if args.key?(:hour)
700
+ @minute = args[:minute] if args.key?(:minute)
701
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
702
+ end
703
+ end
704
+
705
+ # Represents a whole or partial calendar date, such as a birthday. The time of
706
+ # day and time zone are either specified elsewhere or are insignificant. The
707
+ # date is relative to the Gregorian Calendar. This can represent one of the
708
+ # following: * A full date, with non-zero year, month, and day values. * A month
709
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
710
+ # with a zero month and a zero day. * A year and month, with a zero day (for
711
+ # example, a credit card expiration date). Related types: * google.type.
712
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
713
+ class Date
714
+ include Google::Apis::Core::Hashable
715
+
716
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
717
+ # specify a year by itself or a year and month where the day isn't significant.
718
+ # Corresponds to the JSON property `day`
719
+ # @return [Fixnum]
720
+ attr_accessor :day
721
+
722
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
723
+ # and day.
724
+ # Corresponds to the JSON property `month`
725
+ # @return [Fixnum]
726
+ attr_accessor :month
727
+
728
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
729
+ # year.
730
+ # Corresponds to the JSON property `year`
731
+ # @return [Fixnum]
732
+ attr_accessor :year
733
+
734
+ def initialize(**args)
735
+ update!(**args)
736
+ end
737
+
738
+ # Update properties of this object
739
+ def update!(**args)
740
+ @day = args[:day] if args.key?(:day)
741
+ @month = args[:month] if args.key?(:month)
742
+ @year = args[:year] if args.key?(:year)
743
+ end
744
+ end
745
+
746
+ # Time spent in various aspects from order to the delivery of the product.
747
+ class DeliveryTime
748
+ include Google::Apis::Core::Hashable
749
+
750
+ # Business days cutoff time definition.
751
+ # Corresponds to the JSON property `cutoffTime`
752
+ # @return [Google::Apis::MerchantapiAccountsV1beta::CutoffTime]
753
+ attr_accessor :cutoff_time
754
+
755
+ # Business days of the warehouse.
756
+ # Corresponds to the JSON property `handlingBusinessDayConfig`
757
+ # @return [Google::Apis::MerchantapiAccountsV1beta::BusinessDayConfig]
758
+ attr_accessor :handling_business_day_config
759
+
760
+ # Maximum number of business days spent before an order is shipped. 0 means same
761
+ # day shipped, 1 means next day shipped. Must be greater than or equal to `
762
+ # min_handling_days`.
763
+ # Corresponds to the JSON property `maxHandlingDays`
764
+ # @return [Fixnum]
765
+ attr_accessor :max_handling_days
766
+
767
+ # Maximum number of business days that is spent in transit. 0 means same day
768
+ # delivery, 1 means next day delivery. Must be greater than or equal to `
769
+ # min_transit_days`.
770
+ # Corresponds to the JSON property `maxTransitDays`
771
+ # @return [Fixnum]
772
+ attr_accessor :max_transit_days
773
+
774
+ # Minimum number of business days spent before an order is shipped. 0 means same
775
+ # day shipped, 1 means next day shipped.
776
+ # Corresponds to the JSON property `minHandlingDays`
777
+ # @return [Fixnum]
778
+ attr_accessor :min_handling_days
779
+
780
+ # Minimum number of business days that is spent in transit. 0 means same day
781
+ # delivery, 1 means next day delivery. Either `min_transit_days`, `
782
+ # max_transit_days` or `transit_time_table` must be set, but not both.
783
+ # Corresponds to the JSON property `minTransitDays`
784
+ # @return [Fixnum]
785
+ attr_accessor :min_transit_days
786
+
787
+ # Business days of the warehouse.
788
+ # Corresponds to the JSON property `transitBusinessDayConfig`
789
+ # @return [Google::Apis::MerchantapiAccountsV1beta::BusinessDayConfig]
790
+ attr_accessor :transit_business_day_config
791
+
792
+ # Transit time table, number of business days spent in transit based on row and
793
+ # column dimensions. Either `min_transit_days`, `max_transit_days` or `
794
+ # transit_time_table` can be set, but not both.
795
+ # Corresponds to the JSON property `transitTimeTable`
796
+ # @return [Google::Apis::MerchantapiAccountsV1beta::TransitTable]
797
+ attr_accessor :transit_time_table
798
+
799
+ # Optional. Indicates that the delivery time should be calculated per warehouse (
800
+ # shipping origin location) based on the settings of the selected carrier. When
801
+ # set, no other transit time related field in delivery time should be set.
802
+ # Corresponds to the JSON property `warehouseBasedDeliveryTimes`
803
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::WarehouseBasedDeliveryTime>]
804
+ attr_accessor :warehouse_based_delivery_times
805
+
806
+ def initialize(**args)
807
+ update!(**args)
808
+ end
809
+
810
+ # Update properties of this object
811
+ def update!(**args)
812
+ @cutoff_time = args[:cutoff_time] if args.key?(:cutoff_time)
813
+ @handling_business_day_config = args[:handling_business_day_config] if args.key?(:handling_business_day_config)
814
+ @max_handling_days = args[:max_handling_days] if args.key?(:max_handling_days)
815
+ @max_transit_days = args[:max_transit_days] if args.key?(:max_transit_days)
816
+ @min_handling_days = args[:min_handling_days] if args.key?(:min_handling_days)
817
+ @min_transit_days = args[:min_transit_days] if args.key?(:min_transit_days)
818
+ @transit_business_day_config = args[:transit_business_day_config] if args.key?(:transit_business_day_config)
819
+ @transit_time_table = args[:transit_time_table] if args.key?(:transit_time_table)
820
+ @warehouse_based_delivery_times = args[:warehouse_based_delivery_times] if args.key?(:warehouse_based_delivery_times)
821
+ end
822
+ end
823
+
824
+ # Request message for the DisableProgram method.
825
+ class DisableProgramRequest
826
+ include Google::Apis::Core::Hashable
827
+
828
+ def initialize(**args)
829
+ update!(**args)
830
+ end
831
+
832
+ # Update properties of this object
833
+ def update!(**args)
834
+ end
835
+ end
836
+
837
+ # Maximum delivery radius. This is only required for the local delivery shipment
838
+ # type.
839
+ class Distance
840
+ include Google::Apis::Core::Hashable
841
+
842
+ # Unit can differ based on country, it is parameterized to include miles and
843
+ # kilometers.
844
+ # Corresponds to the JSON property `unit`
845
+ # @return [String]
846
+ attr_accessor :unit
847
+
848
+ # Integer value of distance.
849
+ # Corresponds to the JSON property `value`
850
+ # @return [Fixnum]
851
+ attr_accessor :value
852
+
853
+ def initialize(**args)
854
+ update!(**args)
855
+ end
856
+
857
+ # Update properties of this object
858
+ def update!(**args)
859
+ @unit = args[:unit] if args.key?(:unit)
860
+ @value = args[:value] if args.key?(:value)
861
+ end
862
+ end
863
+
864
+ # The categories of notifications the user opted into / opted out of. The email
865
+ # preferences do not include mandatory announcements as users can't opt out of
866
+ # them.
867
+ class EmailPreferences
868
+ include Google::Apis::Core::Hashable
869
+
870
+ # Identifier. The name of the EmailPreferences. The endpoint is only supported
871
+ # for the authenticated user.
872
+ # Corresponds to the JSON property `name`
873
+ # @return [String]
874
+ attr_accessor :name
875
+
876
+ # Optional. Updates on new features, tips and best practices.
877
+ # Corresponds to the JSON property `newsAndTips`
878
+ # @return [String]
879
+ attr_accessor :news_and_tips
880
+
881
+ def initialize(**args)
882
+ update!(**args)
883
+ end
884
+
885
+ # Update properties of this object
886
+ def update!(**args)
887
+ @name = args[:name] if args.key?(:name)
888
+ @news_and_tips = args[:news_and_tips] if args.key?(:news_and_tips)
889
+ end
890
+ end
891
+
892
+ # A generic empty message that you can re-use to avoid defining duplicated empty
893
+ # messages in your APIs. A typical example is to use it as the request or the
894
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
895
+ # protobuf.Empty) returns (google.protobuf.Empty); `
896
+ class Empty
897
+ include Google::Apis::Core::Hashable
898
+
899
+ def initialize(**args)
900
+ update!(**args)
901
+ end
902
+
903
+ # Update properties of this object
904
+ def update!(**args)
905
+ end
906
+ end
907
+
908
+ # Request message for the EnableProgram method.
909
+ class EnableProgramRequest
910
+ include Google::Apis::Core::Hashable
911
+
912
+ def initialize(**args)
913
+ update!(**args)
914
+ end
915
+
916
+ # Update properties of this object
917
+ def update!(**args)
918
+ end
919
+ end
920
+
921
+ # A list of geotargets that defines the region area.
922
+ class GeoTargetArea
923
+ include Google::Apis::Core::Hashable
924
+
925
+ # Required. A non-empty list of [location IDs](https://developers.google.com/
926
+ # adwords/api/docs/appendix/geotargeting). They must all be of the same location
927
+ # type (for example, state).
928
+ # Corresponds to the JSON property `geotargetCriteriaIds`
929
+ # @return [Array<Fixnum>]
930
+ attr_accessor :geotarget_criteria_ids
931
+
932
+ def initialize(**args)
933
+ update!(**args)
934
+ end
935
+
936
+ # Update properties of this object
937
+ def update!(**args)
938
+ @geotarget_criteria_ids = args[:geotarget_criteria_ids] if args.key?(:geotarget_criteria_ids)
939
+ end
940
+ end
941
+
942
+ # A non-empty list of row or column headers for a table. Exactly one of `prices`,
943
+ # `weights`, `num_items`, `postal_code_group_names`, or `location` must be set.
944
+ class Headers
945
+ include Google::Apis::Core::Hashable
946
+
947
+ # Required. A list of location ID sets. Must be non-empty. Can only be set if
948
+ # all other fields are not set.
949
+ # Corresponds to the JSON property `locations`
950
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::LocationIdSet>]
951
+ attr_accessor :locations
952
+
953
+ # Required. A list of inclusive number of items upper bounds. The last value can
954
+ # be `"infinity"`. For example `["10", "50", "infinity"]` represents the headers
955
+ # "<= 10 items", "<= 50 items", and "> 50 items". Must be non-empty. Can only be
956
+ # set if all other fields are not set.
957
+ # Corresponds to the JSON property `numberOfItems`
958
+ # @return [Array<String>]
959
+ attr_accessor :number_of_items
960
+
961
+ # Required. A list of postal group names. The last value can be `"all other
962
+ # locations"`. Example: `["zone 1", "zone 2", "all other locations"]`. The
963
+ # referred postal code groups must match the delivery country of the service.
964
+ # Must be non-empty. Can only be set if all other fields are not set.
965
+ # Corresponds to the JSON property `postalCodeGroupNames`
966
+ # @return [Array<String>]
967
+ attr_accessor :postal_code_group_names
968
+
969
+ # Required. A list of inclusive order price upper bounds. The last price's value
970
+ # can be infinity by setting price amount_micros = -1. For example `[`"
971
+ # amount_micros": 10000000, "currency_code": "USD"`, `"amount_micros": 500000000,
972
+ # "currency_code": "USD"`, `"amount_micros": -1, "currency_code": "USD"`]`
973
+ # represents the headers "<= $10", "<= $500", and "> $500". All prices within a
974
+ # service must have the same currency. Must be non-empty. Must be positive
975
+ # except -1. Can only be set if all other fields are not set.
976
+ # Corresponds to the JSON property `prices`
977
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Price>]
978
+ attr_accessor :prices
979
+
980
+ # Required. A list of inclusive order weight upper bounds. The last weight's
981
+ # value can be infinity by setting price amount_micros = -1. For example `[`"
982
+ # amount_micros": 10000000, "unit": "kg"`, `"amount_micros": 50000000, "unit": "
983
+ # kg"`, `"amount_micros": -1, "unit": "kg"`]` represents the headers "<= 10kg", "
984
+ # <= 50kg", and "> 50kg". All weights within a service must have the same unit.
985
+ # Must be non-empty. Must be positive except -1. Can only be set if all other
986
+ # fields are not set.
987
+ # Corresponds to the JSON property `weights`
988
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Weight>]
989
+ attr_accessor :weights
990
+
991
+ def initialize(**args)
992
+ update!(**args)
993
+ end
994
+
995
+ # Update properties of this object
996
+ def update!(**args)
997
+ @locations = args[:locations] if args.key?(:locations)
998
+ @number_of_items = args[:number_of_items] if args.key?(:number_of_items)
999
+ @postal_code_group_names = args[:postal_code_group_names] if args.key?(:postal_code_group_names)
1000
+ @prices = args[:prices] if args.key?(:prices)
1001
+ @weights = args[:weights] if args.key?(:weights)
1002
+ end
1003
+ end
1004
+
1005
+ # A store's homepage.
1006
+ class Homepage
1007
+ include Google::Apis::Core::Hashable
1008
+
1009
+ # Output only. Whether the homepage is claimed. See https://support.google.com/
1010
+ # merchants/answer/176793.
1011
+ # Corresponds to the JSON property `claimed`
1012
+ # @return [Boolean]
1013
+ attr_accessor :claimed
1014
+ alias_method :claimed?, :claimed
1015
+
1016
+ # Identifier. The resource name of the store's homepage. Format: `accounts/`
1017
+ # account`/homepage`
1018
+ # Corresponds to the JSON property `name`
1019
+ # @return [String]
1020
+ attr_accessor :name
1021
+
1022
+ # Required. The URI (typically a URL) of the store's homepage.
1023
+ # Corresponds to the JSON property `uri`
1024
+ # @return [String]
1025
+ attr_accessor :uri
1026
+
1027
+ def initialize(**args)
1028
+ update!(**args)
1029
+ end
1030
+
1031
+ # Update properties of this object
1032
+ def update!(**args)
1033
+ @claimed = args[:claimed] if args.key?(:claimed)
1034
+ @name = args[:name] if args.key?(:name)
1035
+ @uri = args[:uri] if args.key?(:uri)
1036
+ end
1037
+ end
1038
+
1039
+ # All information related to an identity attribute.
1040
+ class IdentityAttribute
1041
+ include Google::Apis::Core::Hashable
1042
+
1043
+ # Required. The declaration of identity for this attribute.
1044
+ # Corresponds to the JSON property `identityDeclaration`
1045
+ # @return [String]
1046
+ attr_accessor :identity_declaration
1047
+
1048
+ def initialize(**args)
1049
+ update!(**args)
1050
+ end
1051
+
1052
+ # Update properties of this object
1053
+ def update!(**args)
1054
+ @identity_declaration = args[:identity_declaration] if args.key?(:identity_declaration)
1055
+ end
1056
+ end
1057
+
1058
+ # The impact of the issue on a region.
1059
+ class Impact
1060
+ include Google::Apis::Core::Hashable
1061
+
1062
+ # The [CLDR region code](https://cldr.unicode.org/) where this issue applies.
1063
+ # Corresponds to the JSON property `regionCode`
1064
+ # @return [String]
1065
+ attr_accessor :region_code
1066
+
1067
+ # The severity of the issue on the destination and region.
1068
+ # Corresponds to the JSON property `severity`
1069
+ # @return [String]
1070
+ attr_accessor :severity
1071
+
1072
+ def initialize(**args)
1073
+ update!(**args)
1074
+ end
1075
+
1076
+ # Update properties of this object
1077
+ def update!(**args)
1078
+ @region_code = args[:region_code] if args.key?(:region_code)
1079
+ @severity = args[:severity] if args.key?(:severity)
1080
+ end
1081
+ end
1082
+
1083
+ # The impact of the issue on a destination.
1084
+ class ImpactedDestination
1085
+ include Google::Apis::Core::Hashable
1086
+
1087
+ # The (negative) impact for various regions on the given destination.
1088
+ # Corresponds to the JSON property `impacts`
1089
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Impact>]
1090
+ attr_accessor :impacts
1091
+
1092
+ # The impacted reporting context.
1093
+ # Corresponds to the JSON property `reportingContext`
1094
+ # @return [String]
1095
+ attr_accessor :reporting_context
1096
+
1097
+ def initialize(**args)
1098
+ update!(**args)
1099
+ end
1100
+
1101
+ # Update properties of this object
1102
+ def update!(**args)
1103
+ @impacts = args[:impacts] if args.key?(:impacts)
1104
+ @reporting_context = args[:reporting_context] if args.key?(:reporting_context)
1105
+ end
1106
+ end
1107
+
1108
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
1109
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
1110
+ # When the start equals the end, the interval is empty (matches no time). When
1111
+ # both start and end are unspecified, the interval matches any time.
1112
+ class Interval
1113
+ include Google::Apis::Core::Hashable
1114
+
1115
+ # Optional. Exclusive end of the interval. If specified, a Timestamp matching
1116
+ # this interval will have to be before the end.
1117
+ # Corresponds to the JSON property `endTime`
1118
+ # @return [String]
1119
+ attr_accessor :end_time
1120
+
1121
+ # Optional. Inclusive start of the interval. If specified, a Timestamp matching
1122
+ # this interval will have to be the same or after the start.
1123
+ # Corresponds to the JSON property `startTime`
1124
+ # @return [String]
1125
+ attr_accessor :start_time
1126
+
1127
+ def initialize(**args)
1128
+ update!(**args)
1129
+ end
1130
+
1131
+ # Update properties of this object
1132
+ def update!(**args)
1133
+ @end_time = args[:end_time] if args.key?(:end_time)
1134
+ @start_time = args[:start_time] if args.key?(:start_time)
1135
+ end
1136
+ end
1137
+
1138
+ # Response message for the `ListAccountIssues` method.
1139
+ class ListAccountIssuesResponse
1140
+ include Google::Apis::Core::Hashable
1141
+
1142
+ # The issues from the specified account.
1143
+ # Corresponds to the JSON property `accountIssues`
1144
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::AccountIssue>]
1145
+ attr_accessor :account_issues
1146
+
1147
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1148
+ # field is omitted, there are no subsequent pages.
1149
+ # Corresponds to the JSON property `nextPageToken`
1150
+ # @return [String]
1151
+ attr_accessor :next_page_token
1152
+
1153
+ def initialize(**args)
1154
+ update!(**args)
1155
+ end
1156
+
1157
+ # Update properties of this object
1158
+ def update!(**args)
1159
+ @account_issues = args[:account_issues] if args.key?(:account_issues)
1160
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1161
+ end
1162
+ end
1163
+
1164
+ # Response to account tax list request This method can only be called on a multi-
1165
+ # client account, otherwise it'll return an error.
1166
+ class ListAccountTaxResponse
1167
+ include Google::Apis::Core::Hashable
1168
+
1169
+ # Page of accounttax settings
1170
+ # Corresponds to the JSON property `accountTaxes`
1171
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::AccountTax>]
1172
+ attr_accessor :account_taxes
1173
+
1174
+ # The token for the retrieval of the next page of account tax settings.
1175
+ # Corresponds to the JSON property `nextPageToken`
1176
+ # @return [String]
1177
+ attr_accessor :next_page_token
1178
+
1179
+ def initialize(**args)
1180
+ update!(**args)
1181
+ end
1182
+
1183
+ # Update properties of this object
1184
+ def update!(**args)
1185
+ @account_taxes = args[:account_taxes] if args.key?(:account_taxes)
1186
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1187
+ end
1188
+ end
1189
+
1190
+ # Response message for the `ListAccounts` method.
1191
+ class ListAccountsResponse
1192
+ include Google::Apis::Core::Hashable
1193
+
1194
+ # The accounts matching the `ListAccountsRequest`.
1195
+ # Corresponds to the JSON property `accounts`
1196
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Account>]
1197
+ attr_accessor :accounts
1198
+
1199
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1200
+ # field is omitted, there are no subsequent pages.
1201
+ # Corresponds to the JSON property `nextPageToken`
1202
+ # @return [String]
1203
+ attr_accessor :next_page_token
1204
+
1205
+ def initialize(**args)
1206
+ update!(**args)
1207
+ end
1208
+
1209
+ # Update properties of this object
1210
+ def update!(**args)
1211
+ @accounts = args[:accounts] if args.key?(:accounts)
1212
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1213
+ end
1214
+ end
1215
+
1216
+ # Response message for the `ListOnlineReturnPolicies` method.
1217
+ class ListOnlineReturnPoliciesResponse
1218
+ include Google::Apis::Core::Hashable
1219
+
1220
+ # A token, which can be sent as `pageToken` to retrieve the next page. If this
1221
+ # field is omitted, there are no subsequent pages.
1222
+ # Corresponds to the JSON property `nextPageToken`
1223
+ # @return [String]
1224
+ attr_accessor :next_page_token
1225
+
1226
+ # The retrieved return policies.
1227
+ # Corresponds to the JSON property `onlineReturnPolicies`
1228
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::OnlineReturnPolicy>]
1229
+ attr_accessor :online_return_policies
1230
+
1231
+ def initialize(**args)
1232
+ update!(**args)
1233
+ end
1234
+
1235
+ # Update properties of this object
1236
+ def update!(**args)
1237
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1238
+ @online_return_policies = args[:online_return_policies] if args.key?(:online_return_policies)
1239
+ end
1240
+ end
1241
+
1242
+ # Response message for the ListPrograms method.
1243
+ class ListProgramsResponse
1244
+ include Google::Apis::Core::Hashable
1245
+
1246
+ # A token that can be sent as `page_token` to retrieve the next page. If this
1247
+ # field is omitted, there are no subsequent pages.
1248
+ # Corresponds to the JSON property `nextPageToken`
1249
+ # @return [String]
1250
+ attr_accessor :next_page_token
1251
+
1252
+ # The programs for the given account.
1253
+ # Corresponds to the JSON property `programs`
1254
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Program>]
1255
+ attr_accessor :programs
1256
+
1257
+ def initialize(**args)
1258
+ update!(**args)
1259
+ end
1260
+
1261
+ # Update properties of this object
1262
+ def update!(**args)
1263
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1264
+ @programs = args[:programs] if args.key?(:programs)
1265
+ end
1266
+ end
1267
+
1268
+ # Response message for the `ListRegions` method.
1269
+ class ListRegionsResponse
1270
+ include Google::Apis::Core::Hashable
1271
+
1272
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1273
+ # field is omitted, there are no subsequent pages.
1274
+ # Corresponds to the JSON property `nextPageToken`
1275
+ # @return [String]
1276
+ attr_accessor :next_page_token
1277
+
1278
+ # The regions from the specified merchant.
1279
+ # Corresponds to the JSON property `regions`
1280
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Region>]
1281
+ attr_accessor :regions
1282
+
1283
+ def initialize(**args)
1284
+ update!(**args)
1285
+ end
1286
+
1287
+ # Update properties of this object
1288
+ def update!(**args)
1289
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1290
+ @regions = args[:regions] if args.key?(:regions)
1291
+ end
1292
+ end
1293
+
1294
+ # Response message for the `ListSubAccounts` method.
1295
+ class ListSubAccountsResponse
1296
+ include Google::Apis::Core::Hashable
1297
+
1298
+ # The accounts for which the given parent account is an aggregator.
1299
+ # Corresponds to the JSON property `accounts`
1300
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Account>]
1301
+ attr_accessor :accounts
1302
+
1303
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1304
+ # field is omitted, there are no subsequent pages.
1305
+ # Corresponds to the JSON property `nextPageToken`
1306
+ # @return [String]
1307
+ attr_accessor :next_page_token
1308
+
1309
+ def initialize(**args)
1310
+ update!(**args)
1311
+ end
1312
+
1313
+ # Update properties of this object
1314
+ def update!(**args)
1315
+ @accounts = args[:accounts] if args.key?(:accounts)
1316
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1317
+ end
1318
+ end
1319
+
1320
+ # Response message for the `ListUsers` method.
1321
+ class ListUsersResponse
1322
+ include Google::Apis::Core::Hashable
1323
+
1324
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1325
+ # field is omitted, there are no subsequent pages.
1326
+ # Corresponds to the JSON property `nextPageToken`
1327
+ # @return [String]
1328
+ attr_accessor :next_page_token
1329
+
1330
+ # The users from the specified account.
1331
+ # Corresponds to the JSON property `users`
1332
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::User>]
1333
+ attr_accessor :users
1334
+
1335
+ def initialize(**args)
1336
+ update!(**args)
1337
+ end
1338
+
1339
+ # Update properties of this object
1340
+ def update!(**args)
1341
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1342
+ @users = args[:users] if args.key?(:users)
1343
+ end
1344
+ end
1345
+
1346
+ # Time that local delivery ends for the day.
1347
+ class LocalCutoffTime
1348
+ include Google::Apis::Core::Hashable
1349
+
1350
+ # Hour local delivery orders must be placed by to process the same day.
1351
+ # Corresponds to the JSON property `hour`
1352
+ # @return [Fixnum]
1353
+ attr_accessor :hour
1354
+
1355
+ # Minute local delivery orders must be placed by to process the same day.
1356
+ # Corresponds to the JSON property `minute`
1357
+ # @return [Fixnum]
1358
+ attr_accessor :minute
1359
+
1360
+ def initialize(**args)
1361
+ update!(**args)
1362
+ end
1363
+
1364
+ # Update properties of this object
1365
+ def update!(**args)
1366
+ @hour = args[:hour] if args.key?(:hour)
1367
+ @minute = args[:minute] if args.key?(:minute)
1368
+ end
1369
+ end
1370
+
1371
+ # A list of location ID sets. Must be non-empty. Can only be set if all other
1372
+ # fields are not set.
1373
+ class LocationIdSet
1374
+ include Google::Apis::Core::Hashable
1375
+
1376
+ # Required. A non-empty list of [location IDs](https://developers.google.com/
1377
+ # adwords/api/docs/appendix/geotargeting). They must all be of the same location
1378
+ # type (For example, state).
1379
+ # Corresponds to the JSON property `locationIds`
1380
+ # @return [Array<String>]
1381
+ attr_accessor :location_ids
1382
+
1383
+ def initialize(**args)
1384
+ update!(**args)
1385
+ end
1386
+
1387
+ # Update properties of this object
1388
+ def update!(**args)
1389
+ @location_ids = args[:location_ids] if args.key?(:location_ids)
1390
+ end
1391
+ end
1392
+
1393
+ # [Loyalty program](https://support.google.com/merchants/answer/12922446)
1394
+ # provided by a merchant.
1395
+ class LoyaltyProgram
1396
+ include Google::Apis::Core::Hashable
1397
+
1398
+ # Optional. Loyalty program tier of this shipping service.
1399
+ # Corresponds to the JSON property `loyaltyProgramTiers`
1400
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::LoyaltyProgramTiers>]
1401
+ attr_accessor :loyalty_program_tiers
1402
+
1403
+ # This is the loyalty program label set in your loyalty program settings in
1404
+ # Merchant Center. This sub-attribute allows Google to map your loyalty program
1405
+ # to eligible offers.
1406
+ # Corresponds to the JSON property `programLabel`
1407
+ # @return [String]
1408
+ attr_accessor :program_label
1409
+
1410
+ def initialize(**args)
1411
+ update!(**args)
1412
+ end
1413
+
1414
+ # Update properties of this object
1415
+ def update!(**args)
1416
+ @loyalty_program_tiers = args[:loyalty_program_tiers] if args.key?(:loyalty_program_tiers)
1417
+ @program_label = args[:program_label] if args.key?(:program_label)
1418
+ end
1419
+ end
1420
+
1421
+ # Subset of a merchants loyalty program.
1422
+ class LoyaltyProgramTiers
1423
+ include Google::Apis::Core::Hashable
1424
+
1425
+ # The tier label [tier_label] sub-attribute differentiates offer level benefits
1426
+ # between each tier. This value is also set in your program settings in Merchant
1427
+ # Center, and is required for data source changes even if your loyalty program
1428
+ # only has 1 tier.
1429
+ # Corresponds to the JSON property `tierLabel`
1430
+ # @return [String]
1431
+ attr_accessor :tier_label
1432
+
1433
+ def initialize(**args)
1434
+ update!(**args)
1435
+ end
1436
+
1437
+ # Update properties of this object
1438
+ def update!(**args)
1439
+ @tier_label = args[:tier_label] if args.key?(:tier_label)
1440
+ end
1441
+ end
1442
+
1443
+ # Table of per store minimum order values for the pickup fulfillment type.
1444
+ class MinimumOrderValueTable
1445
+ include Google::Apis::Core::Hashable
1446
+
1447
+ # Required. A list of store code sets sharing the same minimum order value (MOV).
1448
+ # At least two sets are required and the last one must be empty, which
1449
+ # signifies 'MOV for all other stores'. Each store code can only appear once
1450
+ # across all the sets. All prices within a service must have the same currency.
1451
+ # Corresponds to the JSON property `storeCodeSetWithMovs`
1452
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::StoreCodeSetWithMov>]
1453
+ attr_accessor :store_code_set_with_movs
1454
+
1455
+ def initialize(**args)
1456
+ update!(**args)
1457
+ end
1458
+
1459
+ # Update properties of this object
1460
+ def update!(**args)
1461
+ @store_code_set_with_movs = args[:store_code_set_with_movs] if args.key?(:store_code_set_with_movs)
1462
+ end
1463
+ end
1464
+
1465
+ # [Online return policy](https://support.google.com/merchants/answer/10220642)
1466
+ # object. This is currently used to represent return policies for ads and free
1467
+ # listings programs.
1468
+ class OnlineReturnPolicy
1469
+ include Google::Apis::Core::Hashable
1470
+
1471
+ # This field specifies if merchant only accepts defective products for returns,
1472
+ # and this field is required.
1473
+ # Corresponds to the JSON property `acceptDefectiveOnly`
1474
+ # @return [Boolean]
1475
+ attr_accessor :accept_defective_only
1476
+ alias_method :accept_defective_only?, :accept_defective_only
1477
+
1478
+ # This field specifies if merchant allows customers to exchange products, this
1479
+ # field is required.
1480
+ # Corresponds to the JSON property `acceptExchange`
1481
+ # @return [Boolean]
1482
+ attr_accessor :accept_exchange
1483
+ alias_method :accept_exchange?, :accept_exchange
1484
+
1485
+ # The countries of sale where the return policy applies. The values must be a
1486
+ # valid 2 letter ISO 3166 code.
1487
+ # Corresponds to the JSON property `countries`
1488
+ # @return [Array<String>]
1489
+ attr_accessor :countries
1490
+
1491
+ # The item conditions accepted for returns must not be empty unless the type of
1492
+ # return policy is 'noReturns'.
1493
+ # Corresponds to the JSON property `itemConditions`
1494
+ # @return [Array<String>]
1495
+ attr_accessor :item_conditions
1496
+
1497
+ # This field represents the unique user-defined label of the return policy. It
1498
+ # is important to note that the same label cannot be used in different return
1499
+ # policies for the same country. Unless a product specifies a specific label
1500
+ # attribute, policies will be automatically labeled as 'default'. To assign a
1501
+ # custom return policy to certain product groups, follow the instructions
1502
+ # provided in the [Return policy label] (https://support.google.com/merchants/
1503
+ # answer/9445425). The label can contain up to 50 characters.
1504
+ # Corresponds to the JSON property `label`
1505
+ # @return [String]
1506
+ attr_accessor :label
1507
+
1508
+ # Identifier. The name of the `OnlineReturnPolicy` resource. Format: `accounts/`
1509
+ # account`/onlineReturnPolicies/`return_policy``
1510
+ # Corresponds to the JSON property `name`
1511
+ # @return [String]
1512
+ attr_accessor :name
1513
+
1514
+ # The available policies.
1515
+ # Corresponds to the JSON property `policy`
1516
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Policy]
1517
+ attr_accessor :policy
1518
+
1519
+ # The field specifies the number of days it takes for merchants to process
1520
+ # refunds, field is optional.
1521
+ # Corresponds to the JSON property `processRefundDays`
1522
+ # @return [Fixnum]
1523
+ attr_accessor :process_refund_days
1524
+
1525
+ # The restocking fee. This can be a flat fee or a micro percent.
1526
+ # Corresponds to the JSON property `restockingFee`
1527
+ # @return [Google::Apis::MerchantapiAccountsV1beta::RestockingFee]
1528
+ attr_accessor :restocking_fee
1529
+
1530
+ # The return methods of how customers can return an item. This value is required
1531
+ # to not be empty unless the type of return policy is noReturns.
1532
+ # Corresponds to the JSON property `returnMethods`
1533
+ # @return [Array<String>]
1534
+ attr_accessor :return_methods
1535
+
1536
+ # Output only. Return policy ID generated by Google.
1537
+ # Corresponds to the JSON property `returnPolicyId`
1538
+ # @return [String]
1539
+ attr_accessor :return_policy_id
1540
+
1541
+ # The return policy uri. This can used by Google to do a sanity check for the
1542
+ # policy. It must be a valid URL.
1543
+ # Corresponds to the JSON property `returnPolicyUri`
1544
+ # @return [String]
1545
+ attr_accessor :return_policy_uri
1546
+
1547
+ # The return shipping fee. This can either be a fixed fee or a boolean to
1548
+ # indicate that the customer pays the actual shipping cost.
1549
+ # Corresponds to the JSON property `returnShippingFee`
1550
+ # @return [Google::Apis::MerchantapiAccountsV1beta::ReturnShippingFee]
1551
+ attr_accessor :return_shipping_fee
1552
+
1553
+ def initialize(**args)
1554
+ update!(**args)
1555
+ end
1556
+
1557
+ # Update properties of this object
1558
+ def update!(**args)
1559
+ @accept_defective_only = args[:accept_defective_only] if args.key?(:accept_defective_only)
1560
+ @accept_exchange = args[:accept_exchange] if args.key?(:accept_exchange)
1561
+ @countries = args[:countries] if args.key?(:countries)
1562
+ @item_conditions = args[:item_conditions] if args.key?(:item_conditions)
1563
+ @label = args[:label] if args.key?(:label)
1564
+ @name = args[:name] if args.key?(:name)
1565
+ @policy = args[:policy] if args.key?(:policy)
1566
+ @process_refund_days = args[:process_refund_days] if args.key?(:process_refund_days)
1567
+ @restocking_fee = args[:restocking_fee] if args.key?(:restocking_fee)
1568
+ @return_methods = args[:return_methods] if args.key?(:return_methods)
1569
+ @return_policy_id = args[:return_policy_id] if args.key?(:return_policy_id)
1570
+ @return_policy_uri = args[:return_policy_uri] if args.key?(:return_policy_uri)
1571
+ @return_shipping_fee = args[:return_shipping_fee] if args.key?(:return_shipping_fee)
1572
+ end
1573
+ end
1574
+
1575
+ # An object representing a phone number, suitable as an API wire format. This
1576
+ # representation: - should not be used for locale-specific formatting of a phone
1577
+ # number, such as "+1 (650) 253-0000 ext. 123" - is not designed for efficient
1578
+ # storage - may not be suitable for dialing - specialized libraries (see
1579
+ # references) should be used to parse the number for that purpose To do
1580
+ # something meaningful with this number, such as format it for various use-cases,
1581
+ # convert it to an `i18n.phonenumbers.PhoneNumber` object first. For instance,
1582
+ # in Java this would be: com.google.type.PhoneNumber wireProto = com.google.type.
1583
+ # PhoneNumber.newBuilder().build(); com.google.i18n.phonenumbers.Phonenumber.
1584
+ # PhoneNumber phoneNumber = PhoneNumberUtil.getInstance().parse(wireProto.
1585
+ # getE164Number(), "ZZ"); if (!wireProto.getExtension().isEmpty()) ` phoneNumber.
1586
+ # setExtension(wireProto.getExtension()); ` Reference(s): - https://github.com/
1587
+ # google/libphonenumber
1588
+ class PhoneNumber
1589
+ include Google::Apis::Core::Hashable
1590
+
1591
+ # The phone number, represented as a leading plus sign ('+'), followed by a
1592
+ # phone number that uses a relaxed ITU E.164 format consisting of the country
1593
+ # calling code (1 to 3 digits) and the subscriber number, with no additional
1594
+ # spaces or formatting, e.g.: - correct: "+15552220123" - incorrect: "+1 (555)
1595
+ # 222-01234 x123". The ITU E.164 format limits the latter to 12 digits, but in
1596
+ # practice not all countries respect that, so we relax that restriction here.
1597
+ # National-only numbers are not allowed. References: - https://www.itu.int/rec/T-
1598
+ # REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164. - https://en.
1599
+ # wikipedia.org/wiki/List_of_country_calling_codes
1600
+ # Corresponds to the JSON property `e164Number`
1601
+ # @return [String]
1602
+ attr_accessor :e164_number
1603
+
1604
+ # The phone number's extension. The extension is not standardized in ITU
1605
+ # recommendations, except for being defined as a series of numbers with a
1606
+ # maximum length of 40 digits. Other than digits, some other dialing characters
1607
+ # such as ',' (indicating a wait) or '#' may be stored here. Note that no
1608
+ # regions currently use extensions with short codes, so this field is normally
1609
+ # only set in conjunction with an E.164 number. It is held separately from the E.
1610
+ # 164 number to allow for short code extensions in the future.
1611
+ # Corresponds to the JSON property `extension`
1612
+ # @return [String]
1613
+ attr_accessor :extension
1614
+
1615
+ # An object representing a short code, which is a phone number that is typically
1616
+ # much shorter than regular phone numbers and can be used to address messages in
1617
+ # MMS and SMS systems, as well as for abbreviated dialing (e.g. "Text 611 to see
1618
+ # how many minutes you have remaining on your plan."). Short codes are
1619
+ # restricted to a region and are not internationally dialable, which means the
1620
+ # same short code can exist in different regions, with different usage and
1621
+ # pricing, even if those regions share the same country calling code (e.g. US
1622
+ # and CA).
1623
+ # Corresponds to the JSON property `shortCode`
1624
+ # @return [Google::Apis::MerchantapiAccountsV1beta::ShortCode]
1625
+ attr_accessor :short_code
1626
+
1627
+ def initialize(**args)
1628
+ update!(**args)
1629
+ end
1630
+
1631
+ # Update properties of this object
1632
+ def update!(**args)
1633
+ @e164_number = args[:e164_number] if args.key?(:e164_number)
1634
+ @extension = args[:extension] if args.key?(:extension)
1635
+ @short_code = args[:short_code] if args.key?(:short_code)
1636
+ end
1637
+ end
1638
+
1639
+ # The available policies.
1640
+ class Policy
1641
+ include Google::Apis::Core::Hashable
1642
+
1643
+ # The number of days items can be returned after delivery, where one day is
1644
+ # defined as 24 hours after the delivery timestamp. Required for `
1645
+ # NUMBER_OF_DAYS_AFTER_DELIVERY` returns.
1646
+ # Corresponds to the JSON property `days`
1647
+ # @return [Fixnum]
1648
+ attr_accessor :days
1649
+
1650
+ # Policy type.
1651
+ # Corresponds to the JSON property `type`
1652
+ # @return [String]
1653
+ attr_accessor :type
1654
+
1655
+ def initialize(**args)
1656
+ update!(**args)
1657
+ end
1658
+
1659
+ # Update properties of this object
1660
+ def update!(**args)
1661
+ @days = args[:days] if args.key?(:days)
1662
+ @type = args[:type] if args.key?(:type)
1663
+ end
1664
+ end
1665
+
1666
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
1667
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
1668
+ # Box or similar. It is not intended to model geographical locations (roads,
1669
+ # towns, mountains). In typical usage an address would be created via user input
1670
+ # or from importing existing data, depending on the type of process. Advice on
1671
+ # address input / editing: - Use an internationalization-ready address widget
1672
+ # such as https://github.com/google/libaddressinput) - Users should not be
1673
+ # presented with UI elements for input or editing of fields outside countries
1674
+ # where that field is used. For more guidance on how to use this schema, please
1675
+ # see: https://support.google.com/business/answer/6397478
1676
+ class PostalAddress
1677
+ include Google::Apis::Core::Hashable
1678
+
1679
+ # Unstructured address lines describing the lower levels of an address. Because
1680
+ # values in address_lines do not have type information and may sometimes contain
1681
+ # multiple values in a single field (e.g. "Austin, TX"), it is important that
1682
+ # the line order is clear. The order of address lines should be "envelope order"
1683
+ # for the country/region of the address. In places where this can vary (e.g.
1684
+ # Japan), address_language is used to make it explicit (e.g. "ja" for large-to-
1685
+ # small ordering and "ja-Latn" or "en" for small-to-large). This way, the most
1686
+ # specific line of an address can be selected based on the language. The minimum
1687
+ # permitted structural representation of an address consists of a region_code
1688
+ # with all remaining information placed in the address_lines. It would be
1689
+ # possible to format such an address very approximately without geocoding, but
1690
+ # no semantic reasoning could be made about any of the address components until
1691
+ # it was at least partially resolved. Creating an address only containing a
1692
+ # region_code and address_lines, and then geocoding is the recommended way to
1693
+ # handle completely unstructured addresses (as opposed to guessing which parts
1694
+ # of the address should be localities or administrative areas).
1695
+ # Corresponds to the JSON property `addressLines`
1696
+ # @return [Array<String>]
1697
+ attr_accessor :address_lines
1698
+
1699
+ # Optional. Highest administrative subdivision which is used for postal
1700
+ # addresses of a country or region. For example, this can be a state, a province,
1701
+ # an oblast, or a prefecture. Specifically, for Spain this is the province and
1702
+ # not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many
1703
+ # countries don't use an administrative area in postal addresses. E.g. in
1704
+ # Switzerland this should be left unpopulated.
1705
+ # Corresponds to the JSON property `administrativeArea`
1706
+ # @return [String]
1707
+ attr_accessor :administrative_area
1708
+
1709
+ # Optional. BCP-47 language code of the contents of this address (if known).
1710
+ # This is often the UI language of the input form or is expected to match one of
1711
+ # the languages used in the address' country/region, or their transliterated
1712
+ # equivalents. This can affect formatting in certain countries, but is not
1713
+ # critical to the correctness of the data and will never affect any validation
1714
+ # or other non-formatting related operations. If this value is not known, it
1715
+ # should be omitted (rather than specifying a possibly incorrect default).
1716
+ # Examples: "zh-Hant", "ja", "ja-Latn", "en".
1717
+ # Corresponds to the JSON property `languageCode`
1718
+ # @return [String]
1719
+ attr_accessor :language_code
1720
+
1721
+ # Optional. Generally refers to the city/town portion of the address. Examples:
1722
+ # US city, IT comune, UK post town. In regions of the world where localities are
1723
+ # not well defined or do not fit into this structure well, leave locality empty
1724
+ # and use address_lines.
1725
+ # Corresponds to the JSON property `locality`
1726
+ # @return [String]
1727
+ attr_accessor :locality
1728
+
1729
+ # Optional. The name of the organization at the address.
1730
+ # Corresponds to the JSON property `organization`
1731
+ # @return [String]
1732
+ attr_accessor :organization
1733
+
1734
+ # Optional. Postal code of the address. Not all countries use or require postal
1735
+ # codes to be present, but where they are used, they may trigger additional
1736
+ # validation with other parts of the address (e.g. state/zip validation in the U.
1737
+ # S.A.).
1738
+ # Corresponds to the JSON property `postalCode`
1739
+ # @return [String]
1740
+ attr_accessor :postal_code
1741
+
1742
+ # Optional. The recipient at the address. This field may, under certain
1743
+ # circumstances, contain multiline information. For example, it might contain "
1744
+ # care of" information.
1745
+ # Corresponds to the JSON property `recipients`
1746
+ # @return [Array<String>]
1747
+ attr_accessor :recipients
1748
+
1749
+ # Required. CLDR region code of the country/region of the address. This is never
1750
+ # inferred and it is up to the user to ensure the value is correct. See https://
1751
+ # cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/
1752
+ # territory_information.html for details. Example: "CH" for Switzerland.
1753
+ # Corresponds to the JSON property `regionCode`
1754
+ # @return [String]
1755
+ attr_accessor :region_code
1756
+
1757
+ # The schema revision of the `PostalAddress`. This must be set to 0, which is
1758
+ # the latest revision. All new revisions **must** be backward compatible with
1759
+ # old revisions.
1760
+ # Corresponds to the JSON property `revision`
1761
+ # @return [Fixnum]
1762
+ attr_accessor :revision
1763
+
1764
+ # Optional. Additional, country-specific, sorting code. This is not used in most
1765
+ # regions. Where it is used, the value is either a string like "CEDEX",
1766
+ # optionally followed by a number (e.g. "CEDEX 7"), or just a number alone,
1767
+ # representing the "sector code" (Jamaica), "delivery area indicator" (Malawi)
1768
+ # or "post office indicator" (e.g. Côte d'Ivoire).
1769
+ # Corresponds to the JSON property `sortingCode`
1770
+ # @return [String]
1771
+ attr_accessor :sorting_code
1772
+
1773
+ # Optional. Sublocality of the address. For example, this can be neighborhoods,
1774
+ # boroughs, districts.
1775
+ # Corresponds to the JSON property `sublocality`
1776
+ # @return [String]
1777
+ attr_accessor :sublocality
1778
+
1779
+ def initialize(**args)
1780
+ update!(**args)
1781
+ end
1782
+
1783
+ # Update properties of this object
1784
+ def update!(**args)
1785
+ @address_lines = args[:address_lines] if args.key?(:address_lines)
1786
+ @administrative_area = args[:administrative_area] if args.key?(:administrative_area)
1787
+ @language_code = args[:language_code] if args.key?(:language_code)
1788
+ @locality = args[:locality] if args.key?(:locality)
1789
+ @organization = args[:organization] if args.key?(:organization)
1790
+ @postal_code = args[:postal_code] if args.key?(:postal_code)
1791
+ @recipients = args[:recipients] if args.key?(:recipients)
1792
+ @region_code = args[:region_code] if args.key?(:region_code)
1793
+ @revision = args[:revision] if args.key?(:revision)
1794
+ @sorting_code = args[:sorting_code] if args.key?(:sorting_code)
1795
+ @sublocality = args[:sublocality] if args.key?(:sublocality)
1796
+ end
1797
+ end
1798
+
1799
+ # A list of postal codes that defines the region area. Note: All regions defined
1800
+ # using postal codes are accessible through the account's `ShippingSettings.
1801
+ # postalCodeGroups` resource.
1802
+ class PostalCodeArea
1803
+ include Google::Apis::Core::Hashable
1804
+
1805
+ # Required. A range of postal codes.
1806
+ # Corresponds to the JSON property `postalCodes`
1807
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::PostalCodeRange>]
1808
+ attr_accessor :postal_codes
1809
+
1810
+ # Required. [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/
1811
+ # common/main/en.xml) or the country the postal code group applies to.
1812
+ # Corresponds to the JSON property `regionCode`
1813
+ # @return [String]
1814
+ attr_accessor :region_code
1815
+
1816
+ def initialize(**args)
1817
+ update!(**args)
1818
+ end
1819
+
1820
+ # Update properties of this object
1821
+ def update!(**args)
1822
+ @postal_codes = args[:postal_codes] if args.key?(:postal_codes)
1823
+ @region_code = args[:region_code] if args.key?(:region_code)
1824
+ end
1825
+ end
1826
+
1827
+ # A range of postal codes that defines the region area.
1828
+ class PostalCodeRange
1829
+ include Google::Apis::Core::Hashable
1830
+
1831
+ # Required. A postal code or a pattern of the form prefix* denoting the
1832
+ # inclusive lower bound of the range defining the area. Examples values: `94108`,
1833
+ # `9410*`, `9*`.
1834
+ # Corresponds to the JSON property `begin`
1835
+ # @return [String]
1836
+ attr_accessor :begin
1837
+
1838
+ # Optional. A postal code or a pattern of the form `prefix*` denoting the
1839
+ # inclusive upper bound of the range defining the area. It must have the same
1840
+ # length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then
1841
+ # postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a
1842
+ # pattern then postalCodeRangeEnd must be a pattern with the same prefix length.
1843
+ # Optional: if not set, then the area is defined as being all the postal codes
1844
+ # matching postalCodeRangeBegin.
1845
+ # Corresponds to the JSON property `end`
1846
+ # @return [String]
1847
+ attr_accessor :end
1848
+
1849
+ def initialize(**args)
1850
+ update!(**args)
1851
+ end
1852
+
1853
+ # Update properties of this object
1854
+ def update!(**args)
1855
+ @begin = args[:begin] if args.key?(:begin)
1856
+ @end = args[:end] if args.key?(:end)
1857
+ end
1858
+ end
1859
+
1860
+ # The price represented as a number and currency.
1861
+ class Price
1862
+ include Google::Apis::Core::Hashable
1863
+
1864
+ # The price represented as a number in micros (1 million micros is an equivalent
1865
+ # to one's currency standard unit, for example, 1 USD = 1000000 micros).
1866
+ # Corresponds to the JSON property `amountMicros`
1867
+ # @return [Fixnum]
1868
+ attr_accessor :amount_micros
1869
+
1870
+ # The currency of the price using three-letter acronyms according to [ISO 4217](
1871
+ # http://en.wikipedia.org/wiki/ISO_4217).
1872
+ # Corresponds to the JSON property `currencyCode`
1873
+ # @return [String]
1874
+ attr_accessor :currency_code
1875
+
1876
+ def initialize(**args)
1877
+ update!(**args)
1878
+ end
1879
+
1880
+ # Update properties of this object
1881
+ def update!(**args)
1882
+ @amount_micros = args[:amount_micros] if args.key?(:amount_micros)
1883
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
1884
+ end
1885
+ end
1886
+
1887
+ # The change that happened to the product including old value, new value,
1888
+ # country code as the region code and reporting context.
1889
+ class ProductChange
1890
+ include Google::Apis::Core::Hashable
1891
+
1892
+ # The new value of the changed resource or attribute.
1893
+ # Corresponds to the JSON property `newValue`
1894
+ # @return [String]
1895
+ attr_accessor :new_value
1896
+
1897
+ # The old value of the changed resource or attribute.
1898
+ # Corresponds to the JSON property `oldValue`
1899
+ # @return [String]
1900
+ attr_accessor :old_value
1901
+
1902
+ # Countries that have the change (if applicable)
1903
+ # Corresponds to the JSON property `regionCode`
1904
+ # @return [String]
1905
+ attr_accessor :region_code
1906
+
1907
+ # Reporting contexts that have the change (if applicable)
1908
+ # Corresponds to the JSON property `reportingContext`
1909
+ # @return [String]
1910
+ attr_accessor :reporting_context
1911
+
1912
+ def initialize(**args)
1913
+ update!(**args)
1914
+ end
1915
+
1916
+ # Update properties of this object
1917
+ def update!(**args)
1918
+ @new_value = args[:new_value] if args.key?(:new_value)
1919
+ @old_value = args[:old_value] if args.key?(:old_value)
1920
+ @region_code = args[:region_code] if args.key?(:region_code)
1921
+ @reporting_context = args[:reporting_context] if args.key?(:reporting_context)
1922
+ end
1923
+ end
1924
+
1925
+ # The message that the merchant will receive to notify about product status
1926
+ # change event
1927
+ class ProductStatusChangeMessage
1928
+ include Google::Apis::Core::Hashable
1929
+
1930
+ # The target account that owns the entity that changed. Format : `accounts/`
1931
+ # merchant_id``
1932
+ # Corresponds to the JSON property `account`
1933
+ # @return [String]
1934
+ attr_accessor :account
1935
+
1936
+ # The attribute in the resource that changed, in this case it will be always `
1937
+ # Status`.
1938
+ # Corresponds to the JSON property `attribute`
1939
+ # @return [String]
1940
+ attr_accessor :attribute
1941
+
1942
+ # A message to describe the change that happened to the product
1943
+ # Corresponds to the JSON property `changes`
1944
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::ProductChange>]
1945
+ attr_accessor :changes
1946
+
1947
+ # The account that manages the merchant's account. can be the same as merchant
1948
+ # id if it is standalone account. Format : `accounts/`service_provider_id``
1949
+ # Corresponds to the JSON property `managingAccount`
1950
+ # @return [String]
1951
+ attr_accessor :managing_account
1952
+
1953
+ # The product name. Format: ``product.name=accounts/`account`/products/`product``
1954
+ # `
1955
+ # Corresponds to the JSON property `resource`
1956
+ # @return [String]
1957
+ attr_accessor :resource
1958
+
1959
+ # The product id.
1960
+ # Corresponds to the JSON property `resourceId`
1961
+ # @return [String]
1962
+ attr_accessor :resource_id
1963
+
1964
+ # The resource that changed, in this case it will always be `Product`.
1965
+ # Corresponds to the JSON property `resourceType`
1966
+ # @return [String]
1967
+ attr_accessor :resource_type
1968
+
1969
+ def initialize(**args)
1970
+ update!(**args)
1971
+ end
1972
+
1973
+ # Update properties of this object
1974
+ def update!(**args)
1975
+ @account = args[:account] if args.key?(:account)
1976
+ @attribute = args[:attribute] if args.key?(:attribute)
1977
+ @changes = args[:changes] if args.key?(:changes)
1978
+ @managing_account = args[:managing_account] if args.key?(:managing_account)
1979
+ @resource = args[:resource] if args.key?(:resource)
1980
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
1981
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
1982
+ end
1983
+ end
1984
+
1985
+ # Defines participation in a given program for the specified account. Programs
1986
+ # provide a mechanism for adding functionality to merchant accounts. A typical
1987
+ # example of this is the [Free product listings](https://support.google.com/
1988
+ # merchants/topic/9240261?ref_topic=7257954,7259405,&sjid=796648681813264022-EU)
1989
+ # program, which enables products from a merchant's store to be shown across
1990
+ # Google for free.
1991
+ class Program
1992
+ include Google::Apis::Core::Hashable
1993
+
1994
+ # Output only. The regions in which the account is actively participating in the
1995
+ # program. Active regions are defined as those where all program requirements
1996
+ # affecting the regions have been met. Region codes are defined by [CLDR](https:/
1997
+ # /cldr.unicode.org/). This is either a country where the program applies
1998
+ # specifically to that country or `001` when the program applies globally.
1999
+ # Corresponds to the JSON property `activeRegionCodes`
2000
+ # @return [Array<String>]
2001
+ attr_accessor :active_region_codes
2002
+
2003
+ # Output only. The URL of a Merchant Center help page describing the program.
2004
+ # Corresponds to the JSON property `documentationUri`
2005
+ # @return [String]
2006
+ attr_accessor :documentation_uri
2007
+
2008
+ # Identifier. The resource name of the program. Format: `accounts/`account`/
2009
+ # programs/`program``
2010
+ # Corresponds to the JSON property `name`
2011
+ # @return [String]
2012
+ attr_accessor :name
2013
+
2014
+ # Output only. The participation state of the account in the program.
2015
+ # Corresponds to the JSON property `state`
2016
+ # @return [String]
2017
+ attr_accessor :state
2018
+
2019
+ # Output only. The requirements that the account has not yet satisfied that are
2020
+ # affecting participation in the program.
2021
+ # Corresponds to the JSON property `unmetRequirements`
2022
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Requirement>]
2023
+ attr_accessor :unmet_requirements
2024
+
2025
+ def initialize(**args)
2026
+ update!(**args)
2027
+ end
2028
+
2029
+ # Update properties of this object
2030
+ def update!(**args)
2031
+ @active_region_codes = args[:active_region_codes] if args.key?(:active_region_codes)
2032
+ @documentation_uri = args[:documentation_uri] if args.key?(:documentation_uri)
2033
+ @name = args[:name] if args.key?(:name)
2034
+ @state = args[:state] if args.key?(:state)
2035
+ @unmet_requirements = args[:unmet_requirements] if args.key?(:unmet_requirements)
2036
+ end
2037
+ end
2038
+
2039
+ # Shipping rate group definitions. Only the last one is allowed to have an empty
2040
+ # `applicable_shipping_labels`, which means "everything else". The other `
2041
+ # applicable_shipping_labels` must not overlap.
2042
+ class RateGroup
2043
+ include Google::Apis::Core::Hashable
2044
+
2045
+ # Required. A list of [shipping labels](https://support.google.com/merchants/
2046
+ # answer/6324504) defining the products to which this rate group applies to.
2047
+ # This is a disjunction: only one of the labels has to match for the rate group
2048
+ # to apply. May only be empty for the last rate group of a service.
2049
+ # Corresponds to the JSON property `applicableShippingLabels`
2050
+ # @return [Array<String>]
2051
+ attr_accessor :applicable_shipping_labels
2052
+
2053
+ # Optional. A list of carrier rates that can be referred to by `main_table` or `
2054
+ # single_value`.
2055
+ # Corresponds to the JSON property `carrierRates`
2056
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::CarrierRate>]
2057
+ attr_accessor :carrier_rates
2058
+
2059
+ # A table defining the rate group, when `single_value` is not expressive enough.
2060
+ # Corresponds to the JSON property `mainTable`
2061
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Table]
2062
+ attr_accessor :main_table
2063
+
2064
+ # Optional. Name of the rate group. If set has to be unique within shipping
2065
+ # service.
2066
+ # Corresponds to the JSON property `name`
2067
+ # @return [String]
2068
+ attr_accessor :name
2069
+
2070
+ # The single value of a rate group or the value of a rate group table's cell.
2071
+ # Exactly one of `no_shipping`, `flat_rate`, `price_percentage`, `
2072
+ # carrier_rateName`, `subtable_name` must be set.
2073
+ # Corresponds to the JSON property `singleValue`
2074
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Value]
2075
+ attr_accessor :single_value
2076
+
2077
+ # Optional. A list of subtables referred to by `main_table`. Can only be set if `
2078
+ # main_table` is set.
2079
+ # Corresponds to the JSON property `subtables`
2080
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Table>]
2081
+ attr_accessor :subtables
2082
+
2083
+ def initialize(**args)
2084
+ update!(**args)
2085
+ end
2086
+
2087
+ # Update properties of this object
2088
+ def update!(**args)
2089
+ @applicable_shipping_labels = args[:applicable_shipping_labels] if args.key?(:applicable_shipping_labels)
2090
+ @carrier_rates = args[:carrier_rates] if args.key?(:carrier_rates)
2091
+ @main_table = args[:main_table] if args.key?(:main_table)
2092
+ @name = args[:name] if args.key?(:name)
2093
+ @single_value = args[:single_value] if args.key?(:single_value)
2094
+ @subtables = args[:subtables] if args.key?(:subtables)
2095
+ end
2096
+ end
2097
+
2098
+ # Represents a geographic region that you can use as a target with both the `
2099
+ # RegionalInventory` and `ShippingSettings` services. You can define regions as
2100
+ # collections of either postal codes or, in some countries, using predefined
2101
+ # geotargets. For more information, see [Set up regions ](https://support.google.
2102
+ # com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more
2103
+ # information.
2104
+ class Region
2105
+ include Google::Apis::Core::Hashable
2106
+
2107
+ # Optional. The display name of the region.
2108
+ # Corresponds to the JSON property `displayName`
2109
+ # @return [String]
2110
+ attr_accessor :display_name
2111
+
2112
+ # A list of geotargets that defines the region area.
2113
+ # Corresponds to the JSON property `geotargetArea`
2114
+ # @return [Google::Apis::MerchantapiAccountsV1beta::GeoTargetArea]
2115
+ attr_accessor :geotarget_area
2116
+
2117
+ # Identifier. The resource name of the region. Format: `accounts/`account`/
2118
+ # regions/`region``
2119
+ # Corresponds to the JSON property `name`
2120
+ # @return [String]
2121
+ attr_accessor :name
2122
+
2123
+ # A list of postal codes that defines the region area. Note: All regions defined
2124
+ # using postal codes are accessible through the account's `ShippingSettings.
2125
+ # postalCodeGroups` resource.
2126
+ # Corresponds to the JSON property `postalCodeArea`
2127
+ # @return [Google::Apis::MerchantapiAccountsV1beta::PostalCodeArea]
2128
+ attr_accessor :postal_code_area
2129
+
2130
+ # Output only. Indicates if the region is eligible for use in the Regional
2131
+ # Inventory configuration.
2132
+ # Corresponds to the JSON property `regionalInventoryEligible`
2133
+ # @return [Boolean]
2134
+ attr_accessor :regional_inventory_eligible
2135
+ alias_method :regional_inventory_eligible?, :regional_inventory_eligible
2136
+
2137
+ # Output only. Indicates if the region is eligible for use in the Shipping
2138
+ # Services configuration.
2139
+ # Corresponds to the JSON property `shippingEligible`
2140
+ # @return [Boolean]
2141
+ attr_accessor :shipping_eligible
2142
+ alias_method :shipping_eligible?, :shipping_eligible
2143
+
2144
+ def initialize(**args)
2145
+ update!(**args)
2146
+ end
2147
+
2148
+ # Update properties of this object
2149
+ def update!(**args)
2150
+ @display_name = args[:display_name] if args.key?(:display_name)
2151
+ @geotarget_area = args[:geotarget_area] if args.key?(:geotarget_area)
2152
+ @name = args[:name] if args.key?(:name)
2153
+ @postal_code_area = args[:postal_code_area] if args.key?(:postal_code_area)
2154
+ @regional_inventory_eligible = args[:regional_inventory_eligible] if args.key?(:regional_inventory_eligible)
2155
+ @shipping_eligible = args[:shipping_eligible] if args.key?(:shipping_eligible)
2156
+ end
2157
+ end
2158
+
2159
+ # Describes the terms of service which are required to be accepted.
2160
+ class Required
2161
+ include Google::Apis::Core::Hashable
2162
+
2163
+ # The [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
2164
+ # that need to be accepted.
2165
+ # Corresponds to the JSON property `termsOfService`
2166
+ # @return [String]
2167
+ attr_accessor :terms_of_service
2168
+
2169
+ # Full URL to the terms of service file. This field is the same as [
2170
+ # TermsOfService.file_uri](TermsOfService.file_uri), it is added here for
2171
+ # convenience only.
2172
+ # Corresponds to the JSON property `tosFileUri`
2173
+ # @return [String]
2174
+ attr_accessor :tos_file_uri
2175
+
2176
+ def initialize(**args)
2177
+ update!(**args)
2178
+ end
2179
+
2180
+ # Update properties of this object
2181
+ def update!(**args)
2182
+ @terms_of_service = args[:terms_of_service] if args.key?(:terms_of_service)
2183
+ @tos_file_uri = args[:tos_file_uri] if args.key?(:tos_file_uri)
2184
+ end
2185
+ end
2186
+
2187
+ # Defines a requirement specified for participation in the program.
2188
+ class Requirement
2189
+ include Google::Apis::Core::Hashable
2190
+
2191
+ # Output only. The regions that are currently affected by this requirement not
2192
+ # being met. Region codes are defined by [CLDR](https://cldr.unicode.org/). This
2193
+ # is either a country where the program applies specifically to that country or `
2194
+ # 001` when the program applies globally.
2195
+ # Corresponds to the JSON property `affectedRegionCodes`
2196
+ # @return [Array<String>]
2197
+ attr_accessor :affected_region_codes
2198
+
2199
+ # Output only. The URL of a help page describing the requirement.
2200
+ # Corresponds to the JSON property `documentationUri`
2201
+ # @return [String]
2202
+ attr_accessor :documentation_uri
2203
+
2204
+ # Output only. Name of the requirement.
2205
+ # Corresponds to the JSON property `title`
2206
+ # @return [String]
2207
+ attr_accessor :title
2208
+
2209
+ def initialize(**args)
2210
+ update!(**args)
2211
+ end
2212
+
2213
+ # Update properties of this object
2214
+ def update!(**args)
2215
+ @affected_region_codes = args[:affected_region_codes] if args.key?(:affected_region_codes)
2216
+ @documentation_uri = args[:documentation_uri] if args.key?(:documentation_uri)
2217
+ @title = args[:title] if args.key?(:title)
2218
+ end
2219
+ end
2220
+
2221
+ # The restocking fee. This can be a flat fee or a micro percent.
2222
+ class RestockingFee
2223
+ include Google::Apis::Core::Hashable
2224
+
2225
+ # The price represented as a number and currency.
2226
+ # Corresponds to the JSON property `fixedFee`
2227
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Price]
2228
+ attr_accessor :fixed_fee
2229
+
2230
+ # Percent of total price in micros. 15,000,000 means 15% of the total price
2231
+ # would be charged.
2232
+ # Corresponds to the JSON property `microPercent`
2233
+ # @return [Fixnum]
2234
+ attr_accessor :micro_percent
2235
+
2236
+ def initialize(**args)
2237
+ update!(**args)
2238
+ end
2239
+
2240
+ # Update properties of this object
2241
+ def update!(**args)
2242
+ @fixed_fee = args[:fixed_fee] if args.key?(:fixed_fee)
2243
+ @micro_percent = args[:micro_percent] if args.key?(:micro_percent)
2244
+ end
2245
+ end
2246
+
2247
+ # The return shipping fee. This can either be a fixed fee or a boolean to
2248
+ # indicate that the customer pays the actual shipping cost.
2249
+ class ReturnShippingFee
2250
+ include Google::Apis::Core::Hashable
2251
+
2252
+ # The price represented as a number and currency.
2253
+ # Corresponds to the JSON property `fixedFee`
2254
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Price]
2255
+ attr_accessor :fixed_fee
2256
+
2257
+ # Type of return shipping fee.
2258
+ # Corresponds to the JSON property `type`
2259
+ # @return [String]
2260
+ attr_accessor :type
2261
+
2262
+ def initialize(**args)
2263
+ update!(**args)
2264
+ end
2265
+
2266
+ # Update properties of this object
2267
+ def update!(**args)
2268
+ @fixed_fee = args[:fixed_fee] if args.key?(:fixed_fee)
2269
+ @type = args[:type] if args.key?(:type)
2270
+ end
2271
+ end
2272
+
2273
+ # Include a list of cells.
2274
+ class Row
2275
+ include Google::Apis::Core::Hashable
2276
+
2277
+ # Required. The list of cells that constitute the row. Must have the same length
2278
+ # as `columnHeaders` for two-dimensional tables, a length of 1 for one-
2279
+ # dimensional tables.
2280
+ # Corresponds to the JSON property `cells`
2281
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Value>]
2282
+ attr_accessor :cells
2283
+
2284
+ def initialize(**args)
2285
+ update!(**args)
2286
+ end
2287
+
2288
+ # Update properties of this object
2289
+ def update!(**args)
2290
+ @cells = args[:cells] if args.key?(:cells)
2291
+ end
2292
+ end
2293
+
2294
+ # Shipping service.
2295
+ class Service
2296
+ include Google::Apis::Core::Hashable
2297
+
2298
+ # Required. A boolean exposing the active status of the shipping service.
2299
+ # Corresponds to the JSON property `active`
2300
+ # @return [Boolean]
2301
+ attr_accessor :active
2302
+ alias_method :active?, :active
2303
+
2304
+ # The CLDR code of the currency to which this service applies. Must match that
2305
+ # of the prices in rate groups.
2306
+ # Corresponds to the JSON property `currencyCode`
2307
+ # @return [String]
2308
+ attr_accessor :currency_code
2309
+
2310
+ # Required. The CLDR territory code of the countries to which the service
2311
+ # applies.
2312
+ # Corresponds to the JSON property `deliveryCountries`
2313
+ # @return [Array<String>]
2314
+ attr_accessor :delivery_countries
2315
+
2316
+ # Time spent in various aspects from order to the delivery of the product.
2317
+ # Corresponds to the JSON property `deliveryTime`
2318
+ # @return [Google::Apis::MerchantapiAccountsV1beta::DeliveryTime]
2319
+ attr_accessor :delivery_time
2320
+
2321
+ # Optional. Loyalty programs that this shipping service is limited to.
2322
+ # Corresponds to the JSON property `loyaltyPrograms`
2323
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::LoyaltyProgram>]
2324
+ attr_accessor :loyalty_programs
2325
+
2326
+ # The price represented as a number and currency.
2327
+ # Corresponds to the JSON property `minimumOrderValue`
2328
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Price]
2329
+ attr_accessor :minimum_order_value
2330
+
2331
+ # Table of per store minimum order values for the pickup fulfillment type.
2332
+ # Corresponds to the JSON property `minimumOrderValueTable`
2333
+ # @return [Google::Apis::MerchantapiAccountsV1beta::MinimumOrderValueTable]
2334
+ attr_accessor :minimum_order_value_table
2335
+
2336
+ # Optional. Shipping rate group definitions. Only the last one is allowed to
2337
+ # have an empty `applicable_shipping_labels`, which means "everything else". The
2338
+ # other `applicable_shipping_labels` must not overlap.
2339
+ # Corresponds to the JSON property `rateGroups`
2340
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::RateGroup>]
2341
+ attr_accessor :rate_groups
2342
+
2343
+ # Required. Free-form name of the service. Must be unique within target account.
2344
+ # Corresponds to the JSON property `serviceName`
2345
+ # @return [String]
2346
+ attr_accessor :service_name
2347
+
2348
+ # Type of locations this service ships orders to.
2349
+ # Corresponds to the JSON property `shipmentType`
2350
+ # @return [String]
2351
+ attr_accessor :shipment_type
2352
+
2353
+ # A list of stores your products are delivered from. This is only valid for the
2354
+ # local delivery shipment type.
2355
+ # Corresponds to the JSON property `storeConfig`
2356
+ # @return [Google::Apis::MerchantapiAccountsV1beta::StoreConfig]
2357
+ attr_accessor :store_config
2358
+
2359
+ def initialize(**args)
2360
+ update!(**args)
2361
+ end
2362
+
2363
+ # Update properties of this object
2364
+ def update!(**args)
2365
+ @active = args[:active] if args.key?(:active)
2366
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
2367
+ @delivery_countries = args[:delivery_countries] if args.key?(:delivery_countries)
2368
+ @delivery_time = args[:delivery_time] if args.key?(:delivery_time)
2369
+ @loyalty_programs = args[:loyalty_programs] if args.key?(:loyalty_programs)
2370
+ @minimum_order_value = args[:minimum_order_value] if args.key?(:minimum_order_value)
2371
+ @minimum_order_value_table = args[:minimum_order_value_table] if args.key?(:minimum_order_value_table)
2372
+ @rate_groups = args[:rate_groups] if args.key?(:rate_groups)
2373
+ @service_name = args[:service_name] if args.key?(:service_name)
2374
+ @shipment_type = args[:shipment_type] if args.key?(:shipment_type)
2375
+ @store_config = args[:store_config] if args.key?(:store_config)
2376
+ end
2377
+ end
2378
+
2379
+ # The merchant account's [shipping setting]((https://support.google.com/
2380
+ # merchants/answer/6069284).
2381
+ class ShippingSettings
2382
+ include Google::Apis::Core::Hashable
2383
+
2384
+ # Required. This field is used for avoid async issue. Make sure shipping setting
2385
+ # data didn't change between get call and insert call. The user should do
2386
+ # following steps: 1. Set etag field as empty string for initial shipping
2387
+ # setting creation. 2. After initial creation, call get method to obtain an etag
2388
+ # and current shipping setting data before call insert. 3. Modify to wanted
2389
+ # shipping setting information. 4. Call insert method with the wanted shipping
2390
+ # setting information with the etag obtained from step 2. 5. If shipping setting
2391
+ # data changed between step 2 and step 4. Insert request will fail because the
2392
+ # etag changes every time the shipping setting data changes. User should repeate
2393
+ # step 2-4 with the new etag.
2394
+ # Corresponds to the JSON property `etag`
2395
+ # @return [String]
2396
+ attr_accessor :etag
2397
+
2398
+ # Identifier. The resource name of the shipping setting. Format: `accounts/`
2399
+ # account`/shippingSetting`
2400
+ # Corresponds to the JSON property `name`
2401
+ # @return [String]
2402
+ attr_accessor :name
2403
+
2404
+ # Optional. The target account's list of services.
2405
+ # Corresponds to the JSON property `services`
2406
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Service>]
2407
+ attr_accessor :services
2408
+
2409
+ # Optional. A list of warehouses which can be referred to in `services`.
2410
+ # Corresponds to the JSON property `warehouses`
2411
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Warehouse>]
2412
+ attr_accessor :warehouses
2413
+
2414
+ def initialize(**args)
2415
+ update!(**args)
2416
+ end
2417
+
2418
+ # Update properties of this object
2419
+ def update!(**args)
2420
+ @etag = args[:etag] if args.key?(:etag)
2421
+ @name = args[:name] if args.key?(:name)
2422
+ @services = args[:services] if args.key?(:services)
2423
+ @warehouses = args[:warehouses] if args.key?(:warehouses)
2424
+ end
2425
+ end
2426
+
2427
+ # An object representing a short code, which is a phone number that is typically
2428
+ # much shorter than regular phone numbers and can be used to address messages in
2429
+ # MMS and SMS systems, as well as for abbreviated dialing (e.g. "Text 611 to see
2430
+ # how many minutes you have remaining on your plan."). Short codes are
2431
+ # restricted to a region and are not internationally dialable, which means the
2432
+ # same short code can exist in different regions, with different usage and
2433
+ # pricing, even if those regions share the same country calling code (e.g. US
2434
+ # and CA).
2435
+ class ShortCode
2436
+ include Google::Apis::Core::Hashable
2437
+
2438
+ # Required. The short code digits, without a leading plus ('+') or country
2439
+ # calling code, e.g. "611".
2440
+ # Corresponds to the JSON property `number`
2441
+ # @return [String]
2442
+ attr_accessor :number
2443
+
2444
+ # Required. The BCP-47 region code of the location where calls to this short
2445
+ # code can be made, such as "US" and "BB". Reference(s): - http://www.unicode.
2446
+ # org/reports/tr35/#unicode_region_subtag
2447
+ # Corresponds to the JSON property `regionCode`
2448
+ # @return [String]
2449
+ attr_accessor :region_code
2450
+
2451
+ def initialize(**args)
2452
+ update!(**args)
2453
+ end
2454
+
2455
+ # Update properties of this object
2456
+ def update!(**args)
2457
+ @number = args[:number] if args.key?(:number)
2458
+ @region_code = args[:region_code] if args.key?(:region_code)
2459
+ end
2460
+ end
2461
+
2462
+ # A list of store code sets sharing the same minimum order value. At least two
2463
+ # sets are required and the last one must be empty, which signifies 'MOV for all
2464
+ # other stores'. Each store code can only appear once across all the sets. All
2465
+ # prices within a service must have the same currency.
2466
+ class StoreCodeSetWithMov
2467
+ include Google::Apis::Core::Hashable
2468
+
2469
+ # Optional. A list of unique store codes or empty for the catch all.
2470
+ # Corresponds to the JSON property `storeCodes`
2471
+ # @return [Array<String>]
2472
+ attr_accessor :store_codes
2473
+
2474
+ # The price represented as a number and currency.
2475
+ # Corresponds to the JSON property `value`
2476
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Price]
2477
+ attr_accessor :value
2478
+
2479
+ def initialize(**args)
2480
+ update!(**args)
2481
+ end
2482
+
2483
+ # Update properties of this object
2484
+ def update!(**args)
2485
+ @store_codes = args[:store_codes] if args.key?(:store_codes)
2486
+ @value = args[:value] if args.key?(:value)
2487
+ end
2488
+ end
2489
+
2490
+ # A list of stores your products are delivered from. This is only valid for the
2491
+ # local delivery shipment type.
2492
+ class StoreConfig
2493
+ include Google::Apis::Core::Hashable
2494
+
2495
+ # Configs related to local delivery ends for the day.
2496
+ # Corresponds to the JSON property `cutoffConfig`
2497
+ # @return [Google::Apis::MerchantapiAccountsV1beta::CutoffConfig]
2498
+ attr_accessor :cutoff_config
2499
+
2500
+ # Maximum delivery radius. This is only required for the local delivery shipment
2501
+ # type.
2502
+ # Corresponds to the JSON property `serviceRadius`
2503
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Distance]
2504
+ attr_accessor :service_radius
2505
+
2506
+ # Optional. A list of store codes that provide local delivery. If empty, then `
2507
+ # all_stores` must be true.
2508
+ # Corresponds to the JSON property `storeCodes`
2509
+ # @return [Array<String>]
2510
+ attr_accessor :store_codes
2511
+
2512
+ # Indicates whether all stores, or selected stores, listed by this merchant
2513
+ # provide local delivery.
2514
+ # Corresponds to the JSON property `storeServiceType`
2515
+ # @return [String]
2516
+ attr_accessor :store_service_type
2517
+
2518
+ def initialize(**args)
2519
+ update!(**args)
2520
+ end
2521
+
2522
+ # Update properties of this object
2523
+ def update!(**args)
2524
+ @cutoff_config = args[:cutoff_config] if args.key?(:cutoff_config)
2525
+ @service_radius = args[:service_radius] if args.key?(:service_radius)
2526
+ @store_codes = args[:store_codes] if args.key?(:store_codes)
2527
+ @store_service_type = args[:store_service_type] if args.key?(:store_service_type)
2528
+ end
2529
+ end
2530
+
2531
+ # A table defining the rate group, when `single_value` is not expressive enough.
2532
+ class Table
2533
+ include Google::Apis::Core::Hashable
2534
+
2535
+ # A non-empty list of row or column headers for a table. Exactly one of `prices`,
2536
+ # `weights`, `num_items`, `postal_code_group_names`, or `location` must be set.
2537
+ # Corresponds to the JSON property `columnHeaders`
2538
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Headers]
2539
+ attr_accessor :column_headers
2540
+
2541
+ # Name of the table. Required for subtables, ignored for the main table.
2542
+ # Corresponds to the JSON property `name`
2543
+ # @return [String]
2544
+ attr_accessor :name
2545
+
2546
+ # A non-empty list of row or column headers for a table. Exactly one of `prices`,
2547
+ # `weights`, `num_items`, `postal_code_group_names`, or `location` must be set.
2548
+ # Corresponds to the JSON property `rowHeaders`
2549
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Headers]
2550
+ attr_accessor :row_headers
2551
+
2552
+ # Required. The list of rows that constitute the table. Must have the same
2553
+ # length as `row_headers`.
2554
+ # Corresponds to the JSON property `rows`
2555
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::Row>]
2556
+ attr_accessor :rows
2557
+
2558
+ def initialize(**args)
2559
+ update!(**args)
2560
+ end
2561
+
2562
+ # Update properties of this object
2563
+ def update!(**args)
2564
+ @column_headers = args[:column_headers] if args.key?(:column_headers)
2565
+ @name = args[:name] if args.key?(:name)
2566
+ @row_headers = args[:row_headers] if args.key?(:row_headers)
2567
+ @rows = args[:rows] if args.key?(:rows)
2568
+ end
2569
+ end
2570
+
2571
+ # A range of postal codes that defines the area.
2572
+ class TaxPostalCodeRange
2573
+ include Google::Apis::Core::Hashable
2574
+
2575
+ # The end of the postal code range. Will be the same as start if not specified.
2576
+ # Corresponds to the JSON property `end`
2577
+ # @return [String]
2578
+ attr_accessor :end
2579
+
2580
+ # Required. The start of the postal code range, which is also the smallest in
2581
+ # the range.
2582
+ # Corresponds to the JSON property `start`
2583
+ # @return [String]
2584
+ attr_accessor :start
2585
+
2586
+ def initialize(**args)
2587
+ update!(**args)
2588
+ end
2589
+
2590
+ # Update properties of this object
2591
+ def update!(**args)
2592
+ @end = args[:end] if args.key?(:end)
2593
+ @start = args[:start] if args.key?(:start)
2594
+ end
2595
+ end
2596
+
2597
+ # Primary type convension percent micro : 100% = 1 000 000 and 1% = 10 000
2598
+ # cannot be negative. Information about tax nexus and related parameters
2599
+ # applicable to orders delivered to the area covered by a single tax admin.
2600
+ # Nexus is created when a merchant is doing business in an area administered by
2601
+ # tax admin (only US states are supported for nexus configuration). If merchant
2602
+ # has nexus in a US state, merchant needs to pay tax to all tax authorities
2603
+ # associated with the shipping destination. Next Id : 8
2604
+ class TaxRule
2605
+ include Google::Apis::Core::Hashable
2606
+
2607
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
2608
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
2609
+ # When the start equals the end, the interval is empty (matches no time). When
2610
+ # both start and end are unspecified, the interval matches any time.
2611
+ # Corresponds to the JSON property `effectiveTimePeriod`
2612
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Interval]
2613
+ attr_accessor :effective_time_period
2614
+
2615
+ # The admin_id or criteria_id of the region in which this rule is applicable.
2616
+ # Corresponds to the JSON property `locationId`
2617
+ # @return [Fixnum]
2618
+ attr_accessor :location_id
2619
+
2620
+ # A range of postal codes that defines the area.
2621
+ # Corresponds to the JSON property `postCodeRange`
2622
+ # @return [Google::Apis::MerchantapiAccountsV1beta::TaxPostalCodeRange]
2623
+ attr_accessor :post_code_range
2624
+
2625
+ # Region code in which this rule is applicable
2626
+ # Corresponds to the JSON property `regionCode`
2627
+ # @return [String]
2628
+ attr_accessor :region_code
2629
+
2630
+ # A fixed rate specified in micros, where 100% = 1_000_000. Suitable for origin-
2631
+ # based states.
2632
+ # Corresponds to the JSON property `selfSpecifiedRateMicros`
2633
+ # @return [Fixnum]
2634
+ attr_accessor :self_specified_rate_micros
2635
+
2636
+ # If set, shipping charge is taxed (at the same rate as product) when delivering
2637
+ # to this admin's area. Can only be set on US states without category.
2638
+ # Corresponds to the JSON property `shippingTaxed`
2639
+ # @return [Boolean]
2640
+ attr_accessor :shipping_taxed
2641
+ alias_method :shipping_taxed?, :shipping_taxed
2642
+
2643
+ # Rate that depends on delivery location: if merchant has a nexus in
2644
+ # corresponding US state, rates from authorities with jurisdiction over delivery
2645
+ # area are added up.
2646
+ # Corresponds to the JSON property `useGoogleRate`
2647
+ # @return [Boolean]
2648
+ attr_accessor :use_google_rate
2649
+ alias_method :use_google_rate?, :use_google_rate
2650
+
2651
+ def initialize(**args)
2652
+ update!(**args)
2653
+ end
2654
+
2655
+ # Update properties of this object
2656
+ def update!(**args)
2657
+ @effective_time_period = args[:effective_time_period] if args.key?(:effective_time_period)
2658
+ @location_id = args[:location_id] if args.key?(:location_id)
2659
+ @post_code_range = args[:post_code_range] if args.key?(:post_code_range)
2660
+ @region_code = args[:region_code] if args.key?(:region_code)
2661
+ @self_specified_rate_micros = args[:self_specified_rate_micros] if args.key?(:self_specified_rate_micros)
2662
+ @shipping_taxed = args[:shipping_taxed] if args.key?(:shipping_taxed)
2663
+ @use_google_rate = args[:use_google_rate] if args.key?(:use_google_rate)
2664
+ end
2665
+ end
2666
+
2667
+ # A `TermsOfService`.
2668
+ class TermsOfService
2669
+ include Google::Apis::Core::Hashable
2670
+
2671
+ # Whether this terms of service version is external. External terms of service
2672
+ # versions can only be agreed through external processes and not directly by the
2673
+ # merchant through UI or API.
2674
+ # Corresponds to the JSON property `external`
2675
+ # @return [Boolean]
2676
+ attr_accessor :external
2677
+ alias_method :external?, :external
2678
+
2679
+ # URI for terms of service file that needs to be displayed to signing users.
2680
+ # Corresponds to the JSON property `fileUri`
2681
+ # @return [String]
2682
+ attr_accessor :file_uri
2683
+
2684
+ # The Kind this terms of service version applies to.
2685
+ # Corresponds to the JSON property `kind`
2686
+ # @return [String]
2687
+ attr_accessor :kind
2688
+
2689
+ # Identifier. The resource name of the terms of service version. Format: `
2690
+ # termsOfService/`version``
2691
+ # Corresponds to the JSON property `name`
2692
+ # @return [String]
2693
+ attr_accessor :name
2694
+
2695
+ # Region code as defined by [CLDR](https://cldr.unicode.org/). This is either a
2696
+ # country where the ToS applies specifically to that country or `001` when the
2697
+ # same `TermsOfService` can be signed in any country. However note that when
2698
+ # signing a ToS that applies globally we still expect that a specific country is
2699
+ # provided (this should be merchant business country or program country of
2700
+ # participation).
2701
+ # Corresponds to the JSON property `regionCode`
2702
+ # @return [String]
2703
+ attr_accessor :region_code
2704
+
2705
+ def initialize(**args)
2706
+ update!(**args)
2707
+ end
2708
+
2709
+ # Update properties of this object
2710
+ def update!(**args)
2711
+ @external = args[:external] if args.key?(:external)
2712
+ @file_uri = args[:file_uri] if args.key?(:file_uri)
2713
+ @kind = args[:kind] if args.key?(:kind)
2714
+ @name = args[:name] if args.key?(:name)
2715
+ @region_code = args[:region_code] if args.key?(:region_code)
2716
+ end
2717
+ end
2718
+
2719
+ # This resource represents the agreement state for a given account and terms of
2720
+ # service kind. The state is as follows: * If the merchant has accepted a terms
2721
+ # of service: [accepted](TermsOfServiceAggrementState.accepted) will be
2722
+ # populated, otherwise it will be empty * If the merchant must sign a terms of
2723
+ # service: [required](TermsOfServiceAggrementState.required) will be populated,
2724
+ # otherwise it will be empty. Note that both [required](
2725
+ # TermsOfServiceAggrementState.required) and [accepted](
2726
+ # TermsOfServiceAggrementState.accepted) can be present. In this case the `
2727
+ # accepted` terms of services will have an expiration date set in the [
2728
+ # valid_until](Accepted.valid_until) field. The `required` terms of services
2729
+ # need to be accepted before `valid_until` in order for the account to continue
2730
+ # having a valid agreement. When accepting new terms of services we expect 3Ps
2731
+ # to display the text associated with the given terms of service agreement (the
2732
+ # url to the file containing the text is added in the Required message below as [
2733
+ # tos_file_uri](Accepted.tos_file_uri). The actual acceptance of the terms of
2734
+ # service is done by calling accept on the [TermsOfService](TermsOfService)
2735
+ # resource.
2736
+ class TermsOfServiceAgreementState
2737
+ include Google::Apis::Core::Hashable
2738
+
2739
+ # Describes the accepted terms of service.
2740
+ # Corresponds to the JSON property `accepted`
2741
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Accepted]
2742
+ attr_accessor :accepted
2743
+
2744
+ # Identifier. The resource name of the terms of service version. Format: `
2745
+ # accounts/`account`/termsOfServiceAgreementState/`identifier``
2746
+ # Corresponds to the JSON property `name`
2747
+ # @return [String]
2748
+ attr_accessor :name
2749
+
2750
+ # Region code as defined by https://cldr.unicode.org/. This is the country the
2751
+ # current state applies to.
2752
+ # Corresponds to the JSON property `regionCode`
2753
+ # @return [String]
2754
+ attr_accessor :region_code
2755
+
2756
+ # Describes the terms of service which are required to be accepted.
2757
+ # Corresponds to the JSON property `required`
2758
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Required]
2759
+ attr_accessor :required
2760
+
2761
+ # Terms of Service kind associated with the particular version.
2762
+ # Corresponds to the JSON property `termsOfServiceKind`
2763
+ # @return [String]
2764
+ attr_accessor :terms_of_service_kind
2765
+
2766
+ def initialize(**args)
2767
+ update!(**args)
2768
+ end
2769
+
2770
+ # Update properties of this object
2771
+ def update!(**args)
2772
+ @accepted = args[:accepted] if args.key?(:accepted)
2773
+ @name = args[:name] if args.key?(:name)
2774
+ @region_code = args[:region_code] if args.key?(:region_code)
2775
+ @required = args[:required] if args.key?(:required)
2776
+ @terms_of_service_kind = args[:terms_of_service_kind] if args.key?(:terms_of_service_kind)
2777
+ end
2778
+ end
2779
+
2780
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
2781
+ # time-zones).
2782
+ class TimeZone
2783
+ include Google::Apis::Core::Hashable
2784
+
2785
+ # IANA Time Zone Database time zone, e.g. "America/New_York".
2786
+ # Corresponds to the JSON property `id`
2787
+ # @return [String]
2788
+ attr_accessor :id
2789
+
2790
+ # Optional. IANA Time Zone Database version number, e.g. "2019a".
2791
+ # Corresponds to the JSON property `version`
2792
+ # @return [String]
2793
+ attr_accessor :version
2794
+
2795
+ def initialize(**args)
2796
+ update!(**args)
2797
+ end
2798
+
2799
+ # Update properties of this object
2800
+ def update!(**args)
2801
+ @id = args[:id] if args.key?(:id)
2802
+ @version = args[:version] if args.key?(:version)
2803
+ end
2804
+ end
2805
+
2806
+ # Transit time table, number of business days spent in transit based on row and
2807
+ # column dimensions. Either `min_transit_days`, `max_transit_days` or `
2808
+ # transit_time_table` can be set, but not both.
2809
+ class TransitTable
2810
+ include Google::Apis::Core::Hashable
2811
+
2812
+ # Required. A list of region names Region.name . The last value can be `"all
2813
+ # other locations"`. Example: `["zone 1", "zone 2", "all other locations"]`. The
2814
+ # referred postal code groups must match the delivery country of the service.
2815
+ # Corresponds to the JSON property `postalCodeGroupNames`
2816
+ # @return [Array<String>]
2817
+ attr_accessor :postal_code_group_names
2818
+
2819
+ # Required. If there's only one dimension set of `postal_code_group_names` or `
2820
+ # transit_time_labels`, there are multiple rows each with one value for that
2821
+ # dimension. If there are two dimensions, each row corresponds to a `
2822
+ # postal_code_group_names`, and columns (values) to a `transit_time_labels`.
2823
+ # Corresponds to the JSON property `rows`
2824
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::TransitTimeRow>]
2825
+ attr_accessor :rows
2826
+
2827
+ # Required. A list of transit time labels. The last value can be `"all other
2828
+ # labels"`. Example: `["food", "electronics", "all other labels"]`.
2829
+ # Corresponds to the JSON property `transitTimeLabels`
2830
+ # @return [Array<String>]
2831
+ attr_accessor :transit_time_labels
2832
+
2833
+ def initialize(**args)
2834
+ update!(**args)
2835
+ end
2836
+
2837
+ # Update properties of this object
2838
+ def update!(**args)
2839
+ @postal_code_group_names = args[:postal_code_group_names] if args.key?(:postal_code_group_names)
2840
+ @rows = args[:rows] if args.key?(:rows)
2841
+ @transit_time_labels = args[:transit_time_labels] if args.key?(:transit_time_labels)
2842
+ end
2843
+ end
2844
+
2845
+ # If there's only one dimension set of `postal_code_group_names` or `
2846
+ # transit_time_labels`, there are multiple rows each with one value for that
2847
+ # dimension. If there are two dimensions, each row corresponds to a `
2848
+ # postal_code_group_names`, and columns (values) to a `transit_time_labels`.
2849
+ class TransitTimeRow
2850
+ include Google::Apis::Core::Hashable
2851
+
2852
+ # Required. Transit time range (min-max) in business days.
2853
+ # Corresponds to the JSON property `values`
2854
+ # @return [Array<Google::Apis::MerchantapiAccountsV1beta::TransitTimeValue>]
2855
+ attr_accessor :values
2856
+
2857
+ def initialize(**args)
2858
+ update!(**args)
2859
+ end
2860
+
2861
+ # Update properties of this object
2862
+ def update!(**args)
2863
+ @values = args[:values] if args.key?(:values)
2864
+ end
2865
+ end
2866
+
2867
+ # Transit time range (min-max) in business days.
2868
+ class TransitTimeValue
2869
+ include Google::Apis::Core::Hashable
2870
+
2871
+ # Must be greater than or equal to `min_transit_days`.
2872
+ # Corresponds to the JSON property `maxTransitDays`
2873
+ # @return [Fixnum]
2874
+ attr_accessor :max_transit_days
2875
+
2876
+ # Minimum transit time range in business days. 0 means same day delivery, 1
2877
+ # means next day delivery.
2878
+ # Corresponds to the JSON property `minTransitDays`
2879
+ # @return [Fixnum]
2880
+ attr_accessor :min_transit_days
2881
+
2882
+ def initialize(**args)
2883
+ update!(**args)
2884
+ end
2885
+
2886
+ # Update properties of this object
2887
+ def update!(**args)
2888
+ @max_transit_days = args[:max_transit_days] if args.key?(:max_transit_days)
2889
+ @min_transit_days = args[:min_transit_days] if args.key?(:min_transit_days)
2890
+ end
2891
+ end
2892
+
2893
+ # Request message for the `UnclaimHomepage` method.
2894
+ class UnclaimHomepageRequest
2895
+ include Google::Apis::Core::Hashable
2896
+
2897
+ def initialize(**args)
2898
+ update!(**args)
2899
+ end
2900
+
2901
+ # Update properties of this object
2902
+ def update!(**args)
2903
+ end
2904
+ end
2905
+
2906
+ # A [user](https://support.google.com/merchants/answer/12160472).
2907
+ class User
2908
+ include Google::Apis::Core::Hashable
2909
+
2910
+ # Optional. The [access rights](https://support.google.com/merchants/answer/
2911
+ # 12160472?sjid=6789834943175119429-EU#accesstypes) the user has.
2912
+ # Corresponds to the JSON property `accessRights`
2913
+ # @return [Array<String>]
2914
+ attr_accessor :access_rights
2915
+
2916
+ # Identifier. The resource name of the user. Format: `accounts/`account`/user/`
2917
+ # email`` Use `me` to refer to your own email address, for example `accounts/`
2918
+ # account`/users/me`.
2919
+ # Corresponds to the JSON property `name`
2920
+ # @return [String]
2921
+ attr_accessor :name
2922
+
2923
+ # Output only. The state of the user.
2924
+ # Corresponds to the JSON property `state`
2925
+ # @return [String]
2926
+ attr_accessor :state
2927
+
2928
+ def initialize(**args)
2929
+ update!(**args)
2930
+ end
2931
+
2932
+ # Update properties of this object
2933
+ def update!(**args)
2934
+ @access_rights = args[:access_rights] if args.key?(:access_rights)
2935
+ @name = args[:name] if args.key?(:name)
2936
+ @state = args[:state] if args.key?(:state)
2937
+ end
2938
+ end
2939
+
2940
+ # The single value of a rate group or the value of a rate group table's cell.
2941
+ # Exactly one of `no_shipping`, `flat_rate`, `price_percentage`, `
2942
+ # carrier_rateName`, `subtable_name` must be set.
2943
+ class Value
2944
+ include Google::Apis::Core::Hashable
2945
+
2946
+ # The name of a carrier rate referring to a carrier rate defined in the same
2947
+ # rate group. Can only be set if all other fields are not set.
2948
+ # Corresponds to the JSON property `carrierRate`
2949
+ # @return [String]
2950
+ attr_accessor :carrier_rate
2951
+
2952
+ # The price represented as a number and currency.
2953
+ # Corresponds to the JSON property `flatRate`
2954
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Price]
2955
+ attr_accessor :flat_rate
2956
+
2957
+ # If true, then the product can't be shipped. Must be true when set, can only be
2958
+ # set if all other fields are not set.
2959
+ # Corresponds to the JSON property `noShipping`
2960
+ # @return [Boolean]
2961
+ attr_accessor :no_shipping
2962
+ alias_method :no_shipping?, :no_shipping
2963
+
2964
+ # A percentage of the price represented as a number in decimal notation (For
2965
+ # example, `"5.4"`). Can only be set if all other fields are not set.
2966
+ # Corresponds to the JSON property `pricePercentage`
2967
+ # @return [String]
2968
+ attr_accessor :price_percentage
2969
+
2970
+ # The name of a subtable. Can only be set in table cells (For example, not for
2971
+ # single values), and only if all other fields are not set.
2972
+ # Corresponds to the JSON property `subtable`
2973
+ # @return [String]
2974
+ attr_accessor :subtable
2975
+
2976
+ def initialize(**args)
2977
+ update!(**args)
2978
+ end
2979
+
2980
+ # Update properties of this object
2981
+ def update!(**args)
2982
+ @carrier_rate = args[:carrier_rate] if args.key?(:carrier_rate)
2983
+ @flat_rate = args[:flat_rate] if args.key?(:flat_rate)
2984
+ @no_shipping = args[:no_shipping] if args.key?(:no_shipping)
2985
+ @price_percentage = args[:price_percentage] if args.key?(:price_percentage)
2986
+ @subtable = args[:subtable] if args.key?(:subtable)
2987
+ end
2988
+ end
2989
+
2990
+ # A fulfillment warehouse, which stores and handles inventory. Next tag: 7
2991
+ class Warehouse
2992
+ include Google::Apis::Core::Hashable
2993
+
2994
+ # Business days of the warehouse.
2995
+ # Corresponds to the JSON property `businessDayConfig`
2996
+ # @return [Google::Apis::MerchantapiAccountsV1beta::BusinessDayConfig]
2997
+ attr_accessor :business_day_config
2998
+
2999
+ # The latest time of day that an order can be accepted and begin processing.
3000
+ # Later orders will be processed in the next day. The time is based on the
3001
+ # warehouse postal code.
3002
+ # Corresponds to the JSON property `cutoffTime`
3003
+ # @return [Google::Apis::MerchantapiAccountsV1beta::WarehouseCutoffTime]
3004
+ attr_accessor :cutoff_time
3005
+
3006
+ # Required. The number of days it takes for this warehouse to pack up and ship
3007
+ # an item. This is on the warehouse level, but can be overridden on the offer
3008
+ # level based on the attributes of an item.
3009
+ # Corresponds to the JSON property `handlingDays`
3010
+ # @return [Fixnum]
3011
+ attr_accessor :handling_days
3012
+
3013
+ # Required. The name of the warehouse. Must be unique within account.
3014
+ # Corresponds to the JSON property `name`
3015
+ # @return [String]
3016
+ attr_accessor :name
3017
+
3018
+ # Shipping address of the warehouse.
3019
+ # Corresponds to the JSON property `shippingAddress`
3020
+ # @return [Google::Apis::MerchantapiAccountsV1beta::Address]
3021
+ attr_accessor :shipping_address
3022
+
3023
+ def initialize(**args)
3024
+ update!(**args)
3025
+ end
3026
+
3027
+ # Update properties of this object
3028
+ def update!(**args)
3029
+ @business_day_config = args[:business_day_config] if args.key?(:business_day_config)
3030
+ @cutoff_time = args[:cutoff_time] if args.key?(:cutoff_time)
3031
+ @handling_days = args[:handling_days] if args.key?(:handling_days)
3032
+ @name = args[:name] if args.key?(:name)
3033
+ @shipping_address = args[:shipping_address] if args.key?(:shipping_address)
3034
+ end
3035
+ end
3036
+
3037
+ # Indicates that the delivery time should be calculated per warehouse (shipping
3038
+ # origin location) based on the settings of the selected carrier. When set, no
3039
+ # other transit time related field in `delivery_time` should be set.
3040
+ class WarehouseBasedDeliveryTime
3041
+ include Google::Apis::Core::Hashable
3042
+
3043
+ # Required. Carrier, such as `"UPS"` or `"Fedex"`.
3044
+ # Corresponds to the JSON property `carrier`
3045
+ # @return [String]
3046
+ attr_accessor :carrier
3047
+
3048
+ # Required. Carrier service, such as `"ground"` or `"2 days"`. The name of the
3049
+ # service must be in the eddSupportedServices list.
3050
+ # Corresponds to the JSON property `carrierService`
3051
+ # @return [String]
3052
+ attr_accessor :carrier_service
3053
+
3054
+ # Required. Warehouse name. This should match warehouse
3055
+ # Corresponds to the JSON property `warehouse`
3056
+ # @return [String]
3057
+ attr_accessor :warehouse
3058
+
3059
+ def initialize(**args)
3060
+ update!(**args)
3061
+ end
3062
+
3063
+ # Update properties of this object
3064
+ def update!(**args)
3065
+ @carrier = args[:carrier] if args.key?(:carrier)
3066
+ @carrier_service = args[:carrier_service] if args.key?(:carrier_service)
3067
+ @warehouse = args[:warehouse] if args.key?(:warehouse)
3068
+ end
3069
+ end
3070
+
3071
+ # The latest time of day that an order can be accepted and begin processing.
3072
+ # Later orders will be processed in the next day. The time is based on the
3073
+ # warehouse postal code.
3074
+ class WarehouseCutoffTime
3075
+ include Google::Apis::Core::Hashable
3076
+
3077
+ # Required. Hour of the cutoff time until which an order has to be placed to be
3078
+ # processed in the same day by the warehouse. Hour is based on the timezone of
3079
+ # warehouse.
3080
+ # Corresponds to the JSON property `hour`
3081
+ # @return [Fixnum]
3082
+ attr_accessor :hour
3083
+
3084
+ # Required. Minute of the cutoff time until which an order has to be placed to
3085
+ # be processed in the same day by the warehouse. Minute is based on the timezone
3086
+ # of warehouse.
3087
+ # Corresponds to the JSON property `minute`
3088
+ # @return [Fixnum]
3089
+ attr_accessor :minute
3090
+
3091
+ def initialize(**args)
3092
+ update!(**args)
3093
+ end
3094
+
3095
+ # Update properties of this object
3096
+ def update!(**args)
3097
+ @hour = args[:hour] if args.key?(:hour)
3098
+ @minute = args[:minute] if args.key?(:minute)
3099
+ end
3100
+ end
3101
+
3102
+ # The weight represented as the value in string and the unit.
3103
+ class Weight
3104
+ include Google::Apis::Core::Hashable
3105
+
3106
+ # Required. The weight represented as a number in micros (1 million micros is an
3107
+ # equivalent to one's currency standard unit, for example, 1 kg = 1000000 micros)
3108
+ # . This field can also be set as infinity by setting to -1. This field only
3109
+ # support -1 and positive value.
3110
+ # Corresponds to the JSON property `amountMicros`
3111
+ # @return [Fixnum]
3112
+ attr_accessor :amount_micros
3113
+
3114
+ # Required. The weight unit. Acceptable values are: kg and lb
3115
+ # Corresponds to the JSON property `unit`
3116
+ # @return [String]
3117
+ attr_accessor :unit
3118
+
3119
+ def initialize(**args)
3120
+ update!(**args)
3121
+ end
3122
+
3123
+ # Update properties of this object
3124
+ def update!(**args)
3125
+ @amount_micros = args[:amount_micros] if args.key?(:amount_micros)
3126
+ @unit = args[:unit] if args.key?(:unit)
3127
+ end
3128
+ end
3129
+ end
3130
+ end
3131
+ end