/*
CoinAPI Market Data REST API

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

API version: v1
Contact: support@apibricks.io
*/

// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.

package openapi

import (
	"encoding/json"
	"time"
)

// checks if the V1Symbol type satisfies the MappedNullable interface at compile time
var _ MappedNullable = &V1Symbol{}

// V1Symbol Represents a symbol data model.
type V1Symbol struct {
	// The symbol identifier.
	SymbolId NullableString `json:"symbol_id,omitempty"`
	// The exchange identifier.
	ExchangeId NullableString `json:"exchange_id,omitempty"`
	// The symbol type.
	SymbolType NullableString `json:"symbol_type,omitempty"`
	// The base asset identifier.
	AssetIdBase NullableString `json:"asset_id_base,omitempty"`
	// The quote asset identifier.
	AssetIdQuote NullableString `json:"asset_id_quote,omitempty"`
	// The unit asset identifier.
	AssetIdUnit NullableString `json:"asset_id_unit,omitempty"`
	// The contract unit for futures.
	FutureContractUnit NullableFloat64 `json:"future_contract_unit,omitempty"`
	// The asset used as the unit for futures contract.
	FutureContractUnitAsset NullableString `json:"future_contract_unit_asset,omitempty"`
	// The future delivery time for futures contract.
	FutureDeliveryTime NullableTime `json:"future_delivery_time,omitempty"`
	// Indicates whether the option type is a call.
	OptionTypeIsCall NullableBool `json:"option_type_is_call,omitempty"`
	// The strike price for options.
	OptionStrikePrice NullableFloat64 `json:"option_strike_price,omitempty"`
	// The contract unit for options.
	OptionContractUnit NullableFloat64 `json:"option_contract_unit,omitempty"`
	// The exercise style for options.
	OptionExerciseStyle NullableString `json:"option_exercise_style,omitempty"`
	// The expiration time for options.
	OptionExpirationTime NullableTime `json:"option_expiration_time,omitempty"`
	// The delivery time for contracts.
	ContractDeliveryTime NullableTime `json:"contract_delivery_time,omitempty"`
	// The contract unit for contracts.
	ContractUnit NullableFloat64 `json:"contract_unit,omitempty"`
	// The asset used as the unit for contracts.
	ContractUnitAsset NullableString `json:"contract_unit_asset,omitempty"`
	// The contract identifier.
	ContractId NullableString `json:"contract_id,omitempty"`
	// The display name of the contract.
	ContractDisplayName NullableString `json:"contract_display_name,omitempty"`
	// The display description of the contract.
	ContractDisplayDescription NullableString `json:"contract_display_description,omitempty"`
	DataStart NullableString `json:"data_start,omitempty"`
	DataEnd NullableString `json:"data_end,omitempty"`
	// The start date of quote data.
	DataQuoteStart NullableTime `json:"data_quote_start,omitempty"`
	// The end date of quote data.
	DataQuoteEnd NullableTime `json:"data_quote_end,omitempty"`
	// The start date of order book data.
	DataOrderbookStart NullableTime `json:"data_orderbook_start,omitempty"`
	// The end date of order book data.
	DataOrderbookEnd NullableTime `json:"data_orderbook_end,omitempty"`
	// The start date of trade data.
	DataTradeStart NullableTime `json:"data_trade_start,omitempty"`
	// The end date of trade data.
	DataTradeEnd NullableTime `json:"data_trade_end,omitempty"`
	// The index identifier.
	IndexId NullableString `json:"index_id,omitempty"`
	// The display name of the index.
	IndexDisplayName NullableString `json:"index_display_name,omitempty"`
	// The display description of the index.
	IndexDisplayDescription NullableString `json:"index_display_description,omitempty"`
	// The volume in the last 1 hour.
	Volume1hrs NullableFloat64 `json:"volume_1hrs,omitempty"`
	// The volume in USD in the last 1 hour.
	Volume1hrsUsd NullableFloat64 `json:"volume_1hrs_usd,omitempty"`
	// The volume in the last 1 day.
	Volume1day NullableFloat64 `json:"volume_1day,omitempty"`
	// The volume in USD in the last 1 day.
	Volume1dayUsd NullableFloat64 `json:"volume_1day_usd,omitempty"`
	// The volume in the last 1 month.
	Volume1mth NullableFloat64 `json:"volume_1mth,omitempty"`
	// The volume in USD in the last 1 month.
	Volume1mthUsd NullableFloat64 `json:"volume_1mth_usd,omitempty"`
	// The price.
	Price NullableFloat64 `json:"price,omitempty"`
	// The symbol identifier in the exchange.
	SymbolIdExchange NullableString `json:"symbol_id_exchange,omitempty"`
	// The base asset identifier in the exchange.
	AssetIdBaseExchange NullableString `json:"asset_id_base_exchange,omitempty"`
	// The quote asset identifier in the exchange.
	AssetIdQuoteExchange NullableString `json:"asset_id_quote_exchange,omitempty"`
	// The price precision.
	PricePrecision NullableFloat64 `json:"price_precision,omitempty"`
	// The size precision.
	SizePrecision NullableFloat64 `json:"size_precision,omitempty"`
	// Not normalized raw kvp data.
	RawKvp map[string]string `json:"raw_kvp,omitempty"`
	// Volume unit in USD.
	VolumeToUsd NullableFloat64 `json:"volume_to_usd,omitempty"`
	// The symbol identifier in integer immutable format, used to correlate data across different APIs.
	SymbolIdInt NullableInt32 `json:"symbol_id_int,omitempty"`
}

// NewV1Symbol instantiates a new V1Symbol object
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed
func NewV1Symbol() *V1Symbol {
	this := V1Symbol{}
	return &this
}

// NewV1SymbolWithDefaults instantiates a new V1Symbol object
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set
func NewV1SymbolWithDefaults() *V1Symbol {
	this := V1Symbol{}
	return &this
}

// GetSymbolId returns the SymbolId field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetSymbolId() string {
	if o == nil || IsNil(o.SymbolId.Get()) {
		var ret string
		return ret
	}
	return *o.SymbolId.Get()
}

// GetSymbolIdOk returns a tuple with the SymbolId 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
func (o *V1Symbol) GetSymbolIdOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.SymbolId.Get(), o.SymbolId.IsSet()
}

// HasSymbolId returns a boolean if a field has been set.
func (o *V1Symbol) HasSymbolId() bool {
	if o != nil && o.SymbolId.IsSet() {
		return true
	}

	return false
}

// SetSymbolId gets a reference to the given NullableString and assigns it to the SymbolId field.
func (o *V1Symbol) SetSymbolId(v string) {
	o.SymbolId.Set(&v)
}
// SetSymbolIdNil sets the value for SymbolId to be an explicit nil
func (o *V1Symbol) SetSymbolIdNil() {
	o.SymbolId.Set(nil)
}

// UnsetSymbolId ensures that no value is present for SymbolId, not even an explicit nil
func (o *V1Symbol) UnsetSymbolId() {
	o.SymbolId.Unset()
}

// GetExchangeId returns the ExchangeId field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetExchangeId() string {
	if o == nil || IsNil(o.ExchangeId.Get()) {
		var ret string
		return ret
	}
	return *o.ExchangeId.Get()
}

// GetExchangeIdOk returns a tuple with the ExchangeId 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
func (o *V1Symbol) GetExchangeIdOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.ExchangeId.Get(), o.ExchangeId.IsSet()
}

// HasExchangeId returns a boolean if a field has been set.
func (o *V1Symbol) HasExchangeId() bool {
	if o != nil && o.ExchangeId.IsSet() {
		return true
	}

	return false
}

// SetExchangeId gets a reference to the given NullableString and assigns it to the ExchangeId field.
func (o *V1Symbol) SetExchangeId(v string) {
	o.ExchangeId.Set(&v)
}
// SetExchangeIdNil sets the value for ExchangeId to be an explicit nil
func (o *V1Symbol) SetExchangeIdNil() {
	o.ExchangeId.Set(nil)
}

// UnsetExchangeId ensures that no value is present for ExchangeId, not even an explicit nil
func (o *V1Symbol) UnsetExchangeId() {
	o.ExchangeId.Unset()
}

// GetSymbolType returns the SymbolType field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetSymbolType() string {
	if o == nil || IsNil(o.SymbolType.Get()) {
		var ret string
		return ret
	}
	return *o.SymbolType.Get()
}

// GetSymbolTypeOk returns a tuple with the SymbolType 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
func (o *V1Symbol) GetSymbolTypeOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.SymbolType.Get(), o.SymbolType.IsSet()
}

// HasSymbolType returns a boolean if a field has been set.
func (o *V1Symbol) HasSymbolType() bool {
	if o != nil && o.SymbolType.IsSet() {
		return true
	}

	return false
}

// SetSymbolType gets a reference to the given NullableString and assigns it to the SymbolType field.
func (o *V1Symbol) SetSymbolType(v string) {
	o.SymbolType.Set(&v)
}
// SetSymbolTypeNil sets the value for SymbolType to be an explicit nil
func (o *V1Symbol) SetSymbolTypeNil() {
	o.SymbolType.Set(nil)
}

// UnsetSymbolType ensures that no value is present for SymbolType, not even an explicit nil
func (o *V1Symbol) UnsetSymbolType() {
	o.SymbolType.Unset()
}

