All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.recurly.v3.resources.Account Maven / Gradle / Ivy

There is a newer version: 4.59.1
Show newest version
/**
 * This file is automatically created by Recurly's OpenAPI generation process and thus any edits you
 * make by hand will be lost. If you wish to make a change to this file, please create a Github
 * issue explaining the changes you need and we will usher them to the appropriate places.
 */
package com.recurly.v3.resources;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.recurly.v3.Constants;
import com.recurly.v3.Resource;
import java.util.List;
import org.joda.time.DateTime;

public class Account extends Resource {

  @SerializedName("address")
  @Expose
  private Address address;

  /**
   * An enumerable describing the billing behavior of the account, specifically whether the account
   * is self-paying or will rely on the parent account to pay.
   */
  @SerializedName("bill_to")
  @Expose
  private Constants.BillTo billTo;

  @SerializedName("billing_info")
  @Expose
  private BillingInfo billingInfo;

  /**
   * Additional email address that should receive account correspondence. These should be separated
   * only by commas. These CC emails will receive all emails that the `email` field also receives.
   */
  @SerializedName("cc_emails")
  @Expose
  private String ccEmails;

  /** The unique identifier of the account. This cannot be changed once the account is created. */
  @SerializedName("code")
  @Expose
  private String code;

  @SerializedName("company")
  @Expose
  private String company;

  /** When the account was created. */
  @SerializedName("created_at")
  @Expose
  private DateTime createdAt;

  /**
   * The custom fields will only be altered when they are included in a request. Sending an empty
   * array will not remove any existing values. To remove a field send the name with a null or empty
   * value.
   */
  @SerializedName("custom_fields")
  @Expose
  private List customFields;

  /** If present, when the account was last marked inactive. */
  @SerializedName("deleted_at")
  @Expose
  private DateTime deletedAt;

  /**
   * Unique ID to identify a dunning campaign. Used to specify if a non-default dunning campaign
   * should be assigned to this account. For sites without multiple dunning campaigns enabled, the
   * default dunning campaign will always be used.
   */
  @SerializedName("dunning_campaign_id")
  @Expose
  private String dunningCampaignId;

  /**
   * The email address used for communicating with this customer. The customer will also use this
   * email address to log into your hosted account management pages. This value does not need to be
   * unique.
   */
  @SerializedName("email")
  @Expose
  private String email;

  /**
   * The Avalara AvaTax value that can be passed to identify the customer type for tax purposes. The
   * range of values can be A - R (more info at Avalara). Value is case-sensitive.
   */
  @SerializedName("entity_use_code")
  @Expose
  private String entityUseCode;

  /**
   * The tax exemption certificate number for the account. If the merchant has an integration for
   * the Vertex tax provider, this optional value will be sent in any tax calculation requests for
   * the account.
   */
  @SerializedName("exemption_certificate")
  @Expose
  private String exemptionCertificate;

  /** The external accounts belonging to this account */
  @SerializedName("external_accounts")
  @Expose
  private List externalAccounts;

  @SerializedName("first_name")
  @Expose
  private String firstName;

  /** Indicates if the account has an active subscription. */
  @SerializedName("has_active_subscription")
  @Expose
  private Boolean hasActiveSubscription;

  /** Indicates if the account has a canceled subscription. */
  @SerializedName("has_canceled_subscription")
  @Expose
  private Boolean hasCanceledSubscription;

  /** Indicates if the account has a future subscription. */
  @SerializedName("has_future_subscription")
  @Expose
  private Boolean hasFutureSubscription;

  /**
   * Indicates if the account has a subscription that is either active, canceled, future, or paused.
   */
  @SerializedName("has_live_subscription")
  @Expose
  private Boolean hasLiveSubscription;

  /** Indicates if the account has a past due invoice. */
  @SerializedName("has_past_due_invoice")
  @Expose
  private Boolean hasPastDueInvoice;

  /** Indicates if the account has a paused subscription. */
  @SerializedName("has_paused_subscription")
  @Expose
  private Boolean hasPausedSubscription;

