func (o *ExternalPaymentScheduleRequest) UnsetAdjustedStartDate() {
	o.AdjustedStartDate.Unset()
}
UnsetAdjustedStartDate ensures that no value is present for AdjustedStartDate, not even an explicit nil
package plaid
import (
	"encoding/json"
)
type ExternalPaymentScheduleRequest struct {
	Interval PaymentScheduleInterval `json:"interval"`
	IntervalExecutionDay int32 `json:"interval_execution_day"`
	StartDate string `json:"start_date"`
	EndDate NullableString `json:"end_date,omitempty"`
	AdjustedStartDate NullableString `json:"adjusted_start_date,omitempty"`
	AdditionalProperties map[string]interface{}
}
type _ExternalPaymentScheduleRequest ExternalPaymentScheduleRequest
func NewExternalPaymentScheduleRequest(interval PaymentScheduleInterval, intervalExecutionDay int32, startDate string) *ExternalPaymentScheduleRequest {
	this := ExternalPaymentScheduleRequest{}
	this.Interval = interval
	this.IntervalExecutionDay = intervalExecutionDay
	this.StartDate = startDate
	return &this
}
func NewExternalPaymentScheduleRequestWithDefaults() *ExternalPaymentScheduleRequest {
	this := ExternalPaymentScheduleRequest{}
	return &this
}
func (o *ExternalPaymentScheduleRequest) GetInterval() PaymentScheduleInterval {
	if o == nil {
		var ret PaymentScheduleInterval
		return ret
	}
	return o.Interval
}
func (o *ExternalPaymentScheduleRequest) GetIntervalOk() (*PaymentScheduleInterval, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Interval, true
}
func (o *ExternalPaymentScheduleRequest) SetInterval(v PaymentScheduleInterval) {
	o.Interval = v
}
func (o *ExternalPaymentScheduleRequest) GetIntervalExecutionDay() int32 {
	if o == nil {
		var ret int32
		return ret
	}
	return o.IntervalExecutionDay
}
func (o *ExternalPaymentScheduleRequest) GetIntervalExecutionDayOk() (*int32, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.IntervalExecutionDay, true
}
func (o *ExternalPaymentScheduleRequest) SetIntervalExecutionDay(v int32) {
	o.IntervalExecutionDay = v
}
func (o *ExternalPaymentScheduleRequest) GetStartDate() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.StartDate
}
func (o *ExternalPaymentScheduleRequest) GetStartDateOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.StartDate, true
}
func (o *ExternalPaymentScheduleRequest) SetStartDate(v string) {
	o.StartDate = v
}
func (o *ExternalPaymentScheduleRequest) GetEndDate() string {
	if o == nil || o.EndDate.Get() == nil {
		var ret string
		return ret
	}
	return *o.EndDate.Get()
}
func (o *ExternalPaymentScheduleRequest) GetEndDateOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.EndDate.Get(), o.EndDate.IsSet()
}
func (o *ExternalPaymentScheduleRequest) HasEndDate() bool {
	if o != nil && o.EndDate.IsSet() {
		return true
	}
	return false
}
func (o *ExternalPaymentScheduleRequest) SetEndDate(v string) {
	o.EndDate.Set(&v)
}
func (o *ExternalPaymentScheduleRequest) SetEndDateNil() {
	o.EndDate.Set(nil)
}
func (o *ExternalPaymentScheduleRequest) UnsetEndDate() {
	o.EndDate.Unset()
}
func (o *ExternalPaymentScheduleRequest) GetAdjustedStartDate() string {
	if o == nil || o.AdjustedStartDate.Get() == nil {
		var ret string
		return ret
	}
	return *o.AdjustedStartDate.Get()
}
func (o *ExternalPaymentScheduleRequest) GetAdjustedStartDateOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.AdjustedStartDate.Get(), o.AdjustedStartDate.IsSet()
}
func (o *ExternalPaymentScheduleRequest) HasAdjustedStartDate() bool {
	if o != nil && o.AdjustedStartDate.IsSet() {
		return true
	}
	return false
}
func (o *ExternalPaymentScheduleRequest) SetAdjustedStartDate(v string) {
	o.AdjustedStartDate.Set(&v)
}
func (o *ExternalPaymentScheduleRequest) SetAdjustedStartDateNil() {
	o.AdjustedStartDate.Set(nil)
}