/*
 * Swagger of Opencellsoft Api
 * @#Introduction
 *
 * The version of the OpenAPI document: 7.3.1-SNAPSHOT
 * Contact: contact@opencellsoft.fr
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package org.openapitools.client.model;

import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.openapitools.client.model.AccountOperation;
import org.openapitools.client.model.AccountingCode;
import org.openapitools.client.model.AccountingWriting;
import org.openapitools.client.model.Auditable;
import org.openapitools.client.model.AuditableFieldHistory;
import org.openapitools.client.model.BusinessEntity;
import org.openapitools.client.model.CustomFieldValues;
import org.openapitools.client.model.CustomerAccount;
import org.openapitools.client.model.DDRequestItem;
import org.openapitools.client.model.ICustomFieldEntity;
import org.openapitools.client.model.PaymentVentilation;
import org.openapitools.client.model.Seller;
import org.openapitools.client.model.Subscription;
import org.threeten.bp.OffsetDateTime;

/**
 * RejectedPayment
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2019-09-13T10:03:17.753Z[GMT]")
public class RejectedPayment {
  public static final String SERIALIZED_NAME_ID = "id";
  @SerializedName(SERIALIZED_NAME_ID)
  private Long id;

  public static final String SERIALIZED_NAME_VERSION = "version";
  @SerializedName(SERIALIZED_NAME_VERSION)
  private Integer version;

  public static final String SERIALIZED_NAME_AUDITABLE = "auditable";
  @SerializedName(SERIALIZED_NAME_AUDITABLE)
  private Auditable auditable;

  public static final String SERIALIZED_NAME_HISTORIZED = "historized";
  @SerializedName(SERIALIZED_NAME_HISTORIZED)
  private Boolean historized;

  public static final String SERIALIZED_NAME_NOTIFIED = "notified";
  @SerializedName(SERIALIZED_NAME_NOTIFIED)
  private Boolean notified;

  public static final String SERIALIZED_NAME_AUDITABLE_FIELDS = "auditableFields";
  @SerializedName(SERIALIZED_NAME_AUDITABLE_FIELDS)
  private List<AuditableFieldHistory> auditableFields = null;

  public static final String SERIALIZED_NAME_CODE = "code";
  @SerializedName(SERIALIZED_NAME_CODE)
  private String code;

  public static final String SERIALIZED_NAME_DESCRIPTION = "description";
  @SerializedName(SERIALIZED_NAME_DESCRIPTION)
  private String description;

  public static final String SERIALIZED_NAME_APPEND_GENERATED_CODE = "appendGeneratedCode";
  @SerializedName(SERIALIZED_NAME_APPEND_GENERATED_CODE)
  private Boolean appendGeneratedCode;

  public static final String SERIALIZED_NAME_DUE_DATE = "dueDate";
  @SerializedName(SERIALIZED_NAME_DUE_DATE)
  private OffsetDateTime dueDate;

  public static final String SERIALIZED_NAME_TYPE = "type";
  @SerializedName(SERIALIZED_NAME_TYPE)
  private String type;

  public static final String SERIALIZED_NAME_TRANSACTION_DATE = "transactionDate";
  @SerializedName(SERIALIZED_NAME_TRANSACTION_DATE)
  private OffsetDateTime transactionDate;

  /**
   * Gets or Sets transactionCategory
   */
  @JsonAdapter(TransactionCategoryEnum.Adapter.class)
  public enum TransactionCategoryEnum {
    DEBIT("DEBIT"),
    
    CREDIT("CREDIT");

    private String value;

    TransactionCategoryEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static TransactionCategoryEnum fromValue(String value) {
      for (TransactionCategoryEnum b : TransactionCategoryEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    public static class Adapter extends TypeAdapter<TransactionCategoryEnum> {
      @Override
      public void write(final JsonWriter jsonWriter, final TransactionCategoryEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public TransactionCategoryEnum read(final JsonReader jsonReader) throws IOException {
        String value = jsonReader.nextString();
        return TransactionCategoryEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_TRANSACTION_CATEGORY = "transactionCategory";
  @SerializedName(SERIALIZED_NAME_TRANSACTION_CATEGORY)
  private TransactionCategoryEnum transactionCategory;

  public static final String SERIALIZED_NAME_REFERENCE = "reference";
  @SerializedName(SERIALIZED_NAME_REFERENCE)
  private String reference;

  public static final String SERIALIZED_NAME_ACCOUNTING_CODE = "accountingCode";
  @SerializedName(SERIALIZED_NAME_ACCOUNTING_CODE)
  private AccountingCode accountingCode;

  public static final String SERIALIZED_NAME_ACCOUNTING_WRITINGS = "accountingWritings";
  @SerializedName(SERIALIZED_NAME_ACCOUNTING_WRITINGS)
  private List<AccountingWriting> accountingWritings = null;

  public static final String SERIALIZED_NAME_ACCOUNT_CODE_CLIENT_SIDE = "accountCodeClientSide";
  @SerializedName(SERIALIZED_NAME_ACCOUNT_CODE_CLIENT_SIDE)
  private String accountCodeClientSide;

  public static final String SERIALIZED_NAME_AMOUNT = "amount";
  @SerializedName(SERIALIZED_NAME_AMOUNT)
  private BigDecimal amount;

  public static final String SERIALIZED_NAME_AMOUNT_WITHOUT_TAX = "amountWithoutTax";
  @SerializedName(SERIALIZED_NAME_AMOUNT_WITHOUT_TAX)
  private BigDecimal amountWithoutTax;

  public static final String SERIALIZED_NAME_TAX_AMOUNT = "taxAmount";
  @SerializedName(SERIALIZED_NAME_TAX_AMOUNT)
  private BigDecimal taxAmount;

  public static final String SERIALIZED_NAME_MATCHING_AMOUNT = "matchingAmount";
  @SerializedName(SERIALIZED_NAME_MATCHING_AMOUNT)
  private BigDecimal matchingAmount;

  public static final String SERIALIZED_NAME_UN_MATCHING_AMOUNT = "unMatchingAmount";
  @SerializedName(SERIALIZED_NAME_UN_MATCHING_AMOUNT)
  private BigDecimal unMatchingAmount;

  public static final String SERIALIZED_NAME_CUSTOMER_ACCOUNT = "customerAccount";
  @SerializedName(SERIALIZED_NAME_CUSTOMER_ACCOUNT)
  private CustomerAccount customerAccount;

  /**
   * Gets or Sets matchingStatus
   */
  @JsonAdapter(MatchingStatusEnum.Adapter.class)
  public enum MatchingStatusEnum {
    O("O"),
    
    L("L"),
    
    P("P"),
    
    C("C"),
    
    I("I"),
    
    R("R");

    private String value;

    MatchingStatusEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static MatchingStatusEnum fromValue(String value) {
      for (MatchingStatusEnum b : MatchingStatusEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    public static class Adapter extends TypeAdapter<MatchingStatusEnum> {
      @Override
      public void write(final JsonWriter jsonWriter, final MatchingStatusEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public MatchingStatusEnum read(final JsonReader jsonReader) throws IOException {
        String value = jsonReader.nextString();
        return MatchingStatusEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_MATCHING_STATUS = "matchingStatus";
  @SerializedName(SERIALIZED_NAME_MATCHING_STATUS)
  private MatchingStatusEnum matchingStatus;

  public static final String SERIALIZED_NAME_ORDER_NUMBER = "orderNumber";
  @SerializedName(SERIALIZED_NAME_ORDER_NUMBER)
  private String orderNumber;

  public static final String SERIALIZED_NAME_UUID = "uuid";
  @SerializedName(SERIALIZED_NAME_UUID)
  private String uuid;

  public static final String SERIALIZED_NAME_CF_VALUES = "cfValues";
  @SerializedName(SERIALIZED_NAME_CF_VALUES)
  private CustomFieldValues cfValues;

  public static final String SERIALIZED_NAME_CF_ACCUMULATED_VALUES = "cfAccumulatedValues";
  @SerializedName(SERIALIZED_NAME_CF_ACCUMULATED_VALUES)
  private CustomFieldValues cfAccumulatedValues;

  public static final String SERIALIZED_NAME_BANK_LOT = "bankLot";
  @SerializedName(SERIALIZED_NAME_BANK_LOT)
  private String bankLot;

  public static final String SERIALIZED_NAME_BANK_REFERENCE = "bankReference";
  @SerializedName(SERIALIZED_NAME_BANK_REFERENCE)
  private String bankReference;

  public static final String SERIALIZED_NAME_DEPOSIT_DATE = "depositDate";
  @SerializedName(SERIALIZED_NAME_DEPOSIT_DATE)
  private OffsetDateTime depositDate;

  public static final String SERIALIZED_NAME_BANK_COLLECTION_DATE = "bankCollectionDate";
  @SerializedName(SERIALIZED_NAME_BANK_COLLECTION_DATE)
  private OffsetDateTime bankCollectionDate;

  /**
   * Gets or Sets paymentMethod
   */
  @JsonAdapter(PaymentMethodEnum.Adapter.class)
  public enum PaymentMethodEnum {
    CHECK("CHECK"),
    
    DIRECTDEBIT("DIRECTDEBIT"),
    
    WIRETRANSFER("WIRETRANSFER"),
    
    CARD("CARD");

    private String value;

    PaymentMethodEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static PaymentMethodEnum fromValue(String value) {
      for (PaymentMethodEnum b : PaymentMethodEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    public static class Adapter extends TypeAdapter<PaymentMethodEnum> {
      @Override
      public void write(final JsonWriter jsonWriter, final PaymentMethodEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public PaymentMethodEnum read(final JsonReader jsonReader) throws IOException {
        String value = jsonReader.nextString();
        return PaymentMethodEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_PAYMENT_METHOD = "paymentMethod";
  @SerializedName(SERIALIZED_NAME_PAYMENT_METHOD)
  private PaymentMethodEnum paymentMethod;

  public static final String SERIALIZED_NAME_PAYMENT_INFO = "paymentInfo";
  @SerializedName(SERIALIZED_NAME_PAYMENT_INFO)
  private String paymentInfo;

  public static final String SERIALIZED_NAME_PAYMENT_INFO1 = "paymentInfo1";
  @SerializedName(SERIALIZED_NAME_PAYMENT_INFO1)
  private String paymentInfo1;

  public static final String SERIALIZED_NAME_PAYMENT_INFO2 = "paymentInfo2";
  @SerializedName(SERIALIZED_NAME_PAYMENT_INFO2)
  private String paymentInfo2;

  public static final String SERIALIZED_NAME_PAYMENT_INFO3 = "paymentInfo3";
  @SerializedName(SERIALIZED_NAME_PAYMENT_INFO3)
  private String paymentInfo3;

  public static final String SERIALIZED_NAME_PAYMENT_INFO4 = "paymentInfo4";
  @SerializedName(SERIALIZED_NAME_PAYMENT_INFO4)
  private String paymentInfo4;

  public static final String SERIALIZED_NAME_PAYMENT_INFO5 = "paymentInfo5";
  @SerializedName(SERIALIZED_NAME_PAYMENT_INFO5)
  private String paymentInfo5;

  public static final String SERIALIZED_NAME_PAYMENT_INFO6 = "paymentInfo6";
  @SerializedName(SERIALIZED_NAME_PAYMENT_INFO6)
  private String paymentInfo6;

  public static final String SERIALIZED_NAME_BILLING_ACCOUNT_NAME = "billingAccountName";
  @SerializedName(SERIALIZED_NAME_BILLING_ACCOUNT_NAME)
  private String billingAccountName;

  public static final String SERIALIZED_NAME_DD_REQUEST_ITEM = "ddRequestItem";
  @SerializedName(SERIALIZED_NAME_DD_REQUEST_ITEM)
  private DDRequestItem ddRequestItem;

  public static final String SERIALIZED_NAME_REJECTED_PAYMENT = "rejectedPayment";
  @SerializedName(SERIALIZED_NAME_REJECTED_PAYMENT)
  private RejectedPayment rejectedPayment;

  public static final String SERIALIZED_NAME_SELLER = "seller";
  @SerializedName(SERIALIZED_NAME_SELLER)
  private Seller seller;

  public static final String SERIALIZED_NAME_PAYMENT_VENTILATION = "paymentVentilation";
  @SerializedName(SERIALIZED_NAME_PAYMENT_VENTILATION)
  private PaymentVentilation paymentVentilation;

  public static final String SERIALIZED_NAME_SUBSCRIPTION = "subscription";
  @SerializedName(SERIALIZED_NAME_SUBSCRIPTION)
  private Subscription subscription;

  /**
   * Gets or Sets rejectedType
   */
  @JsonAdapter(RejectedTypeEnum.Adapter.class)
  public enum RejectedTypeEnum {
    A("A"),
    
    M("M");

    private String value;

    RejectedTypeEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static RejectedTypeEnum fromValue(String value) {
      for (RejectedTypeEnum b : RejectedTypeEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    public static class Adapter extends TypeAdapter<RejectedTypeEnum> {
      @Override
      public void write(final JsonWriter jsonWriter, final RejectedTypeEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public RejectedTypeEnum read(final JsonReader jsonReader) throws IOException {
        String value = jsonReader.nextString();
        return RejectedTypeEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_REJECTED_TYPE = "rejectedType";
  @SerializedName(SERIALIZED_NAME_REJECTED_TYPE)
  private RejectedTypeEnum rejectedType;

  public static final String SERIALIZED_NAME_REJECTED_DATE = "rejectedDate";
  @SerializedName(SERIALIZED_NAME_REJECTED_DATE)
  private OffsetDateTime rejectedDate;

  public static final String SERIALIZED_NAME_REJECTED_DESCRIPTION = "rejectedDescription";
  @SerializedName(SERIALIZED_NAME_REJECTED_DESCRIPTION)
  private String rejectedDescription;

  public static final String SERIALIZED_NAME_REJECTED_CODE = "rejectedCode";
  @SerializedName(SERIALIZED_NAME_REJECTED_CODE)
  private String rejectedCode;

  public static final String SERIALIZED_NAME_LIST_AACCOUNT_OPERATION_SUPPOSED_PAID = "listAaccountOperationSupposedPaid";
  @SerializedName(SERIALIZED_NAME_LIST_AACCOUNT_OPERATION_SUPPOSED_PAID)
  private List<AccountOperation> listAaccountOperationSupposedPaid = null;

  public static final String SERIALIZED_NAME_PARENT_C_F_ENTITIES = "parentCFEntities";
  @SerializedName(SERIALIZED_NAME_PARENT_C_F_ENTITIES)
  private List<ICustomFieldEntity> parentCFEntities = null;

  public static final String SERIALIZED_NAME_CF_VALUES_NULL_SAFE = "cfValuesNullSafe";
  @SerializedName(SERIALIZED_NAME_CF_VALUES_NULL_SAFE)
  private CustomFieldValues cfValuesNullSafe;

  public static final String SERIALIZED_NAME_CF_VALUES_AS_VALUES = "cfValuesAsValues";
  @SerializedName(SERIALIZED_NAME_CF_VALUES_AS_VALUES)
  private Map<String, Object> cfValuesAsValues = null;

  public static final String SERIALIZED_NAME_CF_ACCUMULATED_VALUES_NULL_SAFE = "cfAccumulatedValuesNullSafe";
  @SerializedName(SERIALIZED_NAME_CF_ACCUMULATED_VALUES_NULL_SAFE)
  private CustomFieldValues cfAccumulatedValuesNullSafe;

  public static final String SERIALIZED_NAME_DESCRIPTION_OR_CODE = "descriptionOrCode";
  @SerializedName(SERIALIZED_NAME_DESCRIPTION_OR_CODE)
  private String descriptionOrCode;

  public static final String SERIALIZED_NAME_DESCRIPTION_AND_CODE = "descriptionAndCode";
  @SerializedName(SERIALIZED_NAME_DESCRIPTION_AND_CODE)
  private String descriptionAndCode;

  public static final String SERIALIZED_NAME_REFERENCE_CODE = "referenceCode";
  @SerializedName(SERIALIZED_NAME_REFERENCE_CODE)
  private String referenceCode;

  public static final String SERIALIZED_NAME_REFERENCE_DESCRIPTION = "referenceDescription";
  @SerializedName(SERIALIZED_NAME_REFERENCE_DESCRIPTION)
  private String referenceDescription;

  public static final String SERIALIZED_NAME_CODE_CHANGED = "codeChanged";
  @SerializedName(SERIALIZED_NAME_CODE_CHANGED)
  private Boolean codeChanged;

  public static final String SERIALIZED_NAME_PARENT_ENTITY = "parentEntity";
  @SerializedName(SERIALIZED_NAME_PARENT_ENTITY)
  private BusinessEntity parentEntity;

  public static final String SERIALIZED_NAME_TRANSIENT = "transient";
  @SerializedName(SERIALIZED_NAME_TRANSIENT)
  private Boolean _transient;


  public RejectedPayment id(Long id) {
    
    this.id = id;
    return this;
  }

   /**
   * Get id
   * @return id
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Long getId() {
    return id;
  }



  public void setId(Long id) {
    this.id = id;
  }


  public RejectedPayment version(Integer version) {
    
    this.version = version;
    return this;
  }

   /**
   * Get version
   * @return version
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Integer getVersion() {
    return version;
  }



  public void setVersion(Integer version) {
    this.version = version;
  }


  public RejectedPayment auditable(Auditable auditable) {
    
    this.auditable = auditable;
    return this;
  }

   /**
   * Get auditable
   * @return auditable
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Auditable getAuditable() {
    return auditable;
  }



  public void setAuditable(Auditable auditable) {
    this.auditable = auditable;
  }


  public RejectedPayment historized(Boolean historized) {
    
    this.historized = historized;
    return this;
  }

   /**
   * Get historized
   * @return historized
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Boolean getHistorized() {
    return historized;
  }



  public void setHistorized(Boolean historized) {
    this.historized = historized;
  }


  public RejectedPayment notified(Boolean notified) {
    
    this.notified = notified;
    return this;
  }

   /**
   * Get notified
   * @return notified
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Boolean getNotified() {
    return notified;
  }



  public void setNotified(Boolean notified) {
    this.notified = notified;
  }


  public RejectedPayment auditableFields(List<AuditableFieldHistory> auditableFields) {
    
    this.auditableFields = auditableFields;
    return this;
  }

  public RejectedPayment addAuditableFieldsItem(AuditableFieldHistory auditableFieldsItem) {
    if (this.auditableFields == null) {
      this.auditableFields = new ArrayList<AuditableFieldHistory>();
    }
    this.auditableFields.add(auditableFieldsItem);
    return this;
  }

   /**
   * Get auditableFields
   * @return auditableFields
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public List<AuditableFieldHistory> getAuditableFields() {
    return auditableFields;
  }



  public void setAuditableFields(List<AuditableFieldHistory> auditableFields) {
    this.auditableFields = auditableFields;
  }


  public RejectedPayment code(String code) {
    
    this.code = code;
    return this;
  }

   /**
   * Get code
   * @return code
  **/
  @ApiModelProperty(required = true, value = "")

  public String getCode() {
    return code;
  }



  public void setCode(String code) {
    this.code = code;
  }


  public RejectedPayment description(String description) {
    
    this.description = description;
    return this;
  }

   /**
   * Get description
   * @return description
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getDescription() {
    return description;
  }



  public void setDescription(String description) {
    this.description = description;
  }


  public RejectedPayment appendGeneratedCode(Boolean appendGeneratedCode) {
    
    this.appendGeneratedCode = appendGeneratedCode;
    return this;
  }

   /**
   * Get appendGeneratedCode
   * @return appendGeneratedCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Boolean getAppendGeneratedCode() {
    return appendGeneratedCode;
  }



  public void setAppendGeneratedCode(Boolean appendGeneratedCode) {
    this.appendGeneratedCode = appendGeneratedCode;
  }


  public RejectedPayment dueDate(OffsetDateTime dueDate) {
    
    this.dueDate = dueDate;
    return this;
  }

   /**
   * Get dueDate
   * @return dueDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getDueDate() {
    return dueDate;
  }



  public void setDueDate(OffsetDateTime dueDate) {
    this.dueDate = dueDate;
  }


  public RejectedPayment type(String type) {
    
    this.type = type;
    return this;
  }

   /**
   * Get type
   * @return type
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getType() {
    return type;
  }



  public void setType(String type) {
    this.type = type;
  }


  public RejectedPayment transactionDate(OffsetDateTime transactionDate) {
    
    this.transactionDate = transactionDate;
    return this;
  }

   /**
   * Get transactionDate
   * @return transactionDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getTransactionDate() {
    return transactionDate;
  }



  public void setTransactionDate(OffsetDateTime transactionDate) {
    this.transactionDate = transactionDate;
  }


  public RejectedPayment transactionCategory(TransactionCategoryEnum transactionCategory) {
    
    this.transactionCategory = transactionCategory;
    return this;
  }

   /**
   * Get transactionCategory
   * @return transactionCategory
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public TransactionCategoryEnum getTransactionCategory() {
    return transactionCategory;
  }



  public void setTransactionCategory(TransactionCategoryEnum transactionCategory) {
    this.transactionCategory = transactionCategory;
  }


  public RejectedPayment reference(String reference) {
    
    this.reference = reference;
    return this;
  }

   /**
   * Get reference
   * @return reference
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getReference() {
    return reference;
  }



  public void setReference(String reference) {
    this.reference = reference;
  }


  public RejectedPayment accountingCode(AccountingCode accountingCode) {
    
    this.accountingCode = accountingCode;
    return this;
  }

   /**
   * Get accountingCode
   * @return accountingCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public AccountingCode getAccountingCode() {
    return accountingCode;
  }



  public void setAccountingCode(AccountingCode accountingCode) {
    this.accountingCode = accountingCode;
  }


  public RejectedPayment accountingWritings(List<AccountingWriting> accountingWritings) {
    
    this.accountingWritings = accountingWritings;
    return this;
  }

  public RejectedPayment addAccountingWritingsItem(AccountingWriting accountingWritingsItem) {
    if (this.accountingWritings == null) {
      this.accountingWritings = new ArrayList<AccountingWriting>();
    }
    this.accountingWritings.add(accountingWritingsItem);
    return this;
  }

   /**
   * Get accountingWritings
   * @return accountingWritings
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public List<AccountingWriting> getAccountingWritings() {
    return accountingWritings;
  }



  public void setAccountingWritings(List<AccountingWriting> accountingWritings) {
    this.accountingWritings = accountingWritings;
  }


  public RejectedPayment accountCodeClientSide(String accountCodeClientSide) {
    
    this.accountCodeClientSide = accountCodeClientSide;
    return this;
  }

   /**
   * Get accountCodeClientSide
   * @return accountCodeClientSide
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getAccountCodeClientSide() {
    return accountCodeClientSide;
  }



  public void setAccountCodeClientSide(String accountCodeClientSide) {
    this.accountCodeClientSide = accountCodeClientSide;
  }


  public RejectedPayment amount(BigDecimal amount) {
    
    this.amount = amount;
    return this;
  }

   /**
   * Get amount
   * @return amount
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getAmount() {
    return amount;
  }



  public void setAmount(BigDecimal amount) {
    this.amount = amount;
  }


  public RejectedPayment amountWithoutTax(BigDecimal amountWithoutTax) {
    
    this.amountWithoutTax = amountWithoutTax;
    return this;
  }

   /**
   * Get amountWithoutTax
   * @return amountWithoutTax
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getAmountWithoutTax() {
    return amountWithoutTax;
  }



  public void setAmountWithoutTax(BigDecimal amountWithoutTax) {
    this.amountWithoutTax = amountWithoutTax;
  }


  public RejectedPayment taxAmount(BigDecimal taxAmount) {
    
    this.taxAmount = taxAmount;
    return this;
  }

   /**
   * Get taxAmount
   * @return taxAmount
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getTaxAmount() {
    return taxAmount;
  }



  public void setTaxAmount(BigDecimal taxAmount) {
    this.taxAmount = taxAmount;
  }


  public RejectedPayment matchingAmount(BigDecimal matchingAmount) {
    
    this.matchingAmount = matchingAmount;
    return this;
  }

   /**
   * Get matchingAmount
   * @return matchingAmount
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getMatchingAmount() {
    return matchingAmount;
  }



  public void setMatchingAmount(BigDecimal matchingAmount) {
    this.matchingAmount = matchingAmount;
  }


  public RejectedPayment unMatchingAmount(BigDecimal unMatchingAmount) {
    
    this.unMatchingAmount = unMatchingAmount;
    return this;
  }

   /**
   * Get unMatchingAmount
   * @return unMatchingAmount
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getUnMatchingAmount() {
    return unMatchingAmount;
  }



  public void setUnMatchingAmount(BigDecimal unMatchingAmount) {
    this.unMatchingAmount = unMatchingAmount;
  }


  public RejectedPayment customerAccount(CustomerAccount customerAccount) {
    
    this.customerAccount = customerAccount;
    return this;
  }

   /**
   * Get customerAccount
   * @return customerAccount
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public CustomerAccount getCustomerAccount() {
    return customerAccount;
  }



  public void setCustomerAccount(CustomerAccount customerAccount) {
    this.customerAccount = customerAccount;
  }


  public RejectedPayment matchingStatus(MatchingStatusEnum matchingStatus) {
    
    this.matchingStatus = matchingStatus;
    return this;
  }

   /**
   * Get matchingStatus
   * @return matchingStatus
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public MatchingStatusEnum getMatchingStatus() {
    return matchingStatus;
  }



  public void setMatchingStatus(MatchingStatusEnum matchingStatus) {
    this.matchingStatus = matchingStatus;
  }


  public RejectedPayment orderNumber(String orderNumber) {
    
    this.orderNumber = orderNumber;
    return this;
  }

   /**
   * Get orderNumber
   * @return orderNumber
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getOrderNumber() {
    return orderNumber;
  }



  public void setOrderNumber(String orderNumber) {
    this.orderNumber = orderNumber;
  }


  public RejectedPayment uuid(String uuid) {
    
    this.uuid = uuid;
    return this;
  }

   /**
   * Get uuid
   * @return uuid
  **/
  @ApiModelProperty(required = true, value = "")

  public String getUuid() {
    return uuid;
  }



  public void setUuid(String uuid) {
    this.uuid = uuid;
  }


  public RejectedPayment cfValues(CustomFieldValues cfValues) {
    
    this.cfValues = cfValues;
    return this;
  }

   /**
   * Get cfValues
   * @return cfValues
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public CustomFieldValues getCfValues() {
    return cfValues;
  }



  public void setCfValues(CustomFieldValues cfValues) {
    this.cfValues = cfValues;
  }


  public RejectedPayment cfAccumulatedValues(CustomFieldValues cfAccumulatedValues) {
    
    this.cfAccumulatedValues = cfAccumulatedValues;
    return this;
  }

   /**
   * Get cfAccumulatedValues
   * @return cfAccumulatedValues
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public CustomFieldValues getCfAccumulatedValues() {
    return cfAccumulatedValues;
  }



  public void setCfAccumulatedValues(CustomFieldValues cfAccumulatedValues) {
    this.cfAccumulatedValues = cfAccumulatedValues;
  }


  public RejectedPayment bankLot(String bankLot) {
    
    this.bankLot = bankLot;
    return this;
  }

   /**
   * Get bankLot
   * @return bankLot
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getBankLot() {
    return bankLot;
  }



  public void setBankLot(String bankLot) {
    this.bankLot = bankLot;
  }


  public RejectedPayment bankReference(String bankReference) {
    
    this.bankReference = bankReference;
    return this;
  }

   /**
   * Get bankReference
   * @return bankReference
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getBankReference() {
    return bankReference;
  }



  public void setBankReference(String bankReference) {
    this.bankReference = bankReference;
  }


  public RejectedPayment depositDate(OffsetDateTime depositDate) {
    
    this.depositDate = depositDate;
    return this;
  }

   /**
   * Get depositDate
   * @return depositDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getDepositDate() {
    return depositDate;
  }



  public void setDepositDate(OffsetDateTime depositDate) {
    this.depositDate = depositDate;
  }


  public RejectedPayment bankCollectionDate(OffsetDateTime bankCollectionDate) {
    
    this.bankCollectionDate = bankCollectionDate;
    return this;
  }

   /**
   * Get bankCollectionDate
   * @return bankCollectionDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getBankCollectionDate() {
    return bankCollectionDate;
  }



  public void setBankCollectionDate(OffsetDateTime bankCollectionDate) {
    this.bankCollectionDate = bankCollectionDate;
  }


  public RejectedPayment paymentMethod(PaymentMethodEnum paymentMethod) {
    
    this.paymentMethod = paymentMethod;
    return this;
  }

   /**
   * Get paymentMethod
   * @return paymentMethod
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public PaymentMethodEnum getPaymentMethod() {
    return paymentMethod;
  }



  public void setPaymentMethod(PaymentMethodEnum paymentMethod) {
    this.paymentMethod = paymentMethod;
  }


  public RejectedPayment paymentInfo(String paymentInfo) {
    
    this.paymentInfo = paymentInfo;
    return this;
  }

   /**
   * Get paymentInfo
   * @return paymentInfo
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getPaymentInfo() {
    return paymentInfo;
  }



  public void setPaymentInfo(String paymentInfo) {
    this.paymentInfo = paymentInfo;
  }


  public RejectedPayment paymentInfo1(String paymentInfo1) {
    
    this.paymentInfo1 = paymentInfo1;
    return this;
  }

   /**
   * Get paymentInfo1
   * @return paymentInfo1
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getPaymentInfo1() {
    return paymentInfo1;
  }



  public void setPaymentInfo1(String paymentInfo1) {
    this.paymentInfo1 = paymentInfo1;
  }


  public RejectedPayment paymentInfo2(String paymentInfo2) {
    
    this.paymentInfo2 = paymentInfo2;
    return this;
  }

   /**
   * Get paymentInfo2
   * @return paymentInfo2
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getPaymentInfo2() {
    return paymentInfo2;
  }



  public void setPaymentInfo2(String paymentInfo2) {
    this.paymentInfo2 = paymentInfo2;
  }


  public RejectedPayment paymentInfo3(String paymentInfo3) {
    
    this.paymentInfo3 = paymentInfo3;
    return this;
  }

   /**
   * Get paymentInfo3
   * @return paymentInfo3
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getPaymentInfo3() {
    return paymentInfo3;
  }



  public void setPaymentInfo3(String paymentInfo3) {
    this.paymentInfo3 = paymentInfo3;
  }


  public RejectedPayment paymentInfo4(String paymentInfo4) {
    
    this.paymentInfo4 = paymentInfo4;
    return this;
  }

   /**
   * Get paymentInfo4
   * @return paymentInfo4
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getPaymentInfo4() {
    return paymentInfo4;
  }



  public void setPaymentInfo4(String paymentInfo4) {
    this.paymentInfo4 = paymentInfo4;
  }


  public RejectedPayment paymentInfo5(String paymentInfo5) {
    
    this.paymentInfo5 = paymentInfo5;
    return this;
  }

   /**
   * Get paymentInfo5
   * @return paymentInfo5
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getPaymentInfo5() {
    return paymentInfo5;
  }



  public void setPaymentInfo5(String paymentInfo5) {
    this.paymentInfo5 = paymentInfo5;
  }


  public RejectedPayment paymentInfo6(String paymentInfo6) {
    
    this.paymentInfo6 = paymentInfo6;
    return this;
  }

   /**
   * Get paymentInfo6
   * @return paymentInfo6
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getPaymentInfo6() {
    return paymentInfo6;
  }



  public void setPaymentInfo6(String paymentInfo6) {
    this.paymentInfo6 = paymentInfo6;
  }


  public RejectedPayment billingAccountName(String billingAccountName) {
    
    this.billingAccountName = billingAccountName;
    return this;
  }

   /**
   * Get billingAccountName
   * @return billingAccountName
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getBillingAccountName() {
    return billingAccountName;
  }



  public void setBillingAccountName(String billingAccountName) {
    this.billingAccountName = billingAccountName;
  }


  public RejectedPayment ddRequestItem(DDRequestItem ddRequestItem) {
    
    this.ddRequestItem = ddRequestItem;
    return this;
  }

   /**
   * Get ddRequestItem
   * @return ddRequestItem
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public DDRequestItem getDdRequestItem() {
    return ddRequestItem;
  }



  public void setDdRequestItem(DDRequestItem ddRequestItem) {
    this.ddRequestItem = ddRequestItem;
  }


  public RejectedPayment rejectedPayment(RejectedPayment rejectedPayment) {
    
    this.rejectedPayment = rejectedPayment;
    return this;
  }

   /**
   * Get rejectedPayment
   * @return rejectedPayment
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public RejectedPayment getRejectedPayment() {
    return rejectedPayment;
  }



  public void setRejectedPayment(RejectedPayment rejectedPayment) {
    this.rejectedPayment = rejectedPayment;
  }


  public RejectedPayment seller(Seller seller) {
    
    this.seller = seller;
    return this;
  }

   /**
   * Get seller
   * @return seller
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Seller getSeller() {
    return seller;
  }



  public void setSeller(Seller seller) {
    this.seller = seller;
  }


  public RejectedPayment paymentVentilation(PaymentVentilation paymentVentilation) {
    
    this.paymentVentilation = paymentVentilation;
    return this;
  }

   /**
   * Get paymentVentilation
   * @return paymentVentilation
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public PaymentVentilation getPaymentVentilation() {
    return paymentVentilation;
  }



  public void setPaymentVentilation(PaymentVentilation paymentVentilation) {
    this.paymentVentilation = paymentVentilation;
  }


  public RejectedPayment subscription(Subscription subscription) {
    
    this.subscription = subscription;
    return this;
  }

   /**
   * Get subscription
   * @return subscription
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Subscription getSubscription() {
    return subscription;
  }



  public void setSubscription(Subscription subscription) {
    this.subscription = subscription;
  }


  public RejectedPayment rejectedType(RejectedTypeEnum rejectedType) {
    
    this.rejectedType = rejectedType;
    return this;
  }

   /**
   * Get rejectedType
   * @return rejectedType
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public RejectedTypeEnum getRejectedType() {
    return rejectedType;
  }



  public void setRejectedType(RejectedTypeEnum rejectedType) {
    this.rejectedType = rejectedType;
  }


  public RejectedPayment rejectedDate(OffsetDateTime rejectedDate) {
    
    this.rejectedDate = rejectedDate;
    return this;
  }

   /**
   * Get rejectedDate
   * @return rejectedDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getRejectedDate() {
    return rejectedDate;
  }



  public void setRejectedDate(OffsetDateTime rejectedDate) {
    this.rejectedDate = rejectedDate;
  }


  public RejectedPayment rejectedDescription(String rejectedDescription) {
    
    this.rejectedDescription = rejectedDescription;
    return this;
  }

   /**
   * Get rejectedDescription
   * @return rejectedDescription
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getRejectedDescription() {
    return rejectedDescription;
  }



  public void setRejectedDescription(String rejectedDescription) {
    this.rejectedDescription = rejectedDescription;
  }


  public RejectedPayment rejectedCode(String rejectedCode) {
    
    this.rejectedCode = rejectedCode;
    return this;
  }

   /**
   * Get rejectedCode
   * @return rejectedCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getRejectedCode() {
    return rejectedCode;
  }



  public void setRejectedCode(String rejectedCode) {
    this.rejectedCode = rejectedCode;
  }


  public RejectedPayment listAaccountOperationSupposedPaid(List<AccountOperation> listAaccountOperationSupposedPaid) {
    
    this.listAaccountOperationSupposedPaid = listAaccountOperationSupposedPaid;
    return this;
  }

  public RejectedPayment addListAaccountOperationSupposedPaidItem(AccountOperation listAaccountOperationSupposedPaidItem) {
    if (this.listAaccountOperationSupposedPaid == null) {
      this.listAaccountOperationSupposedPaid = new ArrayList<AccountOperation>();
    }
    this.listAaccountOperationSupposedPaid.add(listAaccountOperationSupposedPaidItem);
    return this;
  }

   /**
   * Get listAaccountOperationSupposedPaid
   * @return listAaccountOperationSupposedPaid
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public List<AccountOperation> getListAaccountOperationSupposedPaid() {
    return listAaccountOperationSupposedPaid;
  }



  public void setListAaccountOperationSupposedPaid(List<AccountOperation> listAaccountOperationSupposedPaid) {
    this.listAaccountOperationSupposedPaid = listAaccountOperationSupposedPaid;
  }


  public RejectedPayment parentCFEntities(List<ICustomFieldEntity> parentCFEntities) {
    
    this.parentCFEntities = parentCFEntities;
    return this;
  }

  public RejectedPayment addParentCFEntitiesItem(ICustomFieldEntity parentCFEntitiesItem) {
    if (this.parentCFEntities == null) {
      this.parentCFEntities = new ArrayList<ICustomFieldEntity>();
    }
    this.parentCFEntities.add(parentCFEntitiesItem);
    return this;
  }

   /**
   * Get parentCFEntities
   * @return parentCFEntities
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public List<ICustomFieldEntity> getParentCFEntities() {
    return parentCFEntities;
  }



  public void setParentCFEntities(List<ICustomFieldEntity> parentCFEntities) {
    this.parentCFEntities = parentCFEntities;
  }


  public RejectedPayment cfValuesNullSafe(CustomFieldValues cfValuesNullSafe) {
    
    this.cfValuesNullSafe = cfValuesNullSafe;
    return this;
  }

   /**
   * Get cfValuesNullSafe
   * @return cfValuesNullSafe
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public CustomFieldValues getCfValuesNullSafe() {
    return cfValuesNullSafe;
  }



  public void setCfValuesNullSafe(CustomFieldValues cfValuesNullSafe) {
    this.cfValuesNullSafe = cfValuesNullSafe;
  }


  public RejectedPayment cfValuesAsValues(Map<String, Object> cfValuesAsValues) {
    
    this.cfValuesAsValues = cfValuesAsValues;
    return this;
  }

  public RejectedPayment putCfValuesAsValuesItem(String key, Object cfValuesAsValuesItem) {
    if (this.cfValuesAsValues == null) {
      this.cfValuesAsValues = new HashMap<String, Object>();
    }
    this.cfValuesAsValues.put(key, cfValuesAsValuesItem);
    return this;
  }

   /**
   * Get cfValuesAsValues
   * @return cfValuesAsValues
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Map<String, Object> getCfValuesAsValues() {
    return cfValuesAsValues;
  }



  public void setCfValuesAsValues(Map<String, Object> cfValuesAsValues) {
    this.cfValuesAsValues = cfValuesAsValues;
  }


  public RejectedPayment cfAccumulatedValuesNullSafe(CustomFieldValues cfAccumulatedValuesNullSafe) {
    
    this.cfAccumulatedValuesNullSafe = cfAccumulatedValuesNullSafe;
    return this;
  }

   /**
   * Get cfAccumulatedValuesNullSafe
   * @return cfAccumulatedValuesNullSafe
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public CustomFieldValues getCfAccumulatedValuesNullSafe() {
    return cfAccumulatedValuesNullSafe;
  }



  public void setCfAccumulatedValuesNullSafe(CustomFieldValues cfAccumulatedValuesNullSafe) {
    this.cfAccumulatedValuesNullSafe = cfAccumulatedValuesNullSafe;
  }


  public RejectedPayment descriptionOrCode(String descriptionOrCode) {
    
    this.descriptionOrCode = descriptionOrCode;
    return this;
  }

   /**
   * Get descriptionOrCode
   * @return descriptionOrCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getDescriptionOrCode() {
    return descriptionOrCode;
  }



  public void setDescriptionOrCode(String descriptionOrCode) {
    this.descriptionOrCode = descriptionOrCode;
  }


  public RejectedPayment descriptionAndCode(String descriptionAndCode) {
    
    this.descriptionAndCode = descriptionAndCode;
    return this;
  }

   /**
   * Get descriptionAndCode
   * @return descriptionAndCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getDescriptionAndCode() {
    return descriptionAndCode;
  }



  public void setDescriptionAndCode(String descriptionAndCode) {
    this.descriptionAndCode = descriptionAndCode;
  }


  public RejectedPayment referenceCode(String referenceCode) {
    
    this.referenceCode = referenceCode;
    return this;
  }

   /**
   * Get referenceCode
   * @return referenceCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getReferenceCode() {
    return referenceCode;
  }



  public void setReferenceCode(String referenceCode) {
    this.referenceCode = referenceCode;
  }


  public RejectedPayment referenceDescription(String referenceDescription) {
    
    this.referenceDescription = referenceDescription;
    return this;
  }

   /**
   * Get referenceDescription
   * @return referenceDescription
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getReferenceDescription() {
    return referenceDescription;
  }



  public void setReferenceDescription(String referenceDescription) {
    this.referenceDescription = referenceDescription;
  }


  public RejectedPayment codeChanged(Boolean codeChanged) {
    
    this.codeChanged = codeChanged;
    return this;
  }

   /**
   * Get codeChanged
   * @return codeChanged
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Boolean getCodeChanged() {
    return codeChanged;
  }



  public void setCodeChanged(Boolean codeChanged) {
    this.codeChanged = codeChanged;
  }


  public RejectedPayment parentEntity(BusinessEntity parentEntity) {
    
    this.parentEntity = parentEntity;
    return this;
  }

   /**
   * Get parentEntity
   * @return parentEntity
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BusinessEntity getParentEntity() {
    return parentEntity;
  }



  public void setParentEntity(BusinessEntity parentEntity) {
    this.parentEntity = parentEntity;
  }


  public RejectedPayment _transient(Boolean _transient) {
    
    this._transient = _transient;
    return this;
  }

   /**
   * Get _transient
   * @return _transient
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Boolean getTransient() {
    return _transient;
  }



  public void setTransient(Boolean _transient) {
    this._transient = _transient;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    RejectedPayment rejectedPayment = (RejectedPayment) o;
    return Objects.equals(this.id, rejectedPayment.id) &&
        Objects.equals(this.version, rejectedPayment.version) &&
        Objects.equals(this.auditable, rejectedPayment.auditable) &&
        Objects.equals(this.historized, rejectedPayment.historized) &&
        Objects.equals(this.notified, rejectedPayment.notified) &&
        Objects.equals(this.auditableFields, rejectedPayment.auditableFields) &&
        Objects.equals(this.code, rejectedPayment.code) &&
        Objects.equals(this.description, rejectedPayment.description) &&
        Objects.equals(this.appendGeneratedCode, rejectedPayment.appendGeneratedCode) &&
        Objects.equals(this.dueDate, rejectedPayment.dueDate) &&
        Objects.equals(this.type, rejectedPayment.type) &&
        Objects.equals(this.transactionDate, rejectedPayment.transactionDate) &&
        Objects.equals(this.transactionCategory, rejectedPayment.transactionCategory) &&
        Objects.equals(this.reference, rejectedPayment.reference) &&
        Objects.equals(this.accountingCode, rejectedPayment.accountingCode) &&
        Objects.equals(this.accountingWritings, rejectedPayment.accountingWritings) &&
        Objects.equals(this.accountCodeClientSide, rejectedPayment.accountCodeClientSide) &&
        Objects.equals(this.amount, rejectedPayment.amount) &&
        Objects.equals(this.amountWithoutTax, rejectedPayment.amountWithoutTax) &&
        Objects.equals(this.taxAmount, rejectedPayment.taxAmount) &&
        Objects.equals(this.matchingAmount, rejectedPayment.matchingAmount) &&
        Objects.equals(this.unMatchingAmount, rejectedPayment.unMatchingAmount) &&
        Objects.equals(this.customerAccount, rejectedPayment.customerAccount) &&
        Objects.equals(this.matchingStatus, rejectedPayment.matchingStatus) &&
        Objects.equals(this.orderNumber, rejectedPayment.orderNumber) &&
        Objects.equals(this.uuid, rejectedPayment.uuid) &&
        Objects.equals(this.cfValues, rejectedPayment.cfValues) &&
        Objects.equals(this.cfAccumulatedValues, rejectedPayment.cfAccumulatedValues) &&
        Objects.equals(this.bankLot, rejectedPayment.bankLot) &&
        Objects.equals(this.bankReference, rejectedPayment.bankReference) &&
        Objects.equals(this.depositDate, rejectedPayment.depositDate) &&
        Objects.equals(this.bankCollectionDate, rejectedPayment.bankCollectionDate) &&
        Objects.equals(this.paymentMethod, rejectedPayment.paymentMethod) &&
        Objects.equals(this.paymentInfo, rejectedPayment.paymentInfo) &&
        Objects.equals(this.paymentInfo1, rejectedPayment.paymentInfo1) &&
        Objects.equals(this.paymentInfo2, rejectedPayment.paymentInfo2) &&
        Objects.equals(this.paymentInfo3, rejectedPayment.paymentInfo3) &&
        Objects.equals(this.paymentInfo4, rejectedPayment.paymentInfo4) &&
        Objects.equals(this.paymentInfo5, rejectedPayment.paymentInfo5) &&
        Objects.equals(this.paymentInfo6, rejectedPayment.paymentInfo6) &&
        Objects.equals(this.billingAccountName, rejectedPayment.billingAccountName) &&
        Objects.equals(this.ddRequestItem, rejectedPayment.ddRequestItem) &&
        Objects.equals(this.rejectedPayment, rejectedPayment.rejectedPayment) &&
        Objects.equals(this.seller, rejectedPayment.seller) &&
        Objects.equals(this.paymentVentilation, rejectedPayment.paymentVentilation) &&
        Objects.equals(this.subscription, rejectedPayment.subscription) &&
        Objects.equals(this.rejectedType, rejectedPayment.rejectedType) &&
        Objects.equals(this.rejectedDate, rejectedPayment.rejectedDate) &&
        Objects.equals(this.rejectedDescription, rejectedPayment.rejectedDescription) &&
        Objects.equals(this.rejectedCode, rejectedPayment.rejectedCode) &&
        Objects.equals(this.listAaccountOperationSupposedPaid, rejectedPayment.listAaccountOperationSupposedPaid) &&
        Objects.equals(this.parentCFEntities, rejectedPayment.parentCFEntities) &&
        Objects.equals(this.cfValuesNullSafe, rejectedPayment.cfValuesNullSafe) &&
        Objects.equals(this.cfValuesAsValues, rejectedPayment.cfValuesAsValues) &&
        Objects.equals(this.cfAccumulatedValuesNullSafe, rejectedPayment.cfAccumulatedValuesNullSafe) &&
        Objects.equals(this.descriptionOrCode, rejectedPayment.descriptionOrCode) &&
        Objects.equals(this.descriptionAndCode, rejectedPayment.descriptionAndCode) &&
        Objects.equals(this.referenceCode, rejectedPayment.referenceCode) &&
        Objects.equals(this.referenceDescription, rejectedPayment.referenceDescription) &&
        Objects.equals(this.codeChanged, rejectedPayment.codeChanged) &&
        Objects.equals(this.parentEntity, rejectedPayment.parentEntity) &&
        Objects.equals(this._transient, rejectedPayment._transient);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, version, auditable, historized, notified, auditableFields, code, description, appendGeneratedCode, dueDate, type, transactionDate, transactionCategory, reference, accountingCode, accountingWritings, accountCodeClientSide, amount, amountWithoutTax, taxAmount, matchingAmount, unMatchingAmount, customerAccount, matchingStatus, orderNumber, uuid, cfValues, cfAccumulatedValues, bankLot, bankReference, depositDate, bankCollectionDate, paymentMethod, paymentInfo, paymentInfo1, paymentInfo2, paymentInfo3, paymentInfo4, paymentInfo5, paymentInfo6, billingAccountName, ddRequestItem, rejectedPayment, seller, paymentVentilation, subscription, rejectedType, rejectedDate, rejectedDescription, rejectedCode, listAaccountOperationSupposedPaid, parentCFEntities, cfValuesNullSafe, cfValuesAsValues, cfAccumulatedValuesNullSafe, descriptionOrCode, descriptionAndCode, referenceCode, referenceDescription, codeChanged, parentEntity, _transient);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class RejectedPayment {\n");
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    version: ").append(toIndentedString(version)).append("\n");
    sb.append("    auditable: ").append(toIndentedString(auditable)).append("\n");
    sb.append("    historized: ").append(toIndentedString(historized)).append("\n");
    sb.append("    notified: ").append(toIndentedString(notified)).append("\n");
    sb.append("    auditableFields: ").append(toIndentedString(auditableFields)).append("\n");
    sb.append("    code: ").append(toIndentedString(code)).append("\n");
    sb.append("    description: ").append(toIndentedString(description)).append("\n");
    sb.append("    appendGeneratedCode: ").append(toIndentedString(appendGeneratedCode)).append("\n");
    sb.append("    dueDate: ").append(toIndentedString(dueDate)).append("\n");
    sb.append("    type: ").append(toIndentedString(type)).append("\n");
    sb.append("    transactionDate: ").append(toIndentedString(transactionDate)).append("\n");
    sb.append("    transactionCategory: ").append(toIndentedString(transactionCategory)).append("\n");
    sb.append("    reference: ").append(toIndentedString(reference)).append("\n");
    sb.append("    accountingCode: ").append(toIndentedString(accountingCode)).append("\n");
    sb.append("    accountingWritings: ").append(toIndentedString(accountingWritings)).append("\n");
    sb.append("    accountCodeClientSide: ").append(toIndentedString(accountCodeClientSide)).append("\n");
    sb.append("    amount: ").append(toIndentedString(amount)).append("\n");
    sb.append("    amountWithoutTax: ").append(toIndentedString(amountWithoutTax)).append("\n");
    sb.append("    taxAmount: ").append(toIndentedString(taxAmount)).append("\n");
    sb.append("    matchingAmount: ").append(toIndentedString(matchingAmount)).append("\n");
    sb.append("    unMatchingAmount: ").append(toIndentedString(unMatchingAmount)).append("\n");
    sb.append("    customerAccount: ").append(toIndentedString(customerAccount)).append("\n");
    sb.append("    matchingStatus: ").append(toIndentedString(matchingStatus)).append("\n");
    sb.append("    orderNumber: ").append(toIndentedString(orderNumber)).append("\n");
    sb.append("    uuid: ").append(toIndentedString(uuid)).append("\n");
    sb.append("    cfValues: ").append(toIndentedString(cfValues)).append("\n");
    sb.append("    cfAccumulatedValues: ").append(toIndentedString(cfAccumulatedValues)).append("\n");
    sb.append("    bankLot: ").append(toIndentedString(bankLot)).append("\n");
    sb.append("    bankReference: ").append(toIndentedString(bankReference)).append("\n");
    sb.append("    depositDate: ").append(toIndentedString(depositDate)).append("\n");
    sb.append("    bankCollectionDate: ").append(toIndentedString(bankCollectionDate)).append("\n");
    sb.append("    paymentMethod: ").append(toIndentedString(paymentMethod)).append("\n");
    sb.append("    paymentInfo: ").append(toIndentedString(paymentInfo)).append("\n");
    sb.append("    paymentInfo1: ").append(toIndentedString(paymentInfo1)).append("\n");
    sb.append("    paymentInfo2: ").append(toIndentedString(paymentInfo2)).append("\n");
    sb.append("    paymentInfo3: ").append(toIndentedString(paymentInfo3)).append("\n");
    sb.append("    paymentInfo4: ").append(toIndentedString(paymentInfo4)).append("\n");
    sb.append("    paymentInfo5: ").append(toIndentedString(paymentInfo5)).append("\n");
    sb.append("    paymentInfo6: ").append(toIndentedString(paymentInfo6)).append("\n");
    sb.append("    billingAccountName: ").append(toIndentedString(billingAccountName)).append("\n");
    sb.append("    ddRequestItem: ").append(toIndentedString(ddRequestItem)).append("\n");
    sb.append("    rejectedPayment: ").append(toIndentedString(rejectedPayment)).append("\n");
    sb.append("    seller: ").append(toIndentedString(seller)).append("\n");
    sb.append("    paymentVentilation: ").append(toIndentedString(paymentVentilation)).append("\n");
    sb.append("    subscription: ").append(toIndentedString(subscription)).append("\n");
    sb.append("    rejectedType: ").append(toIndentedString(rejectedType)).append("\n");
    sb.append("    rejectedDate: ").append(toIndentedString(rejectedDate)).append("\n");
    sb.append("    rejectedDescription: ").append(toIndentedString(rejectedDescription)).append("\n");
    sb.append("    rejectedCode: ").append(toIndentedString(rejectedCode)).append("\n");
    sb.append("    listAaccountOperationSupposedPaid: ").append(toIndentedString(listAaccountOperationSupposedPaid)).append("\n");
    sb.append("    parentCFEntities: ").append(toIndentedString(parentCFEntities)).append("\n");
    sb.append("    cfValuesNullSafe: ").append(toIndentedString(cfValuesNullSafe)).append("\n");
    sb.append("    cfValuesAsValues: ").append(toIndentedString(cfValuesAsValues)).append("\n");
    sb.append("    cfAccumulatedValuesNullSafe: ").append(toIndentedString(cfAccumulatedValuesNullSafe)).append("\n");
    sb.append("    descriptionOrCode: ").append(toIndentedString(descriptionOrCode)).append("\n");
    sb.append("    descriptionAndCode: ").append(toIndentedString(descriptionAndCode)).append("\n");
    sb.append("    referenceCode: ").append(toIndentedString(referenceCode)).append("\n");
    sb.append("    referenceDescription: ").append(toIndentedString(referenceDescription)).append("\n");
    sb.append("    codeChanged: ").append(toIndentedString(codeChanged)).append("\n");
    sb.append("    parentEntity: ").append(toIndentedString(parentEntity)).append("\n");
    sb.append("    _transient: ").append(toIndentedString(_transient)).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(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}

