func (o *BankTransfer) GetCustomTagOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.CustomTag.Get(), o.CustomTag.IsSet()
}
GetCustomTagOk returns a tuple with the CustomTag field value
and a boolean to check if the value has been set.
NOTE: If the value is an explicit nil, `nil, true` will be returned
package plaid
import (
	"encoding/json"
	"time"
)
type BankTransfer struct {
	Id string `json:"id"`
	AchClass ACHClass `json:"ach_class"`
	AccountId string `json:"account_id"`
	Type BankTransferType `json:"type"`
	User BankTransferUser `json:"user"`
	Amount string `json:"amount"`
	IsoCurrencyCode string `json:"iso_currency_code"`
	Description string `json:"description"`
	Created time.Time `json:"created"`
	Status BankTransferStatus `json:"status"`
	Network BankTransferNetwork `json:"network"`
	Cancellable bool `json:"cancellable"`
	FailureReason NullableBankTransferFailure `json:"failure_reason"`
	CustomTag NullableString `json:"custom_tag"`
	Metadata map[string]string `json:"metadata"`
	OriginationAccountId string `json:"origination_account_id"`
	Direction NullableBankTransferDirection `json:"direction"`
	AdditionalProperties map[string]interface{}
}
type _BankTransfer BankTransfer
func NewBankTransfer(id string, achClass ACHClass, accountId string, type_ BankTransferType, user BankTransferUser, amount string, isoCurrencyCode string, description string, created time.Time, status BankTransferStatus, network BankTransferNetwork, cancellable bool, failureReason NullableBankTransferFailure, customTag NullableString, metadata map[string]string, originationAccountId string, direction NullableBankTransferDirection) *BankTransfer {
	this := BankTransfer{}
	this.Id = id
	this.AchClass = achClass
	this.AccountId = accountId
	this.Type = type_
	this.User = user
	this.Amount = amount
	this.IsoCurrencyCode = isoCurrencyCode
	this.Description = description
	this.Created = created
	this.Status = status
	this.Network = network
	this.Cancellable = cancellable
	this.FailureReason = failureReason
	this.CustomTag = customTag
	this.Metadata = metadata
	this.OriginationAccountId = originationAccountId
	this.Direction = direction
	return &this
}
func NewBankTransferWithDefaults() *BankTransfer {
	this := BankTransfer{}
	return &this
}
func (o *BankTransfer) GetId() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.Id
}
func (o *BankTransfer) GetIdOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Id, true
}
func (o *BankTransfer) SetId(v string) {
	o.Id = v
}
func (o *BankTransfer) GetAchClass() ACHClass {
	if o == nil {
		var ret ACHClass
		return ret
	}
	return o.AchClass
}
func (o *BankTransfer) GetAchClassOk() (*ACHClass, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.AchClass, true
}
func (o *BankTransfer) SetAchClass(v ACHClass) {
	o.AchClass = v
}
func (o *BankTransfer) GetAccountId() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.AccountId
}
func (o *BankTransfer) GetAccountIdOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.AccountId, true
}
func (o *BankTransfer) SetAccountId(v string) {
	o.AccountId = v
}
func (o *BankTransfer) GetType() BankTransferType {
	if o == nil {
		var ret BankTransferType
		return ret
	}
	return o.Type
}
func (o *BankTransfer) GetTypeOk() (*BankTransferType, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Type, true
}
func (o *BankTransfer) SetType(v BankTransferType) {
	o.Type = v
}
func (o *BankTransfer) GetUser() BankTransferUser {
	if o == nil {
		var ret BankTransferUser
		return ret
	}
	return o.User
}
func (o *BankTransfer) GetUserOk() (*BankTransferUser, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.User, true
}
func (o *BankTransfer) SetUser(v BankTransferUser) {
	o.User = v
}
func (o *BankTransfer) GetAmount() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.Amount
}
func (o *BankTransfer) GetAmountOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Amount, true
}
func (o *BankTransfer) SetAmount(v string) {
	o.Amount = v
}
func (o *BankTransfer) GetIsoCurrencyCode() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.IsoCurrencyCode
}
func (o *BankTransfer) GetIsoCurrencyCodeOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.IsoCurrencyCode, true
}
func (o *BankTransfer) SetIsoCurrencyCode(v string) {
	o.IsoCurrencyCode = v
}
func (o *BankTransfer) GetDescription() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.Description
}
func (o *BankTransfer) GetDescriptionOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Description, true
}
func (o *BankTransfer) SetDescription(v string) {
	o.Description = v
}
func (o *BankTransfer) GetCreated() time.Time {
	if o == nil {
		var ret time.Time
		return ret
	}
	return o.Created
}
func (o *BankTransfer) GetCreatedOk() (*time.Time, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Created, true
}
func (o *BankTransfer) SetCreated(v time.Time) {
	o.Created = v
}
func (o *BankTransfer) GetStatus() BankTransferStatus {
	if o == nil {
		var ret BankTransferStatus
		return ret
	}
	return o.Status
}
func (o *BankTransfer) GetStatusOk() (*BankTransferStatus, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Status, true
}
func (o *BankTransfer) SetStatus(v BankTransferStatus) {
	o.Status = v
}
func (o *BankTransfer) GetNetwork() BankTransferNetwork {
	if o == nil {
		var ret BankTransferNetwork
		return ret
	}
	return o.Network
}
func (o *BankTransfer) GetNetworkOk() (*BankTransferNetwork, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Network, true
}
func (o *BankTransfer) SetNetwork(v BankTransferNetwork) {
	o.Network = v
}
func (o *BankTransfer) GetCancellable() bool {
	if o == nil {
		var ret bool
		return ret
	}
	return o.Cancellable
}
func (o *BankTransfer) GetCancellableOk() (*bool, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Cancellable, true
}
func (o *BankTransfer) SetCancellable(v bool) {
	o.Cancellable = v
}
func (o *BankTransfer) GetFailureReason() BankTransferFailure {
	if o == nil || o.FailureReason.Get() == nil {
		var ret BankTransferFailure
		return ret
	}
	return *o.FailureReason.Get()
}
func (o *BankTransfer) GetFailureReasonOk() (*BankTransferFailure, bool) {
	if o == nil  {
		return nil, false
	}
	return o.FailureReason.Get(), o.FailureReason.IsSet()
}
func (o *BankTransfer) SetFailureReason(v BankTransferFailure) {
	o.FailureReason.Set(&v)
}
func (o *BankTransfer) GetCustomTag() string {
	if o == nil || o.CustomTag.Get() == nil {
		var ret string
		return ret
	}
	return *o.CustomTag.Get()
}