  /**
   * The unique token for automatically logging the account in to the hosted management pages. You
   * may automatically log the user into their hosted management pages by directing the user to:
   * `https://{subdomain}.recurly.com/account/{hosted_login_token}`.
   */
  @SerializedName("hosted_login_token")
  @Expose
  private String hostedLoginToken;

  @SerializedName("id")
  @Expose
  private String id;

  /**
   * Unique ID to identify an invoice template. Available when the site is on a Pro or Elite plan.
   * Used to specify if a non-default invoice template will be used to generate invoices for the
   * account. For sites without multiple invoice templates enabled, the default template will always
   * be used.
   */
  @SerializedName("invoice_template_id")
  @Expose
  private String invoiceTemplateId;

  @SerializedName("last_name")
  @Expose
  private String lastName;

  /** Object type */
  @SerializedName("object")
  @Expose
  private String object;

  /**
   * Unique ID to identify the business entity assigned to the account. Available when the `Multiple
   * Business Entities` feature is enabled.
   */
  @SerializedName("override_business_entity_id")
  @Expose
  private String overrideBusinessEntityId;

  /** The UUID of the parent account associated with this account. */
  @SerializedName("parent_account_id")
  @Expose
  private String parentAccountId;

  /**
   * Used to determine the language and locale of emails sent on behalf of the merchant to the
   * customer.
   */
  @SerializedName("preferred_locale")
  @Expose
  private Constants.PreferredLocale preferredLocale;

  /**
   * The [IANA time zone
   * name](https://docs.recurly.com/docs/email-time-zones-and-time-stamps#supported-api-iana-time-zone-names)
   * used to determine the time zone of emails sent on behalf of the merchant to the customer.
   */
  @SerializedName("preferred_time_zone")
  @Expose
  private String preferredTimeZone;

  /** The shipping addresses on the account. */
  @SerializedName("shipping_addresses")
  @Expose
  private List shippingAddresses;

  /** Accounts can be either active or inactive. */
  @SerializedName("state")
  @Expose
  private Constants.ActiveState state;

  /**
   * The tax status of the account. `true` exempts tax on the account, `false` applies tax on the
   * account.
   */
  @SerializedName("tax_exempt")
  @Expose
  private Boolean taxExempt;

  /** When the account was last changed. */
  @SerializedName("updated_at")
  @Expose
  private DateTime updatedAt;

  /** A secondary value for the account. */
  @SerializedName("username")
  @Expose
  private String username;

  /**
   * The VAT number of the account (to avoid having the VAT applied). This is only used for manually
   * collected invoices.
   */
  @SerializedName("vat_number")
  @Expose
  private String vatNumber;

  public Address getAddress() {
    return this.address;
  }

  /** @param address */
  public void setAddress(final Address address) {
    this.address = address;
  }

  /**
   * An enumerable describing the billing behavior of the account, specifically whether the account
   * is self-paying or will rely on the parent account to pay.
   */
  public Constants.BillTo getBillTo() {
    return this.billTo;
  }

  /**
   * @param billTo An enumerable describing the billing behavior of the account, specifically
   *     whether the account is self-paying or will rely on the parent account to pay.
   */
  public void setBillTo(final Constants.BillTo billTo) {
    this.billTo = billTo;
  }

  public BillingInfo getBillingInfo() {
    return this.billingInfo;
  }

  /** @param billingInfo */
  public void setBillingInfo(final BillingInfo billingInfo) {
    this.billingInfo = billingInfo;
  }

  /**
   * Additional email address that should receive account correspondence. These should be separated
   * only by commas. These CC emails will receive all emails that the `email` field also receives.
   */
  public String getCcEmails() {
    return this.ccEmails;
  }

  /**
   * @param ccEmails Additional email address that should receive account correspondence. These
   *     should be separated only by commas. These CC emails will receive all emails that the
   *     `email` field also receives.
   */
  public void setCcEmails(final String ccEmails) {
    this.ccEmails = ccEmails;
  }

  /** The unique identifier of the account. This cannot be changed once the account is created. */
  public String getCode() {
    return this.code;
  }