// GetAssetIdBase returns the AssetIdBase field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetAssetIdBase() string {
	if o == nil || IsNil(o.AssetIdBase.Get()) {
		var ret string
		return ret
	}
	return *o.AssetIdBase.Get()
}

// GetAssetIdBaseOk returns a tuple with the AssetIdBase 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
func (o *V1Symbol) GetAssetIdBaseOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.AssetIdBase.Get(), o.AssetIdBase.IsSet()
}

// HasAssetIdBase returns a boolean if a field has been set.
func (o *V1Symbol) HasAssetIdBase() bool {
	if o != nil && o.AssetIdBase.IsSet() {
		return true
	}

	return false
}

// SetAssetIdBase gets a reference to the given NullableString and assigns it to the AssetIdBase field.
func (o *V1Symbol) SetAssetIdBase(v string) {
	o.AssetIdBase.Set(&v)
}
// SetAssetIdBaseNil sets the value for AssetIdBase to be an explicit nil
func (o *V1Symbol) SetAssetIdBaseNil() {
	o.AssetIdBase.Set(nil)
}

// UnsetAssetIdBase ensures that no value is present for AssetIdBase, not even an explicit nil
func (o *V1Symbol) UnsetAssetIdBase() {
	o.AssetIdBase.Unset()
}

// GetAssetIdQuote returns the AssetIdQuote field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetAssetIdQuote() string {
	if o == nil || IsNil(o.AssetIdQuote.Get()) {
		var ret string
		return ret
	}
	return *o.AssetIdQuote.Get()
}

// GetAssetIdQuoteOk returns a tuple with the AssetIdQuote 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
func (o *V1Symbol) GetAssetIdQuoteOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.AssetIdQuote.Get(), o.AssetIdQuote.IsSet()
}

// HasAssetIdQuote returns a boolean if a field has been set.
func (o *V1Symbol) HasAssetIdQuote() bool {
	if o != nil && o.AssetIdQuote.IsSet() {
		return true
	}

	return false
}

// SetAssetIdQuote gets a reference to the given NullableString and assigns it to the AssetIdQuote field.
func (o *V1Symbol) SetAssetIdQuote(v string) {
	o.AssetIdQuote.Set(&v)
}
// SetAssetIdQuoteNil sets the value for AssetIdQuote to be an explicit nil
func (o *V1Symbol) SetAssetIdQuoteNil() {
	o.AssetIdQuote.Set(nil)
}

// UnsetAssetIdQuote ensures that no value is present for AssetIdQuote, not even an explicit nil
func (o *V1Symbol) UnsetAssetIdQuote() {
	o.AssetIdQuote.Unset()
}

// GetAssetIdUnit returns the AssetIdUnit field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetAssetIdUnit() string {
	if o == nil || IsNil(o.AssetIdUnit.Get()) {
		var ret string
		return ret
	}
	return *o.AssetIdUnit.Get()
}

// GetAssetIdUnitOk returns a tuple with the AssetIdUnit 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
func (o *V1Symbol) GetAssetIdUnitOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.AssetIdUnit.Get(), o.AssetIdUnit.IsSet()
}

// HasAssetIdUnit returns a boolean if a field has been set.
func (o *V1Symbol) HasAssetIdUnit() bool {
	if o != nil && o.AssetIdUnit.IsSet() {
		return true
	}

	return false
}

// SetAssetIdUnit gets a reference to the given NullableString and assigns it to the AssetIdUnit field.
func (o *V1Symbol) SetAssetIdUnit(v string) {
	o.AssetIdUnit.Set(&v)
}
// SetAssetIdUnitNil sets the value for AssetIdUnit to be an explicit nil
func (o *V1Symbol) SetAssetIdUnitNil() {
	o.AssetIdUnit.Set(nil)
}

// UnsetAssetIdUnit ensures that no value is present for AssetIdUnit, not even an explicit nil
func (o *V1Symbol) UnsetAssetIdUnit() {
	o.AssetIdUnit.Unset()
}

// GetFutureContractUnit returns the FutureContractUnit field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetFutureContractUnit() float64 {
	if o == nil || IsNil(o.FutureContractUnit.Get()) {
		var ret float64
		return ret
	}
	return *o.FutureContractUnit.Get()
}

// GetFutureContractUnitOk returns a tuple with the FutureContractUnit 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
func (o *V1Symbol) GetFutureContractUnitOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.FutureContractUnit.Get(), o.FutureContractUnit.IsSet()
}

// HasFutureContractUnit returns a boolean if a field has been set.
func (o *V1Symbol) HasFutureContractUnit() bool {
	if o != nil && o.FutureContractUnit.IsSet() {
		return true
	}

	return false
}

// SetFutureContractUnit gets a reference to the given NullableFloat64 and assigns it to the FutureContractUnit field.
func (o *V1Symbol) SetFutureContractUnit(v float64) {
	o.FutureContractUnit.Set(&v)
}
// SetFutureContractUnitNil sets the value for FutureContractUnit to be an explicit nil
func (o *V1Symbol) SetFutureContractUnitNil() {
	o.FutureContractUnit.Set(nil)
}

// UnsetFutureContractUnit ensures that no value is present for FutureContractUnit, not even an explicit nil
func (o *V1Symbol) UnsetFutureContractUnit() {
	o.FutureContractUnit.Unset()
}

// GetFutureContractUnitAsset returns the FutureContractUnitAsset field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetFutureContractUnitAsset() string {
	if o == nil || IsNil(o.FutureContractUnitAsset.Get()) {
		var ret string
		return ret
	}
	return *o.FutureContractUnitAsset.Get()
}

// GetFutureContractUnitAssetOk returns a tuple with the FutureContractUnitAsset 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
func (o *V1Symbol) GetFutureContractUnitAssetOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.FutureContractUnitAsset.Get(), o.FutureContractUnitAsset.IsSet()
}

// HasFutureContractUnitAsset returns a boolean if a field has been set.
func (o *V1Symbol) HasFutureContractUnitAsset() bool {
	if o != nil && o.FutureContractUnitAsset.IsSet() {
		return true
	}

	return false
}

// SetFutureContractUnitAsset gets a reference to the given NullableString and assigns it to the FutureContractUnitAsset field.
func (o *V1Symbol) SetFutureContractUnitAsset(v string) {
	o.FutureContractUnitAsset.Set(&v)
}
// SetFutureContractUnitAssetNil sets the value for FutureContractUnitAsset to be an explicit nil
func (o *V1Symbol) SetFutureContractUnitAssetNil() {
	o.FutureContractUnitAsset.Set(nil)
}

// UnsetFutureContractUnitAsset ensures that no value is present for FutureContractUnitAsset, not even an explicit nil
func (o *V1Symbol) UnsetFutureContractUnitAsset() {
	o.FutureContractUnitAsset.Unset()
}

// GetFutureDeliveryTime returns the FutureDeliveryTime field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetFutureDeliveryTime() time.Time {
	if o == nil || IsNil(o.FutureDeliveryTime.Get()) {
		var ret time.Time
		return ret
	}
	return *o.FutureDeliveryTime.Get()
}

// GetFutureDeliveryTimeOk returns a tuple with the FutureDeliveryTime 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
func (o *V1Symbol) GetFutureDeliveryTimeOk() (*time.Time, bool) {
	if o == nil {
		return nil, false
	}
	return o.FutureDeliveryTime.Get(), o.FutureDeliveryTime.IsSet()
}

// HasFutureDeliveryTime returns a boolean if a field has been set.
func (o *V1Symbol) HasFutureDeliveryTime() bool {
	if o != nil && o.FutureDeliveryTime.IsSet() {
		return true
	}

	return false
}

// SetFutureDeliveryTime gets a reference to the given NullableTime and assigns it to the FutureDeliveryTime field.
func (o *V1Symbol) SetFutureDeliveryTime(v time.Time) {
	o.FutureDeliveryTime.Set(&v)
}
// SetFutureDeliveryTimeNil sets the value for FutureDeliveryTime to be an explicit nil
func (o *V1Symbol) SetFutureDeliveryTimeNil() {
	o.FutureDeliveryTime.Set(nil)
}

// UnsetFutureDeliveryTime ensures that no value is present for FutureDeliveryTime, not even an explicit nil
func (o *V1Symbol) UnsetFutureDeliveryTime() {
	o.FutureDeliveryTime.Unset()
}

// GetOptionTypeIsCall returns the OptionTypeIsCall field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetOptionTypeIsCall() bool {
	if o == nil || IsNil(o.OptionTypeIsCall.Get()) {
		var ret bool
		return ret
	}
	return *o.OptionTypeIsCall.Get()
}

// GetOptionTypeIsCallOk returns a tuple with the OptionTypeIsCall 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
func (o *V1Symbol) GetOptionTypeIsCallOk() (*bool, bool) {
	if o == nil {
		return nil, false
	}
	return o.OptionTypeIsCall.Get(), o.OptionTypeIsCall.IsSet()
}

// HasOptionTypeIsCall returns a boolean if a field has been set.
func (o *V1Symbol) HasOptionTypeIsCall() bool {
	if o != nil && o.OptionTypeIsCall.IsSet() {
		return true
	}

	return false
}

