<?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;





} // end class IPPTaxRate

