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

// PurchaseOrderItem purchase order item
//
// swagger:model PurchaseOrderItem
type PurchaseOrderItem struct {

	// Account
	Accountid string `json:"accountid,omitempty"`

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

	// Due Date
	DueDate string `json:"due_date,omitempty"`

	// End User
	Enduserid string `json:"enduserid,omitempty"`

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

	// Line
	Linenumber int64 `json:"linenumber,omitempty"`

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

	// Order Item
	Orderitemid string `json:"orderitemid,omitempty"`

	// The record identifier of the parent record from the source system
	Parentfk string `json:"parentfk,omitempty"`

	// Partner Account
	Partneraccountid string `json:"partneraccountid,omitempty"`

	// Posted
	Posted bool `json:"posted,omitempty"`

	// PricebookEntryID
	Pricebookentryid string `json:"pricebookentryid,omitempty"`

	// Product
	Product interface{} `json:"product,omitempty"`

	// Product Code
	Productcode string `json:"productcode,omitempty"`

	// Purchase Order
	Purchaseorderid string `json:"purchaseorderid,omitempty"`

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

	// Quote Item
	Quotelineitemid string `json:"quotelineitemid,omitempty"`

	// Received Qty
	ReceivedQty float64 `json:"received_qty,omitempty"`

	// Rejected Qty
	RejectedQty float64 `json:"rejected_qty,omitempty"`

	// Record ID Name
	Seq string `json:"seq,omitempty"`

	// Shipment Item
	Shipmentitmeid string `json:"shipmentitmeid,omitempty"`

	// Status
	Status string `json:"status,omitempty"`

	// Stocked Qty
	StockedQty float64 `json:"stocked_qty,omitempty"`

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

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

	// Taxnexus Code
	Taxnexuscode string `json:"taxnexuscode,omitempty"`

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

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

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

// Validate validates this purchase order item
func (m *PurchaseOrderItem) Validate(formats strfmt.Registry) error {
	return nil
}

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

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