// SetOptionTypeIsCall gets a reference to the given NullableBool and assigns it to the OptionTypeIsCall field.
func (o *V1Symbol) SetOptionTypeIsCall(v bool) {
	o.OptionTypeIsCall.Set(&v)
}
// SetOptionTypeIsCallNil sets the value for OptionTypeIsCall to be an explicit nil
func (o *V1Symbol) SetOptionTypeIsCallNil() {
	o.OptionTypeIsCall.Set(nil)
}

// UnsetOptionTypeIsCall ensures that no value is present for OptionTypeIsCall, not even an explicit nil
func (o *V1Symbol) UnsetOptionTypeIsCall() {
	o.OptionTypeIsCall.Unset()
}

// GetOptionStrikePrice returns the OptionStrikePrice field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetOptionStrikePrice() float64 {
	if o == nil || IsNil(o.OptionStrikePrice.Get()) {
		var ret float64
		return ret
	}
	return *o.OptionStrikePrice.Get()
}

// GetOptionStrikePriceOk returns a tuple with the OptionStrikePrice 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
func (o *V1Symbol) GetOptionStrikePriceOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.OptionStrikePrice.Get(), o.OptionStrikePrice.IsSet()
}

// HasOptionStrikePrice returns a boolean if a field has been set.
func (o *V1Symbol) HasOptionStrikePrice() bool {
	if o != nil && o.OptionStrikePrice.IsSet() {
		return true
	}

	return false
}

// SetOptionStrikePrice gets a reference to the given NullableFloat64 and assigns it to the OptionStrikePrice field.
func (o *V1Symbol) SetOptionStrikePrice(v float64) {
	o.OptionStrikePrice.Set(&v)
}
// SetOptionStrikePriceNil sets the value for OptionStrikePrice to be an explicit nil
func (o *V1Symbol) SetOptionStrikePriceNil() {
	o.OptionStrikePrice.Set(nil)
}

// UnsetOptionStrikePrice ensures that no value is present for OptionStrikePrice, not even an explicit nil
func (o *V1Symbol) UnsetOptionStrikePrice() {
	o.OptionStrikePrice.Unset()
}

// GetOptionContractUnit returns the OptionContractUnit field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetOptionContractUnit() float64 {
	if o == nil || IsNil(o.OptionContractUnit.Get()) {
		var ret float64
		return ret
	}
	return *o.OptionContractUnit.Get()
}

// GetOptionContractUnitOk returns a tuple with the OptionContractUnit 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
func (o *V1Symbol) GetOptionContractUnitOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.OptionContractUnit.Get(), o.OptionContractUnit.IsSet()
}

// HasOptionContractUnit returns a boolean if a field has been set.
func (o *V1Symbol) HasOptionContractUnit() bool {
	if o != nil && o.OptionContractUnit.IsSet() {
		return true
	}

	return false
}

// SetOptionContractUnit gets a reference to the given NullableFloat64 and assigns it to the OptionContractUnit field.
func (o *V1Symbol) SetOptionContractUnit(v float64) {
	o.OptionContractUnit.Set(&v)
}
// SetOptionContractUnitNil sets the value for OptionContractUnit to be an explicit nil
func (o *V1Symbol) SetOptionContractUnitNil() {
	o.OptionContractUnit.Set(nil)
}

// UnsetOptionContractUnit ensures that no value is present for OptionContractUnit, not even an explicit nil
func (o *V1Symbol) UnsetOptionContractUnit() {
	o.OptionContractUnit.Unset()
}

// GetOptionExerciseStyle returns the OptionExerciseStyle field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetOptionExerciseStyle() string {
	if o == nil || IsNil(o.OptionExerciseStyle.Get()) {
		var ret string
		return ret
	}
	return *o.OptionExerciseStyle.Get()
}

// GetOptionExerciseStyleOk returns a tuple with the OptionExerciseStyle 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
func (o *V1Symbol) GetOptionExerciseStyleOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.OptionExerciseStyle.Get(), o.OptionExerciseStyle.IsSet()
}

// HasOptionExerciseStyle returns a boolean if a field has been set.
func (o *V1Symbol) HasOptionExerciseStyle() bool {
	if o != nil && o.OptionExerciseStyle.IsSet() {
		return true
	}

	return false
}

// SetOptionExerciseStyle gets a reference to the given NullableString and assigns it to the OptionExerciseStyle field.
func (o *V1Symbol) SetOptionExerciseStyle(v string) {
	o.OptionExerciseStyle.Set(&v)
}
// SetOptionExerciseStyleNil sets the value for OptionExerciseStyle to be an explicit nil
func (o *V1Symbol) SetOptionExerciseStyleNil() {
	o.OptionExerciseStyle.Set(nil)
}

// UnsetOptionExerciseStyle ensures that no value is present for OptionExerciseStyle, not even an explicit nil
func (o *V1Symbol) UnsetOptionExerciseStyle() {
	o.OptionExerciseStyle.Unset()
}

// GetOptionExpirationTime returns the OptionExpirationTime field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetOptionExpirationTime() time.Time {
	if o == nil || IsNil(o.OptionExpirationTime.Get()) {
		var ret time.Time
		return ret
	}
	return *o.OptionExpirationTime.Get()
}

// GetOptionExpirationTimeOk returns a tuple with the OptionExpirationTime 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
func (o *V1Symbol) GetOptionExpirationTimeOk() (*time.Time, bool) {
	if o == nil {
		return nil, false
	}
	return o.OptionExpirationTime.Get(), o.OptionExpirationTime.IsSet()
}

// HasOptionExpirationTime returns a boolean if a field has been set.
func (o *V1Symbol) HasOptionExpirationTime() bool {
	if o != nil && o.OptionExpirationTime.IsSet() {
		return true
	}

	return false
}

// SetOptionExpirationTime gets a reference to the given NullableTime and assigns it to the OptionExpirationTime field.
func (o *V1Symbol) SetOptionExpirationTime(v time.Time) {
	o.OptionExpirationTime.Set(&v)
}
// SetOptionExpirationTimeNil sets the value for OptionExpirationTime to be an explicit nil
func (o *V1Symbol) SetOptionExpirationTimeNil() {
	o.OptionExpirationTime.Set(nil)
}

// UnsetOptionExpirationTime ensures that no value is present for OptionExpirationTime, not even an explicit nil
func (o *V1Symbol) UnsetOptionExpirationTime() {
	o.OptionExpirationTime.Unset()
}

// GetContractDeliveryTime returns the ContractDeliveryTime field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetContractDeliveryTime() time.Time {
	if o == nil || IsNil(o.ContractDeliveryTime.Get()) {
		var ret time.Time
		return ret
	}
	return *o.ContractDeliveryTime.Get()
}

// GetContractDeliveryTimeOk returns a tuple with the ContractDeliveryTime 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
func (o *V1Symbol) GetContractDeliveryTimeOk() (*time.Time, bool) {
	if o == nil {
		return nil, false
	}
	return o.ContractDeliveryTime.Get(), o.ContractDeliveryTime.IsSet()
}

// HasContractDeliveryTime returns a boolean if a field has been set.
func (o *V1Symbol) HasContractDeliveryTime() bool {
	if o != nil && o.ContractDeliveryTime.IsSet() {
		return true
	}

	return false
}

// SetContractDeliveryTime gets a reference to the given NullableTime and assigns it to the ContractDeliveryTime field.
func (o *V1Symbol) SetContractDeliveryTime(v time.Time) {
	o.ContractDeliveryTime.Set(&v)
}
// SetContractDeliveryTimeNil sets the value for ContractDeliveryTime to be an explicit nil
func (o *V1Symbol) SetContractDeliveryTimeNil() {
	o.ContractDeliveryTime.Set(nil)
}

// UnsetContractDeliveryTime ensures that no value is present for ContractDeliveryTime, not even an explicit nil
func (o *V1Symbol) UnsetContractDeliveryTime() {
	o.ContractDeliveryTime.Unset()
}

// GetContractUnit returns the ContractUnit field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetContractUnit() float64 {
	if o == nil || IsNil(o.ContractUnit.Get()) {
		var ret float64
		return ret
	}
	return *o.ContractUnit.Get()
}

// GetContractUnitOk returns a tuple with the ContractUnit 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
func (o *V1Symbol) GetContractUnitOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.ContractUnit.Get(), o.ContractUnit.IsSet()
}

// HasContractUnit returns a boolean if a field has been set.
func (o *V1Symbol) HasContractUnit() bool {
	if o != nil && o.ContractUnit.IsSet() {
		return true
	}

	return false
}

// SetContractUnit gets a reference to the given NullableFloat64 and assigns it to the ContractUnit field.
func (o *V1Symbol) SetContractUnit(v float64) {
	o.ContractUnit.Set(&v)
}
// SetContractUnitNil sets the value for ContractUnit to be an explicit nil
func (o *V1Symbol) SetContractUnitNil() {
	o.ContractUnit.Set(nil)
}

// UnsetContractUnit ensures that no value is present for ContractUnit, not even an explicit nil
func (o *V1Symbol) UnsetContractUnit() {
	o.ContractUnit.Unset()
}

// GetContractUnitAsset returns the ContractUnitAsset field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetContractUnitAsset() string {
	if o == nil || IsNil(o.ContractUnitAsset.Get()) {
		var ret string
		return ret
	}
	return *o.ContractUnitAsset.Get()
}

