content: /*
   * Adyen Checkout API
   *
   * The version of the OpenAPI document: 71
   *
   *
   * 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.checkout;
  
  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.*;
  
  /** AdditionalDataOpenInvoice */
  @JsonPropertyOrder({
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_MERCHANT_DATA,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_NUMBER_OF_LINES,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_RECIPIENT_FIRST_NAME,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_RECIPIENT_LAST_NAME,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_CURRENCY_CODE,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_DESCRIPTION,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_AMOUNT,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_ID,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_VAT_AMOUNT,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_VAT_PERCENTAGE,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_NUMBER_OF_ITEMS,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_SHIPPING_COMPANY,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_TRACKING_NUMBER,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_TRACKING_URI,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_SHIPPING_COMPANY,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_SHIPPING_METHOD,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_TRACKING_NUMBER,
    AdditionalDataOpenInvoice.JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_TRACKING_URI
  })
  public class AdditionalDataOpenInvoice {
    public static final String JSON_PROPERTY_OPENINVOICEDATA_MERCHANT_DATA =
        "openinvoicedata.merchantData";
    private String openinvoicedataMerchantData;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_NUMBER_OF_LINES =
        "openinvoicedata.numberOfLines";
    private String openinvoicedataNumberOfLines;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_RECIPIENT_FIRST_NAME =
        "openinvoicedata.recipientFirstName";
    private String openinvoicedataRecipientFirstName;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_RECIPIENT_LAST_NAME =
        "openinvoicedata.recipientLastName";
    private String openinvoicedataRecipientLastName;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_CURRENCY_CODE =
        "openinvoicedataLine[itemNr].currencyCode";
    private String openinvoicedataLineItemNrCurrencyCode;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_DESCRIPTION =
        "openinvoicedataLine[itemNr].description";
    private String openinvoicedataLineItemNrDescription;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_AMOUNT =
        "openinvoicedataLine[itemNr].itemAmount";
    private String openinvoicedataLineItemNrItemAmount;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_ID =
        "openinvoicedataLine[itemNr].itemId";
    private String openinvoicedataLineItemNrItemId;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_VAT_AMOUNT =
        "openinvoicedataLine[itemNr].itemVatAmount";
    private String openinvoicedataLineItemNrItemVatAmount;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_VAT_PERCENTAGE =
        "openinvoicedataLine[itemNr].itemVatPercentage";
    private String openinvoicedataLineItemNrItemVatPercentage;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_NUMBER_OF_ITEMS =
        "openinvoicedataLine[itemNr].numberOfItems";
    private String openinvoicedataLineItemNrNumberOfItems;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_SHIPPING_COMPANY =
        "openinvoicedataLine[itemNr].returnShippingCompany";
    private String openinvoicedataLineItemNrReturnShippingCompany;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_TRACKING_NUMBER =
        "openinvoicedataLine[itemNr].returnTrackingNumber";
    private String openinvoicedataLineItemNrReturnTrackingNumber;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_TRACKING_URI =
        "openinvoicedataLine[itemNr].returnTrackingUri";
    private String openinvoicedataLineItemNrReturnTrackingUri;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_SHIPPING_COMPANY =
        "openinvoicedataLine[itemNr].shippingCompany";
    private String openinvoicedataLineItemNrShippingCompany;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_SHIPPING_METHOD =
        "openinvoicedataLine[itemNr].shippingMethod";
    private String openinvoicedataLineItemNrShippingMethod;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_TRACKING_NUMBER =
        "openinvoicedataLine[itemNr].trackingNumber";
    private String openinvoicedataLineItemNrTrackingNumber;
  
    public static final String JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_TRACKING_URI =
        "openinvoicedataLine[itemNr].trackingUri";
    private String openinvoicedataLineItemNrTrackingUri;
  
    public AdditionalDataOpenInvoice() {}
  
    /**
     * Holds different merchant data points like product, purchase, customer, and so on. It takes data
     * in a Base64 encoded string. The &#x60;merchantData&#x60; parameter needs to be added to the
     * &#x60;openinvoicedata&#x60; signature at the end. Since the field is optional, if it&#39;s not
     * included it does not impact computing the merchant signature. Applies only to Klarna. You can
     * contact Klarna for the format and structure of the string.
     *
     * @param openinvoicedataMerchantData Holds different merchant data points like product, purchase,
     *     customer, and so on. It takes data in a Base64 encoded string. The &#x60;merchantData&#x60;
     *     parameter needs to be added to the &#x60;openinvoicedata&#x60; signature at the end. Since
     *     the field is optional, if it&#39;s not included it does not impact computing the merchant
     *     signature. Applies only to Klarna. You can contact Klarna for the format and structure of
     *     the string.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataMerchantData(String openinvoicedataMerchantData) {
      this.openinvoicedataMerchantData = openinvoicedataMerchantData;
      return this;
    }
  
    /**
     * Holds different merchant data points like product, purchase, customer, and so on. It takes data
     * in a Base64 encoded string. The &#x60;merchantData&#x60; parameter needs to be added to the
     * &#x60;openinvoicedata&#x60; signature at the end. Since the field is optional, if it&#39;s not
     * included it does not impact computing the merchant signature. Applies only to Klarna. You can
     * contact Klarna for the format and structure of the string.
     *
     * @return openinvoicedataMerchantData Holds different merchant data points like product,
     *     purchase, customer, and so on. It takes data in a Base64 encoded string. The
     *     &#x60;merchantData&#x60; parameter needs to be added to the &#x60;openinvoicedata&#x60;
     *     signature at the end. Since the field is optional, if it&#39;s not included it does not
     *     impact computing the merchant signature. Applies only to Klarna. You can contact Klarna for
     *     the format and structure of the string.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_MERCHANT_DATA)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataMerchantData() {
      return openinvoicedataMerchantData;
    }
  
    /**
     * Holds different merchant data points like product, purchase, customer, and so on. It takes data
     * in a Base64 encoded string. The &#x60;merchantData&#x60; parameter needs to be added to the
     * &#x60;openinvoicedata&#x60; signature at the end. Since the field is optional, if it&#39;s not
     * included it does not impact computing the merchant signature. Applies only to Klarna. You can
     * contact Klarna for the format and structure of the string.
     *
     * @param openinvoicedataMerchantData Holds different merchant data points like product, purchase,
     *     customer, and so on. It takes data in a Base64 encoded string. The &#x60;merchantData&#x60;
     *     parameter needs to be added to the &#x60;openinvoicedata&#x60; signature at the end. Since
     *     the field is optional, if it&#39;s not included it does not impact computing the merchant
     *     signature. Applies only to Klarna. You can contact Klarna for the format and structure of
     *     the string.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_MERCHANT_DATA)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataMerchantData(String openinvoicedataMerchantData) {
      this.openinvoicedataMerchantData = openinvoicedataMerchantData;
    }
  
    /**
     * The number of invoice lines included in &#x60;openinvoicedata&#x60;. There needs to be at least
     * one line, so &#x60;numberOfLines&#x60; needs to be at least 1.
     *
     * @param openinvoicedataNumberOfLines The number of invoice lines included in
     *     &#x60;openinvoicedata&#x60;. There needs to be at least one line, so
     *     &#x60;numberOfLines&#x60; needs to be at least 1.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataNumberOfLines(
        String openinvoicedataNumberOfLines) {
      this.openinvoicedataNumberOfLines = openinvoicedataNumberOfLines;
      return this;
    }
  
    /**
     * The number of invoice lines included in &#x60;openinvoicedata&#x60;. There needs to be at least
     * one line, so &#x60;numberOfLines&#x60; needs to be at least 1.
     *
     * @return openinvoicedataNumberOfLines The number of invoice lines included in
     *     &#x60;openinvoicedata&#x60;. There needs to be at least one line, so
     *     &#x60;numberOfLines&#x60; needs to be at least 1.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_NUMBER_OF_LINES)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataNumberOfLines() {
      return openinvoicedataNumberOfLines;
    }
  
    /**
     * The number of invoice lines included in &#x60;openinvoicedata&#x60;. There needs to be at least
     * one line, so &#x60;numberOfLines&#x60; needs to be at least 1.
     *
     * @param openinvoicedataNumberOfLines The number of invoice lines included in
     *     &#x60;openinvoicedata&#x60;. There needs to be at least one line, so
     *     &#x60;numberOfLines&#x60; needs to be at least 1.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_NUMBER_OF_LINES)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataNumberOfLines(String openinvoicedataNumberOfLines) {
      this.openinvoicedataNumberOfLines = openinvoicedataNumberOfLines;
    }
  
    /**
     * First name of the recipient. If the delivery address and the billing address are different,
     * specify the &#x60;recipientFirstName&#x60; and &#x60;recipientLastName&#x60; to share the
     * delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.
     *
     * @param openinvoicedataRecipientFirstName First name of the recipient. If the delivery address
     *     and the billing address are different, specify the &#x60;recipientFirstName&#x60; and
     *     &#x60;recipientLastName&#x60; to share the delivery address with Klarna. Otherwise, only
     *     the billing address is shared with Klarna.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataRecipientFirstName(
        String openinvoicedataRecipientFirstName) {
      this.openinvoicedataRecipientFirstName = openinvoicedataRecipientFirstName;
      return this;
    }
  
    /**
     * First name of the recipient. If the delivery address and the billing address are different,
     * specify the &#x60;recipientFirstName&#x60; and &#x60;recipientLastName&#x60; to share the
     * delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.
     *
     * @return openinvoicedataRecipientFirstName First name of the recipient. If the delivery address
     *     and the billing address are different, specify the &#x60;recipientFirstName&#x60; and
     *     &#x60;recipientLastName&#x60; to share the delivery address with Klarna. Otherwise, only
     *     the billing address is shared with Klarna.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_RECIPIENT_FIRST_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataRecipientFirstName() {
      return openinvoicedataRecipientFirstName;
    }
  
    /**
     * First name of the recipient. If the delivery address and the billing address are different,
     * specify the &#x60;recipientFirstName&#x60; and &#x60;recipientLastName&#x60; to share the
     * delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.
     *
     * @param openinvoicedataRecipientFirstName First name of the recipient. If the delivery address
     *     and the billing address are different, specify the &#x60;recipientFirstName&#x60; and
     *     &#x60;recipientLastName&#x60; to share the delivery address with Klarna. Otherwise, only
     *     the billing address is shared with Klarna.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_RECIPIENT_FIRST_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataRecipientFirstName(String openinvoicedataRecipientFirstName) {
      this.openinvoicedataRecipientFirstName = openinvoicedataRecipientFirstName;
    }
  
    /**
     * Last name of the recipient. If the delivery address and the billing address are different,
     * specify the &#x60;recipientFirstName&#x60; and &#x60;recipientLastName&#x60; to share the
     * delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.
     *
     * @param openinvoicedataRecipientLastName Last name of the recipient. If the delivery address and
     *     the billing address are different, specify the &#x60;recipientFirstName&#x60; and
     *     &#x60;recipientLastName&#x60; to share the delivery address with Klarna. Otherwise, only
     *     the billing address is shared with Klarna.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataRecipientLastName(
        String openinvoicedataRecipientLastName) {
      this.openinvoicedataRecipientLastName = openinvoicedataRecipientLastName;
      return this;
    }
  
    /**
     * Last name of the recipient. If the delivery address and the billing address are different,
     * specify the &#x60;recipientFirstName&#x60; and &#x60;recipientLastName&#x60; to share the
     * delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.
     *
     * @return openinvoicedataRecipientLastName Last name of the recipient. If the delivery address
     *     and the billing address are different, specify the &#x60;recipientFirstName&#x60; and
     *     &#x60;recipientLastName&#x60; to share the delivery address with Klarna. Otherwise, only
     *     the billing address is shared with Klarna.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_RECIPIENT_LAST_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataRecipientLastName() {
      return openinvoicedataRecipientLastName;
    }
  
    /**
     * Last name of the recipient. If the delivery address and the billing address are different,
     * specify the &#x60;recipientFirstName&#x60; and &#x60;recipientLastName&#x60; to share the
     * delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.
     *
     * @param openinvoicedataRecipientLastName Last name of the recipient. If the delivery address and
     *     the billing address are different, specify the &#x60;recipientFirstName&#x60; and
     *     &#x60;recipientLastName&#x60; to share the delivery address with Klarna. Otherwise, only
     *     the billing address is shared with Klarna.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_RECIPIENT_LAST_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataRecipientLastName(String openinvoicedataRecipientLastName) {
      this.openinvoicedataRecipientLastName = openinvoicedataRecipientLastName;
    }
  
    /**
     * The three-character ISO currency code.
     *
     * @param openinvoicedataLineItemNrCurrencyCode The three-character ISO currency code.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrCurrencyCode(
        String openinvoicedataLineItemNrCurrencyCode) {
      this.openinvoicedataLineItemNrCurrencyCode = openinvoicedataLineItemNrCurrencyCode;
      return this;
    }
  
    /**
     * The three-character ISO currency code.
     *
     * @return openinvoicedataLineItemNrCurrencyCode The three-character ISO currency code.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_CURRENCY_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrCurrencyCode() {
      return openinvoicedataLineItemNrCurrencyCode;
    }
  
    /**
     * The three-character ISO currency code.
     *
     * @param openinvoicedataLineItemNrCurrencyCode The three-character ISO currency code.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_CURRENCY_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrCurrencyCode(
        String openinvoicedataLineItemNrCurrencyCode) {
      this.openinvoicedataLineItemNrCurrencyCode = openinvoicedataLineItemNrCurrencyCode;
    }
  
    /**
     * A text description of the product the invoice line refers to.
     *
     * @param openinvoicedataLineItemNrDescription A text description of the product the invoice line
     *     refers to.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrDescription(
        String openinvoicedataLineItemNrDescription) {
      this.openinvoicedataLineItemNrDescription = openinvoicedataLineItemNrDescription;
      return this;
    }
  
    /**
     * A text description of the product the invoice line refers to.
     *
     * @return openinvoicedataLineItemNrDescription A text description of the product the invoice line
     *     refers to.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_DESCRIPTION)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrDescription() {
      return openinvoicedataLineItemNrDescription;
    }
  
    /**
     * A text description of the product the invoice line refers to.
     *
     * @param openinvoicedataLineItemNrDescription A text description of the product the invoice line
     *     refers to.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_DESCRIPTION)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrDescription(String openinvoicedataLineItemNrDescription) {
      this.openinvoicedataLineItemNrDescription = openinvoicedataLineItemNrDescription;
    }
  
    /**
     * The price for one item in the invoice line, represented in minor units. The due amount for the
     * item, VAT excluded.
     *
     * @param openinvoicedataLineItemNrItemAmount The price for one item in the invoice line,
     *     represented in minor units. The due amount for the item, VAT excluded.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrItemAmount(
        String openinvoicedataLineItemNrItemAmount) {
      this.openinvoicedataLineItemNrItemAmount = openinvoicedataLineItemNrItemAmount;
      return this;
    }
  
    /**
     * The price for one item in the invoice line, represented in minor units. The due amount for the
     * item, VAT excluded.
     *
     * @return openinvoicedataLineItemNrItemAmount The price for one item in the invoice line,
     *     represented in minor units. The due amount for the item, VAT excluded.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_AMOUNT)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrItemAmount() {
      return openinvoicedataLineItemNrItemAmount;
    }
  
    /**
     * The price for one item in the invoice line, represented in minor units. The due amount for the
     * item, VAT excluded.
     *
     * @param openinvoicedataLineItemNrItemAmount The price for one item in the invoice line,
     *     represented in minor units. The due amount for the item, VAT excluded.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_AMOUNT)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrItemAmount(String openinvoicedataLineItemNrItemAmount) {
      this.openinvoicedataLineItemNrItemAmount = openinvoicedataLineItemNrItemAmount;
    }
  
    /**
     * A unique id for this item. Required for RatePay if the description of each item is not unique.
     *
     * @param openinvoicedataLineItemNrItemId A unique id for this item. Required for RatePay if the
     *     description of each item is not unique.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrItemId(
        String openinvoicedataLineItemNrItemId) {
      this.openinvoicedataLineItemNrItemId = openinvoicedataLineItemNrItemId;
      return this;
    }
  
    /**
     * A unique id for this item. Required for RatePay if the description of each item is not unique.
     *
     * @return openinvoicedataLineItemNrItemId A unique id for this item. Required for RatePay if the
     *     description of each item is not unique.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_ID)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrItemId() {
      return openinvoicedataLineItemNrItemId;
    }
  
    /**
     * A unique id for this item. Required for RatePay if the description of each item is not unique.
     *
     * @param openinvoicedataLineItemNrItemId A unique id for this item. Required for RatePay if the
     *     description of each item is not unique.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_ID)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrItemId(String openinvoicedataLineItemNrItemId) {
      this.openinvoicedataLineItemNrItemId = openinvoicedataLineItemNrItemId;
    }
  
    /**
     * The VAT due for one item in the invoice line, represented in minor units.
     *
     * @param openinvoicedataLineItemNrItemVatAmount The VAT due for one item in the invoice line,
     *     represented in minor units.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrItemVatAmount(
        String openinvoicedataLineItemNrItemVatAmount) {
      this.openinvoicedataLineItemNrItemVatAmount = openinvoicedataLineItemNrItemVatAmount;
      return this;
    }
  
    /**
     * The VAT due for one item in the invoice line, represented in minor units.
     *
     * @return openinvoicedataLineItemNrItemVatAmount The VAT due for one item in the invoice line,
     *     represented in minor units.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_VAT_AMOUNT)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrItemVatAmount() {
      return openinvoicedataLineItemNrItemVatAmount;
    }
  
    /**
     * The VAT due for one item in the invoice line, represented in minor units.
     *
     * @param openinvoicedataLineItemNrItemVatAmount The VAT due for one item in the invoice line,
     *     represented in minor units.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_VAT_AMOUNT)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrItemVatAmount(
        String openinvoicedataLineItemNrItemVatAmount) {
      this.openinvoicedataLineItemNrItemVatAmount = openinvoicedataLineItemNrItemVatAmount;
    }
  
    /**
     * The VAT percentage for one item in the invoice line, represented in minor units. For example,
     * 19% VAT is specified as 1900.
     *
     * @param openinvoicedataLineItemNrItemVatPercentage The VAT percentage for one item in the
     *     invoice line, represented in minor units. For example, 19% VAT is specified as 1900.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrItemVatPercentage(
        String openinvoicedataLineItemNrItemVatPercentage) {
      this.openinvoicedataLineItemNrItemVatPercentage = openinvoicedataLineItemNrItemVatPercentage;
      return this;
    }
  
    /**
     * The VAT percentage for one item in the invoice line, represented in minor units. For example,
     * 19% VAT is specified as 1900.
     *
     * @return openinvoicedataLineItemNrItemVatPercentage The VAT percentage for one item in the
     *     invoice line, represented in minor units. For example, 19% VAT is specified as 1900.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_VAT_PERCENTAGE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrItemVatPercentage() {
      return openinvoicedataLineItemNrItemVatPercentage;
    }
  
    /**
     * The VAT percentage for one item in the invoice line, represented in minor units. For example,
     * 19% VAT is specified as 1900.
     *
     * @param openinvoicedataLineItemNrItemVatPercentage The VAT percentage for one item in the
     *     invoice line, represented in minor units. For example, 19% VAT is specified as 1900.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_ITEM_VAT_PERCENTAGE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrItemVatPercentage(
        String openinvoicedataLineItemNrItemVatPercentage) {
      this.openinvoicedataLineItemNrItemVatPercentage = openinvoicedataLineItemNrItemVatPercentage;
    }
  
    /**
     * The number of units purchased of a specific product.
     *
     * @param openinvoicedataLineItemNrNumberOfItems The number of units purchased of a specific
     *     product.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrNumberOfItems(
        String openinvoicedataLineItemNrNumberOfItems) {
      this.openinvoicedataLineItemNrNumberOfItems = openinvoicedataLineItemNrNumberOfItems;
      return this;
    }
  
    /**
     * The number of units purchased of a specific product.
     *
     * @return openinvoicedataLineItemNrNumberOfItems The number of units purchased of a specific
     *     product.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_NUMBER_OF_ITEMS)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrNumberOfItems() {
      return openinvoicedataLineItemNrNumberOfItems;
    }
  
    /**
     * The number of units purchased of a specific product.
     *
     * @param openinvoicedataLineItemNrNumberOfItems The number of units purchased of a specific
     *     product.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_NUMBER_OF_ITEMS)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrNumberOfItems(
        String openinvoicedataLineItemNrNumberOfItems) {
      this.openinvoicedataLineItemNrNumberOfItems = openinvoicedataLineItemNrNumberOfItems;
    }
  
    /**
     * Name of the shipping company handling the the return shipment.
     *
     * @param openinvoicedataLineItemNrReturnShippingCompany Name of the shipping company handling the
     *     the return shipment.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrReturnShippingCompany(
        String openinvoicedataLineItemNrReturnShippingCompany) {
      this.openinvoicedataLineItemNrReturnShippingCompany =
          openinvoicedataLineItemNrReturnShippingCompany;
      return this;
    }
  
    /**
     * Name of the shipping company handling the the return shipment.
     *
     * @return openinvoicedataLineItemNrReturnShippingCompany Name of the shipping company handling
     *     the the return shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_SHIPPING_COMPANY)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrReturnShippingCompany() {
      return openinvoicedataLineItemNrReturnShippingCompany;
    }
  
    /**
     * Name of the shipping company handling the the return shipment.
     *
     * @param openinvoicedataLineItemNrReturnShippingCompany Name of the shipping company handling the
     *     the return shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_SHIPPING_COMPANY)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrReturnShippingCompany(
        String openinvoicedataLineItemNrReturnShippingCompany) {
      this.openinvoicedataLineItemNrReturnShippingCompany =
          openinvoicedataLineItemNrReturnShippingCompany;
    }
  
    /**
     * The tracking number for the return of the shipment.
     *
     * @param openinvoicedataLineItemNrReturnTrackingNumber The tracking number for the return of the
     *     shipment.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrReturnTrackingNumber(
        String openinvoicedataLineItemNrReturnTrackingNumber) {
      this.openinvoicedataLineItemNrReturnTrackingNumber =
          openinvoicedataLineItemNrReturnTrackingNumber;
      return this;
    }
  
    /**
     * The tracking number for the return of the shipment.
     *
     * @return openinvoicedataLineItemNrReturnTrackingNumber The tracking number for the return of the
     *     shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_TRACKING_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrReturnTrackingNumber() {
      return openinvoicedataLineItemNrReturnTrackingNumber;
    }
  
    /**
     * The tracking number for the return of the shipment.
     *
     * @param openinvoicedataLineItemNrReturnTrackingNumber The tracking number for the return of the
     *     shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_TRACKING_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrReturnTrackingNumber(
        String openinvoicedataLineItemNrReturnTrackingNumber) {
      this.openinvoicedataLineItemNrReturnTrackingNumber =
          openinvoicedataLineItemNrReturnTrackingNumber;
    }
  
    /**
     * URI where the customer can track the return of their shipment.
     *
     * @param openinvoicedataLineItemNrReturnTrackingUri URI where the customer can track the return
     *     of their shipment.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrReturnTrackingUri(
        String openinvoicedataLineItemNrReturnTrackingUri) {
      this.openinvoicedataLineItemNrReturnTrackingUri = openinvoicedataLineItemNrReturnTrackingUri;
      return this;
    }
  
    /**
     * URI where the customer can track the return of their shipment.
     *
     * @return openinvoicedataLineItemNrReturnTrackingUri URI where the customer can track the return
     *     of their shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_TRACKING_URI)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrReturnTrackingUri() {
      return openinvoicedataLineItemNrReturnTrackingUri;
    }
  
    /**
     * URI where the customer can track the return of their shipment.
     *
     * @param openinvoicedataLineItemNrReturnTrackingUri URI where the customer can track the return
     *     of their shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_RETURN_TRACKING_URI)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrReturnTrackingUri(
        String openinvoicedataLineItemNrReturnTrackingUri) {
      this.openinvoicedataLineItemNrReturnTrackingUri = openinvoicedataLineItemNrReturnTrackingUri;
    }
  
    /**
     * Name of the shipping company handling the delivery.
     *
     * @param openinvoicedataLineItemNrShippingCompany Name of the shipping company handling the
     *     delivery.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrShippingCompany(
        String openinvoicedataLineItemNrShippingCompany) {
      this.openinvoicedataLineItemNrShippingCompany = openinvoicedataLineItemNrShippingCompany;
      return this;
    }
  
    /**
     * Name of the shipping company handling the delivery.
     *
     * @return openinvoicedataLineItemNrShippingCompany Name of the shipping company handling the
     *     delivery.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_SHIPPING_COMPANY)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrShippingCompany() {
      return openinvoicedataLineItemNrShippingCompany;
    }
  
    /**
     * Name of the shipping company handling the delivery.
     *
     * @param openinvoicedataLineItemNrShippingCompany Name of the shipping company handling the
     *     delivery.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_SHIPPING_COMPANY)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrShippingCompany(
        String openinvoicedataLineItemNrShippingCompany) {
      this.openinvoicedataLineItemNrShippingCompany = openinvoicedataLineItemNrShippingCompany;
    }
  
    /**
     * Shipping method.
     *
     * @param openinvoicedataLineItemNrShippingMethod Shipping method.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrShippingMethod(
        String openinvoicedataLineItemNrShippingMethod) {
      this.openinvoicedataLineItemNrShippingMethod = openinvoicedataLineItemNrShippingMethod;
      return this;
    }
  
    /**
     * Shipping method.
     *
     * @return openinvoicedataLineItemNrShippingMethod Shipping method.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_SHIPPING_METHOD)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrShippingMethod() {
      return openinvoicedataLineItemNrShippingMethod;
    }
  
    /**
     * Shipping method.
     *
     * @param openinvoicedataLineItemNrShippingMethod Shipping method.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_SHIPPING_METHOD)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrShippingMethod(
        String openinvoicedataLineItemNrShippingMethod) {
      this.openinvoicedataLineItemNrShippingMethod = openinvoicedataLineItemNrShippingMethod;
    }
  
    /**
     * The tracking number for the shipment.
     *
     * @param openinvoicedataLineItemNrTrackingNumber The tracking number for the shipment.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrTrackingNumber(
        String openinvoicedataLineItemNrTrackingNumber) {
      this.openinvoicedataLineItemNrTrackingNumber = openinvoicedataLineItemNrTrackingNumber;
      return this;
    }
  
    /**
     * The tracking number for the shipment.
     *
     * @return openinvoicedataLineItemNrTrackingNumber The tracking number for the shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_TRACKING_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrTrackingNumber() {
      return openinvoicedataLineItemNrTrackingNumber;
    }
  
    /**
     * The tracking number for the shipment.
     *
     * @param openinvoicedataLineItemNrTrackingNumber The tracking number for the shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_TRACKING_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrTrackingNumber(
        String openinvoicedataLineItemNrTrackingNumber) {
      this.openinvoicedataLineItemNrTrackingNumber = openinvoicedataLineItemNrTrackingNumber;
    }
  
    /**
     * URI where the customer can track their shipment.
     *
     * @param openinvoicedataLineItemNrTrackingUri URI where the customer can track their shipment.
     * @return the current {@code AdditionalDataOpenInvoice} instance, allowing for method chaining
     */
    public AdditionalDataOpenInvoice openinvoicedataLineItemNrTrackingUri(
        String openinvoicedataLineItemNrTrackingUri) {
      this.openinvoicedataLineItemNrTrackingUri = openinvoicedataLineItemNrTrackingUri;
      return this;
    }
  
    /**
     * URI where the customer can track their shipment.
     *
     * @return openinvoicedataLineItemNrTrackingUri URI where the customer can track their shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_TRACKING_URI)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getOpeninvoicedataLineItemNrTrackingUri() {
      return openinvoicedataLineItemNrTrackingUri;
    }
  
    /**
     * URI where the customer can track their shipment.
     *
     * @param openinvoicedataLineItemNrTrackingUri URI where the customer can track their shipment.
     */
    @JsonProperty(JSON_PROPERTY_OPENINVOICEDATA_LINE_ITEM_NR_TRACKING_URI)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setOpeninvoicedataLineItemNrTrackingUri(String openinvoicedataLineItemNrTrackingUri) {
      this.openinvoicedataLineItemNrTrackingUri = openinvoicedataLineItemNrTrackingUri;
    }
  
    /** Return true if this AdditionalDataOpenInvoice object is equal to o. */
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }
      AdditionalDataOpenInvoice additionalDataOpenInvoice = (AdditionalDataOpenInvoice) o;
      return Objects.equals(
              this.openinvoicedataMerchantData, additionalDataOpenInvoice.openinvoicedataMerchantData)
          && Objects.equals(
              this.openinvoicedataNumberOfLines,
              additionalDataOpenInvoice.openinvoicedataNumberOfLines)
          && Objects.equals(
              this.openinvoicedataRecipientFirstName,
              additionalDataOpenInvoice.openinvoicedataRecipientFirstName)
          && Objects.equals(
              this.openinvoicedataRecipientLastName,
              additionalDataOpenInvoice.openinvoicedataRecipientLastName)
          && Objects.equals(
              this.openinvoicedataLineItemNrCurrencyCode,
              additionalDataOpenInvoice.openinvoicedataLineItemNrCurrencyCode)
          && Objects.equals(
              this.openinvoicedataLineItemNrDescription,
              additionalDataOpenInvoice.openinvoicedataLineItemNrDescription)
          && Objects.equals(
              this.openinvoicedataLineItemNrItemAmount,
              additionalDataOpenInvoice.openinvoicedataLineItemNrItemAmount)
          && Objects.equals(
              this.openinvoicedataLineItemNrItemId,
              additionalDataOpenInvoice.openinvoicedataLineItemNrItemId)
          && Objects.equals(
              this.openinvoicedataLineItemNrItemVatAmount,
              additionalDataOpenInvoice.openinvoicedataLineItemNrItemVatAmount)
          && Objects.equals(
              this.openinvoicedataLineItemNrItemVatPercentage,
              additionalDataOpenInvoice.openinvoicedataLineItemNrItemVatPercentage)
          && Objects.equals(
              this.openinvoicedataLineItemNrNumberOfItems,
              additionalDataOpenInvoice.openinvoicedataLineItemNrNumberOfItems)
          && Objects.equals(
              this.openinvoicedataLineItemNrReturnShippingCompany,
              additionalDataOpenInvoice.openinvoicedataLineItemNrReturnShippingCompany)
          && Objects.equals(
              this.openinvoicedataLineItemNrReturnTrackingNumber,
              additionalDataOpenInvoice.openinvoicedataLineItemNrReturnTrackingNumber)
          && Objects.equals(
              this.openinvoicedataLineItemNrReturnTrackingUri,
              additionalDataOpenInvoice.openinvoicedataLineItemNrReturnTrackingUri)
          && Objects.equals(
              this.openinvoicedataLineItemNrShippingCompany,
              additionalDataOpenInvoice.openinvoicedataLineItemNrShippingCompany)
          && Objects.equals(
              this.openinvoicedataLineItemNrShippingMethod,
              additionalDataOpenInvoice.openinvoicedataLineItemNrShippingMethod)
          && Objects.equals(
              this.openinvoicedataLineItemNrTrackingNumber,
              additionalDataOpenInvoice.openinvoicedataLineItemNrTrackingNumber)
          && Objects.equals(
              this.openinvoicedataLineItemNrTrackingUri,
              additionalDataOpenInvoice.openinvoicedataLineItemNrTrackingUri);
    }
  
    @Override
    public int hashCode() {
      return Objects.hash(
          openinvoicedataMerchantData,
          openinvoicedataNumberOfLines,
          openinvoicedataRecipientFirstName,
          openinvoicedataRecipientLastName,
          openinvoicedataLineItemNrCurrencyCode,
          openinvoicedataLineItemNrDescription,
          openinvoicedataLineItemNrItemAmount,
          openinvoicedataLineItemNrItemId,
          openinvoicedataLineItemNrItemVatAmount,
          openinvoicedataLineItemNrItemVatPercentage,
          openinvoicedataLineItemNrNumberOfItems,
          openinvoicedataLineItemNrReturnShippingCompany,
          openinvoicedataLineItemNrReturnTrackingNumber,
          openinvoicedataLineItemNrReturnTrackingUri,
          openinvoicedataLineItemNrShippingCompany,
          openinvoicedataLineItemNrShippingMethod,
          openinvoicedataLineItemNrTrackingNumber,
          openinvoicedataLineItemNrTrackingUri);
    }
  
    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class AdditionalDataOpenInvoice {\n");
      sb.append("    openinvoicedataMerchantData: ")
          .append(toIndentedString(openinvoicedataMerchantData))
          .append("\n");
      sb.append("    openinvoicedataNumberOfLines: ")
          .append(toIndentedString(openinvoicedataNumberOfLines))
          .append("\n");
      sb.append("    openinvoicedataRecipientFirstName: ")
          .append(toIndentedString(openinvoicedataRecipientFirstName))
          .append("\n");
      sb.append("    openinvoicedataRecipientLastName: ")
          .append(toIndentedString(openinvoicedataRecipientLastName))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrCurrencyCode: ")
          .append(toIndentedString(openinvoicedataLineItemNrCurrencyCode))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrDescription: ")
          .append(toIndentedString(openinvoicedataLineItemNrDescription))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrItemAmount: ")
          .append(toIndentedString(openinvoicedataLineItemNrItemAmount))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrItemId: ")
          .append(toIndentedString(openinvoicedataLineItemNrItemId))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrItemVatAmount: ")
          .append(toIndentedString(openinvoicedataLineItemNrItemVatAmount))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrItemVatPercentage: ")
          .append(toIndentedString(openinvoicedataLineItemNrItemVatPercentage))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrNumberOfItems: ")
          .append(toIndentedString(openinvoicedataLineItemNrNumberOfItems))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrReturnShippingCompany: ")
          .append(toIndentedString(openinvoicedataLineItemNrReturnShippingCompany))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrReturnTrackingNumber: ")
          .append(toIndentedString(openinvoicedataLineItemNrReturnTrackingNumber))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrReturnTrackingUri: ")
          .append(toIndentedString(openinvoicedataLineItemNrReturnTrackingUri))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrShippingCompany: ")
          .append(toIndentedString(openinvoicedataLineItemNrShippingCompany))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrShippingMethod: ")
          .append(toIndentedString(openinvoicedataLineItemNrShippingMethod))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrTrackingNumber: ")
          .append(toIndentedString(openinvoicedataLineItemNrTrackingNumber))
          .append("\n");
      sb.append("    openinvoicedataLineItemNrTrackingUri: ")
          .append(toIndentedString(openinvoicedataLineItemNrTrackingUri))
          .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 AdditionalDataOpenInvoice given an JSON string
     *
     * @param jsonString JSON string
     * @return An instance of AdditionalDataOpenInvoice
     * @throws JsonProcessingException if the JSON string is invalid with respect to
     *     AdditionalDataOpenInvoice
     */
    public static AdditionalDataOpenInvoice fromJson(String jsonString)
        throws JsonProcessingException {
      return JSON.getMapper().readValue(jsonString, AdditionalDataOpenInvoice.class);
    }
  
    /**
     * Convert an instance of AdditionalDataOpenInvoice to an JSON string
     *
     * @return JSON string
     */
    public String toJson() throws JsonProcessingException {
      return JSON.getMapper().writeValueAsString(this);
    }
  }
  