func (o *EarningsTotal) GetHoursOk() (*float32, bool) {
	if o == nil  {
		return nil, false
	}
	return o.Hours.Get(), o.Hours.IsSet()
}
GetHoursOk returns a tuple with the Hours field value if set, nil otherwise
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"
)
type EarningsTotal struct {
	CanonicalDescription NullableString `json:"canonical_description,omitempty"`
	CurrentAmount NullableFloat32 `json:"current_amount,omitempty"`
	CurrentPay *Pay `json:"current_pay,omitempty"`
	YtdPay *Pay `json:"ytd_pay,omitempty"`
	Hours NullableFloat32 `json:"hours,omitempty"`
	IsoCurrencyCode NullableString `json:"iso_currency_code,omitempty"`
	UnofficialCurrencyCode NullableString `json:"unofficial_currency_code,omitempty"`
	YtdAmount NullableFloat32 `json:"ytd_amount,omitempty"`
	AdditionalProperties map[string]interface{}
}
type _EarningsTotal EarningsTotal
func NewEarningsTotal() *EarningsTotal {
	this := EarningsTotal{}
	return &this
}
func NewEarningsTotalWithDefaults() *EarningsTotal {
	this := EarningsTotal{}
	return &this
}
func (o *EarningsTotal) GetCanonicalDescription() string {
	if o == nil || o.CanonicalDescription.Get() == nil {
		var ret string
		return ret
	}
	return *o.CanonicalDescription.Get()
}
func (o *EarningsTotal) GetCanonicalDescriptionOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.CanonicalDescription.Get(), o.CanonicalDescription.IsSet()
}
func (o *EarningsTotal) HasCanonicalDescription() bool {
	if o != nil && o.CanonicalDescription.IsSet() {
		return true
	}
	return false
}
func (o *EarningsTotal) SetCanonicalDescription(v string) {
	o.CanonicalDescription.Set(&v)
}
func (o *EarningsTotal) SetCanonicalDescriptionNil() {
	o.CanonicalDescription.Set(nil)
}
func (o *EarningsTotal) UnsetCanonicalDescription() {
	o.CanonicalDescription.Unset()
}
func (o *EarningsTotal) GetCurrentAmount() float32 {
	if o == nil || o.CurrentAmount.Get() == nil {
		var ret float32
		return ret
	}
	return *o.CurrentAmount.Get()
}
func (o *EarningsTotal) GetCurrentAmountOk() (*float32, bool) {
	if o == nil  {
		return nil, false
	}
	return o.CurrentAmount.Get(), o.CurrentAmount.IsSet()
}
func (o *EarningsTotal) HasCurrentAmount() bool {
	if o != nil && o.CurrentAmount.IsSet() {
		return true
	}
	return false
}
func (o *EarningsTotal) SetCurrentAmount(v float32) {
	o.CurrentAmount.Set(&v)
}
func (o *EarningsTotal) SetCurrentAmountNil() {
	o.CurrentAmount.Set(nil)
}
func (o *EarningsTotal) UnsetCurrentAmount() {
	o.CurrentAmount.Unset()
}
func (o *EarningsTotal) GetCurrentPay() Pay {
	if o == nil || o.CurrentPay == nil {
		var ret Pay
		return ret
	}
	return *o.CurrentPay
}
func (o *EarningsTotal) GetCurrentPayOk() (*Pay, bool) {
	if o == nil || o.CurrentPay == nil {
		return nil, false
	}
	return o.CurrentPay, true
}
func (o *EarningsTotal) HasCurrentPay() bool {
	if o != nil && o.CurrentPay != nil {
		return true
	}
	return false
}
func (o *EarningsTotal) SetCurrentPay(v Pay) {
	o.CurrentPay = &v
}
func (o *EarningsTotal) GetYtdPay() Pay {
	if o == nil || o.YtdPay == nil {
		var ret Pay
		return ret
	}
	return *o.YtdPay
}
func (o *EarningsTotal) GetYtdPayOk() (*Pay, bool) {
	if o == nil || o.YtdPay == nil {
		return nil, false
	}
	return o.YtdPay, true
}
func (o *EarningsTotal) HasYtdPay() bool {
	if o != nil && o.YtdPay != nil {
		return true
	}
	return false
}
func (o *EarningsTotal) SetYtdPay(v Pay) {
	o.YtdPay = &v
}
func (o *EarningsTotal) GetHours() float32 {
	if o == nil || o.Hours.Get() == nil {
		var ret float32
		return ret
	}
	return *o.Hours.Get()
}