// GetContractUnitAssetOk returns a tuple with the ContractUnitAsset 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
func (o *V1Symbol) GetContractUnitAssetOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.ContractUnitAsset.Get(), o.ContractUnitAsset.IsSet()
}

// HasContractUnitAsset returns a boolean if a field has been set.
func (o *V1Symbol) HasContractUnitAsset() bool {
	if o != nil && o.ContractUnitAsset.IsSet() {
		return true
	}

	return false
}

// SetContractUnitAsset gets a reference to the given NullableString and assigns it to the ContractUnitAsset field.
func (o *V1Symbol) SetContractUnitAsset(v string) {
	o.ContractUnitAsset.Set(&v)
}
// SetContractUnitAssetNil sets the value for ContractUnitAsset to be an explicit nil
func (o *V1Symbol) SetContractUnitAssetNil() {
	o.ContractUnitAsset.Set(nil)
}

// UnsetContractUnitAsset ensures that no value is present for ContractUnitAsset, not even an explicit nil
func (o *V1Symbol) UnsetContractUnitAsset() {
	o.ContractUnitAsset.Unset()
}

// GetContractId returns the ContractId field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetContractId() string {
	if o == nil || IsNil(o.ContractId.Get()) {
		var ret string
		return ret
	}
	return *o.ContractId.Get()
}

// GetContractIdOk returns a tuple with the ContractId 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
func (o *V1Symbol) GetContractIdOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.ContractId.Get(), o.ContractId.IsSet()
}

// HasContractId returns a boolean if a field has been set.
func (o *V1Symbol) HasContractId() bool {
	if o != nil && o.ContractId.IsSet() {
		return true
	}

	return false
}

// SetContractId gets a reference to the given NullableString and assigns it to the ContractId field.
func (o *V1Symbol) SetContractId(v string) {
	o.ContractId.Set(&v)
}
// SetContractIdNil sets the value for ContractId to be an explicit nil
func (o *V1Symbol) SetContractIdNil() {
	o.ContractId.Set(nil)
}

// UnsetContractId ensures that no value is present for ContractId, not even an explicit nil
func (o *V1Symbol) UnsetContractId() {
	o.ContractId.Unset()
}

// GetContractDisplayName returns the ContractDisplayName field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetContractDisplayName() string {
	if o == nil || IsNil(o.ContractDisplayName.Get()) {
		var ret string
		return ret
	}
	return *o.ContractDisplayName.Get()
}

// GetContractDisplayNameOk returns a tuple with the ContractDisplayName 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
func (o *V1Symbol) GetContractDisplayNameOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.ContractDisplayName.Get(), o.ContractDisplayName.IsSet()
}

// HasContractDisplayName returns a boolean if a field has been set.
func (o *V1Symbol) HasContractDisplayName() bool {
	if o != nil && o.ContractDisplayName.IsSet() {
		return true
	}

	return false
}

// SetContractDisplayName gets a reference to the given NullableString and assigns it to the ContractDisplayName field.
func (o *V1Symbol) SetContractDisplayName(v string) {
	o.ContractDisplayName.Set(&v)
}
// SetContractDisplayNameNil sets the value for ContractDisplayName to be an explicit nil
func (o *V1Symbol) SetContractDisplayNameNil() {
	o.ContractDisplayName.Set(nil)
}

// UnsetContractDisplayName ensures that no value is present for ContractDisplayName, not even an explicit nil
func (o *V1Symbol) UnsetContractDisplayName() {
	o.ContractDisplayName.Unset()
}

// GetContractDisplayDescription returns the ContractDisplayDescription field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetContractDisplayDescription() string {
	if o == nil || IsNil(o.ContractDisplayDescription.Get()) {
		var ret string
		return ret
	}
	return *o.ContractDisplayDescription.Get()
}

// GetContractDisplayDescriptionOk returns a tuple with the ContractDisplayDescription 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
func (o *V1Symbol) GetContractDisplayDescriptionOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.ContractDisplayDescription.Get(), o.ContractDisplayDescription.IsSet()
}

// HasContractDisplayDescription returns a boolean if a field has been set.
func (o *V1Symbol) HasContractDisplayDescription() bool {
	if o != nil && o.ContractDisplayDescription.IsSet() {
		return true
	}

	return false
}

// SetContractDisplayDescription gets a reference to the given NullableString and assigns it to the ContractDisplayDescription field.
func (o *V1Symbol) SetContractDisplayDescription(v string) {
	o.ContractDisplayDescription.Set(&v)
}
// SetContractDisplayDescriptionNil sets the value for ContractDisplayDescription to be an explicit nil
func (o *V1Symbol) SetContractDisplayDescriptionNil() {
	o.ContractDisplayDescription.Set(nil)
}

// UnsetContractDisplayDescription ensures that no value is present for ContractDisplayDescription, not even an explicit nil
func (o *V1Symbol) UnsetContractDisplayDescription() {
	o.ContractDisplayDescription.Unset()
}

// GetDataStart returns the DataStart field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetDataStart() string {
	if o == nil || IsNil(o.DataStart.Get()) {
		var ret string
		return ret
	}
	return *o.DataStart.Get()
}

// GetDataStartOk returns a tuple with the DataStart 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
func (o *V1Symbol) GetDataStartOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.DataStart.Get(), o.DataStart.IsSet()
}

// HasDataStart returns a boolean if a field has been set.
func (o *V1Symbol) HasDataStart() bool {
	if o != nil && o.DataStart.IsSet() {
		return true
	}

	return false
}

// SetDataStart gets a reference to the given NullableString and assigns it to the DataStart field.
func (o *V1Symbol) SetDataStart(v string) {
	o.DataStart.Set(&v)
}
// SetDataStartNil sets the value for DataStart to be an explicit nil
func (o *V1Symbol) SetDataStartNil() {
	o.DataStart.Set(nil)
}

// UnsetDataStart ensures that no value is present for DataStart, not even an explicit nil
func (o *V1Symbol) UnsetDataStart() {
	o.DataStart.Unset()
}

// GetDataEnd returns the DataEnd field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetDataEnd() string {
	if o == nil || IsNil(o.DataEnd.Get()) {
		var ret string
		return ret
	}
	return *o.DataEnd.Get()
}

// GetDataEndOk returns a tuple with the DataEnd 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
func (o *V1Symbol) GetDataEndOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.DataEnd.Get(), o.DataEnd.IsSet()
}

// HasDataEnd returns a boolean if a field has been set.
func (o *V1Symbol) HasDataEnd() bool {
	if o != nil && o.DataEnd.IsSet() {
		return true
	}

	return false
}

// SetDataEnd gets a reference to the given NullableString and assigns it to the DataEnd field.
func (o *V1Symbol) SetDataEnd(v string) {
	o.DataEnd.Set(&v)
}
// SetDataEndNil sets the value for DataEnd to be an explicit nil
func (o *V1Symbol) SetDataEndNil() {
	o.DataEnd.Set(nil)
}

// UnsetDataEnd ensures that no value is present for DataEnd, not even an explicit nil
func (o *V1Symbol) UnsetDataEnd() {
	o.DataEnd.Unset()
}

// GetDataQuoteStart returns the DataQuoteStart field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetDataQuoteStart() time.Time {
	if o == nil || IsNil(o.DataQuoteStart.Get()) {
		var ret time.Time
		return ret
	}
	return *o.DataQuoteStart.Get()
}

// GetDataQuoteStartOk returns a tuple with the DataQuoteStart 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
func (o *V1Symbol) GetDataQuoteStartOk() (*time.Time, bool) {
	if o == nil {
		return nil, false
	}
	return o.DataQuoteStart.Get(), o.DataQuoteStart.IsSet()
}

// HasDataQuoteStart returns a boolean if a field has been set.
func (o *V1Symbol) HasDataQuoteStart() bool {
	if o != nil && o.DataQuoteStart.IsSet() {
		return true
	}

	return false
}

// SetDataQuoteStart gets a reference to the given NullableTime and assigns it to the DataQuoteStart field.
func (o *V1Symbol) SetDataQuoteStart(v time.Time) {
	o.DataQuoteStart.Set(&v)
}
// SetDataQuoteStartNil sets the value for DataQuoteStart to be an explicit nil
func (o *V1Symbol) SetDataQuoteStartNil() {
	o.DataQuoteStart.Set(nil)
}

// UnsetDataQuoteStart ensures that no value is present for DataQuoteStart, not even an explicit nil
func (o *V1Symbol) UnsetDataQuoteStart() {
	o.DataQuoteStart.Unset()
}

// GetDataQuoteEnd returns the DataQuoteEnd field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetDataQuoteEnd() time.Time {
	if o == nil || IsNil(o.DataQuoteEnd.Get()) {
		var ret time.Time
		return ret
	}
	return *o.DataQuoteEnd.Get()
}

// GetDataQuoteEndOk returns a tuple with the DataQuoteEnd 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
func (o *V1Symbol) GetDataQuoteEndOk() (*time.Time, bool) {
	if o == nil {
		return nil, false
	}
	return o.DataQuoteEnd.Get(), o.DataQuoteEnd.IsSet()
}

// HasDataQuoteEnd returns a boolean if a field has been set.
func (o *V1Symbol) HasDataQuoteEnd() bool {
	if o != nil && o.DataQuoteEnd.IsSet() {
		return true
	}

	return false
}

