/*
 * The Plaid API
 * The Plaid REST API. Please see https://plaid.com/docs/api for more details.
 *
 * The version of the OpenAPI document: 2020-09-14_1.680.0
 * 
 *
 * 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.plaid.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.time.OffsetDateTime;

/**
 * The core attributes object contains additional data that can be used to assess the ACH return risk.   If using a Balance-only ruleset, only &#x60;available_balance&#x60; and &#x60;current_balance&#x60; will be returned as core attributes. If using a Signal Transaction Scores ruleset, over 80 core attributes will be returned. Examples of attributes include:  &#x60;available_balance&#x60; and &#x60;current_balance&#x60;: The balance in the ACH transaction funding account &#x60;days_since_first_plaid_connection&#x60;: The number of days since the first time the Item was connected to an application via Plaid &#x60;plaid_connections_count_7d&#x60;: The number of times the Item has been connected to applications via Plaid over the past 7 days &#x60;plaid_connections_count_30d&#x60;: The number of times the Item has been connected to applications via Plaid over the past 30 days &#x60;total_plaid_connections_count&#x60;: The number of times the Item has been connected to applications via Plaid &#x60;is_savings_or_money_market_account&#x60;: Indicates whether the ACH transaction funding account is a savings/money market account  For the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact Sales or your Plaid account manager.
 */
