<?php
namespace ModulesAbstract\ElectronicInvoice\UBL21Structure;

/**
 * Signature
 *
 * @see http://www.datypic.com/sc/ubl21/e-cac_Signature.html
 */
class TypeSignature extends AbstractPeppolElement
{

	/**
	 * cbc:ID, 1..1, MANDATORY tag
	 *
	 * An identifier for this signature.
	 * @var mixed
	 */
	public $ID = null;

	/**
	 * cbc:Note, 0..*
	 *
	 * Free-form text conveying information that is not contained explicitly in other structures; in particular, information
	 *   regarding the circumstances in which the signature is being used.
	 * @var mixed
	 */
	public $Note = null;

	/**
	 * cbc:ValidationDate, 0..1, optional tag
	 *
	 * The date upon which this signature was verified.
	 * @var mixed
	 */
	public $ValidationDate = null;

	/**
	 * cbc:ValidationTime, 0..1, optional tag
	 *
	 * The time at which this signature was verified.
	 * @var mixed
	 */
	public $ValidationTime = null;

	/**
	 * cbc:ValidatorID, 0..1, optional tag
	 *
	 * An identifier for the organization, person, service, or server that verified this signature.
	 * @var mixed
	 */
	public $ValidatorID = null;

	/**
	 * cbc:CanonicalizationMethod, 0..1, optional tag
	 *
	 * The method used to perform XML canonicalization of this signature.
	 * @var mixed
	 */
	public $CanonicalizationMethod = null;

	/**
	 * cbc:SignatureMethod, 0..1, optional tag
	 *
	 * Text describing the method of signature.
	 * @var mixed
	 */
	public $SignatureMethod = null;

	/**
	 * cac:SignatoryParty, 0..1, optional tag
	 *
	 * The signing party.
	 * @var mixed
	 */
	public $SignatoryParty = null;

	/**
	 * cac:DigitalSignatureAttachment, 0..1, optional tag
	 *
	 * The actual encoded signature (e.g., in XMLDsig format).
	 * @var mixed
	 */
	public $DigitalSignatureAttachment = null;

	/**
	 * cac:OriginalDocumentReference, 0..1, optional tag
	 *
	 * A reference to the document that the signature applies to. For evidentiary purposes, this may be the document image that
	 *   the signatory party saw when applying their signature.
	 * @var mixed
	 */
	public $OriginalDocumentReference = null;

}
