diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accessright.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accessright.php
new file mode 100644
index 000000000000..fb5fc5530adb
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accessright.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/AccountTax.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/AccountTax.php
new file mode 100644
index 000000000000..813982eba941
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/AccountTax.php
@@ -0,0 +1,58 @@
+internalAddGeneratedFile(
+ '
+“
+:google/shopping/merchant/accounts/v1beta/account_tax.proto(google.shopping.merchant.accounts.v1betagoogle/api/client.protogoogle/api/field_behavior.protogoogle/api/resource.proto google/protobuf/field_mask.proto7google/shopping/merchant/accounts/v1beta/tax_rule.proto"æ
+
+AccountTax
+name ( BàA
+account (BàAD
+ tax_rules (21.google.shopping.merchant.accounts.v1beta.TaxRule:iêAf
+%merchantapi.googleapis.com/AccountTax#accounts/{account}/accounttax/{tax}*accountTaxes2
+accountTax"S
+GetAccountTaxRequest;
+name ( B-àAúA\'
+%merchantapi.googleapis.com/AccountTax"š
+UpdateAccountTaxRequestN
+account_tax (24.google.shopping.merchant.accounts.v1beta.AccountTaxBàA/
+update_mask (2.google.protobuf.FieldMask"}
+ListAccountTaxRequest=
+parent ( B-àAúA\'%merchantapi.googleapis.com/AccountTax
+ page_size (
+
+page_token ( "~
+ListAccountTaxResponseK
+
account_taxes (24.google.shopping.merchant.accounts.v1beta.AccountTax
+next_page_token ( 2„
+AccountTaxServiceÅ
+
GetAccountTax>.google.shopping.merchant.accounts.v1beta.GetAccountTaxRequest4.google.shopping.merchant.accounts.v1beta.AccountTax">ÚAname‚Óä“1//accounts/v1beta/{name=accounts/*/accounttax/*}Õ
+ListAccountTax?.google.shopping.merchant.accounts.v1beta.ListAccountTaxRequest@.google.shopping.merchant.accounts.v1beta.ListAccountTaxResponse"@ÚAparent‚Óä“1//accounts/v1beta/{parent=accounts/*}/accounttax…
+UpdateAccountTaxA.google.shopping.merchant.accounts.v1beta.UpdateAccountTaxRequest4.google.shopping.merchant.accounts.v1beta.AccountTax"xÚAaccount_tax,update_maskÚAaccount_tax‚Óä“J2;/accounts/v1beta/{account_tax.name=accounts/*/accounttax/*}:account_taxGÊAmerchantapi.googleapis.comÒA\'https://www.googleapis.com/auth/contentB‘
+,com.google.shopping.merchant.accounts.v1betaBAccountTaxProtoPZNcloud.google.com/go/shopping/merchant/accounts/apiv1beta/accountspb;accountspbbproto3'
+ , true);
+
+ static::$is_initialized = true;
+ }
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accountissue.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accountissue.php
new file mode 100644
index 000000000000..82ca0791b17d
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accountissue.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accounts.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accounts.php
new file mode 100644
index 000000000000..354651f52922
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accounts.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accountservices.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accountservices.php
new file mode 100644
index 000000000000..813e9a69f457
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Accountservices.php
@@ -0,0 +1,32 @@
+internalAddGeneratedFile(
+ '
+ö
+>google/shopping/merchant/accounts/v1beta/accountservices.proto(google.shopping.merchant.accounts.v1betagoogle/api/client.protogoogle/api/field_behavior.protogoogle/api/resource.proto"
+AccountAggregationB–
+,com.google.shopping.merchant.accounts.v1betaBAccountServicesProtoPZNcloud.google.com/go/shopping/merchant/accounts/apiv1beta/accountspb;accountspbbproto3'
+ , true);
+
+ static::$is_initialized = true;
+ }
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Autofeedsettings.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Autofeedsettings.php
new file mode 100644
index 000000000000..516b6e93c71c
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Autofeedsettings.php
@@ -0,0 +1,46 @@
+internalAddGeneratedFile(
+ '
+×
+?google/shopping/merchant/accounts/v1beta/autofeedsettings.proto(google.shopping.merchant.accounts.v1betagoogle/api/client.protogoogle/api/field_behavior.protogoogle/api/resource.proto google/protobuf/field_mask.proto"Õ
+AutofeedSettings
+name ( BàA
+enable_products (BàA
+eligible (BàA:yêAv
++merchantapi.googleapis.com/AutofeedSettings#accounts/{account}/autofeedSettings*autofeedSettings2autofeedSettings"_
+GetAutofeedSettingsRequestA
+name ( B3àAúA-
++merchantapi.googleapis.com/AutofeedSettings"±
+UpdateAutofeedSettingsRequestZ
+autofeed_settings (2:.google.shopping.merchant.accounts.v1beta.AutofeedSettingsBàA4
+update_mask (2.google.protobuf.FieldMaskBàA2ã
+AutofeedSettingsServiceÛ
+GetAutofeedSettingsD.google.shopping.merchant.accounts.v1beta.GetAutofeedSettingsRequest:.google.shopping.merchant.accounts.v1beta.AutofeedSettings"BÚAname‚Óä“53/accounts/v1beta/{name=accounts/*/autofeedSettings}
+UpdateAutofeedSettingsG.google.shopping.merchant.accounts.v1beta.UpdateAutofeedSettingsRequest:.google.shopping.merchant.accounts.v1beta.AutofeedSettings"€ÚAautofeed_settings,update_mask‚Óä“Z2E/accounts/v1beta/{autofeed_settings.name=accounts/*/autofeedSettings}:autofeed_settingsGÊAmerchantapi.googleapis.comÒA\'https://www.googleapis.com/auth/contentB—
+,com.google.shopping.merchant.accounts.v1betaBAutofeedSettingsProtoPZNcloud.google.com/go/shopping/merchant/accounts/apiv1beta/accountspb;accountspbbproto3'
+ , true);
+
+ static::$is_initialized = true;
+ }
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Businessidentity.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Businessidentity.php
new file mode 100644
index 000000000000..0edf20edd130
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Businessidentity.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Businessinfo.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Businessinfo.php
new file mode 100644
index 000000000000..a5dec7fe84d9
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Businessinfo.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Customerservice.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Customerservice.php
new file mode 100644
index 000000000000..486de878948c
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Customerservice.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Emailpreferences.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Emailpreferences.php
new file mode 100644
index 000000000000..9300700c0a36
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Emailpreferences.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Homepage.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Homepage.php
new file mode 100644
index 000000000000..17f59c6b82b0
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Homepage.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/OnlineReturnPolicy.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/OnlineReturnPolicy.php
new file mode 100644
index 000000000000..6a1d13044dcd
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/OnlineReturnPolicy.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Phoneverificationstate.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Phoneverificationstate.php
new file mode 100644
index 000000000000..97dea70ede8e
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Phoneverificationstate.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Programs.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Programs.php
new file mode 100644
index 000000000000..64938f2978cb
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Programs.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Regions.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Regions.php
new file mode 100644
index 000000000000..10ba3bb84245
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Regions.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Shippingsettings.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Shippingsettings.php
new file mode 100644
index 000000000000..d157f2c09c7f
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Shippingsettings.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/TaxRule.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/TaxRule.php
new file mode 100644
index 000000000000..295a92a7e65e
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/TaxRule.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Termsofservice.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Termsofservice.php
new file mode 100644
index 000000000000..5aa84ccd21b4
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Termsofservice.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Termsofserviceagreementstate.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Termsofserviceagreementstate.php
new file mode 100644
index 000000000000..b07790f94bd9
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Termsofserviceagreementstate.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Termsofservicekind.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Termsofservicekind.php
new file mode 100644
index 000000000000..ae647842c836
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/Termsofservicekind.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/User.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/User.php
new file mode 100644
index 000000000000..4c14c78b98b0
Binary files /dev/null and b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/GPBMetadata/Google/Shopping/Merchant/Accounts/V1Beta/User.php differ
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AcceptTermsOfServiceRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AcceptTermsOfServiceRequest.php
new file mode 100644
index 000000000000..a6142644d651
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AcceptTermsOfServiceRequest.php
@@ -0,0 +1,162 @@
+google.shopping.merchant.accounts.v1beta.AcceptTermsOfServiceRequest
+ */
+class AcceptTermsOfServiceRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+ /**
+ * Required. The account for which to accept the ToS.
+ *
+ * Generated from protobuf field string account = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $account = '';
+ /**
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This
+ * is either a country when the ToS applies specifically to that country or
+ * 001 when it applies globally.
+ *
+ * Generated from protobuf field string region_code = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $region_code = '';
+
+ /**
+ * @param string $name Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ * Please see {@see TermsOfServiceServiceClient::termsOfServiceName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\AcceptTermsOfServiceRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ * @type string $account
+ * Required. The account for which to accept the ToS.
+ * @type string $region_code
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This
+ * is either a country when the ToS applies specifically to that country or
+ * 001 when it applies globally.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Termsofservice::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The account for which to accept the ToS.
+ *
+ * Generated from protobuf field string account = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getAccount()
+ {
+ return $this->account;
+ }
+
+ /**
+ * Required. The account for which to accept the ToS.
+ *
+ * Generated from protobuf field string account = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setAccount($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->account = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This
+ * is either a country when the ToS applies specifically to that country or
+ * 001 when it applies globally.
+ *
+ * Generated from protobuf field string region_code = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getRegionCode()
+ {
+ return $this->region_code;
+ }
+
+ /**
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This
+ * is either a country when the ToS applies specifically to that country or
+ * 001 when it applies globally.
+ *
+ * Generated from protobuf field string region_code = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_code = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Accepted.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Accepted.php
new file mode 100644
index 000000000000..2ec74d8c5d25
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Accepted.php
@@ -0,0 +1,173 @@
+google.shopping.merchant.accounts.v1beta.Accepted
+ */
+class Accepted extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The accepted
+ * [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService).
+ *
+ * Generated from protobuf field string terms_of_service = 1 [(.google.api.resource_reference) = {
+ */
+ protected $terms_of_service = '';
+ /**
+ * The account where the acceptance was recorded. This can be the account
+ * itself or, in the case of subaccounts, the MCA account.
+ *
+ * Generated from protobuf field string accepted_by = 2 [(.google.api.resource_reference) = {
+ */
+ protected $accepted_by = '';
+ /**
+ * When set, it states that the accepted
+ * [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * is only valid until the end of this date (in UTC). A new one must be
+ * accepted before then. The information of the required
+ * [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * is found in the [Required](Required) message.
+ *
+ * Generated from protobuf field optional .google.type.Date valid_until = 3;
+ */
+ protected $valid_until = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $terms_of_service
+ * The accepted
+ * [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService).
+ * @type string $accepted_by
+ * The account where the acceptance was recorded. This can be the account
+ * itself or, in the case of subaccounts, the MCA account.
+ * @type \Google\Type\Date $valid_until
+ * When set, it states that the accepted
+ * [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * is only valid until the end of this date (in UTC). A new one must be
+ * accepted before then. The information of the required
+ * [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * is found in the [Required](Required) message.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Termsofserviceagreementstate::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The accepted
+ * [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService).
+ *
+ * Generated from protobuf field string terms_of_service = 1 [(.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getTermsOfService()
+ {
+ return $this->terms_of_service;
+ }
+
+ /**
+ * The accepted
+ * [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService).
+ *
+ * Generated from protobuf field string terms_of_service = 1 [(.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setTermsOfService($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->terms_of_service = $var;
+
+ return $this;
+ }
+
+ /**
+ * The account where the acceptance was recorded. This can be the account
+ * itself or, in the case of subaccounts, the MCA account.
+ *
+ * Generated from protobuf field string accepted_by = 2 [(.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getAcceptedBy()
+ {
+ return $this->accepted_by;
+ }
+
+ /**
+ * The account where the acceptance was recorded. This can be the account
+ * itself or, in the case of subaccounts, the MCA account.
+ *
+ * Generated from protobuf field string accepted_by = 2 [(.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setAcceptedBy($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->accepted_by = $var;
+
+ return $this;
+ }
+
+ /**
+ * When set, it states that the accepted
+ * [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * is only valid until the end of this date (in UTC). A new one must be
+ * accepted before then. The information of the required
+ * [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * is found in the [Required](Required) message.
+ *
+ * Generated from protobuf field optional .google.type.Date valid_until = 3;
+ * @return \Google\Type\Date|null
+ */
+ public function getValidUntil()
+ {
+ return $this->valid_until;
+ }
+
+ public function hasValidUntil()
+ {
+ return isset($this->valid_until);
+ }
+
+ public function clearValidUntil()
+ {
+ unset($this->valid_until);
+ }
+
+ /**
+ * When set, it states that the accepted
+ * [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * is only valid until the end of this date (in UTC). A new one must be
+ * accepted before then. The information of the required
+ * [TermsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * is found in the [Required](Required) message.
+ *
+ * Generated from protobuf field optional .google.type.Date valid_until = 3;
+ * @param \Google\Type\Date $var
+ * @return $this
+ */
+ public function setValidUntil($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Type\Date::class);
+ $this->valid_until = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccessRight.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccessRight.php
new file mode 100644
index 000000000000..6cf7167d2f5d
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccessRight.php
@@ -0,0 +1,68 @@
+google.shopping.merchant.accounts.v1beta.AccessRight
+ */
+class AccessRight
+{
+ /**
+ * Default value. This value is unused.
+ *
+ * Generated from protobuf enum ACCESS_RIGHT_UNSPECIFIED = 0;
+ */
+ const ACCESS_RIGHT_UNSPECIFIED = 0;
+ /**
+ * Standard access rights.
+ *
+ * Generated from protobuf enum STANDARD = 1;
+ */
+ const STANDARD = 1;
+ /**
+ * Admin access rights.
+ *
+ * Generated from protobuf enum ADMIN = 2;
+ */
+ const ADMIN = 2;
+ /**
+ * Users with this right have access to performance and insights.
+ *
+ * Generated from protobuf enum PERFORMANCE_REPORTING = 3;
+ */
+ const PERFORMANCE_REPORTING = 3;
+
+ private static $valueToName = [
+ self::ACCESS_RIGHT_UNSPECIFIED => 'ACCESS_RIGHT_UNSPECIFIED',
+ self::STANDARD => 'STANDARD',
+ self::ADMIN => 'ADMIN',
+ self::PERFORMANCE_REPORTING => 'PERFORMANCE_REPORTING',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Account.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Account.php
new file mode 100644
index 000000000000..837ebd359d18
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Account.php
@@ -0,0 +1,317 @@
+google.shopping.merchant.accounts.v1beta.Account
+ */
+class Account extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the account.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Output only. The ID of the account.
+ *
+ * Generated from protobuf field int64 account_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $account_id = 0;
+ /**
+ * Required. A human-readable name of the account. See
+ * [store name](https://support.google.com/merchants/answer/160556) and
+ * [business name](https://support.google.com/merchants/answer/12159159) for
+ * more information.
+ *
+ * Generated from protobuf field string account_name = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $account_name = '';
+ /**
+ * Whether this account contains adult content.
+ *
+ * Generated from protobuf field bool adult_content = 4;
+ */
+ protected $adult_content = false;
+ /**
+ * Output only. Whether this is a test account.
+ *
+ * Generated from protobuf field bool test_account = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $test_account = false;
+ /**
+ * Required. The time zone of the account.
+ * On writes, `time_zone` sets both the `reporting_time_zone` and the
+ * `display_time_zone`.
+ * For reads, `time_zone` always returns the `display_time_zone`. If
+ * `display_time_zone` doesn't exist for your account, `time_zone` is empty.
+ *
+ * Generated from protobuf field .google.type.TimeZone time_zone = 6 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $time_zone = null;
+ /**
+ * Required. The account's [BCP-47 language
+ * code](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`.
+ *
+ * Generated from protobuf field string language_code = 7 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $language_code = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the account.
+ * Format: `accounts/{account}`
+ * @type int|string $account_id
+ * Output only. The ID of the account.
+ * @type string $account_name
+ * Required. A human-readable name of the account. See
+ * [store name](https://support.google.com/merchants/answer/160556) and
+ * [business name](https://support.google.com/merchants/answer/12159159) for
+ * more information.
+ * @type bool $adult_content
+ * Whether this account contains adult content.
+ * @type bool $test_account
+ * Output only. Whether this is a test account.
+ * @type \Google\Type\TimeZone $time_zone
+ * Required. The time zone of the account.
+ * On writes, `time_zone` sets both the `reporting_time_zone` and the
+ * `display_time_zone`.
+ * For reads, `time_zone` always returns the `display_time_zone`. If
+ * `display_time_zone` doesn't exist for your account, `time_zone` is empty.
+ * @type string $language_code
+ * Required. The account's [BCP-47 language
+ * code](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the account.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the account.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The ID of the account.
+ *
+ * Generated from protobuf field int64 account_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int|string
+ */
+ public function getAccountId()
+ {
+ return $this->account_id;
+ }
+
+ /**
+ * Output only. The ID of the account.
+ *
+ * Generated from protobuf field int64 account_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int|string $var
+ * @return $this
+ */
+ public function setAccountId($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->account_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. A human-readable name of the account. See
+ * [store name](https://support.google.com/merchants/answer/160556) and
+ * [business name](https://support.google.com/merchants/answer/12159159) for
+ * more information.
+ *
+ * Generated from protobuf field string account_name = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getAccountName()
+ {
+ return $this->account_name;
+ }
+
+ /**
+ * Required. A human-readable name of the account. See
+ * [store name](https://support.google.com/merchants/answer/160556) and
+ * [business name](https://support.google.com/merchants/answer/12159159) for
+ * more information.
+ *
+ * Generated from protobuf field string account_name = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setAccountName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->account_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Whether this account contains adult content.
+ *
+ * Generated from protobuf field bool adult_content = 4;
+ * @return bool
+ */
+ public function getAdultContent()
+ {
+ return $this->adult_content;
+ }
+
+ /**
+ * Whether this account contains adult content.
+ *
+ * Generated from protobuf field bool adult_content = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setAdultContent($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->adult_content = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Whether this is a test account.
+ *
+ * Generated from protobuf field bool test_account = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return bool
+ */
+ public function getTestAccount()
+ {
+ return $this->test_account;
+ }
+
+ /**
+ * Output only. Whether this is a test account.
+ *
+ * Generated from protobuf field bool test_account = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param bool $var
+ * @return $this
+ */
+ public function setTestAccount($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->test_account = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The time zone of the account.
+ * On writes, `time_zone` sets both the `reporting_time_zone` and the
+ * `display_time_zone`.
+ * For reads, `time_zone` always returns the `display_time_zone`. If
+ * `display_time_zone` doesn't exist for your account, `time_zone` is empty.
+ *
+ * Generated from protobuf field .google.type.TimeZone time_zone = 6 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Type\TimeZone|null
+ */
+ public function getTimeZone()
+ {
+ return $this->time_zone;
+ }
+
+ public function hasTimeZone()
+ {
+ return isset($this->time_zone);
+ }
+
+ public function clearTimeZone()
+ {
+ unset($this->time_zone);
+ }
+
+ /**
+ * Required. The time zone of the account.
+ * On writes, `time_zone` sets both the `reporting_time_zone` and the
+ * `display_time_zone`.
+ * For reads, `time_zone` always returns the `display_time_zone`. If
+ * `display_time_zone` doesn't exist for your account, `time_zone` is empty.
+ *
+ * Generated from protobuf field .google.type.TimeZone time_zone = 6 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Type\TimeZone $var
+ * @return $this
+ */
+ public function setTimeZone($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Type\TimeZone::class);
+ $this->time_zone = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The account's [BCP-47 language
+ * code](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`.
+ *
+ * Generated from protobuf field string language_code = 7 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getLanguageCode()
+ {
+ return $this->language_code;
+ }
+
+ /**
+ * Required. The account's [BCP-47 language
+ * code](https://tools.ietf.org/html/bcp47), such as `en-US` or `sr-Latn`.
+ *
+ * Generated from protobuf field string language_code = 7 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->language_code = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountAggregation.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountAggregation.php
new file mode 100644
index 000000000000..1a509efda3b6
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountAggregation.php
@@ -0,0 +1,33 @@
+google.shopping.merchant.accounts.v1beta.AccountAggregation
+ */
+class AccountAggregation extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accountservices::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue.php
new file mode 100644
index 000000000000..843b2b7559d2
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue.php
@@ -0,0 +1,246 @@
+google.shopping.merchant.accounts.v1beta.AccountIssue
+ */
+class AccountIssue extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the account issue.
+ * Format: `accounts/{account}/issues/{id}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * The localized title of the issue.
+ *
+ * Generated from protobuf field string title = 2;
+ */
+ protected $title = '';
+ /**
+ * The overall severity of the issue.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountIssue.Severity severity = 3;
+ */
+ protected $severity = 0;
+ /**
+ * The impact this issue has on various destinations.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountIssue.ImpactedDestination impacted_destinations = 4;
+ */
+ private $impacted_destinations;
+ /**
+ * Further localized details about the issue.
+ *
+ * Generated from protobuf field string detail = 5;
+ */
+ protected $detail = '';
+ /**
+ * Link to Merchant Center Help Center providing further information about the
+ * issue and how to fix it.
+ *
+ * Generated from protobuf field string documentation_uri = 6;
+ */
+ protected $documentation_uri = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the account issue.
+ * Format: `accounts/{account}/issues/{id}`
+ * @type string $title
+ * The localized title of the issue.
+ * @type int $severity
+ * The overall severity of the issue.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\AccountIssue\ImpactedDestination>|\Google\Protobuf\Internal\RepeatedField $impacted_destinations
+ * The impact this issue has on various destinations.
+ * @type string $detail
+ * Further localized details about the issue.
+ * @type string $documentation_uri
+ * Link to Merchant Center Help Center providing further information about the
+ * issue and how to fix it.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accountissue::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the account issue.
+ * Format: `accounts/{account}/issues/{id}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the account issue.
+ * Format: `accounts/{account}/issues/{id}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * The localized title of the issue.
+ *
+ * Generated from protobuf field string title = 2;
+ * @return string
+ */
+ public function getTitle()
+ {
+ return $this->title;
+ }
+
+ /**
+ * The localized title of the issue.
+ *
+ * Generated from protobuf field string title = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setTitle($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->title = $var;
+
+ return $this;
+ }
+
+ /**
+ * The overall severity of the issue.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountIssue.Severity severity = 3;
+ * @return int
+ */
+ public function getSeverity()
+ {
+ return $this->severity;
+ }
+
+ /**
+ * The overall severity of the issue.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountIssue.Severity severity = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setSeverity($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\AccountIssue\Severity::class);
+ $this->severity = $var;
+
+ return $this;
+ }
+
+ /**
+ * The impact this issue has on various destinations.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountIssue.ImpactedDestination impacted_destinations = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getImpactedDestinations()
+ {
+ return $this->impacted_destinations;
+ }
+
+ /**
+ * The impact this issue has on various destinations.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountIssue.ImpactedDestination impacted_destinations = 4;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\AccountIssue\ImpactedDestination>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setImpactedDestinations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\AccountIssue\ImpactedDestination::class);
+ $this->impacted_destinations = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Further localized details about the issue.
+ *
+ * Generated from protobuf field string detail = 5;
+ * @return string
+ */
+ public function getDetail()
+ {
+ return $this->detail;
+ }
+
+ /**
+ * Further localized details about the issue.
+ *
+ * Generated from protobuf field string detail = 5;
+ * @param string $var
+ * @return $this
+ */
+ public function setDetail($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->detail = $var;
+
+ return $this;
+ }
+
+ /**
+ * Link to Merchant Center Help Center providing further information about the
+ * issue and how to fix it.
+ *
+ * Generated from protobuf field string documentation_uri = 6;
+ * @return string
+ */
+ public function getDocumentationUri()
+ {
+ return $this->documentation_uri;
+ }
+
+ /**
+ * Link to Merchant Center Help Center providing further information about the
+ * issue and how to fix it.
+ *
+ * Generated from protobuf field string documentation_uri = 6;
+ * @param string $var
+ * @return $this
+ */
+ public function setDocumentationUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->documentation_uri = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue/ImpactedDestination.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue/ImpactedDestination.php
new file mode 100644
index 000000000000..a4cb501c4c49
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue/ImpactedDestination.php
@@ -0,0 +1,114 @@
+google.shopping.merchant.accounts.v1beta.AccountIssue.ImpactedDestination
+ */
+class ImpactedDestination extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The impacted reporting context.
+ *
+ * Generated from protobuf field optional .google.shopping.type.ReportingContext.ReportingContextEnum reporting_context = 1;
+ */
+ protected $reporting_context = null;
+ /**
+ * The (negative) impact for various regions on the given destination.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountIssue.ImpactedDestination.Impact impacts = 2;
+ */
+ private $impacts;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $reporting_context
+ * The impacted reporting context.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\AccountIssue\ImpactedDestination\Impact>|\Google\Protobuf\Internal\RepeatedField $impacts
+ * The (negative) impact for various regions on the given destination.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accountissue::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The impacted reporting context.
+ *
+ * Generated from protobuf field optional .google.shopping.type.ReportingContext.ReportingContextEnum reporting_context = 1;
+ * @return int
+ */
+ public function getReportingContext()
+ {
+ return isset($this->reporting_context) ? $this->reporting_context : 0;
+ }
+
+ public function hasReportingContext()
+ {
+ return isset($this->reporting_context);
+ }
+
+ public function clearReportingContext()
+ {
+ unset($this->reporting_context);
+ }
+
+ /**
+ * The impacted reporting context.
+ *
+ * Generated from protobuf field optional .google.shopping.type.ReportingContext.ReportingContextEnum reporting_context = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setReportingContext($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Type\ReportingContext\ReportingContextEnum::class);
+ $this->reporting_context = $var;
+
+ return $this;
+ }
+
+ /**
+ * The (negative) impact for various regions on the given destination.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountIssue.ImpactedDestination.Impact impacts = 2;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getImpacts()
+ {
+ return $this->impacts;
+ }
+
+ /**
+ * The (negative) impact for various regions on the given destination.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountIssue.ImpactedDestination.Impact impacts = 2;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\AccountIssue\ImpactedDestination\Impact>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setImpacts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\AccountIssue\ImpactedDestination\Impact::class);
+ $this->impacts = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(ImpactedDestination::class, \Google\Shopping\Merchant\Accounts\V1beta\AccountIssue_ImpactedDestination::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue/ImpactedDestination/Impact.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue/ImpactedDestination/Impact.php
new file mode 100644
index 000000000000..f917b45e0835
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue/ImpactedDestination/Impact.php
@@ -0,0 +1,108 @@
+google.shopping.merchant.accounts.v1beta.AccountIssue.ImpactedDestination.Impact
+ */
+class Impact extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The [CLDR region code](https://cldr.unicode.org/) where this issue
+ * applies.
+ *
+ * Generated from protobuf field string region_code = 1;
+ */
+ protected $region_code = '';
+ /**
+ * The severity of the issue on the destination and region.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountIssue.Severity severity = 2;
+ */
+ protected $severity = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $region_code
+ * The [CLDR region code](https://cldr.unicode.org/) where this issue
+ * applies.
+ * @type int $severity
+ * The severity of the issue on the destination and region.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accountissue::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The [CLDR region code](https://cldr.unicode.org/) where this issue
+ * applies.
+ *
+ * Generated from protobuf field string region_code = 1;
+ * @return string
+ */
+ public function getRegionCode()
+ {
+ return $this->region_code;
+ }
+
+ /**
+ * The [CLDR region code](https://cldr.unicode.org/) where this issue
+ * applies.
+ *
+ * Generated from protobuf field string region_code = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * The severity of the issue on the destination and region.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountIssue.Severity severity = 2;
+ * @return int
+ */
+ public function getSeverity()
+ {
+ return $this->severity;
+ }
+
+ /**
+ * The severity of the issue on the destination and region.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountIssue.Severity severity = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setSeverity($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\AccountIssue\Severity::class);
+ $this->severity = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(Impact::class, \Google\Shopping\Merchant\Accounts\V1beta\AccountIssue_ImpactedDestination_Impact::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue/Severity.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue/Severity.php
new file mode 100644
index 000000000000..d21cbecf4650
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountIssue/Severity.php
@@ -0,0 +1,72 @@
+google.shopping.merchant.accounts.v1beta.AccountIssue.Severity
+ */
+class Severity
+{
+ /**
+ * The severity is unknown.
+ *
+ * Generated from protobuf enum SEVERITY_UNSPECIFIED = 0;
+ */
+ const SEVERITY_UNSPECIFIED = 0;
+ /**
+ * The issue causes offers to not serve.
+ *
+ * Generated from protobuf enum CRITICAL = 1;
+ */
+ const CRITICAL = 1;
+ /**
+ * The issue might affect offers (in the future) or might be an
+ * indicator of issues with offers.
+ *
+ * Generated from protobuf enum ERROR = 2;
+ */
+ const ERROR = 2;
+ /**
+ * The issue is a suggestion for improvement.
+ *
+ * Generated from protobuf enum SUGGESTION = 3;
+ */
+ const SUGGESTION = 3;
+
+ private static $valueToName = [
+ self::SEVERITY_UNSPECIFIED => 'SEVERITY_UNSPECIFIED',
+ self::CRITICAL => 'CRITICAL',
+ self::ERROR => 'ERROR',
+ self::SUGGESTION => 'SUGGESTION',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(Severity::class, \Google\Shopping\Merchant\Accounts\V1beta\AccountIssue_Severity::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountTax.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountTax.php
new file mode 100644
index 000000000000..ffb456098b92
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AccountTax.php
@@ -0,0 +1,151 @@
+google.shopping.merchant.accounts.v1beta.AccountTax
+ */
+class AccountTax extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The name of the tax setting.
+ * Format:
+ * "{account_tax.name=accounts/{account}}"
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Output only. The ID of the account to which these account tax settings
+ * belong.
+ *
+ * Generated from protobuf field int64 account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $account = 0;
+ /**
+ * Tax rules. "Define the tax rules in each region.
+ * No tax will be presented if a region has no rule."
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.TaxRule tax_rules = 3;
+ */
+ private $tax_rules;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The name of the tax setting.
+ * Format:
+ * "{account_tax.name=accounts/{account}}"
+ * @type int|string $account
+ * Output only. The ID of the account to which these account tax settings
+ * belong.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\TaxRule>|\Google\Protobuf\Internal\RepeatedField $tax_rules
+ * Tax rules. "Define the tax rules in each region.
+ * No tax will be presented if a region has no rule."
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\AccountTax::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The name of the tax setting.
+ * Format:
+ * "{account_tax.name=accounts/{account}}"
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The name of the tax setting.
+ * Format:
+ * "{account_tax.name=accounts/{account}}"
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The ID of the account to which these account tax settings
+ * belong.
+ *
+ * Generated from protobuf field int64 account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int|string
+ */
+ public function getAccount()
+ {
+ return $this->account;
+ }
+
+ /**
+ * Output only. The ID of the account to which these account tax settings
+ * belong.
+ *
+ * Generated from protobuf field int64 account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int|string $var
+ * @return $this
+ */
+ public function setAccount($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->account = $var;
+
+ return $this;
+ }
+
+ /**
+ * Tax rules. "Define the tax rules in each region.
+ * No tax will be presented if a region has no rule."
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.TaxRule tax_rules = 3;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getTaxRules()
+ {
+ return $this->tax_rules;
+ }
+
+ /**
+ * Tax rules. "Define the tax rules in each region.
+ * No tax will be presented if a region has no rule."
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.TaxRule tax_rules = 3;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\TaxRule>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setTaxRules($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\TaxRule::class);
+ $this->tax_rules = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Address.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Address.php
new file mode 100644
index 000000000000..34ec6c688ce8
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Address.php
@@ -0,0 +1,269 @@
+google.shopping.merchant.accounts.v1beta.Address
+ */
+class Address extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Street-level part of the address. For example: `111w 31st Street`.
+ *
+ * Generated from protobuf field optional string street_address = 1;
+ */
+ protected $street_address = null;
+ /**
+ * Required. City, town or commune. May also include dependent localities or
+ * sublocalities (For example neighborhoods or suburbs).
+ *
+ * Generated from protobuf field optional string city = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $city = null;
+ /**
+ * Required. Top-level administrative subdivision of the country. For example,
+ * a state like California ("CA") or a province like Quebec ("QC").
+ *
+ * Generated from protobuf field optional string administrative_area = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $administrative_area = null;
+ /**
+ * Required. Postal code or ZIP (For example "94043").
+ *
+ * Generated from protobuf field optional string postal_code = 4 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $postal_code = null;
+ /**
+ * Required. [CLDR country
+ * code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
+ * (For example "US").
+ *
+ * Generated from protobuf field optional string region_code = 5 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $region_code = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $street_address
+ * Street-level part of the address. For example: `111w 31st Street`.
+ * @type string $city
+ * Required. City, town or commune. May also include dependent localities or
+ * sublocalities (For example neighborhoods or suburbs).
+ * @type string $administrative_area
+ * Required. Top-level administrative subdivision of the country. For example,
+ * a state like California ("CA") or a province like Quebec ("QC").
+ * @type string $postal_code
+ * Required. Postal code or ZIP (For example "94043").
+ * @type string $region_code
+ * Required. [CLDR country
+ * code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
+ * (For example "US").
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Street-level part of the address. For example: `111w 31st Street`.
+ *
+ * Generated from protobuf field optional string street_address = 1;
+ * @return string
+ */
+ public function getStreetAddress()
+ {
+ return isset($this->street_address) ? $this->street_address : '';
+ }
+
+ public function hasStreetAddress()
+ {
+ return isset($this->street_address);
+ }
+
+ public function clearStreetAddress()
+ {
+ unset($this->street_address);
+ }
+
+ /**
+ * Street-level part of the address. For example: `111w 31st Street`.
+ *
+ * Generated from protobuf field optional string street_address = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setStreetAddress($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->street_address = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. City, town or commune. May also include dependent localities or
+ * sublocalities (For example neighborhoods or suburbs).
+ *
+ * Generated from protobuf field optional string city = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getCity()
+ {
+ return isset($this->city) ? $this->city : '';
+ }
+
+ public function hasCity()
+ {
+ return isset($this->city);
+ }
+
+ public function clearCity()
+ {
+ unset($this->city);
+ }
+
+ /**
+ * Required. City, town or commune. May also include dependent localities or
+ * sublocalities (For example neighborhoods or suburbs).
+ *
+ * Generated from protobuf field optional string city = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setCity($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->city = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Top-level administrative subdivision of the country. For example,
+ * a state like California ("CA") or a province like Quebec ("QC").
+ *
+ * Generated from protobuf field optional string administrative_area = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getAdministrativeArea()
+ {
+ return isset($this->administrative_area) ? $this->administrative_area : '';
+ }
+
+ public function hasAdministrativeArea()
+ {
+ return isset($this->administrative_area);
+ }
+
+ public function clearAdministrativeArea()
+ {
+ unset($this->administrative_area);
+ }
+
+ /**
+ * Required. Top-level administrative subdivision of the country. For example,
+ * a state like California ("CA") or a province like Quebec ("QC").
+ *
+ * Generated from protobuf field optional string administrative_area = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setAdministrativeArea($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->administrative_area = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Postal code or ZIP (For example "94043").
+ *
+ * Generated from protobuf field optional string postal_code = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getPostalCode()
+ {
+ return isset($this->postal_code) ? $this->postal_code : '';
+ }
+
+ public function hasPostalCode()
+ {
+ return isset($this->postal_code);
+ }
+
+ public function clearPostalCode()
+ {
+ unset($this->postal_code);
+ }
+
+ /**
+ * Required. Postal code or ZIP (For example "94043").
+ *
+ * Generated from protobuf field optional string postal_code = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setPostalCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->postal_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. [CLDR country
+ * code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
+ * (For example "US").
+ *
+ * Generated from protobuf field optional string region_code = 5 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getRegionCode()
+ {
+ return isset($this->region_code) ? $this->region_code : '';
+ }
+
+ public function hasRegionCode()
+ {
+ return isset($this->region_code);
+ }
+
+ public function clearRegionCode()
+ {
+ unset($this->region_code);
+ }
+
+ /**
+ * Required. [CLDR country
+ * code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
+ * (For example "US").
+ *
+ * Generated from protobuf field optional string region_code = 5 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_code = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AutofeedSettings.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AutofeedSettings.php
new file mode 100644
index 000000000000..57cfee28669e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/AutofeedSettings.php
@@ -0,0 +1,172 @@
+google.shopping.merchant.accounts.v1beta.AutofeedSettings
+ */
+class AutofeedSettings extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the autofeed settings.
+ * Format: `accounts/{account}/autofeedSettings`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Required. Enables or disables product crawling through the autofeed for the
+ * given account. Autofeed accounts must meet [certain
+ * conditions](https://support.google.com/merchants/answer/7538732#Configure_automated_feeds_Standard_Experience),
+ * which can be checked through the `eligible` field.
+ * The account must **not** be a marketplace.
+ * When the autofeed is enabled for the first time, the products usually
+ * appear instantly. When re-enabling, it might take up to 24 hours for
+ * products to appear.
+ *
+ * Generated from protobuf field bool enable_products = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $enable_products = false;
+ /**
+ * Output only. Determines whether merchant is eligible for being enrolled
+ * into an autofeed.
+ *
+ * Generated from protobuf field bool eligible = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $eligible = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the autofeed settings.
+ * Format: `accounts/{account}/autofeedSettings`.
+ * @type bool $enable_products
+ * Required. Enables or disables product crawling through the autofeed for the
+ * given account. Autofeed accounts must meet [certain
+ * conditions](https://support.google.com/merchants/answer/7538732#Configure_automated_feeds_Standard_Experience),
+ * which can be checked through the `eligible` field.
+ * The account must **not** be a marketplace.
+ * When the autofeed is enabled for the first time, the products usually
+ * appear instantly. When re-enabling, it might take up to 24 hours for
+ * products to appear.
+ * @type bool $eligible
+ * Output only. Determines whether merchant is eligible for being enrolled
+ * into an autofeed.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Autofeedsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the autofeed settings.
+ * Format: `accounts/{account}/autofeedSettings`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the autofeed settings.
+ * Format: `accounts/{account}/autofeedSettings`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Enables or disables product crawling through the autofeed for the
+ * given account. Autofeed accounts must meet [certain
+ * conditions](https://support.google.com/merchants/answer/7538732#Configure_automated_feeds_Standard_Experience),
+ * which can be checked through the `eligible` field.
+ * The account must **not** be a marketplace.
+ * When the autofeed is enabled for the first time, the products usually
+ * appear instantly. When re-enabling, it might take up to 24 hours for
+ * products to appear.
+ *
+ * Generated from protobuf field bool enable_products = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return bool
+ */
+ public function getEnableProducts()
+ {
+ return $this->enable_products;
+ }
+
+ /**
+ * Required. Enables or disables product crawling through the autofeed for the
+ * given account. Autofeed accounts must meet [certain
+ * conditions](https://support.google.com/merchants/answer/7538732#Configure_automated_feeds_Standard_Experience),
+ * which can be checked through the `eligible` field.
+ * The account must **not** be a marketplace.
+ * When the autofeed is enabled for the first time, the products usually
+ * appear instantly. When re-enabling, it might take up to 24 hours for
+ * products to appear.
+ *
+ * Generated from protobuf field bool enable_products = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param bool $var
+ * @return $this
+ */
+ public function setEnableProducts($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->enable_products = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Determines whether merchant is eligible for being enrolled
+ * into an autofeed.
+ *
+ * Generated from protobuf field bool eligible = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return bool
+ */
+ public function getEligible()
+ {
+ return $this->eligible;
+ }
+
+ /**
+ * Output only. Determines whether merchant is eligible for being enrolled
+ * into an autofeed.
+ *
+ * Generated from protobuf field bool eligible = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param bool $var
+ * @return $this
+ */
+ public function setEligible($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->eligible = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessDayConfig.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessDayConfig.php
new file mode 100644
index 000000000000..65de9fa71831
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessDayConfig.php
@@ -0,0 +1,71 @@
+google.shopping.merchant.accounts.v1beta.BusinessDayConfig
+ */
+class BusinessDayConfig extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Regular business days.
+ * May not be empty.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.BusinessDayConfig.Weekday business_days = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $business_days;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array|\Google\Protobuf\Internal\RepeatedField $business_days
+ * Required. Regular business days.
+ * May not be empty.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Regular business days.
+ * May not be empty.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.BusinessDayConfig.Weekday business_days = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getBusinessDays()
+ {
+ return $this->business_days;
+ }
+
+ /**
+ * Required. Regular business days.
+ * May not be empty.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.BusinessDayConfig.Weekday business_days = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setBusinessDays($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig\Weekday::class);
+ $this->business_days = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessDayConfig/Weekday.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessDayConfig/Weekday.php
new file mode 100644
index 000000000000..6d97528b7ecf
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessDayConfig/Weekday.php
@@ -0,0 +1,81 @@
+google.shopping.merchant.accounts.v1beta.BusinessDayConfig.Weekday
+ */
+class Weekday
+{
+ /**
+ * Generated from protobuf enum WEEKDAY_UNSPECIFIED = 0;
+ */
+ const WEEKDAY_UNSPECIFIED = 0;
+ /**
+ * Generated from protobuf enum MONDAY = 1;
+ */
+ const MONDAY = 1;
+ /**
+ * Generated from protobuf enum TUESDAY = 2;
+ */
+ const TUESDAY = 2;
+ /**
+ * Generated from protobuf enum WEDNESDAY = 3;
+ */
+ const WEDNESDAY = 3;
+ /**
+ * Generated from protobuf enum THURSDAY = 4;
+ */
+ const THURSDAY = 4;
+ /**
+ * Generated from protobuf enum FRIDAY = 5;
+ */
+ const FRIDAY = 5;
+ /**
+ * Generated from protobuf enum SATURDAY = 6;
+ */
+ const SATURDAY = 6;
+ /**
+ * Generated from protobuf enum SUNDAY = 7;
+ */
+ const SUNDAY = 7;
+
+ private static $valueToName = [
+ self::WEEKDAY_UNSPECIFIED => 'WEEKDAY_UNSPECIFIED',
+ self::MONDAY => 'MONDAY',
+ self::TUESDAY => 'TUESDAY',
+ self::WEDNESDAY => 'WEDNESDAY',
+ self::THURSDAY => 'THURSDAY',
+ self::FRIDAY => 'FRIDAY',
+ self::SATURDAY => 'SATURDAY',
+ self::SUNDAY => 'SUNDAY',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(Weekday::class, \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig_Weekday::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity.php
new file mode 100644
index 000000000000..2fdab06c69d9
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity.php
@@ -0,0 +1,382 @@
+google.shopping.merchant.accounts.v1beta.BusinessIdentity
+ */
+class BusinessIdentity extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the business identity.
+ * Format: `accounts/{account}/businessIdentity`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Optional. Whether the identity attributes may be used for promotions.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.PromotionsConsent promotions_consent = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $promotions_consent = 0;
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * black-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute black_owned = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $black_owned = null;
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * women-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute women_owned = 4 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $women_owned = null;
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * veteran-owned. This optional field will only be available for merchants
+ * with a business country set to `US`. It is also not applicable for
+ * marketplaces or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute veteran_owned = 5 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $veteran_owned = null;
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * latino-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute latino_owned = 6 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $latino_owned = null;
+ /**
+ * Optional. Specifies whether the business identifies itself as a small
+ * business. This optional field will only be available for merchants with a
+ * business country set to `US`. It is also not applicable for marketplaces.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute small_business = 7 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $small_business = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the business identity.
+ * Format: `accounts/{account}/businessIdentity`
+ * @type int $promotions_consent
+ * Optional. Whether the identity attributes may be used for promotions.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $black_owned
+ * Optional. Specifies whether the business identifies itself as being
+ * black-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $women_owned
+ * Optional. Specifies whether the business identifies itself as being
+ * women-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $veteran_owned
+ * Optional. Specifies whether the business identifies itself as being
+ * veteran-owned. This optional field will only be available for merchants
+ * with a business country set to `US`. It is also not applicable for
+ * marketplaces or marketplace sellers.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $latino_owned
+ * Optional. Specifies whether the business identifies itself as being
+ * latino-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $small_business
+ * Optional. Specifies whether the business identifies itself as a small
+ * business. This optional field will only be available for merchants with a
+ * business country set to `US`. It is also not applicable for marketplaces.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Businessidentity::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the business identity.
+ * Format: `accounts/{account}/businessIdentity`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the business identity.
+ * Format: `accounts/{account}/businessIdentity`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Whether the identity attributes may be used for promotions.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.PromotionsConsent promotions_consent = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPromotionsConsent()
+ {
+ return $this->promotions_consent;
+ }
+
+ /**
+ * Optional. Whether the identity attributes may be used for promotions.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.PromotionsConsent promotions_consent = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPromotionsConsent($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\PromotionsConsent::class);
+ $this->promotions_consent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * black-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute black_owned = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute|null
+ */
+ public function getBlackOwned()
+ {
+ return $this->black_owned;
+ }
+
+ public function hasBlackOwned()
+ {
+ return isset($this->black_owned);
+ }
+
+ public function clearBlackOwned()
+ {
+ unset($this->black_owned);
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * black-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute black_owned = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $var
+ * @return $this
+ */
+ public function setBlackOwned($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute::class);
+ $this->black_owned = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * women-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute women_owned = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute|null
+ */
+ public function getWomenOwned()
+ {
+ return $this->women_owned;
+ }
+
+ public function hasWomenOwned()
+ {
+ return isset($this->women_owned);
+ }
+
+ public function clearWomenOwned()
+ {
+ unset($this->women_owned);
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * women-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute women_owned = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $var
+ * @return $this
+ */
+ public function setWomenOwned($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute::class);
+ $this->women_owned = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * veteran-owned. This optional field will only be available for merchants
+ * with a business country set to `US`. It is also not applicable for
+ * marketplaces or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute veteran_owned = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute|null
+ */
+ public function getVeteranOwned()
+ {
+ return $this->veteran_owned;
+ }
+
+ public function hasVeteranOwned()
+ {
+ return isset($this->veteran_owned);
+ }
+
+ public function clearVeteranOwned()
+ {
+ unset($this->veteran_owned);
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * veteran-owned. This optional field will only be available for merchants
+ * with a business country set to `US`. It is also not applicable for
+ * marketplaces or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute veteran_owned = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $var
+ * @return $this
+ */
+ public function setVeteranOwned($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute::class);
+ $this->veteran_owned = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * latino-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute latino_owned = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute|null
+ */
+ public function getLatinoOwned()
+ {
+ return $this->latino_owned;
+ }
+
+ public function hasLatinoOwned()
+ {
+ return isset($this->latino_owned);
+ }
+
+ public function clearLatinoOwned()
+ {
+ unset($this->latino_owned);
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as being
+ * latino-owned. This optional field will only be available for merchants with
+ * a business country set to `US`. It is also not applicable for marketplaces
+ * or marketplace sellers.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute latino_owned = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $var
+ * @return $this
+ */
+ public function setLatinoOwned($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute::class);
+ $this->latino_owned = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as a small
+ * business. This optional field will only be available for merchants with a
+ * business country set to `US`. It is also not applicable for marketplaces.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute small_business = 7 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute|null
+ */
+ public function getSmallBusiness()
+ {
+ return $this->small_business;
+ }
+
+ public function hasSmallBusiness()
+ {
+ return isset($this->small_business);
+ }
+
+ public function clearSmallBusiness()
+ {
+ unset($this->small_business);
+ }
+
+ /**
+ * Optional. Specifies whether the business identifies itself as a small
+ * business. This optional field will only be available for merchants with a
+ * business country set to `US`. It is also not applicable for marketplaces.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute small_business = 7 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute $var
+ * @return $this
+ */
+ public function setSmallBusiness($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute::class);
+ $this->small_business = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity/IdentityAttribute.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity/IdentityAttribute.php
new file mode 100644
index 000000000000..a40933b2fcf6
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity/IdentityAttribute.php
@@ -0,0 +1,70 @@
+google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute
+ */
+class IdentityAttribute extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The declaration of identity for this attribute.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute.IdentityDeclaration identity_declaration = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $identity_declaration = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $identity_declaration
+ * Required. The declaration of identity for this attribute.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Businessidentity::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The declaration of identity for this attribute.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute.IdentityDeclaration identity_declaration = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return int
+ */
+ public function getIdentityDeclaration()
+ {
+ return $this->identity_declaration;
+ }
+
+ /**
+ * Required. The declaration of identity for this attribute.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute.IdentityDeclaration identity_declaration = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param int $var
+ * @return $this
+ */
+ public function setIdentityDeclaration($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity\IdentityAttribute\IdentityDeclaration::class);
+ $this->identity_declaration = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(IdentityAttribute::class, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity_IdentityAttribute::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity/IdentityAttribute/IdentityDeclaration.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity/IdentityAttribute/IdentityDeclaration.php
new file mode 100644
index 000000000000..0bcc0a3e63bd
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity/IdentityAttribute/IdentityDeclaration.php
@@ -0,0 +1,64 @@
+google.shopping.merchant.accounts.v1beta.BusinessIdentity.IdentityAttribute.IdentityDeclaration
+ */
+class IdentityDeclaration
+{
+ /**
+ * Default value indicating that no selection was made.
+ *
+ * Generated from protobuf enum IDENTITY_DECLARATION_UNSPECIFIED = 0;
+ */
+ const IDENTITY_DECLARATION_UNSPECIFIED = 0;
+ /**
+ * Indicates that the account identifies with the attribute.
+ *
+ * Generated from protobuf enum SELF_IDENTIFIES_AS = 1;
+ */
+ const SELF_IDENTIFIES_AS = 1;
+ /**
+ * Indicates that the account does not identify with the attribute.
+ *
+ * Generated from protobuf enum DOES_NOT_SELF_IDENTIFY_AS = 2;
+ */
+ const DOES_NOT_SELF_IDENTIFY_AS = 2;
+
+ private static $valueToName = [
+ self::IDENTITY_DECLARATION_UNSPECIFIED => 'IDENTITY_DECLARATION_UNSPECIFIED',
+ self::SELF_IDENTIFIES_AS => 'SELF_IDENTIFIES_AS',
+ self::DOES_NOT_SELF_IDENTIFY_AS => 'DOES_NOT_SELF_IDENTIFY_AS',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(IdentityDeclaration::class, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity_IdentityAttribute_IdentityDeclaration::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity/PromotionsConsent.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity/PromotionsConsent.php
new file mode 100644
index 000000000000..c212182aa19d
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessIdentity/PromotionsConsent.php
@@ -0,0 +1,67 @@
+google.shopping.merchant.accounts.v1beta.BusinessIdentity.PromotionsConsent
+ */
+class PromotionsConsent
+{
+ /**
+ * Default value indicating that no selection was made.
+ *
+ * Generated from protobuf enum PROMOTIONS_CONSENT_UNSPECIFIED = 0;
+ */
+ const PROMOTIONS_CONSENT_UNSPECIFIED = 0;
+ /**
+ * Indicates that the account consented to having their business identity
+ * used for promotions.
+ *
+ * Generated from protobuf enum PROMOTIONS_CONSENT_GIVEN = 1;
+ */
+ const PROMOTIONS_CONSENT_GIVEN = 1;
+ /**
+ * Indicates that the account did not consent to having their business
+ * identity used for promotions.
+ *
+ * Generated from protobuf enum PROMOTIONS_CONSENT_DENIED = 2;
+ */
+ const PROMOTIONS_CONSENT_DENIED = 2;
+
+ private static $valueToName = [
+ self::PROMOTIONS_CONSENT_UNSPECIFIED => 'PROMOTIONS_CONSENT_UNSPECIFIED',
+ self::PROMOTIONS_CONSENT_GIVEN => 'PROMOTIONS_CONSENT_GIVEN',
+ self::PROMOTIONS_CONSENT_DENIED => 'PROMOTIONS_CONSENT_DENIED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(PromotionsConsent::class, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity_PromotionsConsent::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessInfo.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessInfo.php
new file mode 100644
index 000000000000..20fdfc614448
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/BusinessInfo.php
@@ -0,0 +1,299 @@
+google.shopping.merchant.accounts.v1beta.BusinessInfo
+ */
+class BusinessInfo extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the business info.
+ * Format: `accounts/{account}/businessInfo`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Optional. The address of the business.
+ *
+ * Generated from protobuf field optional .google.type.PostalAddress address = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $address = null;
+ /**
+ * Output only. The phone number of the business.
+ *
+ * Generated from protobuf field optional .google.type.PhoneNumber phone = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $phone = null;
+ /**
+ * Output only. The phone verification state of the business.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.PhoneVerificationState phone_verification_state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $phone_verification_state = null;
+ /**
+ * Optional. The customer service of the business.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.CustomerService customer_service = 5 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $customer_service = null;
+ /**
+ * Optional. The 10-digit [Korean business registration
+ * number](https://support.google.com/merchants/answer/9037766) separated with
+ * dashes in the format: XXX-XX-XXXXX.
+ *
+ * Generated from protobuf field optional string korean_business_registration_number = 6 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $korean_business_registration_number = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the business info.
+ * Format: `accounts/{account}/businessInfo`
+ * @type \Google\Type\PostalAddress $address
+ * Optional. The address of the business.
+ * @type \Google\Type\PhoneNumber $phone
+ * Output only. The phone number of the business.
+ * @type int $phone_verification_state
+ * Output only. The phone verification state of the business.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\CustomerService $customer_service
+ * Optional. The customer service of the business.
+ * @type string $korean_business_registration_number
+ * Optional. The 10-digit [Korean business registration
+ * number](https://support.google.com/merchants/answer/9037766) separated with
+ * dashes in the format: XXX-XX-XXXXX.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Businessinfo::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the business info.
+ * Format: `accounts/{account}/businessInfo`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the business info.
+ * Format: `accounts/{account}/businessInfo`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The address of the business.
+ *
+ * Generated from protobuf field optional .google.type.PostalAddress address = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Type\PostalAddress|null
+ */
+ public function getAddress()
+ {
+ return $this->address;
+ }
+
+ public function hasAddress()
+ {
+ return isset($this->address);
+ }
+
+ public function clearAddress()
+ {
+ unset($this->address);
+ }
+
+ /**
+ * Optional. The address of the business.
+ *
+ * Generated from protobuf field optional .google.type.PostalAddress address = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Type\PostalAddress $var
+ * @return $this
+ */
+ public function setAddress($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Type\PostalAddress::class);
+ $this->address = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The phone number of the business.
+ *
+ * Generated from protobuf field optional .google.type.PhoneNumber phone = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Type\PhoneNumber|null
+ */
+ public function getPhone()
+ {
+ return $this->phone;
+ }
+
+ public function hasPhone()
+ {
+ return isset($this->phone);
+ }
+
+ public function clearPhone()
+ {
+ unset($this->phone);
+ }
+
+ /**
+ * Output only. The phone number of the business.
+ *
+ * Generated from protobuf field optional .google.type.PhoneNumber phone = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Type\PhoneNumber $var
+ * @return $this
+ */
+ public function setPhone($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Type\PhoneNumber::class);
+ $this->phone = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The phone verification state of the business.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.PhoneVerificationState phone_verification_state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int
+ */
+ public function getPhoneVerificationState()
+ {
+ return isset($this->phone_verification_state) ? $this->phone_verification_state : 0;
+ }
+
+ public function hasPhoneVerificationState()
+ {
+ return isset($this->phone_verification_state);
+ }
+
+ public function clearPhoneVerificationState()
+ {
+ unset($this->phone_verification_state);
+ }
+
+ /**
+ * Output only. The phone verification state of the business.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.PhoneVerificationState phone_verification_state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int $var
+ * @return $this
+ */
+ public function setPhoneVerificationState($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\PhoneVerificationState::class);
+ $this->phone_verification_state = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The customer service of the business.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.CustomerService customer_service = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\CustomerService|null
+ */
+ public function getCustomerService()
+ {
+ return $this->customer_service;
+ }
+
+ public function hasCustomerService()
+ {
+ return isset($this->customer_service);
+ }
+
+ public function clearCustomerService()
+ {
+ unset($this->customer_service);
+ }
+
+ /**
+ * Optional. The customer service of the business.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.CustomerService customer_service = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\CustomerService $var
+ * @return $this
+ */
+ public function setCustomerService($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\CustomerService::class);
+ $this->customer_service = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The 10-digit [Korean business registration
+ * number](https://support.google.com/merchants/answer/9037766) separated with
+ * dashes in the format: XXX-XX-XXXXX.
+ *
+ * Generated from protobuf field optional string korean_business_registration_number = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getKoreanBusinessRegistrationNumber()
+ {
+ return isset($this->korean_business_registration_number) ? $this->korean_business_registration_number : '';
+ }
+
+ public function hasKoreanBusinessRegistrationNumber()
+ {
+ return isset($this->korean_business_registration_number);
+ }
+
+ public function clearKoreanBusinessRegistrationNumber()
+ {
+ unset($this->korean_business_registration_number);
+ }
+
+ /**
+ * Optional. The 10-digit [Korean business registration
+ * number](https://support.google.com/merchants/answer/9037766) separated with
+ * dashes in the format: XXX-XX-XXXXX.
+ *
+ * Generated from protobuf field optional string korean_business_registration_number = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setKoreanBusinessRegistrationNumber($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->korean_business_registration_number = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CarrierRate.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CarrierRate.php
new file mode 100644
index 000000000000..2a0ecd661631
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CarrierRate.php
@@ -0,0 +1,318 @@
+google.shopping.merchant.accounts.v1beta.CarrierRate
+ */
+class CarrierRate extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Name of the carrier rate. Must be unique per rate group.
+ *
+ * Generated from protobuf field optional string name = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $name = null;
+ /**
+ * Required. Carrier service, such as `"UPS"` or `"Fedex"`.
+ *
+ * Generated from protobuf field optional string carrier = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $carrier = null;
+ /**
+ * Required. Carrier service, such as `"ground"` or `"2 days"`.
+ *
+ * Generated from protobuf field optional string carrier_service = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $carrier_service = null;
+ /**
+ * Required. Shipping origin for this carrier rate.
+ *
+ * Generated from protobuf field optional string origin_postal_code = 4 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $origin_postal_code = null;
+ /**
+ * Optional. Multiplicative shipping rate modifier as a number in decimal
+ * notation. Can be negative. For example `"5.4"` increases the rate by 5.4%,
+ * `"-3"` decreases the rate by 3%.
+ *
+ * Generated from protobuf field optional string percentage_adjustment = 5 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $percentage_adjustment = null;
+ /**
+ * Optional. Additive shipping rate modifier. Can be negative. For example
+ * `{ "amount_micros": 1, "currency_code" : "USD" }` adds $1 to the rate,
+ * `{ "amount_micros": -3, "currency_code" : "USD" }` removes $3 from the
+ * rate.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price flat_adjustment = 6 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $flat_adjustment = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. Name of the carrier rate. Must be unique per rate group.
+ * @type string $carrier
+ * Required. Carrier service, such as `"UPS"` or `"Fedex"`.
+ * @type string $carrier_service
+ * Required. Carrier service, such as `"ground"` or `"2 days"`.
+ * @type string $origin_postal_code
+ * Required. Shipping origin for this carrier rate.
+ * @type string $percentage_adjustment
+ * Optional. Multiplicative shipping rate modifier as a number in decimal
+ * notation. Can be negative. For example `"5.4"` increases the rate by 5.4%,
+ * `"-3"` decreases the rate by 3%.
+ * @type \Google\Shopping\Type\Price $flat_adjustment
+ * Optional. Additive shipping rate modifier. Can be negative. For example
+ * `{ "amount_micros": 1, "currency_code" : "USD" }` adds $1 to the rate,
+ * `{ "amount_micros": -3, "currency_code" : "USD" }` removes $3 from the
+ * rate.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Name of the carrier rate. Must be unique per rate group.
+ *
+ * Generated from protobuf field optional string name = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getName()
+ {
+ return isset($this->name) ? $this->name : '';
+ }
+
+ public function hasName()
+ {
+ return isset($this->name);
+ }
+
+ public function clearName()
+ {
+ unset($this->name);
+ }
+
+ /**
+ * Required. Name of the carrier rate. Must be unique per rate group.
+ *
+ * Generated from protobuf field optional string name = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Carrier service, such as `"UPS"` or `"Fedex"`.
+ *
+ * Generated from protobuf field optional string carrier = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getCarrier()
+ {
+ return isset($this->carrier) ? $this->carrier : '';
+ }
+
+ public function hasCarrier()
+ {
+ return isset($this->carrier);
+ }
+
+ public function clearCarrier()
+ {
+ unset($this->carrier);
+ }
+
+ /**
+ * Required. Carrier service, such as `"UPS"` or `"Fedex"`.
+ *
+ * Generated from protobuf field optional string carrier = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setCarrier($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->carrier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Carrier service, such as `"ground"` or `"2 days"`.
+ *
+ * Generated from protobuf field optional string carrier_service = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getCarrierService()
+ {
+ return isset($this->carrier_service) ? $this->carrier_service : '';
+ }
+
+ public function hasCarrierService()
+ {
+ return isset($this->carrier_service);
+ }
+
+ public function clearCarrierService()
+ {
+ unset($this->carrier_service);
+ }
+
+ /**
+ * Required. Carrier service, such as `"ground"` or `"2 days"`.
+ *
+ * Generated from protobuf field optional string carrier_service = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setCarrierService($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->carrier_service = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Shipping origin for this carrier rate.
+ *
+ * Generated from protobuf field optional string origin_postal_code = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getOriginPostalCode()
+ {
+ return isset($this->origin_postal_code) ? $this->origin_postal_code : '';
+ }
+
+ public function hasOriginPostalCode()
+ {
+ return isset($this->origin_postal_code);
+ }
+
+ public function clearOriginPostalCode()
+ {
+ unset($this->origin_postal_code);
+ }
+
+ /**
+ * Required. Shipping origin for this carrier rate.
+ *
+ * Generated from protobuf field optional string origin_postal_code = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setOriginPostalCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->origin_postal_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Multiplicative shipping rate modifier as a number in decimal
+ * notation. Can be negative. For example `"5.4"` increases the rate by 5.4%,
+ * `"-3"` decreases the rate by 3%.
+ *
+ * Generated from protobuf field optional string percentage_adjustment = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPercentageAdjustment()
+ {
+ return isset($this->percentage_adjustment) ? $this->percentage_adjustment : '';
+ }
+
+ public function hasPercentageAdjustment()
+ {
+ return isset($this->percentage_adjustment);
+ }
+
+ public function clearPercentageAdjustment()
+ {
+ unset($this->percentage_adjustment);
+ }
+
+ /**
+ * Optional. Multiplicative shipping rate modifier as a number in decimal
+ * notation. Can be negative. For example `"5.4"` increases the rate by 5.4%,
+ * `"-3"` decreases the rate by 3%.
+ *
+ * Generated from protobuf field optional string percentage_adjustment = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPercentageAdjustment($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->percentage_adjustment = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Additive shipping rate modifier. Can be negative. For example
+ * `{ "amount_micros": 1, "currency_code" : "USD" }` adds $1 to the rate,
+ * `{ "amount_micros": -3, "currency_code" : "USD" }` removes $3 from the
+ * rate.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price flat_adjustment = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Type\Price|null
+ */
+ public function getFlatAdjustment()
+ {
+ return $this->flat_adjustment;
+ }
+
+ public function hasFlatAdjustment()
+ {
+ return isset($this->flat_adjustment);
+ }
+
+ public function clearFlatAdjustment()
+ {
+ unset($this->flat_adjustment);
+ }
+
+ /**
+ * Optional. Additive shipping rate modifier. Can be negative. For example
+ * `{ "amount_micros": 1, "currency_code" : "USD" }` adds $1 to the rate,
+ * `{ "amount_micros": -3, "currency_code" : "USD" }` removes $3 from the
+ * rate.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price flat_adjustment = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Type\Price $var
+ * @return $this
+ */
+ public function setFlatAdjustment($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Type\Price::class);
+ $this->flat_adjustment = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ClaimHomepageRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ClaimHomepageRequest.php
new file mode 100644
index 000000000000..1dacdf05fa4d
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ClaimHomepageRequest.php
@@ -0,0 +1,71 @@
+google.shopping.merchant.accounts.v1beta.ClaimHomepageRequest
+ */
+class ClaimHomepageRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the homepage to claim.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the homepage to claim.
+ * Format: `accounts/{account}/homepage`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Homepage::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the homepage to claim.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the homepage to claim.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateAndConfigureAccountRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateAndConfigureAccountRequest.php
new file mode 100644
index 000000000000..5fc2c9ca5dc1
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateAndConfigureAccountRequest.php
@@ -0,0 +1,213 @@
+google.shopping.merchant.accounts.v1beta.CreateAndConfigureAccountRequest
+ */
+class CreateAndConfigureAccountRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The account to be created.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Account account = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $account = null;
+ /**
+ * Optional. Users to be added to the account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.CreateUserRequest users = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $users;
+ /**
+ * Optional. The Terms of Service (ToS) to be accepted immediately upon
+ * account creation.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.CreateAndConfigureAccountRequest.AcceptTermsOfService accept_terms_of_service = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $accept_terms_of_service = null;
+ /**
+ * Required. An account service between the account to be created and the
+ * provider account is initialized as part of the creation. At least one such
+ * service needs to be provided. Currently exactly one of these needs to be
+ * `account_aggregation`, which means you can only create sub accounts, not
+ * standalone account through this method. Additional `account_management` or
+ * `product_management` services may be provided.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.CreateAndConfigureAccountRequest.AddAccountService service = 4 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $service;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Account $account
+ * Required. The account to be created.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\CreateUserRequest>|\Google\Protobuf\Internal\RepeatedField $users
+ * Optional. Users to be added to the account.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\CreateAndConfigureAccountRequest\AcceptTermsOfService $accept_terms_of_service
+ * Optional. The Terms of Service (ToS) to be accepted immediately upon
+ * account creation.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\CreateAndConfigureAccountRequest\AddAccountService>|\Google\Protobuf\Internal\RepeatedField $service
+ * Required. An account service between the account to be created and the
+ * provider account is initialized as part of the creation. At least one such
+ * service needs to be provided. Currently exactly one of these needs to be
+ * `account_aggregation`, which means you can only create sub accounts, not
+ * standalone account through this method. Additional `account_management` or
+ * `product_management` services may be provided.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The account to be created.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Account account = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Account|null
+ */
+ public function getAccount()
+ {
+ return $this->account;
+ }
+
+ public function hasAccount()
+ {
+ return isset($this->account);
+ }
+
+ public function clearAccount()
+ {
+ unset($this->account);
+ }
+
+ /**
+ * Required. The account to be created.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Account account = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Account $var
+ * @return $this
+ */
+ public function setAccount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Account::class);
+ $this->account = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Users to be added to the account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.CreateUserRequest users = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUsers()
+ {
+ return $this->users;
+ }
+
+ /**
+ * Optional. Users to be added to the account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.CreateUserRequest users = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\CreateUserRequest>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUsers($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\CreateUserRequest::class);
+ $this->users = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The Terms of Service (ToS) to be accepted immediately upon
+ * account creation.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.CreateAndConfigureAccountRequest.AcceptTermsOfService accept_terms_of_service = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\CreateAndConfigureAccountRequest\AcceptTermsOfService|null
+ */
+ public function getAcceptTermsOfService()
+ {
+ return $this->accept_terms_of_service;
+ }
+
+ public function hasAcceptTermsOfService()
+ {
+ return isset($this->accept_terms_of_service);
+ }
+
+ public function clearAcceptTermsOfService()
+ {
+ unset($this->accept_terms_of_service);
+ }
+
+ /**
+ * Optional. The Terms of Service (ToS) to be accepted immediately upon
+ * account creation.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.CreateAndConfigureAccountRequest.AcceptTermsOfService accept_terms_of_service = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\CreateAndConfigureAccountRequest\AcceptTermsOfService $var
+ * @return $this
+ */
+ public function setAcceptTermsOfService($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\CreateAndConfigureAccountRequest\AcceptTermsOfService::class);
+ $this->accept_terms_of_service = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. An account service between the account to be created and the
+ * provider account is initialized as part of the creation. At least one such
+ * service needs to be provided. Currently exactly one of these needs to be
+ * `account_aggregation`, which means you can only create sub accounts, not
+ * standalone account through this method. Additional `account_management` or
+ * `product_management` services may be provided.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.CreateAndConfigureAccountRequest.AddAccountService service = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getService()
+ {
+ return $this->service;
+ }
+
+ /**
+ * Required. An account service between the account to be created and the
+ * provider account is initialized as part of the creation. At least one such
+ * service needs to be provided. Currently exactly one of these needs to be
+ * `account_aggregation`, which means you can only create sub accounts, not
+ * standalone account through this method. Additional `account_management` or
+ * `product_management` services may be provided.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.CreateAndConfigureAccountRequest.AddAccountService service = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\CreateAndConfigureAccountRequest\AddAccountService>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setService($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\CreateAndConfigureAccountRequest\AddAccountService::class);
+ $this->service = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateAndConfigureAccountRequest/AcceptTermsOfService.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateAndConfigureAccountRequest/AcceptTermsOfService.php
new file mode 100644
index 000000000000..9571a4d23ece
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateAndConfigureAccountRequest/AcceptTermsOfService.php
@@ -0,0 +1,124 @@
+google.shopping.merchant.accounts.v1beta.CreateAndConfigureAccountRequest.AcceptTermsOfService
+ */
+class AcceptTermsOfService extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The resource name of the terms of service version in the format
+ * `termsOfService/{version}`. To retrieve the latest version, use the
+ * [termsOfService.retrieveLatest](/merchant/api/reference/rest/accounts_v1beta/termsOfService/retrieveLatest)
+ * method.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+ /**
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/).
+ * This is either a country when the ToS applies specifically to that
+ * country or `001` when it applies globally.
+ *
+ * Generated from protobuf field string region_code = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $region_code = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The resource name of the terms of service version in the format
+ * `termsOfService/{version}`. To retrieve the latest version, use the
+ * [termsOfService.retrieveLatest](/merchant/api/reference/rest/accounts_v1beta/termsOfService/retrieveLatest)
+ * method.
+ * @type string $region_code
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/).
+ * This is either a country when the ToS applies specifically to that
+ * country or `001` when it applies globally.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The resource name of the terms of service version in the format
+ * `termsOfService/{version}`. To retrieve the latest version, use the
+ * [termsOfService.retrieveLatest](/merchant/api/reference/rest/accounts_v1beta/termsOfService/retrieveLatest)
+ * method.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The resource name of the terms of service version in the format
+ * `termsOfService/{version}`. To retrieve the latest version, use the
+ * [termsOfService.retrieveLatest](/merchant/api/reference/rest/accounts_v1beta/termsOfService/retrieveLatest)
+ * method.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/).
+ * This is either a country when the ToS applies specifically to that
+ * country or `001` when it applies globally.
+ *
+ * Generated from protobuf field string region_code = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getRegionCode()
+ {
+ return $this->region_code;
+ }
+
+ /**
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/).
+ * This is either a country when the ToS applies specifically to that
+ * country or `001` when it applies globally.
+ *
+ * Generated from protobuf field string region_code = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_code = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(AcceptTermsOfService::class, \Google\Shopping\Merchant\Accounts\V1beta\CreateAndConfigureAccountRequest_AcceptTermsOfService::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateAndConfigureAccountRequest/AddAccountService.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateAndConfigureAccountRequest/AddAccountService.php
new file mode 100644
index 000000000000..1bb064565a58
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateAndConfigureAccountRequest/AddAccountService.php
@@ -0,0 +1,133 @@
+google.shopping.merchant.accounts.v1beta.CreateAndConfigureAccountRequest.AddAccountService
+ */
+class AddAccountService extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Optional. The provider of the service.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field optional string provider = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = {
+ */
+ protected $provider = null;
+ protected $service_type;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\AccountAggregation $account_aggregation
+ * The provider is an
+ * [aggregator](https://support.google.com/merchants/answer/188487) for
+ * the account. Payload for service type Account Aggregation.
+ * @type string $provider
+ * Optional. The provider of the service.
+ * Format: `accounts/{account}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The provider is an
+ * [aggregator](https://support.google.com/merchants/answer/188487) for
+ * the account. Payload for service type Account Aggregation.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountAggregation account_aggregation = 103;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\AccountAggregation|null
+ */
+ public function getAccountAggregation()
+ {
+ return $this->readOneof(103);
+ }
+
+ public function hasAccountAggregation()
+ {
+ return $this->hasOneof(103);
+ }
+
+ /**
+ * The provider is an
+ * [aggregator](https://support.google.com/merchants/answer/188487) for
+ * the account. Payload for service type Account Aggregation.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountAggregation account_aggregation = 103;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\AccountAggregation $var
+ * @return $this
+ */
+ public function setAccountAggregation($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\AccountAggregation::class);
+ $this->writeOneof(103, $var);
+
+ return $this;
+ }
+
+ /**
+ * Optional. The provider of the service.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field optional string provider = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getProvider()
+ {
+ return isset($this->provider) ? $this->provider : '';
+ }
+
+ public function hasProvider()
+ {
+ return isset($this->provider);
+ }
+
+ public function clearProvider()
+ {
+ unset($this->provider);
+ }
+
+ /**
+ * Optional. The provider of the service.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field optional string provider = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setProvider($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->provider = $var;
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getServiceType()
+ {
+ return $this->whichOneof("service_type");
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(AddAccountService::class, \Google\Shopping\Merchant\Accounts\V1beta\CreateAndConfigureAccountRequest_AddAccountService::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateRegionRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateRegionRequest.php
new file mode 100644
index 000000000000..4c3e1c565e78
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateRegionRequest.php
@@ -0,0 +1,173 @@
+google.shopping.merchant.accounts.v1beta.CreateRegionRequest
+ */
+class CreateRegionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The account to create a region for.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Required. The identifier for the region, unique over all regions of the
+ * same account.
+ *
+ * Generated from protobuf field string region_id = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $region_id = '';
+ /**
+ * Required. The region to create.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region region = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $region = null;
+
+ /**
+ * @param string $parent Required. The account to create a region for.
+ * Format: `accounts/{account}`
+ * Please see {@see RegionsServiceClient::accountName()} for help formatting this field.
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Region $region Required. The region to create.
+ * @param string $regionId Required. The identifier for the region, unique over all regions of the
+ * same account.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\CreateRegionRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent, \Google\Shopping\Merchant\Accounts\V1beta\Region $region, string $regionId): self
+ {
+ return (new self())
+ ->setParent($parent)
+ ->setRegion($region)
+ ->setRegionId($regionId);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The account to create a region for.
+ * Format: `accounts/{account}`
+ * @type string $region_id
+ * Required. The identifier for the region, unique over all regions of the
+ * same account.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Region $region
+ * Required. The region to create.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The account to create a region for.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The account to create a region for.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The identifier for the region, unique over all regions of the
+ * same account.
+ *
+ * Generated from protobuf field string region_id = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getRegionId()
+ {
+ return $this->region_id;
+ }
+
+ /**
+ * Required. The identifier for the region, unique over all regions of the
+ * same account.
+ *
+ * Generated from protobuf field string region_id = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The region to create.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region region = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Region|null
+ */
+ public function getRegion()
+ {
+ return $this->region;
+ }
+
+ public function hasRegion()
+ {
+ return isset($this->region);
+ }
+
+ public function clearRegion()
+ {
+ unset($this->region);
+ }
+
+ /**
+ * Required. The region to create.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region region = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Region $var
+ * @return $this
+ */
+ public function setRegion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Region::class);
+ $this->region = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateUserRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateUserRequest.php
new file mode 100644
index 000000000000..f8b622da84ef
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CreateUserRequest.php
@@ -0,0 +1,170 @@
+google.shopping.merchant.accounts.v1beta.CreateUserRequest
+ */
+class CreateUserRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The resource name of the account for which a user will be
+ * created. Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Required. The email address of the user (for example,
+ * `john.doe@gmail.com`).
+ *
+ * Generated from protobuf field string user_id = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $user_id = '';
+ /**
+ * Required. The user to create.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.User user = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $user = null;
+
+ /**
+ * @param string $parent Required. The resource name of the account for which a user will be
+ * created. Format: `accounts/{account}`
+ * Please see {@see UserServiceClient::accountName()} for help formatting this field.
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\User $user Required. The user to create.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\CreateUserRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent, \Google\Shopping\Merchant\Accounts\V1beta\User $user): self
+ {
+ return (new self())
+ ->setParent($parent)
+ ->setUser($user);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The resource name of the account for which a user will be
+ * created. Format: `accounts/{account}`
+ * @type string $user_id
+ * Required. The email address of the user (for example,
+ * `john.doe@gmail.com`).
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\User $user
+ * Required. The user to create.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\User::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The resource name of the account for which a user will be
+ * created. Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The resource name of the account for which a user will be
+ * created. Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The email address of the user (for example,
+ * `john.doe@gmail.com`).
+ *
+ * Generated from protobuf field string user_id = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getUserId()
+ {
+ return $this->user_id;
+ }
+
+ /**
+ * Required. The email address of the user (for example,
+ * `john.doe@gmail.com`).
+ *
+ * Generated from protobuf field string user_id = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setUserId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->user_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The user to create.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.User user = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\User|null
+ */
+ public function getUser()
+ {
+ return $this->user;
+ }
+
+ public function hasUser()
+ {
+ return isset($this->user);
+ }
+
+ public function clearUser()
+ {
+ unset($this->user);
+ }
+
+ /**
+ * Required. The user to create.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.User user = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\User $var
+ * @return $this
+ */
+ public function setUser($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\User::class);
+ $this->user = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CustomerService.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CustomerService.php
new file mode 100644
index 000000000000..6f6b96063640
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CustomerService.php
@@ -0,0 +1,165 @@
+google.shopping.merchant.accounts.v1beta.CustomerService
+ */
+class CustomerService extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Optional. The URI where customer service may be found.
+ *
+ * Generated from protobuf field optional string uri = 1 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $uri = null;
+ /**
+ * Optional. The email address where customer service may be reached.
+ *
+ * Generated from protobuf field optional string email = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $email = null;
+ /**
+ * Optional. The phone number where customer service may be called.
+ *
+ * Generated from protobuf field optional .google.type.PhoneNumber phone = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $phone = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $uri
+ * Optional. The URI where customer service may be found.
+ * @type string $email
+ * Optional. The email address where customer service may be reached.
+ * @type \Google\Type\PhoneNumber $phone
+ * Optional. The phone number where customer service may be called.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Customerservice::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Optional. The URI where customer service may be found.
+ *
+ * Generated from protobuf field optional string uri = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getUri()
+ {
+ return isset($this->uri) ? $this->uri : '';
+ }
+
+ public function hasUri()
+ {
+ return isset($this->uri);
+ }
+
+ public function clearUri()
+ {
+ unset($this->uri);
+ }
+
+ /**
+ * Optional. The URI where customer service may be found.
+ *
+ * Generated from protobuf field optional string uri = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->uri = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The email address where customer service may be reached.
+ *
+ * Generated from protobuf field optional string email = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getEmail()
+ {
+ return isset($this->email) ? $this->email : '';
+ }
+
+ public function hasEmail()
+ {
+ return isset($this->email);
+ }
+
+ public function clearEmail()
+ {
+ unset($this->email);
+ }
+
+ /**
+ * Optional. The email address where customer service may be reached.
+ *
+ * Generated from protobuf field optional string email = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setEmail($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->email = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The phone number where customer service may be called.
+ *
+ * Generated from protobuf field optional .google.type.PhoneNumber phone = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Type\PhoneNumber|null
+ */
+ public function getPhone()
+ {
+ return $this->phone;
+ }
+
+ public function hasPhone()
+ {
+ return isset($this->phone);
+ }
+
+ public function clearPhone()
+ {
+ unset($this->phone);
+ }
+
+ /**
+ * Optional. The phone number where customer service may be called.
+ *
+ * Generated from protobuf field optional .google.type.PhoneNumber phone = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Type\PhoneNumber $var
+ * @return $this
+ */
+ public function setPhone($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Type\PhoneNumber::class);
+ $this->phone = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CutoffTime.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CutoffTime.php
new file mode 100644
index 000000000000..402e6093b765
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/CutoffTime.php
@@ -0,0 +1,181 @@
+google.shopping.merchant.accounts.v1beta.CutoffTime
+ */
+class CutoffTime extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Hour of the cutoff time until which an order has to be placed to
+ * be processed in the same day.
+ *
+ * Generated from protobuf field optional int32 hour = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $hour = null;
+ /**
+ * Required. Minute of the cutoff time until which an order has to be placed
+ * to be processed in the same day.
+ *
+ * Generated from protobuf field optional int32 minute = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $minute = null;
+ /**
+ * Required. [Timezone
+ * identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids)
+ * For example "Europe/Zurich".
+ *
+ * Generated from protobuf field optional string time_zone = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $time_zone = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $hour
+ * Required. Hour of the cutoff time until which an order has to be placed to
+ * be processed in the same day.
+ * @type int $minute
+ * Required. Minute of the cutoff time until which an order has to be placed
+ * to be processed in the same day.
+ * @type string $time_zone
+ * Required. [Timezone
+ * identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids)
+ * For example "Europe/Zurich".
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Hour of the cutoff time until which an order has to be placed to
+ * be processed in the same day.
+ *
+ * Generated from protobuf field optional int32 hour = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return int
+ */
+ public function getHour()
+ {
+ return isset($this->hour) ? $this->hour : 0;
+ }
+
+ public function hasHour()
+ {
+ return isset($this->hour);
+ }
+
+ public function clearHour()
+ {
+ unset($this->hour);
+ }
+
+ /**
+ * Required. Hour of the cutoff time until which an order has to be placed to
+ * be processed in the same day.
+ *
+ * Generated from protobuf field optional int32 hour = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param int $var
+ * @return $this
+ */
+ public function setHour($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->hour = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Minute of the cutoff time until which an order has to be placed
+ * to be processed in the same day.
+ *
+ * Generated from protobuf field optional int32 minute = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return int
+ */
+ public function getMinute()
+ {
+ return isset($this->minute) ? $this->minute : 0;
+ }
+
+ public function hasMinute()
+ {
+ return isset($this->minute);
+ }
+
+ public function clearMinute()
+ {
+ unset($this->minute);
+ }
+
+ /**
+ * Required. Minute of the cutoff time until which an order has to be placed
+ * to be processed in the same day.
+ *
+ * Generated from protobuf field optional int32 minute = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param int $var
+ * @return $this
+ */
+ public function setMinute($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->minute = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. [Timezone
+ * identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids)
+ * For example "Europe/Zurich".
+ *
+ * Generated from protobuf field optional string time_zone = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getTimeZone()
+ {
+ return isset($this->time_zone) ? $this->time_zone : '';
+ }
+
+ public function hasTimeZone()
+ {
+ return isset($this->time_zone);
+ }
+
+ public function clearTimeZone()
+ {
+ unset($this->time_zone);
+ }
+
+ /**
+ * Required. [Timezone
+ * identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids)
+ * For example "Europe/Zurich".
+ *
+ * Generated from protobuf field optional string time_zone = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setTimeZone($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->time_zone = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeleteAccountRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeleteAccountRequest.php
new file mode 100644
index 000000000000..4fffbfe08f22
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeleteAccountRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.DeleteAccountRequest
+ */
+class DeleteAccountRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the account to delete.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the account to delete.
+ * Format: `accounts/{account}`
+ * Please see {@see AccountsServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\DeleteAccountRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the account to delete.
+ * Format: `accounts/{account}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the account to delete.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the account to delete.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeleteRegionRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeleteRegionRequest.php
new file mode 100644
index 000000000000..7b67f0e68c31
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeleteRegionRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.DeleteRegionRequest
+ */
+class DeleteRegionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the region to delete.
+ * Format: `accounts/{account}/regions/{region}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the region to delete.
+ * Format: `accounts/{account}/regions/{region}`
+ * Please see {@see RegionsServiceClient::regionName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\DeleteRegionRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the region to delete.
+ * Format: `accounts/{account}/regions/{region}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the region to delete.
+ * Format: `accounts/{account}/regions/{region}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the region to delete.
+ * Format: `accounts/{account}/regions/{region}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeleteUserRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeleteUserRequest.php
new file mode 100644
index 000000000000..8d43fa48995f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeleteUserRequest.php
@@ -0,0 +1,97 @@
+google.shopping.merchant.accounts.v1beta.DeleteUserRequest
+ */
+class DeleteUserRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the user to delete.
+ * Format: `accounts/{account}/users/{email}`
+ * It is also possible to delete the user corresponding to the caller by using
+ * `me` rather than an email address as in `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the user to delete.
+ * Format: `accounts/{account}/users/{email}`
+ *
+ * It is also possible to delete the user corresponding to the caller by using
+ * `me` rather than an email address as in `accounts/{account}/users/me`. Please see
+ * {@see UserServiceClient::userName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\DeleteUserRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the user to delete.
+ * Format: `accounts/{account}/users/{email}`
+ * It is also possible to delete the user corresponding to the caller by using
+ * `me` rather than an email address as in `accounts/{account}/users/me`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\User::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the user to delete.
+ * Format: `accounts/{account}/users/{email}`
+ * It is also possible to delete the user corresponding to the caller by using
+ * `me` rather than an email address as in `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the user to delete.
+ * Format: `accounts/{account}/users/{email}`
+ * It is also possible to delete the user corresponding to the caller by using
+ * `me` rather than an email address as in `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeliveryTime.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeliveryTime.php
new file mode 100644
index 000000000000..3593032208c4
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DeliveryTime.php
@@ -0,0 +1,503 @@
+google.shopping.merchant.accounts.v1beta.DeliveryTime
+ */
+class DeliveryTime extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Minimum number of business days that is spent in transit. 0 means same
+ * day delivery, 1 means next day delivery.
+ * Either `min_transit_days`, `max_transit_days` or
+ * `transit_time_table` must be set, but not both.
+ *
+ * Generated from protobuf field optional int32 min_transit_days = 1;
+ */
+ protected $min_transit_days = null;
+ /**
+ * Maximum number of business days that is spent in transit. 0 means same
+ * day delivery, 1 means next day delivery. Must be greater than or equal
+ * to `min_transit_days`.
+ *
+ * Generated from protobuf field optional int32 max_transit_days = 2;
+ */
+ protected $max_transit_days = null;
+ /**
+ * Business days cutoff time definition.
+ * If not configured the cutoff time will be defaulted to 8AM PST.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.CutoffTime cutoff_time = 3;
+ */
+ protected $cutoff_time = null;
+ /**
+ * Minimum number of business days spent before an order is shipped.
+ * 0 means same day shipped, 1 means next day shipped.
+ * 'min_handling_days' and 'max_handling_days' should be either set or not set
+ * at the same time.
+ *
+ * Generated from protobuf field optional int32 min_handling_days = 4;
+ */
+ protected $min_handling_days = null;
+ /**
+ * Maximum number of business days spent before an order is shipped.
+ * 0 means same day shipped, 1 means next day shipped.
+ * Must be greater than or equal to `min_handling_days`.
+ * 'min_handling_days' and 'max_handling_days' should be either set or not set
+ * at the same time.
+ *
+ * Generated from protobuf field optional int32 max_handling_days = 5;
+ */
+ protected $max_handling_days = null;
+ /**
+ * Transit time table, number of business days spent in transit based on row
+ * and column dimensions. Either `min_transit_days`, `max_transit_days` or
+ * `transit_time_table` can be set, but not both.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.TransitTable transit_time_table = 6;
+ */
+ protected $transit_time_table = null;
+ /**
+ * The business days during which orders can be handled.
+ * If not provided, Monday to Friday business days will be assumed.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.BusinessDayConfig handling_business_day_config = 7;
+ */
+ protected $handling_business_day_config = null;
+ /**
+ * The business days during which orders can be in-transit.
+ * If not provided, Monday to Friday business days will be assumed.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.BusinessDayConfig transit_business_day_config = 8;
+ */
+ protected $transit_business_day_config = null;
+ /**
+ * Optional. Indicates that the delivery time should be calculated per
+ * warehouse (shipping origin location) based on the settings of the selected
+ * carrier. When set, no other transit time related field in [delivery
+ * time][[google.shopping.content.bundles.ShippingSetting.DeliveryTime] should
+ * be set.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.WarehouseBasedDeliveryTime warehouse_based_delivery_times = 9 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $warehouse_based_delivery_times;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $min_transit_days
+ * Minimum number of business days that is spent in transit. 0 means same
+ * day delivery, 1 means next day delivery.
+ * Either `min_transit_days`, `max_transit_days` or
+ * `transit_time_table` must be set, but not both.
+ * @type int $max_transit_days
+ * Maximum number of business days that is spent in transit. 0 means same
+ * day delivery, 1 means next day delivery. Must be greater than or equal
+ * to `min_transit_days`.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\CutoffTime $cutoff_time
+ * Business days cutoff time definition.
+ * If not configured the cutoff time will be defaulted to 8AM PST.
+ * @type int $min_handling_days
+ * Minimum number of business days spent before an order is shipped.
+ * 0 means same day shipped, 1 means next day shipped.
+ * 'min_handling_days' and 'max_handling_days' should be either set or not set
+ * at the same time.
+ * @type int $max_handling_days
+ * Maximum number of business days spent before an order is shipped.
+ * 0 means same day shipped, 1 means next day shipped.
+ * Must be greater than or equal to `min_handling_days`.
+ * 'min_handling_days' and 'max_handling_days' should be either set or not set
+ * at the same time.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\TransitTable $transit_time_table
+ * Transit time table, number of business days spent in transit based on row
+ * and column dimensions. Either `min_transit_days`, `max_transit_days` or
+ * `transit_time_table` can be set, but not both.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig $handling_business_day_config
+ * The business days during which orders can be handled.
+ * If not provided, Monday to Friday business days will be assumed.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig $transit_business_day_config
+ * The business days during which orders can be in-transit.
+ * If not provided, Monday to Friday business days will be assumed.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\WarehouseBasedDeliveryTime>|\Google\Protobuf\Internal\RepeatedField $warehouse_based_delivery_times
+ * Optional. Indicates that the delivery time should be calculated per
+ * warehouse (shipping origin location) based on the settings of the selected
+ * carrier. When set, no other transit time related field in [delivery
+ * time][[google.shopping.content.bundles.ShippingSetting.DeliveryTime] should
+ * be set.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Minimum number of business days that is spent in transit. 0 means same
+ * day delivery, 1 means next day delivery.
+ * Either `min_transit_days`, `max_transit_days` or
+ * `transit_time_table` must be set, but not both.
+ *
+ * Generated from protobuf field optional int32 min_transit_days = 1;
+ * @return int
+ */
+ public function getMinTransitDays()
+ {
+ return isset($this->min_transit_days) ? $this->min_transit_days : 0;
+ }
+
+ public function hasMinTransitDays()
+ {
+ return isset($this->min_transit_days);
+ }
+
+ public function clearMinTransitDays()
+ {
+ unset($this->min_transit_days);
+ }
+
+ /**
+ * Minimum number of business days that is spent in transit. 0 means same
+ * day delivery, 1 means next day delivery.
+ * Either `min_transit_days`, `max_transit_days` or
+ * `transit_time_table` must be set, but not both.
+ *
+ * Generated from protobuf field optional int32 min_transit_days = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setMinTransitDays($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->min_transit_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum number of business days that is spent in transit. 0 means same
+ * day delivery, 1 means next day delivery. Must be greater than or equal
+ * to `min_transit_days`.
+ *
+ * Generated from protobuf field optional int32 max_transit_days = 2;
+ * @return int
+ */
+ public function getMaxTransitDays()
+ {
+ return isset($this->max_transit_days) ? $this->max_transit_days : 0;
+ }
+
+ public function hasMaxTransitDays()
+ {
+ return isset($this->max_transit_days);
+ }
+
+ public function clearMaxTransitDays()
+ {
+ unset($this->max_transit_days);
+ }
+
+ /**
+ * Maximum number of business days that is spent in transit. 0 means same
+ * day delivery, 1 means next day delivery. Must be greater than or equal
+ * to `min_transit_days`.
+ *
+ * Generated from protobuf field optional int32 max_transit_days = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setMaxTransitDays($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->max_transit_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Business days cutoff time definition.
+ * If not configured the cutoff time will be defaulted to 8AM PST.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.CutoffTime cutoff_time = 3;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\CutoffTime|null
+ */
+ public function getCutoffTime()
+ {
+ return $this->cutoff_time;
+ }
+
+ public function hasCutoffTime()
+ {
+ return isset($this->cutoff_time);
+ }
+
+ public function clearCutoffTime()
+ {
+ unset($this->cutoff_time);
+ }
+
+ /**
+ * Business days cutoff time definition.
+ * If not configured the cutoff time will be defaulted to 8AM PST.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.CutoffTime cutoff_time = 3;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\CutoffTime $var
+ * @return $this
+ */
+ public function setCutoffTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\CutoffTime::class);
+ $this->cutoff_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Minimum number of business days spent before an order is shipped.
+ * 0 means same day shipped, 1 means next day shipped.
+ * 'min_handling_days' and 'max_handling_days' should be either set or not set
+ * at the same time.
+ *
+ * Generated from protobuf field optional int32 min_handling_days = 4;
+ * @return int
+ */
+ public function getMinHandlingDays()
+ {
+ return isset($this->min_handling_days) ? $this->min_handling_days : 0;
+ }
+
+ public function hasMinHandlingDays()
+ {
+ return isset($this->min_handling_days);
+ }
+
+ public function clearMinHandlingDays()
+ {
+ unset($this->min_handling_days);
+ }
+
+ /**
+ * Minimum number of business days spent before an order is shipped.
+ * 0 means same day shipped, 1 means next day shipped.
+ * 'min_handling_days' and 'max_handling_days' should be either set or not set
+ * at the same time.
+ *
+ * Generated from protobuf field optional int32 min_handling_days = 4;
+ * @param int $var
+ * @return $this
+ */
+ public function setMinHandlingDays($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->min_handling_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum number of business days spent before an order is shipped.
+ * 0 means same day shipped, 1 means next day shipped.
+ * Must be greater than or equal to `min_handling_days`.
+ * 'min_handling_days' and 'max_handling_days' should be either set or not set
+ * at the same time.
+ *
+ * Generated from protobuf field optional int32 max_handling_days = 5;
+ * @return int
+ */
+ public function getMaxHandlingDays()
+ {
+ return isset($this->max_handling_days) ? $this->max_handling_days : 0;
+ }
+
+ public function hasMaxHandlingDays()
+ {
+ return isset($this->max_handling_days);
+ }
+
+ public function clearMaxHandlingDays()
+ {
+ unset($this->max_handling_days);
+ }
+
+ /**
+ * Maximum number of business days spent before an order is shipped.
+ * 0 means same day shipped, 1 means next day shipped.
+ * Must be greater than or equal to `min_handling_days`.
+ * 'min_handling_days' and 'max_handling_days' should be either set or not set
+ * at the same time.
+ *
+ * Generated from protobuf field optional int32 max_handling_days = 5;
+ * @param int $var
+ * @return $this
+ */
+ public function setMaxHandlingDays($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->max_handling_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Transit time table, number of business days spent in transit based on row
+ * and column dimensions. Either `min_transit_days`, `max_transit_days` or
+ * `transit_time_table` can be set, but not both.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.TransitTable transit_time_table = 6;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\TransitTable|null
+ */
+ public function getTransitTimeTable()
+ {
+ return $this->transit_time_table;
+ }
+
+ public function hasTransitTimeTable()
+ {
+ return isset($this->transit_time_table);
+ }
+
+ public function clearTransitTimeTable()
+ {
+ unset($this->transit_time_table);
+ }
+
+ /**
+ * Transit time table, number of business days spent in transit based on row
+ * and column dimensions. Either `min_transit_days`, `max_transit_days` or
+ * `transit_time_table` can be set, but not both.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.TransitTable transit_time_table = 6;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\TransitTable $var
+ * @return $this
+ */
+ public function setTransitTimeTable($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\TransitTable::class);
+ $this->transit_time_table = $var;
+
+ return $this;
+ }
+
+ /**
+ * The business days during which orders can be handled.
+ * If not provided, Monday to Friday business days will be assumed.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.BusinessDayConfig handling_business_day_config = 7;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig|null
+ */
+ public function getHandlingBusinessDayConfig()
+ {
+ return $this->handling_business_day_config;
+ }
+
+ public function hasHandlingBusinessDayConfig()
+ {
+ return isset($this->handling_business_day_config);
+ }
+
+ public function clearHandlingBusinessDayConfig()
+ {
+ unset($this->handling_business_day_config);
+ }
+
+ /**
+ * The business days during which orders can be handled.
+ * If not provided, Monday to Friday business days will be assumed.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.BusinessDayConfig handling_business_day_config = 7;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig $var
+ * @return $this
+ */
+ public function setHandlingBusinessDayConfig($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig::class);
+ $this->handling_business_day_config = $var;
+
+ return $this;
+ }
+
+ /**
+ * The business days during which orders can be in-transit.
+ * If not provided, Monday to Friday business days will be assumed.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.BusinessDayConfig transit_business_day_config = 8;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig|null
+ */
+ public function getTransitBusinessDayConfig()
+ {
+ return $this->transit_business_day_config;
+ }
+
+ public function hasTransitBusinessDayConfig()
+ {
+ return isset($this->transit_business_day_config);
+ }
+
+ public function clearTransitBusinessDayConfig()
+ {
+ unset($this->transit_business_day_config);
+ }
+
+ /**
+ * The business days during which orders can be in-transit.
+ * If not provided, Monday to Friday business days will be assumed.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.BusinessDayConfig transit_business_day_config = 8;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig $var
+ * @return $this
+ */
+ public function setTransitBusinessDayConfig($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig::class);
+ $this->transit_business_day_config = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Indicates that the delivery time should be calculated per
+ * warehouse (shipping origin location) based on the settings of the selected
+ * carrier. When set, no other transit time related field in [delivery
+ * time][[google.shopping.content.bundles.ShippingSetting.DeliveryTime] should
+ * be set.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.WarehouseBasedDeliveryTime warehouse_based_delivery_times = 9 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getWarehouseBasedDeliveryTimes()
+ {
+ return $this->warehouse_based_delivery_times;
+ }
+
+ /**
+ * Optional. Indicates that the delivery time should be calculated per
+ * warehouse (shipping origin location) based on the settings of the selected
+ * carrier. When set, no other transit time related field in [delivery
+ * time][[google.shopping.content.bundles.ShippingSetting.DeliveryTime] should
+ * be set.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.WarehouseBasedDeliveryTime warehouse_based_delivery_times = 9 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\WarehouseBasedDeliveryTime>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setWarehouseBasedDeliveryTimes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\WarehouseBasedDeliveryTime::class);
+ $this->warehouse_based_delivery_times = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DisableProgramRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DisableProgramRequest.php
new file mode 100644
index 000000000000..d45d7aeb3377
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/DisableProgramRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.DisableProgramRequest
+ */
+class DisableProgramRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the program for which to disable participation for
+ * the given account. Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the program for which to disable participation for
+ * the given account. Format: `accounts/{account}/programs/{program}`
+ * Please see {@see ProgramsServiceClient::programName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\DisableProgramRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the program for which to disable participation for
+ * the given account. Format: `accounts/{account}/programs/{program}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Programs::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the program for which to disable participation for
+ * the given account. Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the program for which to disable participation for
+ * the given account. Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Distance.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Distance.php
new file mode 100644
index 000000000000..48243a4601f3
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Distance.php
@@ -0,0 +1,126 @@
+google.shopping.merchant.accounts.v1beta.Distance
+ */
+class Distance extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Integer value of distance.
+ *
+ * Generated from protobuf field optional int64 value = 1;
+ */
+ protected $value = null;
+ /**
+ * Unit can differ based on country, it is parameterized to include miles
+ * and kilometers.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Distance.Unit unit = 2;
+ */
+ protected $unit = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int|string $value
+ * Integer value of distance.
+ * @type int $unit
+ * Unit can differ based on country, it is parameterized to include miles
+ * and kilometers.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Integer value of distance.
+ *
+ * Generated from protobuf field optional int64 value = 1;
+ * @return int|string
+ */
+ public function getValue()
+ {
+ return isset($this->value) ? $this->value : 0;
+ }
+
+ public function hasValue()
+ {
+ return isset($this->value);
+ }
+
+ public function clearValue()
+ {
+ unset($this->value);
+ }
+
+ /**
+ * Integer value of distance.
+ *
+ * Generated from protobuf field optional int64 value = 1;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Unit can differ based on country, it is parameterized to include miles
+ * and kilometers.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Distance.Unit unit = 2;
+ * @return int
+ */
+ public function getUnit()
+ {
+ return isset($this->unit) ? $this->unit : 0;
+ }
+
+ public function hasUnit()
+ {
+ return isset($this->unit);
+ }
+
+ public function clearUnit()
+ {
+ unset($this->unit);
+ }
+
+ /**
+ * Unit can differ based on country, it is parameterized to include miles
+ * and kilometers.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Distance.Unit unit = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setUnit($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\Distance\Unit::class);
+ $this->unit = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Distance/Unit.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Distance/Unit.php
new file mode 100644
index 000000000000..94036463380d
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Distance/Unit.php
@@ -0,0 +1,65 @@
+google.shopping.merchant.accounts.v1beta.Distance.Unit
+ */
+class Unit
+{
+ /**
+ * Unit unspecified
+ *
+ * Generated from protobuf enum UNIT_UNSPECIFIED = 0;
+ */
+ const UNIT_UNSPECIFIED = 0;
+ /**
+ * Unit in miles
+ *
+ * Generated from protobuf enum MILES = 1;
+ */
+ const MILES = 1;
+ /**
+ * Unit in kilometers
+ *
+ * Generated from protobuf enum KILOMETERS = 2;
+ */
+ const KILOMETERS = 2;
+
+ private static $valueToName = [
+ self::UNIT_UNSPECIFIED => 'UNIT_UNSPECIFIED',
+ self::MILES => 'MILES',
+ self::KILOMETERS => 'KILOMETERS',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(Unit::class, \Google\Shopping\Merchant\Accounts\V1beta\Distance_Unit::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/EmailPreferences.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/EmailPreferences.php
new file mode 100644
index 000000000000..719b98fb6dce
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/EmailPreferences.php
@@ -0,0 +1,107 @@
+google.shopping.merchant.accounts.v1beta.EmailPreferences
+ */
+class EmailPreferences extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The name of the EmailPreferences. The endpoint is only
+ * supported for the authenticated user.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Optional. Updates on new features, tips and best practices.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.EmailPreferences.OptInState news_and_tips = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $news_and_tips = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The name of the EmailPreferences. The endpoint is only
+ * supported for the authenticated user.
+ * @type int $news_and_tips
+ * Optional. Updates on new features, tips and best practices.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Emailpreferences::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The name of the EmailPreferences. The endpoint is only
+ * supported for the authenticated user.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The name of the EmailPreferences. The endpoint is only
+ * supported for the authenticated user.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Updates on new features, tips and best practices.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.EmailPreferences.OptInState news_and_tips = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getNewsAndTips()
+ {
+ return $this->news_and_tips;
+ }
+
+ /**
+ * Optional. Updates on new features, tips and best practices.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.EmailPreferences.OptInState news_and_tips = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setNewsAndTips($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences\OptInState::class);
+ $this->news_and_tips = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/EmailPreferences/OptInState.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/EmailPreferences/OptInState.php
new file mode 100644
index 000000000000..9422b1f99eba
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/EmailPreferences/OptInState.php
@@ -0,0 +1,73 @@
+google.shopping.merchant.accounts.v1beta.EmailPreferences.OptInState
+ */
+class OptInState
+{
+ /**
+ * Opt-in status is not specified.
+ *
+ * Generated from protobuf enum OPT_IN_STATE_UNSPECIFIED = 0;
+ */
+ const OPT_IN_STATE_UNSPECIFIED = 0;
+ /**
+ * User has opted out of receiving this type of email.
+ *
+ * Generated from protobuf enum OPTED_OUT = 1;
+ */
+ const OPTED_OUT = 1;
+ /**
+ * User has opted in to receiving this type of email.
+ *
+ * Generated from protobuf enum OPTED_IN = 2;
+ */
+ const OPTED_IN = 2;
+ /**
+ * User has opted in to receiving this type of email and the confirmation
+ * email has been sent, but user has not yet confirmed the opt in (applies
+ * only to certain countries).
+ *
+ * Generated from protobuf enum UNCONFIRMED = 3;
+ */
+ const UNCONFIRMED = 3;
+
+ private static $valueToName = [
+ self::OPT_IN_STATE_UNSPECIFIED => 'OPT_IN_STATE_UNSPECIFIED',
+ self::OPTED_OUT => 'OPTED_OUT',
+ self::OPTED_IN => 'OPTED_IN',
+ self::UNCONFIRMED => 'UNCONFIRMED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(OptInState::class, \Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences_OptInState::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/EnableProgramRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/EnableProgramRequest.php
new file mode 100644
index 000000000000..053b5962c902
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/EnableProgramRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.EnableProgramRequest
+ */
+class EnableProgramRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the program for which to enable participation for the
+ * given account. Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the program for which to enable participation for the
+ * given account. Format: `accounts/{account}/programs/{program}`
+ * Please see {@see ProgramsServiceClient::programName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\EnableProgramRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the program for which to enable participation for the
+ * given account. Format: `accounts/{account}/programs/{program}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Programs::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the program for which to enable participation for the
+ * given account. Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the program for which to enable participation for the
+ * given account. Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetAccountRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetAccountRequest.php
new file mode 100644
index 000000000000..631a4ef161aa
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetAccountRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetAccountRequest
+ */
+class GetAccountRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the account to retrieve.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the account to retrieve.
+ * Format: `accounts/{account}`
+ * Please see {@see AccountsServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetAccountRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the account to retrieve.
+ * Format: `accounts/{account}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the account to retrieve.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the account to retrieve.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetAccountTaxRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetAccountTaxRequest.php
new file mode 100644
index 000000000000..0ac30088d6f7
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetAccountTaxRequest.php
@@ -0,0 +1,81 @@
+google.shopping.merchant.accounts.v1beta.GetAccountTaxRequest
+ */
+class GetAccountTaxRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name from which tax settings will be retrieved
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name from which tax settings will be retrieved
+ * Please see {@see AccountTaxServiceClient::accountTaxName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetAccountTaxRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name from which tax settings will be retrieved
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\AccountTax::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name from which tax settings will be retrieved
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name from which tax settings will be retrieved
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetAutofeedSettingsRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetAutofeedSettingsRequest.php
new file mode 100644
index 000000000000..1ecb2ada73c5
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetAutofeedSettingsRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetAutofeedSettingsRequest
+ */
+class GetAutofeedSettingsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The resource name of the autofeed settings.
+ * Format: `accounts/{account}/autofeedSettings`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The resource name of the autofeed settings.
+ * Format: `accounts/{account}/autofeedSettings`
+ * Please see {@see AutofeedSettingsServiceClient::autofeedSettingsName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetAutofeedSettingsRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The resource name of the autofeed settings.
+ * Format: `accounts/{account}/autofeedSettings`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Autofeedsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The resource name of the autofeed settings.
+ * Format: `accounts/{account}/autofeedSettings`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The resource name of the autofeed settings.
+ * Format: `accounts/{account}/autofeedSettings`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetBusinessIdentityRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetBusinessIdentityRequest.php
new file mode 100644
index 000000000000..9972f6ca7759
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetBusinessIdentityRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetBusinessIdentityRequest
+ */
+class GetBusinessIdentityRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The resource name of the business identity.
+ * Format: `accounts/{account}/businessIdentity`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The resource name of the business identity.
+ * Format: `accounts/{account}/businessIdentity`
+ * Please see {@see BusinessIdentityServiceClient::businessIdentityName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetBusinessIdentityRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The resource name of the business identity.
+ * Format: `accounts/{account}/businessIdentity`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Businessidentity::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The resource name of the business identity.
+ * Format: `accounts/{account}/businessIdentity`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The resource name of the business identity.
+ * Format: `accounts/{account}/businessIdentity`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetBusinessInfoRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetBusinessInfoRequest.php
new file mode 100644
index 000000000000..3504bff8c2a2
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetBusinessInfoRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetBusinessInfoRequest
+ */
+class GetBusinessInfoRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The resource name of the business info.
+ * Format: `accounts/{account}/businessInfo`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The resource name of the business info.
+ * Format: `accounts/{account}/businessInfo`
+ * Please see {@see BusinessInfoServiceClient::businessInfoName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetBusinessInfoRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The resource name of the business info.
+ * Format: `accounts/{account}/businessInfo`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Businessinfo::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The resource name of the business info.
+ * Format: `accounts/{account}/businessInfo`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The resource name of the business info.
+ * Format: `accounts/{account}/businessInfo`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetEmailPreferencesRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetEmailPreferencesRequest.php
new file mode 100644
index 000000000000..2f35d48d8844
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetEmailPreferencesRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetEmailPreferencesRequest
+ */
+class GetEmailPreferencesRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the `EmailPreferences` resource.
+ * Format: `accounts/{account}/users/{email}/emailPreferences`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the `EmailPreferences` resource.
+ * Format: `accounts/{account}/users/{email}/emailPreferences`
+ * Please see {@see EmailPreferencesServiceClient::emailPreferencesName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetEmailPreferencesRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the `EmailPreferences` resource.
+ * Format: `accounts/{account}/users/{email}/emailPreferences`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Emailpreferences::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the `EmailPreferences` resource.
+ * Format: `accounts/{account}/users/{email}/emailPreferences`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the `EmailPreferences` resource.
+ * Format: `accounts/{account}/users/{email}/emailPreferences`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetHomepageRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetHomepageRequest.php
new file mode 100644
index 000000000000..9754b2ec8f7e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetHomepageRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetHomepageRequest
+ */
+class GetHomepageRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the homepage to retrieve.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the homepage to retrieve.
+ * Format: `accounts/{account}/homepage`
+ * Please see {@see HomepageServiceClient::homepageName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetHomepageRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the homepage to retrieve.
+ * Format: `accounts/{account}/homepage`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Homepage::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the homepage to retrieve.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the homepage to retrieve.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetOnlineReturnPolicyRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetOnlineReturnPolicyRequest.php
new file mode 100644
index 000000000000..3a0a018fba55
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetOnlineReturnPolicyRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetOnlineReturnPolicyRequest
+ */
+class GetOnlineReturnPolicyRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the return policy to retrieve.
+ * Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the return policy to retrieve.
+ * Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`
+ * Please see {@see OnlineReturnPolicyServiceClient::onlineReturnPolicyName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetOnlineReturnPolicyRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the return policy to retrieve.
+ * Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\OnlineReturnPolicy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the return policy to retrieve.
+ * Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the return policy to retrieve.
+ * Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetProgramRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetProgramRequest.php
new file mode 100644
index 000000000000..74ab12ce2057
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetProgramRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetProgramRequest
+ */
+class GetProgramRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the program to retrieve.
+ * Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the program to retrieve.
+ * Format: `accounts/{account}/programs/{program}`
+ * Please see {@see ProgramsServiceClient::programName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetProgramRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the program to retrieve.
+ * Format: `accounts/{account}/programs/{program}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Programs::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the program to retrieve.
+ * Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the program to retrieve.
+ * Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetRegionRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetRegionRequest.php
new file mode 100644
index 000000000000..c6522e48cc26
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetRegionRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetRegionRequest
+ */
+class GetRegionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the region to retrieve.
+ * Format: `accounts/{account}/regions/{region}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the region to retrieve.
+ * Format: `accounts/{account}/regions/{region}`
+ * Please see {@see RegionsServiceClient::regionName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetRegionRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the region to retrieve.
+ * Format: `accounts/{account}/regions/{region}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the region to retrieve.
+ * Format: `accounts/{account}/regions/{region}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the region to retrieve.
+ * Format: `accounts/{account}/regions/{region}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetShippingSettingsRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetShippingSettingsRequest.php
new file mode 100644
index 000000000000..23a535a79619
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetShippingSettingsRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetShippingSettingsRequest
+ */
+class GetShippingSettingsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the shipping setting to retrieve.
+ * Format: `accounts/{account}/shippingsetting`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the shipping setting to retrieve.
+ * Format: `accounts/{account}/shippingsetting`
+ * Please see {@see ShippingSettingsServiceClient::shippingSettingsName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetShippingSettingsRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the shipping setting to retrieve.
+ * Format: `accounts/{account}/shippingsetting`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the shipping setting to retrieve.
+ * Format: `accounts/{account}/shippingsetting`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the shipping setting to retrieve.
+ * Format: `accounts/{account}/shippingsetting`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetTermsOfServiceAgreementStateRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetTermsOfServiceAgreementStateRequest.php
new file mode 100644
index 000000000000..65c3cddfdaaf
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetTermsOfServiceAgreementStateRequest.php
@@ -0,0 +1,91 @@
+google.shopping.merchant.accounts.v1beta.GetTermsOfServiceAgreementStateRequest
+ */
+class GetTermsOfServiceAgreementStateRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The resource name of the terms of service version.
+ * Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}`
+ * The identifier format is: `{TermsOfServiceKind}-{country}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The resource name of the terms of service version.
+ * Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}`
+ * The identifier format is: `{TermsOfServiceKind}-{country}`
+ * Please see {@see TermsOfServiceAgreementStateServiceClient::termsOfServiceAgreementStateName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetTermsOfServiceAgreementStateRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The resource name of the terms of service version.
+ * Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}`
+ * The identifier format is: `{TermsOfServiceKind}-{country}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Termsofserviceagreementstate::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The resource name of the terms of service version.
+ * Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}`
+ * The identifier format is: `{TermsOfServiceKind}-{country}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The resource name of the terms of service version.
+ * Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}`
+ * The identifier format is: `{TermsOfServiceKind}-{country}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetTermsOfServiceRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetTermsOfServiceRequest.php
new file mode 100644
index 000000000000..909418d67a77
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetTermsOfServiceRequest.php
@@ -0,0 +1,86 @@
+google.shopping.merchant.accounts.v1beta.GetTermsOfServiceRequest
+ */
+class GetTermsOfServiceRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ * Please see {@see TermsOfServiceServiceClient::termsOfServiceName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetTermsOfServiceRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Termsofservice::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetUserRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetUserRequest.php
new file mode 100644
index 000000000000..206b970077de
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/GetUserRequest.php
@@ -0,0 +1,102 @@
+google.shopping.merchant.accounts.v1beta.GetUserRequest
+ */
+class GetUserRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the user to retrieve.
+ * Format: `accounts/{account}/users/{email}`
+ * It is also possible to retrieve the user corresponding to the caller by
+ * using `me` rather than an email address as in
+ * `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. The name of the user to retrieve.
+ * Format: `accounts/{account}/users/{email}`
+ *
+ * It is also possible to retrieve the user corresponding to the caller by
+ * using `me` rather than an email address as in
+ * `accounts/{account}/users/me`. Please see
+ * {@see UserServiceClient::userName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\GetUserRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the user to retrieve.
+ * Format: `accounts/{account}/users/{email}`
+ * It is also possible to retrieve the user corresponding to the caller by
+ * using `me` rather than an email address as in
+ * `accounts/{account}/users/me`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\User::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the user to retrieve.
+ * Format: `accounts/{account}/users/{email}`
+ * It is also possible to retrieve the user corresponding to the caller by
+ * using `me` rather than an email address as in
+ * `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the user to retrieve.
+ * Format: `accounts/{account}/users/{email}`
+ * It is also possible to retrieve the user corresponding to the caller by
+ * using `me` rather than an email address as in
+ * `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Headers.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Headers.php
new file mode 100644
index 000000000000..590857b53dfe
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Headers.php
@@ -0,0 +1,302 @@
+google.shopping.merchant.accounts.v1beta.Headers
+ */
+class Headers extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. A list of inclusive order price upper bounds. The last price's
+ * value can be infinity by setting price amount_micros = -1. For example
+ * `[{"amount_micros": 10000000, "currency_code": "USD"},
+ * {"amount_micros": 500000000, "currency_code": "USD"},
+ * {"amount_micros": -1, "currency_code": "USD"}]` represents the headers
+ * "<= $10", "<= $500", and "> $500". All prices within a service must have
+ * the same currency. Must be non-empty. Must be positive except -1. Can only
+ * be set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated .google.shopping.type.Price prices = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $prices;
+ /**
+ * Required. A list of inclusive order weight upper bounds. The last weight's
+ * value can be infinity by setting price amount_micros = -1. For example
+ * `[{"amount_micros": 10000000, "unit": "kg"}, {"amount_micros": 50000000,
+ * "unit": "kg"},
+ * {"amount_micros": -1, "unit": "kg"}]` represents the headers
+ * "<= 10kg", "<= 50kg", and "> 50kg". All weights within a service must have
+ * the same unit. Must be non-empty. Must be positive except -1. Can only be
+ * set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated .google.shopping.type.Weight weights = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $weights;
+ /**
+ * Required. A list of inclusive number of items upper bounds. The last value
+ * can be
+ * `"infinity"`. For example
+ * `["10", "50", "infinity"]` represents the headers
+ * "<= 10 items", "<= 50 items", and "> 50 items". Must be non-empty. Can
+ * only be set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated string number_of_items = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $number_of_items;
+ /**
+ * Required. A list of postal group names. The last value can be
+ * `"all other locations"`. Example:
+ * `["zone 1", "zone 2", "all other locations"]`. The referred
+ * postal code groups must match the delivery country of the service. Must
+ * be non-empty. Can only be set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated string postal_code_group_names = 4 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $postal_code_group_names;
+ /**
+ * Required. A list of location ID sets. Must be non-empty. Can only be set if
+ * all other fields are not set.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.LocationIdSet locations = 5 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $locations;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Type\Price>|\Google\Protobuf\Internal\RepeatedField $prices
+ * Required. A list of inclusive order price upper bounds. The last price's
+ * value can be infinity by setting price amount_micros = -1. For example
+ * `[{"amount_micros": 10000000, "currency_code": "USD"},
+ * {"amount_micros": 500000000, "currency_code": "USD"},
+ * {"amount_micros": -1, "currency_code": "USD"}]` represents the headers
+ * "<= $10", "<= $500", and "> $500". All prices within a service must have
+ * the same currency. Must be non-empty. Must be positive except -1. Can only
+ * be set if all other fields are not set.
+ * @type array<\Google\Shopping\Type\Weight>|\Google\Protobuf\Internal\RepeatedField $weights
+ * Required. A list of inclusive order weight upper bounds. The last weight's
+ * value can be infinity by setting price amount_micros = -1. For example
+ * `[{"amount_micros": 10000000, "unit": "kg"}, {"amount_micros": 50000000,
+ * "unit": "kg"},
+ * {"amount_micros": -1, "unit": "kg"}]` represents the headers
+ * "<= 10kg", "<= 50kg", and "> 50kg". All weights within a service must have
+ * the same unit. Must be non-empty. Must be positive except -1. Can only be
+ * set if all other fields are not set.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $number_of_items
+ * Required. A list of inclusive number of items upper bounds. The last value
+ * can be
+ * `"infinity"`. For example
+ * `["10", "50", "infinity"]` represents the headers
+ * "<= 10 items", "<= 50 items", and "> 50 items". Must be non-empty. Can
+ * only be set if all other fields are not set.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $postal_code_group_names
+ * Required. A list of postal group names. The last value can be
+ * `"all other locations"`. Example:
+ * `["zone 1", "zone 2", "all other locations"]`. The referred
+ * postal code groups must match the delivery country of the service. Must
+ * be non-empty. Can only be set if all other fields are not set.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\LocationIdSet>|\Google\Protobuf\Internal\RepeatedField $locations
+ * Required. A list of location ID sets. Must be non-empty. Can only be set if
+ * all other fields are not set.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. A list of inclusive order price upper bounds. The last price's
+ * value can be infinity by setting price amount_micros = -1. For example
+ * `[{"amount_micros": 10000000, "currency_code": "USD"},
+ * {"amount_micros": 500000000, "currency_code": "USD"},
+ * {"amount_micros": -1, "currency_code": "USD"}]` represents the headers
+ * "<= $10", "<= $500", and "> $500". All prices within a service must have
+ * the same currency. Must be non-empty. Must be positive except -1. Can only
+ * be set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated .google.shopping.type.Price prices = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPrices()
+ {
+ return $this->prices;
+ }
+
+ /**
+ * Required. A list of inclusive order price upper bounds. The last price's
+ * value can be infinity by setting price amount_micros = -1. For example
+ * `[{"amount_micros": 10000000, "currency_code": "USD"},
+ * {"amount_micros": 500000000, "currency_code": "USD"},
+ * {"amount_micros": -1, "currency_code": "USD"}]` represents the headers
+ * "<= $10", "<= $500", and "> $500". All prices within a service must have
+ * the same currency. Must be non-empty. Must be positive except -1. Can only
+ * be set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated .google.shopping.type.Price prices = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Type\Price>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPrices($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Type\Price::class);
+ $this->prices = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Required. A list of inclusive order weight upper bounds. The last weight's
+ * value can be infinity by setting price amount_micros = -1. For example
+ * `[{"amount_micros": 10000000, "unit": "kg"}, {"amount_micros": 50000000,
+ * "unit": "kg"},
+ * {"amount_micros": -1, "unit": "kg"}]` represents the headers
+ * "<= 10kg", "<= 50kg", and "> 50kg". All weights within a service must have
+ * the same unit. Must be non-empty. Must be positive except -1. Can only be
+ * set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated .google.shopping.type.Weight weights = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getWeights()
+ {
+ return $this->weights;
+ }
+
+ /**
+ * Required. A list of inclusive order weight upper bounds. The last weight's
+ * value can be infinity by setting price amount_micros = -1. For example
+ * `[{"amount_micros": 10000000, "unit": "kg"}, {"amount_micros": 50000000,
+ * "unit": "kg"},
+ * {"amount_micros": -1, "unit": "kg"}]` represents the headers
+ * "<= 10kg", "<= 50kg", and "> 50kg". All weights within a service must have
+ * the same unit. Must be non-empty. Must be positive except -1. Can only be
+ * set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated .google.shopping.type.Weight weights = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Type\Weight>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setWeights($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Type\Weight::class);
+ $this->weights = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Required. A list of inclusive number of items upper bounds. The last value
+ * can be
+ * `"infinity"`. For example
+ * `["10", "50", "infinity"]` represents the headers
+ * "<= 10 items", "<= 50 items", and "> 50 items". Must be non-empty. Can
+ * only be set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated string number_of_items = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getNumberOfItems()
+ {
+ return $this->number_of_items;
+ }
+
+ /**
+ * Required. A list of inclusive number of items upper bounds. The last value
+ * can be
+ * `"infinity"`. For example
+ * `["10", "50", "infinity"]` represents the headers
+ * "<= 10 items", "<= 50 items", and "> 50 items". Must be non-empty. Can
+ * only be set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated string number_of_items = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setNumberOfItems($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->number_of_items = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Required. A list of postal group names. The last value can be
+ * `"all other locations"`. Example:
+ * `["zone 1", "zone 2", "all other locations"]`. The referred
+ * postal code groups must match the delivery country of the service. Must
+ * be non-empty. Can only be set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated string postal_code_group_names = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPostalCodeGroupNames()
+ {
+ return $this->postal_code_group_names;
+ }
+
+ /**
+ * Required. A list of postal group names. The last value can be
+ * `"all other locations"`. Example:
+ * `["zone 1", "zone 2", "all other locations"]`. The referred
+ * postal code groups must match the delivery country of the service. Must
+ * be non-empty. Can only be set if all other fields are not set.
+ *
+ * Generated from protobuf field repeated string postal_code_group_names = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPostalCodeGroupNames($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->postal_code_group_names = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Required. A list of location ID sets. Must be non-empty. Can only be set if
+ * all other fields are not set.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.LocationIdSet locations = 5 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLocations()
+ {
+ return $this->locations;
+ }
+
+ /**
+ * Required. A list of location ID sets. Must be non-empty. Can only be set if
+ * all other fields are not set.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.LocationIdSet locations = 5 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\LocationIdSet>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLocations($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\LocationIdSet::class);
+ $this->locations = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Homepage.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Homepage.php
new file mode 100644
index 000000000000..d3165059ba9e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Homepage.php
@@ -0,0 +1,153 @@
+google.shopping.merchant.accounts.v1beta.Homepage
+ */
+class Homepage extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the store's homepage.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Required. The URI (typically a URL) of the store's homepage.
+ *
+ * Generated from protobuf field optional string uri = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $uri = null;
+ /**
+ * Output only. Whether the homepage is claimed. See
+ * https://support.google.com/merchants/answer/176793.
+ *
+ * Generated from protobuf field bool claimed = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $claimed = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the store's homepage.
+ * Format: `accounts/{account}/homepage`
+ * @type string $uri
+ * Required. The URI (typically a URL) of the store's homepage.
+ * @type bool $claimed
+ * Output only. Whether the homepage is claimed. See
+ * https://support.google.com/merchants/answer/176793.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Homepage::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the store's homepage.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the store's homepage.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The URI (typically a URL) of the store's homepage.
+ *
+ * Generated from protobuf field optional string uri = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getUri()
+ {
+ return isset($this->uri) ? $this->uri : '';
+ }
+
+ public function hasUri()
+ {
+ return isset($this->uri);
+ }
+
+ public function clearUri()
+ {
+ unset($this->uri);
+ }
+
+ /**
+ * Required. The URI (typically a URL) of the store's homepage.
+ *
+ * Generated from protobuf field optional string uri = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->uri = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Whether the homepage is claimed. See
+ * https://support.google.com/merchants/answer/176793.
+ *
+ * Generated from protobuf field bool claimed = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return bool
+ */
+ public function getClaimed()
+ {
+ return $this->claimed;
+ }
+
+ /**
+ * Output only. Whether the homepage is claimed. See
+ * https://support.google.com/merchants/answer/176793.
+ *
+ * Generated from protobuf field bool claimed = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param bool $var
+ * @return $this
+ */
+ public function setClaimed($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->claimed = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/InsertShippingSettingsRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/InsertShippingSettingsRequest.php
new file mode 100644
index 000000000000..b7c047b3c076
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/InsertShippingSettingsRequest.php
@@ -0,0 +1,115 @@
+google.shopping.merchant.accounts.v1beta.InsertShippingSettingsRequest
+ */
+class InsertShippingSettingsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The account where this product will be inserted.
+ * Format: accounts/{account}
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $parent = '';
+ /**
+ * Required. The new version of the account.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.ShippingSettings shipping_setting = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $shipping_setting = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The account where this product will be inserted.
+ * Format: accounts/{account}
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\ShippingSettings $shipping_setting
+ * Required. The new version of the account.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The account where this product will be inserted.
+ * Format: accounts/{account}
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The account where this product will be inserted.
+ * Format: accounts/{account}
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The new version of the account.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.ShippingSettings shipping_setting = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\ShippingSettings|null
+ */
+ public function getShippingSetting()
+ {
+ return $this->shipping_setting;
+ }
+
+ public function hasShippingSetting()
+ {
+ return isset($this->shipping_setting);
+ }
+
+ public function clearShippingSetting()
+ {
+ unset($this->shipping_setting);
+ }
+
+ /**
+ * Required. The new version of the account.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.ShippingSettings shipping_setting = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\ShippingSettings $var
+ * @return $this
+ */
+ public function setShippingSetting($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\ShippingSettings::class);
+ $this->shipping_setting = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountIssuesRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountIssuesRequest.php
new file mode 100644
index 000000000000..b13adc133b5e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountIssuesRequest.php
@@ -0,0 +1,262 @@
+google.shopping.merchant.accounts.v1beta.ListAccountIssuesRequest
+ */
+class ListAccountIssuesRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The parent, which owns this collection of issues.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Optional. The maximum number of issues to return. The service may return
+ * fewer than this value. If unspecified, at most 50 users will be returned.
+ * The maximum value is 100; values above 100 will be coerced to 100
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_size = 0;
+ /**
+ * Optional. A page token, received from a previous `ListAccountIssues` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccountIssues` must
+ * match the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_token = '';
+ /**
+ * Optional. The issues in the response will have human-readable fields in the
+ * given language. The format is [BCP-47](https://tools.ietf.org/html/bcp47),
+ * such as `en-US` or `sr-Latn`. If not value is provided, `en-US` will be
+ * used.
+ *
+ * Generated from protobuf field string language_code = 4 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $language_code = '';
+ /**
+ * Optional. The [IANA](https://www.iana.org/time-zones) timezone used to
+ * localize times in human-readable fields. For example 'America/Los_Angeles'.
+ * If not set, 'America/Los_Angeles' will be used.
+ *
+ * Generated from protobuf field string time_zone = 5 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $time_zone = '';
+
+ /**
+ * @param string $parent Required. The parent, which owns this collection of issues.
+ * Format: `accounts/{account}`
+ * Please see {@see AccountIssueServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\ListAccountIssuesRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The parent, which owns this collection of issues.
+ * Format: `accounts/{account}`
+ * @type int $page_size
+ * Optional. The maximum number of issues to return. The service may return
+ * fewer than this value. If unspecified, at most 50 users will be returned.
+ * The maximum value is 100; values above 100 will be coerced to 100
+ * @type string $page_token
+ * Optional. A page token, received from a previous `ListAccountIssues` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccountIssues` must
+ * match the call that provided the page token.
+ * @type string $language_code
+ * Optional. The issues in the response will have human-readable fields in the
+ * given language. The format is [BCP-47](https://tools.ietf.org/html/bcp47),
+ * such as `en-US` or `sr-Latn`. If not value is provided, `en-US` will be
+ * used.
+ * @type string $time_zone
+ * Optional. The [IANA](https://www.iana.org/time-zones) timezone used to
+ * localize times in human-readable fields. For example 'America/Los_Angeles'.
+ * If not set, 'America/Los_Angeles' will be used.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accountissue::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The parent, which owns this collection of issues.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The parent, which owns this collection of issues.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The maximum number of issues to return. The service may return
+ * fewer than this value. If unspecified, at most 50 users will be returned.
+ * The maximum value is 100; values above 100 will be coerced to 100
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Optional. The maximum number of issues to return. The service may return
+ * fewer than this value. If unspecified, at most 50 users will be returned.
+ * The maximum value is 100; values above 100 will be coerced to 100
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListAccountIssues` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccountIssues` must
+ * match the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListAccountIssues` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccountIssues` must
+ * match the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The issues in the response will have human-readable fields in the
+ * given language. The format is [BCP-47](https://tools.ietf.org/html/bcp47),
+ * such as `en-US` or `sr-Latn`. If not value is provided, `en-US` will be
+ * used.
+ *
+ * Generated from protobuf field string language_code = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getLanguageCode()
+ {
+ return $this->language_code;
+ }
+
+ /**
+ * Optional. The issues in the response will have human-readable fields in the
+ * given language. The format is [BCP-47](https://tools.ietf.org/html/bcp47),
+ * such as `en-US` or `sr-Latn`. If not value is provided, `en-US` will be
+ * used.
+ *
+ * Generated from protobuf field string language_code = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->language_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The [IANA](https://www.iana.org/time-zones) timezone used to
+ * localize times in human-readable fields. For example 'America/Los_Angeles'.
+ * If not set, 'America/Los_Angeles' will be used.
+ *
+ * Generated from protobuf field string time_zone = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getTimeZone()
+ {
+ return $this->time_zone;
+ }
+
+ /**
+ * Optional. The [IANA](https://www.iana.org/time-zones) timezone used to
+ * localize times in human-readable fields. For example 'America/Los_Angeles'.
+ * If not set, 'America/Los_Angeles' will be used.
+ *
+ * Generated from protobuf field string time_zone = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setTimeZone($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->time_zone = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountIssuesResponse.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountIssuesResponse.php
new file mode 100644
index 000000000000..d628fd7c1f98
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountIssuesResponse.php
@@ -0,0 +1,105 @@
+google.shopping.merchant.accounts.v1beta.ListAccountIssuesResponse
+ */
+class ListAccountIssuesResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The issues from the specified account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountIssue account_issues = 1;
+ */
+ private $account_issues;
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\AccountIssue>|\Google\Protobuf\Internal\RepeatedField $account_issues
+ * The issues from the specified account.
+ * @type string $next_page_token
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accountissue::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The issues from the specified account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountIssue account_issues = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAccountIssues()
+ {
+ return $this->account_issues;
+ }
+
+ /**
+ * The issues from the specified account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountIssue account_issues = 1;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\AccountIssue>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAccountIssues($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\AccountIssue::class);
+ $this->account_issues = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountTaxRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountTaxRequest.php
new file mode 100644
index 000000000000..0bc45dadbf86
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountTaxRequest.php
@@ -0,0 +1,160 @@
+google.shopping.merchant.accounts.v1beta.ListAccountTaxRequest
+ */
+class ListAccountTaxRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The parent, which owns this collection of account tax.
+ * Format: accounts/{account}
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * The maximum number of tax settings to return in the response, used for
+ * paging.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ */
+ protected $page_size = 0;
+ /**
+ * The token returned by the previous request.
+ *
+ * Generated from protobuf field string page_token = 3;
+ */
+ protected $page_token = '';
+
+ /**
+ * @param string $parent Required. The parent, which owns this collection of account tax.
+ * Format: accounts/{account}
+ * Please see {@see AccountTaxServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\ListAccountTaxRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The parent, which owns this collection of account tax.
+ * Format: accounts/{account}
+ * @type int $page_size
+ * The maximum number of tax settings to return in the response, used for
+ * paging.
+ * @type string $page_token
+ * The token returned by the previous request.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\AccountTax::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The parent, which owns this collection of account tax.
+ * Format: accounts/{account}
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The parent, which owns this collection of account tax.
+ * Format: accounts/{account}
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * The maximum number of tax settings to return in the response, used for
+ * paging.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * The maximum number of tax settings to return in the response, used for
+ * paging.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * The token returned by the previous request.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * The token returned by the previous request.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountTaxResponse.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountTaxResponse.php
new file mode 100644
index 000000000000..886d936394fb
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountTaxResponse.php
@@ -0,0 +1,103 @@
+google.shopping.merchant.accounts.v1beta.ListAccountTaxResponse
+ */
+class ListAccountTaxResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Page of accounttax settings
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountTax account_taxes = 1;
+ */
+ private $account_taxes;
+ /**
+ * The token for the retrieval of the next page of account tax settings.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\AccountTax>|\Google\Protobuf\Internal\RepeatedField $account_taxes
+ * Page of accounttax settings
+ * @type string $next_page_token
+ * The token for the retrieval of the next page of account tax settings.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\AccountTax::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Page of accounttax settings
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountTax account_taxes = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAccountTaxes()
+ {
+ return $this->account_taxes;
+ }
+
+ /**
+ * Page of accounttax settings
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccountTax account_taxes = 1;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\AccountTax>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAccountTaxes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\AccountTax::class);
+ $this->account_taxes = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The token for the retrieval of the next page of account tax settings.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * The token for the retrieval of the next page of account tax settings.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountsRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountsRequest.php
new file mode 100644
index 000000000000..8f6df5eeb323
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountsRequest.php
@@ -0,0 +1,167 @@
+google.shopping.merchant.accounts.v1beta.ListAccountsRequest
+ */
+class ListAccountsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Optional. The maximum number of accounts to return. The service may return
+ * fewer than this value. If unspecified, at most 250 accounts are returned.
+ * The maximum value is 500; values above 500 are coerced to 500.
+ *
+ * Generated from protobuf field int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_size = 0;
+ /**
+ * Optional. A page token, received from a previous `ListAccounts` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccounts` must match
+ * the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_token = '';
+ /**
+ * Optional. Returns only accounts that match the
+ * [filter](/merchant/api/guides/accounts/filter).
+ * For more details, see the
+ * [filter syntax reference](/merchant/api/guides/accounts/filter-syntax).
+ *
+ * Generated from protobuf field string filter = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $filter = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $page_size
+ * Optional. The maximum number of accounts to return. The service may return
+ * fewer than this value. If unspecified, at most 250 accounts are returned.
+ * The maximum value is 500; values above 500 are coerced to 500.
+ * @type string $page_token
+ * Optional. A page token, received from a previous `ListAccounts` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccounts` must match
+ * the call that provided the page token.
+ * @type string $filter
+ * Optional. Returns only accounts that match the
+ * [filter](/merchant/api/guides/accounts/filter).
+ * For more details, see the
+ * [filter syntax reference](/merchant/api/guides/accounts/filter-syntax).
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Optional. The maximum number of accounts to return. The service may return
+ * fewer than this value. If unspecified, at most 250 accounts are returned.
+ * The maximum value is 500; values above 500 are coerced to 500.
+ *
+ * Generated from protobuf field int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Optional. The maximum number of accounts to return. The service may return
+ * fewer than this value. If unspecified, at most 250 accounts are returned.
+ * The maximum value is 500; values above 500 are coerced to 500.
+ *
+ * Generated from protobuf field int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListAccounts` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccounts` must match
+ * the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListAccounts` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccounts` must match
+ * the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Returns only accounts that match the
+ * [filter](/merchant/api/guides/accounts/filter).
+ * For more details, see the
+ * [filter syntax reference](/merchant/api/guides/accounts/filter-syntax).
+ *
+ * Generated from protobuf field string filter = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getFilter()
+ {
+ return $this->filter;
+ }
+
+ /**
+ * Optional. Returns only accounts that match the
+ * [filter](/merchant/api/guides/accounts/filter).
+ * For more details, see the
+ * [filter syntax reference](/merchant/api/guides/accounts/filter-syntax).
+ *
+ * Generated from protobuf field string filter = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setFilter($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->filter = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountsResponse.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountsResponse.php
new file mode 100644
index 000000000000..2657571c726f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListAccountsResponse.php
@@ -0,0 +1,105 @@
+google.shopping.merchant.accounts.v1beta.ListAccountsResponse
+ */
+class ListAccountsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The accounts matching the `ListAccountsRequest`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Account accounts = 1;
+ */
+ private $accounts;
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Account>|\Google\Protobuf\Internal\RepeatedField $accounts
+ * The accounts matching the `ListAccountsRequest`.
+ * @type string $next_page_token
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The accounts matching the `ListAccountsRequest`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Account accounts = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAccounts()
+ {
+ return $this->accounts;
+ }
+
+ /**
+ * The accounts matching the `ListAccountsRequest`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Account accounts = 1;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Account>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAccounts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Account::class);
+ $this->accounts = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListOnlineReturnPoliciesRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListOnlineReturnPoliciesRequest.php
new file mode 100644
index 000000000000..28df898b100c
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListOnlineReturnPoliciesRequest.php
@@ -0,0 +1,194 @@
+google.shopping.merchant.accounts.v1beta.ListOnlineReturnPoliciesRequest
+ */
+class ListOnlineReturnPoliciesRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The merchant account for which to list return policies.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Optional. The maximum number of `OnlineReturnPolicy` resources to return.
+ * The service returns fewer than this value if the number of return policies
+ * for the given merchant is less that than the `pageSize`. The default value
+ * is 10. The maximum value is 100; If a value higher than the maximum is
+ * specified, then the `pageSize` will default to the maximum
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_size = 0;
+ /**
+ * Optional. A page token, received from a previous `ListOnlineReturnPolicies`
+ * call. Provide the page token to retrieve the subsequent page.
+ * When paginating, all other parameters provided to
+ * `ListOnlineReturnPolicies` must match the call that provided the page
+ * token. The token returned as
+ * [nextPageToken][google.shopping.merchant.accounts.v1beta.ListOnlineReturnPoliciesResponse.next_page_token]
+ * in the response to the previous request.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_token = '';
+
+ /**
+ * @param string $parent Required. The merchant account for which to list return policies.
+ * Format: `accounts/{account}`
+ * Please see {@see OnlineReturnPolicyServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\ListOnlineReturnPoliciesRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The merchant account for which to list return policies.
+ * Format: `accounts/{account}`
+ * @type int $page_size
+ * Optional. The maximum number of `OnlineReturnPolicy` resources to return.
+ * The service returns fewer than this value if the number of return policies
+ * for the given merchant is less that than the `pageSize`. The default value
+ * is 10. The maximum value is 100; If a value higher than the maximum is
+ * specified, then the `pageSize` will default to the maximum
+ * @type string $page_token
+ * Optional. A page token, received from a previous `ListOnlineReturnPolicies`
+ * call. Provide the page token to retrieve the subsequent page.
+ * When paginating, all other parameters provided to
+ * `ListOnlineReturnPolicies` must match the call that provided the page
+ * token. The token returned as
+ * [nextPageToken][google.shopping.merchant.accounts.v1beta.ListOnlineReturnPoliciesResponse.next_page_token]
+ * in the response to the previous request.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\OnlineReturnPolicy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The merchant account for which to list return policies.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The merchant account for which to list return policies.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The maximum number of `OnlineReturnPolicy` resources to return.
+ * The service returns fewer than this value if the number of return policies
+ * for the given merchant is less that than the `pageSize`. The default value
+ * is 10. The maximum value is 100; If a value higher than the maximum is
+ * specified, then the `pageSize` will default to the maximum
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Optional. The maximum number of `OnlineReturnPolicy` resources to return.
+ * The service returns fewer than this value if the number of return policies
+ * for the given merchant is less that than the `pageSize`. The default value
+ * is 10. The maximum value is 100; If a value higher than the maximum is
+ * specified, then the `pageSize` will default to the maximum
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListOnlineReturnPolicies`
+ * call. Provide the page token to retrieve the subsequent page.
+ * When paginating, all other parameters provided to
+ * `ListOnlineReturnPolicies` must match the call that provided the page
+ * token. The token returned as
+ * [nextPageToken][google.shopping.merchant.accounts.v1beta.ListOnlineReturnPoliciesResponse.next_page_token]
+ * in the response to the previous request.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListOnlineReturnPolicies`
+ * call. Provide the page token to retrieve the subsequent page.
+ * When paginating, all other parameters provided to
+ * `ListOnlineReturnPolicies` must match the call that provided the page
+ * token. The token returned as
+ * [nextPageToken][google.shopping.merchant.accounts.v1beta.ListOnlineReturnPoliciesResponse.next_page_token]
+ * in the response to the previous request.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListOnlineReturnPoliciesResponse.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListOnlineReturnPoliciesResponse.php
new file mode 100644
index 000000000000..5c81dd796a21
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListOnlineReturnPoliciesResponse.php
@@ -0,0 +1,105 @@
+google.shopping.merchant.accounts.v1beta.ListOnlineReturnPoliciesResponse
+ */
+class ListOnlineReturnPoliciesResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The retrieved return policies.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy online_return_policies = 1;
+ */
+ private $online_return_policies;
+ /**
+ * A token, which can be sent as `pageToken` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy>|\Google\Protobuf\Internal\RepeatedField $online_return_policies
+ * The retrieved return policies.
+ * @type string $next_page_token
+ * A token, which can be sent as `pageToken` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\OnlineReturnPolicy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The retrieved return policies.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy online_return_policies = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getOnlineReturnPolicies()
+ {
+ return $this->online_return_policies;
+ }
+
+ /**
+ * The retrieved return policies.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy online_return_policies = 1;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setOnlineReturnPolicies($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy::class);
+ $this->online_return_policies = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A token, which can be sent as `pageToken` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * A token, which can be sent as `pageToken` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListProgramsRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListProgramsRequest.php
new file mode 100644
index 000000000000..058e8e269f61
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListProgramsRequest.php
@@ -0,0 +1,166 @@
+google.shopping.merchant.accounts.v1beta.ListProgramsRequest
+ */
+class ListProgramsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the account for which to retrieve all programs.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Optional. The maximum number of programs to return in a single response. If
+ * unspecified (or 0), a default size of 1000 is used. The maximum value is
+ * 1000; values above 1000 will be coerced to 1000.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_size = 0;
+ /**
+ * Optional. A continuation token, received from a previous `ListPrograms`
+ * call. Provide this to retrieve the next page.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_token = '';
+
+ /**
+ * @param string $parent Required. The name of the account for which to retrieve all programs.
+ * Format: `accounts/{account}`
+ * Please see {@see ProgramsServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\ListProgramsRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The name of the account for which to retrieve all programs.
+ * Format: `accounts/{account}`
+ * @type int $page_size
+ * Optional. The maximum number of programs to return in a single response. If
+ * unspecified (or 0), a default size of 1000 is used. The maximum value is
+ * 1000; values above 1000 will be coerced to 1000.
+ * @type string $page_token
+ * Optional. A continuation token, received from a previous `ListPrograms`
+ * call. Provide this to retrieve the next page.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Programs::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the account for which to retrieve all programs.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The name of the account for which to retrieve all programs.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The maximum number of programs to return in a single response. If
+ * unspecified (or 0), a default size of 1000 is used. The maximum value is
+ * 1000; values above 1000 will be coerced to 1000.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Optional. The maximum number of programs to return in a single response. If
+ * unspecified (or 0), a default size of 1000 is used. The maximum value is
+ * 1000; values above 1000 will be coerced to 1000.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A continuation token, received from a previous `ListPrograms`
+ * call. Provide this to retrieve the next page.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Optional. A continuation token, received from a previous `ListPrograms`
+ * call. Provide this to retrieve the next page.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListProgramsResponse.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListProgramsResponse.php
new file mode 100644
index 000000000000..1fde590a5c20
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListProgramsResponse.php
@@ -0,0 +1,105 @@
+google.shopping.merchant.accounts.v1beta.ListProgramsResponse
+ */
+class ListProgramsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The programs for the given account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Program programs = 1;
+ */
+ private $programs;
+ /**
+ * A token that can be sent as `page_token` to retrieve the next page. If this
+ * field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Program>|\Google\Protobuf\Internal\RepeatedField $programs
+ * The programs for the given account.
+ * @type string $next_page_token
+ * A token that can be sent as `page_token` to retrieve the next page. If this
+ * field is omitted, there are no subsequent pages.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Programs::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The programs for the given account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Program programs = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPrograms()
+ {
+ return $this->programs;
+ }
+
+ /**
+ * The programs for the given account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Program programs = 1;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Program>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPrograms($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Program::class);
+ $this->programs = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A token that can be sent as `page_token` to retrieve the next page. If this
+ * field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * A token that can be sent as `page_token` to retrieve the next page. If this
+ * field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListRegionsRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListRegionsRequest.php
new file mode 100644
index 000000000000..7ac56faeee04
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListRegionsRequest.php
@@ -0,0 +1,178 @@
+google.shopping.merchant.accounts.v1beta.ListRegionsRequest
+ */
+class ListRegionsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The account to list regions for.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Optional. The maximum number of regions to return. The service may return
+ * fewer than this value.
+ * If unspecified, at most 50 regions will be returned.
+ * The maximum value is 1000; values above 1000 will be coerced to 1000.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_size = 0;
+ /**
+ * Optional. A page token, received from a previous `ListRegions` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListRegions` must
+ * match the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_token = '';
+
+ /**
+ * @param string $parent Required. The account to list regions for.
+ * Format: `accounts/{account}`
+ * Please see {@see RegionsServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\ListRegionsRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The account to list regions for.
+ * Format: `accounts/{account}`
+ * @type int $page_size
+ * Optional. The maximum number of regions to return. The service may return
+ * fewer than this value.
+ * If unspecified, at most 50 regions will be returned.
+ * The maximum value is 1000; values above 1000 will be coerced to 1000.
+ * @type string $page_token
+ * Optional. A page token, received from a previous `ListRegions` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListRegions` must
+ * match the call that provided the page token.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The account to list regions for.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The account to list regions for.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The maximum number of regions to return. The service may return
+ * fewer than this value.
+ * If unspecified, at most 50 regions will be returned.
+ * The maximum value is 1000; values above 1000 will be coerced to 1000.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Optional. The maximum number of regions to return. The service may return
+ * fewer than this value.
+ * If unspecified, at most 50 regions will be returned.
+ * The maximum value is 1000; values above 1000 will be coerced to 1000.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListRegions` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListRegions` must
+ * match the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListRegions` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListRegions` must
+ * match the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListRegionsResponse.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListRegionsResponse.php
new file mode 100644
index 000000000000..2808b4627115
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListRegionsResponse.php
@@ -0,0 +1,105 @@
+google.shopping.merchant.accounts.v1beta.ListRegionsResponse
+ */
+class ListRegionsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The regions from the specified merchant.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Region regions = 1;
+ */
+ private $regions;
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Region>|\Google\Protobuf\Internal\RepeatedField $regions
+ * The regions from the specified merchant.
+ * @type string $next_page_token
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The regions from the specified merchant.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Region regions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRegions()
+ {
+ return $this->regions;
+ }
+
+ /**
+ * The regions from the specified merchant.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Region regions = 1;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Region>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRegions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Region::class);
+ $this->regions = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListSubAccountsRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListSubAccountsRequest.php
new file mode 100644
index 000000000000..b2c73ff68b86
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListSubAccountsRequest.php
@@ -0,0 +1,174 @@
+google.shopping.merchant.accounts.v1beta.ListSubAccountsRequest
+ */
+class ListSubAccountsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The parent account.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string provider = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $provider = '';
+ /**
+ * Optional. The maximum number of accounts to return. The service may return
+ * fewer than this value. If unspecified, at most 250 accounts are returned.
+ * The maximum value is 500; values above 500 are coerced to 500.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_size = 0;
+ /**
+ * Optional. A page token, received from a previous `ListAccounts` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccounts` must match
+ * the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_token = '';
+
+ /**
+ * @param string $provider Required. The parent account.
+ * Format: `accounts/{account}`
+ * Please see {@see AccountsServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\ListSubAccountsRequest
+ *
+ * @experimental
+ */
+ public static function build(string $provider): self
+ {
+ return (new self())
+ ->setProvider($provider);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $provider
+ * Required. The parent account.
+ * Format: `accounts/{account}`
+ * @type int $page_size
+ * Optional. The maximum number of accounts to return. The service may return
+ * fewer than this value. If unspecified, at most 250 accounts are returned.
+ * The maximum value is 500; values above 500 are coerced to 500.
+ * @type string $page_token
+ * Optional. A page token, received from a previous `ListAccounts` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccounts` must match
+ * the call that provided the page token.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The parent account.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string provider = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getProvider()
+ {
+ return $this->provider;
+ }
+
+ /**
+ * Required. The parent account.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string provider = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setProvider($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->provider = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The maximum number of accounts to return. The service may return
+ * fewer than this value. If unspecified, at most 250 accounts are returned.
+ * The maximum value is 500; values above 500 are coerced to 500.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Optional. The maximum number of accounts to return. The service may return
+ * fewer than this value. If unspecified, at most 250 accounts are returned.
+ * The maximum value is 500; values above 500 are coerced to 500.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListAccounts` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccounts` must match
+ * the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListAccounts` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListAccounts` must match
+ * the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListSubAccountsResponse.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListSubAccountsResponse.php
new file mode 100644
index 000000000000..92b97a283909
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListSubAccountsResponse.php
@@ -0,0 +1,105 @@
+google.shopping.merchant.accounts.v1beta.ListSubAccountsResponse
+ */
+class ListSubAccountsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The accounts for which the given parent account is an aggregator.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Account accounts = 1;
+ */
+ private $accounts;
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Account>|\Google\Protobuf\Internal\RepeatedField $accounts
+ * The accounts for which the given parent account is an aggregator.
+ * @type string $next_page_token
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The accounts for which the given parent account is an aggregator.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Account accounts = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAccounts()
+ {
+ return $this->accounts;
+ }
+
+ /**
+ * The accounts for which the given parent account is an aggregator.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Account accounts = 1;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Account>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAccounts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Account::class);
+ $this->accounts = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListUsersRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListUsersRequest.php
new file mode 100644
index 000000000000..9cf5640d80dd
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListUsersRequest.php
@@ -0,0 +1,174 @@
+google.shopping.merchant.accounts.v1beta.ListUsersRequest
+ */
+class ListUsersRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The parent, which owns this collection of users.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Optional. The maximum number of users to return. The service may return
+ * fewer than this value. If unspecified, at most 50 users will be returned.
+ * The maximum value is 100; values above 100 will be coerced to 100
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_size = 0;
+ /**
+ * Optional. A page token, received from a previous `ListUsers` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListUsers` must match
+ * the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_token = '';
+
+ /**
+ * @param string $parent Required. The parent, which owns this collection of users.
+ * Format: `accounts/{account}`
+ * Please see {@see UserServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\ListUsersRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The parent, which owns this collection of users.
+ * Format: `accounts/{account}`
+ * @type int $page_size
+ * Optional. The maximum number of users to return. The service may return
+ * fewer than this value. If unspecified, at most 50 users will be returned.
+ * The maximum value is 100; values above 100 will be coerced to 100
+ * @type string $page_token
+ * Optional. A page token, received from a previous `ListUsers` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListUsers` must match
+ * the call that provided the page token.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\User::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The parent, which owns this collection of users.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The parent, which owns this collection of users.
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The maximum number of users to return. The service may return
+ * fewer than this value. If unspecified, at most 50 users will be returned.
+ * The maximum value is 100; values above 100 will be coerced to 100
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Optional. The maximum number of users to return. The service may return
+ * fewer than this value. If unspecified, at most 50 users will be returned.
+ * The maximum value is 100; values above 100 will be coerced to 100
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListUsers` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListUsers` must match
+ * the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Optional. A page token, received from a previous `ListUsers` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListUsers` must match
+ * the call that provided the page token.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListUsersResponse.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListUsersResponse.php
new file mode 100644
index 000000000000..524503824a7b
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ListUsersResponse.php
@@ -0,0 +1,105 @@
+google.shopping.merchant.accounts.v1beta.ListUsersResponse
+ */
+class ListUsersResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The users from the specified account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.User users = 1;
+ */
+ private $users;
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\User>|\Google\Protobuf\Internal\RepeatedField $users
+ * The users from the specified account.
+ * @type string $next_page_token
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\User::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The users from the specified account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.User users = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUsers()
+ {
+ return $this->users;
+ }
+
+ /**
+ * The users from the specified account.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.User users = 1;
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\User>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUsers($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\User::class);
+ $this->users = $arr;
+
+ return $this;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * A token, which can be sent as `page_token` to retrieve the next page.
+ * If this field is omitted, there are no subsequent pages.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/LocationIdSet.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/LocationIdSet.php
new file mode 100644
index 000000000000..5fd32032012b
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/LocationIdSet.php
@@ -0,0 +1,84 @@
+google.shopping.merchant.accounts.v1beta.LocationIdSet
+ */
+class LocationIdSet extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. A non-empty list of
+ * [location
+ * IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+ * They must all be of the same location type (For
+ * example, state).
+ *
+ * Generated from protobuf field repeated string location_ids = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $location_ids;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array|\Google\Protobuf\Internal\RepeatedField $location_ids
+ * Required. A non-empty list of
+ * [location
+ * IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+ * They must all be of the same location type (For
+ * example, state).
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. A non-empty list of
+ * [location
+ * IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+ * They must all be of the same location type (For
+ * example, state).
+ *
+ * Generated from protobuf field repeated string location_ids = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLocationIds()
+ {
+ return $this->location_ids;
+ }
+
+ /**
+ * Required. A non-empty list of
+ * [location
+ * IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+ * They must all be of the same location type (For
+ * example, state).
+ *
+ * Generated from protobuf field repeated string location_ids = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLocationIds($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->location_ids = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/MinimumOrderValueTable.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/MinimumOrderValueTable.php
new file mode 100644
index 000000000000..f045fb7b7fc6
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/MinimumOrderValueTable.php
@@ -0,0 +1,83 @@
+google.shopping.merchant.accounts.v1beta.MinimumOrderValueTable
+ */
+class MinimumOrderValueTable extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. A list of store code sets sharing the same minimum order value
+ * (MOV). At least two sets are required and the last one must be empty, which
+ * signifies 'MOV for all other stores'. Each store code can only appear once
+ * across all the sets. All prices within a service must have the same
+ * currency.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.MinimumOrderValueTable.StoreCodeSetWithMov store_code_set_with_movs = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $store_code_set_with_movs;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\MinimumOrderValueTable\StoreCodeSetWithMov>|\Google\Protobuf\Internal\RepeatedField $store_code_set_with_movs
+ * Required. A list of store code sets sharing the same minimum order value
+ * (MOV). At least two sets are required and the last one must be empty, which
+ * signifies 'MOV for all other stores'. Each store code can only appear once
+ * across all the sets. All prices within a service must have the same
+ * currency.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. A list of store code sets sharing the same minimum order value
+ * (MOV). At least two sets are required and the last one must be empty, which
+ * signifies 'MOV for all other stores'. Each store code can only appear once
+ * across all the sets. All prices within a service must have the same
+ * currency.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.MinimumOrderValueTable.StoreCodeSetWithMov store_code_set_with_movs = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getStoreCodeSetWithMovs()
+ {
+ return $this->store_code_set_with_movs;
+ }
+
+ /**
+ * Required. A list of store code sets sharing the same minimum order value
+ * (MOV). At least two sets are required and the last one must be empty, which
+ * signifies 'MOV for all other stores'. Each store code can only appear once
+ * across all the sets. All prices within a service must have the same
+ * currency.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.MinimumOrderValueTable.StoreCodeSetWithMov store_code_set_with_movs = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\MinimumOrderValueTable\StoreCodeSetWithMov>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setStoreCodeSetWithMovs($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\MinimumOrderValueTable\StoreCodeSetWithMov::class);
+ $this->store_code_set_with_movs = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/MinimumOrderValueTable/StoreCodeSetWithMov.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/MinimumOrderValueTable/StoreCodeSetWithMov.php
new file mode 100644
index 000000000000..edf974f2207d
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/MinimumOrderValueTable/StoreCodeSetWithMov.php
@@ -0,0 +1,118 @@
+google.shopping.merchant.accounts.v1beta.MinimumOrderValueTable.StoreCodeSetWithMov
+ */
+class StoreCodeSetWithMov extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Optional. A list of unique store codes or empty for the catch all.
+ *
+ * Generated from protobuf field repeated string store_codes = 1 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $store_codes;
+ /**
+ * The minimum order value for the given stores.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price value = 2;
+ */
+ protected $value = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array|\Google\Protobuf\Internal\RepeatedField $store_codes
+ * Optional. A list of unique store codes or empty for the catch all.
+ * @type \Google\Shopping\Type\Price $value
+ * The minimum order value for the given stores.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Optional. A list of unique store codes or empty for the catch all.
+ *
+ * Generated from protobuf field repeated string store_codes = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getStoreCodes()
+ {
+ return $this->store_codes;
+ }
+
+ /**
+ * Optional. A list of unique store codes or empty for the catch all.
+ *
+ * Generated from protobuf field repeated string store_codes = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setStoreCodes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->store_codes = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The minimum order value for the given stores.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price value = 2;
+ * @return \Google\Shopping\Type\Price|null
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ public function hasValue()
+ {
+ return isset($this->value);
+ }
+
+ public function clearValue()
+ {
+ unset($this->value);
+ }
+
+ /**
+ * The minimum order value for the given stores.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price value = 2;
+ * @param \Google\Shopping\Type\Price $var
+ * @return $this
+ */
+ public function setValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Type\Price::class);
+ $this->value = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(StoreCodeSetWithMov::class, \Google\Shopping\Merchant\Accounts\V1beta\MinimumOrderValueTable_StoreCodeSetWithMov::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy.php
new file mode 100644
index 000000000000..e89bfa020e98
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy.php
@@ -0,0 +1,605 @@
+google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy
+ */
+class OnlineReturnPolicy extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The name of the `OnlineReturnPolicy` resource.
+ * Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Output only. Return policy ID generated by Google.
+ *
+ * Generated from protobuf field string return_policy_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $return_policy_id = '';
+ /**
+ * This field represents the unique user-defined label of the return policy.
+ * It is important to note that the same label cannot be used in different
+ * return policies for the same country. Unless a product specifies a specific
+ * label attribute, policies will be automatically labeled as 'default'.
+ * To assign a custom return policy to certain product groups, follow the
+ * instructions provided in the [Return policy label]
+ * (https://support.google.com/merchants/answer/9445425).
+ * The label can contain up to 50 characters.
+ *
+ * Generated from protobuf field string label = 3;
+ */
+ protected $label = '';
+ /**
+ * The countries of sale where the return policy applies. The values
+ * must be a valid 2 letter ISO 3166 code.
+ *
+ * Generated from protobuf field repeated string countries = 4;
+ */
+ private $countries;
+ /**
+ * The return policy.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.Policy policy = 5;
+ */
+ protected $policy = null;
+ /**
+ * The restocking fee that applies to all return reason categories. This would
+ * be treated as a free restocking fee if the value is not set.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.RestockingFee restocking_fee = 6;
+ */
+ protected $restocking_fee = null;
+ /**
+ * The return methods of how customers can return an item. This value is
+ * required to not be empty unless the type of return policy is noReturns.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnMethod return_methods = 7;
+ */
+ private $return_methods;
+ /**
+ * The item conditions accepted for returns must not be empty unless the type
+ * of return policy is 'noReturns'.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ItemCondition item_conditions = 8;
+ */
+ private $item_conditions;
+ /**
+ * The return shipping fee. Should be set only when customer need to download
+ * and print the return label.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnShippingFee return_shipping_fee = 9;
+ */
+ protected $return_shipping_fee = null;
+ /**
+ * The return policy uri. This can used by Google to do a sanity check for the
+ * policy. It must be a valid URL.
+ *
+ * Generated from protobuf field string return_policy_uri = 10;
+ */
+ protected $return_policy_uri = '';
+ /**
+ * This field specifies if merchant only accepts defective products for
+ * returns, and this field is required.
+ *
+ * Generated from protobuf field optional bool accept_defective_only = 11;
+ */
+ protected $accept_defective_only = null;
+ /**
+ * The field specifies the number of days it takes for merchants to process
+ * refunds, field is optional.
+ *
+ * Generated from protobuf field optional int32 process_refund_days = 12;
+ */
+ protected $process_refund_days = null;
+ /**
+ * This field specifies if merchant allows customers to exchange products,
+ * this field is required.
+ *
+ * Generated from protobuf field optional bool accept_exchange = 13;
+ */
+ protected $accept_exchange = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The name of the `OnlineReturnPolicy` resource.
+ * Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`
+ * @type string $return_policy_id
+ * Output only. Return policy ID generated by Google.
+ * @type string $label
+ * This field represents the unique user-defined label of the return policy.
+ * It is important to note that the same label cannot be used in different
+ * return policies for the same country. Unless a product specifies a specific
+ * label attribute, policies will be automatically labeled as 'default'.
+ * To assign a custom return policy to certain product groups, follow the
+ * instructions provided in the [Return policy label]
+ * (https://support.google.com/merchants/answer/9445425).
+ * The label can contain up to 50 characters.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $countries
+ * The countries of sale where the return policy applies. The values
+ * must be a valid 2 letter ISO 3166 code.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\Policy $policy
+ * The return policy.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\RestockingFee $restocking_fee
+ * The restocking fee that applies to all return reason categories. This would
+ * be treated as a free restocking fee if the value is not set.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $return_methods
+ * The return methods of how customers can return an item. This value is
+ * required to not be empty unless the type of return policy is noReturns.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $item_conditions
+ * The item conditions accepted for returns must not be empty unless the type
+ * of return policy is 'noReturns'.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\ReturnShippingFee $return_shipping_fee
+ * The return shipping fee. Should be set only when customer need to download
+ * and print the return label.
+ * @type string $return_policy_uri
+ * The return policy uri. This can used by Google to do a sanity check for the
+ * policy. It must be a valid URL.
+ * @type bool $accept_defective_only
+ * This field specifies if merchant only accepts defective products for
+ * returns, and this field is required.
+ * @type int $process_refund_days
+ * The field specifies the number of days it takes for merchants to process
+ * refunds, field is optional.
+ * @type bool $accept_exchange
+ * This field specifies if merchant allows customers to exchange products,
+ * this field is required.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\OnlineReturnPolicy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The name of the `OnlineReturnPolicy` resource.
+ * Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The name of the `OnlineReturnPolicy` resource.
+ * Format: `accounts/{account}/onlineReturnPolicies/{return_policy}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Return policy ID generated by Google.
+ *
+ * Generated from protobuf field string return_policy_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getReturnPolicyId()
+ {
+ return $this->return_policy_id;
+ }
+
+ /**
+ * Output only. Return policy ID generated by Google.
+ *
+ * Generated from protobuf field string return_policy_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setReturnPolicyId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->return_policy_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * This field represents the unique user-defined label of the return policy.
+ * It is important to note that the same label cannot be used in different
+ * return policies for the same country. Unless a product specifies a specific
+ * label attribute, policies will be automatically labeled as 'default'.
+ * To assign a custom return policy to certain product groups, follow the
+ * instructions provided in the [Return policy label]
+ * (https://support.google.com/merchants/answer/9445425).
+ * The label can contain up to 50 characters.
+ *
+ * Generated from protobuf field string label = 3;
+ * @return string
+ */
+ public function getLabel()
+ {
+ return $this->label;
+ }
+
+ /**
+ * This field represents the unique user-defined label of the return policy.
+ * It is important to note that the same label cannot be used in different
+ * return policies for the same country. Unless a product specifies a specific
+ * label attribute, policies will be automatically labeled as 'default'.
+ * To assign a custom return policy to certain product groups, follow the
+ * instructions provided in the [Return policy label]
+ * (https://support.google.com/merchants/answer/9445425).
+ * The label can contain up to 50 characters.
+ *
+ * Generated from protobuf field string label = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setLabel($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->label = $var;
+
+ return $this;
+ }
+
+ /**
+ * The countries of sale where the return policy applies. The values
+ * must be a valid 2 letter ISO 3166 code.
+ *
+ * Generated from protobuf field repeated string countries = 4;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCountries()
+ {
+ return $this->countries;
+ }
+
+ /**
+ * The countries of sale where the return policy applies. The values
+ * must be a valid 2 letter ISO 3166 code.
+ *
+ * Generated from protobuf field repeated string countries = 4;
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setCountries($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->countries = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The return policy.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.Policy policy = 5;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\Policy|null
+ */
+ public function getPolicy()
+ {
+ return $this->policy;
+ }
+
+ public function hasPolicy()
+ {
+ return isset($this->policy);
+ }
+
+ public function clearPolicy()
+ {
+ unset($this->policy);
+ }
+
+ /**
+ * The return policy.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.Policy policy = 5;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\Policy $var
+ * @return $this
+ */
+ public function setPolicy($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\Policy::class);
+ $this->policy = $var;
+
+ return $this;
+ }
+
+ /**
+ * The restocking fee that applies to all return reason categories. This would
+ * be treated as a free restocking fee if the value is not set.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.RestockingFee restocking_fee = 6;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\RestockingFee|null
+ */
+ public function getRestockingFee()
+ {
+ return $this->restocking_fee;
+ }
+
+ public function hasRestockingFee()
+ {
+ return isset($this->restocking_fee);
+ }
+
+ public function clearRestockingFee()
+ {
+ unset($this->restocking_fee);
+ }
+
+ /**
+ * The restocking fee that applies to all return reason categories. This would
+ * be treated as a free restocking fee if the value is not set.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.RestockingFee restocking_fee = 6;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\RestockingFee $var
+ * @return $this
+ */
+ public function setRestockingFee($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\RestockingFee::class);
+ $this->restocking_fee = $var;
+
+ return $this;
+ }
+
+ /**
+ * The return methods of how customers can return an item. This value is
+ * required to not be empty unless the type of return policy is noReturns.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnMethod return_methods = 7;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getReturnMethods()
+ {
+ return $this->return_methods;
+ }
+
+ /**
+ * The return methods of how customers can return an item. This value is
+ * required to not be empty unless the type of return policy is noReturns.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnMethod return_methods = 7;
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setReturnMethods($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\ReturnMethod::class);
+ $this->return_methods = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The item conditions accepted for returns must not be empty unless the type
+ * of return policy is 'noReturns'.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ItemCondition item_conditions = 8;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getItemConditions()
+ {
+ return $this->item_conditions;
+ }
+
+ /**
+ * The item conditions accepted for returns must not be empty unless the type
+ * of return policy is 'noReturns'.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ItemCondition item_conditions = 8;
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setItemConditions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\ItemCondition::class);
+ $this->item_conditions = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The return shipping fee. Should be set only when customer need to download
+ * and print the return label.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnShippingFee return_shipping_fee = 9;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\ReturnShippingFee|null
+ */
+ public function getReturnShippingFee()
+ {
+ return $this->return_shipping_fee;
+ }
+
+ public function hasReturnShippingFee()
+ {
+ return isset($this->return_shipping_fee);
+ }
+
+ public function clearReturnShippingFee()
+ {
+ unset($this->return_shipping_fee);
+ }
+
+ /**
+ * The return shipping fee. Should be set only when customer need to download
+ * and print the return label.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnShippingFee return_shipping_fee = 9;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\ReturnShippingFee $var
+ * @return $this
+ */
+ public function setReturnShippingFee($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\ReturnShippingFee::class);
+ $this->return_shipping_fee = $var;
+
+ return $this;
+ }
+
+ /**
+ * The return policy uri. This can used by Google to do a sanity check for the
+ * policy. It must be a valid URL.
+ *
+ * Generated from protobuf field string return_policy_uri = 10;
+ * @return string
+ */
+ public function getReturnPolicyUri()
+ {
+ return $this->return_policy_uri;
+ }
+
+ /**
+ * The return policy uri. This can used by Google to do a sanity check for the
+ * policy. It must be a valid URL.
+ *
+ * Generated from protobuf field string return_policy_uri = 10;
+ * @param string $var
+ * @return $this
+ */
+ public function setReturnPolicyUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->return_policy_uri = $var;
+
+ return $this;
+ }
+
+ /**
+ * This field specifies if merchant only accepts defective products for
+ * returns, and this field is required.
+ *
+ * Generated from protobuf field optional bool accept_defective_only = 11;
+ * @return bool
+ */
+ public function getAcceptDefectiveOnly()
+ {
+ return isset($this->accept_defective_only) ? $this->accept_defective_only : false;
+ }
+
+ public function hasAcceptDefectiveOnly()
+ {
+ return isset($this->accept_defective_only);
+ }
+
+ public function clearAcceptDefectiveOnly()
+ {
+ unset($this->accept_defective_only);
+ }
+
+ /**
+ * This field specifies if merchant only accepts defective products for
+ * returns, and this field is required.
+ *
+ * Generated from protobuf field optional bool accept_defective_only = 11;
+ * @param bool $var
+ * @return $this
+ */
+ public function setAcceptDefectiveOnly($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->accept_defective_only = $var;
+
+ return $this;
+ }
+
+ /**
+ * The field specifies the number of days it takes for merchants to process
+ * refunds, field is optional.
+ *
+ * Generated from protobuf field optional int32 process_refund_days = 12;
+ * @return int
+ */
+ public function getProcessRefundDays()
+ {
+ return isset($this->process_refund_days) ? $this->process_refund_days : 0;
+ }
+
+ public function hasProcessRefundDays()
+ {
+ return isset($this->process_refund_days);
+ }
+
+ public function clearProcessRefundDays()
+ {
+ unset($this->process_refund_days);
+ }
+
+ /**
+ * The field specifies the number of days it takes for merchants to process
+ * refunds, field is optional.
+ *
+ * Generated from protobuf field optional int32 process_refund_days = 12;
+ * @param int $var
+ * @return $this
+ */
+ public function setProcessRefundDays($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->process_refund_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * This field specifies if merchant allows customers to exchange products,
+ * this field is required.
+ *
+ * Generated from protobuf field optional bool accept_exchange = 13;
+ * @return bool
+ */
+ public function getAcceptExchange()
+ {
+ return isset($this->accept_exchange) ? $this->accept_exchange : false;
+ }
+
+ public function hasAcceptExchange()
+ {
+ return isset($this->accept_exchange);
+ }
+
+ public function clearAcceptExchange()
+ {
+ unset($this->accept_exchange);
+ }
+
+ /**
+ * This field specifies if merchant allows customers to exchange products,
+ * this field is required.
+ *
+ * Generated from protobuf field optional bool accept_exchange = 13;
+ * @param bool $var
+ * @return $this
+ */
+ public function setAcceptExchange($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->accept_exchange = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ItemCondition.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ItemCondition.php
new file mode 100644
index 000000000000..4221e41703df
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ItemCondition.php
@@ -0,0 +1,68 @@
+google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ItemCondition
+ */
+class ItemCondition
+{
+ /**
+ * Default value. This value is unused.
+ *
+ * Generated from protobuf enum ITEM_CONDITION_UNSPECIFIED = 0;
+ */
+ const ITEM_CONDITION_UNSPECIFIED = 0;
+ /**
+ * New.
+ *
+ * Generated from protobuf enum NEW = 1;
+ */
+ const PBNEW = 1;
+ /**
+ * Used.
+ *
+ * Generated from protobuf enum USED = 2;
+ */
+ const USED = 2;
+
+ private static $valueToName = [
+ self::ITEM_CONDITION_UNSPECIFIED => 'ITEM_CONDITION_UNSPECIFIED',
+ self::PBNEW => 'NEW',
+ self::USED => 'USED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ $pbconst = __CLASS__. '::PB' . strtoupper($name);
+ if (!defined($pbconst)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($pbconst);
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(ItemCondition::class, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy_ItemCondition::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/Policy.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/Policy.php
new file mode 100644
index 000000000000..9d316231dcb8
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/Policy.php
@@ -0,0 +1,112 @@
+google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.Policy
+ */
+class Policy extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Policy type.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.Policy.Type type = 1;
+ */
+ protected $type = 0;
+ /**
+ * The number of days items can be returned after delivery, where one day
+ * is defined as 24 hours after the delivery timestamp. Required for
+ * `NUMBER_OF_DAYS_AFTER_DELIVERY` returns.
+ *
+ * Generated from protobuf field int64 days = 2;
+ */
+ protected $days = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Policy type.
+ * @type int|string $days
+ * The number of days items can be returned after delivery, where one day
+ * is defined as 24 hours after the delivery timestamp. Required for
+ * `NUMBER_OF_DAYS_AFTER_DELIVERY` returns.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\OnlineReturnPolicy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Policy type.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.Policy.Type type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Policy type.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.Policy.Type type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\Policy\Type::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of days items can be returned after delivery, where one day
+ * is defined as 24 hours after the delivery timestamp. Required for
+ * `NUMBER_OF_DAYS_AFTER_DELIVERY` returns.
+ *
+ * Generated from protobuf field int64 days = 2;
+ * @return int|string
+ */
+ public function getDays()
+ {
+ return $this->days;
+ }
+
+ /**
+ * The number of days items can be returned after delivery, where one day
+ * is defined as 24 hours after the delivery timestamp. Required for
+ * `NUMBER_OF_DAYS_AFTER_DELIVERY` returns.
+ *
+ * Generated from protobuf field int64 days = 2;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setDays($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->days = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(Policy::class, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy_Policy::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/Policy/Type.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/Policy/Type.php
new file mode 100644
index 000000000000..6c84607e59db
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/Policy/Type.php
@@ -0,0 +1,71 @@
+google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.Policy.Type
+ */
+class Type
+{
+ /**
+ * Default value. This value is unused.
+ *
+ * Generated from protobuf enum TYPE_UNSPECIFIED = 0;
+ */
+ const TYPE_UNSPECIFIED = 0;
+ /**
+ * The number of days within which a return is valid after delivery.
+ *
+ * Generated from protobuf enum NUMBER_OF_DAYS_AFTER_DELIVERY = 1;
+ */
+ const NUMBER_OF_DAYS_AFTER_DELIVERY = 1;
+ /**
+ * No returns.
+ *
+ * Generated from protobuf enum NO_RETURNS = 2;
+ */
+ const NO_RETURNS = 2;
+ /**
+ * Life time returns.
+ *
+ * Generated from protobuf enum LIFETIME_RETURNS = 3;
+ */
+ const LIFETIME_RETURNS = 3;
+
+ private static $valueToName = [
+ self::TYPE_UNSPECIFIED => 'TYPE_UNSPECIFIED',
+ self::NUMBER_OF_DAYS_AFTER_DELIVERY => 'NUMBER_OF_DAYS_AFTER_DELIVERY',
+ self::NO_RETURNS => 'NO_RETURNS',
+ self::LIFETIME_RETURNS => 'LIFETIME_RETURNS',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(Type::class, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy_Policy_Type::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/RestockingFee.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/RestockingFee.php
new file mode 100644
index 000000000000..d0f312aa2423
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/RestockingFee.php
@@ -0,0 +1,114 @@
+google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.RestockingFee
+ */
+class RestockingFee extends \Google\Protobuf\Internal\Message
+{
+ protected $type;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Type\Price $fixed_fee
+ * Fixed restocking fee.
+ * @type int $micro_percent
+ * Percent of total price in micros. 15,000,000 means 15% of the total
+ * price would be charged.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\OnlineReturnPolicy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Fixed restocking fee.
+ *
+ * Generated from protobuf field .google.shopping.type.Price fixed_fee = 1;
+ * @return \Google\Shopping\Type\Price|null
+ */
+ public function getFixedFee()
+ {
+ return $this->readOneof(1);
+ }
+
+ public function hasFixedFee()
+ {
+ return $this->hasOneof(1);
+ }
+
+ /**
+ * Fixed restocking fee.
+ *
+ * Generated from protobuf field .google.shopping.type.Price fixed_fee = 1;
+ * @param \Google\Shopping\Type\Price $var
+ * @return $this
+ */
+ public function setFixedFee($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Type\Price::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * Percent of total price in micros. 15,000,000 means 15% of the total
+ * price would be charged.
+ *
+ * Generated from protobuf field int32 micro_percent = 2;
+ * @return int
+ */
+ public function getMicroPercent()
+ {
+ return $this->readOneof(2);
+ }
+
+ public function hasMicroPercent()
+ {
+ return $this->hasOneof(2);
+ }
+
+ /**
+ * Percent of total price in micros. 15,000,000 means 15% of the total
+ * price would be charged.
+ *
+ * Generated from protobuf field int32 micro_percent = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setMicroPercent($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getType()
+ {
+ return $this->whichOneof("type");
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(RestockingFee::class, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy_RestockingFee::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ReturnMethod.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ReturnMethod.php
new file mode 100644
index 000000000000..8c7015a39765
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ReturnMethod.php
@@ -0,0 +1,71 @@
+google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnMethod
+ */
+class ReturnMethod
+{
+ /**
+ * Default value. This value is unused.
+ *
+ * Generated from protobuf enum RETURN_METHOD_UNSPECIFIED = 0;
+ */
+ const RETURN_METHOD_UNSPECIFIED = 0;
+ /**
+ * Return by mail.
+ *
+ * Generated from protobuf enum BY_MAIL = 1;
+ */
+ const BY_MAIL = 1;
+ /**
+ * Return in store.
+ *
+ * Generated from protobuf enum IN_STORE = 2;
+ */
+ const IN_STORE = 2;
+ /**
+ * Return at a kiosk.
+ *
+ * Generated from protobuf enum AT_A_KIOSK = 3;
+ */
+ const AT_A_KIOSK = 3;
+
+ private static $valueToName = [
+ self::RETURN_METHOD_UNSPECIFIED => 'RETURN_METHOD_UNSPECIFIED',
+ self::BY_MAIL => 'BY_MAIL',
+ self::IN_STORE => 'IN_STORE',
+ self::AT_A_KIOSK => 'AT_A_KIOSK',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(ReturnMethod::class, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy_ReturnMethod::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ReturnShippingFee.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ReturnShippingFee.php
new file mode 100644
index 000000000000..a449cb499915
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ReturnShippingFee.php
@@ -0,0 +1,123 @@
+google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnShippingFee
+ */
+class ReturnShippingFee extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Type of return shipping fee.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnShippingFee.Type type = 1;
+ */
+ protected $type = 0;
+ /**
+ * Fixed return shipping fee amount. This value is only applicable when type
+ * is `FIXED`. We will treat the return shipping fee as free if type is
+ * `FIXED` and this value is not set.
+ *
+ * Generated from protobuf field .google.shopping.type.Price fixed_fee = 2;
+ */
+ protected $fixed_fee = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $type
+ * Type of return shipping fee.
+ * @type \Google\Shopping\Type\Price $fixed_fee
+ * Fixed return shipping fee amount. This value is only applicable when type
+ * is `FIXED`. We will treat the return shipping fee as free if type is
+ * `FIXED` and this value is not set.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\OnlineReturnPolicy::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Type of return shipping fee.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnShippingFee.Type type = 1;
+ * @return int
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Type of return shipping fee.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnShippingFee.Type type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy\ReturnShippingFee\Type::class);
+ $this->type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Fixed return shipping fee amount. This value is only applicable when type
+ * is `FIXED`. We will treat the return shipping fee as free if type is
+ * `FIXED` and this value is not set.
+ *
+ * Generated from protobuf field .google.shopping.type.Price fixed_fee = 2;
+ * @return \Google\Shopping\Type\Price|null
+ */
+ public function getFixedFee()
+ {
+ return $this->fixed_fee;
+ }
+
+ public function hasFixedFee()
+ {
+ return isset($this->fixed_fee);
+ }
+
+ public function clearFixedFee()
+ {
+ unset($this->fixed_fee);
+ }
+
+ /**
+ * Fixed return shipping fee amount. This value is only applicable when type
+ * is `FIXED`. We will treat the return shipping fee as free if type is
+ * `FIXED` and this value is not set.
+ *
+ * Generated from protobuf field .google.shopping.type.Price fixed_fee = 2;
+ * @param \Google\Shopping\Type\Price $var
+ * @return $this
+ */
+ public function setFixedFee($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Type\Price::class);
+ $this->fixed_fee = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(ReturnShippingFee::class, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy_ReturnShippingFee::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ReturnShippingFee/Type.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ReturnShippingFee/Type.php
new file mode 100644
index 000000000000..c565ab9eff1a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/OnlineReturnPolicy/ReturnShippingFee/Type.php
@@ -0,0 +1,64 @@
+google.shopping.merchant.accounts.v1beta.OnlineReturnPolicy.ReturnShippingFee.Type
+ */
+class Type
+{
+ /**
+ * Default value. This value is unused.
+ *
+ * Generated from protobuf enum TYPE_UNSPECIFIED = 0;
+ */
+ const TYPE_UNSPECIFIED = 0;
+ /**
+ * The return shipping fee is a fixed value.
+ *
+ * Generated from protobuf enum FIXED = 1;
+ */
+ const FIXED = 1;
+ /**
+ * Customers will pay the actual return shipping fee.
+ *
+ * Generated from protobuf enum CUSTOMER_PAYING_ACTUAL_FEE = 2;
+ */
+ const CUSTOMER_PAYING_ACTUAL_FEE = 2;
+
+ private static $valueToName = [
+ self::TYPE_UNSPECIFIED => 'TYPE_UNSPECIFIED',
+ self::FIXED => 'FIXED',
+ self::CUSTOMER_PAYING_ACTUAL_FEE => 'CUSTOMER_PAYING_ACTUAL_FEE',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(Type::class, \Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy_ReturnShippingFee_Type::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/PhoneVerificationState.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/PhoneVerificationState.php
new file mode 100644
index 000000000000..c4cadc2d7524
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/PhoneVerificationState.php
@@ -0,0 +1,61 @@
+google.shopping.merchant.accounts.v1beta.PhoneVerificationState
+ */
+class PhoneVerificationState
+{
+ /**
+ * Default value. This value is unused.
+ *
+ * Generated from protobuf enum PHONE_VERIFICATION_STATE_UNSPECIFIED = 0;
+ */
+ const PHONE_VERIFICATION_STATE_UNSPECIFIED = 0;
+ /**
+ * The phone is verified.
+ *
+ * Generated from protobuf enum PHONE_VERIFICATION_STATE_VERIFIED = 1;
+ */
+ const PHONE_VERIFICATION_STATE_VERIFIED = 1;
+ /**
+ * The phone is unverified
+ *
+ * Generated from protobuf enum PHONE_VERIFICATION_STATE_UNVERIFIED = 2;
+ */
+ const PHONE_VERIFICATION_STATE_UNVERIFIED = 2;
+
+ private static $valueToName = [
+ self::PHONE_VERIFICATION_STATE_UNSPECIFIED => 'PHONE_VERIFICATION_STATE_UNSPECIFIED',
+ self::PHONE_VERIFICATION_STATE_VERIFIED => 'PHONE_VERIFICATION_STATE_VERIFIED',
+ self::PHONE_VERIFICATION_STATE_UNVERIFIED => 'PHONE_VERIFICATION_STATE_UNVERIFIED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Program.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Program.php
new file mode 100644
index 000000000000..3dccfa8bd3bd
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Program.php
@@ -0,0 +1,236 @@
+google.shopping.merchant.accounts.v1beta.Program
+ */
+class Program extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the program.
+ * Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Output only. The URL of a Merchant Center help page describing the program.
+ *
+ * Generated from protobuf field string documentation_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $documentation_uri = '';
+ /**
+ * Output only. The participation state of the account in the program.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Program.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $state = 0;
+ /**
+ * Output only. The regions in which the account is actively participating in
+ * the program. Active regions are defined as those where all program
+ * requirements affecting the regions have been met.
+ * Region codes are defined by [CLDR](https://cldr.unicode.org/). This is
+ * either a country where the program applies specifically to that country or
+ * `001` when the program applies globally.
+ *
+ * Generated from protobuf field repeated string active_region_codes = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ private $active_region_codes;
+ /**
+ * Output only. The requirements that the account has not yet satisfied that
+ * are affecting participation in the program.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Program.Requirement unmet_requirements = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ private $unmet_requirements;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the program.
+ * Format: `accounts/{account}/programs/{program}`
+ * @type string $documentation_uri
+ * Output only. The URL of a Merchant Center help page describing the program.
+ * @type int $state
+ * Output only. The participation state of the account in the program.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $active_region_codes
+ * Output only. The regions in which the account is actively participating in
+ * the program. Active regions are defined as those where all program
+ * requirements affecting the regions have been met.
+ * Region codes are defined by [CLDR](https://cldr.unicode.org/). This is
+ * either a country where the program applies specifically to that country or
+ * `001` when the program applies globally.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Program\Requirement>|\Google\Protobuf\Internal\RepeatedField $unmet_requirements
+ * Output only. The requirements that the account has not yet satisfied that
+ * are affecting participation in the program.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Programs::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the program.
+ * Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the program.
+ * Format: `accounts/{account}/programs/{program}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The URL of a Merchant Center help page describing the program.
+ *
+ * Generated from protobuf field string documentation_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getDocumentationUri()
+ {
+ return $this->documentation_uri;
+ }
+
+ /**
+ * Output only. The URL of a Merchant Center help page describing the program.
+ *
+ * Generated from protobuf field string documentation_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setDocumentationUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->documentation_uri = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The participation state of the account in the program.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Program.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int
+ */
+ public function getState()
+ {
+ return $this->state;
+ }
+
+ /**
+ * Output only. The participation state of the account in the program.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Program.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int $var
+ * @return $this
+ */
+ public function setState($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\Program\State::class);
+ $this->state = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The regions in which the account is actively participating in
+ * the program. Active regions are defined as those where all program
+ * requirements affecting the regions have been met.
+ * Region codes are defined by [CLDR](https://cldr.unicode.org/). This is
+ * either a country where the program applies specifically to that country or
+ * `001` when the program applies globally.
+ *
+ * Generated from protobuf field repeated string active_region_codes = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getActiveRegionCodes()
+ {
+ return $this->active_region_codes;
+ }
+
+ /**
+ * Output only. The regions in which the account is actively participating in
+ * the program. Active regions are defined as those where all program
+ * requirements affecting the regions have been met.
+ * Region codes are defined by [CLDR](https://cldr.unicode.org/). This is
+ * either a country where the program applies specifically to that country or
+ * `001` when the program applies globally.
+ *
+ * Generated from protobuf field repeated string active_region_codes = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setActiveRegionCodes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->active_region_codes = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The requirements that the account has not yet satisfied that
+ * are affecting participation in the program.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Program.Requirement unmet_requirements = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getUnmetRequirements()
+ {
+ return $this->unmet_requirements;
+ }
+
+ /**
+ * Output only. The requirements that the account has not yet satisfied that
+ * are affecting participation in the program.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Program.Requirement unmet_requirements = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Program\Requirement>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setUnmetRequirements($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Program\Requirement::class);
+ $this->unmet_requirements = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Program/Requirement.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Program/Requirement.php
new file mode 100644
index 000000000000..cb0f9aaee0d6
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Program/Requirement.php
@@ -0,0 +1,154 @@
+google.shopping.merchant.accounts.v1beta.Program.Requirement
+ */
+class Requirement extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. Name of the requirement.
+ *
+ * Generated from protobuf field string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $title = '';
+ /**
+ * Output only. The URL of a help page describing the requirement.
+ *
+ * Generated from protobuf field string documentation_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $documentation_uri = '';
+ /**
+ * Output only. The regions that are currently affected by this requirement
+ * not being met.
+ * Region codes are defined by [CLDR](https://cldr.unicode.org/). This is
+ * either a country where the program applies specifically to that country
+ * or `001` when the program applies globally.
+ *
+ * Generated from protobuf field repeated string affected_region_codes = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ private $affected_region_codes;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $title
+ * Output only. Name of the requirement.
+ * @type string $documentation_uri
+ * Output only. The URL of a help page describing the requirement.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $affected_region_codes
+ * Output only. The regions that are currently affected by this requirement
+ * not being met.
+ * Region codes are defined by [CLDR](https://cldr.unicode.org/). This is
+ * either a country where the program applies specifically to that country
+ * or `001` when the program applies globally.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Programs::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. Name of the requirement.
+ *
+ * Generated from protobuf field string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getTitle()
+ {
+ return $this->title;
+ }
+
+ /**
+ * Output only. Name of the requirement.
+ *
+ * Generated from protobuf field string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setTitle($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->title = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The URL of a help page describing the requirement.
+ *
+ * Generated from protobuf field string documentation_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getDocumentationUri()
+ {
+ return $this->documentation_uri;
+ }
+
+ /**
+ * Output only. The URL of a help page describing the requirement.
+ *
+ * Generated from protobuf field string documentation_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setDocumentationUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->documentation_uri = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The regions that are currently affected by this requirement
+ * not being met.
+ * Region codes are defined by [CLDR](https://cldr.unicode.org/). This is
+ * either a country where the program applies specifically to that country
+ * or `001` when the program applies globally.
+ *
+ * Generated from protobuf field repeated string affected_region_codes = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAffectedRegionCodes()
+ {
+ return $this->affected_region_codes;
+ }
+
+ /**
+ * Output only. The regions that are currently affected by this requirement
+ * not being met.
+ * Region codes are defined by [CLDR](https://cldr.unicode.org/). This is
+ * either a country where the program applies specifically to that country
+ * or `001` when the program applies globally.
+ *
+ * Generated from protobuf field repeated string affected_region_codes = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAffectedRegionCodes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->affected_region_codes = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(Requirement::class, \Google\Shopping\Merchant\Accounts\V1beta\Program_Requirement::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Program/State.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Program/State.php
new file mode 100644
index 000000000000..cd0f351a1cb6
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Program/State.php
@@ -0,0 +1,71 @@
+google.shopping.merchant.accounts.v1beta.Program.State
+ */
+class State
+{
+ /**
+ * Default value. This value is unused.
+ *
+ * Generated from protobuf enum STATE_UNSPECIFIED = 0;
+ */
+ const STATE_UNSPECIFIED = 0;
+ /**
+ * The account is not eligible to participate in the program.
+ *
+ * Generated from protobuf enum NOT_ELIGIBLE = 1;
+ */
+ const NOT_ELIGIBLE = 1;
+ /**
+ * The account is eligible to participate in the program.
+ *
+ * Generated from protobuf enum ELIGIBLE = 2;
+ */
+ const ELIGIBLE = 2;
+ /**
+ * The program is enabled for the account.
+ *
+ * Generated from protobuf enum ENABLED = 3;
+ */
+ const ENABLED = 3;
+
+ private static $valueToName = [
+ self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED',
+ self::NOT_ELIGIBLE => 'NOT_ELIGIBLE',
+ self::ELIGIBLE => 'ELIGIBLE',
+ self::ENABLED => 'ENABLED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(State::class, \Google\Shopping\Merchant\Accounts\V1beta\Program_State::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/RateGroup.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/RateGroup.php
new file mode 100644
index 000000000000..60cf14d67ad7
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/RateGroup.php
@@ -0,0 +1,310 @@
+google.shopping.merchant.accounts.v1beta.RateGroup
+ */
+class RateGroup extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. A list of [shipping
+ * labels](https://support.google.com/merchants/answer/6324504) defining the
+ * products to which this rate group applies to. This is a disjunction: only
+ * one of the labels has to match for the rate group to apply. May only be
+ * empty for the last rate group of a service.
+ *
+ * Generated from protobuf field repeated string applicable_shipping_labels = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $applicable_shipping_labels;
+ /**
+ * The value of the rate group (For example flat rate $10). Can only be set
+ * if `main_table` and `subtables` are not set.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Value single_value = 2;
+ */
+ protected $single_value = null;
+ /**
+ * A table defining the rate group, when `single_value` is not
+ * expressive enough. Can only be set if `single_value` is not
+ * set.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Table main_table = 3;
+ */
+ protected $main_table = null;
+ /**
+ * Optional. A list of subtables referred to by `main_table`. Can only
+ * be set if `main_table` is set.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Table subtables = 4 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $subtables;
+ /**
+ * Optional. A list of carrier rates that can be referred to by
+ * `main_table` or `single_value`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.CarrierRate carrier_rates = 5 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $carrier_rates;
+ /**
+ * Optional. Name of the rate group.
+ * If set has to be unique within shipping service.
+ *
+ * Generated from protobuf field optional string name = 6 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $name = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array|\Google\Protobuf\Internal\RepeatedField $applicable_shipping_labels
+ * Required. A list of [shipping
+ * labels](https://support.google.com/merchants/answer/6324504) defining the
+ * products to which this rate group applies to. This is a disjunction: only
+ * one of the labels has to match for the rate group to apply. May only be
+ * empty for the last rate group of a service.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Value $single_value
+ * The value of the rate group (For example flat rate $10). Can only be set
+ * if `main_table` and `subtables` are not set.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Table $main_table
+ * A table defining the rate group, when `single_value` is not
+ * expressive enough. Can only be set if `single_value` is not
+ * set.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Table>|\Google\Protobuf\Internal\RepeatedField $subtables
+ * Optional. A list of subtables referred to by `main_table`. Can only
+ * be set if `main_table` is set.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\CarrierRate>|\Google\Protobuf\Internal\RepeatedField $carrier_rates
+ * Optional. A list of carrier rates that can be referred to by
+ * `main_table` or `single_value`.
+ * @type string $name
+ * Optional. Name of the rate group.
+ * If set has to be unique within shipping service.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. A list of [shipping
+ * labels](https://support.google.com/merchants/answer/6324504) defining the
+ * products to which this rate group applies to. This is a disjunction: only
+ * one of the labels has to match for the rate group to apply. May only be
+ * empty for the last rate group of a service.
+ *
+ * Generated from protobuf field repeated string applicable_shipping_labels = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getApplicableShippingLabels()
+ {
+ return $this->applicable_shipping_labels;
+ }
+
+ /**
+ * Required. A list of [shipping
+ * labels](https://support.google.com/merchants/answer/6324504) defining the
+ * products to which this rate group applies to. This is a disjunction: only
+ * one of the labels has to match for the rate group to apply. May only be
+ * empty for the last rate group of a service.
+ *
+ * Generated from protobuf field repeated string applicable_shipping_labels = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setApplicableShippingLabels($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->applicable_shipping_labels = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The value of the rate group (For example flat rate $10). Can only be set
+ * if `main_table` and `subtables` are not set.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Value single_value = 2;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Value|null
+ */
+ public function getSingleValue()
+ {
+ return $this->single_value;
+ }
+
+ public function hasSingleValue()
+ {
+ return isset($this->single_value);
+ }
+
+ public function clearSingleValue()
+ {
+ unset($this->single_value);
+ }
+
+ /**
+ * The value of the rate group (For example flat rate $10). Can only be set
+ * if `main_table` and `subtables` are not set.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Value single_value = 2;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Value $var
+ * @return $this
+ */
+ public function setSingleValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Value::class);
+ $this->single_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * A table defining the rate group, when `single_value` is not
+ * expressive enough. Can only be set if `single_value` is not
+ * set.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Table main_table = 3;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Table|null
+ */
+ public function getMainTable()
+ {
+ return $this->main_table;
+ }
+
+ public function hasMainTable()
+ {
+ return isset($this->main_table);
+ }
+
+ public function clearMainTable()
+ {
+ unset($this->main_table);
+ }
+
+ /**
+ * A table defining the rate group, when `single_value` is not
+ * expressive enough. Can only be set if `single_value` is not
+ * set.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Table main_table = 3;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Table $var
+ * @return $this
+ */
+ public function setMainTable($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Table::class);
+ $this->main_table = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A list of subtables referred to by `main_table`. Can only
+ * be set if `main_table` is set.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Table subtables = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getSubtables()
+ {
+ return $this->subtables;
+ }
+
+ /**
+ * Optional. A list of subtables referred to by `main_table`. Can only
+ * be set if `main_table` is set.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Table subtables = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Table>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setSubtables($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Table::class);
+ $this->subtables = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A list of carrier rates that can be referred to by
+ * `main_table` or `single_value`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.CarrierRate carrier_rates = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCarrierRates()
+ {
+ return $this->carrier_rates;
+ }
+
+ /**
+ * Optional. A list of carrier rates that can be referred to by
+ * `main_table` or `single_value`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.CarrierRate carrier_rates = 5 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\CarrierRate>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setCarrierRates($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\CarrierRate::class);
+ $this->carrier_rates = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Name of the rate group.
+ * If set has to be unique within shipping service.
+ *
+ * Generated from protobuf field optional string name = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getName()
+ {
+ return isset($this->name) ? $this->name : '';
+ }
+
+ public function hasName()
+ {
+ return isset($this->name);
+ }
+
+ public function clearName()
+ {
+ unset($this->name);
+ }
+
+ /**
+ * Optional. Name of the rate group.
+ * If set has to be unique within shipping service.
+ *
+ * Generated from protobuf field optional string name = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region.php
new file mode 100644
index 000000000000..0a3a87633667
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region.php
@@ -0,0 +1,362 @@
+google.shopping.merchant.accounts.v1beta.Region
+ */
+class Region extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the region.
+ * Format: `accounts/{account}/regions/{region}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Optional. The display name of the region.
+ *
+ * Generated from protobuf field optional string display_name = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $display_name = null;
+ /**
+ * Optional. A list of postal codes that defines the region area.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region.PostalCodeArea postal_code_area = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $postal_code_area = null;
+ /**
+ * Optional. A list of geotargets that defines the region area.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region.GeoTargetArea geotarget_area = 4 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $geotarget_area = null;
+ /**
+ * Output only. Indicates if the region is eligible for use in the Regional
+ * Inventory configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue regional_inventory_eligible = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $regional_inventory_eligible = null;
+ /**
+ * Output only. Indicates if the region is eligible for use in the Shipping
+ * Services configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue shipping_eligible = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $shipping_eligible = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the region.
+ * Format: `accounts/{account}/regions/{region}`
+ * @type string $display_name
+ * Optional. The display name of the region.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Region\PostalCodeArea $postal_code_area
+ * Optional. A list of postal codes that defines the region area.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Region\GeoTargetArea $geotarget_area
+ * Optional. A list of geotargets that defines the region area.
+ * @type \Google\Protobuf\BoolValue $regional_inventory_eligible
+ * Output only. Indicates if the region is eligible for use in the Regional
+ * Inventory configuration.
+ * @type \Google\Protobuf\BoolValue $shipping_eligible
+ * Output only. Indicates if the region is eligible for use in the Shipping
+ * Services configuration.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the region.
+ * Format: `accounts/{account}/regions/{region}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the region.
+ * Format: `accounts/{account}/regions/{region}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The display name of the region.
+ *
+ * Generated from protobuf field optional string display_name = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getDisplayName()
+ {
+ return isset($this->display_name) ? $this->display_name : '';
+ }
+
+ public function hasDisplayName()
+ {
+ return isset($this->display_name);
+ }
+
+ public function clearDisplayName()
+ {
+ unset($this->display_name);
+ }
+
+ /**
+ * Optional. The display name of the region.
+ *
+ * Generated from protobuf field optional string display_name = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setDisplayName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->display_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A list of postal codes that defines the region area.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region.PostalCodeArea postal_code_area = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Region\PostalCodeArea|null
+ */
+ public function getPostalCodeArea()
+ {
+ return $this->postal_code_area;
+ }
+
+ public function hasPostalCodeArea()
+ {
+ return isset($this->postal_code_area);
+ }
+
+ public function clearPostalCodeArea()
+ {
+ unset($this->postal_code_area);
+ }
+
+ /**
+ * Optional. A list of postal codes that defines the region area.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region.PostalCodeArea postal_code_area = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Region\PostalCodeArea $var
+ * @return $this
+ */
+ public function setPostalCodeArea($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Region\PostalCodeArea::class);
+ $this->postal_code_area = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A list of geotargets that defines the region area.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region.GeoTargetArea geotarget_area = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Region\GeoTargetArea|null
+ */
+ public function getGeotargetArea()
+ {
+ return $this->geotarget_area;
+ }
+
+ public function hasGeotargetArea()
+ {
+ return isset($this->geotarget_area);
+ }
+
+ public function clearGeotargetArea()
+ {
+ unset($this->geotarget_area);
+ }
+
+ /**
+ * Optional. A list of geotargets that defines the region area.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region.GeoTargetArea geotarget_area = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Region\GeoTargetArea $var
+ * @return $this
+ */
+ public function setGeotargetArea($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Region\GeoTargetArea::class);
+ $this->geotarget_area = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Indicates if the region is eligible for use in the Regional
+ * Inventory configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue regional_inventory_eligible = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\BoolValue|null
+ */
+ public function getRegionalInventoryEligible()
+ {
+ return $this->regional_inventory_eligible;
+ }
+
+ public function hasRegionalInventoryEligible()
+ {
+ return isset($this->regional_inventory_eligible);
+ }
+
+ public function clearRegionalInventoryEligible()
+ {
+ unset($this->regional_inventory_eligible);
+ }
+
+ /**
+ * Returns the unboxed value from getRegionalInventoryEligible()
+
+ * Output only. Indicates if the region is eligible for use in the Regional
+ * Inventory configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue regional_inventory_eligible = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return bool|null
+ */
+ public function getRegionalInventoryEligibleUnwrapped()
+ {
+ return $this->readWrapperValue("regional_inventory_eligible");
+ }
+
+ /**
+ * Output only. Indicates if the region is eligible for use in the Regional
+ * Inventory configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue regional_inventory_eligible = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setRegionalInventoryEligible($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->regional_inventory_eligible = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Output only. Indicates if the region is eligible for use in the Regional
+ * Inventory configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue regional_inventory_eligible = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setRegionalInventoryEligibleUnwrapped($var)
+ {
+ $this->writeWrapperValue("regional_inventory_eligible", $var);
+ return $this;}
+
+ /**
+ * Output only. Indicates if the region is eligible for use in the Shipping
+ * Services configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue shipping_eligible = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\BoolValue|null
+ */
+ public function getShippingEligible()
+ {
+ return $this->shipping_eligible;
+ }
+
+ public function hasShippingEligible()
+ {
+ return isset($this->shipping_eligible);
+ }
+
+ public function clearShippingEligible()
+ {
+ unset($this->shipping_eligible);
+ }
+
+ /**
+ * Returns the unboxed value from getShippingEligible()
+
+ * Output only. Indicates if the region is eligible for use in the Shipping
+ * Services configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue shipping_eligible = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return bool|null
+ */
+ public function getShippingEligibleUnwrapped()
+ {
+ return $this->readWrapperValue("shipping_eligible");
+ }
+
+ /**
+ * Output only. Indicates if the region is eligible for use in the Shipping
+ * Services configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue shipping_eligible = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\BoolValue $var
+ * @return $this
+ */
+ public function setShippingEligible($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
+ $this->shipping_eligible = $var;
+
+ return $this;
+ }
+
+ /**
+ * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
+
+ * Output only. Indicates if the region is eligible for use in the Shipping
+ * Services configuration.
+ *
+ * Generated from protobuf field .google.protobuf.BoolValue shipping_eligible = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param bool|null $var
+ * @return $this
+ */
+ public function setShippingEligibleUnwrapped($var)
+ {
+ $this->writeWrapperValue("shipping_eligible", $var);
+ return $this;}
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region/GeoTargetArea.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region/GeoTargetArea.php
new file mode 100644
index 000000000000..1ec5dade32c1
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region/GeoTargetArea.php
@@ -0,0 +1,78 @@
+google.shopping.merchant.accounts.v1beta.Region.GeoTargetArea
+ */
+class GeoTargetArea extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. A non-empty list of [location
+ * IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+ * They must all be of the same location type (for example, state).
+ *
+ * Generated from protobuf field repeated int64 geotarget_criteria_ids = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $geotarget_criteria_ids;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array|array|\Google\Protobuf\Internal\RepeatedField $geotarget_criteria_ids
+ * Required. A non-empty list of [location
+ * IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+ * They must all be of the same location type (for example, state).
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. A non-empty list of [location
+ * IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+ * They must all be of the same location type (for example, state).
+ *
+ * Generated from protobuf field repeated int64 geotarget_criteria_ids = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getGeotargetCriteriaIds()
+ {
+ return $this->geotarget_criteria_ids;
+ }
+
+ /**
+ * Required. A non-empty list of [location
+ * IDs](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
+ * They must all be of the same location type (for example, state).
+ *
+ * Generated from protobuf field repeated int64 geotarget_criteria_ids = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param array|array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setGeotargetCriteriaIds($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT64);
+ $this->geotarget_criteria_ids = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(GeoTargetArea::class, \Google\Shopping\Merchant\Accounts\V1beta\Region_GeoTargetArea::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region/PostalCodeArea.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region/PostalCodeArea.php
new file mode 100644
index 000000000000..db8a50be698a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region/PostalCodeArea.php
@@ -0,0 +1,114 @@
+google.shopping.merchant.accounts.v1beta.Region.PostalCodeArea
+ */
+class PostalCodeArea extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. [CLDR territory
+ * code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
+ * or the country the postal code group applies to.
+ *
+ * Generated from protobuf field string region_code = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $region_code = '';
+ /**
+ * Required. A range of postal codes.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Region.PostalCodeArea.PostalCodeRange postal_codes = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $postal_codes;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $region_code
+ * Required. [CLDR territory
+ * code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
+ * or the country the postal code group applies to.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Region\PostalCodeArea\PostalCodeRange>|\Google\Protobuf\Internal\RepeatedField $postal_codes
+ * Required. A range of postal codes.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. [CLDR territory
+ * code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
+ * or the country the postal code group applies to.
+ *
+ * Generated from protobuf field string region_code = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getRegionCode()
+ {
+ return $this->region_code;
+ }
+
+ /**
+ * Required. [CLDR territory
+ * code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
+ * or the country the postal code group applies to.
+ *
+ * Generated from protobuf field string region_code = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. A range of postal codes.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Region.PostalCodeArea.PostalCodeRange postal_codes = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPostalCodes()
+ {
+ return $this->postal_codes;
+ }
+
+ /**
+ * Required. A range of postal codes.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Region.PostalCodeArea.PostalCodeRange postal_codes = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Region\PostalCodeArea\PostalCodeRange>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPostalCodes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Region\PostalCodeArea\PostalCodeRange::class);
+ $this->postal_codes = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(PostalCodeArea::class, \Google\Shopping\Merchant\Accounts\V1beta\Region_PostalCodeArea::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region/PostalCodeArea/PostalCodeRange.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region/PostalCodeArea/PostalCodeRange.php
new file mode 100644
index 000000000000..be2ddbb29b1d
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Region/PostalCodeArea/PostalCodeRange.php
@@ -0,0 +1,140 @@
+google.shopping.merchant.accounts.v1beta.Region.PostalCodeArea.PostalCodeRange
+ */
+class PostalCodeRange extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. A postal code or a pattern of the form prefix* denoting the
+ * inclusive lower bound of the range defining the area. Examples values:
+ * `94108`, `9410*`, `9*`.
+ *
+ * Generated from protobuf field string begin = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $begin = '';
+ /**
+ * Optional. A postal code or a pattern of the form `prefix*` denoting the
+ * inclusive upper bound of the range defining the area. It must have the
+ * same length as postalCodeRangeBegin: if postalCodeRangeBegin is a
+ * postal code then postalCodeRangeEnd must be a postal code too; if
+ * postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a
+ * pattern with the same prefix length. Optional: if not set, then the
+ * area is defined as being all the postal codes matching
+ * postalCodeRangeBegin.
+ *
+ * Generated from protobuf field string end = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $end = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $begin
+ * Required. A postal code or a pattern of the form prefix* denoting the
+ * inclusive lower bound of the range defining the area. Examples values:
+ * `94108`, `9410*`, `9*`.
+ * @type string $end
+ * Optional. A postal code or a pattern of the form `prefix*` denoting the
+ * inclusive upper bound of the range defining the area. It must have the
+ * same length as postalCodeRangeBegin: if postalCodeRangeBegin is a
+ * postal code then postalCodeRangeEnd must be a postal code too; if
+ * postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a
+ * pattern with the same prefix length. Optional: if not set, then the
+ * area is defined as being all the postal codes matching
+ * postalCodeRangeBegin.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. A postal code or a pattern of the form prefix* denoting the
+ * inclusive lower bound of the range defining the area. Examples values:
+ * `94108`, `9410*`, `9*`.
+ *
+ * Generated from protobuf field string begin = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getBegin()
+ {
+ return $this->begin;
+ }
+
+ /**
+ * Required. A postal code or a pattern of the form prefix* denoting the
+ * inclusive lower bound of the range defining the area. Examples values:
+ * `94108`, `9410*`, `9*`.
+ *
+ * Generated from protobuf field string begin = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setBegin($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->begin = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A postal code or a pattern of the form `prefix*` denoting the
+ * inclusive upper bound of the range defining the area. It must have the
+ * same length as postalCodeRangeBegin: if postalCodeRangeBegin is a
+ * postal code then postalCodeRangeEnd must be a postal code too; if
+ * postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a
+ * pattern with the same prefix length. Optional: if not set, then the
+ * area is defined as being all the postal codes matching
+ * postalCodeRangeBegin.
+ *
+ * Generated from protobuf field string end = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getEnd()
+ {
+ return $this->end;
+ }
+
+ /**
+ * Optional. A postal code or a pattern of the form `prefix*` denoting the
+ * inclusive upper bound of the range defining the area. It must have the
+ * same length as postalCodeRangeBegin: if postalCodeRangeBegin is a
+ * postal code then postalCodeRangeEnd must be a postal code too; if
+ * postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a
+ * pattern with the same prefix length. Optional: if not set, then the
+ * area is defined as being all the postal codes matching
+ * postalCodeRangeBegin.
+ *
+ * Generated from protobuf field string end = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setEnd($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->end = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(PostalCodeRange::class, \Google\Shopping\Merchant\Accounts\V1beta\Region_PostalCodeArea_PostalCodeRange::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Required.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Required.php
new file mode 100644
index 000000000000..21465950f13b
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Required.php
@@ -0,0 +1,117 @@
+google.shopping.merchant.accounts.v1beta.Required
+ */
+class Required extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The
+ * [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * that need to be accepted.
+ *
+ * Generated from protobuf field string terms_of_service = 1 [(.google.api.resource_reference) = {
+ */
+ protected $terms_of_service = '';
+ /**
+ * Full URL to the terms of service file. This field is the same as
+ * [TermsOfService.file_uri](TermsOfService.file_uri), it is added
+ * here for convenience only.
+ *
+ * Generated from protobuf field string tos_file_uri = 2;
+ */
+ protected $tos_file_uri = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $terms_of_service
+ * The
+ * [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * that need to be accepted.
+ * @type string $tos_file_uri
+ * Full URL to the terms of service file. This field is the same as
+ * [TermsOfService.file_uri](TermsOfService.file_uri), it is added
+ * here for convenience only.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Termsofserviceagreementstate::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The
+ * [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * that need to be accepted.
+ *
+ * Generated from protobuf field string terms_of_service = 1 [(.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getTermsOfService()
+ {
+ return $this->terms_of_service;
+ }
+
+ /**
+ * The
+ * [termsOfService](google.shopping.merchant.accounts.v1main.TermsOfService)
+ * that need to be accepted.
+ *
+ * Generated from protobuf field string terms_of_service = 1 [(.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setTermsOfService($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->terms_of_service = $var;
+
+ return $this;
+ }
+
+ /**
+ * Full URL to the terms of service file. This field is the same as
+ * [TermsOfService.file_uri](TermsOfService.file_uri), it is added
+ * here for convenience only.
+ *
+ * Generated from protobuf field string tos_file_uri = 2;
+ * @return string
+ */
+ public function getTosFileUri()
+ {
+ return $this->tos_file_uri;
+ }
+
+ /**
+ * Full URL to the terms of service file. This field is the same as
+ * [TermsOfService.file_uri](TermsOfService.file_uri), it is added
+ * here for convenience only.
+ *
+ * Generated from protobuf field string tos_file_uri = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setTosFileUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->tos_file_uri = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/RetrieveForApplicationTermsOfServiceAgreementStateRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/RetrieveForApplicationTermsOfServiceAgreementStateRequest.php
new file mode 100644
index 000000000000..b205a7ba5b34
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/RetrieveForApplicationTermsOfServiceAgreementStateRequest.php
@@ -0,0 +1,87 @@
+google.shopping.merchant.accounts.v1beta.RetrieveForApplicationTermsOfServiceAgreementStateRequest
+ */
+class RetrieveForApplicationTermsOfServiceAgreementStateRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The account for which to get a TermsOfServiceAgreementState
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+
+ /**
+ * @param string $parent Required. The account for which to get a TermsOfServiceAgreementState
+ * Format: `accounts/{account}`
+ * Please see {@see TermsOfServiceAgreementStateServiceClient::accountName()} for help formatting this field.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\RetrieveForApplicationTermsOfServiceAgreementStateRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. The account for which to get a TermsOfServiceAgreementState
+ * Format: `accounts/{account}`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Termsofserviceagreementstate::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The account for which to get a TermsOfServiceAgreementState
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. The account for which to get a TermsOfServiceAgreementState
+ * Format: `accounts/{account}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/RetrieveLatestTermsOfServiceRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/RetrieveLatestTermsOfServiceRequest.php
new file mode 100644
index 000000000000..9698a7aedfb0
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/RetrieveLatestTermsOfServiceRequest.php
@@ -0,0 +1,109 @@
+google.shopping.merchant.accounts.v1beta.RetrieveLatestTermsOfServiceRequest
+ */
+class RetrieveLatestTermsOfServiceRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This
+ * is either a country when the ToS applies specifically to that country or
+ * 001 when it applies globally.
+ *
+ * Generated from protobuf field string region_code = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $region_code = '';
+ /**
+ * Required. The Kind this terms of service version applies to.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TermsOfServiceKind kind = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $kind = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $region_code
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This
+ * is either a country when the ToS applies specifically to that country or
+ * 001 when it applies globally.
+ * @type int $kind
+ * Required. The Kind this terms of service version applies to.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Termsofservice::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This
+ * is either a country when the ToS applies specifically to that country or
+ * 001 when it applies globally.
+ *
+ * Generated from protobuf field string region_code = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getRegionCode()
+ {
+ return $this->region_code;
+ }
+
+ /**
+ * Required. Region code as defined by [CLDR](https://cldr.unicode.org/). This
+ * is either a country when the ToS applies specifically to that country or
+ * 001 when it applies globally.
+ *
+ * Generated from protobuf field string region_code = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The Kind this terms of service version applies to.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TermsOfServiceKind kind = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return int
+ */
+ public function getKind()
+ {
+ return $this->kind;
+ }
+
+ /**
+ * Required. The Kind this terms of service version applies to.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TermsOfServiceKind kind = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param int $var
+ * @return $this
+ */
+ public function setKind($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\TermsOfServiceKind::class);
+ $this->kind = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Row.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Row.php
new file mode 100644
index 000000000000..1be1ce4d055f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Row.php
@@ -0,0 +1,75 @@
+google.shopping.merchant.accounts.v1beta.Row
+ */
+class Row extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The list of cells that constitute the row. Must have the same
+ * length as `columnHeaders` for two-dimensional tables, a length of 1 for
+ * one-dimensional tables.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Value cells = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $cells;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Value>|\Google\Protobuf\Internal\RepeatedField $cells
+ * Required. The list of cells that constitute the row. Must have the same
+ * length as `columnHeaders` for two-dimensional tables, a length of 1 for
+ * one-dimensional tables.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The list of cells that constitute the row. Must have the same
+ * length as `columnHeaders` for two-dimensional tables, a length of 1 for
+ * one-dimensional tables.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Value cells = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCells()
+ {
+ return $this->cells;
+ }
+
+ /**
+ * Required. The list of cells that constitute the row. Must have the same
+ * length as `columnHeaders` for two-dimensional tables, a length of 1 for
+ * one-dimensional tables.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Value cells = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Value>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setCells($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Value::class);
+ $this->cells = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service.php
new file mode 100644
index 000000000000..22990ff58a68
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service.php
@@ -0,0 +1,531 @@
+google.shopping.merchant.accounts.v1beta.Service
+ */
+class Service extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Free-form name of the service. Must be unique within target
+ * account.
+ *
+ * Generated from protobuf field optional string service_name = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $service_name = null;
+ /**
+ * Required. A boolean exposing the active status of the shipping service.
+ *
+ * Generated from protobuf field optional bool active = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $active = null;
+ /**
+ * Required. The CLDR territory code of the countries to which the service
+ * applies.
+ *
+ * Generated from protobuf field repeated string delivery_countries = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $delivery_countries;
+ /**
+ * The CLDR code of the currency to which this service applies. Must match
+ * that of the prices in rate groups.
+ *
+ * Generated from protobuf field optional string currency_code = 4;
+ */
+ protected $currency_code = null;
+ /**
+ * Required. Time spent in various aspects from order to the delivery of the
+ * product.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.DeliveryTime delivery_time = 5 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $delivery_time = null;
+ /**
+ * Optional. Shipping rate group definitions. Only the last one is allowed to
+ * have an empty `applicable_shipping_labels`, which means "everything else".
+ * The other `applicable_shipping_labels` must not overlap.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.RateGroup rate_groups = 6 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $rate_groups;
+ /**
+ * Type of locations this service ships orders to.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.ShipmentType shipment_type = 7;
+ */
+ protected $shipment_type = null;
+ /**
+ * Minimum order value for this service. If set, indicates that customers
+ * will have to spend at least this amount.
+ * All prices within a service must have the same currency.
+ * Cannot be set together with minimum_order_value_table.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price minimum_order_value = 8;
+ */
+ protected $minimum_order_value = null;
+ /**
+ * Table of per store minimum order values for the pickup fulfillment type.
+ * Cannot be set together with minimum_order_value.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.MinimumOrderValueTable minimum_order_value_table = 9;
+ */
+ protected $minimum_order_value_table = null;
+ /**
+ * A list of stores your products are delivered from.
+ * This is only valid for the local delivery shipment type.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig store_config = 10;
+ */
+ protected $store_config = null;
+ /**
+ * Optional. Loyalty programs that this shipping service is limited to.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Service.LoyaltyProgram loyalty_programs = 11 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $loyalty_programs;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $service_name
+ * Required. Free-form name of the service. Must be unique within target
+ * account.
+ * @type bool $active
+ * Required. A boolean exposing the active status of the shipping service.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $delivery_countries
+ * Required. The CLDR territory code of the countries to which the service
+ * applies.
+ * @type string $currency_code
+ * The CLDR code of the currency to which this service applies. Must match
+ * that of the prices in rate groups.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\DeliveryTime $delivery_time
+ * Required. Time spent in various aspects from order to the delivery of the
+ * product.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\RateGroup>|\Google\Protobuf\Internal\RepeatedField $rate_groups
+ * Optional. Shipping rate group definitions. Only the last one is allowed to
+ * have an empty `applicable_shipping_labels`, which means "everything else".
+ * The other `applicable_shipping_labels` must not overlap.
+ * @type int $shipment_type
+ * Type of locations this service ships orders to.
+ * @type \Google\Shopping\Type\Price $minimum_order_value
+ * Minimum order value for this service. If set, indicates that customers
+ * will have to spend at least this amount.
+ * All prices within a service must have the same currency.
+ * Cannot be set together with minimum_order_value_table.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\MinimumOrderValueTable $minimum_order_value_table
+ * Table of per store minimum order values for the pickup fulfillment type.
+ * Cannot be set together with minimum_order_value.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig $store_config
+ * A list of stores your products are delivered from.
+ * This is only valid for the local delivery shipment type.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Service\LoyaltyProgram>|\Google\Protobuf\Internal\RepeatedField $loyalty_programs
+ * Optional. Loyalty programs that this shipping service is limited to.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Free-form name of the service. Must be unique within target
+ * account.
+ *
+ * Generated from protobuf field optional string service_name = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getServiceName()
+ {
+ return isset($this->service_name) ? $this->service_name : '';
+ }
+
+ public function hasServiceName()
+ {
+ return isset($this->service_name);
+ }
+
+ public function clearServiceName()
+ {
+ unset($this->service_name);
+ }
+
+ /**
+ * Required. Free-form name of the service. Must be unique within target
+ * account.
+ *
+ * Generated from protobuf field optional string service_name = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setServiceName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->service_name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. A boolean exposing the active status of the shipping service.
+ *
+ * Generated from protobuf field optional bool active = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return bool
+ */
+ public function getActive()
+ {
+ return isset($this->active) ? $this->active : false;
+ }
+
+ public function hasActive()
+ {
+ return isset($this->active);
+ }
+
+ public function clearActive()
+ {
+ unset($this->active);
+ }
+
+ /**
+ * Required. A boolean exposing the active status of the shipping service.
+ *
+ * Generated from protobuf field optional bool active = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param bool $var
+ * @return $this
+ */
+ public function setActive($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->active = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The CLDR territory code of the countries to which the service
+ * applies.
+ *
+ * Generated from protobuf field repeated string delivery_countries = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getDeliveryCountries()
+ {
+ return $this->delivery_countries;
+ }
+
+ /**
+ * Required. The CLDR territory code of the countries to which the service
+ * applies.
+ *
+ * Generated from protobuf field repeated string delivery_countries = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setDeliveryCountries($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->delivery_countries = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The CLDR code of the currency to which this service applies. Must match
+ * that of the prices in rate groups.
+ *
+ * Generated from protobuf field optional string currency_code = 4;
+ * @return string
+ */
+ public function getCurrencyCode()
+ {
+ return isset($this->currency_code) ? $this->currency_code : '';
+ }
+
+ public function hasCurrencyCode()
+ {
+ return isset($this->currency_code);
+ }
+
+ public function clearCurrencyCode()
+ {
+ unset($this->currency_code);
+ }
+
+ /**
+ * The CLDR code of the currency to which this service applies. Must match
+ * that of the prices in rate groups.
+ *
+ * Generated from protobuf field optional string currency_code = 4;
+ * @param string $var
+ * @return $this
+ */
+ public function setCurrencyCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->currency_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Time spent in various aspects from order to the delivery of the
+ * product.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.DeliveryTime delivery_time = 5 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\DeliveryTime|null
+ */
+ public function getDeliveryTime()
+ {
+ return $this->delivery_time;
+ }
+
+ public function hasDeliveryTime()
+ {
+ return isset($this->delivery_time);
+ }
+
+ public function clearDeliveryTime()
+ {
+ unset($this->delivery_time);
+ }
+
+ /**
+ * Required. Time spent in various aspects from order to the delivery of the
+ * product.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.DeliveryTime delivery_time = 5 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\DeliveryTime $var
+ * @return $this
+ */
+ public function setDeliveryTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\DeliveryTime::class);
+ $this->delivery_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Shipping rate group definitions. Only the last one is allowed to
+ * have an empty `applicable_shipping_labels`, which means "everything else".
+ * The other `applicable_shipping_labels` must not overlap.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.RateGroup rate_groups = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRateGroups()
+ {
+ return $this->rate_groups;
+ }
+
+ /**
+ * Optional. Shipping rate group definitions. Only the last one is allowed to
+ * have an empty `applicable_shipping_labels`, which means "everything else".
+ * The other `applicable_shipping_labels` must not overlap.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.RateGroup rate_groups = 6 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\RateGroup>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRateGroups($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\RateGroup::class);
+ $this->rate_groups = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Type of locations this service ships orders to.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.ShipmentType shipment_type = 7;
+ * @return int
+ */
+ public function getShipmentType()
+ {
+ return isset($this->shipment_type) ? $this->shipment_type : 0;
+ }
+
+ public function hasShipmentType()
+ {
+ return isset($this->shipment_type);
+ }
+
+ public function clearShipmentType()
+ {
+ unset($this->shipment_type);
+ }
+
+ /**
+ * Type of locations this service ships orders to.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.ShipmentType shipment_type = 7;
+ * @param int $var
+ * @return $this
+ */
+ public function setShipmentType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\Service\ShipmentType::class);
+ $this->shipment_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Minimum order value for this service. If set, indicates that customers
+ * will have to spend at least this amount.
+ * All prices within a service must have the same currency.
+ * Cannot be set together with minimum_order_value_table.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price minimum_order_value = 8;
+ * @return \Google\Shopping\Type\Price|null
+ */
+ public function getMinimumOrderValue()
+ {
+ return $this->minimum_order_value;
+ }
+
+ public function hasMinimumOrderValue()
+ {
+ return isset($this->minimum_order_value);
+ }
+
+ public function clearMinimumOrderValue()
+ {
+ unset($this->minimum_order_value);
+ }
+
+ /**
+ * Minimum order value for this service. If set, indicates that customers
+ * will have to spend at least this amount.
+ * All prices within a service must have the same currency.
+ * Cannot be set together with minimum_order_value_table.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price minimum_order_value = 8;
+ * @param \Google\Shopping\Type\Price $var
+ * @return $this
+ */
+ public function setMinimumOrderValue($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Type\Price::class);
+ $this->minimum_order_value = $var;
+
+ return $this;
+ }
+
+ /**
+ * Table of per store minimum order values for the pickup fulfillment type.
+ * Cannot be set together with minimum_order_value.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.MinimumOrderValueTable minimum_order_value_table = 9;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\MinimumOrderValueTable|null
+ */
+ public function getMinimumOrderValueTable()
+ {
+ return $this->minimum_order_value_table;
+ }
+
+ public function hasMinimumOrderValueTable()
+ {
+ return isset($this->minimum_order_value_table);
+ }
+
+ public function clearMinimumOrderValueTable()
+ {
+ unset($this->minimum_order_value_table);
+ }
+
+ /**
+ * Table of per store minimum order values for the pickup fulfillment type.
+ * Cannot be set together with minimum_order_value.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.MinimumOrderValueTable minimum_order_value_table = 9;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\MinimumOrderValueTable $var
+ * @return $this
+ */
+ public function setMinimumOrderValueTable($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\MinimumOrderValueTable::class);
+ $this->minimum_order_value_table = $var;
+
+ return $this;
+ }
+
+ /**
+ * A list of stores your products are delivered from.
+ * This is only valid for the local delivery shipment type.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig store_config = 10;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig|null
+ */
+ public function getStoreConfig()
+ {
+ return $this->store_config;
+ }
+
+ public function hasStoreConfig()
+ {
+ return isset($this->store_config);
+ }
+
+ public function clearStoreConfig()
+ {
+ unset($this->store_config);
+ }
+
+ /**
+ * A list of stores your products are delivered from.
+ * This is only valid for the local delivery shipment type.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig store_config = 10;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig $var
+ * @return $this
+ */
+ public function setStoreConfig($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig::class);
+ $this->store_config = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Loyalty programs that this shipping service is limited to.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Service.LoyaltyProgram loyalty_programs = 11 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLoyaltyPrograms()
+ {
+ return $this->loyalty_programs;
+ }
+
+ /**
+ * Optional. Loyalty programs that this shipping service is limited to.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Service.LoyaltyProgram loyalty_programs = 11 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Service\LoyaltyProgram>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLoyaltyPrograms($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Service\LoyaltyProgram::class);
+ $this->loyalty_programs = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/LoyaltyProgram.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/LoyaltyProgram.php
new file mode 100644
index 000000000000..2da86f2c244a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/LoyaltyProgram.php
@@ -0,0 +1,123 @@
+google.shopping.merchant.accounts.v1beta.Service.LoyaltyProgram
+ */
+class LoyaltyProgram extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * This is the loyalty program label set in your loyalty program settings in
+ * Merchant Center. This sub-attribute allows Google to map your loyalty
+ * program to eligible offers.
+ *
+ * Generated from protobuf field optional string program_label = 1;
+ */
+ protected $program_label = null;
+ /**
+ * Optional. Loyalty program tier of this shipping service.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Service.LoyaltyProgram.LoyaltyProgramTiers loyalty_program_tiers = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $loyalty_program_tiers;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $program_label
+ * This is the loyalty program label set in your loyalty program settings in
+ * Merchant Center. This sub-attribute allows Google to map your loyalty
+ * program to eligible offers.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Service\LoyaltyProgram\LoyaltyProgramTiers>|\Google\Protobuf\Internal\RepeatedField $loyalty_program_tiers
+ * Optional. Loyalty program tier of this shipping service.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * This is the loyalty program label set in your loyalty program settings in
+ * Merchant Center. This sub-attribute allows Google to map your loyalty
+ * program to eligible offers.
+ *
+ * Generated from protobuf field optional string program_label = 1;
+ * @return string
+ */
+ public function getProgramLabel()
+ {
+ return isset($this->program_label) ? $this->program_label : '';
+ }
+
+ public function hasProgramLabel()
+ {
+ return isset($this->program_label);
+ }
+
+ public function clearProgramLabel()
+ {
+ unset($this->program_label);
+ }
+
+ /**
+ * This is the loyalty program label set in your loyalty program settings in
+ * Merchant Center. This sub-attribute allows Google to map your loyalty
+ * program to eligible offers.
+ *
+ * Generated from protobuf field optional string program_label = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setProgramLabel($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->program_label = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Loyalty program tier of this shipping service.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Service.LoyaltyProgram.LoyaltyProgramTiers loyalty_program_tiers = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getLoyaltyProgramTiers()
+ {
+ return $this->loyalty_program_tiers;
+ }
+
+ /**
+ * Optional. Loyalty program tier of this shipping service.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Service.LoyaltyProgram.LoyaltyProgramTiers loyalty_program_tiers = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Service\LoyaltyProgram\LoyaltyProgramTiers>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setLoyaltyProgramTiers($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Service\LoyaltyProgram\LoyaltyProgramTiers::class);
+ $this->loyalty_program_tiers = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(LoyaltyProgram::class, \Google\Shopping\Merchant\Accounts\V1beta\Service_LoyaltyProgram::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/LoyaltyProgram/LoyaltyProgramTiers.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/LoyaltyProgram/LoyaltyProgramTiers.php
new file mode 100644
index 000000000000..b501d803b52c
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/LoyaltyProgram/LoyaltyProgramTiers.php
@@ -0,0 +1,92 @@
+google.shopping.merchant.accounts.v1beta.Service.LoyaltyProgram.LoyaltyProgramTiers
+ */
+class LoyaltyProgramTiers extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The tier label [tier_label] sub-attribute differentiates offer level
+ * benefits between each tier. This value is also set in your program
+ * settings in Merchant Center, and is required for data source changes
+ * even if your loyalty program only has 1 tier.
+ *
+ * Generated from protobuf field optional string tier_label = 1;
+ */
+ protected $tier_label = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $tier_label
+ * The tier label [tier_label] sub-attribute differentiates offer level
+ * benefits between each tier. This value is also set in your program
+ * settings in Merchant Center, and is required for data source changes
+ * even if your loyalty program only has 1 tier.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The tier label [tier_label] sub-attribute differentiates offer level
+ * benefits between each tier. This value is also set in your program
+ * settings in Merchant Center, and is required for data source changes
+ * even if your loyalty program only has 1 tier.
+ *
+ * Generated from protobuf field optional string tier_label = 1;
+ * @return string
+ */
+ public function getTierLabel()
+ {
+ return isset($this->tier_label) ? $this->tier_label : '';
+ }
+
+ public function hasTierLabel()
+ {
+ return isset($this->tier_label);
+ }
+
+ public function clearTierLabel()
+ {
+ unset($this->tier_label);
+ }
+
+ /**
+ * The tier label [tier_label] sub-attribute differentiates offer level
+ * benefits between each tier. This value is also set in your program
+ * settings in Merchant Center, and is required for data source changes
+ * even if your loyalty program only has 1 tier.
+ *
+ * Generated from protobuf field optional string tier_label = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setTierLabel($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->tier_label = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(LoyaltyProgramTiers::class, \Google\Shopping\Merchant\Accounts\V1beta\Service_LoyaltyProgram_LoyaltyProgramTiers::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/ShipmentType.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/ShipmentType.php
new file mode 100644
index 000000000000..18e67dcedc76
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/ShipmentType.php
@@ -0,0 +1,73 @@
+google.shopping.merchant.accounts.v1beta.Service.ShipmentType
+ */
+class ShipmentType
+{
+ /**
+ * This service did not specify shipment type.
+ *
+ * Generated from protobuf enum SHIPMENT_TYPE_UNSPECIFIED = 0;
+ */
+ const SHIPMENT_TYPE_UNSPECIFIED = 0;
+ /**
+ * This service ships orders to an address chosen by the customer.
+ *
+ * Generated from protobuf enum DELIVERY = 1;
+ */
+ const DELIVERY = 1;
+ /**
+ * This service ships orders to an address chosen by the customer.
+ * The order is shipped from a local store near by.
+ *
+ * Generated from protobuf enum LOCAL_DELIVERY = 2;
+ */
+ const LOCAL_DELIVERY = 2;
+ /**
+ * This service ships orders to an address chosen by the customer.
+ * The order is shipped from a collection point.
+ *
+ * Generated from protobuf enum COLLECTION_POINT = 3;
+ */
+ const COLLECTION_POINT = 3;
+
+ private static $valueToName = [
+ self::SHIPMENT_TYPE_UNSPECIFIED => 'SHIPMENT_TYPE_UNSPECIFIED',
+ self::DELIVERY => 'DELIVERY',
+ self::LOCAL_DELIVERY => 'LOCAL_DELIVERY',
+ self::COLLECTION_POINT => 'COLLECTION_POINT',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(ShipmentType::class, \Google\Shopping\Merchant\Accounts\V1beta\Service_ShipmentType::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig.php
new file mode 100644
index 000000000000..57a19e9e862b
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig.php
@@ -0,0 +1,215 @@
+google.shopping.merchant.accounts.v1beta.Service.StoreConfig
+ */
+class StoreConfig extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Indicates whether all stores, or selected stores, listed by this
+ * merchant provide local delivery.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig.StoreServiceType store_service_type = 1;
+ */
+ protected $store_service_type = null;
+ /**
+ * Optional. A list of store codes that provide local delivery.
+ * If empty, then `all_stores` must be true.
+ *
+ * Generated from protobuf field repeated string store_codes = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $store_codes;
+ /**
+ * Configs related to local delivery ends for the day.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig.CutoffConfig cutoff_config = 3;
+ */
+ protected $cutoff_config = null;
+ /**
+ * Maximum delivery radius.
+ * This is only required for the local delivery shipment type.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Distance service_radius = 4;
+ */
+ protected $service_radius = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $store_service_type
+ * Indicates whether all stores, or selected stores, listed by this
+ * merchant provide local delivery.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $store_codes
+ * Optional. A list of store codes that provide local delivery.
+ * If empty, then `all_stores` must be true.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig\CutoffConfig $cutoff_config
+ * Configs related to local delivery ends for the day.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Distance $service_radius
+ * Maximum delivery radius.
+ * This is only required for the local delivery shipment type.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Indicates whether all stores, or selected stores, listed by this
+ * merchant provide local delivery.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig.StoreServiceType store_service_type = 1;
+ * @return int
+ */
+ public function getStoreServiceType()
+ {
+ return isset($this->store_service_type) ? $this->store_service_type : 0;
+ }
+
+ public function hasStoreServiceType()
+ {
+ return isset($this->store_service_type);
+ }
+
+ public function clearStoreServiceType()
+ {
+ unset($this->store_service_type);
+ }
+
+ /**
+ * Indicates whether all stores, or selected stores, listed by this
+ * merchant provide local delivery.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig.StoreServiceType store_service_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setStoreServiceType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig\StoreServiceType::class);
+ $this->store_service_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A list of store codes that provide local delivery.
+ * If empty, then `all_stores` must be true.
+ *
+ * Generated from protobuf field repeated string store_codes = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getStoreCodes()
+ {
+ return $this->store_codes;
+ }
+
+ /**
+ * Optional. A list of store codes that provide local delivery.
+ * If empty, then `all_stores` must be true.
+ *
+ * Generated from protobuf field repeated string store_codes = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setStoreCodes($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->store_codes = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Configs related to local delivery ends for the day.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig.CutoffConfig cutoff_config = 3;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig\CutoffConfig|null
+ */
+ public function getCutoffConfig()
+ {
+ return $this->cutoff_config;
+ }
+
+ public function hasCutoffConfig()
+ {
+ return isset($this->cutoff_config);
+ }
+
+ public function clearCutoffConfig()
+ {
+ unset($this->cutoff_config);
+ }
+
+ /**
+ * Configs related to local delivery ends for the day.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig.CutoffConfig cutoff_config = 3;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig\CutoffConfig $var
+ * @return $this
+ */
+ public function setCutoffConfig($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig\CutoffConfig::class);
+ $this->cutoff_config = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum delivery radius.
+ * This is only required for the local delivery shipment type.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Distance service_radius = 4;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Distance|null
+ */
+ public function getServiceRadius()
+ {
+ return $this->service_radius;
+ }
+
+ public function hasServiceRadius()
+ {
+ return isset($this->service_radius);
+ }
+
+ public function clearServiceRadius()
+ {
+ unset($this->service_radius);
+ }
+
+ /**
+ * Maximum delivery radius.
+ * This is only required for the local delivery shipment type.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Distance service_radius = 4;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Distance $var
+ * @return $this
+ */
+ public function setServiceRadius($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Distance::class);
+ $this->service_radius = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(StoreConfig::class, \Google\Shopping\Merchant\Accounts\V1beta\Service_StoreConfig::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig/CutoffConfig.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig/CutoffConfig.php
new file mode 100644
index 000000000000..49e1fd43e34f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig/CutoffConfig.php
@@ -0,0 +1,200 @@
+google.shopping.merchant.accounts.v1beta.Service.StoreConfig.CutoffConfig
+ */
+class CutoffConfig extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Time that local delivery ends for the day.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig.CutoffConfig.LocalCutoffTime local_cutoff_time = 1;
+ */
+ protected $local_cutoff_time = null;
+ /**
+ * Only valid with local delivery fulfillment. Represents cutoff time
+ * as the number of hours before store closing. Mutually exclusive
+ * with `local_cutoff_time`.
+ *
+ * Generated from protobuf field optional int64 store_close_offset_hours = 2;
+ */
+ protected $store_close_offset_hours = null;
+ /**
+ * Merchants can opt-out of showing n+1 day local delivery when they have
+ * a shipping service configured to n day local delivery. For example, if
+ * the shipping service defines same-day delivery, and it's past the
+ * cut-off, setting this field to `true` results in the calculated
+ * shipping service rate returning `NO_DELIVERY_POST_CUTOFF`. In the
+ * same example, setting this field to `false` results in the calculated
+ * shipping time being one day. This is only for local delivery.
+ *
+ * Generated from protobuf field optional bool no_delivery_post_cutoff = 3;
+ */
+ protected $no_delivery_post_cutoff = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig\CutoffConfig\LocalCutoffTime $local_cutoff_time
+ * Time that local delivery ends for the day.
+ * @type int|string $store_close_offset_hours
+ * Only valid with local delivery fulfillment. Represents cutoff time
+ * as the number of hours before store closing. Mutually exclusive
+ * with `local_cutoff_time`.
+ * @type bool $no_delivery_post_cutoff
+ * Merchants can opt-out of showing n+1 day local delivery when they have
+ * a shipping service configured to n day local delivery. For example, if
+ * the shipping service defines same-day delivery, and it's past the
+ * cut-off, setting this field to `true` results in the calculated
+ * shipping service rate returning `NO_DELIVERY_POST_CUTOFF`. In the
+ * same example, setting this field to `false` results in the calculated
+ * shipping time being one day. This is only for local delivery.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Time that local delivery ends for the day.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig.CutoffConfig.LocalCutoffTime local_cutoff_time = 1;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig\CutoffConfig\LocalCutoffTime|null
+ */
+ public function getLocalCutoffTime()
+ {
+ return $this->local_cutoff_time;
+ }
+
+ public function hasLocalCutoffTime()
+ {
+ return isset($this->local_cutoff_time);
+ }
+
+ public function clearLocalCutoffTime()
+ {
+ unset($this->local_cutoff_time);
+ }
+
+ /**
+ * Time that local delivery ends for the day.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Service.StoreConfig.CutoffConfig.LocalCutoffTime local_cutoff_time = 1;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig\CutoffConfig\LocalCutoffTime $var
+ * @return $this
+ */
+ public function setLocalCutoffTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Service\StoreConfig\CutoffConfig\LocalCutoffTime::class);
+ $this->local_cutoff_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Only valid with local delivery fulfillment. Represents cutoff time
+ * as the number of hours before store closing. Mutually exclusive
+ * with `local_cutoff_time`.
+ *
+ * Generated from protobuf field optional int64 store_close_offset_hours = 2;
+ * @return int|string
+ */
+ public function getStoreCloseOffsetHours()
+ {
+ return isset($this->store_close_offset_hours) ? $this->store_close_offset_hours : 0;
+ }
+
+ public function hasStoreCloseOffsetHours()
+ {
+ return isset($this->store_close_offset_hours);
+ }
+
+ public function clearStoreCloseOffsetHours()
+ {
+ unset($this->store_close_offset_hours);
+ }
+
+ /**
+ * Only valid with local delivery fulfillment. Represents cutoff time
+ * as the number of hours before store closing. Mutually exclusive
+ * with `local_cutoff_time`.
+ *
+ * Generated from protobuf field optional int64 store_close_offset_hours = 2;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setStoreCloseOffsetHours($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->store_close_offset_hours = $var;
+
+ return $this;
+ }
+
+ /**
+ * Merchants can opt-out of showing n+1 day local delivery when they have
+ * a shipping service configured to n day local delivery. For example, if
+ * the shipping service defines same-day delivery, and it's past the
+ * cut-off, setting this field to `true` results in the calculated
+ * shipping service rate returning `NO_DELIVERY_POST_CUTOFF`. In the
+ * same example, setting this field to `false` results in the calculated
+ * shipping time being one day. This is only for local delivery.
+ *
+ * Generated from protobuf field optional bool no_delivery_post_cutoff = 3;
+ * @return bool
+ */
+ public function getNoDeliveryPostCutoff()
+ {
+ return isset($this->no_delivery_post_cutoff) ? $this->no_delivery_post_cutoff : false;
+ }
+
+ public function hasNoDeliveryPostCutoff()
+ {
+ return isset($this->no_delivery_post_cutoff);
+ }
+
+ public function clearNoDeliveryPostCutoff()
+ {
+ unset($this->no_delivery_post_cutoff);
+ }
+
+ /**
+ * Merchants can opt-out of showing n+1 day local delivery when they have
+ * a shipping service configured to n day local delivery. For example, if
+ * the shipping service defines same-day delivery, and it's past the
+ * cut-off, setting this field to `true` results in the calculated
+ * shipping service rate returning `NO_DELIVERY_POST_CUTOFF`. In the
+ * same example, setting this field to `false` results in the calculated
+ * shipping time being one day. This is only for local delivery.
+ *
+ * Generated from protobuf field optional bool no_delivery_post_cutoff = 3;
+ * @param bool $var
+ * @return $this
+ */
+ public function setNoDeliveryPostCutoff($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->no_delivery_post_cutoff = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(CutoffConfig::class, \Google\Shopping\Merchant\Accounts\V1beta\Service_StoreConfig_CutoffConfig::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig/CutoffConfig/LocalCutoffTime.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig/CutoffConfig/LocalCutoffTime.php
new file mode 100644
index 000000000000..c98e2c86ab4b
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig/CutoffConfig/LocalCutoffTime.php
@@ -0,0 +1,132 @@
+google.shopping.merchant.accounts.v1beta.Service.StoreConfig.CutoffConfig.LocalCutoffTime
+ */
+class LocalCutoffTime extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Hour local delivery orders must be placed by to process the same
+ * day.
+ *
+ * Generated from protobuf field optional int64 hour = 1;
+ */
+ protected $hour = null;
+ /**
+ * Minute local delivery orders must be placed by to process the same
+ * day.
+ *
+ * Generated from protobuf field optional int64 minute = 2;
+ */
+ protected $minute = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int|string $hour
+ * Hour local delivery orders must be placed by to process the same
+ * day.
+ * @type int|string $minute
+ * Minute local delivery orders must be placed by to process the same
+ * day.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Hour local delivery orders must be placed by to process the same
+ * day.
+ *
+ * Generated from protobuf field optional int64 hour = 1;
+ * @return int|string
+ */
+ public function getHour()
+ {
+ return isset($this->hour) ? $this->hour : 0;
+ }
+
+ public function hasHour()
+ {
+ return isset($this->hour);
+ }
+
+ public function clearHour()
+ {
+ unset($this->hour);
+ }
+
+ /**
+ * Hour local delivery orders must be placed by to process the same
+ * day.
+ *
+ * Generated from protobuf field optional int64 hour = 1;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setHour($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->hour = $var;
+
+ return $this;
+ }
+
+ /**
+ * Minute local delivery orders must be placed by to process the same
+ * day.
+ *
+ * Generated from protobuf field optional int64 minute = 2;
+ * @return int|string
+ */
+ public function getMinute()
+ {
+ return isset($this->minute) ? $this->minute : 0;
+ }
+
+ public function hasMinute()
+ {
+ return isset($this->minute);
+ }
+
+ public function clearMinute()
+ {
+ unset($this->minute);
+ }
+
+ /**
+ * Minute local delivery orders must be placed by to process the same
+ * day.
+ *
+ * Generated from protobuf field optional int64 minute = 2;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setMinute($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->minute = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(LocalCutoffTime::class, \Google\Shopping\Merchant\Accounts\V1beta\Service_StoreConfig_CutoffConfig_LocalCutoffTime::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig/StoreServiceType.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig/StoreServiceType.php
new file mode 100644
index 000000000000..f9d57cc338f7
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Service/StoreConfig/StoreServiceType.php
@@ -0,0 +1,67 @@
+google.shopping.merchant.accounts.v1beta.Service.StoreConfig.StoreServiceType
+ */
+class StoreServiceType
+{
+ /**
+ * Did not specify store service type.
+ *
+ * Generated from protobuf enum STORE_SERVICE_TYPE_UNSPECIFIED = 0;
+ */
+ const STORE_SERVICE_TYPE_UNSPECIFIED = 0;
+ /**
+ * Indicates whether all stores, current and future, listed by this
+ * merchant provide local delivery.
+ *
+ * Generated from protobuf enum ALL_STORES = 1;
+ */
+ const ALL_STORES = 1;
+ /**
+ * Indicates that only the stores listed in `store_codes` are eligible
+ * for local delivery.
+ *
+ * Generated from protobuf enum SELECTED_STORES = 2;
+ */
+ const SELECTED_STORES = 2;
+
+ private static $valueToName = [
+ self::STORE_SERVICE_TYPE_UNSPECIFIED => 'STORE_SERVICE_TYPE_UNSPECIFIED',
+ self::ALL_STORES => 'ALL_STORES',
+ self::SELECTED_STORES => 'SELECTED_STORES',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(StoreServiceType::class, \Google\Shopping\Merchant\Accounts\V1beta\Service_StoreConfig_StoreServiceType::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ShippingSettings.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ShippingSettings.php
new file mode 100644
index 000000000000..5d0b362a482e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/ShippingSettings.php
@@ -0,0 +1,222 @@
+google.shopping.merchant.accounts.v1beta.ShippingSettings
+ */
+class ShippingSettings extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the shipping setting.
+ * Format: `accounts/{account}/shippingSetting`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Optional. The target account's list of services.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Service services = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $services;
+ /**
+ * Optional. A list of warehouses which can be referred to in `services`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Warehouse warehouses = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $warehouses;
+ /**
+ * Required. This field is used for avoid async issue. Make sure shipping
+ * setting data
+ * didn't change between get call and insert call. The user should do
+ * following steps:
+ * 1. Set etag field as empty string for initial shipping setting creation.
+ * 2. After initial creation, call get method to obtain an etag and current
+ * shipping setting data before call insert.
+ * 3. Modify to wanted shipping setting information.
+ * 4. Call insert method with the wanted shipping setting information with
+ * the etag obtained from step 2.
+ * 5. If shipping setting data changed between step 2 and step 4. Insert
+ * request will fail because the etag changes every time the shipping setting
+ * data changes. User should repeate step 2-4 with the new etag.
+ *
+ * Generated from protobuf field string etag = 4 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $etag = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the shipping setting.
+ * Format: `accounts/{account}/shippingSetting`
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Service>|\Google\Protobuf\Internal\RepeatedField $services
+ * Optional. The target account's list of services.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Warehouse>|\Google\Protobuf\Internal\RepeatedField $warehouses
+ * Optional. A list of warehouses which can be referred to in `services`.
+ * @type string $etag
+ * Required. This field is used for avoid async issue. Make sure shipping
+ * setting data
+ * didn't change between get call and insert call. The user should do
+ * following steps:
+ * 1. Set etag field as empty string for initial shipping setting creation.
+ * 2. After initial creation, call get method to obtain an etag and current
+ * shipping setting data before call insert.
+ * 3. Modify to wanted shipping setting information.
+ * 4. Call insert method with the wanted shipping setting information with
+ * the etag obtained from step 2.
+ * 5. If shipping setting data changed between step 2 and step 4. Insert
+ * request will fail because the etag changes every time the shipping setting
+ * data changes. User should repeate step 2-4 with the new etag.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the shipping setting.
+ * Format: `accounts/{account}/shippingSetting`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the shipping setting.
+ * Format: `accounts/{account}/shippingSetting`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The target account's list of services.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Service services = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getServices()
+ {
+ return $this->services;
+ }
+
+ /**
+ * Optional. The target account's list of services.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Service services = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Service>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setServices($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Service::class);
+ $this->services = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Optional. A list of warehouses which can be referred to in `services`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Warehouse warehouses = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getWarehouses()
+ {
+ return $this->warehouses;
+ }
+
+ /**
+ * Optional. A list of warehouses which can be referred to in `services`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Warehouse warehouses = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Warehouse>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setWarehouses($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Warehouse::class);
+ $this->warehouses = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Required. This field is used for avoid async issue. Make sure shipping
+ * setting data
+ * didn't change between get call and insert call. The user should do
+ * following steps:
+ * 1. Set etag field as empty string for initial shipping setting creation.
+ * 2. After initial creation, call get method to obtain an etag and current
+ * shipping setting data before call insert.
+ * 3. Modify to wanted shipping setting information.
+ * 4. Call insert method with the wanted shipping setting information with
+ * the etag obtained from step 2.
+ * 5. If shipping setting data changed between step 2 and step 4. Insert
+ * request will fail because the etag changes every time the shipping setting
+ * data changes. User should repeate step 2-4 with the new etag.
+ *
+ * Generated from protobuf field string etag = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getEtag()
+ {
+ return $this->etag;
+ }
+
+ /**
+ * Required. This field is used for avoid async issue. Make sure shipping
+ * setting data
+ * didn't change between get call and insert call. The user should do
+ * following steps:
+ * 1. Set etag field as empty string for initial shipping setting creation.
+ * 2. After initial creation, call get method to obtain an etag and current
+ * shipping setting data before call insert.
+ * 3. Modify to wanted shipping setting information.
+ * 4. Call insert method with the wanted shipping setting information with
+ * the etag obtained from step 2.
+ * 5. If shipping setting data changed between step 2 and step 4. Insert
+ * request will fail because the etag changes every time the shipping setting
+ * data changes. User should repeate step 2-4 with the new etag.
+ *
+ * Generated from protobuf field string etag = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setEtag($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->etag = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Table.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Table.php
new file mode 100644
index 000000000000..a3a047fff753
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Table.php
@@ -0,0 +1,208 @@
+google.shopping.merchant.accounts.v1beta.Table
+ */
+class Table extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Name of the table. Required for subtables, ignored for the main table.
+ *
+ * Generated from protobuf field optional string name = 1;
+ */
+ protected $name = null;
+ /**
+ * Required. Headers of the table's rows.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Headers row_headers = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $row_headers = null;
+ /**
+ * Headers of the table's columns. Optional: if not set then the table has
+ * only one dimension.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Headers column_headers = 3;
+ */
+ protected $column_headers = null;
+ /**
+ * Required. The list of rows that constitute the table. Must have the same
+ * length as `row_headers`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Row rows = 4 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $rows;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Name of the table. Required for subtables, ignored for the main table.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Headers $row_headers
+ * Required. Headers of the table's rows.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Headers $column_headers
+ * Headers of the table's columns. Optional: if not set then the table has
+ * only one dimension.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\Row>|\Google\Protobuf\Internal\RepeatedField $rows
+ * Required. The list of rows that constitute the table. Must have the same
+ * length as `row_headers`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Name of the table. Required for subtables, ignored for the main table.
+ *
+ * Generated from protobuf field optional string name = 1;
+ * @return string
+ */
+ public function getName()
+ {
+ return isset($this->name) ? $this->name : '';
+ }
+
+ public function hasName()
+ {
+ return isset($this->name);
+ }
+
+ public function clearName()
+ {
+ unset($this->name);
+ }
+
+ /**
+ * Name of the table. Required for subtables, ignored for the main table.
+ *
+ * Generated from protobuf field optional string name = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Headers of the table's rows.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Headers row_headers = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Headers|null
+ */
+ public function getRowHeaders()
+ {
+ return $this->row_headers;
+ }
+
+ public function hasRowHeaders()
+ {
+ return isset($this->row_headers);
+ }
+
+ public function clearRowHeaders()
+ {
+ unset($this->row_headers);
+ }
+
+ /**
+ * Required. Headers of the table's rows.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Headers row_headers = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Headers $var
+ * @return $this
+ */
+ public function setRowHeaders($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Headers::class);
+ $this->row_headers = $var;
+
+ return $this;
+ }
+
+ /**
+ * Headers of the table's columns. Optional: if not set then the table has
+ * only one dimension.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Headers column_headers = 3;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Headers|null
+ */
+ public function getColumnHeaders()
+ {
+ return $this->column_headers;
+ }
+
+ public function hasColumnHeaders()
+ {
+ return isset($this->column_headers);
+ }
+
+ public function clearColumnHeaders()
+ {
+ unset($this->column_headers);
+ }
+
+ /**
+ * Headers of the table's columns. Optional: if not set then the table has
+ * only one dimension.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Headers column_headers = 3;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Headers $var
+ * @return $this
+ */
+ public function setColumnHeaders($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Headers::class);
+ $this->column_headers = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The list of rows that constitute the table. Must have the same
+ * length as `row_headers`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Row rows = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRows()
+ {
+ return $this->rows;
+ }
+
+ /**
+ * Required. The list of rows that constitute the table. Must have the same
+ * length as `row_headers`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.Row rows = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\Row>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRows($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\Row::class);
+ $this->rows = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TaxRule.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TaxRule.php
new file mode 100644
index 000000000000..1adb31a44a29
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TaxRule.php
@@ -0,0 +1,332 @@
+google.shopping.merchant.accounts.v1beta.TaxRule
+ */
+class TaxRule extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Region code in which this rule is applicable
+ *
+ * Generated from protobuf field string region_code = 1;
+ */
+ protected $region_code = '';
+ /**
+ * If set, shipping charge is taxed (at the same rate as product) when
+ * delivering to this admin's area.
+ * Can only be set on US states without category.
+ *
+ * Generated from protobuf field bool shipping_taxed = 6;
+ */
+ protected $shipping_taxed = false;
+ /**
+ * Required. Time period when this rule is effective. If the duration is
+ * missing from effective_time listed, then it is open ended to the future.
+ * The start of this time period is inclusive, and the end is exclusive.
+ *
+ * Generated from protobuf field .google.type.Interval effective_time_period = 7 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $effective_time_period = null;
+ protected $location;
+ protected $rate_calculation;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int|string $location_id
+ * The admin_id or criteria_id of the region in which this rule is
+ * applicable.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\TaxRule\TaxPostalCodeRange $post_code_range
+ * The range of postal codes in which this rule is applicable.
+ * @type bool $use_google_rate
+ * Rate that depends on delivery location: if merchant has a nexus in
+ * corresponding US state, rates from authorities with jurisdiction over
+ * delivery area are added up.
+ * @type int|string $self_specified_rate_micros
+ * A fixed rate specified in micros, where 100% = 1_000_000.
+ * Suitable for origin-based states.
+ * @type string $region_code
+ * Region code in which this rule is applicable
+ * @type bool $shipping_taxed
+ * If set, shipping charge is taxed (at the same rate as product) when
+ * delivering to this admin's area.
+ * Can only be set on US states without category.
+ * @type \Google\Type\Interval $effective_time_period
+ * Required. Time period when this rule is effective. If the duration is
+ * missing from effective_time listed, then it is open ended to the future.
+ * The start of this time period is inclusive, and the end is exclusive.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\TaxRule::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The admin_id or criteria_id of the region in which this rule is
+ * applicable.
+ *
+ * Generated from protobuf field int64 location_id = 2;
+ * @return int|string
+ */
+ public function getLocationId()
+ {
+ return $this->readOneof(2);
+ }
+
+ public function hasLocationId()
+ {
+ return $this->hasOneof(2);
+ }
+
+ /**
+ * The admin_id or criteria_id of the region in which this rule is
+ * applicable.
+ *
+ * Generated from protobuf field int64 location_id = 2;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setLocationId($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * The range of postal codes in which this rule is applicable.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TaxRule.TaxPostalCodeRange post_code_range = 3;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\TaxRule\TaxPostalCodeRange|null
+ */
+ public function getPostCodeRange()
+ {
+ return $this->readOneof(3);
+ }
+
+ public function hasPostCodeRange()
+ {
+ return $this->hasOneof(3);
+ }
+
+ /**
+ * The range of postal codes in which this rule is applicable.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TaxRule.TaxPostalCodeRange post_code_range = 3;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\TaxRule\TaxPostalCodeRange $var
+ * @return $this
+ */
+ public function setPostCodeRange($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\TaxRule\TaxPostalCodeRange::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * Rate that depends on delivery location: if merchant has a nexus in
+ * corresponding US state, rates from authorities with jurisdiction over
+ * delivery area are added up.
+ *
+ * Generated from protobuf field bool use_google_rate = 4;
+ * @return bool
+ */
+ public function getUseGoogleRate()
+ {
+ return $this->readOneof(4);
+ }
+
+ public function hasUseGoogleRate()
+ {
+ return $this->hasOneof(4);
+ }
+
+ /**
+ * Rate that depends on delivery location: if merchant has a nexus in
+ * corresponding US state, rates from authorities with jurisdiction over
+ * delivery area are added up.
+ *
+ * Generated from protobuf field bool use_google_rate = 4;
+ * @param bool $var
+ * @return $this
+ */
+ public function setUseGoogleRate($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * A fixed rate specified in micros, where 100% = 1_000_000.
+ * Suitable for origin-based states.
+ *
+ * Generated from protobuf field int64 self_specified_rate_micros = 5;
+ * @return int|string
+ */
+ public function getSelfSpecifiedRateMicros()
+ {
+ return $this->readOneof(5);
+ }
+
+ public function hasSelfSpecifiedRateMicros()
+ {
+ return $this->hasOneof(5);
+ }
+
+ /**
+ * A fixed rate specified in micros, where 100% = 1_000_000.
+ * Suitable for origin-based states.
+ *
+ * Generated from protobuf field int64 self_specified_rate_micros = 5;
+ * @param int|string $var
+ * @return $this
+ */
+ public function setSelfSpecifiedRateMicros($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * Region code in which this rule is applicable
+ *
+ * Generated from protobuf field string region_code = 1;
+ * @return string
+ */
+ public function getRegionCode()
+ {
+ return $this->region_code;
+ }
+
+ /**
+ * Region code in which this rule is applicable
+ *
+ * Generated from protobuf field string region_code = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * If set, shipping charge is taxed (at the same rate as product) when
+ * delivering to this admin's area.
+ * Can only be set on US states without category.
+ *
+ * Generated from protobuf field bool shipping_taxed = 6;
+ * @return bool
+ */
+ public function getShippingTaxed()
+ {
+ return $this->shipping_taxed;
+ }
+
+ /**
+ * If set, shipping charge is taxed (at the same rate as product) when
+ * delivering to this admin's area.
+ * Can only be set on US states without category.
+ *
+ * Generated from protobuf field bool shipping_taxed = 6;
+ * @param bool $var
+ * @return $this
+ */
+ public function setShippingTaxed($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->shipping_taxed = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Time period when this rule is effective. If the duration is
+ * missing from effective_time listed, then it is open ended to the future.
+ * The start of this time period is inclusive, and the end is exclusive.
+ *
+ * Generated from protobuf field .google.type.Interval effective_time_period = 7 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Type\Interval|null
+ */
+ public function getEffectiveTimePeriod()
+ {
+ return $this->effective_time_period;
+ }
+
+ public function hasEffectiveTimePeriod()
+ {
+ return isset($this->effective_time_period);
+ }
+
+ public function clearEffectiveTimePeriod()
+ {
+ unset($this->effective_time_period);
+ }
+
+ /**
+ * Required. Time period when this rule is effective. If the duration is
+ * missing from effective_time listed, then it is open ended to the future.
+ * The start of this time period is inclusive, and the end is exclusive.
+ *
+ * Generated from protobuf field .google.type.Interval effective_time_period = 7 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Type\Interval $var
+ * @return $this
+ */
+ public function setEffectiveTimePeriod($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Type\Interval::class);
+ $this->effective_time_period = $var;
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getLocation()
+ {
+ return $this->whichOneof("location");
+ }
+
+ /**
+ * @return string
+ */
+ public function getRateCalculation()
+ {
+ return $this->whichOneof("rate_calculation");
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TaxRule/TaxPostalCodeRange.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TaxRule/TaxPostalCodeRange.php
new file mode 100644
index 000000000000..3be40aba2729
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TaxRule/TaxPostalCodeRange.php
@@ -0,0 +1,112 @@
+google.shopping.merchant.accounts.v1beta.TaxRule.TaxPostalCodeRange
+ */
+class TaxPostalCodeRange extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The start of the postal code range, which is also the smallest
+ * in the range.
+ *
+ * Generated from protobuf field string start = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $start = '';
+ /**
+ * The end of the postal code range. Will be the same as start if not
+ * specified.
+ *
+ * Generated from protobuf field string end = 2;
+ */
+ protected $end = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $start
+ * Required. The start of the postal code range, which is also the smallest
+ * in the range.
+ * @type string $end
+ * The end of the postal code range. Will be the same as start if not
+ * specified.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\TaxRule::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The start of the postal code range, which is also the smallest
+ * in the range.
+ *
+ * Generated from protobuf field string start = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getStart()
+ {
+ return $this->start;
+ }
+
+ /**
+ * Required. The start of the postal code range, which is also the smallest
+ * in the range.
+ *
+ * Generated from protobuf field string start = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setStart($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->start = $var;
+
+ return $this;
+ }
+
+ /**
+ * The end of the postal code range. Will be the same as start if not
+ * specified.
+ *
+ * Generated from protobuf field string end = 2;
+ * @return string
+ */
+ public function getEnd()
+ {
+ return $this->end;
+ }
+
+ /**
+ * The end of the postal code range. Will be the same as start if not
+ * specified.
+ *
+ * Generated from protobuf field string end = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setEnd($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->end = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TaxPostalCodeRange::class, \Google\Shopping\Merchant\Accounts\V1beta\TaxRule_TaxPostalCodeRange::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TermsOfService.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TermsOfService.php
new file mode 100644
index 000000000000..ebd5ac385da8
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TermsOfService.php
@@ -0,0 +1,245 @@
+google.shopping.merchant.accounts.v1beta.TermsOfService
+ */
+class TermsOfService extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+ /**
+ * Region code as defined by [CLDR](https://cldr.unicode.org/). This is either
+ * a country where the ToS applies specifically to that country or `001` when
+ * the same `TermsOfService` can be signed in any country. However note that
+ * when signing a ToS that applies globally we still expect that a specific
+ * country is provided (this should be merchant business country or program
+ * country of participation).
+ *
+ * Generated from protobuf field string region_code = 2;
+ */
+ protected $region_code = '';
+ /**
+ * The Kind this terms of service version applies to.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TermsOfServiceKind kind = 3;
+ */
+ protected $kind = 0;
+ /**
+ * URI for terms of service file that needs to be displayed to signing users.
+ *
+ * Generated from protobuf field optional string file_uri = 4;
+ */
+ protected $file_uri = null;
+ /**
+ * Whether this terms of service version is external. External terms of
+ * service versions can only be agreed through external processes and not
+ * directly by the merchant through UI or API.
+ *
+ * Generated from protobuf field bool external = 5;
+ */
+ protected $external = false;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ * @type string $region_code
+ * Region code as defined by [CLDR](https://cldr.unicode.org/). This is either
+ * a country where the ToS applies specifically to that country or `001` when
+ * the same `TermsOfService` can be signed in any country. However note that
+ * when signing a ToS that applies globally we still expect that a specific
+ * country is provided (this should be merchant business country or program
+ * country of participation).
+ * @type int $kind
+ * The Kind this terms of service version applies to.
+ * @type string $file_uri
+ * URI for terms of service file that needs to be displayed to signing users.
+ * @type bool $external
+ * Whether this terms of service version is external. External terms of
+ * service versions can only be agreed through external processes and not
+ * directly by the merchant through UI or API.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Termsofservice::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the terms of service version.
+ * Format: `termsOfService/{version}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Region code as defined by [CLDR](https://cldr.unicode.org/). This is either
+ * a country where the ToS applies specifically to that country or `001` when
+ * the same `TermsOfService` can be signed in any country. However note that
+ * when signing a ToS that applies globally we still expect that a specific
+ * country is provided (this should be merchant business country or program
+ * country of participation).
+ *
+ * Generated from protobuf field string region_code = 2;
+ * @return string
+ */
+ public function getRegionCode()
+ {
+ return $this->region_code;
+ }
+
+ /**
+ * Region code as defined by [CLDR](https://cldr.unicode.org/). This is either
+ * a country where the ToS applies specifically to that country or `001` when
+ * the same `TermsOfService` can be signed in any country. However note that
+ * when signing a ToS that applies globally we still expect that a specific
+ * country is provided (this should be merchant business country or program
+ * country of participation).
+ *
+ * Generated from protobuf field string region_code = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * The Kind this terms of service version applies to.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TermsOfServiceKind kind = 3;
+ * @return int
+ */
+ public function getKind()
+ {
+ return $this->kind;
+ }
+
+ /**
+ * The Kind this terms of service version applies to.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TermsOfServiceKind kind = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setKind($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\TermsOfServiceKind::class);
+ $this->kind = $var;
+
+ return $this;
+ }
+
+ /**
+ * URI for terms of service file that needs to be displayed to signing users.
+ *
+ * Generated from protobuf field optional string file_uri = 4;
+ * @return string
+ */
+ public function getFileUri()
+ {
+ return isset($this->file_uri) ? $this->file_uri : '';
+ }
+
+ public function hasFileUri()
+ {
+ return isset($this->file_uri);
+ }
+
+ public function clearFileUri()
+ {
+ unset($this->file_uri);
+ }
+
+ /**
+ * URI for terms of service file that needs to be displayed to signing users.
+ *
+ * Generated from protobuf field optional string file_uri = 4;
+ * @param string $var
+ * @return $this
+ */
+ public function setFileUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->file_uri = $var;
+
+ return $this;
+ }
+
+ /**
+ * Whether this terms of service version is external. External terms of
+ * service versions can only be agreed through external processes and not
+ * directly by the merchant through UI or API.
+ *
+ * Generated from protobuf field bool external = 5;
+ * @return bool
+ */
+ public function getExternal()
+ {
+ return $this->external;
+ }
+
+ /**
+ * Whether this terms of service version is external. External terms of
+ * service versions can only be agreed through external processes and not
+ * directly by the merchant through UI or API.
+ *
+ * Generated from protobuf field bool external = 5;
+ * @param bool $var
+ * @return $this
+ */
+ public function setExternal($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->external = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TermsOfServiceAgreementState.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TermsOfServiceAgreementState.php
new file mode 100644
index 000000000000..3b3377487c41
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TermsOfServiceAgreementState.php
@@ -0,0 +1,262 @@
+google.shopping.merchant.accounts.v1beta.TermsOfServiceAgreementState
+ */
+class TermsOfServiceAgreementState extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the terms of service version.
+ * Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}`
+ * The identifier format is: `{TermsOfServiceKind}-{country}`
+ * For example, an identifier could be: `MERCHANT_CENTER-US`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Region code as defined by https://cldr.unicode.org/. This is the
+ * country the current state applies to.
+ *
+ * Generated from protobuf field string region_code = 2;
+ */
+ protected $region_code = '';
+ /**
+ * Terms of Service kind associated with the particular version.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TermsOfServiceKind terms_of_service_kind = 3;
+ */
+ protected $terms_of_service_kind = 0;
+ /**
+ * The accepted terms of service of this kind and for the associated
+ * region_code
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Accepted accepted = 4;
+ */
+ protected $accepted = null;
+ /**
+ * The required terms of service
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Required required = 5;
+ */
+ protected $required = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the terms of service version.
+ * Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}`
+ * The identifier format is: `{TermsOfServiceKind}-{country}`
+ * For example, an identifier could be: `MERCHANT_CENTER-US`
+ * @type string $region_code
+ * Region code as defined by https://cldr.unicode.org/. This is the
+ * country the current state applies to.
+ * @type int $terms_of_service_kind
+ * Terms of Service kind associated with the particular version.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Accepted $accepted
+ * The accepted terms of service of this kind and for the associated
+ * region_code
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Required $required
+ * The required terms of service
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Termsofserviceagreementstate::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the terms of service version.
+ * Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}`
+ * The identifier format is: `{TermsOfServiceKind}-{country}`
+ * For example, an identifier could be: `MERCHANT_CENTER-US`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the terms of service version.
+ * Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}`
+ * The identifier format is: `{TermsOfServiceKind}-{country}`
+ * For example, an identifier could be: `MERCHANT_CENTER-US`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Region code as defined by https://cldr.unicode.org/. This is the
+ * country the current state applies to.
+ *
+ * Generated from protobuf field string region_code = 2;
+ * @return string
+ */
+ public function getRegionCode()
+ {
+ return $this->region_code;
+ }
+
+ /**
+ * Region code as defined by https://cldr.unicode.org/. This is the
+ * country the current state applies to.
+ *
+ * Generated from protobuf field string region_code = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setRegionCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->region_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Terms of Service kind associated with the particular version.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TermsOfServiceKind terms_of_service_kind = 3;
+ * @return int
+ */
+ public function getTermsOfServiceKind()
+ {
+ return $this->terms_of_service_kind;
+ }
+
+ /**
+ * Terms of Service kind associated with the particular version.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.TermsOfServiceKind terms_of_service_kind = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setTermsOfServiceKind($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\TermsOfServiceKind::class);
+ $this->terms_of_service_kind = $var;
+
+ return $this;
+ }
+
+ /**
+ * The accepted terms of service of this kind and for the associated
+ * region_code
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Accepted accepted = 4;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Accepted|null
+ */
+ public function getAccepted()
+ {
+ return $this->accepted;
+ }
+
+ public function hasAccepted()
+ {
+ return isset($this->accepted);
+ }
+
+ public function clearAccepted()
+ {
+ unset($this->accepted);
+ }
+
+ /**
+ * The accepted terms of service of this kind and for the associated
+ * region_code
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Accepted accepted = 4;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Accepted $var
+ * @return $this
+ */
+ public function setAccepted($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Accepted::class);
+ $this->accepted = $var;
+
+ return $this;
+ }
+
+ /**
+ * The required terms of service
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Required required = 5;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Required|null
+ */
+ public function getRequired()
+ {
+ return $this->required;
+ }
+
+ public function hasRequired()
+ {
+ return isset($this->required);
+ }
+
+ public function clearRequired()
+ {
+ unset($this->required);
+ }
+
+ /**
+ * The required terms of service
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Required required = 5;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Required $var
+ * @return $this
+ */
+ public function setRequired($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Required::class);
+ $this->required = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TermsOfServiceKind.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TermsOfServiceKind.php
new file mode 100644
index 000000000000..62911fb3bed8
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TermsOfServiceKind.php
@@ -0,0 +1,54 @@
+google.shopping.merchant.accounts.v1beta.TermsOfServiceKind
+ */
+class TermsOfServiceKind
+{
+ /**
+ * Default value. This value is unused.
+ *
+ * Generated from protobuf enum TERMS_OF_SERVICE_KIND_UNSPECIFIED = 0;
+ */
+ const TERMS_OF_SERVICE_KIND_UNSPECIFIED = 0;
+ /**
+ * Merchant Center application.
+ *
+ * Generated from protobuf enum MERCHANT_CENTER = 1;
+ */
+ const MERCHANT_CENTER = 1;
+
+ private static $valueToName = [
+ self::TERMS_OF_SERVICE_KIND_UNSPECIFIED => 'TERMS_OF_SERVICE_KIND_UNSPECIFIED',
+ self::MERCHANT_CENTER => 'MERCHANT_CENTER',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TransitTable.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TransitTable.php
new file mode 100644
index 000000000000..9aac90e07367
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TransitTable.php
@@ -0,0 +1,181 @@
+google.shopping.merchant.accounts.v1beta.TransitTable
+ */
+class TransitTable extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. A list of region names
+ * [Region.name][google.shopping.merchant.accounts.v1beta.Region.name] . The
+ * last value can be
+ * `"all other locations"`. Example:
+ * `["zone 1", "zone 2", "all other locations"]`. The referred
+ * postal code groups must match the delivery country of the service.
+ *
+ * Generated from protobuf field repeated string postal_code_group_names = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $postal_code_group_names;
+ /**
+ * Required. A list of transit time labels. The last value can be
+ * `"all other labels"`. Example:
+ * `["food", "electronics", "all other labels"]`.
+ *
+ * Generated from protobuf field repeated string transit_time_labels = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $transit_time_labels;
+ /**
+ * Required. If there's only one dimension set of `postal_code_group_names` or
+ * `transit_time_labels`, there are multiple rows each with one value
+ * for that dimension. If there are two dimensions, each row corresponds to a
+ * `postal_code_group_names`, and columns (values) to a
+ * `transit_time_labels`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.TransitTable.TransitTimeRow rows = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $rows;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array|\Google\Protobuf\Internal\RepeatedField $postal_code_group_names
+ * Required. A list of region names
+ * [Region.name][google.shopping.merchant.accounts.v1beta.Region.name] . The
+ * last value can be
+ * `"all other locations"`. Example:
+ * `["zone 1", "zone 2", "all other locations"]`. The referred
+ * postal code groups must match the delivery country of the service.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $transit_time_labels
+ * Required. A list of transit time labels. The last value can be
+ * `"all other labels"`. Example:
+ * `["food", "electronics", "all other labels"]`.
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\TransitTable\TransitTimeRow>|\Google\Protobuf\Internal\RepeatedField $rows
+ * Required. If there's only one dimension set of `postal_code_group_names` or
+ * `transit_time_labels`, there are multiple rows each with one value
+ * for that dimension. If there are two dimensions, each row corresponds to a
+ * `postal_code_group_names`, and columns (values) to a
+ * `transit_time_labels`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. A list of region names
+ * [Region.name][google.shopping.merchant.accounts.v1beta.Region.name] . The
+ * last value can be
+ * `"all other locations"`. Example:
+ * `["zone 1", "zone 2", "all other locations"]`. The referred
+ * postal code groups must match the delivery country of the service.
+ *
+ * Generated from protobuf field repeated string postal_code_group_names = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getPostalCodeGroupNames()
+ {
+ return $this->postal_code_group_names;
+ }
+
+ /**
+ * Required. A list of region names
+ * [Region.name][google.shopping.merchant.accounts.v1beta.Region.name] . The
+ * last value can be
+ * `"all other locations"`. Example:
+ * `["zone 1", "zone 2", "all other locations"]`. The referred
+ * postal code groups must match the delivery country of the service.
+ *
+ * Generated from protobuf field repeated string postal_code_group_names = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setPostalCodeGroupNames($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->postal_code_group_names = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Required. A list of transit time labels. The last value can be
+ * `"all other labels"`. Example:
+ * `["food", "electronics", "all other labels"]`.
+ *
+ * Generated from protobuf field repeated string transit_time_labels = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getTransitTimeLabels()
+ {
+ return $this->transit_time_labels;
+ }
+
+ /**
+ * Required. A list of transit time labels. The last value can be
+ * `"all other labels"`. Example:
+ * `["food", "electronics", "all other labels"]`.
+ *
+ * Generated from protobuf field repeated string transit_time_labels = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setTransitTimeLabels($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
+ $this->transit_time_labels = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Required. If there's only one dimension set of `postal_code_group_names` or
+ * `transit_time_labels`, there are multiple rows each with one value
+ * for that dimension. If there are two dimensions, each row corresponds to a
+ * `postal_code_group_names`, and columns (values) to a
+ * `transit_time_labels`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.TransitTable.TransitTimeRow rows = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRows()
+ {
+ return $this->rows;
+ }
+
+ /**
+ * Required. If there's only one dimension set of `postal_code_group_names` or
+ * `transit_time_labels`, there are multiple rows each with one value
+ * for that dimension. If there are two dimensions, each row corresponds to a
+ * `postal_code_group_names`, and columns (values) to a
+ * `transit_time_labels`.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.TransitTable.TransitTimeRow rows = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\TransitTable\TransitTimeRow>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRows($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\TransitTable\TransitTimeRow::class);
+ $this->rows = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TransitTable/TransitTimeRow.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TransitTable/TransitTimeRow.php
new file mode 100644
index 000000000000..33c2fc9acba0
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TransitTable/TransitTimeRow.php
@@ -0,0 +1,74 @@
+google.shopping.merchant.accounts.v1beta.TransitTable.TransitTimeRow
+ */
+class TransitTimeRow extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Transit time range (min-max) in business days.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.TransitTable.TransitTimeRow.TransitTimeValue values = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ private $values;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Shopping\Merchant\Accounts\V1beta\TransitTable\TransitTimeRow\TransitTimeValue>|\Google\Protobuf\Internal\RepeatedField $values
+ * Required. Transit time range (min-max) in business days.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Transit time range (min-max) in business days.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.TransitTable.TransitTimeRow.TransitTimeValue values = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getValues()
+ {
+ return $this->values;
+ }
+
+ /**
+ * Required. Transit time range (min-max) in business days.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.TransitTable.TransitTimeRow.TransitTimeValue values = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param array<\Google\Shopping\Merchant\Accounts\V1beta\TransitTable\TransitTimeRow\TransitTimeValue>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setValues($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Shopping\Merchant\Accounts\V1beta\TransitTable\TransitTimeRow\TransitTimeValue::class);
+ $this->values = $arr;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TransitTimeRow::class, \Google\Shopping\Merchant\Accounts\V1beta\TransitTable_TransitTimeRow::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TransitTable/TransitTimeRow/TransitTimeValue.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TransitTable/TransitTimeRow/TransitTimeValue.php
new file mode 100644
index 000000000000..fd931d29351e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/TransitTable/TransitTimeRow/TransitTimeValue.php
@@ -0,0 +1,128 @@
+google.shopping.merchant.accounts.v1beta.TransitTable.TransitTimeRow.TransitTimeValue
+ */
+class TransitTimeValue extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Minimum transit time range in business days. 0 means same
+ * day delivery, 1 means next day delivery.
+ *
+ * Generated from protobuf field optional int32 min_transit_days = 1;
+ */
+ protected $min_transit_days = null;
+ /**
+ * Must be greater than or equal to `min_transit_days`.
+ *
+ * Generated from protobuf field optional int32 max_transit_days = 2;
+ */
+ protected $max_transit_days = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $min_transit_days
+ * Minimum transit time range in business days. 0 means same
+ * day delivery, 1 means next day delivery.
+ * @type int $max_transit_days
+ * Must be greater than or equal to `min_transit_days`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Minimum transit time range in business days. 0 means same
+ * day delivery, 1 means next day delivery.
+ *
+ * Generated from protobuf field optional int32 min_transit_days = 1;
+ * @return int
+ */
+ public function getMinTransitDays()
+ {
+ return isset($this->min_transit_days) ? $this->min_transit_days : 0;
+ }
+
+ public function hasMinTransitDays()
+ {
+ return isset($this->min_transit_days);
+ }
+
+ public function clearMinTransitDays()
+ {
+ unset($this->min_transit_days);
+ }
+
+ /**
+ * Minimum transit time range in business days. 0 means same
+ * day delivery, 1 means next day delivery.
+ *
+ * Generated from protobuf field optional int32 min_transit_days = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setMinTransitDays($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->min_transit_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Must be greater than or equal to `min_transit_days`.
+ *
+ * Generated from protobuf field optional int32 max_transit_days = 2;
+ * @return int
+ */
+ public function getMaxTransitDays()
+ {
+ return isset($this->max_transit_days) ? $this->max_transit_days : 0;
+ }
+
+ public function hasMaxTransitDays()
+ {
+ return isset($this->max_transit_days);
+ }
+
+ public function clearMaxTransitDays()
+ {
+ unset($this->max_transit_days);
+ }
+
+ /**
+ * Must be greater than or equal to `min_transit_days`.
+ *
+ * Generated from protobuf field optional int32 max_transit_days = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setMaxTransitDays($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->max_transit_days = $var;
+
+ return $this;
+ }
+
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TransitTimeValue::class, \Google\Shopping\Merchant\Accounts\V1beta\TransitTable_TransitTimeRow_TransitTimeValue::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UnclaimHomepageRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UnclaimHomepageRequest.php
new file mode 100644
index 000000000000..cdef87d2c32a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UnclaimHomepageRequest.php
@@ -0,0 +1,71 @@
+google.shopping.merchant.accounts.v1beta.UnclaimHomepageRequest
+ */
+class UnclaimHomepageRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the homepage to unclaim.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the homepage to unclaim.
+ * Format: `accounts/{account}/homepage`
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Homepage::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the homepage to unclaim.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. The name of the homepage to unclaim.
+ * Format: `accounts/{account}/homepage`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateAccountRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateAccountRequest.php
new file mode 100644
index 000000000000..d21bc30b6f62
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateAccountRequest.php
@@ -0,0 +1,136 @@
+google.shopping.merchant.accounts.v1beta.UpdateAccountRequest
+ */
+class UpdateAccountRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The new version of the account.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Account account = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $account = null;
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Account $account Required. The new version of the account.
+ * @param \Google\Protobuf\FieldMask $updateMask Required. List of fields being updated.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateAccountRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Shopping\Merchant\Accounts\V1beta\Account $account, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setAccount($account)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Account $account
+ * Required. The new version of the account.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Required. List of fields being updated.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Accounts::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The new version of the account.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Account account = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Account|null
+ */
+ public function getAccount()
+ {
+ return $this->account;
+ }
+
+ public function hasAccount()
+ {
+ return isset($this->account);
+ }
+
+ public function clearAccount()
+ {
+ unset($this->account);
+ }
+
+ /**
+ * Required. The new version of the account.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Account account = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Account $var
+ * @return $this
+ */
+ public function setAccount($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Account::class);
+ $this->account = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateAccountTaxRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateAccountTaxRequest.php
new file mode 100644
index 000000000000..cc93204a575f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateAccountTaxRequest.php
@@ -0,0 +1,149 @@
+google.shopping.merchant.accounts.v1beta.UpdateAccountTaxRequest
+ */
+class UpdateAccountTaxRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The tax setting that will be updated
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountTax account_tax = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $account_tax = null;
+ /**
+ * The list of fields to be updated
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2;
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\AccountTax $accountTax Required. The tax setting that will be updated
+ * @param \Google\Protobuf\FieldMask $updateMask The list of fields to be updated
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateAccountTaxRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Shopping\Merchant\Accounts\V1beta\AccountTax $accountTax, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setAccountTax($accountTax)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\AccountTax $accountTax Required. The tax setting that will be updated
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateAccountTaxRequest
+ *
+ * @experimental
+ */
+ public static function buildFromAccountTax(\Google\Shopping\Merchant\Accounts\V1beta\AccountTax $accountTax): self
+ {
+ return (new self())
+ ->setAccountTax($accountTax);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\AccountTax $account_tax
+ * Required. The tax setting that will be updated
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * The list of fields to be updated
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\AccountTax::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The tax setting that will be updated
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountTax account_tax = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\AccountTax|null
+ */
+ public function getAccountTax()
+ {
+ return $this->account_tax;
+ }
+
+ public function hasAccountTax()
+ {
+ return isset($this->account_tax);
+ }
+
+ public function clearAccountTax()
+ {
+ unset($this->account_tax);
+ }
+
+ /**
+ * Required. The tax setting that will be updated
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AccountTax account_tax = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\AccountTax $var
+ * @return $this
+ */
+ public function setAccountTax($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\AccountTax::class);
+ $this->account_tax = $var;
+
+ return $this;
+ }
+
+ /**
+ * The list of fields to be updated
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2;
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * The list of fields to be updated
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2;
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateAutofeedSettingsRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateAutofeedSettingsRequest.php
new file mode 100644
index 000000000000..e88dfdf8d7ac
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateAutofeedSettingsRequest.php
@@ -0,0 +1,136 @@
+google.shopping.merchant.accounts.v1beta.UpdateAutofeedSettingsRequest
+ */
+class UpdateAutofeedSettingsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The new version of the autofeed setting.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AutofeedSettings autofeed_settings = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $autofeed_settings = null;
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\AutofeedSettings $autofeedSettings Required. The new version of the autofeed setting.
+ * @param \Google\Protobuf\FieldMask $updateMask Required. List of fields being updated.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateAutofeedSettingsRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Shopping\Merchant\Accounts\V1beta\AutofeedSettings $autofeedSettings, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setAutofeedSettings($autofeedSettings)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\AutofeedSettings $autofeed_settings
+ * Required. The new version of the autofeed setting.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Required. List of fields being updated.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Autofeedsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The new version of the autofeed setting.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AutofeedSettings autofeed_settings = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\AutofeedSettings|null
+ */
+ public function getAutofeedSettings()
+ {
+ return $this->autofeed_settings;
+ }
+
+ public function hasAutofeedSettings()
+ {
+ return isset($this->autofeed_settings);
+ }
+
+ public function clearAutofeedSettings()
+ {
+ unset($this->autofeed_settings);
+ }
+
+ /**
+ * Required. The new version of the autofeed setting.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.AutofeedSettings autofeed_settings = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\AutofeedSettings $var
+ * @return $this
+ */
+ public function setAutofeedSettings($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\AutofeedSettings::class);
+ $this->autofeed_settings = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateBusinessIdentityRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateBusinessIdentityRequest.php
new file mode 100644
index 000000000000..7acb0c176ba2
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateBusinessIdentityRequest.php
@@ -0,0 +1,136 @@
+google.shopping.merchant.accounts.v1beta.UpdateBusinessIdentityRequest
+ */
+class UpdateBusinessIdentityRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The new version of the business identity.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity business_identity = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $business_identity = null;
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity $businessIdentity Required. The new version of the business identity.
+ * @param \Google\Protobuf\FieldMask $updateMask Required. List of fields being updated.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateBusinessIdentityRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity $businessIdentity, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setBusinessIdentity($businessIdentity)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity $business_identity
+ * Required. The new version of the business identity.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Required. List of fields being updated.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Businessidentity::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The new version of the business identity.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity business_identity = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity|null
+ */
+ public function getBusinessIdentity()
+ {
+ return $this->business_identity;
+ }
+
+ public function hasBusinessIdentity()
+ {
+ return isset($this->business_identity);
+ }
+
+ public function clearBusinessIdentity()
+ {
+ unset($this->business_identity);
+ }
+
+ /**
+ * Required. The new version of the business identity.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessIdentity business_identity = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity $var
+ * @return $this
+ */
+ public function setBusinessIdentity($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity::class);
+ $this->business_identity = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateBusinessInfoRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateBusinessInfoRequest.php
new file mode 100644
index 000000000000..28cedab3ed57
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateBusinessInfoRequest.php
@@ -0,0 +1,136 @@
+google.shopping.merchant.accounts.v1beta.UpdateBusinessInfoRequest
+ */
+class UpdateBusinessInfoRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The new version of the business info.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessInfo business_info = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $business_info = null;
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessInfo $businessInfo Required. The new version of the business info.
+ * @param \Google\Protobuf\FieldMask $updateMask Required. List of fields being updated.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateBusinessInfoRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Shopping\Merchant\Accounts\V1beta\BusinessInfo $businessInfo, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setBusinessInfo($businessInfo)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessInfo $business_info
+ * Required. The new version of the business info.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Required. List of fields being updated.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Businessinfo::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The new version of the business info.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessInfo business_info = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessInfo|null
+ */
+ public function getBusinessInfo()
+ {
+ return $this->business_info;
+ }
+
+ public function hasBusinessInfo()
+ {
+ return isset($this->business_info);
+ }
+
+ public function clearBusinessInfo()
+ {
+ unset($this->business_info);
+ }
+
+ /**
+ * Required. The new version of the business info.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.BusinessInfo business_info = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessInfo $var
+ * @return $this
+ */
+ public function setBusinessInfo($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessInfo::class);
+ $this->business_info = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateEmailPreferencesRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateEmailPreferencesRequest.php
new file mode 100644
index 000000000000..0bb941a5e69f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateEmailPreferencesRequest.php
@@ -0,0 +1,136 @@
+google.shopping.merchant.accounts.v1beta.UpdateEmailPreferencesRequest
+ */
+class UpdateEmailPreferencesRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Email Preferences to be updated.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.EmailPreferences email_preferences = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $email_preferences = null;
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences $emailPreferences Required. Email Preferences to be updated.
+ * @param \Google\Protobuf\FieldMask $updateMask Required. List of fields being updated.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateEmailPreferencesRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences $emailPreferences, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setEmailPreferences($emailPreferences)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences $email_preferences
+ * Required. Email Preferences to be updated.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Required. List of fields being updated.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Emailpreferences::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Email Preferences to be updated.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.EmailPreferences email_preferences = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences|null
+ */
+ public function getEmailPreferences()
+ {
+ return $this->email_preferences;
+ }
+
+ public function hasEmailPreferences()
+ {
+ return isset($this->email_preferences);
+ }
+
+ public function clearEmailPreferences()
+ {
+ unset($this->email_preferences);
+ }
+
+ /**
+ * Required. Email Preferences to be updated.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.EmailPreferences email_preferences = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences $var
+ * @return $this
+ */
+ public function setEmailPreferences($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences::class);
+ $this->email_preferences = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateHomepageRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateHomepageRequest.php
new file mode 100644
index 000000000000..fa0b2bb491a0
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateHomepageRequest.php
@@ -0,0 +1,136 @@
+google.shopping.merchant.accounts.v1beta.UpdateHomepageRequest
+ */
+class UpdateHomepageRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The new version of the homepage.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Homepage homepage = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $homepage = null;
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Homepage $homepage Required. The new version of the homepage.
+ * @param \Google\Protobuf\FieldMask $updateMask Required. List of fields being updated.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateHomepageRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Shopping\Merchant\Accounts\V1beta\Homepage $homepage, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setHomepage($homepage)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Homepage $homepage
+ * Required. The new version of the homepage.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Required. List of fields being updated.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Homepage::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The new version of the homepage.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Homepage homepage = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Homepage|null
+ */
+ public function getHomepage()
+ {
+ return $this->homepage;
+ }
+
+ public function hasHomepage()
+ {
+ return isset($this->homepage);
+ }
+
+ public function clearHomepage()
+ {
+ unset($this->homepage);
+ }
+
+ /**
+ * Required. The new version of the homepage.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Homepage homepage = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Homepage $var
+ * @return $this
+ */
+ public function setHomepage($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Homepage::class);
+ $this->homepage = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateRegionRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateRegionRequest.php
new file mode 100644
index 000000000000..1aab80c12999
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateRegionRequest.php
@@ -0,0 +1,146 @@
+google.shopping.merchant.accounts.v1beta.UpdateRegionRequest
+ */
+class UpdateRegionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The updated region.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region region = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $region = null;
+ /**
+ * Optional. The comma-separated field mask indicating the fields to update.
+ * Example:
+ * `"displayName,postalCodeArea.regionCode"`.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Region $region Required. The updated region.
+ * @param \Google\Protobuf\FieldMask $updateMask Optional. The comma-separated field mask indicating the fields to update.
+ * Example:
+ * `"displayName,postalCodeArea.regionCode"`.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateRegionRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Shopping\Merchant\Accounts\V1beta\Region $region, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setRegion($region)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Region $region
+ * Required. The updated region.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Optional. The comma-separated field mask indicating the fields to update.
+ * Example:
+ * `"displayName,postalCodeArea.regionCode"`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Regions::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The updated region.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region region = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Region|null
+ */
+ public function getRegion()
+ {
+ return $this->region;
+ }
+
+ public function hasRegion()
+ {
+ return isset($this->region);
+ }
+
+ public function clearRegion()
+ {
+ unset($this->region);
+ }
+
+ /**
+ * Required. The updated region.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.Region region = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Region $var
+ * @return $this
+ */
+ public function setRegion($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Region::class);
+ $this->region = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The comma-separated field mask indicating the fields to update.
+ * Example:
+ * `"displayName,postalCodeArea.regionCode"`.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Optional. The comma-separated field mask indicating the fields to update.
+ * Example:
+ * `"displayName,postalCodeArea.regionCode"`.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateUserRequest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateUserRequest.php
new file mode 100644
index 000000000000..8f89b75ed4a0
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/UpdateUserRequest.php
@@ -0,0 +1,147 @@
+google.shopping.merchant.accounts.v1beta.UpdateUserRequest
+ */
+class UpdateUserRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The new version of the user.
+ * Use `me` to refer to your own email address, for example
+ * `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.User user = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $user = null;
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\User $user Required. The new version of the user.
+ *
+ * Use `me` to refer to your own email address, for example
+ * `accounts/{account}/users/me`.
+ * @param \Google\Protobuf\FieldMask $updateMask Required. List of fields being updated.
+ *
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\UpdateUserRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Shopping\Merchant\Accounts\V1beta\User $user, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setUser($user)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\User $user
+ * Required. The new version of the user.
+ * Use `me` to refer to your own email address, for example
+ * `accounts/{account}/users/me`.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Required. List of fields being updated.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\User::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The new version of the user.
+ * Use `me` to refer to your own email address, for example
+ * `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.User user = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\User|null
+ */
+ public function getUser()
+ {
+ return $this->user;
+ }
+
+ public function hasUser()
+ {
+ return isset($this->user);
+ }
+
+ public function clearUser()
+ {
+ unset($this->user);
+ }
+
+ /**
+ * Required. The new version of the user.
+ * Use `me` to refer to your own email address, for example
+ * `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.User user = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\User $var
+ * @return $this
+ */
+ public function setUser($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\User::class);
+ $this->user = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Required. List of fields being updated.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/User.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/User.php
new file mode 100644
index 000000000000..47cf3940cee7
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/User.php
@@ -0,0 +1,155 @@
+google.shopping.merchant.accounts.v1beta.User
+ */
+class User extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. The resource name of the user.
+ * Format: `accounts/{account}/user/{email}`
+ * Use `me` to refer to your own email address, for example
+ * `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Output only. The state of the user.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.User.State state = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $state = 0;
+ /**
+ * Optional. The [access
+ * rights](https://support.google.com/merchants/answer/12160472?sjid=6789834943175119429-EU#accesstypes)
+ * the user has.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccessRight access_rights = 4 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ private $access_rights;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. The resource name of the user.
+ * Format: `accounts/{account}/user/{email}`
+ * Use `me` to refer to your own email address, for example
+ * `accounts/{account}/users/me`.
+ * @type int $state
+ * Output only. The state of the user.
+ * @type array|\Google\Protobuf\Internal\RepeatedField $access_rights
+ * Optional. The [access
+ * rights](https://support.google.com/merchants/answer/12160472?sjid=6789834943175119429-EU#accesstypes)
+ * the user has.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\User::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. The resource name of the user.
+ * Format: `accounts/{account}/user/{email}`
+ * Use `me` to refer to your own email address, for example
+ * `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. The resource name of the user.
+ * Format: `accounts/{account}/user/{email}`
+ * Use `me` to refer to your own email address, for example
+ * `accounts/{account}/users/me`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The state of the user.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.User.State state = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int
+ */
+ public function getState()
+ {
+ return $this->state;
+ }
+
+ /**
+ * Output only. The state of the user.
+ *
+ * Generated from protobuf field .google.shopping.merchant.accounts.v1beta.User.State state = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int $var
+ * @return $this
+ */
+ public function setState($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Shopping\Merchant\Accounts\V1beta\User\State::class);
+ $this->state = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. The [access
+ * rights](https://support.google.com/merchants/answer/12160472?sjid=6789834943175119429-EU#accesstypes)
+ * the user has.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccessRight access_rights = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getAccessRights()
+ {
+ return $this->access_rights;
+ }
+
+ /**
+ * Optional. The [access
+ * rights](https://support.google.com/merchants/answer/12160472?sjid=6789834943175119429-EU#accesstypes)
+ * the user has.
+ *
+ * Generated from protobuf field repeated .google.shopping.merchant.accounts.v1beta.AccessRight access_rights = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @param array|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setAccessRights($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Shopping\Merchant\Accounts\V1beta\AccessRight::class);
+ $this->access_rights = $arr;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/User/State.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/User/State.php
new file mode 100644
index 000000000000..2bba3d83dac8
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/User/State.php
@@ -0,0 +1,65 @@
+google.shopping.merchant.accounts.v1beta.User.State
+ */
+class State
+{
+ /**
+ * Default value. This value is unused.
+ *
+ * Generated from protobuf enum STATE_UNSPECIFIED = 0;
+ */
+ const STATE_UNSPECIFIED = 0;
+ /**
+ * The user is pending confirmation. In this state, the user first needs to
+ * accept the invitation before performing other actions.
+ *
+ * Generated from protobuf enum PENDING = 1;
+ */
+ const PENDING = 1;
+ /**
+ * The user is verified.
+ *
+ * Generated from protobuf enum VERIFIED = 2;
+ */
+ const VERIFIED = 2;
+
+ private static $valueToName = [
+ self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED',
+ self::PENDING => 'PENDING',
+ self::VERIFIED => 'VERIFIED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(State::class, \Google\Shopping\Merchant\Accounts\V1beta\User_State::class);
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Value.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Value.php
new file mode 100644
index 000000000000..2dec763a7c37
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Value.php
@@ -0,0 +1,276 @@
+google.shopping.merchant.accounts.v1beta.Value
+ */
+class Value extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * If true, then the product can't be shipped. Must be true when set, can only
+ * be set if all other fields are not set.
+ *
+ * Generated from protobuf field optional bool no_shipping = 1;
+ */
+ protected $no_shipping = null;
+ /**
+ * A flat rate. Can only be set if all other fields are not set.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price flat_rate = 2;
+ */
+ protected $flat_rate = null;
+ /**
+ * A percentage of the price represented as a number in decimal notation
+ * (For example, `"5.4"`). Can only be set if all other fields are not
+ * set.
+ *
+ * Generated from protobuf field optional string price_percentage = 3;
+ */
+ protected $price_percentage = null;
+ /**
+ * The name of a carrier rate referring to a carrier rate defined in the
+ * same rate group. Can only be set if all other fields are not set.
+ *
+ * Generated from protobuf field optional string carrier_rate = 4;
+ */
+ protected $carrier_rate = null;
+ /**
+ * The name of a subtable. Can only be set in table cells (For example, not
+ * for single values), and only if all other fields are not set.
+ *
+ * Generated from protobuf field optional string subtable = 5;
+ */
+ protected $subtable = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type bool $no_shipping
+ * If true, then the product can't be shipped. Must be true when set, can only
+ * be set if all other fields are not set.
+ * @type \Google\Shopping\Type\Price $flat_rate
+ * A flat rate. Can only be set if all other fields are not set.
+ * @type string $price_percentage
+ * A percentage of the price represented as a number in decimal notation
+ * (For example, `"5.4"`). Can only be set if all other fields are not
+ * set.
+ * @type string $carrier_rate
+ * The name of a carrier rate referring to a carrier rate defined in the
+ * same rate group. Can only be set if all other fields are not set.
+ * @type string $subtable
+ * The name of a subtable. Can only be set in table cells (For example, not
+ * for single values), and only if all other fields are not set.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * If true, then the product can't be shipped. Must be true when set, can only
+ * be set if all other fields are not set.
+ *
+ * Generated from protobuf field optional bool no_shipping = 1;
+ * @return bool
+ */
+ public function getNoShipping()
+ {
+ return isset($this->no_shipping) ? $this->no_shipping : false;
+ }
+
+ public function hasNoShipping()
+ {
+ return isset($this->no_shipping);
+ }
+
+ public function clearNoShipping()
+ {
+ unset($this->no_shipping);
+ }
+
+ /**
+ * If true, then the product can't be shipped. Must be true when set, can only
+ * be set if all other fields are not set.
+ *
+ * Generated from protobuf field optional bool no_shipping = 1;
+ * @param bool $var
+ * @return $this
+ */
+ public function setNoShipping($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->no_shipping = $var;
+
+ return $this;
+ }
+
+ /**
+ * A flat rate. Can only be set if all other fields are not set.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price flat_rate = 2;
+ * @return \Google\Shopping\Type\Price|null
+ */
+ public function getFlatRate()
+ {
+ return $this->flat_rate;
+ }
+
+ public function hasFlatRate()
+ {
+ return isset($this->flat_rate);
+ }
+
+ public function clearFlatRate()
+ {
+ unset($this->flat_rate);
+ }
+
+ /**
+ * A flat rate. Can only be set if all other fields are not set.
+ *
+ * Generated from protobuf field optional .google.shopping.type.Price flat_rate = 2;
+ * @param \Google\Shopping\Type\Price $var
+ * @return $this
+ */
+ public function setFlatRate($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Type\Price::class);
+ $this->flat_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * A percentage of the price represented as a number in decimal notation
+ * (For example, `"5.4"`). Can only be set if all other fields are not
+ * set.
+ *
+ * Generated from protobuf field optional string price_percentage = 3;
+ * @return string
+ */
+ public function getPricePercentage()
+ {
+ return isset($this->price_percentage) ? $this->price_percentage : '';
+ }
+
+ public function hasPricePercentage()
+ {
+ return isset($this->price_percentage);
+ }
+
+ public function clearPricePercentage()
+ {
+ unset($this->price_percentage);
+ }
+
+ /**
+ * A percentage of the price represented as a number in decimal notation
+ * (For example, `"5.4"`). Can only be set if all other fields are not
+ * set.
+ *
+ * Generated from protobuf field optional string price_percentage = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setPricePercentage($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->price_percentage = $var;
+
+ return $this;
+ }
+
+ /**
+ * The name of a carrier rate referring to a carrier rate defined in the
+ * same rate group. Can only be set if all other fields are not set.
+ *
+ * Generated from protobuf field optional string carrier_rate = 4;
+ * @return string
+ */
+ public function getCarrierRate()
+ {
+ return isset($this->carrier_rate) ? $this->carrier_rate : '';
+ }
+
+ public function hasCarrierRate()
+ {
+ return isset($this->carrier_rate);
+ }
+
+ public function clearCarrierRate()
+ {
+ unset($this->carrier_rate);
+ }
+
+ /**
+ * The name of a carrier rate referring to a carrier rate defined in the
+ * same rate group. Can only be set if all other fields are not set.
+ *
+ * Generated from protobuf field optional string carrier_rate = 4;
+ * @param string $var
+ * @return $this
+ */
+ public function setCarrierRate($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->carrier_rate = $var;
+
+ return $this;
+ }
+
+ /**
+ * The name of a subtable. Can only be set in table cells (For example, not
+ * for single values), and only if all other fields are not set.
+ *
+ * Generated from protobuf field optional string subtable = 5;
+ * @return string
+ */
+ public function getSubtable()
+ {
+ return isset($this->subtable) ? $this->subtable : '';
+ }
+
+ public function hasSubtable()
+ {
+ return isset($this->subtable);
+ }
+
+ public function clearSubtable()
+ {
+ unset($this->subtable);
+ }
+
+ /**
+ * The name of a subtable. Can only be set in table cells (For example, not
+ * for single values), and only if all other fields are not set.
+ *
+ * Generated from protobuf field optional string subtable = 5;
+ * @param string $var
+ * @return $this
+ */
+ public function setSubtable($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->subtable = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Warehouse.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Warehouse.php
new file mode 100644
index 000000000000..8d730a158dd5
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/Warehouse.php
@@ -0,0 +1,274 @@
+google.shopping.merchant.accounts.v1beta.Warehouse
+ */
+class Warehouse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. The name of the warehouse. Must be unique within account.
+ *
+ * Generated from protobuf field optional string name = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $name = null;
+ /**
+ * Required. Shipping address of the warehouse.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Address shipping_address = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $shipping_address = null;
+ /**
+ * Required. The latest time of day that an order can be accepted and begin
+ * processing. Later orders will be processed in the next day. The time is
+ * based on the warehouse postal code.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.WarehouseCutoffTime cutoff_time = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $cutoff_time = null;
+ /**
+ * Required. The number of days it takes for this warehouse to pack up and
+ * ship an item. This is on the warehouse level, but can be overridden on the
+ * offer level based on the attributes of an item.
+ *
+ * Generated from protobuf field optional int64 handling_days = 4 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $handling_days = null;
+ /**
+ * Business days of the warehouse.
+ * If not set, will be Monday to Friday by default.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.BusinessDayConfig business_day_config = 5;
+ */
+ protected $business_day_config = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. The name of the warehouse. Must be unique within account.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\Address $shipping_address
+ * Required. Shipping address of the warehouse.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\WarehouseCutoffTime $cutoff_time
+ * Required. The latest time of day that an order can be accepted and begin
+ * processing. Later orders will be processed in the next day. The time is
+ * based on the warehouse postal code.
+ * @type int|string $handling_days
+ * Required. The number of days it takes for this warehouse to pack up and
+ * ship an item. This is on the warehouse level, but can be overridden on the
+ * offer level based on the attributes of an item.
+ * @type \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig $business_day_config
+ * Business days of the warehouse.
+ * If not set, will be Monday to Friday by default.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. The name of the warehouse. Must be unique within account.
+ *
+ * Generated from protobuf field optional string name = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getName()
+ {
+ return isset($this->name) ? $this->name : '';
+ }
+
+ public function hasName()
+ {
+ return isset($this->name);
+ }
+
+ public function clearName()
+ {
+ unset($this->name);
+ }
+
+ /**
+ * Required. The name of the warehouse. Must be unique within account.
+ *
+ * Generated from protobuf field optional string name = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Shipping address of the warehouse.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Address shipping_address = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\Address|null
+ */
+ public function getShippingAddress()
+ {
+ return $this->shipping_address;
+ }
+
+ public function hasShippingAddress()
+ {
+ return isset($this->shipping_address);
+ }
+
+ public function clearShippingAddress()
+ {
+ unset($this->shipping_address);
+ }
+
+ /**
+ * Required. Shipping address of the warehouse.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.Address shipping_address = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\Address $var
+ * @return $this
+ */
+ public function setShippingAddress($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\Address::class);
+ $this->shipping_address = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The latest time of day that an order can be accepted and begin
+ * processing. Later orders will be processed in the next day. The time is
+ * based on the warehouse postal code.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.WarehouseCutoffTime cutoff_time = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\WarehouseCutoffTime|null
+ */
+ public function getCutoffTime()
+ {
+ return $this->cutoff_time;
+ }
+
+ public function hasCutoffTime()
+ {
+ return isset($this->cutoff_time);
+ }
+
+ public function clearCutoffTime()
+ {
+ unset($this->cutoff_time);
+ }
+
+ /**
+ * Required. The latest time of day that an order can be accepted and begin
+ * processing. Later orders will be processed in the next day. The time is
+ * based on the warehouse postal code.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.WarehouseCutoffTime cutoff_time = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\WarehouseCutoffTime $var
+ * @return $this
+ */
+ public function setCutoffTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\WarehouseCutoffTime::class);
+ $this->cutoff_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. The number of days it takes for this warehouse to pack up and
+ * ship an item. This is on the warehouse level, but can be overridden on the
+ * offer level based on the attributes of an item.
+ *
+ * Generated from protobuf field optional int64 handling_days = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @return int|string
+ */
+ public function getHandlingDays()
+ {
+ return isset($this->handling_days) ? $this->handling_days : 0;
+ }
+
+ public function hasHandlingDays()
+ {
+ return isset($this->handling_days);
+ }
+
+ public function clearHandlingDays()
+ {
+ unset($this->handling_days);
+ }
+
+ /**
+ * Required. The number of days it takes for this warehouse to pack up and
+ * ship an item. This is on the warehouse level, but can be overridden on the
+ * offer level based on the attributes of an item.
+ *
+ * Generated from protobuf field optional int64 handling_days = 4 [(.google.api.field_behavior) = REQUIRED];
+ * @param int|string $var
+ * @return $this
+ */
+ public function setHandlingDays($var)
+ {
+ GPBUtil::checkInt64($var);
+ $this->handling_days = $var;
+
+ return $this;
+ }
+
+ /**
+ * Business days of the warehouse.
+ * If not set, will be Monday to Friday by default.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.BusinessDayConfig business_day_config = 5;
+ * @return \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig|null
+ */
+ public function getBusinessDayConfig()
+ {
+ return $this->business_day_config;
+ }
+
+ public function hasBusinessDayConfig()
+ {
+ return isset($this->business_day_config);
+ }
+
+ public function clearBusinessDayConfig()
+ {
+ unset($this->business_day_config);
+ }
+
+ /**
+ * Business days of the warehouse.
+ * If not set, will be Monday to Friday by default.
+ *
+ * Generated from protobuf field optional .google.shopping.merchant.accounts.v1beta.BusinessDayConfig business_day_config = 5;
+ * @param \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig $var
+ * @return $this
+ */
+ public function setBusinessDayConfig($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Shopping\Merchant\Accounts\V1beta\BusinessDayConfig::class);
+ $this->business_day_config = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/WarehouseBasedDeliveryTime.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/WarehouseBasedDeliveryTime.php
new file mode 100644
index 000000000000..c8486fd2ffa8
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/WarehouseBasedDeliveryTime.php
@@ -0,0 +1,176 @@
+google.shopping.merchant.accounts.v1beta.WarehouseBasedDeliveryTime
+ */
+class WarehouseBasedDeliveryTime extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Carrier, such as `"UPS"` or `"Fedex"`.
+ *
+ * Generated from protobuf field optional string carrier = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $carrier = null;
+ /**
+ * Required. Carrier service, such as `"ground"` or `"2 days"`. The name of
+ * the service must be in the eddSupportedServices list.
+ *
+ * Generated from protobuf field optional string carrier_service = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $carrier_service = null;
+ /**
+ * Required. Warehouse name. This should match
+ * [warehouse][ShippingSetting.warehouses.name]
+ *
+ * Generated from protobuf field optional string warehouse = 3 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $warehouse = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $carrier
+ * Required. Carrier, such as `"UPS"` or `"Fedex"`.
+ * @type string $carrier_service
+ * Required. Carrier service, such as `"ground"` or `"2 days"`. The name of
+ * the service must be in the eddSupportedServices list.
+ * @type string $warehouse
+ * Required. Warehouse name. This should match
+ * [warehouse][ShippingSetting.warehouses.name]
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Carrier, such as `"UPS"` or `"Fedex"`.
+ *
+ * Generated from protobuf field optional string carrier = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getCarrier()
+ {
+ return isset($this->carrier) ? $this->carrier : '';
+ }
+
+ public function hasCarrier()
+ {
+ return isset($this->carrier);
+ }
+
+ public function clearCarrier()
+ {
+ unset($this->carrier);
+ }
+
+ /**
+ * Required. Carrier, such as `"UPS"` or `"Fedex"`.
+ *
+ * Generated from protobuf field optional string carrier = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setCarrier($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->carrier = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Carrier service, such as `"ground"` or `"2 days"`. The name of
+ * the service must be in the eddSupportedServices list.
+ *
+ * Generated from protobuf field optional string carrier_service = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getCarrierService()
+ {
+ return isset($this->carrier_service) ? $this->carrier_service : '';
+ }
+
+ public function hasCarrierService()
+ {
+ return isset($this->carrier_service);
+ }
+
+ public function clearCarrierService()
+ {
+ unset($this->carrier_service);
+ }
+
+ /**
+ * Required. Carrier service, such as `"ground"` or `"2 days"`. The name of
+ * the service must be in the eddSupportedServices list.
+ *
+ * Generated from protobuf field optional string carrier_service = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setCarrierService($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->carrier_service = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Warehouse name. This should match
+ * [warehouse][ShippingSetting.warehouses.name]
+ *
+ * Generated from protobuf field optional string warehouse = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @return string
+ */
+ public function getWarehouse()
+ {
+ return isset($this->warehouse) ? $this->warehouse : '';
+ }
+
+ public function hasWarehouse()
+ {
+ return isset($this->warehouse);
+ }
+
+ public function clearWarehouse()
+ {
+ unset($this->warehouse);
+ }
+
+ /**
+ * Required. Warehouse name. This should match
+ * [warehouse][ShippingSetting.warehouses.name]
+ *
+ * Generated from protobuf field optional string warehouse = 3 [(.google.api.field_behavior) = REQUIRED];
+ * @param string $var
+ * @return $this
+ */
+ public function setWarehouse($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->warehouse = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/WarehouseCutoffTime.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/WarehouseCutoffTime.php
new file mode 100644
index 000000000000..15aae9579c08
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/proto/src/Google/Shopping/Merchant/Accounts/V1beta/WarehouseCutoffTime.php
@@ -0,0 +1,139 @@
+google.shopping.merchant.accounts.v1beta.WarehouseCutoffTime
+ */
+class WarehouseCutoffTime extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Hour of the cutoff time until which an order has to be placed to
+ * be processed in the same day by the warehouse. Hour is based on the
+ * timezone of warehouse.
+ *
+ * Generated from protobuf field optional int32 hour = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $hour = null;
+ /**
+ * Required. Minute of the cutoff time until which an order has to be placed
+ * to be processed in the same day by the warehouse. Minute is based on the
+ * timezone of warehouse.
+ *
+ * Generated from protobuf field optional int32 minute = 2 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $minute = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $hour
+ * Required. Hour of the cutoff time until which an order has to be placed to
+ * be processed in the same day by the warehouse. Hour is based on the
+ * timezone of warehouse.
+ * @type int $minute
+ * Required. Minute of the cutoff time until which an order has to be placed
+ * to be processed in the same day by the warehouse. Minute is based on the
+ * timezone of warehouse.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Shopping\Merchant\Accounts\V1Beta\Shippingsettings::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Hour of the cutoff time until which an order has to be placed to
+ * be processed in the same day by the warehouse. Hour is based on the
+ * timezone of warehouse.
+ *
+ * Generated from protobuf field optional int32 hour = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return int
+ */
+ public function getHour()
+ {
+ return isset($this->hour) ? $this->hour : 0;
+ }
+
+ public function hasHour()
+ {
+ return isset($this->hour);
+ }
+
+ public function clearHour()
+ {
+ unset($this->hour);
+ }
+
+ /**
+ * Required. Hour of the cutoff time until which an order has to be placed to
+ * be processed in the same day by the warehouse. Hour is based on the
+ * timezone of warehouse.
+ *
+ * Generated from protobuf field optional int32 hour = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param int $var
+ * @return $this
+ */
+ public function setHour($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->hour = $var;
+
+ return $this;
+ }
+
+ /**
+ * Required. Minute of the cutoff time until which an order has to be placed
+ * to be processed in the same day by the warehouse. Minute is based on the
+ * timezone of warehouse.
+ *
+ * Generated from protobuf field optional int32 minute = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @return int
+ */
+ public function getMinute()
+ {
+ return isset($this->minute) ? $this->minute : 0;
+ }
+
+ public function hasMinute()
+ {
+ return isset($this->minute);
+ }
+
+ public function clearMinute()
+ {
+ unset($this->minute);
+ }
+
+ /**
+ * Required. Minute of the cutoff time until which an order has to be placed
+ * to be processed in the same day by the warehouse. Minute is based on the
+ * timezone of warehouse.
+ *
+ * Generated from protobuf field optional int32 minute = 2 [(.google.api.field_behavior) = REQUIRED];
+ * @param int $var
+ * @return $this
+ */
+ public function setMinute($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->minute = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountIssueServiceClient/list_account_issues.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountIssueServiceClient/list_account_issues.php
new file mode 100644
index 000000000000..ea9addae607f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountIssueServiceClient/list_account_issues.php
@@ -0,0 +1,77 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $accountIssueServiceClient->listAccountIssues($request);
+
+ /** @var AccountIssue $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = AccountIssueServiceClient::accountName('[ACCOUNT]');
+
+ list_account_issues_sample($formattedParent);
+}
+// [END merchantapi_v1beta_generated_AccountIssueService_ListAccountIssues_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountTaxServiceClient/get_account_tax.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountTaxServiceClient/get_account_tax.php
new file mode 100644
index 000000000000..30f6fd40c345
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountTaxServiceClient/get_account_tax.php
@@ -0,0 +1,71 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var AccountTax $response */
+ $response = $accountTaxServiceClient->getAccountTax($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = AccountTaxServiceClient::accountTaxName('[ACCOUNT]', '[TAX]');
+
+ get_account_tax_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_AccountTaxService_GetAccountTax_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountTaxServiceClient/list_account_tax.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountTaxServiceClient/list_account_tax.php
new file mode 100644
index 000000000000..2fa73598cddf
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountTaxServiceClient/list_account_tax.php
@@ -0,0 +1,80 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $accountTaxServiceClient->listAccountTax($request);
+
+ /** @var AccountTax $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = AccountTaxServiceClient::accountName('[ACCOUNT]');
+
+ list_account_tax_sample($formattedParent);
+}
+// [END merchantapi_v1beta_generated_AccountTaxService_ListAccountTax_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountTaxServiceClient/update_account_tax.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountTaxServiceClient/update_account_tax.php
new file mode 100644
index 000000000000..d6562a792eaa
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountTaxServiceClient/update_account_tax.php
@@ -0,0 +1,59 @@
+setAccountTax($accountTax);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var AccountTax $response */
+ $response = $accountTaxServiceClient->updateAccountTax($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END merchantapi_v1beta_generated_AccountTaxService_UpdateAccountTax_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/create_and_configure_account.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/create_and_configure_account.php
new file mode 100644
index 000000000000..8baf75b3d6a4
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/create_and_configure_account.php
@@ -0,0 +1,88 @@
+setAccountName($accountAccountName)
+ ->setTimeZone($accountTimeZone)
+ ->setLanguageCode($accountLanguageCode);
+ $service = [new AddAccountService()];
+ $request = (new CreateAndConfigureAccountRequest())
+ ->setAccount($account)
+ ->setService($service);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Account $response */
+ $response = $accountsServiceClient->createAndConfigureAccount($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $accountAccountName = '[ACCOUNT_NAME]';
+ $accountLanguageCode = '[LANGUAGE_CODE]';
+
+ create_and_configure_account_sample($accountAccountName, $accountLanguageCode);
+}
+// [END merchantapi_v1beta_generated_AccountsService_CreateAndConfigureAccount_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/delete_account.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/delete_account.php
new file mode 100644
index 000000000000..1b4d72bea7f8
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/delete_account.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ $accountsServiceClient->deleteAccount($request);
+ printf('Call completed successfully.' . PHP_EOL);
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = AccountsServiceClient::accountName('[ACCOUNT]');
+
+ delete_account_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_AccountsService_DeleteAccount_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/get_account.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/get_account.php
new file mode 100644
index 000000000000..fc0f70e38306
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/get_account.php
@@ -0,0 +1,74 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Account $response */
+ $response = $accountsServiceClient->getAccount($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = AccountsServiceClient::accountName('[ACCOUNT]');
+
+ get_account_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_AccountsService_GetAccount_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/list_accounts.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/list_accounts.php
new file mode 100644
index 000000000000..749d6a98167e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/list_accounts.php
@@ -0,0 +1,66 @@
+listAccounts($request);
+
+ /** @var Account $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END merchantapi_v1beta_generated_AccountsService_ListAccounts_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/list_sub_accounts.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/list_sub_accounts.php
new file mode 100644
index 000000000000..dd6d8ca1bdb3
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/list_sub_accounts.php
@@ -0,0 +1,81 @@
+setProvider($formattedProvider);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $accountsServiceClient->listSubAccounts($request);
+
+ /** @var Account $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedProvider = AccountsServiceClient::accountName('[ACCOUNT]');
+
+ list_sub_accounts_sample($formattedProvider);
+}
+// [END merchantapi_v1beta_generated_AccountsService_ListSubAccounts_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/update_account.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/update_account.php
new file mode 100644
index 000000000000..c45799709056
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AccountsServiceClient/update_account.php
@@ -0,0 +1,86 @@
+setAccountName($accountAccountName)
+ ->setTimeZone($accountTimeZone)
+ ->setLanguageCode($accountLanguageCode);
+ $updateMask = new FieldMask();
+ $request = (new UpdateAccountRequest())
+ ->setAccount($account)
+ ->setUpdateMask($updateMask);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Account $response */
+ $response = $accountsServiceClient->updateAccount($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $accountAccountName = '[ACCOUNT_NAME]';
+ $accountLanguageCode = '[LANGUAGE_CODE]';
+
+ update_account_sample($accountAccountName, $accountLanguageCode);
+}
+// [END merchantapi_v1beta_generated_AccountsService_UpdateAccount_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AutofeedSettingsServiceClient/get_autofeed_settings.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AutofeedSettingsServiceClient/get_autofeed_settings.php
new file mode 100644
index 000000000000..9887cfe34e65
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AutofeedSettingsServiceClient/get_autofeed_settings.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var AutofeedSettings $response */
+ $response = $autofeedSettingsServiceClient->getAutofeedSettings($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = AutofeedSettingsServiceClient::autofeedSettingsName('[ACCOUNT]');
+
+ get_autofeed_settings_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_AutofeedSettingsService_GetAutofeedSettings_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AutofeedSettingsServiceClient/update_autofeed_settings.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AutofeedSettingsServiceClient/update_autofeed_settings.php
new file mode 100644
index 000000000000..71d7b4c2dcdb
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/AutofeedSettingsServiceClient/update_autofeed_settings.php
@@ -0,0 +1,82 @@
+setEnableProducts($autofeedSettingsEnableProducts);
+ $updateMask = new FieldMask();
+ $request = (new UpdateAutofeedSettingsRequest())
+ ->setAutofeedSettings($autofeedSettings)
+ ->setUpdateMask($updateMask);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var AutofeedSettings $response */
+ $response = $autofeedSettingsServiceClient->updateAutofeedSettings($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $autofeedSettingsEnableProducts = false;
+
+ update_autofeed_settings_sample($autofeedSettingsEnableProducts);
+}
+// [END merchantapi_v1beta_generated_AutofeedSettingsService_UpdateAutofeedSettings_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessIdentityServiceClient/get_business_identity.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessIdentityServiceClient/get_business_identity.php
new file mode 100644
index 000000000000..56bdd5f69a62
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessIdentityServiceClient/get_business_identity.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var BusinessIdentity $response */
+ $response = $businessIdentityServiceClient->getBusinessIdentity($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = BusinessIdentityServiceClient::businessIdentityName('[ACCOUNT]');
+
+ get_business_identity_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_BusinessIdentityService_GetBusinessIdentity_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessIdentityServiceClient/update_business_identity.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessIdentityServiceClient/update_business_identity.php
new file mode 100644
index 000000000000..506bae6d51b5
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessIdentityServiceClient/update_business_identity.php
@@ -0,0 +1,63 @@
+setBusinessIdentity($businessIdentity)
+ ->setUpdateMask($updateMask);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var BusinessIdentity $response */
+ $response = $businessIdentityServiceClient->updateBusinessIdentity($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END merchantapi_v1beta_generated_BusinessIdentityService_UpdateBusinessIdentity_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessInfoServiceClient/get_business_info.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessInfoServiceClient/get_business_info.php
new file mode 100644
index 000000000000..b7d14563264e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessInfoServiceClient/get_business_info.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var BusinessInfo $response */
+ $response = $businessInfoServiceClient->getBusinessInfo($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = BusinessInfoServiceClient::businessInfoName('[ACCOUNT]');
+
+ get_business_info_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_BusinessInfoService_GetBusinessInfo_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessInfoServiceClient/update_business_info.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessInfoServiceClient/update_business_info.php
new file mode 100644
index 000000000000..98f5230587f3
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/BusinessInfoServiceClient/update_business_info.php
@@ -0,0 +1,63 @@
+setBusinessInfo($businessInfo)
+ ->setUpdateMask($updateMask);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var BusinessInfo $response */
+ $response = $businessInfoServiceClient->updateBusinessInfo($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END merchantapi_v1beta_generated_BusinessInfoService_UpdateBusinessInfo_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/EmailPreferencesServiceClient/get_email_preferences.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/EmailPreferencesServiceClient/get_email_preferences.php
new file mode 100644
index 000000000000..dc56f020684e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/EmailPreferencesServiceClient/get_email_preferences.php
@@ -0,0 +1,75 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var EmailPreferences $response */
+ $response = $emailPreferencesServiceClient->getEmailPreferences($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = EmailPreferencesServiceClient::emailPreferencesName('[ACCOUNT]', '[EMAIL]');
+
+ get_email_preferences_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_EmailPreferencesService_GetEmailPreferences_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/EmailPreferencesServiceClient/update_email_preferences.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/EmailPreferencesServiceClient/update_email_preferences.php
new file mode 100644
index 000000000000..053f8c6c757f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/EmailPreferencesServiceClient/update_email_preferences.php
@@ -0,0 +1,72 @@
+setEmailPreferences($emailPreferences)
+ ->setUpdateMask($updateMask);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var EmailPreferences $response */
+ $response = $emailPreferencesServiceClient->updateEmailPreferences($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END merchantapi_v1beta_generated_EmailPreferencesService_UpdateEmailPreferences_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/claim_homepage.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/claim_homepage.php
new file mode 100644
index 000000000000..083c6c136ab2
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/claim_homepage.php
@@ -0,0 +1,85 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Homepage $response */
+ $response = $homepageServiceClient->claimHomepage($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = HomepageServiceClient::homepageName('[ACCOUNT]');
+
+ claim_homepage_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_HomepageService_ClaimHomepage_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/get_homepage.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/get_homepage.php
new file mode 100644
index 000000000000..b66fabc54f03
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/get_homepage.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Homepage $response */
+ $response = $homepageServiceClient->getHomepage($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = HomepageServiceClient::homepageName('[ACCOUNT]');
+
+ get_homepage_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_HomepageService_GetHomepage_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/unclaim_homepage.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/unclaim_homepage.php
new file mode 100644
index 000000000000..eac0891a0434
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/unclaim_homepage.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Homepage $response */
+ $response = $homepageServiceClient->unclaimHomepage($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = HomepageServiceClient::homepageName('[ACCOUNT]');
+
+ unclaim_homepage_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_HomepageService_UnclaimHomepage_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/update_homepage.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/update_homepage.php
new file mode 100644
index 000000000000..6cddc6c40be0
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/HomepageServiceClient/update_homepage.php
@@ -0,0 +1,75 @@
+setUri($homepageUri);
+ $updateMask = new FieldMask();
+ $request = (new UpdateHomepageRequest())
+ ->setHomepage($homepage)
+ ->setUpdateMask($updateMask);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Homepage $response */
+ $response = $homepageServiceClient->updateHomepage($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $homepageUri = '[URI]';
+
+ update_homepage_sample($homepageUri);
+}
+// [END merchantapi_v1beta_generated_HomepageService_UpdateHomepage_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/OnlineReturnPolicyServiceClient/get_online_return_policy.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/OnlineReturnPolicyServiceClient/get_online_return_policy.php
new file mode 100644
index 000000000000..f60e202c48ca
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/OnlineReturnPolicyServiceClient/get_online_return_policy.php
@@ -0,0 +1,75 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var OnlineReturnPolicy $response */
+ $response = $onlineReturnPolicyServiceClient->getOnlineReturnPolicy($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = OnlineReturnPolicyServiceClient::onlineReturnPolicyName(
+ '[ACCOUNT]',
+ '[RETURN_POLICY]'
+ );
+
+ get_online_return_policy_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_OnlineReturnPolicyService_GetOnlineReturnPolicy_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/OnlineReturnPolicyServiceClient/list_online_return_policies.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/OnlineReturnPolicyServiceClient/list_online_return_policies.php
new file mode 100644
index 000000000000..bd452520e650
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/OnlineReturnPolicyServiceClient/list_online_return_policies.php
@@ -0,0 +1,77 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $onlineReturnPolicyServiceClient->listOnlineReturnPolicies($request);
+
+ /** @var OnlineReturnPolicy $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = OnlineReturnPolicyServiceClient::accountName('[ACCOUNT]');
+
+ list_online_return_policies_sample($formattedParent);
+}
+// [END merchantapi_v1beta_generated_OnlineReturnPolicyService_ListOnlineReturnPolicies_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/disable_program.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/disable_program.php
new file mode 100644
index 000000000000..e5670f8349e1
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/disable_program.php
@@ -0,0 +1,73 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Program $response */
+ $response = $programsServiceClient->disableProgram($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ProgramsServiceClient::programName('[ACCOUNT]', '[PROGRAM]');
+
+ disable_program_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_ProgramsService_DisableProgram_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/enable_program.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/enable_program.php
new file mode 100644
index 000000000000..65f896457952
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/enable_program.php
@@ -0,0 +1,73 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Program $response */
+ $response = $programsServiceClient->enableProgram($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ProgramsServiceClient::programName('[ACCOUNT]', '[PROGRAM]');
+
+ enable_program_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_ProgramsService_EnableProgram_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/get_program.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/get_program.php
new file mode 100644
index 000000000000..bdf4ef8b4459
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/get_program.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Program $response */
+ $response = $programsServiceClient->getProgram($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ProgramsServiceClient::programName('[ACCOUNT]', '[PROGRAM]');
+
+ get_program_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_ProgramsService_GetProgram_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/list_programs.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/list_programs.php
new file mode 100644
index 000000000000..efd8c44a494e
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ProgramsServiceClient/list_programs.php
@@ -0,0 +1,77 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $programsServiceClient->listPrograms($request);
+
+ /** @var Program $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = ProgramsServiceClient::accountName('[ACCOUNT]');
+
+ list_programs_sample($formattedParent);
+}
+// [END merchantapi_v1beta_generated_ProgramsService_ListPrograms_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/create_region.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/create_region.php
new file mode 100644
index 000000000000..1852fd182737
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/create_region.php
@@ -0,0 +1,79 @@
+setParent($formattedParent)
+ ->setRegionId($regionId)
+ ->setRegion($region);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Region $response */
+ $response = $regionsServiceClient->createRegion($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = RegionsServiceClient::accountName('[ACCOUNT]');
+ $regionId = '[REGION_ID]';
+
+ create_region_sample($formattedParent, $regionId);
+}
+// [END merchantapi_v1beta_generated_RegionsService_CreateRegion_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/delete_region.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/delete_region.php
new file mode 100644
index 000000000000..68f04df70093
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/delete_region.php
@@ -0,0 +1,71 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ $regionsServiceClient->deleteRegion($request);
+ printf('Call completed successfully.' . PHP_EOL);
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = RegionsServiceClient::regionName('[ACCOUNT]', '[REGION]');
+
+ delete_region_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_RegionsService_DeleteRegion_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/get_region.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/get_region.php
new file mode 100644
index 000000000000..333825c9d0e4
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/get_region.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Region $response */
+ $response = $regionsServiceClient->getRegion($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = RegionsServiceClient::regionName('[ACCOUNT]', '[REGION]');
+
+ get_region_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_RegionsService_GetRegion_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/list_regions.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/list_regions.php
new file mode 100644
index 000000000000..9fc24c91c928
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/list_regions.php
@@ -0,0 +1,77 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $regionsServiceClient->listRegions($request);
+
+ /** @var Region $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = RegionsServiceClient::accountName('[ACCOUNT]');
+
+ list_regions_sample($formattedParent);
+}
+// [END merchantapi_v1beta_generated_RegionsService_ListRegions_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/update_region.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/update_region.php
new file mode 100644
index 000000000000..43d3071fcc16
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/RegionsServiceClient/update_region.php
@@ -0,0 +1,60 @@
+setRegion($region);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Region $response */
+ $response = $regionsServiceClient->updateRegion($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END merchantapi_v1beta_generated_RegionsService_UpdateRegion_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ShippingSettingsServiceClient/get_shipping_settings.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ShippingSettingsServiceClient/get_shipping_settings.php
new file mode 100644
index 000000000000..615345cbde6b
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ShippingSettingsServiceClient/get_shipping_settings.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var ShippingSettings $response */
+ $response = $shippingSettingsServiceClient->getShippingSettings($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ShippingSettingsServiceClient::shippingSettingsName('[ACCOUNT]');
+
+ get_shipping_settings_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_ShippingSettingsService_GetShippingSettings_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ShippingSettingsServiceClient/insert_shipping_settings.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ShippingSettingsServiceClient/insert_shipping_settings.php
new file mode 100644
index 000000000000..7291ea582400
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/ShippingSettingsServiceClient/insert_shipping_settings.php
@@ -0,0 +1,94 @@
+setEtag($shippingSettingEtag);
+ $request = (new InsertShippingSettingsRequest())
+ ->setParent($parent)
+ ->setShippingSetting($shippingSetting);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var ShippingSettings $response */
+ $response = $shippingSettingsServiceClient->insertShippingSettings($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $parent = '[PARENT]';
+ $shippingSettingEtag = '[ETAG]';
+
+ insert_shipping_settings_sample($parent, $shippingSettingEtag);
+}
+// [END merchantapi_v1beta_generated_ShippingSettingsService_InsertShippingSettings_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceAgreementStateServiceClient/get_terms_of_service_agreement_state.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceAgreementStateServiceClient/get_terms_of_service_agreement_state.php
new file mode 100644
index 000000000000..7bd4d097cdf1
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceAgreementStateServiceClient/get_terms_of_service_agreement_state.php
@@ -0,0 +1,76 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var TermsOfServiceAgreementState $response */
+ $response = $termsOfServiceAgreementStateServiceClient->getTermsOfServiceAgreementState($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = TermsOfServiceAgreementStateServiceClient::termsOfServiceAgreementStateName(
+ '[ACCOUNT]',
+ '[IDENTIFIER]'
+ );
+
+ get_terms_of_service_agreement_state_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_TermsOfServiceAgreementStateService_GetTermsOfServiceAgreementState_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceAgreementStateServiceClient/retrieve_for_application_terms_of_service_agreement_state.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceAgreementStateServiceClient/retrieve_for_application_terms_of_service_agreement_state.php
new file mode 100644
index 000000000000..89a9dfd79809
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceAgreementStateServiceClient/retrieve_for_application_terms_of_service_agreement_state.php
@@ -0,0 +1,75 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var TermsOfServiceAgreementState $response */
+ $response = $termsOfServiceAgreementStateServiceClient->retrieveForApplicationTermsOfServiceAgreementState(
+ $request
+ );
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = TermsOfServiceAgreementStateServiceClient::accountName('[ACCOUNT]');
+
+ retrieve_for_application_terms_of_service_agreement_state_sample($formattedParent);
+}
+// [END merchantapi_v1beta_generated_TermsOfServiceAgreementStateService_RetrieveForApplicationTermsOfServiceAgreementState_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceServiceClient/accept_terms_of_service.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceServiceClient/accept_terms_of_service.php
new file mode 100644
index 000000000000..e49762eda174
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceServiceClient/accept_terms_of_service.php
@@ -0,0 +1,82 @@
+setName($formattedName)
+ ->setAccount($formattedAccount)
+ ->setRegionCode($regionCode);
+
+ // Call the API and handle any network failures.
+ try {
+ $termsOfServiceServiceClient->acceptTermsOfService($request);
+ printf('Call completed successfully.' . PHP_EOL);
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = TermsOfServiceServiceClient::termsOfServiceName('[VERSION]');
+ $formattedAccount = TermsOfServiceServiceClient::accountName('[ACCOUNT]');
+ $regionCode = '[REGION_CODE]';
+
+ accept_terms_of_service_sample($formattedName, $formattedAccount, $regionCode);
+}
+// [END merchantapi_v1beta_generated_TermsOfServiceService_AcceptTermsOfService_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceServiceClient/get_terms_of_service.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceServiceClient/get_terms_of_service.php
new file mode 100644
index 000000000000..23f9da178dc8
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceServiceClient/get_terms_of_service.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var TermsOfService $response */
+ $response = $termsOfServiceServiceClient->getTermsOfService($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = TermsOfServiceServiceClient::termsOfServiceName('[VERSION]');
+
+ get_terms_of_service_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_TermsOfServiceService_GetTermsOfService_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceServiceClient/retrieve_latest_terms_of_service.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceServiceClient/retrieve_latest_terms_of_service.php
new file mode 100644
index 000000000000..7b2d2b9731df
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/TermsOfServiceServiceClient/retrieve_latest_terms_of_service.php
@@ -0,0 +1,77 @@
+setRegionCode($regionCode)
+ ->setKind($kind);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var TermsOfService $response */
+ $response = $termsOfServiceServiceClient->retrieveLatestTermsOfService($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $regionCode = '[REGION_CODE]';
+ $kind = TermsOfServiceKind::TERMS_OF_SERVICE_KIND_UNSPECIFIED;
+
+ retrieve_latest_terms_of_service_sample($regionCode, $kind);
+}
+// [END merchantapi_v1beta_generated_TermsOfServiceService_RetrieveLatestTermsOfService_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/create_user.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/create_user.php
new file mode 100644
index 000000000000..75cd1c3aa221
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/create_user.php
@@ -0,0 +1,79 @@
+setParent($formattedParent)
+ ->setUserId($userId)
+ ->setUser($user);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var User $response */
+ $response = $userServiceClient->createUser($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = UserServiceClient::accountName('[ACCOUNT]');
+ $userId = '[USER_ID]';
+
+ create_user_sample($formattedParent, $userId);
+}
+// [END merchantapi_v1beta_generated_UserService_CreateUser_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/delete_user.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/delete_user.php
new file mode 100644
index 000000000000..f2d0c3141114
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/delete_user.php
@@ -0,0 +1,74 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ $userServiceClient->deleteUser($request);
+ printf('Call completed successfully.' . PHP_EOL);
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = UserServiceClient::userName('[ACCOUNT]', '[EMAIL]');
+
+ delete_user_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_UserService_DeleteUser_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/get_user.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/get_user.php
new file mode 100644
index 000000000000..3be89ea85f5a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/get_user.php
@@ -0,0 +1,76 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var User $response */
+ $response = $userServiceClient->getUser($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = UserServiceClient::userName('[ACCOUNT]', '[EMAIL]');
+
+ get_user_sample($formattedName);
+}
+// [END merchantapi_v1beta_generated_UserService_GetUser_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/list_users.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/list_users.php
new file mode 100644
index 000000000000..280478627a83
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/list_users.php
@@ -0,0 +1,77 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $userServiceClient->listUsers($request);
+
+ /** @var User $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = UserServiceClient::accountName('[ACCOUNT]');
+
+ list_users_sample($formattedParent);
+}
+// [END merchantapi_v1beta_generated_UserService_ListUsers_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/update_user.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/update_user.php
new file mode 100644
index 000000000000..07ef92d1c5a3
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/samples/V1beta/UserServiceClient/update_user.php
@@ -0,0 +1,63 @@
+setUser($user)
+ ->setUpdateMask($updateMask);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var User $response */
+ $response = $userServiceClient->updateUser($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END merchantapi_v1beta_generated_UserService_UpdateUser_sync]
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AccountIssueServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AccountIssueServiceClient.php
new file mode 100644
index 000000000000..122184d55880
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AccountIssueServiceClient.php
@@ -0,0 +1,248 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/account_issue_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/account_issue_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/account_issue_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/account_issue_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted account resource.
+ *
+ * @experimental
+ */
+ public static function accountName(string $account): string
+ {
+ return self::getPathTemplate('account')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - account: accounts/{account}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Lists all account issues of a Merchant Center account.
+ *
+ * The async variant is {@see AccountIssueServiceClient::listAccountIssuesAsync()}
+ * .
+ *
+ * @example samples/V1beta/AccountIssueServiceClient/list_account_issues.php
+ *
+ * @param ListAccountIssuesRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listAccountIssues(ListAccountIssuesRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListAccountIssues', $request, $callOptions);
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AccountTaxServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AccountTaxServiceClient.php
new file mode 100644
index 000000000000..ef71d5752592
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AccountTaxServiceClient.php
@@ -0,0 +1,335 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/account_tax_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/account_tax_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/account_tax_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/account_tax_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted account resource.
+ *
+ * @experimental
+ */
+ public static function accountName(string $account): string
+ {
+ return self::getPathTemplate('account')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account_tax
+ * resource.
+ *
+ * @param string $account
+ * @param string $tax
+ *
+ * @return string The formatted account_tax resource.
+ *
+ * @experimental
+ */
+ public static function accountTaxName(string $account, string $tax): string
+ {
+ return self::getPathTemplate('accountTax')->render([
+ 'account' => $account,
+ 'tax' => $tax,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - account: accounts/{account}
+ * - accountTax: accounts/{account}/accounttax/{tax}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Returns the tax rules that match the conditions of GetAccountTaxRequest
+ *
+ * The async variant is {@see AccountTaxServiceClient::getAccountTaxAsync()} .
+ *
+ * @example samples/V1beta/AccountTaxServiceClient/get_account_tax.php
+ *
+ * @param GetAccountTaxRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return AccountTax
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getAccountTax(GetAccountTaxRequest $request, array $callOptions = []): AccountTax
+ {
+ return $this->startApiCall('GetAccountTax', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Lists the tax settings of the sub-accounts only in your
+ * Merchant Center account.
+ * This method can only be called on a multi-client account, otherwise it'll
+ * return an error.
+ *
+ * The async variant is {@see AccountTaxServiceClient::listAccountTaxAsync()} .
+ *
+ * @example samples/V1beta/AccountTaxServiceClient/list_account_tax.php
+ *
+ * @param ListAccountTaxRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listAccountTax(ListAccountTaxRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListAccountTax', $request, $callOptions);
+ }
+
+ /**
+ * Updates the tax settings of the account.
+ *
+ * The async variant is {@see AccountTaxServiceClient::updateAccountTaxAsync()} .
+ *
+ * @example samples/V1beta/AccountTaxServiceClient/update_account_tax.php
+ *
+ * @param UpdateAccountTaxRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return AccountTax
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateAccountTax(UpdateAccountTaxRequest $request, array $callOptions = []): AccountTax
+ {
+ return $this->startApiCall('UpdateAccountTax', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AccountsServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AccountsServiceClient.php
new file mode 100644
index 000000000000..2d81022d23b9
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AccountsServiceClient.php
@@ -0,0 +1,449 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/accounts_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/accounts_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/accounts_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/accounts_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted account resource.
+ *
+ * @experimental
+ */
+ public static function accountName(string $account): string
+ {
+ return self::getPathTemplate('account')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * terms_of_service resource.
+ *
+ * @param string $version
+ *
+ * @return string The formatted terms_of_service resource.
+ *
+ * @experimental
+ */
+ public static function termsOfServiceName(string $version): string
+ {
+ return self::getPathTemplate('termsOfService')->render([
+ 'version' => $version,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a user
+ * resource.
+ *
+ * @param string $account
+ * @param string $email
+ *
+ * @return string The formatted user resource.
+ *
+ * @experimental
+ */
+ public static function userName(string $account, string $email): string
+ {
+ return self::getPathTemplate('user')->render([
+ 'account' => $account,
+ 'email' => $email,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - account: accounts/{account}
+ * - termsOfService: termsOfService/{version}
+ * - user: accounts/{account}/users/{email}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Creates a standalone Merchant Center account with additional configuration.
+ * Adds the user that makes the request as an admin for the new account.
+ *
+ * The async variant is
+ * {@see AccountsServiceClient::createAndConfigureAccountAsync()} .
+ *
+ * @example samples/V1beta/AccountsServiceClient/create_and_configure_account.php
+ *
+ * @param CreateAndConfigureAccountRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Account
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function createAndConfigureAccount(CreateAndConfigureAccountRequest $request, array $callOptions = []): Account
+ {
+ return $this->startApiCall('CreateAndConfigureAccount', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Deletes the specified account regardless of its type: standalone, MCA or
+ * sub-account. Deleting an MCA leads to the deletion of all of its
+ * sub-accounts. Executing this method requires admin access.
+ *
+ * The async variant is {@see AccountsServiceClient::deleteAccountAsync()} .
+ *
+ * @example samples/V1beta/AccountsServiceClient/delete_account.php
+ *
+ * @param DeleteAccountRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function deleteAccount(DeleteAccountRequest $request, array $callOptions = []): void
+ {
+ $this->startApiCall('DeleteAccount', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Retrieves an account from your Merchant Center account.
+ * After inserting, updating, or deleting an account, it may take several
+ * minutes before changes take effect.
+ *
+ * The async variant is {@see AccountsServiceClient::getAccountAsync()} .
+ *
+ * @example samples/V1beta/AccountsServiceClient/get_account.php
+ *
+ * @param GetAccountRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Account
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getAccount(GetAccountRequest $request, array $callOptions = []): Account
+ {
+ return $this->startApiCall('GetAccount', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Lists accounts accessible to the calling user and matching the
+ * constraints of the request such as page size or filters.
+ * This is not just listing the sub-accounts of an MCA, but all accounts the
+ * calling user has access to including other MCAs, linked accounts,
+ * standalone accounts and so on.
+ *
+ * The async variant is {@see AccountsServiceClient::listAccountsAsync()} .
+ *
+ * @example samples/V1beta/AccountsServiceClient/list_accounts.php
+ *
+ * @param ListAccountsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listAccounts(ListAccountsRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListAccounts', $request, $callOptions);
+ }
+
+ /**
+ * List all sub-accounts for a given multi client account. This is a
+ * convenience wrapper for the more powerful `ListAccounts` method. This
+ * method will produce the same results as calling `ListsAccounts` with the
+ * following filter:
+ * `relationship(providerId={parent} AND service(type="ACCOUNT_AGGREGATION"))`
+ *
+ * The async variant is {@see AccountsServiceClient::listSubAccountsAsync()} .
+ *
+ * @example samples/V1beta/AccountsServiceClient/list_sub_accounts.php
+ *
+ * @param ListSubAccountsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listSubAccounts(ListSubAccountsRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListSubAccounts', $request, $callOptions);
+ }
+
+ /**
+ * Updates an account regardless of its type: standalone, MCA or sub-account.
+ * Executing this method requires admin access.
+ *
+ * The async variant is {@see AccountsServiceClient::updateAccountAsync()} .
+ *
+ * @example samples/V1beta/AccountsServiceClient/update_account.php
+ *
+ * @param UpdateAccountRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Account
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateAccount(UpdateAccountRequest $request, array $callOptions = []): Account
+ {
+ return $this->startApiCall('UpdateAccount', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AutofeedSettingsServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AutofeedSettingsServiceClient.php
new file mode 100644
index 000000000000..ab34e41da2ed
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/AutofeedSettingsServiceClient.php
@@ -0,0 +1,280 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/autofeed_settings_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/autofeed_settings_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/autofeed_settings_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/autofeed_settings_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * autofeed_settings resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted autofeed_settings resource.
+ *
+ * @experimental
+ */
+ public static function autofeedSettingsName(string $account): string
+ {
+ return self::getPathTemplate('autofeedSettings')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - autofeedSettings: accounts/{account}/autofeedSettings
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Retrieves the autofeed settings of an account.
+ *
+ * The async variant is
+ * {@see AutofeedSettingsServiceClient::getAutofeedSettingsAsync()} .
+ *
+ * @example samples/V1beta/AutofeedSettingsServiceClient/get_autofeed_settings.php
+ *
+ * @param GetAutofeedSettingsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return AutofeedSettings
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getAutofeedSettings(GetAutofeedSettingsRequest $request, array $callOptions = []): AutofeedSettings
+ {
+ return $this->startApiCall('GetAutofeedSettings', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Updates the autofeed settings of an account.
+ *
+ * The async variant is
+ * {@see AutofeedSettingsServiceClient::updateAutofeedSettingsAsync()} .
+ *
+ * @example samples/V1beta/AutofeedSettingsServiceClient/update_autofeed_settings.php
+ *
+ * @param UpdateAutofeedSettingsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return AutofeedSettings
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateAutofeedSettings(UpdateAutofeedSettingsRequest $request, array $callOptions = []): AutofeedSettings
+ {
+ return $this->startApiCall('UpdateAutofeedSettings', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/BusinessIdentityServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/BusinessIdentityServiceClient.php
new file mode 100644
index 000000000000..ac74f3e70b5c
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/BusinessIdentityServiceClient.php
@@ -0,0 +1,281 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/business_identity_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/business_identity_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/business_identity_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/business_identity_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * business_identity resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted business_identity resource.
+ *
+ * @experimental
+ */
+ public static function businessIdentityName(string $account): string
+ {
+ return self::getPathTemplate('businessIdentity')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - businessIdentity: accounts/{account}/businessIdentity
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Retrieves the business identity of an account.
+ *
+ * The async variant is
+ * {@see BusinessIdentityServiceClient::getBusinessIdentityAsync()} .
+ *
+ * @example samples/V1beta/BusinessIdentityServiceClient/get_business_identity.php
+ *
+ * @param GetBusinessIdentityRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return BusinessIdentity
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getBusinessIdentity(GetBusinessIdentityRequest $request, array $callOptions = []): BusinessIdentity
+ {
+ return $this->startApiCall('GetBusinessIdentity', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Updates the business identity of an account. Executing this method requires
+ * admin access.
+ *
+ * The async variant is
+ * {@see BusinessIdentityServiceClient::updateBusinessIdentityAsync()} .
+ *
+ * @example samples/V1beta/BusinessIdentityServiceClient/update_business_identity.php
+ *
+ * @param UpdateBusinessIdentityRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return BusinessIdentity
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateBusinessIdentity(UpdateBusinessIdentityRequest $request, array $callOptions = []): BusinessIdentity
+ {
+ return $this->startApiCall('UpdateBusinessIdentity', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/BusinessInfoServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/BusinessInfoServiceClient.php
new file mode 100644
index 000000000000..176db9459dc5
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/BusinessInfoServiceClient.php
@@ -0,0 +1,279 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/business_info_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/business_info_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/business_info_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/business_info_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * business_info resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted business_info resource.
+ *
+ * @experimental
+ */
+ public static function businessInfoName(string $account): string
+ {
+ return self::getPathTemplate('businessInfo')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - businessInfo: accounts/{account}/businessInfo
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Retrieves the business info of an account.
+ *
+ * The async variant is {@see BusinessInfoServiceClient::getBusinessInfoAsync()} .
+ *
+ * @example samples/V1beta/BusinessInfoServiceClient/get_business_info.php
+ *
+ * @param GetBusinessInfoRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return BusinessInfo
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getBusinessInfo(GetBusinessInfoRequest $request, array $callOptions = []): BusinessInfo
+ {
+ return $this->startApiCall('GetBusinessInfo', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Updates the business info of an account. Executing this method requires
+ * admin access.
+ *
+ * The async variant is {@see BusinessInfoServiceClient::updateBusinessInfoAsync()}
+ * .
+ *
+ * @example samples/V1beta/BusinessInfoServiceClient/update_business_info.php
+ *
+ * @param UpdateBusinessInfoRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return BusinessInfo
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateBusinessInfo(UpdateBusinessInfoRequest $request, array $callOptions = []): BusinessInfo
+ {
+ return $this->startApiCall('UpdateBusinessInfo', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/EmailPreferencesServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/EmailPreferencesServiceClient.php
new file mode 100644
index 000000000000..6bec3d2c7a60
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/EmailPreferencesServiceClient.php
@@ -0,0 +1,297 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/email_preferences_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/email_preferences_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/email_preferences_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/email_preferences_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * email_preferences resource.
+ *
+ * @param string $account
+ * @param string $email
+ *
+ * @return string The formatted email_preferences resource.
+ *
+ * @experimental
+ */
+ public static function emailPreferencesName(string $account, string $email): string
+ {
+ return self::getPathTemplate('emailPreferences')->render([
+ 'account' => $account,
+ 'email' => $email,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - emailPreferences: accounts/{account}/users/{email}/emailPreferences
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Returns the email preferences for a Merchant Center account user.
+ *
+ * Use the name=accounts/*/users/me/emailPreferences alias to get preferences
+ * for the authenticated user.
+ *
+ * The async variant is
+ * {@see EmailPreferencesServiceClient::getEmailPreferencesAsync()} .
+ *
+ * @example samples/V1beta/EmailPreferencesServiceClient/get_email_preferences.php
+ *
+ * @param GetEmailPreferencesRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return EmailPreferences
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getEmailPreferences(GetEmailPreferencesRequest $request, array $callOptions = []): EmailPreferences
+ {
+ return $this->startApiCall('GetEmailPreferences', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Updates the email preferences for a Merchant Center account user. MCA users
+ * should specify the MCA account rather than a sub-account of the MCA.
+ *
+ * Preferences which are not explicitly selected in the update mask will not
+ * be updated.
+ *
+ * It is invalid for updates to specify an UNCONFIRMED opt-in status value.
+ *
+ * Use the name=accounts/*/users/me/emailPreferences alias to update
+ * preferences
+ * for the authenticated user.
+ *
+ * The async variant is
+ * {@see EmailPreferencesServiceClient::updateEmailPreferencesAsync()} .
+ *
+ * @example samples/V1beta/EmailPreferencesServiceClient/update_email_preferences.php
+ *
+ * @param UpdateEmailPreferencesRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return EmailPreferences
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateEmailPreferences(UpdateEmailPreferencesRequest $request, array $callOptions = []): EmailPreferences
+ {
+ return $this->startApiCall('UpdateEmailPreferences', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/HomepageServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/HomepageServiceClient.php
new file mode 100644
index 000000000000..df8f24e69b6a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/HomepageServiceClient.php
@@ -0,0 +1,350 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/homepage_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/homepage_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/homepage_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/homepage_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a homepage
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted homepage resource.
+ *
+ * @experimental
+ */
+ public static function homepageName(string $account): string
+ {
+ return self::getPathTemplate('homepage')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - homepage: accounts/{account}/homepage
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Claims a store's homepage. Executing this method requires admin access.
+ *
+ * If the homepage is already claimed, this will recheck the
+ * verification (unless the merchant is exempted from claiming, which also
+ * exempts from verification) and return a successful response. If ownership
+ * can no longer be verified, it will return an error, but it won't clear the
+ * claim. In case of failure, a canonical error message will be returned:
+ * * PERMISSION_DENIED: user doesn't have the necessary permissions on this
+ * MC account;
+ * * FAILED_PRECONDITION:
+ * - The account is not a Merchant Center account;
+ * - MC account doesn't have a homepage;
+ * - claiming failed (in this case the error message will contain more
+ * details).
+ *
+ * The async variant is {@see HomepageServiceClient::claimHomepageAsync()} .
+ *
+ * @example samples/V1beta/HomepageServiceClient/claim_homepage.php
+ *
+ * @param ClaimHomepageRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Homepage
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function claimHomepage(ClaimHomepageRequest $request, array $callOptions = []): Homepage
+ {
+ return $this->startApiCall('ClaimHomepage', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Retrieves a store's homepage.
+ *
+ * The async variant is {@see HomepageServiceClient::getHomepageAsync()} .
+ *
+ * @example samples/V1beta/HomepageServiceClient/get_homepage.php
+ *
+ * @param GetHomepageRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Homepage
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getHomepage(GetHomepageRequest $request, array $callOptions = []): Homepage
+ {
+ return $this->startApiCall('GetHomepage', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Unclaims a store's homepage. Executing this method requires admin access.
+ *
+ * The async variant is {@see HomepageServiceClient::unclaimHomepageAsync()} .
+ *
+ * @example samples/V1beta/HomepageServiceClient/unclaim_homepage.php
+ *
+ * @param UnclaimHomepageRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Homepage
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function unclaimHomepage(UnclaimHomepageRequest $request, array $callOptions = []): Homepage
+ {
+ return $this->startApiCall('UnclaimHomepage', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Updates a store's homepage. Executing this method requires admin access.
+ *
+ * The async variant is {@see HomepageServiceClient::updateHomepageAsync()} .
+ *
+ * @example samples/V1beta/HomepageServiceClient/update_homepage.php
+ *
+ * @param UpdateHomepageRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Homepage
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateHomepage(UpdateHomepageRequest $request, array $callOptions = []): Homepage
+ {
+ return $this->startApiCall('UpdateHomepage', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/OnlineReturnPolicyServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/OnlineReturnPolicyServiceClient.php
new file mode 100644
index 000000000000..ae5e59f95ad0
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/OnlineReturnPolicyServiceClient.php
@@ -0,0 +1,304 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/online_return_policy_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/online_return_policy_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/online_return_policy_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/online_return_policy_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted account resource.
+ *
+ * @experimental
+ */
+ public static function accountName(string $account): string
+ {
+ return self::getPathTemplate('account')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * online_return_policy resource.
+ *
+ * @param string $account
+ * @param string $returnPolicy
+ *
+ * @return string The formatted online_return_policy resource.
+ *
+ * @experimental
+ */
+ public static function onlineReturnPolicyName(string $account, string $returnPolicy): string
+ {
+ return self::getPathTemplate('onlineReturnPolicy')->render([
+ 'account' => $account,
+ 'return_policy' => $returnPolicy,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - account: accounts/{account}
+ * - onlineReturnPolicy: accounts/{account}/onlineReturnPolicies/{return_policy}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Gets an existing return policy.
+ *
+ * The async variant is
+ * {@see OnlineReturnPolicyServiceClient::getOnlineReturnPolicyAsync()} .
+ *
+ * @example samples/V1beta/OnlineReturnPolicyServiceClient/get_online_return_policy.php
+ *
+ * @param GetOnlineReturnPolicyRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return OnlineReturnPolicy
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getOnlineReturnPolicy(GetOnlineReturnPolicyRequest $request, array $callOptions = []): OnlineReturnPolicy
+ {
+ return $this->startApiCall('GetOnlineReturnPolicy', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Lists all existing return policies.
+ *
+ * The async variant is
+ * {@see OnlineReturnPolicyServiceClient::listOnlineReturnPoliciesAsync()} .
+ *
+ * @example samples/V1beta/OnlineReturnPolicyServiceClient/list_online_return_policies.php
+ *
+ * @param ListOnlineReturnPoliciesRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listOnlineReturnPolicies(ListOnlineReturnPoliciesRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListOnlineReturnPolicies', $request, $callOptions);
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/ProgramsServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/ProgramsServiceClient.php
new file mode 100644
index 000000000000..efb1fbbfae0b
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/ProgramsServiceClient.php
@@ -0,0 +1,370 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/programs_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/programs_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/programs_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/programs_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted account resource.
+ *
+ * @experimental
+ */
+ public static function accountName(string $account): string
+ {
+ return self::getPathTemplate('account')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a program
+ * resource.
+ *
+ * @param string $account
+ * @param string $program
+ *
+ * @return string The formatted program resource.
+ *
+ * @experimental
+ */
+ public static function programName(string $account, string $program): string
+ {
+ return self::getPathTemplate('program')->render([
+ 'account' => $account,
+ 'program' => $program,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - account: accounts/{account}
+ * - program: accounts/{account}/programs/{program}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Disable participation in the specified program for the account. Executing
+ * this method requires admin access.
+ *
+ * The async variant is {@see ProgramsServiceClient::disableProgramAsync()} .
+ *
+ * @example samples/V1beta/ProgramsServiceClient/disable_program.php
+ *
+ * @param DisableProgramRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Program
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function disableProgram(DisableProgramRequest $request, array $callOptions = []): Program
+ {
+ return $this->startApiCall('DisableProgram', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Enable participation in the specified program for the account. Executing
+ * this method requires admin access.
+ *
+ * The async variant is {@see ProgramsServiceClient::enableProgramAsync()} .
+ *
+ * @example samples/V1beta/ProgramsServiceClient/enable_program.php
+ *
+ * @param EnableProgramRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Program
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function enableProgram(EnableProgramRequest $request, array $callOptions = []): Program
+ {
+ return $this->startApiCall('EnableProgram', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Retrieves the specified program for the account.
+ *
+ * The async variant is {@see ProgramsServiceClient::getProgramAsync()} .
+ *
+ * @example samples/V1beta/ProgramsServiceClient/get_program.php
+ *
+ * @param GetProgramRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Program
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getProgram(GetProgramRequest $request, array $callOptions = []): Program
+ {
+ return $this->startApiCall('GetProgram', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Retrieves all programs for the account.
+ *
+ * The async variant is {@see ProgramsServiceClient::listProgramsAsync()} .
+ *
+ * @example samples/V1beta/ProgramsServiceClient/list_programs.php
+ *
+ * @param ListProgramsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listPrograms(ListProgramsRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListPrograms', $request, $callOptions);
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/RegionsServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/RegionsServiceClient.php
new file mode 100644
index 000000000000..f9f717109083
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/RegionsServiceClient.php
@@ -0,0 +1,393 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/regions_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/regions_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/regions_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/regions_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted account resource.
+ *
+ * @experimental
+ */
+ public static function accountName(string $account): string
+ {
+ return self::getPathTemplate('account')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a region
+ * resource.
+ *
+ * @param string $account
+ * @param string $region
+ *
+ * @return string The formatted region resource.
+ *
+ * @experimental
+ */
+ public static function regionName(string $account, string $region): string
+ {
+ return self::getPathTemplate('region')->render([
+ 'account' => $account,
+ 'region' => $region,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - account: accounts/{account}
+ * - region: accounts/{account}/regions/{region}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Creates a region definition in your Merchant Center account. Executing this
+ * method requires admin access.
+ *
+ * The async variant is {@see RegionsServiceClient::createRegionAsync()} .
+ *
+ * @example samples/V1beta/RegionsServiceClient/create_region.php
+ *
+ * @param CreateRegionRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Region
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function createRegion(CreateRegionRequest $request, array $callOptions = []): Region
+ {
+ return $this->startApiCall('CreateRegion', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Deletes a region definition from your Merchant Center account. Executing
+ * this method requires admin access.
+ *
+ * The async variant is {@see RegionsServiceClient::deleteRegionAsync()} .
+ *
+ * @example samples/V1beta/RegionsServiceClient/delete_region.php
+ *
+ * @param DeleteRegionRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function deleteRegion(DeleteRegionRequest $request, array $callOptions = []): void
+ {
+ $this->startApiCall('DeleteRegion', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Retrieves a region defined in your Merchant Center account.
+ *
+ * The async variant is {@see RegionsServiceClient::getRegionAsync()} .
+ *
+ * @example samples/V1beta/RegionsServiceClient/get_region.php
+ *
+ * @param GetRegionRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Region
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getRegion(GetRegionRequest $request, array $callOptions = []): Region
+ {
+ return $this->startApiCall('GetRegion', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Lists the regions in your Merchant Center account.
+ *
+ * The async variant is {@see RegionsServiceClient::listRegionsAsync()} .
+ *
+ * @example samples/V1beta/RegionsServiceClient/list_regions.php
+ *
+ * @param ListRegionsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listRegions(ListRegionsRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListRegions', $request, $callOptions);
+ }
+
+ /**
+ * Updates a region definition in your Merchant Center account. Executing this
+ * method requires admin access.
+ *
+ * The async variant is {@see RegionsServiceClient::updateRegionAsync()} .
+ *
+ * @example samples/V1beta/RegionsServiceClient/update_region.php
+ *
+ * @param UpdateRegionRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Region
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateRegion(UpdateRegionRequest $request, array $callOptions = []): Region
+ {
+ return $this->startApiCall('UpdateRegion', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/ShippingSettingsServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/ShippingSettingsServiceClient.php
new file mode 100644
index 000000000000..54b73c39a938
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/ShippingSettingsServiceClient.php
@@ -0,0 +1,281 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/shipping_settings_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/shipping_settings_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/shipping_settings_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/shipping_settings_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * shipping_settings resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted shipping_settings resource.
+ *
+ * @experimental
+ */
+ public static function shippingSettingsName(string $account): string
+ {
+ return self::getPathTemplate('shippingSettings')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - shippingSettings: accounts/{account}/shippingSettings
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Retrieve shipping setting information.
+ *
+ * The async variant is
+ * {@see ShippingSettingsServiceClient::getShippingSettingsAsync()} .
+ *
+ * @example samples/V1beta/ShippingSettingsServiceClient/get_shipping_settings.php
+ *
+ * @param GetShippingSettingsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return ShippingSettings
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getShippingSettings(GetShippingSettingsRequest $request, array $callOptions = []): ShippingSettings
+ {
+ return $this->startApiCall('GetShippingSettings', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Replace the shipping setting of a merchant with the request shipping
+ * setting. Executing this method requires admin access.
+ *
+ * The async variant is
+ * {@see ShippingSettingsServiceClient::insertShippingSettingsAsync()} .
+ *
+ * @example samples/V1beta/ShippingSettingsServiceClient/insert_shipping_settings.php
+ *
+ * @param InsertShippingSettingsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return ShippingSettings
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function insertShippingSettings(InsertShippingSettingsRequest $request, array $callOptions = []): ShippingSettings
+ {
+ return $this->startApiCall('InsertShippingSettings', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/TermsOfServiceAgreementStateServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/TermsOfServiceAgreementStateServiceClient.php
new file mode 100644
index 000000000000..d960d51bf184
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/TermsOfServiceAgreementStateServiceClient.php
@@ -0,0 +1,301 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/terms_of_service_agreement_state_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/terms_of_service_agreement_state_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/terms_of_service_agreement_state_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/terms_of_service_agreement_state_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted account resource.
+ *
+ * @experimental
+ */
+ public static function accountName(string $account): string
+ {
+ return self::getPathTemplate('account')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * terms_of_service_agreement_state resource.
+ *
+ * @param string $account
+ * @param string $identifier
+ *
+ * @return string The formatted terms_of_service_agreement_state resource.
+ *
+ * @experimental
+ */
+ public static function termsOfServiceAgreementStateName(string $account, string $identifier): string
+ {
+ return self::getPathTemplate('termsOfServiceAgreementState')->render([
+ 'account' => $account,
+ 'identifier' => $identifier,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - account: accounts/{account}
+ * - termsOfServiceAgreementState: accounts/{account}/termsOfServiceAgreementStates/{identifier}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Returns the state of a terms of service agreement.
+ *
+ * The async variant is
+ * {@see TermsOfServiceAgreementStateServiceClient::getTermsOfServiceAgreementStateAsync()}
+ * .
+ *
+ * @example samples/V1beta/TermsOfServiceAgreementStateServiceClient/get_terms_of_service_agreement_state.php
+ *
+ * @param GetTermsOfServiceAgreementStateRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return TermsOfServiceAgreementState
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getTermsOfServiceAgreementState(GetTermsOfServiceAgreementStateRequest $request, array $callOptions = []): TermsOfServiceAgreementState
+ {
+ return $this->startApiCall('GetTermsOfServiceAgreementState', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Retrieves the state of the agreement for the application terms of service.
+ *
+ * The async variant is
+ * {@see TermsOfServiceAgreementStateServiceClient::retrieveForApplicationTermsOfServiceAgreementStateAsync()}
+ * .
+ *
+ * @example samples/V1beta/TermsOfServiceAgreementStateServiceClient/retrieve_for_application_terms_of_service_agreement_state.php
+ *
+ * @param RetrieveForApplicationTermsOfServiceAgreementStateRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return TermsOfServiceAgreementState
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function retrieveForApplicationTermsOfServiceAgreementState(RetrieveForApplicationTermsOfServiceAgreementStateRequest $request, array $callOptions = []): TermsOfServiceAgreementState
+ {
+ return $this->startApiCall('RetrieveForApplicationTermsOfServiceAgreementState', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/TermsOfServiceServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/TermsOfServiceServiceClient.php
new file mode 100644
index 000000000000..8cc834070bac
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/TermsOfServiceServiceClient.php
@@ -0,0 +1,327 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/terms_of_service_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/terms_of_service_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/terms_of_service_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/terms_of_service_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted account resource.
+ *
+ * @experimental
+ */
+ public static function accountName(string $account): string
+ {
+ return self::getPathTemplate('account')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * terms_of_service resource.
+ *
+ * @param string $version
+ *
+ * @return string The formatted terms_of_service resource.
+ *
+ * @experimental
+ */
+ public static function termsOfServiceName(string $version): string
+ {
+ return self::getPathTemplate('termsOfService')->render([
+ 'version' => $version,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - account: accounts/{account}
+ * - termsOfService: termsOfService/{version}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Accepts a `TermsOfService`. Executing this method requires admin access.
+ *
+ * The async variant is
+ * {@see TermsOfServiceServiceClient::acceptTermsOfServiceAsync()} .
+ *
+ * @example samples/V1beta/TermsOfServiceServiceClient/accept_terms_of_service.php
+ *
+ * @param AcceptTermsOfServiceRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function acceptTermsOfService(AcceptTermsOfServiceRequest $request, array $callOptions = []): void
+ {
+ $this->startApiCall('AcceptTermsOfService', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Retrieves the `TermsOfService` associated with the provided version.
+ *
+ * The async variant is
+ * {@see TermsOfServiceServiceClient::getTermsOfServiceAsync()} .
+ *
+ * @example samples/V1beta/TermsOfServiceServiceClient/get_terms_of_service.php
+ *
+ * @param GetTermsOfServiceRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return TermsOfService
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getTermsOfService(GetTermsOfServiceRequest $request, array $callOptions = []): TermsOfService
+ {
+ return $this->startApiCall('GetTermsOfService', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Retrieves the latest version of the `TermsOfService` for a given `kind` and
+ * `region_code`.
+ *
+ * The async variant is
+ * {@see TermsOfServiceServiceClient::retrieveLatestTermsOfServiceAsync()} .
+ *
+ * @example samples/V1beta/TermsOfServiceServiceClient/retrieve_latest_terms_of_service.php
+ *
+ * @param RetrieveLatestTermsOfServiceRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return TermsOfService
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function retrieveLatestTermsOfService(RetrieveLatestTermsOfServiceRequest $request, array $callOptions = []): TermsOfService
+ {
+ return $this->startApiCall('RetrieveLatestTermsOfService', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/UserServiceClient.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/UserServiceClient.php
new file mode 100644
index 000000000000..d4af3069d233
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/Client/UserServiceClient.php
@@ -0,0 +1,389 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/user_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/user_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/user_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/user_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a account
+ * resource.
+ *
+ * @param string $account
+ *
+ * @return string The formatted account resource.
+ *
+ * @experimental
+ */
+ public static function accountName(string $account): string
+ {
+ return self::getPathTemplate('account')->render([
+ 'account' => $account,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a user
+ * resource.
+ *
+ * @param string $account
+ * @param string $email
+ *
+ * @return string The formatted user resource.
+ *
+ * @experimental
+ */
+ public static function userName(string $account, string $email): string
+ {
+ return self::getPathTemplate('user')->render([
+ 'account' => $account,
+ 'email' => $email,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - account: accounts/{account}
+ * - user: accounts/{account}/users/{email}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'merchantapi.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * Creates a Merchant Center account user. Executing this method requires
+ * admin access.
+ *
+ * The async variant is {@see UserServiceClient::createUserAsync()} .
+ *
+ * @example samples/V1beta/UserServiceClient/create_user.php
+ *
+ * @param CreateUserRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return User
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function createUser(CreateUserRequest $request, array $callOptions = []): User
+ {
+ return $this->startApiCall('CreateUser', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Deletes a Merchant Center account user. Executing this method requires
+ * admin access.
+ *
+ * The async variant is {@see UserServiceClient::deleteUserAsync()} .
+ *
+ * @example samples/V1beta/UserServiceClient/delete_user.php
+ *
+ * @param DeleteUserRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function deleteUser(DeleteUserRequest $request, array $callOptions = []): void
+ {
+ $this->startApiCall('DeleteUser', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Retrieves a Merchant Center account user.
+ *
+ * The async variant is {@see UserServiceClient::getUserAsync()} .
+ *
+ * @example samples/V1beta/UserServiceClient/get_user.php
+ *
+ * @param GetUserRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return User
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getUser(GetUserRequest $request, array $callOptions = []): User
+ {
+ return $this->startApiCall('GetUser', $request, $callOptions)->wait();
+ }
+
+ /**
+ * Lists all users of a Merchant Center account.
+ *
+ * The async variant is {@see UserServiceClient::listUsersAsync()} .
+ *
+ * @example samples/V1beta/UserServiceClient/list_users.php
+ *
+ * @param ListUsersRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listUsers(ListUsersRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListUsers', $request, $callOptions);
+ }
+
+ /**
+ * Updates a Merchant Center account user. Executing this method requires
+ * admin access.
+ *
+ * The async variant is {@see UserServiceClient::updateUserAsync()} .
+ *
+ * @example samples/V1beta/UserServiceClient/update_user.php
+ *
+ * @param UpdateUserRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return User
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateUser(UpdateUserRequest $request, array $callOptions = []): User
+ {
+ return $this->startApiCall('UpdateUser', $request, $callOptions)->wait();
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/gapic_metadata.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/gapic_metadata.json
new file mode 100644
index 000000000000..ab861f1649cc
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/gapic_metadata.json
@@ -0,0 +1,369 @@
+{
+ "schema": "1.0",
+ "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods",
+ "language": "php",
+ "protoPackage": "google.shopping.merchant.accounts.v1beta",
+ "libraryPackage": "Google\\Shopping\\Merchant\\Accounts\\V1beta",
+ "services": {
+ "AccountTaxService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "AccountTaxServiceGapicClient",
+ "rpcs": {
+ "GetAccountTax": {
+ "methods": [
+ "getAccountTax"
+ ]
+ },
+ "ListAccountTax": {
+ "methods": [
+ "listAccountTax"
+ ]
+ },
+ "UpdateAccountTax": {
+ "methods": [
+ "updateAccountTax"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "AccountIssueService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "AccountIssueServiceGapicClient",
+ "rpcs": {
+ "ListAccountIssues": {
+ "methods": [
+ "listAccountIssues"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "UserService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "UserServiceGapicClient",
+ "rpcs": {
+ "CreateUser": {
+ "methods": [
+ "createUser"
+ ]
+ },
+ "DeleteUser": {
+ "methods": [
+ "deleteUser"
+ ]
+ },
+ "GetUser": {
+ "methods": [
+ "getUser"
+ ]
+ },
+ "ListUsers": {
+ "methods": [
+ "listUsers"
+ ]
+ },
+ "UpdateUser": {
+ "methods": [
+ "updateUser"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "AccountsService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "AccountsServiceGapicClient",
+ "rpcs": {
+ "CreateAndConfigureAccount": {
+ "methods": [
+ "createAndConfigureAccount"
+ ]
+ },
+ "DeleteAccount": {
+ "methods": [
+ "deleteAccount"
+ ]
+ },
+ "GetAccount": {
+ "methods": [
+ "getAccount"
+ ]
+ },
+ "ListAccounts": {
+ "methods": [
+ "listAccounts"
+ ]
+ },
+ "ListSubAccounts": {
+ "methods": [
+ "listSubAccounts"
+ ]
+ },
+ "UpdateAccount": {
+ "methods": [
+ "updateAccount"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "AutofeedSettingsService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "AutofeedSettingsServiceGapicClient",
+ "rpcs": {
+ "GetAutofeedSettings": {
+ "methods": [
+ "getAutofeedSettings"
+ ]
+ },
+ "UpdateAutofeedSettings": {
+ "methods": [
+ "updateAutofeedSettings"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "BusinessIdentityService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "BusinessIdentityServiceGapicClient",
+ "rpcs": {
+ "GetBusinessIdentity": {
+ "methods": [
+ "getBusinessIdentity"
+ ]
+ },
+ "UpdateBusinessIdentity": {
+ "methods": [
+ "updateBusinessIdentity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "BusinessInfoService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "BusinessInfoServiceGapicClient",
+ "rpcs": {
+ "GetBusinessInfo": {
+ "methods": [
+ "getBusinessInfo"
+ ]
+ },
+ "UpdateBusinessInfo": {
+ "methods": [
+ "updateBusinessInfo"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "EmailPreferencesService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "EmailPreferencesServiceGapicClient",
+ "rpcs": {
+ "GetEmailPreferences": {
+ "methods": [
+ "getEmailPreferences"
+ ]
+ },
+ "UpdateEmailPreferences": {
+ "methods": [
+ "updateEmailPreferences"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "HomepageService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "HomepageServiceGapicClient",
+ "rpcs": {
+ "ClaimHomepage": {
+ "methods": [
+ "claimHomepage"
+ ]
+ },
+ "GetHomepage": {
+ "methods": [
+ "getHomepage"
+ ]
+ },
+ "UnclaimHomepage": {
+ "methods": [
+ "unclaimHomepage"
+ ]
+ },
+ "UpdateHomepage": {
+ "methods": [
+ "updateHomepage"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "OnlineReturnPolicyService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "OnlineReturnPolicyServiceGapicClient",
+ "rpcs": {
+ "GetOnlineReturnPolicy": {
+ "methods": [
+ "getOnlineReturnPolicy"
+ ]
+ },
+ "ListOnlineReturnPolicies": {
+ "methods": [
+ "listOnlineReturnPolicies"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "ProgramsService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "ProgramsServiceGapicClient",
+ "rpcs": {
+ "DisableProgram": {
+ "methods": [
+ "disableProgram"
+ ]
+ },
+ "EnableProgram": {
+ "methods": [
+ "enableProgram"
+ ]
+ },
+ "GetProgram": {
+ "methods": [
+ "getProgram"
+ ]
+ },
+ "ListPrograms": {
+ "methods": [
+ "listPrograms"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "RegionsService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "RegionsServiceGapicClient",
+ "rpcs": {
+ "CreateRegion": {
+ "methods": [
+ "createRegion"
+ ]
+ },
+ "DeleteRegion": {
+ "methods": [
+ "deleteRegion"
+ ]
+ },
+ "GetRegion": {
+ "methods": [
+ "getRegion"
+ ]
+ },
+ "ListRegions": {
+ "methods": [
+ "listRegions"
+ ]
+ },
+ "UpdateRegion": {
+ "methods": [
+ "updateRegion"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "ShippingSettingsService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "ShippingSettingsServiceGapicClient",
+ "rpcs": {
+ "GetShippingSettings": {
+ "methods": [
+ "getShippingSettings"
+ ]
+ },
+ "InsertShippingSettings": {
+ "methods": [
+ "insertShippingSettings"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "TermsOfServiceService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "TermsOfServiceServiceGapicClient",
+ "rpcs": {
+ "AcceptTermsOfService": {
+ "methods": [
+ "acceptTermsOfService"
+ ]
+ },
+ "GetTermsOfService": {
+ "methods": [
+ "getTermsOfService"
+ ]
+ },
+ "RetrieveLatestTermsOfService": {
+ "methods": [
+ "retrieveLatestTermsOfService"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "TermsOfServiceAgreementStateService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "TermsOfServiceAgreementStateServiceGapicClient",
+ "rpcs": {
+ "GetTermsOfServiceAgreementState": {
+ "methods": [
+ "getTermsOfServiceAgreementState"
+ ]
+ },
+ "RetrieveForApplicationTermsOfServiceAgreementState": {
+ "methods": [
+ "retrieveForApplicationTermsOfServiceAgreementState"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_issue_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_issue_service_client_config.json
new file mode 100644
index 000000000000..8136c793b3a1
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_issue_service_client_config.json
@@ -0,0 +1,39 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.AccountIssueService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "ListAccountIssues": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_issue_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_issue_service_descriptor_config.php
new file mode 100644
index 000000000000..e83bab368ace
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_issue_service_descriptor_config.php
@@ -0,0 +1,51 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.AccountIssueService' => [
+ 'ListAccountIssues' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getAccountIssues',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ListAccountIssuesResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'account' => 'accounts/{account}',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_issue_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_issue_service_rest_client_config.php
new file mode 100644
index 000000000000..adf65d1d40fe
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_issue_service_rest_client_config.php
@@ -0,0 +1,40 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.AccountIssueService' => [
+ 'ListAccountIssues' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/issues',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_tax_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_tax_service_client_config.json
new file mode 100644
index 000000000000..69b7e6d7e64f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_tax_service_client_config.json
@@ -0,0 +1,49 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.AccountTaxService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "GetAccountTax": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListAccountTax": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateAccountTax": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_tax_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_tax_service_descriptor_config.php
new file mode 100644
index 000000000000..93361bb90f3f
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_tax_service_descriptor_config.php
@@ -0,0 +1,77 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.AccountTaxService' => [
+ 'GetAccountTax' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\AccountTax',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListAccountTax' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getAccountTaxes',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ListAccountTaxResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateAccountTax' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\AccountTax',
+ 'headerParams' => [
+ [
+ 'keyName' => 'account_tax.name',
+ 'fieldAccessors' => [
+ 'getAccountTax',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'account' => 'accounts/{account}',
+ 'accountTax' => 'accounts/{account}/accounttax/{tax}',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_tax_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_tax_service_rest_client_config.php
new file mode 100644
index 000000000000..8f8acbb9fec5
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/account_tax_service_rest_client_config.php
@@ -0,0 +1,64 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.AccountTaxService' => [
+ 'GetAccountTax' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/accounttax/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListAccountTax' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/accounttax',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateAccountTax' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/accounts/v1beta/{account_tax.name=accounts/*/accounttax/*}',
+ 'body' => 'account_tax',
+ 'placeholders' => [
+ 'account_tax.name' => [
+ 'getters' => [
+ 'getAccountTax',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/accounts_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/accounts_service_client_config.json
new file mode 100644
index 000000000000..344c72e6d186
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/accounts_service_client_config.json
@@ -0,0 +1,64 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.AccountsService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "CreateAndConfigureAccount": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "DeleteAccount": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetAccount": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListAccounts": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListSubAccounts": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateAccount": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/accounts_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/accounts_service_descriptor_config.php
new file mode 100644
index 000000000000..9b02ca020fa0
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/accounts_service_descriptor_config.php
@@ -0,0 +1,106 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.AccountsService' => [
+ 'CreateAndConfigureAccount' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Account',
+ ],
+ 'DeleteAccount' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Protobuf\GPBEmpty',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetAccount' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Account',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListAccounts' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getAccounts',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ListAccountsResponse',
+ ],
+ 'ListSubAccounts' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getAccounts',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ListSubAccountsResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'provider',
+ 'fieldAccessors' => [
+ 'getProvider',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateAccount' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Account',
+ 'headerParams' => [
+ [
+ 'keyName' => 'account.name',
+ 'fieldAccessors' => [
+ 'getAccount',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'account' => 'accounts/{account}',
+ 'termsOfService' => 'termsOfService/{version}',
+ 'user' => 'accounts/{account}/users/{email}',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/accounts_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/accounts_service_rest_client_config.php
new file mode 100644
index 000000000000..25b104ba8c1d
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/accounts_service_rest_client_config.php
@@ -0,0 +1,87 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.AccountsService' => [
+ 'CreateAndConfigureAccount' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/accounts/v1beta/accounts:createAndConfigure',
+ 'body' => '*',
+ ],
+ 'DeleteAccount' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetAccount' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListAccounts' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/accounts',
+ ],
+ 'ListSubAccounts' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{provider=accounts/*}:listSubaccounts',
+ 'placeholders' => [
+ 'provider' => [
+ 'getters' => [
+ 'getProvider',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateAccount' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/accounts/v1beta/{account.name=accounts/*}',
+ 'body' => 'account',
+ 'placeholders' => [
+ 'account.name' => [
+ 'getters' => [
+ 'getAccount',
+ 'getName',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'update_mask',
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/autofeed_settings_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/autofeed_settings_service_client_config.json
new file mode 100644
index 000000000000..84ca8fcf33bf
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/autofeed_settings_service_client_config.json
@@ -0,0 +1,44 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.AutofeedSettingsService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "GetAutofeedSettings": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateAutofeedSettings": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/autofeed_settings_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/autofeed_settings_service_descriptor_config.php
new file mode 100644
index 000000000000..e680b833c147
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/autofeed_settings_service_descriptor_config.php
@@ -0,0 +1,56 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.AutofeedSettingsService' => [
+ 'GetAutofeedSettings' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\AutofeedSettings',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateAutofeedSettings' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\AutofeedSettings',
+ 'headerParams' => [
+ [
+ 'keyName' => 'autofeed_settings.name',
+ 'fieldAccessors' => [
+ 'getAutofeedSettings',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'autofeedSettings' => 'accounts/{account}/autofeedSettings',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/autofeed_settings_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/autofeed_settings_service_rest_client_config.php
new file mode 100644
index 000000000000..fce0ef9c2517
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/autofeed_settings_service_rest_client_config.php
@@ -0,0 +1,56 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.AutofeedSettingsService' => [
+ 'GetAutofeedSettings' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/autofeedSettings}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateAutofeedSettings' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/accounts/v1beta/{autofeed_settings.name=accounts/*/autofeedSettings}',
+ 'body' => 'autofeed_settings',
+ 'placeholders' => [
+ 'autofeed_settings.name' => [
+ 'getters' => [
+ 'getAutofeedSettings',
+ 'getName',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'update_mask',
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_identity_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_identity_service_client_config.json
new file mode 100644
index 000000000000..3f0a2757e2ee
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_identity_service_client_config.json
@@ -0,0 +1,44 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.BusinessIdentityService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "GetBusinessIdentity": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateBusinessIdentity": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_identity_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_identity_service_descriptor_config.php
new file mode 100644
index 000000000000..6b9b9c7acfa3
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_identity_service_descriptor_config.php
@@ -0,0 +1,56 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.BusinessIdentityService' => [
+ 'GetBusinessIdentity' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateBusinessIdentity' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\BusinessIdentity',
+ 'headerParams' => [
+ [
+ 'keyName' => 'business_identity.name',
+ 'fieldAccessors' => [
+ 'getBusinessIdentity',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'businessIdentity' => 'accounts/{account}/businessIdentity',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_identity_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_identity_service_rest_client_config.php
new file mode 100644
index 000000000000..4b881021701c
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_identity_service_rest_client_config.php
@@ -0,0 +1,56 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.BusinessIdentityService' => [
+ 'GetBusinessIdentity' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/businessIdentity}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateBusinessIdentity' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/accounts/v1beta/{business_identity.name=accounts/*/businessIdentity}',
+ 'body' => 'business_identity',
+ 'placeholders' => [
+ 'business_identity.name' => [
+ 'getters' => [
+ 'getBusinessIdentity',
+ 'getName',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'update_mask',
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_info_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_info_service_client_config.json
new file mode 100644
index 000000000000..28a2ad090f6a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_info_service_client_config.json
@@ -0,0 +1,44 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.BusinessInfoService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "GetBusinessInfo": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateBusinessInfo": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_info_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_info_service_descriptor_config.php
new file mode 100644
index 000000000000..83bfe0c63711
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_info_service_descriptor_config.php
@@ -0,0 +1,56 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.BusinessInfoService' => [
+ 'GetBusinessInfo' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\BusinessInfo',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateBusinessInfo' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\BusinessInfo',
+ 'headerParams' => [
+ [
+ 'keyName' => 'business_info.name',
+ 'fieldAccessors' => [
+ 'getBusinessInfo',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'businessInfo' => 'accounts/{account}/businessInfo',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_info_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_info_service_rest_client_config.php
new file mode 100644
index 000000000000..315a18d19a81
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/business_info_service_rest_client_config.php
@@ -0,0 +1,56 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.BusinessInfoService' => [
+ 'GetBusinessInfo' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/businessInfo}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateBusinessInfo' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/accounts/v1beta/{business_info.name=accounts/*/businessInfo}',
+ 'body' => 'business_info',
+ 'placeholders' => [
+ 'business_info.name' => [
+ 'getters' => [
+ 'getBusinessInfo',
+ 'getName',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'update_mask',
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/email_preferences_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/email_preferences_service_client_config.json
new file mode 100644
index 000000000000..b3f1667f34e4
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/email_preferences_service_client_config.json
@@ -0,0 +1,44 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.EmailPreferencesService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "GetEmailPreferences": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateEmailPreferences": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/email_preferences_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/email_preferences_service_descriptor_config.php
new file mode 100644
index 000000000000..3dbb47bc7a1c
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/email_preferences_service_descriptor_config.php
@@ -0,0 +1,56 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.EmailPreferencesService' => [
+ 'GetEmailPreferences' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateEmailPreferences' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\EmailPreferences',
+ 'headerParams' => [
+ [
+ 'keyName' => 'email_preferences.name',
+ 'fieldAccessors' => [
+ 'getEmailPreferences',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'emailPreferences' => 'accounts/{account}/users/{email}/emailPreferences',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/email_preferences_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/email_preferences_service_rest_client_config.php
new file mode 100644
index 000000000000..35c786490bdc
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/email_preferences_service_rest_client_config.php
@@ -0,0 +1,56 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.EmailPreferencesService' => [
+ 'GetEmailPreferences' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/users/*/emailPreferences}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateEmailPreferences' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/accounts/v1beta/{email_preferences.name=accounts/*/users/*/emailPreferences}',
+ 'body' => 'email_preferences',
+ 'placeholders' => [
+ 'email_preferences.name' => [
+ 'getters' => [
+ 'getEmailPreferences',
+ 'getName',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'update_mask',
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/homepage_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/homepage_service_client_config.json
new file mode 100644
index 000000000000..67db0d9e5305
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/homepage_service_client_config.json
@@ -0,0 +1,54 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.HomepageService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "ClaimHomepage": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetHomepage": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UnclaimHomepage": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateHomepage": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/homepage_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/homepage_service_descriptor_config.php
new file mode 100644
index 000000000000..5a7e6763906a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/homepage_service_descriptor_config.php
@@ -0,0 +1,80 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.HomepageService' => [
+ 'ClaimHomepage' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Homepage',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetHomepage' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Homepage',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UnclaimHomepage' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Homepage',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateHomepage' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Homepage',
+ 'headerParams' => [
+ [
+ 'keyName' => 'homepage.name',
+ 'fieldAccessors' => [
+ 'getHomepage',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'homepage' => 'accounts/{account}/homepage',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/homepage_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/homepage_service_rest_client_config.php
new file mode 100644
index 000000000000..24173fa32872
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/homepage_service_rest_client_config.php
@@ -0,0 +1,80 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.HomepageService' => [
+ 'ClaimHomepage' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/homepage}:claim',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetHomepage' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/homepage}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UnclaimHomepage' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/homepage}:unclaim',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateHomepage' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/accounts/v1beta/{homepage.name=accounts/*/homepage}',
+ 'body' => 'homepage',
+ 'placeholders' => [
+ 'homepage.name' => [
+ 'getters' => [
+ 'getHomepage',
+ 'getName',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'update_mask',
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/online_return_policy_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/online_return_policy_service_client_config.json
new file mode 100644
index 000000000000..61c27356e30c
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/online_return_policy_service_client_config.json
@@ -0,0 +1,44 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.OnlineReturnPolicyService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "GetOnlineReturnPolicy": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListOnlineReturnPolicies": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/online_return_policy_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/online_return_policy_service_descriptor_config.php
new file mode 100644
index 000000000000..b82d66f35905
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/online_return_policy_service_descriptor_config.php
@@ -0,0 +1,64 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.OnlineReturnPolicyService' => [
+ 'GetOnlineReturnPolicy' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\OnlineReturnPolicy',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOnlineReturnPolicies' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getOnlineReturnPolicies',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ListOnlineReturnPoliciesResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'account' => 'accounts/{account}',
+ 'onlineReturnPolicy' => 'accounts/{account}/onlineReturnPolicies/{return_policy}',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/online_return_policy_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/online_return_policy_service_rest_client_config.php
new file mode 100644
index 000000000000..4c2860272263
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/online_return_policy_service_rest_client_config.php
@@ -0,0 +1,51 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.OnlineReturnPolicyService' => [
+ 'GetOnlineReturnPolicy' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/onlineReturnPolicies/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListOnlineReturnPolicies' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/onlineReturnPolicies',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/programs_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/programs_service_client_config.json
new file mode 100644
index 000000000000..ee1a33d26cb7
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/programs_service_client_config.json
@@ -0,0 +1,54 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.ProgramsService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "DisableProgram": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "EnableProgram": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetProgram": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListPrograms": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/programs_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/programs_service_descriptor_config.php
new file mode 100644
index 000000000000..1ece7290be08
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/programs_service_descriptor_config.php
@@ -0,0 +1,88 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.ProgramsService' => [
+ 'DisableProgram' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Program',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'EnableProgram' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Program',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetProgram' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Program',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListPrograms' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getPrograms',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ListProgramsResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'account' => 'accounts/{account}',
+ 'program' => 'accounts/{account}/programs/{program}',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/programs_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/programs_service_rest_client_config.php
new file mode 100644
index 000000000000..093de7ce37c4
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/programs_service_rest_client_config.php
@@ -0,0 +1,75 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.ProgramsService' => [
+ 'DisableProgram' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/programs/*}:disable',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'EnableProgram' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/programs/*}:enable',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetProgram' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/programs/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListPrograms' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/programs',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/regions_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/regions_service_client_config.json
new file mode 100644
index 000000000000..992ab1745932
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/regions_service_client_config.json
@@ -0,0 +1,59 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.RegionsService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "CreateRegion": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "DeleteRegion": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetRegion": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListRegions": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateRegion": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/regions_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/regions_service_descriptor_config.php
new file mode 100644
index 000000000000..dacc16d45460
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/regions_service_descriptor_config.php
@@ -0,0 +1,101 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.RegionsService' => [
+ 'CreateRegion' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Region',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteRegion' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Protobuf\GPBEmpty',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetRegion' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Region',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListRegions' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getRegions',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ListRegionsResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateRegion' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\Region',
+ 'headerParams' => [
+ [
+ 'keyName' => 'region.name',
+ 'fieldAccessors' => [
+ 'getRegion',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'account' => 'accounts/{account}',
+ 'region' => 'accounts/{account}/regions/{region}',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/regions_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/regions_service_rest_client_config.php
new file mode 100644
index 000000000000..261a2845bf91
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/regions_service_rest_client_config.php
@@ -0,0 +1,90 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.RegionsService' => [
+ 'CreateRegion' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/regions',
+ 'body' => 'region',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'region_id',
+ ],
+ ],
+ 'DeleteRegion' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/regions/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetRegion' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/regions/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListRegions' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/regions',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateRegion' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/accounts/v1beta/{region.name=accounts/*/regions/*}',
+ 'body' => 'region',
+ 'placeholders' => [
+ 'region.name' => [
+ 'getters' => [
+ 'getRegion',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/shipping_settings_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/shipping_settings_service_client_config.json
new file mode 100644
index 000000000000..ce62836950ac
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/shipping_settings_service_client_config.json
@@ -0,0 +1,32 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.ShippingSettingsService": {
+ "retry_codes": {
+ "no_retry_codes": []
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ }
+ },
+ "methods": {
+ "GetShippingSettings": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_codes",
+ "retry_params_name": "no_retry_params"
+ },
+ "InsertShippingSettings": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_codes",
+ "retry_params_name": "no_retry_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/shipping_settings_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/shipping_settings_service_descriptor_config.php
new file mode 100644
index 000000000000..be89341d2681
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/shipping_settings_service_descriptor_config.php
@@ -0,0 +1,55 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.ShippingSettingsService' => [
+ 'GetShippingSettings' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ShippingSettings',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'InsertShippingSettings' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ShippingSettings',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'shippingSettings' => 'accounts/{account}/shippingSettings',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/shipping_settings_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/shipping_settings_service_rest_client_config.php
new file mode 100644
index 000000000000..142b0fa02ecb
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/shipping_settings_service_rest_client_config.php
@@ -0,0 +1,52 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.ShippingSettingsService' => [
+ 'GetShippingSettings' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/shippingSettings}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'InsertShippingSettings' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/shippingSettings:insert',
+ 'body' => 'shipping_setting',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_agreement_state_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_agreement_state_service_client_config.json
new file mode 100644
index 000000000000..9d01f5ac5519
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_agreement_state_service_client_config.json
@@ -0,0 +1,44 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.TermsOfServiceAgreementStateService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "GetTermsOfServiceAgreementState": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "RetrieveForApplicationTermsOfServiceAgreementState": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_agreement_state_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_agreement_state_service_descriptor_config.php
new file mode 100644
index 000000000000..88c5a9ff8f43
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_agreement_state_service_descriptor_config.php
@@ -0,0 +1,56 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.TermsOfServiceAgreementStateService' => [
+ 'GetTermsOfServiceAgreementState' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\TermsOfServiceAgreementState',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'RetrieveForApplicationTermsOfServiceAgreementState' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\TermsOfServiceAgreementState',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'account' => 'accounts/{account}',
+ 'termsOfServiceAgreementState' => 'accounts/{account}/termsOfServiceAgreementStates/{identifier}',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_agreement_state_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_agreement_state_service_rest_client_config.php
new file mode 100644
index 000000000000..6f21dae29908
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_agreement_state_service_rest_client_config.php
@@ -0,0 +1,51 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.TermsOfServiceAgreementStateService' => [
+ 'GetTermsOfServiceAgreementState' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/termsOfServiceAgreementStates/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'RetrieveForApplicationTermsOfServiceAgreementState' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/termsOfServiceAgreementStates:retrieveForApplication',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_service_client_config.json
new file mode 100644
index 000000000000..8f26657e4ca9
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_service_client_config.json
@@ -0,0 +1,49 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.TermsOfServiceService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "AcceptTermsOfService": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetTermsOfService": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "RetrieveLatestTermsOfService": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_service_descriptor_config.php
new file mode 100644
index 000000000000..a5856be1bfdd
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_service_descriptor_config.php
@@ -0,0 +1,60 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.TermsOfServiceService' => [
+ 'AcceptTermsOfService' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Protobuf\GPBEmpty',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetTermsOfService' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\TermsOfService',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'RetrieveLatestTermsOfService' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\TermsOfService',
+ ],
+ 'templateMap' => [
+ 'account' => 'accounts/{account}',
+ 'termsOfService' => 'termsOfService/{version}',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_service_rest_client_config.php
new file mode 100644
index 000000000000..4a489030f6d1
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/terms_of_service_service_rest_client_config.php
@@ -0,0 +1,55 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.TermsOfServiceService' => [
+ 'AcceptTermsOfService' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=termsOfService/*}:accept',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetTermsOfService' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=termsOfService/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'RetrieveLatestTermsOfService' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/termsOfService:retrieveLatest',
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/user_service_client_config.json b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/user_service_client_config.json
new file mode 100644
index 000000000000..2942f598a684
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/user_service_client_config.json
@@ -0,0 +1,59 @@
+{
+ "interfaces": {
+ "google.shopping.merchant.accounts.v1beta.UserService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "CreateUser": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "DeleteUser": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetUser": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListUsers": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateUser": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/user_service_descriptor_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/user_service_descriptor_config.php
new file mode 100644
index 000000000000..8b50a366a6d2
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/user_service_descriptor_config.php
@@ -0,0 +1,101 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.UserService' => [
+ 'CreateUser' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\User',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'DeleteUser' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Protobuf\GPBEmpty',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetUser' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\User',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListUsers' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getUsers',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\ListUsersResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateUser' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Shopping\Merchant\Accounts\V1beta\User',
+ 'headerParams' => [
+ [
+ 'keyName' => 'user.name',
+ 'fieldAccessors' => [
+ 'getUser',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'account' => 'accounts/{account}',
+ 'user' => 'accounts/{account}/users/{email}',
+ ],
+ ],
+ ],
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/user_service_rest_client_config.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/user_service_rest_client_config.php
new file mode 100644
index 000000000000..34a4c397cdd1
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/src/V1beta/resources/user_service_rest_client_config.php
@@ -0,0 +1,93 @@
+ [
+ 'google.shopping.merchant.accounts.v1beta.UserService' => [
+ 'CreateUser' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/users',
+ 'body' => 'user',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'user_id',
+ ],
+ ],
+ 'DeleteUser' => [
+ 'method' => 'delete',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/users/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetUser' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{name=accounts/*/users/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListUsers' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/accounts/v1beta/{parent=accounts/*}/users',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateUser' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/accounts/v1beta/{user.name=accounts/*/users/*}',
+ 'body' => 'user',
+ 'placeholders' => [
+ 'user.name' => [
+ 'getters' => [
+ 'getUser',
+ 'getName',
+ ],
+ ],
+ ],
+ 'queryParams' => [
+ 'update_mask',
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AccountIssueServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AccountIssueServiceClientTest.php
new file mode 100644
index 000000000000..37c15346b5ac
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AccountIssueServiceClientTest.php
@@ -0,0 +1,172 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return AccountIssueServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new AccountIssueServiceClient($options);
+ }
+
+ /** @test */
+ public function listAccountIssuesTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $accountIssuesElement = new AccountIssue();
+ $accountIssues = [
+ $accountIssuesElement,
+ ];
+ $expectedResponse = new ListAccountIssuesResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setAccountIssues($accountIssues);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListAccountIssuesRequest())
+ ->setParent($formattedParent);
+ $response = $gapicClient->listAccountIssues($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getAccountIssues()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountIssueService/ListAccountIssues', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listAccountIssuesExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListAccountIssuesRequest())
+ ->setParent($formattedParent);
+ try {
+ $gapicClient->listAccountIssues($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listAccountIssuesAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $accountIssuesElement = new AccountIssue();
+ $accountIssues = [
+ $accountIssuesElement,
+ ];
+ $expectedResponse = new ListAccountIssuesResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setAccountIssues($accountIssues);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListAccountIssuesRequest())
+ ->setParent($formattedParent);
+ $response = $gapicClient->listAccountIssuesAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getAccountIssues()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountIssueService/ListAccountIssues', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AccountTaxServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AccountTaxServiceClientTest.php
new file mode 100644
index 000000000000..197215258936
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AccountTaxServiceClientTest.php
@@ -0,0 +1,300 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return AccountTaxServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new AccountTaxServiceClient($options);
+ }
+
+ /** @test */
+ public function getAccountTaxTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $account = 1177318867;
+ $expectedResponse = new AccountTax();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setAccount($account);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->accountTaxName('[ACCOUNT]', '[TAX]');
+ $request = (new GetAccountTaxRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getAccountTax($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountTaxService/GetAccountTax', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getAccountTaxExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->accountTaxName('[ACCOUNT]', '[TAX]');
+ $request = (new GetAccountTaxRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getAccountTax($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listAccountTaxTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $accountTaxesElement = new AccountTax();
+ $accountTaxes = [
+ $accountTaxesElement,
+ ];
+ $expectedResponse = new ListAccountTaxResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setAccountTaxes($accountTaxes);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListAccountTaxRequest())
+ ->setParent($formattedParent);
+ $response = $gapicClient->listAccountTax($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getAccountTaxes()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountTaxService/ListAccountTax', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listAccountTaxExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListAccountTaxRequest())
+ ->setParent($formattedParent);
+ try {
+ $gapicClient->listAccountTax($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateAccountTaxTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $account = 1177318867;
+ $expectedResponse = new AccountTax();
+ $expectedResponse->setName($name);
+ $expectedResponse->setAccount($account);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $accountTax = new AccountTax();
+ $request = (new UpdateAccountTaxRequest())
+ ->setAccountTax($accountTax);
+ $response = $gapicClient->updateAccountTax($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountTaxService/UpdateAccountTax', $actualFuncCall);
+ $actualValue = $actualRequestObject->getAccountTax();
+ $this->assertProtobufEquals($accountTax, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateAccountTaxExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $accountTax = new AccountTax();
+ $request = (new UpdateAccountTaxRequest())
+ ->setAccountTax($accountTax);
+ try {
+ $gapicClient->updateAccountTax($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getAccountTaxAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $account = 1177318867;
+ $expectedResponse = new AccountTax();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setAccount($account);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->accountTaxName('[ACCOUNT]', '[TAX]');
+ $request = (new GetAccountTaxRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getAccountTaxAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountTaxService/GetAccountTax', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AccountsServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AccountsServiceClientTest.php
new file mode 100644
index 000000000000..a8d16433a02a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AccountsServiceClientTest.php
@@ -0,0 +1,576 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return AccountsServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new AccountsServiceClient($options);
+ }
+
+ /** @test */
+ public function createAndConfigureAccountTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $accountId = 803333011;
+ $accountName = 'accountName1091239261';
+ $adultContent = true;
+ $testAccount = true;
+ $languageCode = 'languageCode-412800396';
+ $expectedResponse = new Account();
+ $expectedResponse->setName($name);
+ $expectedResponse->setAccountId($accountId);
+ $expectedResponse->setAccountName($accountName);
+ $expectedResponse->setAdultContent($adultContent);
+ $expectedResponse->setTestAccount($testAccount);
+ $expectedResponse->setLanguageCode($languageCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $account = new Account();
+ $accountAccountName = 'accountAccountName-1464628757';
+ $account->setAccountName($accountAccountName);
+ $accountTimeZone = new TimeZone();
+ $account->setTimeZone($accountTimeZone);
+ $accountLanguageCode = 'accountLanguageCode-1326363598';
+ $account->setLanguageCode($accountLanguageCode);
+ $service = [];
+ $request = (new CreateAndConfigureAccountRequest())
+ ->setAccount($account)
+ ->setService($service);
+ $response = $gapicClient->createAndConfigureAccount($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountsService/CreateAndConfigureAccount', $actualFuncCall);
+ $actualValue = $actualRequestObject->getAccount();
+ $this->assertProtobufEquals($account, $actualValue);
+ $actualValue = $actualRequestObject->getService();
+ $this->assertProtobufEquals($service, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function createAndConfigureAccountExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $account = new Account();
+ $accountAccountName = 'accountAccountName-1464628757';
+ $account->setAccountName($accountAccountName);
+ $accountTimeZone = new TimeZone();
+ $account->setTimeZone($accountTimeZone);
+ $accountLanguageCode = 'accountLanguageCode-1326363598';
+ $account->setLanguageCode($accountLanguageCode);
+ $service = [];
+ $request = (new CreateAndConfigureAccountRequest())
+ ->setAccount($account)
+ ->setService($service);
+ try {
+ $gapicClient->createAndConfigureAccount($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function deleteAccountTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $expectedResponse = new GPBEmpty();
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new DeleteAccountRequest())
+ ->setName($formattedName);
+ $gapicClient->deleteAccount($request);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountsService/DeleteAccount', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function deleteAccountExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new DeleteAccountRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->deleteAccount($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getAccountTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $accountId = 803333011;
+ $accountName = 'accountName1091239261';
+ $adultContent = true;
+ $testAccount = true;
+ $languageCode = 'languageCode-412800396';
+ $expectedResponse = new Account();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setAccountId($accountId);
+ $expectedResponse->setAccountName($accountName);
+ $expectedResponse->setAdultContent($adultContent);
+ $expectedResponse->setTestAccount($testAccount);
+ $expectedResponse->setLanguageCode($languageCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new GetAccountRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getAccount($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountsService/GetAccount', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getAccountExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new GetAccountRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getAccount($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listAccountsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $accountsElement = new Account();
+ $accounts = [
+ $accountsElement,
+ ];
+ $expectedResponse = new ListAccountsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setAccounts($accounts);
+ $transport->addResponse($expectedResponse);
+ $request = new ListAccountsRequest();
+ $response = $gapicClient->listAccounts($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getAccounts()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountsService/ListAccounts', $actualFuncCall);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listAccountsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ $request = new ListAccountsRequest();
+ try {
+ $gapicClient->listAccounts($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listSubAccountsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $accountsElement = new Account();
+ $accounts = [
+ $accountsElement,
+ ];
+ $expectedResponse = new ListSubAccountsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setAccounts($accounts);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedProvider = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListSubAccountsRequest())
+ ->setProvider($formattedProvider);
+ $response = $gapicClient->listSubAccounts($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getAccounts()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountsService/ListSubAccounts', $actualFuncCall);
+ $actualValue = $actualRequestObject->getProvider();
+ $this->assertProtobufEquals($formattedProvider, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listSubAccountsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedProvider = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListSubAccountsRequest())
+ ->setProvider($formattedProvider);
+ try {
+ $gapicClient->listSubAccounts($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateAccountTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $accountId = 803333011;
+ $accountName = 'accountName1091239261';
+ $adultContent = true;
+ $testAccount = true;
+ $languageCode = 'languageCode-412800396';
+ $expectedResponse = new Account();
+ $expectedResponse->setName($name);
+ $expectedResponse->setAccountId($accountId);
+ $expectedResponse->setAccountName($accountName);
+ $expectedResponse->setAdultContent($adultContent);
+ $expectedResponse->setTestAccount($testAccount);
+ $expectedResponse->setLanguageCode($languageCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $account = new Account();
+ $accountAccountName = 'accountAccountName-1464628757';
+ $account->setAccountName($accountAccountName);
+ $accountTimeZone = new TimeZone();
+ $account->setTimeZone($accountTimeZone);
+ $accountLanguageCode = 'accountLanguageCode-1326363598';
+ $account->setLanguageCode($accountLanguageCode);
+ $updateMask = new FieldMask();
+ $request = (new UpdateAccountRequest())
+ ->setAccount($account)
+ ->setUpdateMask($updateMask);
+ $response = $gapicClient->updateAccount($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountsService/UpdateAccount', $actualFuncCall);
+ $actualValue = $actualRequestObject->getAccount();
+ $this->assertProtobufEquals($account, $actualValue);
+ $actualValue = $actualRequestObject->getUpdateMask();
+ $this->assertProtobufEquals($updateMask, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateAccountExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $account = new Account();
+ $accountAccountName = 'accountAccountName-1464628757';
+ $account->setAccountName($accountAccountName);
+ $accountTimeZone = new TimeZone();
+ $account->setTimeZone($accountTimeZone);
+ $accountLanguageCode = 'accountLanguageCode-1326363598';
+ $account->setLanguageCode($accountLanguageCode);
+ $updateMask = new FieldMask();
+ $request = (new UpdateAccountRequest())
+ ->setAccount($account)
+ ->setUpdateMask($updateMask);
+ try {
+ $gapicClient->updateAccount($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function createAndConfigureAccountAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $accountId = 803333011;
+ $accountName = 'accountName1091239261';
+ $adultContent = true;
+ $testAccount = true;
+ $languageCode = 'languageCode-412800396';
+ $expectedResponse = new Account();
+ $expectedResponse->setName($name);
+ $expectedResponse->setAccountId($accountId);
+ $expectedResponse->setAccountName($accountName);
+ $expectedResponse->setAdultContent($adultContent);
+ $expectedResponse->setTestAccount($testAccount);
+ $expectedResponse->setLanguageCode($languageCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $account = new Account();
+ $accountAccountName = 'accountAccountName-1464628757';
+ $account->setAccountName($accountAccountName);
+ $accountTimeZone = new TimeZone();
+ $account->setTimeZone($accountTimeZone);
+ $accountLanguageCode = 'accountLanguageCode-1326363598';
+ $account->setLanguageCode($accountLanguageCode);
+ $service = [];
+ $request = (new CreateAndConfigureAccountRequest())
+ ->setAccount($account)
+ ->setService($service);
+ $response = $gapicClient->createAndConfigureAccountAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AccountsService/CreateAndConfigureAccount', $actualFuncCall);
+ $actualValue = $actualRequestObject->getAccount();
+ $this->assertProtobufEquals($account, $actualValue);
+ $actualValue = $actualRequestObject->getService();
+ $this->assertProtobufEquals($service, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AutofeedSettingsServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AutofeedSettingsServiceClientTest.php
new file mode 100644
index 000000000000..b23008d1dc1a
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/AutofeedSettingsServiceClientTest.php
@@ -0,0 +1,243 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return AutofeedSettingsServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new AutofeedSettingsServiceClient($options);
+ }
+
+ /** @test */
+ public function getAutofeedSettingsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $enableProducts = true;
+ $eligible = false;
+ $expectedResponse = new AutofeedSettings();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setEnableProducts($enableProducts);
+ $expectedResponse->setEligible($eligible);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->autofeedSettingsName('[ACCOUNT]');
+ $request = (new GetAutofeedSettingsRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getAutofeedSettings($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AutofeedSettingsService/GetAutofeedSettings', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getAutofeedSettingsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->autofeedSettingsName('[ACCOUNT]');
+ $request = (new GetAutofeedSettingsRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getAutofeedSettings($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateAutofeedSettingsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $enableProducts = true;
+ $eligible = false;
+ $expectedResponse = new AutofeedSettings();
+ $expectedResponse->setName($name);
+ $expectedResponse->setEnableProducts($enableProducts);
+ $expectedResponse->setEligible($eligible);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $autofeedSettings = new AutofeedSettings();
+ $autofeedSettingsEnableProducts = false;
+ $autofeedSettings->setEnableProducts($autofeedSettingsEnableProducts);
+ $updateMask = new FieldMask();
+ $request = (new UpdateAutofeedSettingsRequest())
+ ->setAutofeedSettings($autofeedSettings)
+ ->setUpdateMask($updateMask);
+ $response = $gapicClient->updateAutofeedSettings($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AutofeedSettingsService/UpdateAutofeedSettings', $actualFuncCall);
+ $actualValue = $actualRequestObject->getAutofeedSettings();
+ $this->assertProtobufEquals($autofeedSettings, $actualValue);
+ $actualValue = $actualRequestObject->getUpdateMask();
+ $this->assertProtobufEquals($updateMask, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateAutofeedSettingsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $autofeedSettings = new AutofeedSettings();
+ $autofeedSettingsEnableProducts = false;
+ $autofeedSettings->setEnableProducts($autofeedSettingsEnableProducts);
+ $updateMask = new FieldMask();
+ $request = (new UpdateAutofeedSettingsRequest())
+ ->setAutofeedSettings($autofeedSettings)
+ ->setUpdateMask($updateMask);
+ try {
+ $gapicClient->updateAutofeedSettings($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getAutofeedSettingsAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $enableProducts = true;
+ $eligible = false;
+ $expectedResponse = new AutofeedSettings();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setEnableProducts($enableProducts);
+ $expectedResponse->setEligible($eligible);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->autofeedSettingsName('[ACCOUNT]');
+ $request = (new GetAutofeedSettingsRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getAutofeedSettingsAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.AutofeedSettingsService/GetAutofeedSettings', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/BusinessIdentityServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/BusinessIdentityServiceClientTest.php
new file mode 100644
index 000000000000..1836b1258536
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/BusinessIdentityServiceClientTest.php
@@ -0,0 +1,227 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return BusinessIdentityServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new BusinessIdentityServiceClient($options);
+ }
+
+ /** @test */
+ public function getBusinessIdentityTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $expectedResponse = new BusinessIdentity();
+ $expectedResponse->setName($name2);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->businessIdentityName('[ACCOUNT]');
+ $request = (new GetBusinessIdentityRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getBusinessIdentity($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.BusinessIdentityService/GetBusinessIdentity', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getBusinessIdentityExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->businessIdentityName('[ACCOUNT]');
+ $request = (new GetBusinessIdentityRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getBusinessIdentity($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateBusinessIdentityTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $expectedResponse = new BusinessIdentity();
+ $expectedResponse->setName($name);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $businessIdentity = new BusinessIdentity();
+ $updateMask = new FieldMask();
+ $request = (new UpdateBusinessIdentityRequest())
+ ->setBusinessIdentity($businessIdentity)
+ ->setUpdateMask($updateMask);
+ $response = $gapicClient->updateBusinessIdentity($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.BusinessIdentityService/UpdateBusinessIdentity', $actualFuncCall);
+ $actualValue = $actualRequestObject->getBusinessIdentity();
+ $this->assertProtobufEquals($businessIdentity, $actualValue);
+ $actualValue = $actualRequestObject->getUpdateMask();
+ $this->assertProtobufEquals($updateMask, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateBusinessIdentityExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $businessIdentity = new BusinessIdentity();
+ $updateMask = new FieldMask();
+ $request = (new UpdateBusinessIdentityRequest())
+ ->setBusinessIdentity($businessIdentity)
+ ->setUpdateMask($updateMask);
+ try {
+ $gapicClient->updateBusinessIdentity($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getBusinessIdentityAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $expectedResponse = new BusinessIdentity();
+ $expectedResponse->setName($name2);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->businessIdentityName('[ACCOUNT]');
+ $request = (new GetBusinessIdentityRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getBusinessIdentityAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.BusinessIdentityService/GetBusinessIdentity', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/BusinessInfoServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/BusinessInfoServiceClientTest.php
new file mode 100644
index 000000000000..a7ae62ef9fd3
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/BusinessInfoServiceClientTest.php
@@ -0,0 +1,233 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return BusinessInfoServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new BusinessInfoServiceClient($options);
+ }
+
+ /** @test */
+ public function getBusinessInfoTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $koreanBusinessRegistrationNumber = 'koreanBusinessRegistrationNumber-1016868885';
+ $expectedResponse = new BusinessInfo();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setKoreanBusinessRegistrationNumber($koreanBusinessRegistrationNumber);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->businessInfoName('[ACCOUNT]');
+ $request = (new GetBusinessInfoRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getBusinessInfo($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.BusinessInfoService/GetBusinessInfo', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getBusinessInfoExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->businessInfoName('[ACCOUNT]');
+ $request = (new GetBusinessInfoRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getBusinessInfo($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateBusinessInfoTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $koreanBusinessRegistrationNumber = 'koreanBusinessRegistrationNumber-1016868885';
+ $expectedResponse = new BusinessInfo();
+ $expectedResponse->setName($name);
+ $expectedResponse->setKoreanBusinessRegistrationNumber($koreanBusinessRegistrationNumber);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $businessInfo = new BusinessInfo();
+ $updateMask = new FieldMask();
+ $request = (new UpdateBusinessInfoRequest())
+ ->setBusinessInfo($businessInfo)
+ ->setUpdateMask($updateMask);
+ $response = $gapicClient->updateBusinessInfo($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.BusinessInfoService/UpdateBusinessInfo', $actualFuncCall);
+ $actualValue = $actualRequestObject->getBusinessInfo();
+ $this->assertProtobufEquals($businessInfo, $actualValue);
+ $actualValue = $actualRequestObject->getUpdateMask();
+ $this->assertProtobufEquals($updateMask, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateBusinessInfoExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $businessInfo = new BusinessInfo();
+ $updateMask = new FieldMask();
+ $request = (new UpdateBusinessInfoRequest())
+ ->setBusinessInfo($businessInfo)
+ ->setUpdateMask($updateMask);
+ try {
+ $gapicClient->updateBusinessInfo($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getBusinessInfoAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $koreanBusinessRegistrationNumber = 'koreanBusinessRegistrationNumber-1016868885';
+ $expectedResponse = new BusinessInfo();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setKoreanBusinessRegistrationNumber($koreanBusinessRegistrationNumber);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->businessInfoName('[ACCOUNT]');
+ $request = (new GetBusinessInfoRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getBusinessInfoAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.BusinessInfoService/GetBusinessInfo', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/EmailPreferencesServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/EmailPreferencesServiceClientTest.php
new file mode 100644
index 000000000000..b63b29defa84
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/EmailPreferencesServiceClientTest.php
@@ -0,0 +1,227 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return EmailPreferencesServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new EmailPreferencesServiceClient($options);
+ }
+
+ /** @test */
+ public function getEmailPreferencesTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $expectedResponse = new EmailPreferences();
+ $expectedResponse->setName($name2);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->emailPreferencesName('[ACCOUNT]', '[EMAIL]');
+ $request = (new GetEmailPreferencesRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getEmailPreferences($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.EmailPreferencesService/GetEmailPreferences', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getEmailPreferencesExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->emailPreferencesName('[ACCOUNT]', '[EMAIL]');
+ $request = (new GetEmailPreferencesRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getEmailPreferences($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateEmailPreferencesTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $expectedResponse = new EmailPreferences();
+ $expectedResponse->setName($name);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $emailPreferences = new EmailPreferences();
+ $updateMask = new FieldMask();
+ $request = (new UpdateEmailPreferencesRequest())
+ ->setEmailPreferences($emailPreferences)
+ ->setUpdateMask($updateMask);
+ $response = $gapicClient->updateEmailPreferences($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.EmailPreferencesService/UpdateEmailPreferences', $actualFuncCall);
+ $actualValue = $actualRequestObject->getEmailPreferences();
+ $this->assertProtobufEquals($emailPreferences, $actualValue);
+ $actualValue = $actualRequestObject->getUpdateMask();
+ $this->assertProtobufEquals($updateMask, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateEmailPreferencesExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $emailPreferences = new EmailPreferences();
+ $updateMask = new FieldMask();
+ $request = (new UpdateEmailPreferencesRequest())
+ ->setEmailPreferences($emailPreferences)
+ ->setUpdateMask($updateMask);
+ try {
+ $gapicClient->updateEmailPreferences($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getEmailPreferencesAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $expectedResponse = new EmailPreferences();
+ $expectedResponse->setName($name2);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->emailPreferencesName('[ACCOUNT]', '[EMAIL]');
+ $request = (new GetEmailPreferencesRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getEmailPreferencesAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.EmailPreferencesService/GetEmailPreferences', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/HomepageServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/HomepageServiceClientTest.php
new file mode 100644
index 000000000000..b69fca6292d7
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/HomepageServiceClientTest.php
@@ -0,0 +1,381 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return HomepageServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new HomepageServiceClient($options);
+ }
+
+ /** @test */
+ public function claimHomepageTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $uri = 'uri116076';
+ $claimed = false;
+ $expectedResponse = new Homepage();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setUri($uri);
+ $expectedResponse->setClaimed($claimed);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->homepageName('[ACCOUNT]');
+ $request = (new ClaimHomepageRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->claimHomepage($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.HomepageService/ClaimHomepage', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function claimHomepageExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->homepageName('[ACCOUNT]');
+ $request = (new ClaimHomepageRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->claimHomepage($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getHomepageTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $uri = 'uri116076';
+ $claimed = false;
+ $expectedResponse = new Homepage();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setUri($uri);
+ $expectedResponse->setClaimed($claimed);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->homepageName('[ACCOUNT]');
+ $request = (new GetHomepageRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getHomepage($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.HomepageService/GetHomepage', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getHomepageExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->homepageName('[ACCOUNT]');
+ $request = (new GetHomepageRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getHomepage($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function unclaimHomepageTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $uri = 'uri116076';
+ $claimed = false;
+ $expectedResponse = new Homepage();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setUri($uri);
+ $expectedResponse->setClaimed($claimed);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->homepageName('[ACCOUNT]');
+ $request = (new UnclaimHomepageRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->unclaimHomepage($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.HomepageService/UnclaimHomepage', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function unclaimHomepageExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->homepageName('[ACCOUNT]');
+ $request = (new UnclaimHomepageRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->unclaimHomepage($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateHomepageTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $uri = 'uri116076';
+ $claimed = false;
+ $expectedResponse = new Homepage();
+ $expectedResponse->setName($name);
+ $expectedResponse->setUri($uri);
+ $expectedResponse->setClaimed($claimed);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $homepage = new Homepage();
+ $homepageUri = 'homepageUri1440042654';
+ $homepage->setUri($homepageUri);
+ $updateMask = new FieldMask();
+ $request = (new UpdateHomepageRequest())
+ ->setHomepage($homepage)
+ ->setUpdateMask($updateMask);
+ $response = $gapicClient->updateHomepage($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.HomepageService/UpdateHomepage', $actualFuncCall);
+ $actualValue = $actualRequestObject->getHomepage();
+ $this->assertProtobufEquals($homepage, $actualValue);
+ $actualValue = $actualRequestObject->getUpdateMask();
+ $this->assertProtobufEquals($updateMask, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateHomepageExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $homepage = new Homepage();
+ $homepageUri = 'homepageUri1440042654';
+ $homepage->setUri($homepageUri);
+ $updateMask = new FieldMask();
+ $request = (new UpdateHomepageRequest())
+ ->setHomepage($homepage)
+ ->setUpdateMask($updateMask);
+ try {
+ $gapicClient->updateHomepage($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function claimHomepageAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $uri = 'uri116076';
+ $claimed = false;
+ $expectedResponse = new Homepage();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setUri($uri);
+ $expectedResponse->setClaimed($claimed);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->homepageName('[ACCOUNT]');
+ $request = (new ClaimHomepageRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->claimHomepageAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.HomepageService/ClaimHomepage', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/OnlineReturnPolicyServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/OnlineReturnPolicyServiceClientTest.php
new file mode 100644
index 000000000000..3227a1333568
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/OnlineReturnPolicyServiceClientTest.php
@@ -0,0 +1,253 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return OnlineReturnPolicyServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new OnlineReturnPolicyServiceClient($options);
+ }
+
+ /** @test */
+ public function getOnlineReturnPolicyTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $returnPolicyId = 'returnPolicyId1108665081';
+ $label = 'label102727412';
+ $returnPolicyUri = 'returnPolicyUri8891214';
+ $acceptDefectiveOnly = false;
+ $processRefundDays = 1233584878;
+ $acceptExchange = true;
+ $expectedResponse = new OnlineReturnPolicy();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setReturnPolicyId($returnPolicyId);
+ $expectedResponse->setLabel($label);
+ $expectedResponse->setReturnPolicyUri($returnPolicyUri);
+ $expectedResponse->setAcceptDefectiveOnly($acceptDefectiveOnly);
+ $expectedResponse->setProcessRefundDays($processRefundDays);
+ $expectedResponse->setAcceptExchange($acceptExchange);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->onlineReturnPolicyName('[ACCOUNT]', '[RETURN_POLICY]');
+ $request = (new GetOnlineReturnPolicyRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getOnlineReturnPolicy($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.OnlineReturnPolicyService/GetOnlineReturnPolicy', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getOnlineReturnPolicyExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->onlineReturnPolicyName('[ACCOUNT]', '[RETURN_POLICY]');
+ $request = (new GetOnlineReturnPolicyRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getOnlineReturnPolicy($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listOnlineReturnPoliciesTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $onlineReturnPoliciesElement = new OnlineReturnPolicy();
+ $onlineReturnPolicies = [
+ $onlineReturnPoliciesElement,
+ ];
+ $expectedResponse = new ListOnlineReturnPoliciesResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setOnlineReturnPolicies($onlineReturnPolicies);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListOnlineReturnPoliciesRequest())
+ ->setParent($formattedParent);
+ $response = $gapicClient->listOnlineReturnPolicies($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getOnlineReturnPolicies()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.OnlineReturnPolicyService/ListOnlineReturnPolicies', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listOnlineReturnPoliciesExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListOnlineReturnPoliciesRequest())
+ ->setParent($formattedParent);
+ try {
+ $gapicClient->listOnlineReturnPolicies($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getOnlineReturnPolicyAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $returnPolicyId = 'returnPolicyId1108665081';
+ $label = 'label102727412';
+ $returnPolicyUri = 'returnPolicyUri8891214';
+ $acceptDefectiveOnly = false;
+ $processRefundDays = 1233584878;
+ $acceptExchange = true;
+ $expectedResponse = new OnlineReturnPolicy();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setReturnPolicyId($returnPolicyId);
+ $expectedResponse->setLabel($label);
+ $expectedResponse->setReturnPolicyUri($returnPolicyUri);
+ $expectedResponse->setAcceptDefectiveOnly($acceptDefectiveOnly);
+ $expectedResponse->setProcessRefundDays($processRefundDays);
+ $expectedResponse->setAcceptExchange($acceptExchange);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->onlineReturnPolicyName('[ACCOUNT]', '[RETURN_POLICY]');
+ $request = (new GetOnlineReturnPolicyRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getOnlineReturnPolicyAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.OnlineReturnPolicyService/GetOnlineReturnPolicy', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/ProgramsServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/ProgramsServiceClientTest.php
new file mode 100644
index 000000000000..dde43e146b48
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/ProgramsServiceClientTest.php
@@ -0,0 +1,367 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return ProgramsServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new ProgramsServiceClient($options);
+ }
+
+ /** @test */
+ public function disableProgramTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $documentationUri = 'documentationUri1128720999';
+ $expectedResponse = new Program();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setDocumentationUri($documentationUri);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->programName('[ACCOUNT]', '[PROGRAM]');
+ $request = (new DisableProgramRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->disableProgram($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.ProgramsService/DisableProgram', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function disableProgramExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->programName('[ACCOUNT]', '[PROGRAM]');
+ $request = (new DisableProgramRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->disableProgram($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function enableProgramTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $documentationUri = 'documentationUri1128720999';
+ $expectedResponse = new Program();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setDocumentationUri($documentationUri);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->programName('[ACCOUNT]', '[PROGRAM]');
+ $request = (new EnableProgramRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->enableProgram($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.ProgramsService/EnableProgram', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function enableProgramExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->programName('[ACCOUNT]', '[PROGRAM]');
+ $request = (new EnableProgramRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->enableProgram($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getProgramTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $documentationUri = 'documentationUri1128720999';
+ $expectedResponse = new Program();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setDocumentationUri($documentationUri);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->programName('[ACCOUNT]', '[PROGRAM]');
+ $request = (new GetProgramRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getProgram($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.ProgramsService/GetProgram', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getProgramExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->programName('[ACCOUNT]', '[PROGRAM]');
+ $request = (new GetProgramRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getProgram($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listProgramsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $programsElement = new Program();
+ $programs = [
+ $programsElement,
+ ];
+ $expectedResponse = new ListProgramsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setPrograms($programs);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListProgramsRequest())
+ ->setParent($formattedParent);
+ $response = $gapicClient->listPrograms($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getPrograms()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.ProgramsService/ListPrograms', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listProgramsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListProgramsRequest())
+ ->setParent($formattedParent);
+ try {
+ $gapicClient->listPrograms($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function disableProgramAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $documentationUri = 'documentationUri1128720999';
+ $expectedResponse = new Program();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setDocumentationUri($documentationUri);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->programName('[ACCOUNT]', '[PROGRAM]');
+ $request = (new DisableProgramRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->disableProgramAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.ProgramsService/DisableProgram', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/RegionsServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/RegionsServiceClientTest.php
new file mode 100644
index 000000000000..ce005241b79c
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/RegionsServiceClientTest.php
@@ -0,0 +1,450 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return RegionsServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new RegionsServiceClient($options);
+ }
+
+ /** @test */
+ public function createRegionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $displayName = 'displayName1615086568';
+ $expectedResponse = new Region();
+ $expectedResponse->setName($name);
+ $expectedResponse->setDisplayName($displayName);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $regionId = 'regionId74348102';
+ $region = new Region();
+ $request = (new CreateRegionRequest())
+ ->setParent($formattedParent)
+ ->setRegionId($regionId)
+ ->setRegion($region);
+ $response = $gapicClient->createRegion($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.RegionsService/CreateRegion', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $actualValue = $actualRequestObject->getRegionId();
+ $this->assertProtobufEquals($regionId, $actualValue);
+ $actualValue = $actualRequestObject->getRegion();
+ $this->assertProtobufEquals($region, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function createRegionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $regionId = 'regionId74348102';
+ $region = new Region();
+ $request = (new CreateRegionRequest())
+ ->setParent($formattedParent)
+ ->setRegionId($regionId)
+ ->setRegion($region);
+ try {
+ $gapicClient->createRegion($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function deleteRegionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $expectedResponse = new GPBEmpty();
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->regionName('[ACCOUNT]', '[REGION]');
+ $request = (new DeleteRegionRequest())
+ ->setName($formattedName);
+ $gapicClient->deleteRegion($request);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.RegionsService/DeleteRegion', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function deleteRegionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->regionName('[ACCOUNT]', '[REGION]');
+ $request = (new DeleteRegionRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->deleteRegion($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getRegionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $displayName = 'displayName1615086568';
+ $expectedResponse = new Region();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setDisplayName($displayName);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->regionName('[ACCOUNT]', '[REGION]');
+ $request = (new GetRegionRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getRegion($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.RegionsService/GetRegion', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getRegionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->regionName('[ACCOUNT]', '[REGION]');
+ $request = (new GetRegionRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getRegion($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listRegionsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $regionsElement = new Region();
+ $regions = [
+ $regionsElement,
+ ];
+ $expectedResponse = new ListRegionsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setRegions($regions);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListRegionsRequest())
+ ->setParent($formattedParent);
+ $response = $gapicClient->listRegions($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getRegions()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.RegionsService/ListRegions', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listRegionsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListRegionsRequest())
+ ->setParent($formattedParent);
+ try {
+ $gapicClient->listRegions($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateRegionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $displayName = 'displayName1615086568';
+ $expectedResponse = new Region();
+ $expectedResponse->setName($name);
+ $expectedResponse->setDisplayName($displayName);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $region = new Region();
+ $request = (new UpdateRegionRequest())
+ ->setRegion($region);
+ $response = $gapicClient->updateRegion($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.RegionsService/UpdateRegion', $actualFuncCall);
+ $actualValue = $actualRequestObject->getRegion();
+ $this->assertProtobufEquals($region, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateRegionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $region = new Region();
+ $request = (new UpdateRegionRequest())
+ ->setRegion($region);
+ try {
+ $gapicClient->updateRegion($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function createRegionAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $displayName = 'displayName1615086568';
+ $expectedResponse = new Region();
+ $expectedResponse->setName($name);
+ $expectedResponse->setDisplayName($displayName);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $regionId = 'regionId74348102';
+ $region = new Region();
+ $request = (new CreateRegionRequest())
+ ->setParent($formattedParent)
+ ->setRegionId($regionId)
+ ->setRegion($region);
+ $response = $gapicClient->createRegionAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.RegionsService/CreateRegion', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $actualValue = $actualRequestObject->getRegionId();
+ $this->assertProtobufEquals($regionId, $actualValue);
+ $actualValue = $actualRequestObject->getRegion();
+ $this->assertProtobufEquals($region, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/ShippingSettingsServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/ShippingSettingsServiceClientTest.php
new file mode 100644
index 000000000000..0aa401b2cb18
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/ShippingSettingsServiceClientTest.php
@@ -0,0 +1,236 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return ShippingSettingsServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new ShippingSettingsServiceClient($options);
+ }
+
+ /** @test */
+ public function getShippingSettingsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $etag = 'etag3123477';
+ $expectedResponse = new ShippingSettings();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setEtag($etag);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->shippingSettingsName('[ACCOUNT]');
+ $request = (new GetShippingSettingsRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getShippingSettings($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.ShippingSettingsService/GetShippingSettings', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getShippingSettingsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->shippingSettingsName('[ACCOUNT]');
+ $request = (new GetShippingSettingsRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getShippingSettings($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function insertShippingSettingsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $etag = 'etag3123477';
+ $expectedResponse = new ShippingSettings();
+ $expectedResponse->setName($name);
+ $expectedResponse->setEtag($etag);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $parent = 'parent-995424086';
+ $shippingSetting = new ShippingSettings();
+ $shippingSettingEtag = 'shippingSettingEtag-383675145';
+ $shippingSetting->setEtag($shippingSettingEtag);
+ $request = (new InsertShippingSettingsRequest())
+ ->setParent($parent)
+ ->setShippingSetting($shippingSetting);
+ $response = $gapicClient->insertShippingSettings($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.ShippingSettingsService/InsertShippingSettings', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($parent, $actualValue);
+ $actualValue = $actualRequestObject->getShippingSetting();
+ $this->assertProtobufEquals($shippingSetting, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function insertShippingSettingsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $parent = 'parent-995424086';
+ $shippingSetting = new ShippingSettings();
+ $shippingSettingEtag = 'shippingSettingEtag-383675145';
+ $shippingSetting->setEtag($shippingSettingEtag);
+ $request = (new InsertShippingSettingsRequest())
+ ->setParent($parent)
+ ->setShippingSetting($shippingSetting);
+ try {
+ $gapicClient->insertShippingSettings($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getShippingSettingsAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $etag = 'etag3123477';
+ $expectedResponse = new ShippingSettings();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setEtag($etag);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->shippingSettingsName('[ACCOUNT]');
+ $request = (new GetShippingSettingsRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getShippingSettingsAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.ShippingSettingsService/GetShippingSettings', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/TermsOfServiceAgreementStateServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/TermsOfServiceAgreementStateServiceClientTest.php
new file mode 100644
index 000000000000..d084d8592cc1
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/TermsOfServiceAgreementStateServiceClientTest.php
@@ -0,0 +1,226 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return TermsOfServiceAgreementStateServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new TermsOfServiceAgreementStateServiceClient($options);
+ }
+
+ /** @test */
+ public function getTermsOfServiceAgreementStateTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $regionCode = 'regionCode-1566082984';
+ $expectedResponse = new TermsOfServiceAgreementState();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setRegionCode($regionCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->termsOfServiceAgreementStateName('[ACCOUNT]', '[IDENTIFIER]');
+ $request = (new GetTermsOfServiceAgreementStateRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getTermsOfServiceAgreementState($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.TermsOfServiceAgreementStateService/GetTermsOfServiceAgreementState', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getTermsOfServiceAgreementStateExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->termsOfServiceAgreementStateName('[ACCOUNT]', '[IDENTIFIER]');
+ $request = (new GetTermsOfServiceAgreementStateRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getTermsOfServiceAgreementState($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function retrieveForApplicationTermsOfServiceAgreementStateTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $regionCode = 'regionCode-1566082984';
+ $expectedResponse = new TermsOfServiceAgreementState();
+ $expectedResponse->setName($name);
+ $expectedResponse->setRegionCode($regionCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new RetrieveForApplicationTermsOfServiceAgreementStateRequest())
+ ->setParent($formattedParent);
+ $response = $gapicClient->retrieveForApplicationTermsOfServiceAgreementState($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.TermsOfServiceAgreementStateService/RetrieveForApplicationTermsOfServiceAgreementState', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function retrieveForApplicationTermsOfServiceAgreementStateExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new RetrieveForApplicationTermsOfServiceAgreementStateRequest())
+ ->setParent($formattedParent);
+ try {
+ $gapicClient->retrieveForApplicationTermsOfServiceAgreementState($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getTermsOfServiceAgreementStateAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $regionCode = 'regionCode-1566082984';
+ $expectedResponse = new TermsOfServiceAgreementState();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setRegionCode($regionCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->termsOfServiceAgreementStateName('[ACCOUNT]', '[IDENTIFIER]');
+ $request = (new GetTermsOfServiceAgreementStateRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getTermsOfServiceAgreementStateAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.TermsOfServiceAgreementStateService/GetTermsOfServiceAgreementState', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/TermsOfServiceServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/TermsOfServiceServiceClientTest.php
new file mode 100644
index 000000000000..321dcde30319
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/TermsOfServiceServiceClientTest.php
@@ -0,0 +1,319 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return TermsOfServiceServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new TermsOfServiceServiceClient($options);
+ }
+
+ /** @test */
+ public function acceptTermsOfServiceTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $expectedResponse = new GPBEmpty();
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->termsOfServiceName('[VERSION]');
+ $formattedAccount = $gapicClient->accountName('[ACCOUNT]');
+ $regionCode = 'regionCode-1566082984';
+ $request = (new AcceptTermsOfServiceRequest())
+ ->setName($formattedName)
+ ->setAccount($formattedAccount)
+ ->setRegionCode($regionCode);
+ $gapicClient->acceptTermsOfService($request);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.TermsOfServiceService/AcceptTermsOfService', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $actualValue = $actualRequestObject->getAccount();
+ $this->assertProtobufEquals($formattedAccount, $actualValue);
+ $actualValue = $actualRequestObject->getRegionCode();
+ $this->assertProtobufEquals($regionCode, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function acceptTermsOfServiceExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->termsOfServiceName('[VERSION]');
+ $formattedAccount = $gapicClient->accountName('[ACCOUNT]');
+ $regionCode = 'regionCode-1566082984';
+ $request = (new AcceptTermsOfServiceRequest())
+ ->setName($formattedName)
+ ->setAccount($formattedAccount)
+ ->setRegionCode($regionCode);
+ try {
+ $gapicClient->acceptTermsOfService($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getTermsOfServiceTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $regionCode = 'regionCode-1566082984';
+ $fileUri = 'fileUri-735196119';
+ $external = false;
+ $expectedResponse = new TermsOfService();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setRegionCode($regionCode);
+ $expectedResponse->setFileUri($fileUri);
+ $expectedResponse->setExternal($external);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->termsOfServiceName('[VERSION]');
+ $request = (new GetTermsOfServiceRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getTermsOfService($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.TermsOfServiceService/GetTermsOfService', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getTermsOfServiceExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->termsOfServiceName('[VERSION]');
+ $request = (new GetTermsOfServiceRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getTermsOfService($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function retrieveLatestTermsOfServiceTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $regionCode2 = 'regionCode2-1767191029';
+ $fileUri = 'fileUri-735196119';
+ $external = false;
+ $expectedResponse = new TermsOfService();
+ $expectedResponse->setName($name);
+ $expectedResponse->setRegionCode($regionCode2);
+ $expectedResponse->setFileUri($fileUri);
+ $expectedResponse->setExternal($external);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $regionCode = 'regionCode-1566082984';
+ $kind = TermsOfServiceKind::TERMS_OF_SERVICE_KIND_UNSPECIFIED;
+ $request = (new RetrieveLatestTermsOfServiceRequest())
+ ->setRegionCode($regionCode)
+ ->setKind($kind);
+ $response = $gapicClient->retrieveLatestTermsOfService($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.TermsOfServiceService/RetrieveLatestTermsOfService', $actualFuncCall);
+ $actualValue = $actualRequestObject->getRegionCode();
+ $this->assertProtobufEquals($regionCode, $actualValue);
+ $actualValue = $actualRequestObject->getKind();
+ $this->assertProtobufEquals($kind, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function retrieveLatestTermsOfServiceExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $regionCode = 'regionCode-1566082984';
+ $kind = TermsOfServiceKind::TERMS_OF_SERVICE_KIND_UNSPECIFIED;
+ $request = (new RetrieveLatestTermsOfServiceRequest())
+ ->setRegionCode($regionCode)
+ ->setKind($kind);
+ try {
+ $gapicClient->retrieveLatestTermsOfService($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function acceptTermsOfServiceAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $expectedResponse = new GPBEmpty();
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->termsOfServiceName('[VERSION]');
+ $formattedAccount = $gapicClient->accountName('[ACCOUNT]');
+ $regionCode = 'regionCode-1566082984';
+ $request = (new AcceptTermsOfServiceRequest())
+ ->setName($formattedName)
+ ->setAccount($formattedAccount)
+ ->setRegionCode($regionCode);
+ $gapicClient->acceptTermsOfServiceAsync($request)->wait();
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.TermsOfServiceService/AcceptTermsOfService', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $actualValue = $actualRequestObject->getAccount();
+ $this->assertProtobufEquals($formattedAccount, $actualValue);
+ $actualValue = $actualRequestObject->getRegionCode();
+ $this->assertProtobufEquals($regionCode, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/UserServiceClientTest.php b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/UserServiceClientTest.php
new file mode 100644
index 000000000000..a23f0f9e2568
--- /dev/null
+++ b/owl-bot-staging/ShoppingMerchantAccounts/v1beta/tests/Unit/V1beta/Client/UserServiceClientTest.php
@@ -0,0 +1,449 @@
+getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock();
+ }
+
+ /** @return UserServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new UserServiceClient($options);
+ }
+
+ /** @test */
+ public function createUserTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $expectedResponse = new User();
+ $expectedResponse->setName($name);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $userId = 'userId-147132913';
+ $user = new User();
+ $request = (new CreateUserRequest())
+ ->setParent($formattedParent)
+ ->setUserId($userId)
+ ->setUser($user);
+ $response = $gapicClient->createUser($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.UserService/CreateUser', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $actualValue = $actualRequestObject->getUserId();
+ $this->assertProtobufEquals($userId, $actualValue);
+ $actualValue = $actualRequestObject->getUser();
+ $this->assertProtobufEquals($user, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function createUserExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $userId = 'userId-147132913';
+ $user = new User();
+ $request = (new CreateUserRequest())
+ ->setParent($formattedParent)
+ ->setUserId($userId)
+ ->setUser($user);
+ try {
+ $gapicClient->createUser($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function deleteUserTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $expectedResponse = new GPBEmpty();
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->userName('[ACCOUNT]', '[EMAIL]');
+ $request = (new DeleteUserRequest())
+ ->setName($formattedName);
+ $gapicClient->deleteUser($request);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.UserService/DeleteUser', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function deleteUserExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->userName('[ACCOUNT]', '[EMAIL]');
+ $request = (new DeleteUserRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->deleteUser($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getUserTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $expectedResponse = new User();
+ $expectedResponse->setName($name2);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->userName('[ACCOUNT]', '[EMAIL]');
+ $request = (new GetUserRequest())
+ ->setName($formattedName);
+ $response = $gapicClient->getUser($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.UserService/GetUser', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getUserExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->userName('[ACCOUNT]', '[EMAIL]');
+ $request = (new GetUserRequest())
+ ->setName($formattedName);
+ try {
+ $gapicClient->getUser($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listUsersTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $usersElement = new User();
+ $users = [
+ $usersElement,
+ ];
+ $expectedResponse = new ListUsersResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setUsers($users);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListUsersRequest())
+ ->setParent($formattedParent);
+ $response = $gapicClient->listUsers($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getUsers()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.UserService/ListUsers', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listUsersExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $request = (new ListUsersRequest())
+ ->setParent($formattedParent);
+ try {
+ $gapicClient->listUsers($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateUserTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $expectedResponse = new User();
+ $expectedResponse->setName($name);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $user = new User();
+ $updateMask = new FieldMask();
+ $request = (new UpdateUserRequest())
+ ->setUser($user)
+ ->setUpdateMask($updateMask);
+ $response = $gapicClient->updateUser($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.UserService/UpdateUser', $actualFuncCall);
+ $actualValue = $actualRequestObject->getUser();
+ $this->assertProtobufEquals($user, $actualValue);
+ $actualValue = $actualRequestObject->getUpdateMask();
+ $this->assertProtobufEquals($updateMask, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateUserExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode([
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ], JSON_PRETTY_PRINT);
+ $transport->addResponse(null, $status);
+ // Mock request
+ $user = new User();
+ $updateMask = new FieldMask();
+ $request = (new UpdateUserRequest())
+ ->setUser($user)
+ ->setUpdateMask($updateMask);
+ try {
+ $gapicClient->updateUser($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function createUserAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $expectedResponse = new User();
+ $expectedResponse->setName($name);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->accountName('[ACCOUNT]');
+ $userId = 'userId-147132913';
+ $user = new User();
+ $request = (new CreateUserRequest())
+ ->setParent($formattedParent)
+ ->setUserId($userId)
+ ->setUser($user);
+ $response = $gapicClient->createUserAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.shopping.merchant.accounts.v1beta.UserService/CreateUser', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $actualValue = $actualRequestObject->getUserId();
+ $this->assertProtobufEquals($userId, $actualValue);
+ $actualValue = $actualRequestObject->getUser();
+ $this->assertProtobufEquals($user, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}