@ApiModel(description = "The core attributes object contains additional data that can be used to assess the ACH return risk.   If using a Balance-only ruleset, only `available_balance` and `current_balance` will be returned as core attributes. If using a Signal Transaction Scores ruleset, over 80 core attributes will be returned. Examples of attributes include:  `available_balance` and `current_balance`: The balance in the ACH transaction funding account `days_since_first_plaid_connection`: The number of days since the first time the Item was connected to an application via Plaid `plaid_connections_count_7d`: The number of times the Item has been connected to applications via Plaid over the past 7 days `plaid_connections_count_30d`: The number of times the Item has been connected to applications via Plaid over the past 30 days `total_plaid_connections_count`: The number of times the Item has been connected to applications via Plaid `is_savings_or_money_market_account`: Indicates whether the ACH transaction funding account is a savings/money market account  For the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact Sales or your Plaid account manager.")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-12-11T18:58:39.328614Z[Etc/UTC]")
public class SignalEvaluateCoreAttributes {
  public static final String SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT7D = "unauthorized_transactions_count_7d";
  @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT7D)
  private Integer unauthorizedTransactionsCount7d;

  public static final String SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT30D = "unauthorized_transactions_count_30d";
  @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT30D)
  private Integer unauthorizedTransactionsCount30d;

  public static final String SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT60D = "unauthorized_transactions_count_60d";
  @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT60D)
  private Integer unauthorizedTransactionsCount60d;

  public static final String SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT90D = "unauthorized_transactions_count_90d";
  @SerializedName(SERIALIZED_NAME_UNAUTHORIZED_TRANSACTIONS_COUNT90D)
  private Integer unauthorizedTransactionsCount90d;

  public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT7D = "nsf_overdraft_transactions_count_7d";
  @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT7D)
  private Integer nsfOverdraftTransactionsCount7d;

  public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT30D = "nsf_overdraft_transactions_count_30d";
  @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT30D)
  private Integer nsfOverdraftTransactionsCount30d;

  public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT60D = "nsf_overdraft_transactions_count_60d";
  @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT60D)
  private Integer nsfOverdraftTransactionsCount60d;

  public static final String SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT90D = "nsf_overdraft_transactions_count_90d";
  @SerializedName(SERIALIZED_NAME_NSF_OVERDRAFT_TRANSACTIONS_COUNT90D)
  private Integer nsfOverdraftTransactionsCount90d;

  public static final String SERIALIZED_NAME_DAYS_SINCE_FIRST_PLAID_CONNECTION = "days_since_first_plaid_connection";
  @SerializedName(SERIALIZED_NAME_DAYS_SINCE_FIRST_PLAID_CONNECTION)
  private Integer daysSinceFirstPlaidConnection;

  public static final String SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT7D = "plaid_connections_count_7d";
  @SerializedName(SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT7D)
  private Integer plaidConnectionsCount7d;

  public static final String SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT30D = "plaid_connections_count_30d";
  @SerializedName(SERIALIZED_NAME_PLAID_CONNECTIONS_COUNT30D)
  private Integer plaidConnectionsCount30d;

  public static final String SERIALIZED_NAME_TOTAL_PLAID_CONNECTIONS_COUNT = "total_plaid_connections_count";
  @SerializedName(SERIALIZED_NAME_TOTAL_PLAID_CONNECTIONS_COUNT)
  private Integer totalPlaidConnectionsCount;

  public static final String SERIALIZED_NAME_IS_SAVINGS_OR_MONEY_MARKET_ACCOUNT = "is_savings_or_money_market_account";
  @SerializedName(SERIALIZED_NAME_IS_SAVINGS_OR_MONEY_MARKET_ACCOUNT)
  private Boolean isSavingsOrMoneyMarketAccount;

  public static final String SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT10D = "total_credit_transactions_amount_10d";
  @SerializedName(SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT10D)
  private Double totalCreditTransactionsAmount10d;

  public static final String SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT10D = "total_debit_transactions_amount_10d";
  @SerializedName(SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT10D)
  private Double totalDebitTransactionsAmount10d;

  public static final String SERIALIZED_NAME_P50_CREDIT_TRANSACTIONS_AMOUNT28D = "p50_credit_transactions_amount_28d";
  @SerializedName(SERIALIZED_NAME_P50_CREDIT_TRANSACTIONS_AMOUNT28D)
  private Double p50CreditTransactionsAmount28d;

  public static final String SERIALIZED_NAME_P50_DEBIT_TRANSACTIONS_AMOUNT28D = "p50_debit_transactions_amount_28d";
  @SerializedName(SERIALIZED_NAME_P50_DEBIT_TRANSACTIONS_AMOUNT28D)
  private Double p50DebitTransactionsAmount28d;

  public static final String SERIALIZED_NAME_P95_CREDIT_TRANSACTIONS_AMOUNT28D = "p95_credit_transactions_amount_28d";
  @SerializedName(SERIALIZED_NAME_P95_CREDIT_TRANSACTIONS_AMOUNT28D)
  private Double p95CreditTransactionsAmount28d;

  public static final String SERIALIZED_NAME_P95_DEBIT_TRANSACTIONS_AMOUNT28D = "p95_debit_transactions_amount_28d";
  @SerializedName(SERIALIZED_NAME_P95_DEBIT_TRANSACTIONS_AMOUNT28D)
  private Double p95DebitTransactionsAmount28d;

  public static final String SERIALIZED_NAME_DAYS_WITH_NEGATIVE_BALANCE_COUNT90D = "days_with_negative_balance_count_90d";
  @SerializedName(SERIALIZED_NAME_DAYS_WITH_NEGATIVE_BALANCE_COUNT90D)
  private Integer daysWithNegativeBalanceCount90d;

  public static final String SERIALIZED_NAME_P90_EOD_BALANCE30D = "p90_eod_balance_30d";
  @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE30D)
  private Double p90EodBalance30d;

  public static final String SERIALIZED_NAME_P90_EOD_BALANCE60D = "p90_eod_balance_60d";
  @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE60D)
  private Double p90EodBalance60d;

  public static final String SERIALIZED_NAME_P90_EOD_BALANCE90D = "p90_eod_balance_90d";
  @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE90D)
  private Double p90EodBalance90d;

  public static final String SERIALIZED_NAME_P10_EOD_BALANCE30D = "p10_eod_balance_30d";
  @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE30D)
  private Double p10EodBalance30d;

  public static final String SERIALIZED_NAME_P10_EOD_BALANCE60D = "p10_eod_balance_60d";
  @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE60D)
  private Double p10EodBalance60d;

  public static final String SERIALIZED_NAME_P10_EOD_BALANCE90D = "p10_eod_balance_90d";
  @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE90D)
  private Double p10EodBalance90d;

  public static final String SERIALIZED_NAME_AVAILABLE_BALANCE = "available_balance";
  @SerializedName(SERIALIZED_NAME_AVAILABLE_BALANCE)
  private Double availableBalance;

  public static final String SERIALIZED_NAME_CURRENT_BALANCE = "current_balance";
  @SerializedName(SERIALIZED_NAME_CURRENT_BALANCE)
  private Double currentBalance;

  public static final String SERIALIZED_NAME_BALANCE_LAST_UPDATED = "balance_last_updated";
  @SerializedName(SERIALIZED_NAME_BALANCE_LAST_UPDATED)
  private OffsetDateTime balanceLastUpdated;

  public static final String SERIALIZED_NAME_PHONE_CHANGE_COUNT28D = "phone_change_count_28d";
  @SerializedName(SERIALIZED_NAME_PHONE_CHANGE_COUNT28D)
  private Integer phoneChangeCount28d;

  public static final String SERIALIZED_NAME_PHONE_CHANGE_COUNT90D = "phone_change_count_90d";
  @SerializedName(SERIALIZED_NAME_PHONE_CHANGE_COUNT90D)
  private Integer phoneChangeCount90d;

  public static final String SERIALIZED_NAME_EMAIL_CHANGE_COUNT28D = "email_change_count_28d";
  @SerializedName(SERIALIZED_NAME_EMAIL_CHANGE_COUNT28D)
  private Integer emailChangeCount28d;

  public static final String SERIALIZED_NAME_EMAIL_CHANGE_COUNT90D = "email_change_count_90d";
  @SerializedName(SERIALIZED_NAME_EMAIL_CHANGE_COUNT90D)
  private Integer emailChangeCount90d;

  public static final String SERIALIZED_NAME_ADDRESS_CHANGE_COUNT28D = "address_change_count_28d";
  @SerializedName(SERIALIZED_NAME_ADDRESS_CHANGE_COUNT28D)
  private Integer addressChangeCount28d;

  public static final String SERIALIZED_NAME_ADDRESS_CHANGE_COUNT90D = "address_change_count_90d";
  @SerializedName(SERIALIZED_NAME_ADDRESS_CHANGE_COUNT90D)
  private Integer addressChangeCount90d;

  public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D = "plaid_non_oauth_authentication_attempts_count_3d";
  @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D)
  private Integer plaidNonOauthAuthenticationAttemptsCount3d;

  public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D = "plaid_non_oauth_authentication_attempts_count_7d";
  @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D)
  private Integer plaidNonOauthAuthenticationAttemptsCount7d;

  public static final String SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D = "plaid_non_oauth_authentication_attempts_count_30d";
  @SerializedName(SERIALIZED_NAME_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D)
  private Integer plaidNonOauthAuthenticationAttemptsCount30d;

  public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D = "failed_plaid_non_oauth_authentication_attempts_count_3d";
  @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT3D)
  private Integer failedPlaidNonOauthAuthenticationAttemptsCount3d;

  public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D = "failed_plaid_non_oauth_authentication_attempts_count_7d";
  @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT7D)
  private Integer failedPlaidNonOauthAuthenticationAttemptsCount7d;

  public static final String SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D = "failed_plaid_non_oauth_authentication_attempts_count_30d";
  @SerializedName(SERIALIZED_NAME_FAILED_PLAID_NON_OAUTH_AUTHENTICATION_ATTEMPTS_COUNT30D)
  private Integer failedPlaidNonOauthAuthenticationAttemptsCount30d;

  public static final String SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT10D = "debit_transactions_count_10d";
  @SerializedName(SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT10D)
  private Integer debitTransactionsCount10d;

  public static final String SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT10D = "credit_transactions_count_10d";
  @SerializedName(SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT10D)
  private Integer creditTransactionsCount10d;

  public static final String SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT30D = "debit_transactions_count_30d";
  @SerializedName(SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT30D)
  private Integer debitTransactionsCount30d;

  public static final String SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT30D = "credit_transactions_count_30d";
  @SerializedName(SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT30D)
  private Integer creditTransactionsCount30d;

  public static final String SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT60D = "debit_transactions_count_60d";
  @SerializedName(SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT60D)
  private Integer debitTransactionsCount60d;

  public static final String SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT60D = "credit_transactions_count_60d";
  @SerializedName(SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT60D)
  private Integer creditTransactionsCount60d;

  public static final String SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT90D = "debit_transactions_count_90d";
  @SerializedName(SERIALIZED_NAME_DEBIT_TRANSACTIONS_COUNT90D)
  private Integer debitTransactionsCount90d;

  public static final String SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT90D = "credit_transactions_count_90d";
  @SerializedName(SERIALIZED_NAME_CREDIT_TRANSACTIONS_COUNT90D)
  private Integer creditTransactionsCount90d;

  public static final String SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT30D = "total_debit_transactions_amount_30d";
  @SerializedName(SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT30D)
  private Double totalDebitTransactionsAmount30d;

  public static final String SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT30D = "total_credit_transactions_amount_30d";
  @SerializedName(SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT30D)
  private Double totalCreditTransactionsAmount30d;

  public static final String SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT60D = "total_debit_transactions_amount_60d";
  @SerializedName(SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT60D)
  private Double totalDebitTransactionsAmount60d;

  public static final String SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT60D = "total_credit_transactions_amount_60d";
  @SerializedName(SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT60D)
  private Double totalCreditTransactionsAmount60d;

  public static final String SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT90D = "total_debit_transactions_amount_90d";
  @SerializedName(SERIALIZED_NAME_TOTAL_DEBIT_TRANSACTIONS_AMOUNT90D)
  private Double totalDebitTransactionsAmount90d;

  public static final String SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT90D = "total_credit_transactions_amount_90d";
  @SerializedName(SERIALIZED_NAME_TOTAL_CREDIT_TRANSACTIONS_AMOUNT90D)
  private Double totalCreditTransactionsAmount90d;

  public static final String SERIALIZED_NAME_P50_EOD_BALANCE30D = "p50_eod_balance_30d";
  @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE30D)
  private Double p50EodBalance30d;

  public static final String SERIALIZED_NAME_P50_EOD_BALANCE60D = "p50_eod_balance_60d";
  @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE60D)
  private Double p50EodBalance60d;

  public static final String SERIALIZED_NAME_P50_EOD_BALANCE90D = "p50_eod_balance_90d";
  @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE90D)
  private Double p50EodBalance90d;

  public static final String SERIALIZED_NAME_P50_EOD_BALANCE31D_TO60D = "p50_eod_balance_31d_to_60d";
  @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE31D_TO60D)
  private Double p50EodBalance31dTo60d;

  public static final String SERIALIZED_NAME_P50_EOD_BALANCE61D_TO90D = "p50_eod_balance_61d_to_90d";
  @SerializedName(SERIALIZED_NAME_P50_EOD_BALANCE61D_TO90D)
  private Double p50EodBalance61dTo90d;

  public static final String SERIALIZED_NAME_P90_EOD_BALANCE31D_TO60D = "p90_eod_balance_31d_to_60d";
  @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE31D_TO60D)
  private Double p90EodBalance31dTo60d;

  public static final String SERIALIZED_NAME_P90_EOD_BALANCE61D_TO90D = "p90_eod_balance_61d_to_90d";
  @SerializedName(SERIALIZED_NAME_P90_EOD_BALANCE61D_TO90D)
  private Double p90EodBalance61dTo90d;

  public static final String SERIALIZED_NAME_P10_EOD_BALANCE31D_TO60D = "p10_eod_balance_31d_to_60d";
  @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE31D_TO60D)
  private Double p10EodBalance31dTo60d;

  public static final String SERIALIZED_NAME_P10_EOD_BALANCE61D_TO90D = "p10_eod_balance_61d_to_90d";
  @SerializedName(SERIALIZED_NAME_P10_EOD_BALANCE61D_TO90D)
  private Double p10EodBalance61dTo90d;

  public static final String SERIALIZED_NAME_TRANSACTIONS_LAST_UPDATED = "transactions_last_updated";
  @SerializedName(SERIALIZED_NAME_TRANSACTIONS_LAST_UPDATED)
  private OffsetDateTime transactionsLastUpdated;

  public static final String SERIALIZED_NAME_IS_ACCOUNT_CLOSED = "is_account_closed";
  @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_CLOSED)
  private Boolean isAccountClosed;

  public static final String SERIALIZED_NAME_IS_ACCOUNT_FROZEN_OR_RESTRICTED = "is_account_frozen_or_restricted";
  @SerializedName(SERIALIZED_NAME_IS_ACCOUNT_FROZEN_OR_RESTRICTED)
  private Boolean isAccountFrozenOrRestricted;

  public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT3D = "distinct_ip_addresses_count_3d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT3D)
  private Integer distinctIpAddressesCount3d;

  public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT7D = "distinct_ip_addresses_count_7d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT7D)
  private Integer distinctIpAddressesCount7d;

  public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT30D = "distinct_ip_addresses_count_30d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT30D)
  private Integer distinctIpAddressesCount30d;

  public static final String SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT90D = "distinct_ip_addresses_count_90d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_IP_ADDRESSES_COUNT90D)
  private Integer distinctIpAddressesCount90d;

  public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT3D = "distinct_user_agents_count_3d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT3D)
  private Integer distinctUserAgentsCount3d;

  public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT7D = "distinct_user_agents_count_7d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT7D)
  private Integer distinctUserAgentsCount7d;

  public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT30D = "distinct_user_agents_count_30d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT30D)
  private Integer distinctUserAgentsCount30d;

  public static final String SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT90D = "distinct_user_agents_count_90d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_USER_AGENTS_COUNT90D)
  private Integer distinctUserAgentsCount90d;

  public static final String SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT3D = "distinct_ssl_tls_connection_sessions_count_3d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT3D)
  private Integer distinctSslTlsConnectionSessionsCount3d;

  public static final String SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT7D = "distinct_ssl_tls_connection_sessions_count_7d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT7D)
  private Integer distinctSslTlsConnectionSessionsCount7d;

  public static final String SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT30D = "distinct_ssl_tls_connection_sessions_count_30d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT30D)
  private Integer distinctSslTlsConnectionSessionsCount30d;

  public static final String SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT90D = "distinct_ssl_tls_connection_sessions_count_90d";
  @SerializedName(SERIALIZED_NAME_DISTINCT_SSL_TLS_CONNECTION_SESSIONS_COUNT90D)
  private Integer distinctSslTlsConnectionSessionsCount90d;

  public static final String SERIALIZED_NAME_DAYS_SINCE_ACCOUNT_OPENING = "days_since_account_opening";
  @SerializedName(SERIALIZED_NAME_DAYS_SINCE_ACCOUNT_OPENING)
  private Integer daysSinceAccountOpening;

  public static final String SERIALIZED_NAME_BALANCE_TO_TRANSACTION_AMOUNT_RATIO = "balance_to_transaction_amount_ratio";
  @SerializedName(SERIALIZED_NAME_BALANCE_TO_TRANSACTION_AMOUNT_RATIO)
  private Double balanceToTransactionAmountRatio;


  public SignalEvaluateCoreAttributes unauthorizedTransactionsCount7d(Integer unauthorizedTransactionsCount7d) {
    
    this.unauthorizedTransactionsCount7d = unauthorizedTransactionsCount7d;
    return this;
  }

   /**
   * We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 7 days from the account that will be debited.
   * @return unauthorizedTransactionsCount7d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 7 days from the account that will be debited.")

  public Integer getUnauthorizedTransactionsCount7d() {
    return unauthorizedTransactionsCount7d;
  }


  public void setUnauthorizedTransactionsCount7d(Integer unauthorizedTransactionsCount7d) {
    this.unauthorizedTransactionsCount7d = unauthorizedTransactionsCount7d;
  }


  public SignalEvaluateCoreAttributes unauthorizedTransactionsCount30d(Integer unauthorizedTransactionsCount30d) {
    
    this.unauthorizedTransactionsCount30d = unauthorizedTransactionsCount30d;
    return this;
  }

   /**
   * We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 30 days from the account that will be debited.
   * @return unauthorizedTransactionsCount30d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 30 days from the account that will be debited.")

  public Integer getUnauthorizedTransactionsCount30d() {
    return unauthorizedTransactionsCount30d;
  }


  public void setUnauthorizedTransactionsCount30d(Integer unauthorizedTransactionsCount30d) {
    this.unauthorizedTransactionsCount30d = unauthorizedTransactionsCount30d;
  }


  public SignalEvaluateCoreAttributes unauthorizedTransactionsCount60d(Integer unauthorizedTransactionsCount60d) {
    
    this.unauthorizedTransactionsCount60d = unauthorizedTransactionsCount60d;
    return this;
  }

   /**
   * We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 60 days from the account that will be debited.
   * @return unauthorizedTransactionsCount60d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 60 days from the account that will be debited.")

  public Integer getUnauthorizedTransactionsCount60d() {
    return unauthorizedTransactionsCount60d;
  }


  public void setUnauthorizedTransactionsCount60d(Integer unauthorizedTransactionsCount60d) {
    this.unauthorizedTransactionsCount60d = unauthorizedTransactionsCount60d;
  }


  public SignalEvaluateCoreAttributes unauthorizedTransactionsCount90d(Integer unauthorizedTransactionsCount90d) {
    
    this.unauthorizedTransactionsCount90d = unauthorizedTransactionsCount90d;
    return this;
  }

   /**
   * We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 90 days from the account that will be debited.
   * @return unauthorizedTransactionsCount90d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 90 days from the account that will be debited.")

  public Integer getUnauthorizedTransactionsCount90d() {
    return unauthorizedTransactionsCount90d;
  }


  public void setUnauthorizedTransactionsCount90d(Integer unauthorizedTransactionsCount90d) {
    this.unauthorizedTransactionsCount90d = unauthorizedTransactionsCount90d;
  }


  public SignalEvaluateCoreAttributes nsfOverdraftTransactionsCount7d(Integer nsfOverdraftTransactionsCount7d) {
    
    this.nsfOverdraftTransactionsCount7d = nsfOverdraftTransactionsCount7d;
    return this;
  }

   /**
   * We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 7 days from the account that will be debited.
   * @return nsfOverdraftTransactionsCount7d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 7 days from the account that will be debited.")

  public Integer getNsfOverdraftTransactionsCount7d() {
    return nsfOverdraftTransactionsCount7d;
  }


  public void setNsfOverdraftTransactionsCount7d(Integer nsfOverdraftTransactionsCount7d) {
    this.nsfOverdraftTransactionsCount7d = nsfOverdraftTransactionsCount7d;
  }


  public SignalEvaluateCoreAttributes nsfOverdraftTransactionsCount30d(Integer nsfOverdraftTransactionsCount30d) {
    
    this.nsfOverdraftTransactionsCount30d = nsfOverdraftTransactionsCount30d;
    return this;
  }

   /**
   * We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 30 days from the account that will be debited.
   * @return nsfOverdraftTransactionsCount30d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 30 days from the account that will be debited.")

  public Integer getNsfOverdraftTransactionsCount30d() {
    return nsfOverdraftTransactionsCount30d;
  }


  public void setNsfOverdraftTransactionsCount30d(Integer nsfOverdraftTransactionsCount30d) {
    this.nsfOverdraftTransactionsCount30d = nsfOverdraftTransactionsCount30d;
  }


  public SignalEvaluateCoreAttributes nsfOverdraftTransactionsCount60d(Integer nsfOverdraftTransactionsCount60d) {
    
    this.nsfOverdraftTransactionsCount60d = nsfOverdraftTransactionsCount60d;
    return this;
  }

   /**
   * We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 60 days from the account that will be debited.
   * @return nsfOverdraftTransactionsCount60d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 60 days from the account that will be debited.")

  public Integer getNsfOverdraftTransactionsCount60d() {
    return nsfOverdraftTransactionsCount60d;
  }


  public void setNsfOverdraftTransactionsCount60d(Integer nsfOverdraftTransactionsCount60d) {
    this.nsfOverdraftTransactionsCount60d = nsfOverdraftTransactionsCount60d;
  }


  public SignalEvaluateCoreAttributes nsfOverdraftTransactionsCount90d(Integer nsfOverdraftTransactionsCount90d) {
    
    this.nsfOverdraftTransactionsCount90d = nsfOverdraftTransactionsCount90d;
    return this;
  }

   /**
   * We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 90 days from the account that will be debited.
   * @return nsfOverdraftTransactionsCount90d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 90 days from the account that will be debited.")

  public Integer getNsfOverdraftTransactionsCount90d() {
    return nsfOverdraftTransactionsCount90d;
  }


  public void setNsfOverdraftTransactionsCount90d(Integer nsfOverdraftTransactionsCount90d) {
    this.nsfOverdraftTransactionsCount90d = nsfOverdraftTransactionsCount90d;
  }


  public SignalEvaluateCoreAttributes daysSinceFirstPlaidConnection(Integer daysSinceFirstPlaidConnection) {
    
    this.daysSinceFirstPlaidConnection = daysSinceFirstPlaidConnection;
    return this;
  }

   /**
   * The number of days since the first time the Item was connected to an application via Plaid
   * @return daysSinceFirstPlaidConnection
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "The number of days since the first time the Item was connected to an application via Plaid")

  public Integer getDaysSinceFirstPlaidConnection() {
    return daysSinceFirstPlaidConnection;
  }


  public void setDaysSinceFirstPlaidConnection(Integer daysSinceFirstPlaidConnection) {
    this.daysSinceFirstPlaidConnection = daysSinceFirstPlaidConnection;
  }


  public SignalEvaluateCoreAttributes plaidConnectionsCount7d(Integer plaidConnectionsCount7d) {
    
    this.plaidConnectionsCount7d = plaidConnectionsCount7d;
    return this;
  }

   /**
   * The number of times the Item has been connected to applications via Plaid over the past 7 days
   * @return plaidConnectionsCount7d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "The number of times the Item has been connected to applications via Plaid over the past 7 days")

  public Integer getPlaidConnectionsCount7d() {
    return plaidConnectionsCount7d;
  }


  public void setPlaidConnectionsCount7d(Integer plaidConnectionsCount7d) {
    this.plaidConnectionsCount7d = plaidConnectionsCount7d;
  }


  public SignalEvaluateCoreAttributes plaidConnectionsCount30d(Integer plaidConnectionsCount30d) {
    
    this.plaidConnectionsCount30d = plaidConnectionsCount30d;
    return this;
  }

   /**
   * The number of times the Item has been connected to applications via Plaid over the past 30 days
   * @return plaidConnectionsCount30d
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "The number of times the Item has been connected to applications via Plaid over the past 30 days")

  public Integer getPlaidConnectionsCount30d() {
    return plaidConnectionsCount30d;
  }


  public void setPlaidConnectionsCount30d(Integer plaidConnectionsCount30d) {
    this.plaidConnectionsCount30d = plaidConnectionsCount30d;
  }


  public SignalEvaluateCoreAttributes totalPlaidConnectionsCount(Integer totalPlaidConnectionsCount) {
    
    this.totalPlaidConnectionsCount = totalPlaidConnectionsCount;
    return this;
  }

   /**
   * The total number of times the Item has been connected to applications via Plaid
   * @return totalPlaidConnectionsCount
  **/
  @javax.annotation.Nullable