// SetDataQuoteEnd gets a reference to the given NullableTime and assigns it to the DataQuoteEnd field.
func (o *V1Symbol) SetDataQuoteEnd(v time.Time) {
	o.DataQuoteEnd.Set(&v)
}
// SetDataQuoteEndNil sets the value for DataQuoteEnd to be an explicit nil
func (o *V1Symbol) SetDataQuoteEndNil() {
	o.DataQuoteEnd.Set(nil)
}

// UnsetDataQuoteEnd ensures that no value is present for DataQuoteEnd, not even an explicit nil
func (o *V1Symbol) UnsetDataQuoteEnd() {
	o.DataQuoteEnd.Unset()
}

// GetDataOrderbookStart returns the DataOrderbookStart field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetDataOrderbookStart() time.Time {
	if o == nil || IsNil(o.DataOrderbookStart.Get()) {
		var ret time.Time
		return ret
	}
	return *o.DataOrderbookStart.Get()
}

// GetDataOrderbookStartOk returns a tuple with the DataOrderbookStart 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
func (o *V1Symbol) GetDataOrderbookStartOk() (*time.Time, bool) {
	if o == nil {
		return nil, false
	}
	return o.DataOrderbookStart.Get(), o.DataOrderbookStart.IsSet()
}

// HasDataOrderbookStart returns a boolean if a field has been set.
func (o *V1Symbol) HasDataOrderbookStart() bool {
	if o != nil && o.DataOrderbookStart.IsSet() {
		return true
	}

	return false
}

// SetDataOrderbookStart gets a reference to the given NullableTime and assigns it to the DataOrderbookStart field.
func (o *V1Symbol) SetDataOrderbookStart(v time.Time) {
	o.DataOrderbookStart.Set(&v)
}
// SetDataOrderbookStartNil sets the value for DataOrderbookStart to be an explicit nil
func (o *V1Symbol) SetDataOrderbookStartNil() {
	o.DataOrderbookStart.Set(nil)
}

// UnsetDataOrderbookStart ensures that no value is present for DataOrderbookStart, not even an explicit nil
func (o *V1Symbol) UnsetDataOrderbookStart() {
	o.DataOrderbookStart.Unset()
}

// GetDataOrderbookEnd returns the DataOrderbookEnd field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetDataOrderbookEnd() time.Time {
	if o == nil || IsNil(o.DataOrderbookEnd.Get()) {
		var ret time.Time
		return ret
	}
	return *o.DataOrderbookEnd.Get()
}

// GetDataOrderbookEndOk returns a tuple with the DataOrderbookEnd 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
func (o *V1Symbol) GetDataOrderbookEndOk() (*time.Time, bool) {
	if o == nil {
		return nil, false
	}
	return o.DataOrderbookEnd.Get(), o.DataOrderbookEnd.IsSet()
}

// HasDataOrderbookEnd returns a boolean if a field has been set.
func (o *V1Symbol) HasDataOrderbookEnd() bool {
	if o != nil && o.DataOrderbookEnd.IsSet() {
		return true
	}

	return false
}

// SetDataOrderbookEnd gets a reference to the given NullableTime and assigns it to the DataOrderbookEnd field.
func (o *V1Symbol) SetDataOrderbookEnd(v time.Time) {
	o.DataOrderbookEnd.Set(&v)
}
// SetDataOrderbookEndNil sets the value for DataOrderbookEnd to be an explicit nil
func (o *V1Symbol) SetDataOrderbookEndNil() {
	o.DataOrderbookEnd.Set(nil)
}

// UnsetDataOrderbookEnd ensures that no value is present for DataOrderbookEnd, not even an explicit nil
func (o *V1Symbol) UnsetDataOrderbookEnd() {
	o.DataOrderbookEnd.Unset()
}

// GetDataTradeStart returns the DataTradeStart field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetDataTradeStart() time.Time {
	if o == nil || IsNil(o.DataTradeStart.Get()) {
		var ret time.Time
		return ret
	}
	return *o.DataTradeStart.Get()
}

// GetDataTradeStartOk returns a tuple with the DataTradeStart 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
func (o *V1Symbol) GetDataTradeStartOk() (*time.Time, bool) {
	if o == nil {
		return nil, false
	}
	return o.DataTradeStart.Get(), o.DataTradeStart.IsSet()
}

// HasDataTradeStart returns a boolean if a field has been set.
func (o *V1Symbol) HasDataTradeStart() bool {
	if o != nil && o.DataTradeStart.IsSet() {
		return true
	}

	return false
}

// SetDataTradeStart gets a reference to the given NullableTime and assigns it to the DataTradeStart field.
func (o *V1Symbol) SetDataTradeStart(v time.Time) {
	o.DataTradeStart.Set(&v)
}
// SetDataTradeStartNil sets the value for DataTradeStart to be an explicit nil
func (o *V1Symbol) SetDataTradeStartNil() {
	o.DataTradeStart.Set(nil)
}

// UnsetDataTradeStart ensures that no value is present for DataTradeStart, not even an explicit nil
func (o *V1Symbol) UnsetDataTradeStart() {
	o.DataTradeStart.Unset()
}

// GetDataTradeEnd returns the DataTradeEnd field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetDataTradeEnd() time.Time {
	if o == nil || IsNil(o.DataTradeEnd.Get()) {
		var ret time.Time
		return ret
	}
	return *o.DataTradeEnd.Get()
}

// GetDataTradeEndOk returns a tuple with the DataTradeEnd 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
func (o *V1Symbol) GetDataTradeEndOk() (*time.Time, bool) {
	if o == nil {
		return nil, false
	}
	return o.DataTradeEnd.Get(), o.DataTradeEnd.IsSet()
}

// HasDataTradeEnd returns a boolean if a field has been set.
func (o *V1Symbol) HasDataTradeEnd() bool {
	if o != nil && o.DataTradeEnd.IsSet() {
		return true
	}

	return false
}

// SetDataTradeEnd gets a reference to the given NullableTime and assigns it to the DataTradeEnd field.
func (o *V1Symbol) SetDataTradeEnd(v time.Time) {
	o.DataTradeEnd.Set(&v)
}
// SetDataTradeEndNil sets the value for DataTradeEnd to be an explicit nil
func (o *V1Symbol) SetDataTradeEndNil() {
	o.DataTradeEnd.Set(nil)
}

// UnsetDataTradeEnd ensures that no value is present for DataTradeEnd, not even an explicit nil
func (o *V1Symbol) UnsetDataTradeEnd() {
	o.DataTradeEnd.Unset()
}

// GetIndexId returns the IndexId field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetIndexId() string {
	if o == nil || IsNil(o.IndexId.Get()) {
		var ret string
		return ret
	}
	return *o.IndexId.Get()
}

// GetIndexIdOk returns a tuple with the IndexId 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
func (o *V1Symbol) GetIndexIdOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.IndexId.Get(), o.IndexId.IsSet()
}

// HasIndexId returns a boolean if a field has been set.
func (o *V1Symbol) HasIndexId() bool {
	if o != nil && o.IndexId.IsSet() {
		return true
	}

	return false
}

// SetIndexId gets a reference to the given NullableString and assigns it to the IndexId field.
func (o *V1Symbol) SetIndexId(v string) {
	o.IndexId.Set(&v)
}
// SetIndexIdNil sets the value for IndexId to be an explicit nil
func (o *V1Symbol) SetIndexIdNil() {
	o.IndexId.Set(nil)
}

// UnsetIndexId ensures that no value is present for IndexId, not even an explicit nil
func (o *V1Symbol) UnsetIndexId() {
	o.IndexId.Unset()
}

// GetIndexDisplayName returns the IndexDisplayName field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetIndexDisplayName() string {
	if o == nil || IsNil(o.IndexDisplayName.Get()) {
		var ret string
		return ret
	}
	return *o.IndexDisplayName.Get()
}

// GetIndexDisplayNameOk returns a tuple with the IndexDisplayName 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
func (o *V1Symbol) GetIndexDisplayNameOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.IndexDisplayName.Get(), o.IndexDisplayName.IsSet()
}

// HasIndexDisplayName returns a boolean if a field has been set.
func (o *V1Symbol) HasIndexDisplayName() bool {
	if o != nil && o.IndexDisplayName.IsSet() {
		return true
	}

	return false
}

// SetIndexDisplayName gets a reference to the given NullableString and assigns it to the IndexDisplayName field.
func (o *V1Symbol) SetIndexDisplayName(v string) {
	o.IndexDisplayName.Set(&v)
}
// SetIndexDisplayNameNil sets the value for IndexDisplayName to be an explicit nil
func (o *V1Symbol) SetIndexDisplayNameNil() {
	o.IndexDisplayName.Set(nil)
}

// UnsetIndexDisplayName ensures that no value is present for IndexDisplayName, not even an explicit nil
func (o *V1Symbol) UnsetIndexDisplayName() {
	o.IndexDisplayName.Unset()
}

// GetIndexDisplayDescription returns the IndexDisplayDescription field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetIndexDisplayDescription() string {
	if o == nil || IsNil(o.IndexDisplayDescription.Get()) {
		var ret string
		return ret
	}
	return *o.IndexDisplayDescription.Get()
}

// GetIndexDisplayDescriptionOk returns a tuple with the IndexDisplayDescription 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
func (o *V1Symbol) GetIndexDisplayDescriptionOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.IndexDisplayDescription.Get(), o.IndexDisplayDescription.IsSet()
}