  /**
   * @param code The unique identifier of the account. This cannot be changed once the account is
   *     created.
   */
  public void setCode(final String code) {
    this.code = code;
  }

  public String getCompany() {
    return this.company;
  }

  /** @param company */
  public void setCompany(final String company) {
    this.company = company;
  }

  /** When the account was created. */
  public DateTime getCreatedAt() {
    return this.createdAt;
  }

  /** @param createdAt When the account was created. */
  public void setCreatedAt(final DateTime createdAt) {
    this.createdAt = createdAt;
  }

  /**
   * The custom fields will only be altered when they are included in a request. Sending an empty
   * array will not remove any existing values. To remove a field send the name with a null or empty
   * value.
   */
  public List getCustomFields() {
    return this.customFields;
  }

  /**
   * @param customFields The custom fields will only be altered when they are included in a request.
   *     Sending an empty array will not remove any existing values. To remove a field send the name
   *     with a null or empty value.
   */
  public void setCustomFields(final List customFields) {
    this.customFields = customFields;
  }

  /** If present, when the account was last marked inactive. */
  public DateTime getDeletedAt() {
    return this.deletedAt;
  }

  /** @param deletedAt If present, when the account was last marked inactive. */
  public void setDeletedAt(final DateTime deletedAt) {
    this.deletedAt = deletedAt;
  }

  /**
   * Unique ID to identify a dunning campaign. Used to specify if a non-default dunning campaign
   * should be assigned to this account. For sites without multiple dunning campaigns enabled, the
   * default dunning campaign will always be used.
   */
  public String getDunningCampaignId() {
    return this.dunningCampaignId;
  }

  /**
   * @param dunningCampaignId Unique ID to identify a dunning campaign. Used to specify if a
   *     non-default dunning campaign should be assigned to this account. For sites without multiple
   *     dunning campaigns enabled, the default dunning campaign will always be used.
   */
  public void setDunningCampaignId(final String dunningCampaignId) {
    this.dunningCampaignId = dunningCampaignId;
  }

  /**
   * The email address used for communicating with this customer. The customer will also use this
   * email address to log into your hosted account management pages. This value does not need to be
   * unique.
   */
  public String getEmail() {
    return this.email;
  }

  /**
   * @param email The email address used for communicating with this customer. The customer will
   *     also use this email address to log into your hosted account management pages. This value
   *     does not need to be unique.
   */
  public void setEmail(final String email) {
    this.email = email;
  }

  /**
   * The Avalara AvaTax value that can be passed to identify the customer type for tax purposes. The
   * range of values can be A - R (more info at Avalara). Value is case-sensitive.
   */
  public String getEntityUseCode() {
    return this.entityUseCode;
  }

  /**
   * @param entityUseCode The Avalara AvaTax value that can be passed to identify the customer type
   *     for tax purposes. The range of values can be A - R (more info at Avalara). Value is
   *     case-sensitive.
   */
  public void setEntityUseCode(final String entityUseCode) {
    this.entityUseCode = entityUseCode;
  }

  /**
   * The tax exemption certificate number for the account. If the merchant has an integration for
   * the Vertex tax provider, this optional value will be sent in any tax calculation requests for
   * the account.
   */
  public String getExemptionCertificate() {
    return this.exemptionCertificate;
  }

  /**
   * @param exemptionCertificate The tax exemption certificate number for the account. If the
   *     merchant has an integration for the Vertex tax provider, this optional value will be sent
   *     in any tax calculation requests for the account.
   */
  public void setExemptionCertificate(final String exemptionCertificate) {
    this.exemptionCertificate = exemptionCertificate;
  }

  /** The external accounts belonging to this account */
  public List getExternalAccounts() {
    return this.externalAccounts;
  }

  /** @param externalAccounts The external accounts belonging to this account */
  public void setExternalAccounts(final List externalAccounts) {
    this.externalAccounts = externalAccounts;
  }

  public String getFirstName() {
    return this.firstName;
  }

  /** @param firstName */
  public void setFirstName(final String firstName) {
    this.firstName = firstName;
  }

