func (o *BankTransferEvent) GetReceiverDetailsOk() (*BankTransferReceiverDetails, bool) {
	if o == nil  {
		return nil, false
	}
	return o.ReceiverDetails.Get(), o.ReceiverDetails.IsSet()
}
GetReceiverDetailsOk returns a tuple with the ReceiverDetails 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 BankTransferEvent struct {
	EventId int32 `json:"event_id"`
	Timestamp time.Time `json:"timestamp"`
	EventType BankTransferEventType `json:"event_type"`
	AccountId string `json:"account_id"`
	BankTransferId string `json:"bank_transfer_id"`
	OriginationAccountId NullableString `json:"origination_account_id"`
	BankTransferType BankTransferType `json:"bank_transfer_type"`
	BankTransferAmount string `json:"bank_transfer_amount"`
	BankTransferIsoCurrencyCode string `json:"bank_transfer_iso_currency_code"`
	FailureReason NullableBankTransferFailure `json:"failure_reason"`
	Direction NullableBankTransferDirection `json:"direction"`
	ReceiverDetails NullableBankTransferReceiverDetails `json:"receiver_details"`
	AdditionalProperties map[string]interface{}
}
type _BankTransferEvent BankTransferEvent
func NewBankTransferEvent(eventId int32, timestamp time.Time, eventType BankTransferEventType, accountId string, bankTransferId string, originationAccountId NullableString, bankTransferType BankTransferType, bankTransferAmount string, bankTransferIsoCurrencyCode string, failureReason NullableBankTransferFailure, direction NullableBankTransferDirection, receiverDetails NullableBankTransferReceiverDetails) *BankTransferEvent {
	this := BankTransferEvent{}
	this.EventId = eventId
	this.Timestamp = timestamp
	this.EventType = eventType
	this.AccountId = accountId
	this.BankTransferId = bankTransferId
	this.OriginationAccountId = originationAccountId
	this.BankTransferType = bankTransferType
	this.BankTransferAmount = bankTransferAmount
	this.BankTransferIsoCurrencyCode = bankTransferIsoCurrencyCode
	this.FailureReason = failureReason
	this.Direction = direction
	this.ReceiverDetails = receiverDetails
	return &this
}
func NewBankTransferEventWithDefaults() *BankTransferEvent {
	this := BankTransferEvent{}
	return &this
}
func (o *BankTransferEvent) GetEventId() int32 {
	if o == nil {
		var ret int32
		return ret
	}
	return o.EventId
}
func (o *BankTransferEvent) GetEventIdOk() (*int32, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.EventId, true
}
func (o *BankTransferEvent) SetEventId(v int32) {
	o.EventId = v
}
func (o *BankTransferEvent) GetTimestamp() time.Time {
	if o == nil {
		var ret time.Time
		return ret
	}
	return o.Timestamp
}
func (o *BankTransferEvent) GetTimestampOk() (*time.Time, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Timestamp, true
}
func (o *BankTransferEvent) SetTimestamp(v time.Time) {
	o.Timestamp = v
}
func (o *BankTransferEvent) GetEventType() BankTransferEventType {
	if o == nil {
		var ret BankTransferEventType
		return ret
	}
	return o.EventType
}
func (o *BankTransferEvent) GetEventTypeOk() (*BankTransferEventType, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.EventType, true
}
func (o *BankTransferEvent) SetEventType(v BankTransferEventType) {
	o.EventType = v
}
func (o *BankTransferEvent) GetAccountId() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.AccountId
}
func (o *BankTransferEvent) GetAccountIdOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.AccountId, true
}
func (o *BankTransferEvent) SetAccountId(v string) {
	o.AccountId = v
}
func (o *BankTransferEvent) GetBankTransferId() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.BankTransferId
}
func (o *BankTransferEvent) GetBankTransferIdOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.BankTransferId, true
}
func (o *BankTransferEvent) SetBankTransferId(v string) {
	o.BankTransferId = v
}
func (o *BankTransferEvent) GetOriginationAccountId() string {
	if o == nil || o.OriginationAccountId.Get() == nil {
		var ret string
		return ret
	}
	return *o.OriginationAccountId.Get()
}
func (o *BankTransferEvent) GetOriginationAccountIdOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.OriginationAccountId.Get(), o.OriginationAccountId.IsSet()
}
func (o *BankTransferEvent) SetOriginationAccountId(v string) {
	o.OriginationAccountId.Set(&v)
}
func (o *BankTransferEvent) GetBankTransferType() BankTransferType {
	if o == nil {
		var ret BankTransferType
		return ret
	}
	return o.BankTransferType
}
func (o *BankTransferEvent) GetBankTransferTypeOk() (*BankTransferType, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.BankTransferType, true
}
func (o *BankTransferEvent) SetBankTransferType(v BankTransferType) {
	o.BankTransferType = v
}
func (o *BankTransferEvent) GetBankTransferAmount() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.BankTransferAmount
}
func (o *BankTransferEvent) GetBankTransferAmountOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.BankTransferAmount, true
}
func (o *BankTransferEvent) SetBankTransferAmount(v string) {
	o.BankTransferAmount = v
}
func (o *BankTransferEvent) GetBankTransferIsoCurrencyCode() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.BankTransferIsoCurrencyCode
}
func (o *BankTransferEvent) GetBankTransferIsoCurrencyCodeOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.BankTransferIsoCurrencyCode, true
}
func (o *BankTransferEvent) SetBankTransferIsoCurrencyCode(v string) {
	o.BankTransferIsoCurrencyCode = v
}
func (o *BankTransferEvent) GetFailureReason() BankTransferFailure {
	if o == nil || o.FailureReason.Get() == nil {
		var ret BankTransferFailure
		return ret
	}
	return *o.FailureReason.Get()
}
func (o *BankTransferEvent) GetFailureReasonOk() (*BankTransferFailure, bool) {
	if o == nil  {
		return nil, false
	}
	return o.FailureReason.Get(), o.FailureReason.IsSet()
}
func (o *BankTransferEvent) SetFailureReason(v BankTransferFailure) {
	o.FailureReason.Set(&v)
}
func (o *BankTransferEvent) GetDirection() BankTransferDirection {
	if o == nil || o.Direction.Get() == nil {
		var ret BankTransferDirection
		return ret
	}
	return *o.Direction.Get()
}
func (o *BankTransferEvent) GetDirectionOk() (*BankTransferDirection, bool) {
	if o == nil  {
		return nil, false
	}
	return o.Direction.Get(), o.Direction.IsSet()
}
func (o *BankTransferEvent) SetDirection(v BankTransferDirection) {
	o.Direction.Set(&v)
}
func (o *BankTransferEvent) GetReceiverDetails() BankTransferReceiverDetails {
	if o == nil || o.ReceiverDetails.Get() == nil {
		var ret BankTransferReceiverDetails
		return ret
	}
	return *o.ReceiverDetails.Get()
}