<?php
namespace QuickBooksOnline\API\Data;

/**
 * @xmlNamespace http://schema.intuit.com/finance/v3
 * @xmlType IntuitEntity
 * @xmlName IPPTaxRate
 * @var IPPTaxRate
 * @xmlDefinition 
				Product: ALL
				Description: A sales tax rate specifies
				the tax rate for the specific TaxCode.[br]See [a
				href="http://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0060_Financial_Management_Services_(v3)/01100_Global_Tax_Model"]Global
				Tax Model[/a].
			
 */
class IPPTaxRate
	extends IPPIntuitEntity	{

		/**                                                                       
		* Initializes this object, optionally with pre-defined property values    
		*                                                                         
		* Initializes this object and it's property members, using the dictionary
		* of key/value pairs passed as an optional argument.                      
		*                                                                         
		* @param dictionary $keyValInitializers key/value pairs to be populated into object's properties 
		* @param boolean $verbose specifies whether object should echo warnings   
		*/                                                                        
		public function __construct($keyValInitializers=array(), $verbose=FALSE)
		{
			foreach($keyValInitializers as $initPropName => $initPropVal)
			{
				if (property_exists('IPPTaxRate',$initPropName) || property_exists('QuickBooksOnline\API\Data\IPPTaxRate',$initPropName))
				{
					$this->{$initPropName} = $initPropVal;
				}
				else
				{
					if ($verbose)
						echo "Property does not exist ($initPropName) in class (".get_class($this).")";
				}
			}
		}

	
	/**
	 * @Definition 
								Product: QBW
								Description: User recognizable name
								for the tax rate.[br /]Max. Length: 31 characters.[br /]Required
								for the Create request.
								Required: QBW
								ValidRange: QBW: Max=31
								Filterable: QBW
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName Name
	 * @var string
	 */
	public $Name;
	/**
	 * @Definition 
								Product: QBW
								Description: User entered
								description for the tax rate.[br /]Max Length: 4000 characters.
								ValidRange: QBW: Max=4000
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName Description
	 * @var string
	 */
	public $Description;
	/**
	 * @Definition 
								Product: QBW
								Description: False or null if
								inactive. Inactive sales rate codes may be hidden from display
								and may not be used on financial transactions.
								Filterable: QBW
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName Active
	 * @var boolean
	 */
	public $Active;
	/**
	 * @Definition 
								Product: ALL
								Description: Represents rate value.
								Filterable: QBW
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName RateValue
	 * @var float
	 */
	public $RateValue;
	/**
	 * @Definition 
								Product: ALL
								Description: Represents Agency
								Reference, Vendor Reference in case of QBW, Agency in case of
								QBO.
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName AgencyRef
	 * @var com\intuit\schema\finance\v3\IPPReferenceType
	 */
	public $AgencyRef;
	/**
	 * @Definition 
								Product: ALL
								Description: TaxReturnLine is
								representative of SalesTaxReturnLine reference
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName TaxReturnLineRef
	 * @var com\intuit\schema\finance\v3\IPPReferenceType
	 */
	public $TaxReturnLineRef;
	/**
	 * @Definition 
								Product: QBO
								Description: Effective list rates
								for different date ranges
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlMaxOccurs unbounded
	 * @xmlName EffectiveTaxRate
	 * @var com\intuit\schema\finance\v3\IPPEffectiveTaxRate
	 */
	public $EffectiveTaxRate;
	/**
	 * @Definition 
								Product: QBO
								Description: Used for Zero rates
								for EC VAT.
								How it is used: VAT registered Businesses who receive
								goods/services (acquisitions) from other EU countries,
								will need to calculate the VAT due, but not paid, on these
								acquisitions. The rate of VAT payable is the same that would
								have been paid if the goods had been supplied by a UK supplier.
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName SpecialTaxType
	 * @var com\intuit\schema\finance\v3\IPPSpecialTaxTypeEnum
	 */
	public $SpecialTaxType;
	/**
	 * @Definition 
								Product: QBO
								Description: DisplayType of a tax
								rate, configuration of editability and display on forms
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName DisplayType
	 * @var com\intuit\schema\finance\v3\IPPTaxRateDisplayTypeEnum
	 */
	public $DisplayType;
	/**
	 * @Definition 
								Product: ALL
								Description: Internal use only:
								extension place holder for TaxRate
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName TaxRateEx
	 * @var com\intuit\schema\finance\v3\IPPIntuitAnyType
	 */
	public $TaxRateEx;
	/**
	 * @Definition 
								Product: QBO
								Description: OriginalTaxRate represents the tax rate from which the current tax rate originated
							
	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName OriginalTaxRate
	 * @var com\intuit\schema\finance\v3\IPPReferenceType
	 */
	public $OriginalTaxRate;


} // end class IPPTaxRate