  /** Indicates if the account has an active subscription. */
  public Boolean getHasActiveSubscription() {
    return this.hasActiveSubscription;
  }

  /** @param hasActiveSubscription Indicates if the account has an active subscription. */
  public void setHasActiveSubscription(final Boolean hasActiveSubscription) {
    this.hasActiveSubscription = hasActiveSubscription;
  }

  /** Indicates if the account has a canceled subscription. */
  public Boolean getHasCanceledSubscription() {
    return this.hasCanceledSubscription;
  }

  /** @param hasCanceledSubscription Indicates if the account has a canceled subscription. */
  public void setHasCanceledSubscription(final Boolean hasCanceledSubscription) {
    this.hasCanceledSubscription = hasCanceledSubscription;
  }

  /** Indicates if the account has a future subscription. */
  public Boolean getHasFutureSubscription() {
    return this.hasFutureSubscription;
  }

  /** @param hasFutureSubscription Indicates if the account has a future subscription. */
  public void setHasFutureSubscription(final Boolean hasFutureSubscription) {
    this.hasFutureSubscription = hasFutureSubscription;
  }

  /**
   * Indicates if the account has a subscription that is either active, canceled, future, or paused.
   */
  public Boolean getHasLiveSubscription() {
    return this.hasLiveSubscription;
  }

  /**
   * @param hasLiveSubscription Indicates if the account has a subscription that is either active,
   *     canceled, future, or paused.
   */
  public void setHasLiveSubscription(final Boolean hasLiveSubscription) {
    this.hasLiveSubscription = hasLiveSubscription;
  }

  /** Indicates if the account has a past due invoice. */
  public Boolean getHasPastDueInvoice() {
    return this.hasPastDueInvoice;
  }

  /** @param hasPastDueInvoice Indicates if the account has a past due invoice. */
  public void setHasPastDueInvoice(final Boolean hasPastDueInvoice) {
    this.hasPastDueInvoice = hasPastDueInvoice;
  }

  /** Indicates if the account has a paused subscription. */
  public Boolean getHasPausedSubscription() {
    return this.hasPausedSubscription;
  }

  /** @param hasPausedSubscription Indicates if the account has a paused subscription. */
  public void setHasPausedSubscription(final Boolean hasPausedSubscription) {
    this.hasPausedSubscription = hasPausedSubscription;
  }

  /**
   * The unique token for automatically logging the account in to the hosted management pages. You
   * may automatically log the user into their hosted management pages by directing the user to:
   * `https://{subdomain}.recurly.com/account/{hosted_login_token}`.
   */
  public String getHostedLoginToken() {
    return this.hostedLoginToken;
  }

  /**
   * @param hostedLoginToken The unique token for automatically logging the account in to the hosted
   *     management pages. You may automatically log the user into their hosted management pages by
   *     directing the user to: `https://{subdomain}.recurly.com/account/{hosted_login_token}`.
   */
  public void setHostedLoginToken(final String hostedLoginToken) {
    this.hostedLoginToken = hostedLoginToken;
  }

  public String getId() {
    return this.id;
  }

  /** @param id */
  public void setId(final String id) {
    this.id = id;
  }

  /**
   * Unique ID to identify an invoice template. Available when the site is on a Pro or Elite plan.
   * Used to specify if a non-default invoice template will be used to generate invoices for the
   * account. For sites without multiple invoice templates enabled, the default template will always
   * be used.
   */
  public String getInvoiceTemplateId() {
    return this.invoiceTemplateId;
  }

  /**
   * @param invoiceTemplateId Unique ID to identify an invoice template. Available when the site is
   *     on a Pro or Elite plan. Used to specify if a non-default invoice template will be used to
   *     generate invoices for the account. For sites without multiple invoice templates enabled,
   *     the default template will always be used.
   */
  public void setInvoiceTemplateId(final String invoiceTemplateId) {
    this.invoiceTemplateId = invoiceTemplateId;
  }

  public String getLastName() {
    return this.lastName;
  }

  /** @param lastName */
  public void setLastName(final String lastName) {
    this.lastName = lastName;
  }