// HasIndexDisplayDescription returns a boolean if a field has been set.
func (o *V1Symbol) HasIndexDisplayDescription() bool {
	if o != nil && o.IndexDisplayDescription.IsSet() {
		return true
	}

	return false
}

// SetIndexDisplayDescription gets a reference to the given NullableString and assigns it to the IndexDisplayDescription field.
func (o *V1Symbol) SetIndexDisplayDescription(v string) {
	o.IndexDisplayDescription.Set(&v)
}
// SetIndexDisplayDescriptionNil sets the value for IndexDisplayDescription to be an explicit nil
func (o *V1Symbol) SetIndexDisplayDescriptionNil() {
	o.IndexDisplayDescription.Set(nil)
}

// UnsetIndexDisplayDescription ensures that no value is present for IndexDisplayDescription, not even an explicit nil
func (o *V1Symbol) UnsetIndexDisplayDescription() {
	o.IndexDisplayDescription.Unset()
}

// GetVolume1hrs returns the Volume1hrs field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetVolume1hrs() float64 {
	if o == nil || IsNil(o.Volume1hrs.Get()) {
		var ret float64
		return ret
	}
	return *o.Volume1hrs.Get()
}

// GetVolume1hrsOk returns a tuple with the Volume1hrs 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
func (o *V1Symbol) GetVolume1hrsOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.Volume1hrs.Get(), o.Volume1hrs.IsSet()
}

// HasVolume1hrs returns a boolean if a field has been set.
func (o *V1Symbol) HasVolume1hrs() bool {
	if o != nil && o.Volume1hrs.IsSet() {
		return true
	}

	return false
}

// SetVolume1hrs gets a reference to the given NullableFloat64 and assigns it to the Volume1hrs field.
func (o *V1Symbol) SetVolume1hrs(v float64) {
	o.Volume1hrs.Set(&v)
}
// SetVolume1hrsNil sets the value for Volume1hrs to be an explicit nil
func (o *V1Symbol) SetVolume1hrsNil() {
	o.Volume1hrs.Set(nil)
}

// UnsetVolume1hrs ensures that no value is present for Volume1hrs, not even an explicit nil
func (o *V1Symbol) UnsetVolume1hrs() {
	o.Volume1hrs.Unset()
}

// GetVolume1hrsUsd returns the Volume1hrsUsd field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetVolume1hrsUsd() float64 {
	if o == nil || IsNil(o.Volume1hrsUsd.Get()) {
		var ret float64
		return ret
	}
	return *o.Volume1hrsUsd.Get()
}

// GetVolume1hrsUsdOk returns a tuple with the Volume1hrsUsd 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
func (o *V1Symbol) GetVolume1hrsUsdOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.Volume1hrsUsd.Get(), o.Volume1hrsUsd.IsSet()
}

// HasVolume1hrsUsd returns a boolean if a field has been set.
func (o *V1Symbol) HasVolume1hrsUsd() bool {
	if o != nil && o.Volume1hrsUsd.IsSet() {
		return true
	}

	return false
}

// SetVolume1hrsUsd gets a reference to the given NullableFloat64 and assigns it to the Volume1hrsUsd field.
func (o *V1Symbol) SetVolume1hrsUsd(v float64) {
	o.Volume1hrsUsd.Set(&v)
}
// SetVolume1hrsUsdNil sets the value for Volume1hrsUsd to be an explicit nil
func (o *V1Symbol) SetVolume1hrsUsdNil() {
	o.Volume1hrsUsd.Set(nil)
}

// UnsetVolume1hrsUsd ensures that no value is present for Volume1hrsUsd, not even an explicit nil
func (o *V1Symbol) UnsetVolume1hrsUsd() {
	o.Volume1hrsUsd.Unset()
}

// GetVolume1day returns the Volume1day field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetVolume1day() float64 {
	if o == nil || IsNil(o.Volume1day.Get()) {
		var ret float64
		return ret
	}
	return *o.Volume1day.Get()
}

// GetVolume1dayOk returns a tuple with the Volume1day 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
func (o *V1Symbol) GetVolume1dayOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.Volume1day.Get(), o.Volume1day.IsSet()
}

// HasVolume1day returns a boolean if a field has been set.
func (o *V1Symbol) HasVolume1day() bool {
	if o != nil && o.Volume1day.IsSet() {
		return true
	}

	return false
}

// SetVolume1day gets a reference to the given NullableFloat64 and assigns it to the Volume1day field.
func (o *V1Symbol) SetVolume1day(v float64) {
	o.Volume1day.Set(&v)
}
// SetVolume1dayNil sets the value for Volume1day to be an explicit nil
func (o *V1Symbol) SetVolume1dayNil() {
	o.Volume1day.Set(nil)
}

// UnsetVolume1day ensures that no value is present for Volume1day, not even an explicit nil
func (o *V1Symbol) UnsetVolume1day() {
	o.Volume1day.Unset()
}

// GetVolume1dayUsd returns the Volume1dayUsd field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetVolume1dayUsd() float64 {
	if o == nil || IsNil(o.Volume1dayUsd.Get()) {
		var ret float64
		return ret
	}
	return *o.Volume1dayUsd.Get()
}

// GetVolume1dayUsdOk returns a tuple with the Volume1dayUsd 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
func (o *V1Symbol) GetVolume1dayUsdOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.Volume1dayUsd.Get(), o.Volume1dayUsd.IsSet()
}

// HasVolume1dayUsd returns a boolean if a field has been set.
func (o *V1Symbol) HasVolume1dayUsd() bool {
	if o != nil && o.Volume1dayUsd.IsSet() {
		return true
	}

	return false
}

// SetVolume1dayUsd gets a reference to the given NullableFloat64 and assigns it to the Volume1dayUsd field.
func (o *V1Symbol) SetVolume1dayUsd(v float64) {
	o.Volume1dayUsd.Set(&v)
}
// SetVolume1dayUsdNil sets the value for Volume1dayUsd to be an explicit nil
func (o *V1Symbol) SetVolume1dayUsdNil() {
	o.Volume1dayUsd.Set(nil)
}

// UnsetVolume1dayUsd ensures that no value is present for Volume1dayUsd, not even an explicit nil
func (o *V1Symbol) UnsetVolume1dayUsd() {
	o.Volume1dayUsd.Unset()
}

// GetVolume1mth returns the Volume1mth field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetVolume1mth() float64 {
	if o == nil || IsNil(o.Volume1mth.Get()) {
		var ret float64
		return ret
	}
	return *o.Volume1mth.Get()
}

// GetVolume1mthOk returns a tuple with the Volume1mth 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
func (o *V1Symbol) GetVolume1mthOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.Volume1mth.Get(), o.Volume1mth.IsSet()
}

// HasVolume1mth returns a boolean if a field has been set.
func (o *V1Symbol) HasVolume1mth() bool {
	if o != nil && o.Volume1mth.IsSet() {
		return true
	}

	return false
}

// SetVolume1mth gets a reference to the given NullableFloat64 and assigns it to the Volume1mth field.
func (o *V1Symbol) SetVolume1mth(v float64) {
	o.Volume1mth.Set(&v)
}
// SetVolume1mthNil sets the value for Volume1mth to be an explicit nil
func (o *V1Symbol) SetVolume1mthNil() {
	o.Volume1mth.Set(nil)
}

// UnsetVolume1mth ensures that no value is present for Volume1mth, not even an explicit nil
func (o *V1Symbol) UnsetVolume1mth() {
	o.Volume1mth.Unset()
}

// GetVolume1mthUsd returns the Volume1mthUsd field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetVolume1mthUsd() float64 {
	if o == nil || IsNil(o.Volume1mthUsd.Get()) {
		var ret float64
		return ret
	}
	return *o.Volume1mthUsd.Get()
}

// GetVolume1mthUsdOk returns a tuple with the Volume1mthUsd 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
func (o *V1Symbol) GetVolume1mthUsdOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.Volume1mthUsd.Get(), o.Volume1mthUsd.IsSet()
}

// HasVolume1mthUsd returns a boolean if a field has been set.
func (o *V1Symbol) HasVolume1mthUsd() bool {
	if o != nil && o.Volume1mthUsd.IsSet() {
		return true
	}

	return false
}

// SetVolume1mthUsd gets a reference to the given NullableFloat64 and assigns it to the Volume1mthUsd field.
func (o *V1Symbol) SetVolume1mthUsd(v float64) {
	o.Volume1mthUsd.Set(&v)
}
// SetVolume1mthUsdNil sets the value for Volume1mthUsd to be an explicit nil
func (o *V1Symbol) SetVolume1mthUsdNil() {
	o.Volume1mthUsd.Set(nil)
}

// UnsetVolume1mthUsd ensures that no value is present for Volume1mthUsd, not even an explicit nil
func (o *V1Symbol) UnsetVolume1mthUsd() {
	o.Volume1mthUsd.Unset()
}

// GetPrice returns the Price field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetPrice() float64 {
	if o == nil || IsNil(o.Price.Get()) {
		var ret float64
		return ret
	}
	return *o.Price.Get()
}

// GetPriceOk returns a tuple with the Price 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
func (o *V1Symbol) GetPriceOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.Price.Get(), o.Price.IsSet()
}

// HasPrice returns a boolean if a field has been set.
func (o *V1Symbol) HasPrice() bool {
	if o != nil && o.Price.IsSet() {
		return true
	}

	return false
}

// SetPrice gets a reference to the given NullableFloat64 and assigns it to the Price field.
func (o *V1Symbol) SetPrice(v float64) {
	o.Price.Set(&v)
}
// SetPriceNil sets the value for Price to be an explicit nil
func (o *V1Symbol) SetPriceNil() {
	o.Price.Set(nil)
}

// UnsetPrice ensures that no value is present for Price, not even an explicit nil
func (o *V1Symbol) UnsetPrice() {
	o.Price.Unset()
}

// GetSymbolIdExchange returns the SymbolIdExchange field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetSymbolIdExchange() string {
	if o == nil || IsNil(o.SymbolIdExchange.Get()) {
		var ret string
		return ret
	}
	return *o.SymbolIdExchange.Get()
}

// GetSymbolIdExchangeOk returns a tuple with the SymbolIdExchange 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
func (o *V1Symbol) GetSymbolIdExchangeOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.SymbolIdExchange.Get(), o.SymbolIdExchange.IsSet()
}

// HasSymbolIdExchange returns a boolean if a field has been set.
func (o *V1Symbol) HasSymbolIdExchange() bool {
	if o != nil && o.SymbolIdExchange.IsSet() {
		return true
	}

	return false
}

// SetSymbolIdExchange gets a reference to the given NullableString and assigns it to the SymbolIdExchange field.
func (o *V1Symbol) SetSymbolIdExchange(v string) {
	o.SymbolIdExchange.Set(&v)
}
// SetSymbolIdExchangeNil sets the value for SymbolIdExchange to be an explicit nil
func (o *V1Symbol) SetSymbolIdExchangeNil() {
	o.SymbolIdExchange.Set(nil)
}

// UnsetSymbolIdExchange ensures that no value is present for SymbolIdExchange, not even an explicit nil
func (o *V1Symbol) UnsetSymbolIdExchange() {
	o.SymbolIdExchange.Unset()
}

// GetAssetIdBaseExchange returns the AssetIdBaseExchange field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetAssetIdBaseExchange() string {
	if o == nil || IsNil(o.AssetIdBaseExchange.Get()) {
		var ret string
		return ret
	}
	return *o.AssetIdBaseExchange.Get()
}

// GetAssetIdBaseExchangeOk returns a tuple with the AssetIdBaseExchange 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
func (o *V1Symbol) GetAssetIdBaseExchangeOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.AssetIdBaseExchange.Get(), o.AssetIdBaseExchange.IsSet()
}

// HasAssetIdBaseExchange returns a boolean if a field has been set.
func (o *V1Symbol) HasAssetIdBaseExchange() bool {
	if o != nil && o.AssetIdBaseExchange.IsSet() {
		return true
	}

	return false
}

// SetAssetIdBaseExchange gets a reference to the given NullableString and assigns it to the AssetIdBaseExchange field.
func (o *V1Symbol) SetAssetIdBaseExchange(v string) {
	o.AssetIdBaseExchange.Set(&v)
}
// SetAssetIdBaseExchangeNil sets the value for AssetIdBaseExchange to be an explicit nil
func (o *V1Symbol) SetAssetIdBaseExchangeNil() {
	o.AssetIdBaseExchange.Set(nil)
}

// UnsetAssetIdBaseExchange ensures that no value is present for AssetIdBaseExchange, not even an explicit nil
func (o *V1Symbol) UnsetAssetIdBaseExchange() {
	o.AssetIdBaseExchange.Unset()
}

// GetAssetIdQuoteExchange returns the AssetIdQuoteExchange field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetAssetIdQuoteExchange() string {
	if o == nil || IsNil(o.AssetIdQuoteExchange.Get()) {
		var ret string
		return ret
	}
	return *o.AssetIdQuoteExchange.Get()
}

// GetAssetIdQuoteExchangeOk returns a tuple with the AssetIdQuoteExchange 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
func (o *V1Symbol) GetAssetIdQuoteExchangeOk() (*string, bool) {
	if o == nil {
		return nil, false
	}
	return o.AssetIdQuoteExchange.Get(), o.AssetIdQuoteExchange.IsSet()
}

// HasAssetIdQuoteExchange returns a boolean if a field has been set.
func (o *V1Symbol) HasAssetIdQuoteExchange() bool {
	if o != nil && o.AssetIdQuoteExchange.IsSet() {
		return true
	}

	return false
}

// SetAssetIdQuoteExchange gets a reference to the given NullableString and assigns it to the AssetIdQuoteExchange field.
func (o *V1Symbol) SetAssetIdQuoteExchange(v string) {
	o.AssetIdQuoteExchange.Set(&v)
}
// SetAssetIdQuoteExchangeNil sets the value for AssetIdQuoteExchange to be an explicit nil
func (o *V1Symbol) SetAssetIdQuoteExchangeNil() {
	o.AssetIdQuoteExchange.Set(nil)
}

// UnsetAssetIdQuoteExchange ensures that no value is present for AssetIdQuoteExchange, not even an explicit nil
func (o *V1Symbol) UnsetAssetIdQuoteExchange() {
	o.AssetIdQuoteExchange.Unset()
}

// GetPricePrecision returns the PricePrecision field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetPricePrecision() float64 {
	if o == nil || IsNil(o.PricePrecision.Get()) {
		var ret float64
		return ret
	}
	return *o.PricePrecision.Get()
}

// GetPricePrecisionOk returns a tuple with the PricePrecision 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
func (o *V1Symbol) GetPricePrecisionOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.PricePrecision.Get(), o.PricePrecision.IsSet()
}

// HasPricePrecision returns a boolean if a field has been set.
func (o *V1Symbol) HasPricePrecision() bool {
	if o != nil && o.PricePrecision.IsSet() {
		return true
	}

	return false
}

// SetPricePrecision gets a reference to the given NullableFloat64 and assigns it to the PricePrecision field.
func (o *V1Symbol) SetPricePrecision(v float64) {
	o.PricePrecision.Set(&v)
}
// SetPricePrecisionNil sets the value for PricePrecision to be an explicit nil
func (o *V1Symbol) SetPricePrecisionNil() {
	o.PricePrecision.Set(nil)
}

// UnsetPricePrecision ensures that no value is present for PricePrecision, not even an explicit nil
func (o *V1Symbol) UnsetPricePrecision() {
	o.PricePrecision.Unset()
}

// GetSizePrecision returns the SizePrecision field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetSizePrecision() float64 {
	if o == nil || IsNil(o.SizePrecision.Get()) {
		var ret float64
		return ret
	}
	return *o.SizePrecision.Get()
}

// GetSizePrecisionOk returns a tuple with the SizePrecision 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
func (o *V1Symbol) GetSizePrecisionOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.SizePrecision.Get(), o.SizePrecision.IsSet()
}

// HasSizePrecision returns a boolean if a field has been set.
func (o *V1Symbol) HasSizePrecision() bool {
	if o != nil && o.SizePrecision.IsSet() {
		return true
	}

	return false
}

// SetSizePrecision gets a reference to the given NullableFloat64 and assigns it to the SizePrecision field.
func (o *V1Symbol) SetSizePrecision(v float64) {
	o.SizePrecision.Set(&v)
}
// SetSizePrecisionNil sets the value for SizePrecision to be an explicit nil
func (o *V1Symbol) SetSizePrecisionNil() {
	o.SizePrecision.Set(nil)
}

// UnsetSizePrecision ensures that no value is present for SizePrecision, not even an explicit nil
func (o *V1Symbol) UnsetSizePrecision() {
	o.SizePrecision.Unset()
}

// GetRawKvp returns the RawKvp field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetRawKvp() map[string]string {
	if o == nil {
		var ret map[string]string
		return ret
	}
	return o.RawKvp
}

// GetRawKvpOk returns a tuple with the RawKvp 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
func (o *V1Symbol) GetRawKvpOk() (*map[string]string, bool) {
	if o == nil || IsNil(o.RawKvp) {
		return nil, false
	}
	return &o.RawKvp, true
}

// HasRawKvp returns a boolean if a field has been set.
func (o *V1Symbol) HasRawKvp() bool {
	if o != nil && !IsNil(o.RawKvp) {
		return true
	}

	return false
}

// SetRawKvp gets a reference to the given map[string]string and assigns it to the RawKvp field.
func (o *V1Symbol) SetRawKvp(v map[string]string) {
	o.RawKvp = v
}

// GetVolumeToUsd returns the VolumeToUsd field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetVolumeToUsd() float64 {
	if o == nil || IsNil(o.VolumeToUsd.Get()) {
		var ret float64
		return ret
	}
	return *o.VolumeToUsd.Get()
}

// GetVolumeToUsdOk returns a tuple with the VolumeToUsd 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
func (o *V1Symbol) GetVolumeToUsdOk() (*float64, bool) {
	if o == nil {
		return nil, false
	}
	return o.VolumeToUsd.Get(), o.VolumeToUsd.IsSet()
}

// HasVolumeToUsd returns a boolean if a field has been set.
func (o *V1Symbol) HasVolumeToUsd() bool {
	if o != nil && o.VolumeToUsd.IsSet() {
		return true
	}

	return false
}

