// Code generated by go-swagger; DO NOT EDIT.

// All Code Copyright(c) 2018-2020 by Taxnexus, Inc.
// All rights reserved worldwide.
// Proprietary product; unlicensed use is not allowed

package blaze_models

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"strconv"

	"github.com/go-openapi/errors"
	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// ShopResponse shop response
//
// swagger:model ShopResponse
type ShopResponse struct {

	// company logo URL
	CompanyLogoURL string `json:"companyLogoURL,omitempty"`

	// shop
	Shop *ShopResponseShop `json:"shop,omitempty"`

	// tolerance map
	ToleranceMap *ShopResponseToleranceMap `json:"toleranceMap,omitempty"`
}

// Validate validates this shop response
func (m *ShopResponse) Validate(formats strfmt.Registry) error {
	var res []error

	if err := m.validateShop(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateToleranceMap(formats); err != nil {
		res = append(res, err)
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}

func (m *ShopResponse) validateShop(formats strfmt.Registry) error {

	if swag.IsZero(m.Shop) { // not required
		return nil
	}

	if m.Shop != nil {
		if err := m.Shop.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("shop")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponse) validateToleranceMap(formats strfmt.Registry) error {

	if swag.IsZero(m.ToleranceMap) { // not required
		return nil
	}

	if m.ToleranceMap != nil {
		if err := m.ToleranceMap.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("toleranceMap")
			}
			return err
		}
	}

	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponse) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponse) UnmarshalBinary(b []byte) error {
	var res ShopResponse
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShop shop response shop
//
// swagger:model ShopResponseShop
type ShopResponseShop struct {

	// active
	Active bool `json:"active,omitempty"`

	// address
	Address *ShopResponseShopAddress `json:"address,omitempty"`

	// age limit
	AgeLimit float64 `json:"ageLimit,omitempty"`

	// al excise on zero price
	AlExciseOnZeroPrice bool `json:"alExciseOnZeroPrice,omitempty"`

	// allow anonymous orders
	AllowAnonymousOrders bool `json:"allowAnonymousOrders,omitempty"`

	// app target
	AppTarget string `json:"appTarget,omitempty"`

	// assets
	Assets []*ShopResponseShopAssetsItems0 `json:"assets"`

	// auto cash drawer
	AutoCashDrawer bool `json:"autoCashDrawer,omitempty"`

	// bcc email address
	BccEmailAddress string `json:"bccEmailAddress,omitempty"`

	// cart minimums
	CartMinimums *ShopResponseShopCartMinimums `json:"cartMinimums,omitempty"`

	// checkout type
	CheckoutType string `json:"checkoutType,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// credit fefund type
	CreditFefundType string `json:"creditFefundType,omitempty"`

	// default country
	DefaultCountry string `json:"defaultCountry,omitempty"`

	// default pin timeout
	DefaultPinTimeout float64 `json:"defaultPinTimeout,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// delivery fee
	DeliveryFee float64 `json:"deliveryFee,omitempty"`

	// delivery refund type
	DeliveryRefundType string `json:"deliveryRefundType,omitempty"`

	// email adress
	EmailAdress string `json:"emailAdress,omitempty"`

	// email message
	EmailMessage string `json:"emailMessage,omitempty"`

	// enable age limit
	EnableAgeLimit bool `json:"enableAgeLimit,omitempty"`

	// enable b c c receipt
	EnableBCCReceipt bool `json:"enableBCCReceipt,omitempty"`

	// enable cannabis limit
	EnableCannabisLimit bool `json:"enableCannabisLimit,omitempty"`

	// enable cash in out
	EnableCashInOut bool `json:"enableCashInOut,omitempty"`

	// enable daily summary email
	EnableDailySummaryEmail bool `json:"enableDailySummaryEmail,omitempty"`

	// enable delivery fee
	EnableDeliveryFee bool `json:"enableDeliveryFee,omitempty"`

	// enable delivery signature
	EnableDeliverySignature bool `json:"enableDeliverySignature,omitempty"`

	// enable excise tax
	EnableExciseTax bool `json:"enableExciseTax,omitempty"`

	// enable g p s tracking
	EnableGPSTracking bool `json:"enableGPSTracking,omitempty"`

	// enable harvest tax
	EnableHarvestTax bool `json:"enableHarvestTax,omitempty"`

	// enable low inventory email
	EnableLowInventoryEmail bool `json:"enableLowInventoryEmail,omitempty"`

	// enable medicinal age
	EnableMedicinalAge bool `json:"enableMedicinalAge,omitempty"`

	// enable on fleet
	EnableOnFleet bool `json:"enableOnFleet,omitempty"`

	// enable pin for cash drawer
	EnablePinForCashDrawer bool `json:"enablePinForCashDrawer,omitempty"`

	// enable sale logout
	EnableSaleLogout bool `json:"enableSaleLogout,omitempty"`

	// enable spring big
	EnableSpringBig bool `json:"enableSpringBig,omitempty"`

	// enable tookan
	EnableTookan bool `json:"enableTookan,omitempty"`

	// enable woo commerce
	EnableWooCommerce bool `json:"enableWooCommerce,omitempty"`

	// enforce cash drawers
	EnforceCashDrawers bool `json:"enforceCashDrawers,omitempty"`

	// excise tax type
	ExciseTaxType string `json:"exciseTaxType,omitempty"`

	// hub Id
	HubID string `json:"hubId,omitempty"`

	// hub name
	HubName string `json:"hubName,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// invoice note
	InvoiceNote string `json:"invoiceNote,omitempty"`

	// invoice term condition
	InvoiceTermCondition string `json:"invoiceTermCondition,omitempty"`

	// latitude
	Latitude float64 `json:"latitude,omitempty"`

	// legal language
	LegalLanguage string `json:"legalLanguage,omitempty"`

	// license
	License string `json:"license,omitempty"`

	// logo
	Logo *ShopResponseShopLogo `json:"logo,omitempty"`

	// longitude
	Longitude float64 `json:"longitude,omitempty"`

	// marketing sources
	MarketingSources []string `json:"marketingSources"`

	// medicinal age
	MedicinalAge float64 `json:"medicinalAge,omitempty"`

	// members count sync date
	MembersCountSyncDate float64 `json:"membersCountSyncDate,omitempty"`

	// members tag
	MembersTag []string `json:"membersTag"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// nal excise from retail cost
	NalExciseFromRetailCost bool `json:"nalExciseFromRetailCost,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// next snapshot time
	NextSnapshotTime int64 `json:"nextSnapshotTime,omitempty"`

	// num allow active trans
	NumAllowActiveTrans float64 `json:"numAllowActiveTrans,omitempty"`

	// on fleet Api key
	OnFleetAPIKey string `json:"onFleetApiKey,omitempty"`

	// on fleet organization Id
	OnFleetOrganizationID string `json:"onFleetOrganizationId,omitempty"`

	// on fleet organization name
	OnFleetOrganizationName string `json:"onFleetOrganizationName,omitempty"`

	// online store info
	OnlineStoreInfo *ShopResponseShopOnlineStoreInfo `json:"onlineStoreInfo,omitempty"`

	// order tags
	OrderTags []string `json:"orderTags"`

	// phone number
	PhoneNumber string `json:"phoneNumber,omitempty"`

	// po note
	PoNote string `json:"poNote,omitempty"`

	// po term condition
	PoTermCondition string `json:"poTermCondition,omitempty"`

	// product price include excise tax
	ProductPriceIncludeExciseTax bool `json:"productPriceIncludeExciseTax,omitempty"`

	// products tag
	ProductsTag []string `json:"productsTag"`

	// receipt info
	ReceiptInfo []*ShopResponseShopReceiptInfoItems0 `json:"receiptInfo"`

	// receiving inventory Id
	ReceivingInventoryID string `json:"receivingInventoryId,omitempty"`

	// require valid rec date
	RequireValidRecDate bool `json:"requireValidRecDate,omitempty"`

	// restrict incoming order notifications
	RestrictIncomingOrderNotifications bool `json:"restrictIncomingOrderNotifications,omitempty"`

	// restricted notification terminals
	RestrictedNotificationTerminals []string `json:"restrictedNotificationTerminals"`

	// restricted views
	RestrictedViews bool `json:"restrictedViews,omitempty"`

	// round off type
	RoundOffType string `json:"roundOffType,omitempty"`

	// round up message
	RoundUpMessage string `json:"roundUpMessage,omitempty"`

	// shop type
	ShopType string `json:"shopType,omitempty"`

	// short identifier
	ShortIdentifier string `json:"shortIdentifier,omitempty"`

	// show delivery queue
	ShowDeliveryQueue bool `json:"showDeliveryQueue,omitempty"`

	// show online queue
	ShowOnlineQueue bool `json:"showOnlineQueue,omitempty"`

	// show product by available quantity
	ShowProductByAvailableQuantity bool `json:"showProductByAvailableQuantity,omitempty"`

	// show special queue
	ShowSpecialQueue bool `json:"showSpecialQueue,omitempty"`

	// show walk in queue
	ShowWalkInQueue bool `json:"showWalkInQueue,omitempty"`

	// snapshop time
	SnapshopTime int64 `json:"snapshopTime,omitempty"`

	// tax info
	TaxInfo *ShopResponseShopTaxInfo `json:"taxInfo,omitempty"`

	// tax order
	TaxOrder string `json:"taxOrder,omitempty"`

	// tax round off type
	TaxRoundOffType string `json:"taxRoundOffType,omitempty"`

	// tax tables
	TaxTables []*ShopResponseShopTaxTablesItems0 `json:"taxTables"`

	// time zone
	TimeZone string `json:"timeZone,omitempty"`

	// timezone offset in minutes
	TimezoneOffsetInMinutes float64 `json:"timezoneOffsetInMinutes,omitempty"`

	// twilio number
	TwilioNumber string `json:"twilioNumber,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// use assigned employee
	UseAssignedEmployee bool `json:"useAssignedEmployee,omitempty"`

	// use complex tax
	UseComplexTax bool `json:"useComplexTax,omitempty"`
}

// Validate validates this shop response shop
func (m *ShopResponseShop) Validate(formats strfmt.Registry) error {
	var res []error

	if err := m.validateAddress(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateAssets(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateCartMinimums(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateLogo(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateOnlineStoreInfo(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateReceiptInfo(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateTaxInfo(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateTaxTables(formats); err != nil {
		res = append(res, err)
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}

func (m *ShopResponseShop) validateAddress(formats strfmt.Registry) error {

	if swag.IsZero(m.Address) { // not required
		return nil
	}

	if m.Address != nil {
		if err := m.Address.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("shop" + "." + "address")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseShop) validateAssets(formats strfmt.Registry) error {

	if swag.IsZero(m.Assets) { // not required
		return nil
	}

	for i := 0; i < len(m.Assets); i++ {
		if swag.IsZero(m.Assets[i]) { // not required
			continue
		}

		if m.Assets[i] != nil {
			if err := m.Assets[i].Validate(formats); err != nil {
				if ve, ok := err.(*errors.Validation); ok {
					return ve.ValidateName("shop" + "." + "assets" + "." + strconv.Itoa(i))
				}
				return err
			}
		}

	}

	return nil
}

func (m *ShopResponseShop) validateCartMinimums(formats strfmt.Registry) error {

	if swag.IsZero(m.CartMinimums) { // not required
		return nil
	}

	if m.CartMinimums != nil {
		if err := m.CartMinimums.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("shop" + "." + "cartMinimums")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseShop) validateLogo(formats strfmt.Registry) error {

	if swag.IsZero(m.Logo) { // not required
		return nil
	}

	if m.Logo != nil {
		if err := m.Logo.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("shop" + "." + "logo")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseShop) validateOnlineStoreInfo(formats strfmt.Registry) error {

	if swag.IsZero(m.OnlineStoreInfo) { // not required
		return nil
	}

	if m.OnlineStoreInfo != nil {
		if err := m.OnlineStoreInfo.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("shop" + "." + "onlineStoreInfo")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseShop) validateReceiptInfo(formats strfmt.Registry) error {

	if swag.IsZero(m.ReceiptInfo) { // not required
		return nil
	}

	for i := 0; i < len(m.ReceiptInfo); i++ {
		if swag.IsZero(m.ReceiptInfo[i]) { // not required
			continue
		}

		if m.ReceiptInfo[i] != nil {
			if err := m.ReceiptInfo[i].Validate(formats); err != nil {
				if ve, ok := err.(*errors.Validation); ok {
					return ve.ValidateName("shop" + "." + "receiptInfo" + "." + strconv.Itoa(i))
				}
				return err
			}
		}

	}

	return nil
}

func (m *ShopResponseShop) validateTaxInfo(formats strfmt.Registry) error {

	if swag.IsZero(m.TaxInfo) { // not required
		return nil
	}

	if m.TaxInfo != nil {
		if err := m.TaxInfo.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("shop" + "." + "taxInfo")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseShop) validateTaxTables(formats strfmt.Registry) error {

	if swag.IsZero(m.TaxTables) { // not required
		return nil
	}

	for i := 0; i < len(m.TaxTables); i++ {
		if swag.IsZero(m.TaxTables[i]) { // not required
			continue
		}

		if m.TaxTables[i] != nil {
			if err := m.TaxTables[i].Validate(formats); err != nil {
				if ve, ok := err.(*errors.Validation); ok {
					return ve.ValidateName("shop" + "." + "taxTables" + "." + strconv.Itoa(i))
				}
				return err
			}
		}

	}

	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShop) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShop) UnmarshalBinary(b []byte) error {
	var res ShopResponseShop
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopAddress shop response shop address
//
// swagger:model ShopResponseShopAddress
type ShopResponseShopAddress struct {

	// address
	Address string `json:"address,omitempty"`

	// address line1
	AddressLine1 string `json:"addressLine1,omitempty"`

	// city
	City string `json:"city,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// country
	Country string `json:"country,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// state
	State string `json:"state,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// zip code
	ZipCode string `json:"zipCode,omitempty"`
}

// Validate validates this shop response shop address
func (m *ShopResponseShopAddress) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopAddress) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopAddress) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopAddress
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopAssetsItems0 shop response shop assets items0
//
// swagger:model ShopResponseShopAssetsItems0
type ShopResponseShopAssetsItems0 struct {

	// active
	Active bool `json:"active,omitempty"`

	// asset type
	AssetType string `json:"assetType,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// key
	Key string `json:"key,omitempty"`

	// large URL
	LargeURL string `json:"largeURL,omitempty"`

	// large x2 URL
	LargeX2URL string `json:"largeX2URL,omitempty"`

	// medium URL
	MediumURL string `json:"mediumURL,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// orig URL
	OrigURL string `json:"origURL,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// public URL
	PublicURL string `json:"publicURL,omitempty"`

	// secured
	Secured bool `json:"secured,omitempty"`

	// thumb URL
	ThumbURL string `json:"thumbURL,omitempty"`

	// type
	Type string `json:"type,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop assets items0
func (m *ShopResponseShopAssetsItems0) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopAssetsItems0) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopAssetsItems0) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopAssetsItems0
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopCartMinimums shop response shop cart minimums
//
// swagger:model ShopResponseShopCartMinimums
type ShopResponseShopCartMinimums struct {

	// cart minimum details
	CartMinimumDetails []*ShopResponseShopCartMinimumsCartMinimumDetailsItems0 `json:"cartMinimumDetails"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// minimums type
	MinimumsType string `json:"minimumsType,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop cart minimums
func (m *ShopResponseShopCartMinimums) Validate(formats strfmt.Registry) error {
	var res []error

	if err := m.validateCartMinimumDetails(formats); err != nil {
		res = append(res, err)
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}

func (m *ShopResponseShopCartMinimums) validateCartMinimumDetails(formats strfmt.Registry) error {

	if swag.IsZero(m.CartMinimumDetails) { // not required
		return nil
	}

	for i := 0; i < len(m.CartMinimumDetails); i++ {
		if swag.IsZero(m.CartMinimumDetails[i]) { // not required
			continue
		}

		if m.CartMinimumDetails[i] != nil {
			if err := m.CartMinimumDetails[i].Validate(formats); err != nil {
				if ve, ok := err.(*errors.Validation); ok {
					return ve.ValidateName("shop" + "." + "cartMinimums" + "." + "cartMinimumDetails" + "." + strconv.Itoa(i))
				}
				return err
			}
		}

	}

	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopCartMinimums) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopCartMinimums) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopCartMinimums
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopCartMinimumsCartMinimumDetailsItems0 shop response shop cart minimums cart minimum details items0
//
// swagger:model ShopResponseShopCartMinimumsCartMinimumDetailsItems0
type ShopResponseShopCartMinimumsCartMinimumDetailsItems0 struct {

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// minimum
	Minimum float64 `json:"minimum,omitempty"`
}

// Validate validates this shop response shop cart minimums cart minimum details items0
func (m *ShopResponseShopCartMinimumsCartMinimumDetailsItems0) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopCartMinimumsCartMinimumDetailsItems0) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopCartMinimumsCartMinimumDetailsItems0) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopCartMinimumsCartMinimumDetailsItems0
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopLogo shop response shop logo
//
// swagger:model ShopResponseShopLogo
type ShopResponseShopLogo struct {

	// active
	Active bool `json:"active,omitempty"`

	// asset type
	AssetType string `json:"assetType,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// key
	Key string `json:"key,omitempty"`

	// large URL
	LargeURL string `json:"largeURL,omitempty"`

	// large x2 URL
	LargeX2URL string `json:"largeX2URL,omitempty"`

	// medium URL
	MediumURL string `json:"mediumURL,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// orig URL
	OrigURL string `json:"origURL,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// public URL
	PublicURL string `json:"publicURL,omitempty"`

	// secured
	Secured bool `json:"secured,omitempty"`

	// thumb URL
	ThumbURL string `json:"thumbURL,omitempty"`

	// type
	Type string `json:"type,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop logo
func (m *ShopResponseShopLogo) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopLogo) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopLogo) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopLogo
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopOnlineStoreInfo shop response shop online store info
//
// swagger:model ShopResponseShopOnlineStoreInfo
type ShopResponseShopOnlineStoreInfo struct {

	// active inventory Id
	ActiveInventoryID string `json:"activeInventoryId,omitempty"`

	// cart min type
	CartMinType string `json:"cartMinType,omitempty"`

	// cart minimum
	CartMinimum float64 `json:"cartMinimum,omitempty"`

	// color theme
	ColorTheme string `json:"colorTheme,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// custom message e t a
	CustomMessageETA string `json:"customMessageETA,omitempty"`

	// default e t a
	DefaultETA float64 `json:"defaultETA,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// dirty
	Dirty bool `json:"dirty,omitempty"`

	// enable delivery
	EnableDelivery bool `json:"enableDelivery,omitempty"`

	// enable delivery area restrictions
	EnableDeliveryAreaRestrictions bool `json:"enableDeliveryAreaRestrictions,omitempty"`

	// enable Html text
	EnableHTMLText bool `json:"enableHtmlText,omitempty"`

	// enable inventory
	EnableInventory bool `json:"enableInventory,omitempty"`

	// enable inventory type
	EnableInventoryType string `json:"enableInventoryType,omitempty"`

	// enable online p o s
	EnableOnlinePOS bool `json:"enableOnlinePOS,omitempty"`

	// enable online shipment
	EnableOnlineShipment bool `json:"enableOnlineShipment,omitempty"`

	// enable other marketing source
	EnableOtherMarketingSource bool `json:"enableOtherMarketingSource,omitempty"`

	// enable product reviews
	EnableProductReviews bool `json:"enableProductReviews,omitempty"`

	// enable store pickup
	EnableStorePickup bool `json:"enableStorePickup,omitempty"`

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// html text
	HTMLText string `json:"htmlText,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// page one message body
	PageOneMessageBody string `json:"pageOneMessageBody,omitempty"`

	// page one message title
	PageOneMessageTitle string `json:"pageOneMessageTitle,omitempty"`

	// restricted zip codes
	RestrictedZipCodes []string `json:"restrictedZipCodes"`

	// shop Id
	ShopID string `json:"shopId,omitempty"`

	// store hex color
	StoreHexColor string `json:"storeHexColor,omitempty"`

	// submission message
	SubmissionMessage string `json:"submissionMessage,omitempty"`

	// support email
	SupportEmail string `json:"supportEmail,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// use custom e t a
	UseCustomETA bool `json:"useCustomETA,omitempty"`

	// view type
	ViewType string `json:"viewType,omitempty"`

	// website origins
	WebsiteOrigins string `json:"websiteOrigins,omitempty"`

	// website Url
	WebsiteURL string `json:"websiteUrl,omitempty"`
}

// Validate validates this shop response shop online store info
func (m *ShopResponseShopOnlineStoreInfo) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopOnlineStoreInfo) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopOnlineStoreInfo) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopOnlineStoreInfo
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopReceiptInfoItems0 shop response shop receipt info items0
//
// swagger:model ShopResponseShopReceiptInfoItems0
type ShopResponseShopReceiptInfoItems0 struct {

	// above free text
	AboveFreeText string `json:"aboveFreeText,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// dirty
	Dirty bool `json:"dirty,omitempty"`

	// enable brand
	EnableBrand bool `json:"enableBrand,omitempty"`

	// enable employee name
	EnableEmployeeName bool `json:"enableEmployeeName,omitempty"`

	// enable excise tax as item
	EnableExciseTaxAsItem bool `json:"enableExciseTaxAsItem,omitempty"`

	// enable include item in s k u
	EnableIncludeItemInSKU bool `json:"enableIncludeItemInSKU,omitempty"`

	// enable member address
	EnableMemberAddress bool `json:"enableMemberAddress,omitempty"`

	// enable member Id
	EnableMemberID bool `json:"enableMemberId,omitempty"`

	// enable member loyalty points
	EnableMemberLoyaltyPoints bool `json:"enableMemberLoyaltyPoints,omitempty"`

	// enable member name
	EnableMemberName bool `json:"enableMemberName,omitempty"`

	// enable notes
	EnableNotes bool `json:"enableNotes,omitempty"`

	// enable shop address
	EnableShopAddress bool `json:"enableShopAddress,omitempty"`

	// enable shop phone no
	EnableShopPhoneNo bool `json:"enableShopPhoneNo,omitempty"`

	// enabled bottom free text
	EnabledBottomFreeText bool `json:"enabledBottomFreeText,omitempty"`

	// enabled free text
	EnabledFreeText bool `json:"enabledFreeText,omitempty"`

	// free text
	FreeText string `json:"freeText,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// receipt type
	ReceiptType string `json:"receiptType,omitempty"`

	// shop Id
	ShopID string `json:"shopId,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop receipt info items0
func (m *ShopResponseShopReceiptInfoItems0) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopReceiptInfoItems0) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopReceiptInfoItems0) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopReceiptInfoItems0
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopTaxInfo shop response shop tax info
//
// swagger:model ShopResponseShopTaxInfo
type ShopResponseShopTaxInfo struct {

	// city tax
	CityTax float64 `json:"cityTax,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// federal tax
	FederalTax float64 `json:"federalTax,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// state tax
	StateTax float64 `json:"stateTax,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop tax info
func (m *ShopResponseShopTaxInfo) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopTaxInfo) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopTaxInfo) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopTaxInfo
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopTaxTablesItems0 shop response shop tax tables items0
//
// swagger:model ShopResponseShopTaxTablesItems0
type ShopResponseShopTaxTablesItems0 struct {

	// active
	Active bool `json:"active,omitempty"`

	// city tax
	CityTax *ShopResponseShopTaxTablesItems0CityTax `json:"cityTax,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// consumer type
	ConsumerType string `json:"consumerType,omitempty"`

	// county tax
	CountyTax *ShopResponseShopTaxTablesItems0CountyTax `json:"countyTax,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// dirty
	Dirty bool `json:"dirty,omitempty"`

	// federal tax
	FederalTax *ShopResponseShopTaxTablesItems0FederalTax `json:"federalTax,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// shop Id
	ShopID string `json:"shopId,omitempty"`

	// state tax
	StateTax *ShopResponseShopTaxTablesItems0StateTax `json:"stateTax,omitempty"`

	// tax order
	TaxOrder string `json:"taxOrder,omitempty"`

	// tax type
	TaxType string `json:"taxType,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop tax tables items0
func (m *ShopResponseShopTaxTablesItems0) Validate(formats strfmt.Registry) error {
	var res []error

	if err := m.validateCityTax(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateCountyTax(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateFederalTax(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateStateTax(formats); err != nil {
		res = append(res, err)
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}

func (m *ShopResponseShopTaxTablesItems0) validateCityTax(formats strfmt.Registry) error {

	if swag.IsZero(m.CityTax) { // not required
		return nil
	}

	if m.CityTax != nil {
		if err := m.CityTax.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("cityTax")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseShopTaxTablesItems0) validateCountyTax(formats strfmt.Registry) error {

	if swag.IsZero(m.CountyTax) { // not required
		return nil
	}

	if m.CountyTax != nil {
		if err := m.CountyTax.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("countyTax")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseShopTaxTablesItems0) validateFederalTax(formats strfmt.Registry) error {

	if swag.IsZero(m.FederalTax) { // not required
		return nil
	}

	if m.FederalTax != nil {
		if err := m.FederalTax.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("federalTax")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseShopTaxTablesItems0) validateStateTax(formats strfmt.Registry) error {

	if swag.IsZero(m.StateTax) { // not required
		return nil
	}

	if m.StateTax != nil {
		if err := m.StateTax.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("stateTax")
			}
			return err
		}
	}

	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopTaxTablesItems0
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopTaxTablesItems0CityTax shop response shop tax tables items0 city tax
//
// swagger:model ShopResponseShopTaxTablesItems0CityTax
type ShopResponseShopTaxTablesItems0CityTax struct {

	// active
	Active bool `json:"active,omitempty"`

	// active excise tax
	ActiveExciseTax bool `json:"activeExciseTax,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// compound
	Compound bool `json:"compound,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// dirty
	Dirty bool `json:"dirty,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// shop Id
	ShopID string `json:"shopId,omitempty"`

	// tax order
	TaxOrder string `json:"taxOrder,omitempty"`

	// tax rate
	TaxRate float64 `json:"taxRate,omitempty"`

	// territory
	Territory string `json:"territory,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop tax tables items0 city tax
func (m *ShopResponseShopTaxTablesItems0CityTax) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0CityTax) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0CityTax) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopTaxTablesItems0CityTax
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopTaxTablesItems0CountyTax shop response shop tax tables items0 county tax
//
// swagger:model ShopResponseShopTaxTablesItems0CountyTax
type ShopResponseShopTaxTablesItems0CountyTax struct {

	// active
	Active bool `json:"active,omitempty"`

	// active excise tax
	ActiveExciseTax bool `json:"activeExciseTax,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// compound
	Compound bool `json:"compound,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// dirty
	Dirty bool `json:"dirty,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// shop Id
	ShopID string `json:"shopId,omitempty"`

	// tax order
	TaxOrder string `json:"taxOrder,omitempty"`

	// tax rate
	TaxRate float64 `json:"taxRate,omitempty"`

	// territory
	Territory string `json:"territory,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop tax tables items0 county tax
func (m *ShopResponseShopTaxTablesItems0CountyTax) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0CountyTax) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0CountyTax) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopTaxTablesItems0CountyTax
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopTaxTablesItems0FederalTax shop response shop tax tables items0 federal tax
//
// swagger:model ShopResponseShopTaxTablesItems0FederalTax
type ShopResponseShopTaxTablesItems0FederalTax struct {

	// active
	Active bool `json:"active,omitempty"`

	// active excise tax
	ActiveExciseTax bool `json:"activeExciseTax,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// compound
	Compound bool `json:"compound,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// dirty
	Dirty bool `json:"dirty,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// shop Id
	ShopID string `json:"shopId,omitempty"`

	// tax order
	TaxOrder string `json:"taxOrder,omitempty"`

	// tax rate
	TaxRate float64 `json:"taxRate,omitempty"`

	// territory
	Territory string `json:"territory,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop tax tables items0 federal tax
func (m *ShopResponseShopTaxTablesItems0FederalTax) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0FederalTax) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0FederalTax) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopTaxTablesItems0FederalTax
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseShopTaxTablesItems0StateTax shop response shop tax tables items0 state tax
//
// swagger:model ShopResponseShopTaxTablesItems0StateTax
type ShopResponseShopTaxTablesItems0StateTax struct {

	// active
	Active bool `json:"active,omitempty"`

	// active excise tax
	ActiveExciseTax bool `json:"activeExciseTax,omitempty"`

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// compound
	Compound bool `json:"compound,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// dirty
	Dirty bool `json:"dirty,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// shop Id
	ShopID string `json:"shopId,omitempty"`

	// tax order
	TaxOrder string `json:"taxOrder,omitempty"`

	// tax rate
	TaxRate float64 `json:"taxRate,omitempty"`

	// territory
	Territory string `json:"territory,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`
}

// Validate validates this shop response shop tax tables items0 state tax
func (m *ShopResponseShopTaxTablesItems0StateTax) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0StateTax) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseShopTaxTablesItems0StateTax) UnmarshalBinary(b []byte) error {
	var res ShopResponseShopTaxTablesItems0StateTax
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseToleranceMap shop response tolerance map
//
// swagger:model ShopResponseToleranceMap
type ShopResponseToleranceMap struct {

	// g RAM
	GRAM *ShopResponseToleranceMapGRAM `json:"GRAM,omitempty"`

	// h a l f
	HALF *ShopResponseToleranceMapHALF `json:"HALF,omitempty"`

	// h a l f g RAM
	HALFGRAM *ShopResponseToleranceMapHALFGRAM `json:"HALF_GRAM,omitempty"`

	// o n e e i g h t t h
	ONEEIGHTTH *ShopResponseToleranceMapONEEIGHTTH `json:"ONE_EIGHTTH,omitempty"`

	// o u n c e
	OUNCE *ShopResponseToleranceMapOUNCE `json:"OUNCE,omitempty"`

	// q u a r t e r
	QUARTER *ShopResponseToleranceMapQUARTER `json:"QUARTER,omitempty"`

	// t h r e e g RAM s
	THREEGRAMS *ShopResponseToleranceMapTHREEGRAMS `json:"THREE_GRAMS,omitempty"`

	// t w o g RAM s
	TWOGRAMS *ShopResponseToleranceMapTWOGRAMS `json:"TWO_GRAMS,omitempty"`
}

// Validate validates this shop response tolerance map
func (m *ShopResponseToleranceMap) Validate(formats strfmt.Registry) error {
	var res []error

	if err := m.validateGRAM(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateHALF(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateHALFGRAM(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateONEEIGHTTH(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateOUNCE(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateQUARTER(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateTHREEGRAMS(formats); err != nil {
		res = append(res, err)
	}

	if err := m.validateTWOGRAMS(formats); err != nil {
		res = append(res, err)
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}

func (m *ShopResponseToleranceMap) validateGRAM(formats strfmt.Registry) error {

	if swag.IsZero(m.GRAM) { // not required
		return nil
	}

	if m.GRAM != nil {
		if err := m.GRAM.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("toleranceMap" + "." + "GRAM")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseToleranceMap) validateHALF(formats strfmt.Registry) error {

	if swag.IsZero(m.HALF) { // not required
		return nil
	}

	if m.HALF != nil {
		if err := m.HALF.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("toleranceMap" + "." + "HALF")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseToleranceMap) validateHALFGRAM(formats strfmt.Registry) error {

	if swag.IsZero(m.HALFGRAM) { // not required
		return nil
	}

	if m.HALFGRAM != nil {
		if err := m.HALFGRAM.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("toleranceMap" + "." + "HALF_GRAM")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseToleranceMap) validateONEEIGHTTH(formats strfmt.Registry) error {

	if swag.IsZero(m.ONEEIGHTTH) { // not required
		return nil
	}

	if m.ONEEIGHTTH != nil {
		if err := m.ONEEIGHTTH.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("toleranceMap" + "." + "ONE_EIGHTTH")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseToleranceMap) validateOUNCE(formats strfmt.Registry) error {

	if swag.IsZero(m.OUNCE) { // not required
		return nil
	}

	if m.OUNCE != nil {
		if err := m.OUNCE.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("toleranceMap" + "." + "OUNCE")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseToleranceMap) validateQUARTER(formats strfmt.Registry) error {

	if swag.IsZero(m.QUARTER) { // not required
		return nil
	}

	if m.QUARTER != nil {
		if err := m.QUARTER.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("toleranceMap" + "." + "QUARTER")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseToleranceMap) validateTHREEGRAMS(formats strfmt.Registry) error {

	if swag.IsZero(m.THREEGRAMS) { // not required
		return nil
	}

	if m.THREEGRAMS != nil {
		if err := m.THREEGRAMS.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("toleranceMap" + "." + "THREE_GRAMS")
			}
			return err
		}
	}

	return nil
}

func (m *ShopResponseToleranceMap) validateTWOGRAMS(formats strfmt.Registry) error {

	if swag.IsZero(m.TWOGRAMS) { // not required
		return nil
	}

	if m.TWOGRAMS != nil {
		if err := m.TWOGRAMS.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("toleranceMap" + "." + "TWO_GRAMS")
			}
			return err
		}
	}

	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseToleranceMap) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseToleranceMap) UnmarshalBinary(b []byte) error {
	var res ShopResponseToleranceMap
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseToleranceMapGRAM shop response tolerance map g RAM
//
// swagger:model ShopResponseToleranceMapGRAM
type ShopResponseToleranceMapGRAM struct {

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// end weight
	EndWeight float64 `json:"endWeight,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// start weight
	StartWeight float64 `json:"startWeight,omitempty"`

	// unit value
	UnitValue float64 `json:"unitValue,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// weight key
	WeightKey string `json:"weightKey,omitempty"`

	// weight value
	WeightValue float64 `json:"weightValue,omitempty"`
}

// Validate validates this shop response tolerance map g RAM
func (m *ShopResponseToleranceMapGRAM) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseToleranceMapGRAM) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseToleranceMapGRAM) UnmarshalBinary(b []byte) error {
	var res ShopResponseToleranceMapGRAM
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseToleranceMapHALF shop response tolerance map h a l f
//
// swagger:model ShopResponseToleranceMapHALF
type ShopResponseToleranceMapHALF struct {

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// end weight
	EndWeight float64 `json:"endWeight,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// start weight
	StartWeight float64 `json:"startWeight,omitempty"`

	// unit value
	UnitValue float64 `json:"unitValue,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// weight key
	WeightKey string `json:"weightKey,omitempty"`

	// weight value
	WeightValue float64 `json:"weightValue,omitempty"`
}

// Validate validates this shop response tolerance map h a l f
func (m *ShopResponseToleranceMapHALF) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseToleranceMapHALF) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseToleranceMapHALF) UnmarshalBinary(b []byte) error {
	var res ShopResponseToleranceMapHALF
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseToleranceMapHALFGRAM shop response tolerance map h a l f g RAM
//
// swagger:model ShopResponseToleranceMapHALFGRAM
type ShopResponseToleranceMapHALFGRAM struct {

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// end weight
	EndWeight float64 `json:"endWeight,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// start weight
	StartWeight float64 `json:"startWeight,omitempty"`

	// unit value
	UnitValue float64 `json:"unitValue,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// weight key
	WeightKey string `json:"weightKey,omitempty"`

	// weight value
	WeightValue float64 `json:"weightValue,omitempty"`
}

// Validate validates this shop response tolerance map h a l f g RAM
func (m *ShopResponseToleranceMapHALFGRAM) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseToleranceMapHALFGRAM) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseToleranceMapHALFGRAM) UnmarshalBinary(b []byte) error {
	var res ShopResponseToleranceMapHALFGRAM
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseToleranceMapONEEIGHTTH shop response tolerance map o n e e i g h t t h
//
// swagger:model ShopResponseToleranceMapONEEIGHTTH
type ShopResponseToleranceMapONEEIGHTTH struct {

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// end weight
	EndWeight float64 `json:"endWeight,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// start weight
	StartWeight float64 `json:"startWeight,omitempty"`

	// unit value
	UnitValue float64 `json:"unitValue,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// weight key
	WeightKey string `json:"weightKey,omitempty"`

	// weight value
	WeightValue float64 `json:"weightValue,omitempty"`
}

// Validate validates this shop response tolerance map o n e e i g h t t h
func (m *ShopResponseToleranceMapONEEIGHTTH) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseToleranceMapONEEIGHTTH) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseToleranceMapONEEIGHTTH) UnmarshalBinary(b []byte) error {
	var res ShopResponseToleranceMapONEEIGHTTH
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseToleranceMapOUNCE shop response tolerance map o u n c e
//
// swagger:model ShopResponseToleranceMapOUNCE
type ShopResponseToleranceMapOUNCE struct {

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// end weight
	EndWeight float64 `json:"endWeight,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// start weight
	StartWeight float64 `json:"startWeight,omitempty"`

	// unit value
	UnitValue float64 `json:"unitValue,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// weight key
	WeightKey string `json:"weightKey,omitempty"`

	// weight value
	WeightValue float64 `json:"weightValue,omitempty"`
}

// Validate validates this shop response tolerance map o u n c e
func (m *ShopResponseToleranceMapOUNCE) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseToleranceMapOUNCE) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseToleranceMapOUNCE) UnmarshalBinary(b []byte) error {
	var res ShopResponseToleranceMapOUNCE
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseToleranceMapQUARTER shop response tolerance map q u a r t e r
//
// swagger:model ShopResponseToleranceMapQUARTER
type ShopResponseToleranceMapQUARTER struct {

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// end weight
	EndWeight float64 `json:"endWeight,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// start weight
	StartWeight float64 `json:"startWeight,omitempty"`

	// unit value
	UnitValue float64 `json:"unitValue,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// weight key
	WeightKey string `json:"weightKey,omitempty"`

	// weight value
	WeightValue float64 `json:"weightValue,omitempty"`
}

// Validate validates this shop response tolerance map q u a r t e r
func (m *ShopResponseToleranceMapQUARTER) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseToleranceMapQUARTER) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseToleranceMapQUARTER) UnmarshalBinary(b []byte) error {
	var res ShopResponseToleranceMapQUARTER
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseToleranceMapTHREEGRAMS shop response tolerance map t h r e e g RAM s
//
// swagger:model ShopResponseToleranceMapTHREEGRAMS
type ShopResponseToleranceMapTHREEGRAMS struct {

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// end weight
	EndWeight float64 `json:"endWeight,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// start weight
	StartWeight float64 `json:"startWeight,omitempty"`

	// unit value
	UnitValue float64 `json:"unitValue,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// weight key
	WeightKey string `json:"weightKey,omitempty"`

	// weight value
	WeightValue float64 `json:"weightValue,omitempty"`
}

// Validate validates this shop response tolerance map t h r e e g RAM s
func (m *ShopResponseToleranceMapTHREEGRAMS) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseToleranceMapTHREEGRAMS) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseToleranceMapTHREEGRAMS) UnmarshalBinary(b []byte) error {
	var res ShopResponseToleranceMapTHREEGRAMS
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}

// ShopResponseToleranceMapTWOGRAMS shop response tolerance map t w o g RAM s
//
// swagger:model ShopResponseToleranceMapTWOGRAMS
type ShopResponseToleranceMapTWOGRAMS struct {

	// company Id
	CompanyID string `json:"companyId,omitempty"`

	// created
	Created int64 `json:"created,omitempty"`

	// deleted
	Deleted bool `json:"deleted,omitempty"`

	// enabled
	Enabled bool `json:"enabled,omitempty"`

	// end weight
	EndWeight float64 `json:"endWeight,omitempty"`

	// id
	ID string `json:"id,omitempty"`

	// modified
	Modified int64 `json:"modified,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// priority
	Priority float64 `json:"priority,omitempty"`

	// start weight
	StartWeight float64 `json:"startWeight,omitempty"`

	// unit value
	UnitValue float64 `json:"unitValue,omitempty"`

	// updated
	Updated bool `json:"updated,omitempty"`

	// weight key
	WeightKey string `json:"weightKey,omitempty"`

	// weight value
	WeightValue float64 `json:"weightValue,omitempty"`
}

// Validate validates this shop response tolerance map t w o g RAM s
func (m *ShopResponseToleranceMapTWOGRAMS) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *ShopResponseToleranceMapTWOGRAMS) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *ShopResponseToleranceMapTWOGRAMS) UnmarshalBinary(b []byte) error {
	var res ShopResponseToleranceMapTWOGRAMS
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}