  /** Object type */
  public String getObject() {
    return this.object;
  }

  /** @param object Object type */
  public void setObject(final String object) {
    this.object = object;
  }

  /**
   * Unique ID to identify the business entity assigned to the account. Available when the `Multiple
   * Business Entities` feature is enabled.
   */
  public String getOverrideBusinessEntityId() {
    return this.overrideBusinessEntityId;
  }

  /**
   * @param overrideBusinessEntityId Unique ID to identify the business entity assigned to the
   *     account. Available when the `Multiple Business Entities` feature is enabled.
   */
  public void setOverrideBusinessEntityId(final String overrideBusinessEntityId) {
    this.overrideBusinessEntityId = overrideBusinessEntityId;
  }

  /** The UUID of the parent account associated with this account. */
  public String getParentAccountId() {
    return this.parentAccountId;
  }

  /** @param parentAccountId The UUID of the parent account associated with this account. */
  public void setParentAccountId(final String parentAccountId) {
    this.parentAccountId = parentAccountId;
  }

  /**
   * Used to determine the language and locale of emails sent on behalf of the merchant to the
   * customer.
   */
  public Constants.PreferredLocale getPreferredLocale() {
    return this.preferredLocale;
  }

  /**
   * @param preferredLocale Used to determine the language and locale of emails sent on behalf of
   *     the merchant to the customer.
   */
  public void setPreferredLocale(final Constants.PreferredLocale preferredLocale) {
    this.preferredLocale = preferredLocale;
  }

  /**
   * The [IANA time zone
   * name](https://docs.recurly.com/docs/email-time-zones-and-time-stamps#supported-api-iana-time-zone-names)
   * used to determine the time zone of emails sent on behalf of the merchant to the customer.
   */
  public String getPreferredTimeZone() {
    return this.preferredTimeZone;
  }

  /**
   * @param preferredTimeZone The [IANA time zone
   *     name](https://docs.recurly.com/docs/email-time-zones-and-time-stamps#supported-api-iana-time-zone-names)
   *     used to determine the time zone of emails sent on behalf of the merchant to the customer.
   */
  public void setPreferredTimeZone(final String preferredTimeZone) {
    this.preferredTimeZone = preferredTimeZone;
  }

  /** The shipping addresses on the account. */
  public List getShippingAddresses() {
    return this.shippingAddresses;
  }

  /** @param shippingAddresses The shipping addresses on the account. */
  public void setShippingAddresses(final List shippingAddresses) {
    this.shippingAddresses = shippingAddresses;
  }

  /** Accounts can be either active or inactive. */
  public Constants.ActiveState getState() {
    return this.state;
  }

  /** @param state Accounts can be either active or inactive. */
  public void setState(final Constants.ActiveState state) {
    this.state = state;
  }

  /**
   * The tax status of the account. `true` exempts tax on the account, `false` applies tax on the
   * account.
   */
  public Boolean getTaxExempt() {
    return this.taxExempt;
  }

  /**
   * @param taxExempt The tax status of the account. `true` exempts tax on the account, `false`
   *     applies tax on the account.
   */
  public void setTaxExempt(final Boolean taxExempt) {
    this.taxExempt = taxExempt;
  }

  /** When the account was last changed. */
  public DateTime getUpdatedAt() {
    return this.updatedAt;
  }

  /** @param updatedAt When the account was last changed. */
  public void setUpdatedAt(final DateTime updatedAt) {
    this.updatedAt = updatedAt;
  }

  /** A secondary value for the account. */
  public String getUsername() {
    return this.username;
  }

  /** @param username A secondary value for the account. */
  public void setUsername(final String username) {
    this.username = username;
  }

  /**
   * The VAT number of the account (to avoid having the VAT applied). This is only used for manually
   * collected invoices.
   */
  public String getVatNumber() {
    return this.vatNumber;
  }

  /**
   * @param vatNumber The VAT number of the account (to avoid having the VAT applied). This is only
   *     used for manually collected invoices.
   */
  public void setVatNumber(final String vatNumber) {
    this.vatNumber = vatNumber;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy