// 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 plex_models

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

import (
	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// TaxSummary tax summary
//
// swagger:model TaxSummary
type TaxSummary struct {

	// amount
	Amount float64 `json:"Amount,omitempty"`

	// Tax Type Category
	Category string `json:"Category,omitempty"`

	// effective rate
	EffectiveRate float64 `json:"EffectiveRate,omitempty"`

	// Month Number
	Month int64 `json:"Month,omitempty"`

	// The Period Name of the summary line
	PeriodName string `json:"PeriodName,omitempty"`

	// The Taxnexus Geocode of the summary line
	PlaceGeocode string `json:"PlaceGeocode,omitempty"`

	// Quarter Number
	Quarter int64 `json:"Quarter,omitempty"`

	// revenue base
	RevenueBase float64 `json:"RevenueBase,omitempty"`

	// revenue net
	RevenueNet float64 `json:"RevenueNet,omitempty"`

	// revenue not taxable
	RevenueNotTaxable float64 `json:"RevenueNotTaxable,omitempty"`

	// tax exempt revenue
	TaxExemptRevenue float64 `json:"TaxExemptRevenue,omitempty"`

	// tax on tax
	TaxOnTax float64 `json:"TaxOnTax,omitempty"`

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

	// Taxnexus ID of the TaxType for which this transaction is made
	TaxTypeID string `json:"TaxTypeID,omitempty"`

	// Tax or Fee Name
	TaxTypeName string `json:"TaxTypeName,omitempty"`

	// Year Number
	Year int64 `json:"Year,omitempty"`
}

// Validate validates this tax summary
func (m *TaxSummary) Validate(formats strfmt.Registry) error {
	return nil
}

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

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