content: /*
   * Adyen Payment API
   *
   * The version of the OpenAPI document: 68
   *
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   * Do not edit the class manually.
   */
  
  package com.adyen.model.payment;
  
  import com.fasterxml.jackson.annotation.JsonInclude;
  import com.fasterxml.jackson.annotation.JsonProperty;
  import com.fasterxml.jackson.annotation.JsonPropertyOrder;
  import com.fasterxml.jackson.core.JsonProcessingException;
  import java.util.*;
  
  /** AdditionalDataSubMerchant */
  @JsonPropertyOrder({
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_NUMBER_OF_SUB_SELLERS,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_CITY,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_COUNTRY,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_EMAIL,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_ID,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_MCC,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_NAME,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_PHONE_NUMBER,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_POSTAL_CODE,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_STATE,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_STREET,
    AdditionalDataSubMerchant.JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_TAX_ID
  })
  public class AdditionalDataSubMerchant {
    public static final String JSON_PROPERTY_SUB_MERCHANT_NUMBER_OF_SUB_SELLERS =
        "subMerchant.numberOfSubSellers";
    private String subMerchantNumberOfSubSellers;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_CITY =
        "subMerchant.subSeller[subSellerNr].city";
    private String subMerchantSubSellerSubSellerNrCity;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_COUNTRY =
        "subMerchant.subSeller[subSellerNr].country";
    private String subMerchantSubSellerSubSellerNrCountry;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_EMAIL =
        "subMerchant.subSeller[subSellerNr].email";
    private String subMerchantSubSellerSubSellerNrEmail;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_ID =
        "subMerchant.subSeller[subSellerNr].id";
    private String subMerchantSubSellerSubSellerNrId;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_MCC =
        "subMerchant.subSeller[subSellerNr].mcc";
    private String subMerchantSubSellerSubSellerNrMcc;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_NAME =
        "subMerchant.subSeller[subSellerNr].name";
    private String subMerchantSubSellerSubSellerNrName;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_PHONE_NUMBER =
        "subMerchant.subSeller[subSellerNr].phoneNumber";
    private String subMerchantSubSellerSubSellerNrPhoneNumber;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_POSTAL_CODE =
        "subMerchant.subSeller[subSellerNr].postalCode";
    private String subMerchantSubSellerSubSellerNrPostalCode;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_STATE =
        "subMerchant.subSeller[subSellerNr].state";
    private String subMerchantSubSellerSubSellerNrState;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_STREET =
        "subMerchant.subSeller[subSellerNr].street";
    private String subMerchantSubSellerSubSellerNrStreet;
  
    public static final String JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_TAX_ID =
        "subMerchant.subSeller[subSellerNr].taxId";
    private String subMerchantSubSellerSubSellerNrTaxId;
  
    public AdditionalDataSubMerchant() {}
  
    /**
     * Required for transactions performed by registered payment facilitators. Indicates the number of
     * sub-merchants contained in the request. For example, **3**.
     *
     * @param subMerchantNumberOfSubSellers Required for transactions performed by registered payment
     *     facilitators. Indicates the number of sub-merchants contained in the request. For example,
     *     **3**.
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantNumberOfSubSellers(
        String subMerchantNumberOfSubSellers) {
      this.subMerchantNumberOfSubSellers = subMerchantNumberOfSubSellers;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. Indicates the number of
     * sub-merchants contained in the request. For example, **3**.
     *
     * @return subMerchantNumberOfSubSellers Required for transactions performed by registered payment
     *     facilitators. Indicates the number of sub-merchants contained in the request. For example,
     *     **3**.
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_NUMBER_OF_SUB_SELLERS)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantNumberOfSubSellers() {
      return subMerchantNumberOfSubSellers;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. Indicates the number of
     * sub-merchants contained in the request. For example, **3**.
     *
     * @param subMerchantNumberOfSubSellers Required for transactions performed by registered payment
     *     facilitators. Indicates the number of sub-merchants contained in the request. For example,
     *     **3**.
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_NUMBER_OF_SUB_SELLERS)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantNumberOfSubSellers(String subMerchantNumberOfSubSellers) {
      this.subMerchantNumberOfSubSellers = subMerchantNumberOfSubSellers;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The city of the
     * sub-merchant&#39;s address. * Format: Alphanumeric * Maximum length: 13 characters
     *
     * @param subMerchantSubSellerSubSellerNrCity Required for transactions performed by registered
     *     payment facilitators. The city of the sub-merchant&#39;s address. * Format: Alphanumeric *
     *     Maximum length: 13 characters
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrCity(
        String subMerchantSubSellerSubSellerNrCity) {
      this.subMerchantSubSellerSubSellerNrCity = subMerchantSubSellerSubSellerNrCity;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The city of the
     * sub-merchant&#39;s address. * Format: Alphanumeric * Maximum length: 13 characters
     *
     * @return subMerchantSubSellerSubSellerNrCity Required for transactions performed by registered
     *     payment facilitators. The city of the sub-merchant&#39;s address. * Format: Alphanumeric *
     *     Maximum length: 13 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_CITY)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrCity() {
      return subMerchantSubSellerSubSellerNrCity;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The city of the
     * sub-merchant&#39;s address. * Format: Alphanumeric * Maximum length: 13 characters
     *
     * @param subMerchantSubSellerSubSellerNrCity Required for transactions performed by registered
     *     payment facilitators. The city of the sub-merchant&#39;s address. * Format: Alphanumeric *
     *     Maximum length: 13 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_CITY)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrCity(String subMerchantSubSellerSubSellerNrCity) {
      this.subMerchantSubSellerSubSellerNrCity = subMerchantSubSellerSubSellerNrCity;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The three-letter
     * country code of the sub-merchant&#39;s address. For example, **BRA** for Brazil. * Format: [ISO
     * 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) * Fixed length: 3 characters
     *
     * @param subMerchantSubSellerSubSellerNrCountry Required for transactions performed by registered
     *     payment facilitators. The three-letter country code of the sub-merchant&#39;s address. For
     *     example, **BRA** for Brazil. * Format: [ISO 3166-1
     *     alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) * Fixed length: 3 characters
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrCountry(
        String subMerchantSubSellerSubSellerNrCountry) {
      this.subMerchantSubSellerSubSellerNrCountry = subMerchantSubSellerSubSellerNrCountry;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The three-letter
     * country code of the sub-merchant&#39;s address. For example, **BRA** for Brazil. * Format: [ISO
     * 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) * Fixed length: 3 characters
     *
     * @return subMerchantSubSellerSubSellerNrCountry Required for transactions performed by
     *     registered payment facilitators. The three-letter country code of the sub-merchant&#39;s
     *     address. For example, **BRA** for Brazil. * Format: [ISO 3166-1
     *     alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) * Fixed length: 3 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_COUNTRY)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrCountry() {
      return subMerchantSubSellerSubSellerNrCountry;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The three-letter
     * country code of the sub-merchant&#39;s address. For example, **BRA** for Brazil. * Format: [ISO
     * 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) * Fixed length: 3 characters
     *
     * @param subMerchantSubSellerSubSellerNrCountry Required for transactions performed by registered
     *     payment facilitators. The three-letter country code of the sub-merchant&#39;s address. For
     *     example, **BRA** for Brazil. * Format: [ISO 3166-1
     *     alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) * Fixed length: 3 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_COUNTRY)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrCountry(
        String subMerchantSubSellerSubSellerNrCountry) {
      this.subMerchantSubSellerSubSellerNrCountry = subMerchantSubSellerSubSellerNrCountry;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The email address of
     * the sub-merchant. * Format: Alphanumeric * Maximum length: 40 characters
     *
     * @param subMerchantSubSellerSubSellerNrEmail Required for transactions performed by registered
     *     payment facilitators. The email address of the sub-merchant. * Format: Alphanumeric *
     *     Maximum length: 40 characters
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrEmail(
        String subMerchantSubSellerSubSellerNrEmail) {
      this.subMerchantSubSellerSubSellerNrEmail = subMerchantSubSellerSubSellerNrEmail;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The email address of
     * the sub-merchant. * Format: Alphanumeric * Maximum length: 40 characters
     *
     * @return subMerchantSubSellerSubSellerNrEmail Required for transactions performed by registered
     *     payment facilitators. The email address of the sub-merchant. * Format: Alphanumeric *
     *     Maximum length: 40 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_EMAIL)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrEmail() {
      return subMerchantSubSellerSubSellerNrEmail;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The email address of
     * the sub-merchant. * Format: Alphanumeric * Maximum length: 40 characters
     *
     * @param subMerchantSubSellerSubSellerNrEmail Required for transactions performed by registered
     *     payment facilitators. The email address of the sub-merchant. * Format: Alphanumeric *
     *     Maximum length: 40 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_EMAIL)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrEmail(String subMerchantSubSellerSubSellerNrEmail) {
      this.subMerchantSubSellerSubSellerNrEmail = subMerchantSubSellerSubSellerNrEmail;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. A unique identifier
     * that you create for the sub-merchant, used by schemes to identify the sub-merchant. * Format:
     * Alphanumeric * Maximum length: 15 characters
     *
     * @param subMerchantSubSellerSubSellerNrId Required for transactions performed by registered
     *     payment facilitators. A unique identifier that you create for the sub-merchant, used by
     *     schemes to identify the sub-merchant. * Format: Alphanumeric * Maximum length: 15
     *     characters
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrId(
        String subMerchantSubSellerSubSellerNrId) {
      this.subMerchantSubSellerSubSellerNrId = subMerchantSubSellerSubSellerNrId;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. A unique identifier
     * that you create for the sub-merchant, used by schemes to identify the sub-merchant. * Format:
     * Alphanumeric * Maximum length: 15 characters
     *
     * @return subMerchantSubSellerSubSellerNrId Required for transactions performed by registered
     *     payment facilitators. A unique identifier that you create for the sub-merchant, used by
     *     schemes to identify the sub-merchant. * Format: Alphanumeric * Maximum length: 15
     *     characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_ID)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrId() {
      return subMerchantSubSellerSubSellerNrId;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. A unique identifier
     * that you create for the sub-merchant, used by schemes to identify the sub-merchant. * Format:
     * Alphanumeric * Maximum length: 15 characters
     *
     * @param subMerchantSubSellerSubSellerNrId Required for transactions performed by registered
     *     payment facilitators. A unique identifier that you create for the sub-merchant, used by
     *     schemes to identify the sub-merchant. * Format: Alphanumeric * Maximum length: 15
     *     characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_ID)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrId(String subMerchantSubSellerSubSellerNrId) {
      this.subMerchantSubSellerSubSellerNrId = subMerchantSubSellerSubSellerNrId;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The sub-merchant&#39;s
     * 4-digit Merchant Category Code (MCC). * Format: Numeric * Fixed length: 4 digits
     *
     * @param subMerchantSubSellerSubSellerNrMcc Required for transactions performed by registered
     *     payment facilitators. The sub-merchant&#39;s 4-digit Merchant Category Code (MCC). *
     *     Format: Numeric * Fixed length: 4 digits
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrMcc(
        String subMerchantSubSellerSubSellerNrMcc) {
      this.subMerchantSubSellerSubSellerNrMcc = subMerchantSubSellerSubSellerNrMcc;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The sub-merchant&#39;s
     * 4-digit Merchant Category Code (MCC). * Format: Numeric * Fixed length: 4 digits
     *
     * @return subMerchantSubSellerSubSellerNrMcc Required for transactions performed by registered
     *     payment facilitators. The sub-merchant&#39;s 4-digit Merchant Category Code (MCC). *
     *     Format: Numeric * Fixed length: 4 digits
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_MCC)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrMcc() {
      return subMerchantSubSellerSubSellerNrMcc;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The sub-merchant&#39;s
     * 4-digit Merchant Category Code (MCC). * Format: Numeric * Fixed length: 4 digits
     *
     * @param subMerchantSubSellerSubSellerNrMcc Required for transactions performed by registered
     *     payment facilitators. The sub-merchant&#39;s 4-digit Merchant Category Code (MCC). *
     *     Format: Numeric * Fixed length: 4 digits
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_MCC)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrMcc(String subMerchantSubSellerSubSellerNrMcc) {
      this.subMerchantSubSellerSubSellerNrMcc = subMerchantSubSellerSubSellerNrMcc;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The name of the
     * sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement
     * that will appear in the card statement. Exception: for acquirers in Brazil, this value does not
     * overwrite the shopper statement. * Format: Alphanumeric * Maximum length: 22 characters
     *
     * @param subMerchantSubSellerSubSellerNrName Required for transactions performed by registered
     *     payment facilitators. The name of the sub-merchant. Based on scheme specifications, this
     *     value will overwrite the shopper statement that will appear in the card statement.
     *     Exception: for acquirers in Brazil, this value does not overwrite the shopper statement. *
     *     Format: Alphanumeric * Maximum length: 22 characters
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrName(
        String subMerchantSubSellerSubSellerNrName) {
      this.subMerchantSubSellerSubSellerNrName = subMerchantSubSellerSubSellerNrName;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The name of the
     * sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement
     * that will appear in the card statement. Exception: for acquirers in Brazil, this value does not
     * overwrite the shopper statement. * Format: Alphanumeric * Maximum length: 22 characters
     *
     * @return subMerchantSubSellerSubSellerNrName Required for transactions performed by registered
     *     payment facilitators. The name of the sub-merchant. Based on scheme specifications, this
     *     value will overwrite the shopper statement that will appear in the card statement.
     *     Exception: for acquirers in Brazil, this value does not overwrite the shopper statement. *
     *     Format: Alphanumeric * Maximum length: 22 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrName() {
      return subMerchantSubSellerSubSellerNrName;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The name of the
     * sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement
     * that will appear in the card statement. Exception: for acquirers in Brazil, this value does not
     * overwrite the shopper statement. * Format: Alphanumeric * Maximum length: 22 characters
     *
     * @param subMerchantSubSellerSubSellerNrName Required for transactions performed by registered
     *     payment facilitators. The name of the sub-merchant. Based on scheme specifications, this
     *     value will overwrite the shopper statement that will appear in the card statement.
     *     Exception: for acquirers in Brazil, this value does not overwrite the shopper statement. *
     *     Format: Alphanumeric * Maximum length: 22 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrName(String subMerchantSubSellerSubSellerNrName) {
      this.subMerchantSubSellerSubSellerNrName = subMerchantSubSellerSubSellerNrName;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The phone number of the
     * sub-merchant. * Format: Alphanumeric and special characters * Maximum length: 20 characters
     *
     * @param subMerchantSubSellerSubSellerNrPhoneNumber Required for transactions performed by
     *     registered payment facilitators. The phone number of the sub-merchant. * Format:
     *     Alphanumeric and special characters * Maximum length: 20 characters
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrPhoneNumber(
        String subMerchantSubSellerSubSellerNrPhoneNumber) {
      this.subMerchantSubSellerSubSellerNrPhoneNumber = subMerchantSubSellerSubSellerNrPhoneNumber;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The phone number of the
     * sub-merchant. * Format: Alphanumeric and special characters * Maximum length: 20 characters
     *
     * @return subMerchantSubSellerSubSellerNrPhoneNumber Required for transactions performed by
     *     registered payment facilitators. The phone number of the sub-merchant. * Format:
     *     Alphanumeric and special characters * Maximum length: 20 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_PHONE_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrPhoneNumber() {
      return subMerchantSubSellerSubSellerNrPhoneNumber;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The phone number of the
     * sub-merchant. * Format: Alphanumeric and special characters * Maximum length: 20 characters
     *
     * @param subMerchantSubSellerSubSellerNrPhoneNumber Required for transactions performed by
     *     registered payment facilitators. The phone number of the sub-merchant. * Format:
     *     Alphanumeric and special characters * Maximum length: 20 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_PHONE_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrPhoneNumber(
        String subMerchantSubSellerSubSellerNrPhoneNumber) {
      this.subMerchantSubSellerSubSellerNrPhoneNumber = subMerchantSubSellerSubSellerNrPhoneNumber;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The postal code of the
     * sub-merchant&#39;s address, without dashes. * Format: Numeric * Fixed length: 8 digits
     *
     * @param subMerchantSubSellerSubSellerNrPostalCode Required for transactions performed by
     *     registered payment facilitators. The postal code of the sub-merchant&#39;s address, without
     *     dashes. * Format: Numeric * Fixed length: 8 digits
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrPostalCode(
        String subMerchantSubSellerSubSellerNrPostalCode) {
      this.subMerchantSubSellerSubSellerNrPostalCode = subMerchantSubSellerSubSellerNrPostalCode;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The postal code of the
     * sub-merchant&#39;s address, without dashes. * Format: Numeric * Fixed length: 8 digits
     *
     * @return subMerchantSubSellerSubSellerNrPostalCode Required for transactions performed by
     *     registered payment facilitators. The postal code of the sub-merchant&#39;s address, without
     *     dashes. * Format: Numeric * Fixed length: 8 digits
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_POSTAL_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrPostalCode() {
      return subMerchantSubSellerSubSellerNrPostalCode;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The postal code of the
     * sub-merchant&#39;s address, without dashes. * Format: Numeric * Fixed length: 8 digits
     *
     * @param subMerchantSubSellerSubSellerNrPostalCode Required for transactions performed by
     *     registered payment facilitators. The postal code of the sub-merchant&#39;s address, without
     *     dashes. * Format: Numeric * Fixed length: 8 digits
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_POSTAL_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrPostalCode(
        String subMerchantSubSellerSubSellerNrPostalCode) {
      this.subMerchantSubSellerSubSellerNrPostalCode = subMerchantSubSellerSubSellerNrPostalCode;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The state code of the
     * sub-merchant&#39;s address, if applicable to the country. * Format: Alphanumeric * Maximum
     * length: 2 characters
     *
     * @param subMerchantSubSellerSubSellerNrState Required for transactions performed by registered
     *     payment facilitators. The state code of the sub-merchant&#39;s address, if applicable to
     *     the country. * Format: Alphanumeric * Maximum length: 2 characters
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrState(
        String subMerchantSubSellerSubSellerNrState) {
      this.subMerchantSubSellerSubSellerNrState = subMerchantSubSellerSubSellerNrState;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The state code of the
     * sub-merchant&#39;s address, if applicable to the country. * Format: Alphanumeric * Maximum
     * length: 2 characters
     *
     * @return subMerchantSubSellerSubSellerNrState Required for transactions performed by registered
     *     payment facilitators. The state code of the sub-merchant&#39;s address, if applicable to
     *     the country. * Format: Alphanumeric * Maximum length: 2 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_STATE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrState() {
      return subMerchantSubSellerSubSellerNrState;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The state code of the
     * sub-merchant&#39;s address, if applicable to the country. * Format: Alphanumeric * Maximum
     * length: 2 characters
     *
     * @param subMerchantSubSellerSubSellerNrState Required for transactions performed by registered
     *     payment facilitators. The state code of the sub-merchant&#39;s address, if applicable to
     *     the country. * Format: Alphanumeric * Maximum length: 2 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_STATE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrState(String subMerchantSubSellerSubSellerNrState) {
      this.subMerchantSubSellerSubSellerNrState = subMerchantSubSellerSubSellerNrState;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The street name and
     * house number of the sub-merchant&#39;s address. * Format: Alphanumeric * Maximum length: 60
     * characters
     *
     * @param subMerchantSubSellerSubSellerNrStreet Required for transactions performed by registered
     *     payment facilitators. The street name and house number of the sub-merchant&#39;s address. *
     *     Format: Alphanumeric * Maximum length: 60 characters
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrStreet(
        String subMerchantSubSellerSubSellerNrStreet) {
      this.subMerchantSubSellerSubSellerNrStreet = subMerchantSubSellerSubSellerNrStreet;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The street name and
     * house number of the sub-merchant&#39;s address. * Format: Alphanumeric * Maximum length: 60
     * characters
     *
     * @return subMerchantSubSellerSubSellerNrStreet Required for transactions performed by registered
     *     payment facilitators. The street name and house number of the sub-merchant&#39;s address. *
     *     Format: Alphanumeric * Maximum length: 60 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_STREET)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrStreet() {
      return subMerchantSubSellerSubSellerNrStreet;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The street name and
     * house number of the sub-merchant&#39;s address. * Format: Alphanumeric * Maximum length: 60
     * characters
     *
     * @param subMerchantSubSellerSubSellerNrStreet Required for transactions performed by registered
     *     payment facilitators. The street name and house number of the sub-merchant&#39;s address. *
     *     Format: Alphanumeric * Maximum length: 60 characters
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_STREET)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrStreet(
        String subMerchantSubSellerSubSellerNrStreet) {
      this.subMerchantSubSellerSubSellerNrStreet = subMerchantSubSellerSubSellerNrStreet;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The tax ID of the
     * sub-merchant. * Format: Numeric * Fixed length: 11 digits for the CPF or 14 digits for the CNPJ
     *
     * @param subMerchantSubSellerSubSellerNrTaxId Required for transactions performed by registered
     *     payment facilitators. The tax ID of the sub-merchant. * Format: Numeric * Fixed length: 11
     *     digits for the CPF or 14 digits for the CNPJ
     * @return the current {@code AdditionalDataSubMerchant} instance, allowing for method chaining
     */
    public AdditionalDataSubMerchant subMerchantSubSellerSubSellerNrTaxId(
        String subMerchantSubSellerSubSellerNrTaxId) {
      this.subMerchantSubSellerSubSellerNrTaxId = subMerchantSubSellerSubSellerNrTaxId;
      return this;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The tax ID of the
     * sub-merchant. * Format: Numeric * Fixed length: 11 digits for the CPF or 14 digits for the CNPJ
     *
     * @return subMerchantSubSellerSubSellerNrTaxId Required for transactions performed by registered
     *     payment facilitators. The tax ID of the sub-merchant. * Format: Numeric * Fixed length: 11
     *     digits for the CPF or 14 digits for the CNPJ
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_TAX_ID)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getSubMerchantSubSellerSubSellerNrTaxId() {
      return subMerchantSubSellerSubSellerNrTaxId;
    }
  
    /**
     * Required for transactions performed by registered payment facilitators. The tax ID of the
     * sub-merchant. * Format: Numeric * Fixed length: 11 digits for the CPF or 14 digits for the CNPJ
     *
     * @param subMerchantSubSellerSubSellerNrTaxId Required for transactions performed by registered
     *     payment facilitators. The tax ID of the sub-merchant. * Format: Numeric * Fixed length: 11
     *     digits for the CPF or 14 digits for the CNPJ
     */
    @JsonProperty(JSON_PROPERTY_SUB_MERCHANT_SUB_SELLER_SUB_SELLER_NR_TAX_ID)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setSubMerchantSubSellerSubSellerNrTaxId(String subMerchantSubSellerSubSellerNrTaxId) {
      this.subMerchantSubSellerSubSellerNrTaxId = subMerchantSubSellerSubSellerNrTaxId;
    }
  
    /** Return true if this AdditionalDataSubMerchant object is equal to o. */
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }
      AdditionalDataSubMerchant additionalDataSubMerchant = (AdditionalDataSubMerchant) o;
      return Objects.equals(
              this.subMerchantNumberOfSubSellers,
              additionalDataSubMerchant.subMerchantNumberOfSubSellers)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrCity,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrCity)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrCountry,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrCountry)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrEmail,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrEmail)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrId,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrId)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrMcc,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrMcc)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrName,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrName)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrPhoneNumber,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrPhoneNumber)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrPostalCode,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrPostalCode)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrState,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrState)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrStreet,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrStreet)
          && Objects.equals(
              this.subMerchantSubSellerSubSellerNrTaxId,
              additionalDataSubMerchant.subMerchantSubSellerSubSellerNrTaxId);
    }
  
    @Override
    public int hashCode() {
      return Objects.hash(
          subMerchantNumberOfSubSellers,
          subMerchantSubSellerSubSellerNrCity,
          subMerchantSubSellerSubSellerNrCountry,
          subMerchantSubSellerSubSellerNrEmail,
          subMerchantSubSellerSubSellerNrId,
          subMerchantSubSellerSubSellerNrMcc,
          subMerchantSubSellerSubSellerNrName,
          subMerchantSubSellerSubSellerNrPhoneNumber,
          subMerchantSubSellerSubSellerNrPostalCode,
          subMerchantSubSellerSubSellerNrState,
          subMerchantSubSellerSubSellerNrStreet,
          subMerchantSubSellerSubSellerNrTaxId);
    }
  
    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class AdditionalDataSubMerchant {\n");
      sb.append("    subMerchantNumberOfSubSellers: ")
          .append(toIndentedString(subMerchantNumberOfSubSellers))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrCity: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrCity))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrCountry: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrCountry))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrEmail: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrEmail))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrId: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrId))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrMcc: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrMcc))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrName: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrName))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrPhoneNumber: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrPhoneNumber))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrPostalCode: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrPostalCode))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrState: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrState))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrStreet: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrStreet))
          .append("\n");
      sb.append("    subMerchantSubSellerSubSellerNrTaxId: ")
          .append(toIndentedString(subMerchantSubSellerSubSellerNrTaxId))
          .append("\n");
      sb.append("}");
      return sb.toString();
    }
  
    /**
     * Convert the given object to string with each line indented by 4 spaces (except the first line).
     */
    private String toIndentedString(Object o) {
      if (o == null) {
        return "null";
      }
      return o.toString().replace("\n", "\n    ");
    }
  
    /**
     * Create an instance of AdditionalDataSubMerchant given an JSON string
     *
     * @param jsonString JSON string
     * @return An instance of AdditionalDataSubMerchant
     * @throws JsonProcessingException if the JSON string is invalid with respect to
     *     AdditionalDataSubMerchant
     */
    public static AdditionalDataSubMerchant fromJson(String jsonString)
        throws JsonProcessingException {
      return JSON.getMapper().readValue(jsonString, AdditionalDataSubMerchant.class);
    }
  
    /**
     * Convert an instance of AdditionalDataSubMerchant to an JSON string
     *
     * @return JSON string
     */
    public String toJson() throws JsonProcessingException {
      return JSON.getMapper().writeValueAsString(this);
    }
  }
  