<?php
namespace ModulesAbstract\ElectronicInvoice\UBL21Structure;

/**
 * PartyTaxScheme
 *
 * @see http://www.datypic.com/sc/ubl21/e-cac_PartyTaxScheme.html
 */
class TypePartyTaxScheme extends AbstractPeppolElement
{

	/**
	 * cbc:RegistrationName, 0..1, optional tag
	 *
	 * The name of the party as registered with the relevant fiscal authority.
	 * @var mixed
	 */
	public $RegistrationName = null;

	/**
	 * cbc:CompanyID, 0..1, optional tag
	 *
	 * An identifier for the party assigned for tax purposes by the taxation authority.
	 * @var mixed
	 */
	public $CompanyID = null;

	/**
	 * cbc:TaxLevelCode, 0..1, optional tag
	 *
	 * A code signifying the tax level applicable to the party within this taxation scheme.
	 * @var mixed
	 */
	public $TaxLevelCode = null;

	/**
	 * cbc:ExemptionReasonCode, 0..1, optional tag
	 *
	 * A reason for the party's exemption from tax, expressed as a code.
	 * @var mixed
	 */
	public $ExemptionReasonCode = null;

	/**
	 * cbc:ExemptionReason, 0..*
	 *
	 * A reason for the party's exemption from tax, expressed as text.
	 * @var mixed
	 */
	public $ExemptionReason = null;

	/**
	 * cac:RegistrationAddress, 0..1, optional tag
	 *
	 * The address of the party as registered for tax purposes.
	 * @var mixed
	 */
	public $RegistrationAddress = null;

	/**
	 * cac:TaxScheme, 1..1, MANDATORY tag
	 *
	 * The taxation scheme applicable to the party.
	 * @var mixed
	 */
	public $TaxScheme = null;

}
