func (o *BankTransferEventListRequest) UnsetStartDate() {
	o.StartDate.Unset()
}
UnsetStartDate ensures that no value is present for StartDate, not even an explicit nil
package plaid
import (
	"encoding/json"
	"time"
)
type BankTransferEventListRequest struct {
	ClientId *string `json:"client_id,omitempty"`
	Secret *string `json:"secret,omitempty"`
	StartDate NullableTime `json:"start_date,omitempty"`
	EndDate NullableTime `json:"end_date,omitempty"`
	BankTransferId NullableString `json:"bank_transfer_id,omitempty"`
	AccountId NullableString `json:"account_id,omitempty"`
	BankTransferType NullableString `json:"bank_transfer_type,omitempty"`
	EventTypes *[]BankTransferEventType `json:"event_types,omitempty"`
	Count NullableInt32 `json:"count,omitempty"`
	Offset NullableInt32 `json:"offset,omitempty"`
	OriginationAccountId NullableString `json:"origination_account_id,omitempty"`
	Direction NullableString `json:"direction,omitempty"`
}
func NewBankTransferEventListRequest() *BankTransferEventListRequest {
	this := BankTransferEventListRequest{}
	var count int32 = 25
	this.Count = *NewNullableInt32(&count)
	var offset int32 = 0
	this.Offset = *NewNullableInt32(&offset)
	return &this
}
func NewBankTransferEventListRequestWithDefaults() *BankTransferEventListRequest {
	this := BankTransferEventListRequest{}
	var count int32 = 25
	this.Count = *NewNullableInt32(&count)
	var offset int32 = 0
	this.Offset = *NewNullableInt32(&offset)
	return &this
}
func (o *BankTransferEventListRequest) GetClientId() string {
	if o == nil || o.ClientId == nil {
		var ret string
		return ret
	}
	return *o.ClientId
}
func (o *BankTransferEventListRequest) GetClientIdOk() (*string, bool) {
	if o == nil || o.ClientId == nil {
		return nil, false
	}
	return o.ClientId, true
}
func (o *BankTransferEventListRequest) HasClientId() bool {
	if o != nil && o.ClientId != nil {
		return true
	}
	return false
}
func (o *BankTransferEventListRequest) SetClientId(v string) {
	o.ClientId = &v
}
func (o *BankTransferEventListRequest) GetSecret() string {
	if o == nil || o.Secret == nil {
		var ret string
		return ret
	}
	return *o.Secret
}
func (o *BankTransferEventListRequest) GetSecretOk() (*string, bool) {
	if o == nil || o.Secret == nil {
		return nil, false
	}
	return o.Secret, true
}
func (o *BankTransferEventListRequest) HasSecret() bool {
	if o != nil && o.Secret != nil {
		return true
	}
	return false
}
func (o *BankTransferEventListRequest) SetSecret(v string) {
	o.Secret = &v
}
func (o *BankTransferEventListRequest) GetStartDate() time.Time {
	if o == nil || o.StartDate.Get() == nil {
		var ret time.Time
		return ret
	}
	return *o.StartDate.Get()
}
func (o *BankTransferEventListRequest) GetStartDateOk() (*time.Time, bool) {
	if o == nil  {
		return nil, false
	}
	return o.StartDate.Get(), o.StartDate.IsSet()
}
func (o *BankTransferEventListRequest) HasStartDate() bool {
	if o != nil && o.StartDate.IsSet() {
		return true
	}
	return false
}
func (o *BankTransferEventListRequest) SetStartDate(v time.Time) {
	o.StartDate.Set(&v)
}
func (o *BankTransferEventListRequest) SetStartDateNil() {
	o.StartDate.Set(nil)
}