// SetVolumeToUsd gets a reference to the given NullableFloat64 and assigns it to the VolumeToUsd field.
func (o *V1Symbol) SetVolumeToUsd(v float64) {
	o.VolumeToUsd.Set(&v)
}
// SetVolumeToUsdNil sets the value for VolumeToUsd to be an explicit nil
func (o *V1Symbol) SetVolumeToUsdNil() {
	o.VolumeToUsd.Set(nil)
}

// UnsetVolumeToUsd ensures that no value is present for VolumeToUsd, not even an explicit nil
func (o *V1Symbol) UnsetVolumeToUsd() {
	o.VolumeToUsd.Unset()
}

// GetSymbolIdInt returns the SymbolIdInt field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *V1Symbol) GetSymbolIdInt() int32 {
	if o == nil || IsNil(o.SymbolIdInt.Get()) {
		var ret int32
		return ret
	}
	return *o.SymbolIdInt.Get()
}

// GetSymbolIdIntOk returns a tuple with the SymbolIdInt 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
func (o *V1Symbol) GetSymbolIdIntOk() (*int32, bool) {
	if o == nil {
		return nil, false
	}
	return o.SymbolIdInt.Get(), o.SymbolIdInt.IsSet()
}

// HasSymbolIdInt returns a boolean if a field has been set.
func (o *V1Symbol) HasSymbolIdInt() bool {
	if o != nil && o.SymbolIdInt.IsSet() {
		return true
	}

	return false
}

// SetSymbolIdInt gets a reference to the given NullableInt32 and assigns it to the SymbolIdInt field.
func (o *V1Symbol) SetSymbolIdInt(v int32) {
	o.SymbolIdInt.Set(&v)
}
// SetSymbolIdIntNil sets the value for SymbolIdInt to be an explicit nil
func (o *V1Symbol) SetSymbolIdIntNil() {
	o.SymbolIdInt.Set(nil)
}

// UnsetSymbolIdInt ensures that no value is present for SymbolIdInt, not even an explicit nil
func (o *V1Symbol) UnsetSymbolIdInt() {
	o.SymbolIdInt.Unset()
}

func (o V1Symbol) MarshalJSON() ([]byte, error) {
	toSerialize,err := o.ToMap()
	if err != nil {
		return []byte{}, err
	}
	return json.Marshal(toSerialize)
}

func (o V1Symbol) ToMap() (map[string]interface{}, error) {
	toSerialize := map[string]interface{}{}
	if o.SymbolId.IsSet() {
		toSerialize["symbol_id"] = o.SymbolId.Get()
	}
	if o.ExchangeId.IsSet() {
		toSerialize["exchange_id"] = o.ExchangeId.Get()
	}
	if o.SymbolType.IsSet() {
		toSerialize["symbol_type"] = o.SymbolType.Get()
	}
	if o.AssetIdBase.IsSet() {
		toSerialize["asset_id_base"] = o.AssetIdBase.Get()
	}
	if o.AssetIdQuote.IsSet() {
		toSerialize["asset_id_quote"] = o.AssetIdQuote.Get()
	}
	if o.AssetIdUnit.IsSet() {
		toSerialize["asset_id_unit"] = o.AssetIdUnit.Get()
	}
	if o.FutureContractUnit.IsSet() {
		toSerialize["future_contract_unit"] = o.FutureContractUnit.Get()
	}
	if o.FutureContractUnitAsset.IsSet() {
		toSerialize["future_contract_unit_asset"] = o.FutureContractUnitAsset.Get()
	}
	if o.FutureDeliveryTime.IsSet() {
		toSerialize["future_delivery_time"] = o.FutureDeliveryTime.Get()
	}
	if o.OptionTypeIsCall.IsSet() {
		toSerialize["option_type_is_call"] = o.OptionTypeIsCall.Get()
	}
	if o.OptionStrikePrice.IsSet() {
		toSerialize["option_strike_price"] = o.OptionStrikePrice.Get()
	}
	if o.OptionContractUnit.IsSet() {
		toSerialize["option_contract_unit"] = o.OptionContractUnit.Get()
	}
	if o.OptionExerciseStyle.IsSet() {
		toSerialize["option_exercise_style"] = o.OptionExerciseStyle.Get()
	}
	if o.OptionExpirationTime.IsSet() {
		toSerialize["option_expiration_time"] = o.OptionExpirationTime.Get()
	}
	if o.ContractDeliveryTime.IsSet() {
		toSerialize["contract_delivery_time"] = o.ContractDeliveryTime.Get()
	}
	if o.ContractUnit.IsSet() {
		toSerialize["contract_unit"] = o.ContractUnit.Get()
	}
	if o.ContractUnitAsset.IsSet() {
		toSerialize["contract_unit_asset"] = o.ContractUnitAsset.Get()
	}
	if o.ContractId.IsSet() {
		toSerialize["contract_id"] = o.ContractId.Get()
	}
	if o.ContractDisplayName.IsSet() {
		toSerialize["contract_display_name"] = o.ContractDisplayName.Get()
	}
	if o.ContractDisplayDescription.IsSet() {
		toSerialize["contract_display_description"] = o.ContractDisplayDescription.Get()
	}
	if o.DataStart.IsSet() {
		toSerialize["data_start"] = o.DataStart.Get()
	}
	if o.DataEnd.IsSet() {
		toSerialize["data_end"] = o.DataEnd.Get()
	}
	if o.DataQuoteStart.IsSet() {
		toSerialize["data_quote_start"] = o.DataQuoteStart.Get()
	}
	if o.DataQuoteEnd.IsSet() {
		toSerialize["data_quote_end"] = o.DataQuoteEnd.Get()
	}
	if o.DataOrderbookStart.IsSet() {
		toSerialize["data_orderbook_start"] = o.DataOrderbookStart.Get()
	}
	if o.DataOrderbookEnd.IsSet() {
		toSerialize["data_orderbook_end"] = o.DataOrderbookEnd.Get()
	}
	if o.DataTradeStart.IsSet() {
		toSerialize["data_trade_start"] = o.DataTradeStart.Get()
	}
	if o.DataTradeEnd.IsSet() {
		toSerialize["data_trade_end"] = o.DataTradeEnd.Get()
	}
	if o.IndexId.IsSet() {
		toSerialize["index_id"] = o.IndexId.Get()
	}
	if o.IndexDisplayName.IsSet() {
		toSerialize["index_display_name"] = o.IndexDisplayName.Get()
	}
	if o.IndexDisplayDescription.IsSet() {
		toSerialize["index_display_description"] = o.IndexDisplayDescription.Get()
	}
	if o.Volume1hrs.IsSet() {
		toSerialize["volume_1hrs"] = o.Volume1hrs.Get()
	}
	if o.Volume1hrsUsd.IsSet() {
		toSerialize["volume_1hrs_usd"] = o.Volume1hrsUsd.Get()
	}
	if o.Volume1day.IsSet() {
		toSerialize["volume_1day"] = o.Volume1day.Get()
	}
	if o.Volume1dayUsd.IsSet() {
		toSerialize["volume_1day_usd"] = o.Volume1dayUsd.Get()
	}
	if o.Volume1mth.IsSet() {
		toSerialize["volume_1mth"] = o.Volume1mth.Get()
	}
	if o.Volume1mthUsd.IsSet() {
		toSerialize["volume_1mth_usd"] = o.Volume1mthUsd.Get()
	}
	if o.Price.IsSet() {
		toSerialize["price"] = o.Price.Get()
	}
	if o.SymbolIdExchange.IsSet() {
		toSerialize["symbol_id_exchange"] = o.SymbolIdExchange.Get()
	}
	if o.AssetIdBaseExchange.IsSet() {
		toSerialize["asset_id_base_exchange"] = o.AssetIdBaseExchange.Get()
	}
	if o.AssetIdQuoteExchange.IsSet() {
		toSerialize["asset_id_quote_exchange"] = o.AssetIdQuoteExchange.Get()
	}
	if o.PricePrecision.IsSet() {
		toSerialize["price_precision"] = o.PricePrecision.Get()
	}
	if o.SizePrecision.IsSet() {
		toSerialize["size_precision"] = o.SizePrecision.Get()
	}
	if o.RawKvp != nil {
		toSerialize["raw_kvp"] = o.RawKvp
	}
	if o.VolumeToUsd.IsSet() {
		toSerialize["volume_to_usd"] = o.VolumeToUsd.Get()
	}
	if o.SymbolIdInt.IsSet() {
		toSerialize["symbol_id_int"] = o.SymbolIdInt.Get()
	}
	return toSerialize, nil
}

type NullableV1Symbol struct {
	value *V1Symbol
	isSet bool
}

func (v NullableV1Symbol) Get() *V1Symbol {
	return v.value
}

func (v *NullableV1Symbol) Set(val *V1Symbol) {
	v.value = val
	v.isSet = true
}

func (v NullableV1Symbol) IsSet() bool {
	return v.isSet
}

func (v *NullableV1Symbol) Unset() {
	v.value = nil
	v.isSet = false
}

func NewNullableV1Symbol(val *V1Symbol) *NullableV1Symbol {
	return &NullableV1Symbol{value: val, isSet: true}
}

func (v NullableV1Symbol) MarshalJSON() ([]byte, error) {
	return json.Marshal(v.value)
}

func (v *NullableV1Symbol) UnmarshalJSON(src []byte) error {
	v.isSet = true
	return json.Unmarshal(src, &v.value)
}


