<?php
namespace ModulesAbstract\ElectronicInvoice\UBL21Structure;

/**
 * UBLExtension
 * A single extension for private use.
 * @see http://www.datypic.com/sc/ubl21/e-ext_UBLExtension.html
 */
class TypeUBLExtension extends AbstractPeppolElement
{

	/**
	 * cbc:ID, 0..1, optional tag
	 *
	 * An identifier for the Extension assigned by the creator of the extension.
	 * @var mixed
	 */
	public $ID = null;

	/**
	 * cbc:Name, 0..1, optional tag
	 *
	 * A name for the Extension assigned by the creator of the extension.
	 * @var mixed
	 */
	public $Name = null;

	/**
	 * ext:ExtensionAgencyID, 0..1, optional tag
	 *
	 * An agency that maintains one or more Extensions.
	 * @var mixed
	 */
	public $ExtensionAgencyID = null;

	/**
	 * ext:ExtensionAgencyName, 0..1, optional tag
	 *
	 * The name of the agency that maintains the Extension.
	 * @var mixed
	 */
	public $ExtensionAgencyName = null;

	/**
	 * ext:ExtensionVersionID, 0..1, optional tag
	 *
	 * The version of the Extension.
	 * @var mixed
	 */
	public $ExtensionVersionID = null;

	/**
	 * ext:ExtensionAgencyURI, 0..1, optional tag
	 *
	 * A URI for the Agency that maintains the Extension.
	 * @var mixed
	 */
	public $ExtensionAgencyURI = null;

	/**
	 * ext:ExtensionURI, 0..1, optional tag
	 *
	 * A URI for the Extension.
	 * @var mixed
	 */
	public $ExtensionURI = null;

	/**
	 * ext:ExtensionReasonCode, 0..1, optional tag
	 *
	 * A code for reason the Extension is being included.
	 * @var mixed
	 */
	public $ExtensionReasonCode = null;

	/**
	 * ext:ExtensionReason, 0..1, optional tag
	 *
	 * A description of the reason for the Extension.
	 * @var mixed
	 */
	public $ExtensionReason = null;

	/**
	 * ext:ExtensionContent, 1..1, MANDATORY tag
	 *
	 * The definition of the extension content.
	 * @var mixed
	 */
	public $ExtensionContent = null;

}
