lib/api/sfgate/sfgate_models/account.go

499 lines
12 KiB
Go

// Code generated by go-swagger; DO NOT EDIT.
// (c) 2012-2020 by Taxnexus, Inc.
// All rights reserved worldwide.
// Proprietary product; unlicensed use is not allowed
package sfgate_models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// Account account
//
// swagger:model Account
type Account struct {
// Account Number
Accountnumber string `json:"accountnumber,omitempty"`
// The marketing orgin of this account
Accountsource string `json:"accountsource,omitempty"`
// Active
Active bool `json:"active,omitempty"`
// For tax authorities, this account's administrative level, e.g. Local, County, State or Federal
Administrativelevel string `json:"administrativelevel,omitempty"`
// Rollup Tax Amount
Amount float64 `json:"amount,omitempty"`
// Amount Invoiced
Amountinvoiced float64 `json:"amountinvoiced,omitempty"`
// Amount Paid
Amountpaid float64 `json:"amountpaid,omitempty"`
// Annual Revenue Estimate
Annualrevenue float64 `json:"annualrevenue,omitempty"`
// Account Balance
Balance float64 `json:"balance,omitempty"`
// billingaddress
Billingaddress *Address `json:"billingaddress,omitempty"`
// Contact ID
Billingcontactid string `json:"billingcontactid,omitempty"`
// Billing Preference
Billingpreference string `json:"billingpreference,omitempty"`
// businessaddress
Businessaddress *Address `json:"businessaddress,omitempty"`
// Is this a cannabis customer?
Cannabiscustomer bool `json:"cannabiscustomer,omitempty"`
// Channel Program Level Name
Channelprogramlevelname string `json:"channelprogramlevelname,omitempty"`
// Channel Program Name
Channelprogramname string `json:"channelprogramname,omitempty"`
// Client End Date
Clientenddate string `json:"clientenddate,omitempty"`
// Client Start Date
Clientstartdate string `json:"clientstartdate,omitempty"`
// The Company ID of this Account
Companyid string `json:"companyid,omitempty"`
// The Id of the geo coordinates of this account
Coordinateid string `json:"coordinateid,omitempty"`
// Created By User ID
Createdbyid string `json:"createdbyid,omitempty"`
// Created Date
Createddate string `json:"createddate,omitempty"`
// Customer ID from source system
Customerid string `json:"customerid,omitempty"`
// Customer Priority
Customerpriority string `json:"customerpriority,omitempty"`
// D-n-B Company
Dandbcompanyid string `json:"dandbcompanyid,omitempty"`
// This Account's 'Doing Business As' name
Dba string `json:"dba,omitempty"`
// defaultaddress
Defaultaddress *Address `json:"defaultaddress,omitempty"`
// Default Backend ID
Defaultbackendid string `json:"defaultbackendid,omitempty"`
// Default Delivery Address Contact ID
Defaultdeliverycontactid string `json:"defaultdeliverycontactid,omitempty"`
// Default End User Contact ID
Defaultenduserid string `json:"defaultenduserid,omitempty"`
// Description
Description string `json:"description,omitempty"`
// D-U-N-S Number
Dunsnumber string `json:"dunsnumber,omitempty"`
// EIN
Ein string `json:"ein,omitempty"`
// Main Account Email
Email string `json:"email,omitempty"`
// Enrollment Status
Enrollmentstatus string `json:"enrollmentstatus,omitempty"`
// Fax
Fax string `json:"fax,omitempty"`
// Taxnexus Account Id
ID string `json:"id,omitempty"`
// Industry
Industry string `json:"industry,omitempty"`
// Customer Portal Account
Iscustomerportal bool `json:"iscustomerportal,omitempty"`
// Partner Account
Ispartner bool `json:"ispartner,omitempty"`
// ISP Customer?
Ispcustomer bool `json:"ispcustomer,omitempty"`
// Data.com Key
Jigsaw string `json:"jigsaw,omitempty"`
// Last Modified By User ID
Lastmodifiedbyid string `json:"lastmodifiedbyid,omitempty"`
// Last Modified Date
Lastmodifieddate string `json:"lastmodifieddate,omitempty"`
// MSP Customer?
Mspcustomer bool `json:"mspcustomer,omitempty"`
// NAICS Code
Naicscode string `json:"naicscode,omitempty"`
// NAICS Description
Naicsdesc string `json:"naicsdesc,omitempty"`
// Account Name
Name string `json:"name,omitempty"`
// Employee Count Estimate
Numberofemployees int64 `json:"numberofemployees,omitempty"`
// Number of Locations Estimate
Numberoflocations int64 `json:"numberoflocations,omitempty"`
// Open Charges
Opencharges float64 `json:"opencharges,omitempty"`
// Vendor Order Contact ID
Ordercontactid string `json:"ordercontactid,omitempty"`
// Order Email
Orderemail string `json:"orderemail,omitempty"`
// Account Owner User ID
Ownerid string `json:"ownerid,omitempty"`
// Ownership
Ownership string `json:"ownership,omitempty"`
// Parent Foreign Key
Parentfk string `json:"parentfk,omitempty"`
// Parent Account
Parentid string `json:"parentid,omitempty"`
// Phone
Phone string `json:"phone,omitempty"`
// The ID of the Place situs record that applies to this Account
Placeid string `json:"placeid,omitempty"`
// Tax Preparer Contact ID
Preparerid string `json:"preparerid,omitempty"`
// Rating
Rating string `json:"rating,omitempty"`
// Rating Engine identifier
Ratingengineid string `json:"ratingengineid,omitempty"`
// External Reference ID
Ref string `json:"ref,omitempty"`
// Rollup Revenue Base
Revenuebase float64 `json:"revenuebase,omitempty"`
// Rollup Revenue Net
Revenuenet float64 `json:"revenuenet,omitempty"`
// Rollup Revenue Not Taxable
Revenuenottaxable float64 `json:"revenuenottaxable,omitempty"`
// shippingaddress
Shippingaddress *Address `json:"shippingaddress,omitempty"`
// Shipping Census Tract
Shippingcensustract string `json:"shippingcensustract,omitempty"`
// Shipping Contact ID
Shippingcontactid string `json:"shippingcontactid,omitempty"`
// Shipping County
Shippingcounty string `json:"shippingcounty,omitempty"`
// SIC Code
Sic string `json:"sic,omitempty"`
// SIC Description
Sicdesc string `json:"sicdesc,omitempty"`
// Account Site
Site string `json:"site,omitempty"`
// Account Status
Status string `json:"status,omitempty"`
// Tax Exemption
Taxexemption string `json:"taxexemption,omitempty"`
// Rollup Tax On Tax
Taxontax float64 `json:"taxontax,omitempty"`
// Telecom Customer?
Telecomcustomer bool `json:"telecomcustomer,omitempty"`
// tenant identifier
Tenantid string `json:"tenantid,omitempty"`
// Ticker Symbol
Tickersymbol string `json:"tickersymbol,omitempty"`
// Tradestyle
Tradestyle string `json:"tradestyle,omitempty"`
// Type
Type string `json:"type,omitempty"`
// Unapplied Payments
Unappliedpayments float64 `json:"unappliedpayments,omitempty"`
// Rollup Unit Base
Unitbase float64 `json:"unitbase,omitempty"`
// Upsell Opportunity
Upsellopportunity string `json:"upsellopportunity,omitempty"`
// Website
Website string `json:"website,omitempty"`
// WHMCS Client ID
Whmcsclientid int64 `json:"whmcsclientid,omitempty"`
// Xero Contact ID
Xerocontactid string `json:"xerocontactid,omitempty"`
// Year Started
Yearstarted string `json:"yearstarted,omitempty"`
}
// Validate validates this account
func (m *Account) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateBillingaddress(formats); err != nil {
res = append(res, err)
}
if err := m.validateBusinessaddress(formats); err != nil {
res = append(res, err)
}
if err := m.validateDefaultaddress(formats); err != nil {
res = append(res, err)
}
if err := m.validateShippingaddress(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *Account) validateBillingaddress(formats strfmt.Registry) error {
if swag.IsZero(m.Billingaddress) { // not required
return nil
}
if m.Billingaddress != nil {
if err := m.Billingaddress.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("billingaddress")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("billingaddress")
}
return err
}
}
return nil
}
func (m *Account) validateBusinessaddress(formats strfmt.Registry) error {
if swag.IsZero(m.Businessaddress) { // not required
return nil
}
if m.Businessaddress != nil {
if err := m.Businessaddress.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("businessaddress")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("businessaddress")
}
return err
}
}
return nil
}
func (m *Account) validateDefaultaddress(formats strfmt.Registry) error {
if swag.IsZero(m.Defaultaddress) { // not required
return nil
}
if m.Defaultaddress != nil {
if err := m.Defaultaddress.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("defaultaddress")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("defaultaddress")
}
return err
}
}
return nil
}
func (m *Account) validateShippingaddress(formats strfmt.Registry) error {
if swag.IsZero(m.Shippingaddress) { // not required
return nil
}
if m.Shippingaddress != nil {
if err := m.Shippingaddress.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("shippingaddress")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("shippingaddress")
}
return err
}
}
return nil
}
// ContextValidate validate this account based on the context it is used
func (m *Account) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateBillingaddress(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateBusinessaddress(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateDefaultaddress(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateShippingaddress(ctx, formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *Account) contextValidateBillingaddress(ctx context.Context, formats strfmt.Registry) error {
if m.Billingaddress != nil {
if err := m.Billingaddress.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("billingaddress")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("billingaddress")
}
return err
}
}
return nil
}
func (m *Account) contextValidateBusinessaddress(ctx context.Context, formats strfmt.Registry) error {
if m.Businessaddress != nil {
if err := m.Businessaddress.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("businessaddress")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("businessaddress")
}
return err
}
}
return nil
}
func (m *Account) contextValidateDefaultaddress(ctx context.Context, formats strfmt.Registry) error {
if m.Defaultaddress != nil {
if err := m.Defaultaddress.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("defaultaddress")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("defaultaddress")
}
return err
}
}
return nil
}
func (m *Account) contextValidateShippingaddress(ctx context.Context, formats strfmt.Registry) error {
if m.Shippingaddress != nil {
if err := m.Shippingaddress.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("shippingaddress")
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("shippingaddress")
}
return err
}
}
return nil
}
// MarshalBinary interface implementation
func (m *Account) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *Account) UnmarshalBinary(b []byte) error {
var res Account
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}