// 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 sf_gate_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"
)

// QuoteItem quote item
//
// swagger:model QuoteItem
type QuoteItem struct {

	// Line Item Description
	Description string `json:"description,omitempty"`

	// Discount
	Discount float64 `json:"discount,omitempty"`

	// Discount Amount
	Discountamount float64 `json:"discountamount,omitempty"`

	// Taxnexus Record Id Only; not used in POST
	ID string `json:"id,omitempty"`

	// Line Gross Amount
	Linegrossamount float64 `json:"linegrossamount,omitempty"`

	// Line Item Number
	Linenumber string `json:"linenumber,omitempty"`

	// List Price
	Listprice float64 `json:"listprice,omitempty"`

	// Location
	Locationid string `json:"locationid,omitempty"`

	// UUID Reference the master record that owns this item
	Parentfk string `json:"parentfk,omitempty"`

	// Product record ID
	Productid string `json:"productid,omitempty"`

	// Product Name
	Productname string `json:"productname,omitempty"`

	// Quantity
	Quantity float64 `json:"quantity,omitempty"`

	// Quote Name
	Quoteid string `json:"quoteid,omitempty"`

	// Source System identifier for this record, if any
	Ref string `json:"ref,omitempty"`

	// Date
	Servicedate string `json:"servicedate,omitempty"`

	// Shipping & Handling
	Shippinghandling float64 `json:"shippinghandling,omitempty"`

	// Subtotal
	Subtotal float64 `json:"subtotal,omitempty"`

	// Supplier
	Supplierid string `json:"supplierid,omitempty"`

	// Taxable?
	Taxable string `json:"taxable,omitempty"`

	// tenant identifier
	Tenantid string `json:"tenantid,omitempty"`

	// Total Price
	Totalprice float64 `json:"totalprice,omitempty"`

	// Sales Price
	Unitprice float64 `json:"unitprice,omitempty"`
}

// Validate validates this quote item
func (m *QuoteItem) Validate(formats strfmt.Registry) error {
	return nil
}

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

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