package types

import "database/sql"

// PurchaseOrder is a first class object type
type PurchaseOrder struct {
	ID                          string
	AccountID                   string
	Amount                      float64
	BillingAddress              *Address
	BillingContactID            string
	BusinessAddress             *Address
	BusinessTax                 float64
	CannabisTax                 float64
	ContractID                  string
	CoordinateID                string
	CreatedByID                 string
	CreatedDate                 sql.NullTime
	CreditCardID                string
	CustomerID                  string
	DateExpires                 sql.NullTime
	DatePromised                sql.NullTime
	DateRequested               sql.NullTime
	Description                 string
	Discount                    float64
	DiscountAmount              float64
	DueDate                     sql.NullTime
	EndUserID                   string
	EstimatedAmount             float64
	EstimatedBusinessTax        float64
	EstimatedCannabisTax        float64
	EstimatedDiscount           float64
	EstimatedSalesTax           float64
	EstimatedSubtotal           float64
	ExpirationDate              sql.NullTime
	IngestID                    string
	Items                       []*PurchaseOrderItem
	JobID                       string
	LastModifiedByID            string
	LastModifiedDate            sql.NullTime
	OpportunityID               string
	OrderID                     string
	ParentFK                    string
	PaymentTerms                string
	PeriodID                    string
	PlaceGeoCode                string
	PODate                      sql.NullTime
	PONumber                    string
	Posted                      bool
	QuoteID                     string
	Ref                         string
	SalesRegulation             string
	SalesTax                    float64
	ServiceTerm                 string
	ShipDate                    sql.NullTime
	ShippingAddress             *Address
	ShippingContactID           string
	ShippingHandling            float64
	ShippingSpecialInstructions string
	Status                      string
	Subtotal                    float64
	TaxTransactions             []*TaxTransaction
	TelecomTax                  float64
	TemplateID                  string
	TenantID                    string
	Total                       *Total
	TotalID                     string
	Type                        string
	VendorID                    string
	VendorQuoteNumber           string
}
