package app

import (
	"database/sql"
	"html/template"

	"code.tnxs.net/taxnexus/lib/api/geo/geo_models"
)

// CoordinateBasicActivityWrapper wraps the object with workflow params
type CoordinateBasicActivityWrapper struct {
	Obj      geo_models.CoordinateBasic
	APIKey   string
	SagaID   string
	SagaType string
}

// CoordinateBasic is a first class object type
type CoordinateBasic struct {
	ID         string
	CountryID  string
	CountyID   string
	Focus      string
	Geocode    string
	IsDistrict bool
	Name       string
	PlaceID    string
	Ref        string
	StateID    string
	TaxTypes   []*string
}

// CoordinateActivityWrapper wraps the object with workflow params
type CoordinateActivityWrapper struct {
	Obj      geo_models.Coordinate
	APIKey   string
	SagaID   string
	SagaType string
}

// Coordinate is a first class object type
type Coordinate struct {
	ID               string
	BusinessTaxTypes []*TaxType
	CannabisTypes    []*TaxType
	Country          string
	CountryID        string
	County           string
	CountyID         string
	CreatedByID      string
	CreatedDate      sql.NullTime
	ExciseTaxTypes   []*TaxType
	Focus            string
	FormattedAddress string
	Geocode          string
	IsDistrict       bool
	LastModifiedByID string
	LastModifiedDate sql.NullTime
	Latitude         float64
	Longitude        float64
	Map              template.URL
	MerchTaxTypes    []*TaxType
	Name             string
	Neighborhood     string
	OwnerID          string
	Place            string
	PlaceID          string
	PostalCode       string
	Ref              string
	Situs            string
	State            string
	StateID          string
	Status           string
	Street           string
	StreetNumber     string
	StreetView       template.URL
	TaxRate          *TaxRate
	TaxTypeIDs       []*string
	TaxTypes         []*TaxType
	TelecomTaxTypes  []*TaxType
}
