package app

import (
	"database/sql"
)

// AccountActivityWrapper wraps the object with workflow params
type AccountActivityWrapper struct {
	APIKey   string
	SagaID   string
	SagaType string
	//
	AccountSource            string
	AdministrativeLevel      string
	BillingAddress           Address
	BillingContactID         string
	BillingContact           Contact
	BillingPreference        string
	BusinessAddress          Address
	CannabisCustomer         bool
	CompanyID                string
	CoordinateID             string
	Coordinate               Coordinate
	CustomerID               string
	CustomerPriority         string
	DBA                      string
	DefaultAddress           Address
	DefaultBackendID         string
	DefaultBackend           Backend
	DefaultDeliveryContactID string
	DefaultDeliveryContact   string
	DefaultEndUserID         string
	DefaultEndUser           Contact
	Description              string
	EIN                      string
	Email                    string
	EnrollmentStatus         string
	Fax                      string
	ISPCustomer              bool
	MSPCustomer              bool
	Name                     string
	OrderContactID           string
	OrderContact             Contact
	OrderEmail               string
	OwnerID                  string
	ParentID                 string
	Phone                    string
	PlaceID                  string
	PreparerID               string
	RatingEngineID           string
	Ref                      string
	ShippingAddress          Address
	ShippingContactID        string
	ShippingContact          Contact
	Site                     string
	TelecomCustomer          bool
	TenantID                 string
	Type                     string
	Website                  string
}

// Account is a DB struct
type Account struct {
	ID                       string
	AccountNumber            string
	AccountSource            string
	Active                   bool
	AdministrativeLevel      string
	Amount                   float64
	AmountInvoiced           float64
	AmountPaid               float64
	AnnualRevenue            float64
	Balance                  float64
	BillingAddress           *Address
	BillingContactID         string
	BillingPreference        string
	BusinessAddress          *Address
	CannabisCustomer         bool
	ChannelProgramLevelName  string
	ChannelProgramName       string
	ClientEndDate            sql.NullTime
	ClientStartDate          sql.NullTime
	CompanyID                string
	CoordinateID             string
	CreatedByID              string
	CreatedDate              sql.NullTime
	CustomerID               string
	CustomerPriority         string
	DandBCompanyID           string
	DBA                      string
	DefaultAddress           *Address
	DefaultBackendID         string
	DefaultDeliveryContactID string
	DefaultEndUserID         string
	Description              string
	DunsNumber               string
	EIN                      string
	Email                    string
	EnrollmentStatus         string
	Fax                      string
	Industry                 string
	IsCustomerPortal         bool
	IsPartner                bool
	ISPCustomer              bool
	Jigsaw                   string
	LastModifiedByID         string
	LastModifiedDate         sql.NullTime
	MSPCustomer              bool
	NaicsCode                string
	NaicsDesc                string
	Name                     string
	NumberOfEmployees        int64
	NumberOfLocations        int64
	OpenCharges              float64
	OrderContactID           string
	OrderEmail               string
	OwnerID                  string
	Ownership                string
	ParentFK                 string
	ParentID                 string
	Phone                    string
	PlaceID                  string
	PreparerID               string
	Rating                   string
	RatingEngineID           string
	Ref                      string
	RevenueBase              float64
	RevenueNet               float64
	RevenueNotTaxable        float64
	ShippingAddress          *Address
	ShippingCensusTract      string
	ShippingContactID        string
	ShippingCounty           string
	SIC                      string
	SicDesc                  string
	Site                     string
	Status                   string
	TaxExemption             string
	TaxOnTax                 float64
	TelecomCustomer          bool
	TenantID                 string
	TickerSymbol             string
	TradeStyle               string
	Type                     string
	UnappliedPayments        float64
	UnitBase                 float64
	UpsellOpportunity        string
	Website                  string
	WHMCSClientID            int64
	XeroContactID            string
	YearStarted              string
}
