<?php
namespace ModulesAbstract\ElectronicInvoice\UBL21Structure;

/**
 * CreditNote
 * This element MUST be conveyed as the root element in any instance document based on this Schema expression
 * @see https://www.datypic.com/sc/ubl21/e-ns23_CreditNote.html
 */
class TypeCreditNote extends AbstractPeppolElement
{

	/**
	 * ext:UBLExtensions, 0..1, optional tag
	 *
	 * A container for all extensions present in the document.
	 * @var mixed
	 */
	public $UBLExtensions = null;

	/**
	 * cbc:UBLVersionID, 0..1, optional tag
	 *
	 * Identifies the earliest version of the UBL 2 schema for this document type that defines all of the elements that might
	 *   be encountered in the current instance.
	 * @var mixed
	 */
	public $UBLVersionID = '2.1';

	/**
	 * cbc:CustomizationID, 0..1, optional tag
	 *
	 * Identifies a user-defined customization of UBL for a specific use.
	 * @var mixed
	 */
	public $CustomizationID = null;

	/**
	 * cbc:ProfileID, 0..1, optional tag
	 *
	 * Identifies a user-defined profile of the customization of UBL being used.
	 * @var mixed
	 */
	public $ProfileID = null;

	/**
	 * cbc:ProfileExecutionID, 0..1, optional tag
	 *
	 * Identifies an instance of executing a profile, to associate all transactions in a collaboration.
	 * @var mixed
	 */
	public $ProfileExecutionID = null;

	/**
	 * cbc:ID, 1..1, MANDATORY tag
	 *
	 * An identifier for this document, assigned by the sender.
	 * @var mixed
	 */
	public $ID = null;

	/**
	 * cbc:CopyIndicator, 0..1, optional tag
	 *
	 * Indicates whether this document is a copy (true) or not (false).
	 * @var mixed
	 */
	public $CopyIndicator = null;

	/**
	 * cbc:UUID, 0..1, optional tag
	 *
	 * A universally unique identifier for an instance of this document.
	 * @var mixed
	 */
	public $UUID = null;

	/**
	 * cbc:IssueDate, 1..1, MANDATORY tag
	 *
	 * The date, assigned by the sender, on which this document was issued.
	 * @var mixed
	 */
	public $IssueDate = null;

	/**
	 * cbc:IssueTime, 0..1, optional tag
	 *
	 * The time, assigned by the sender, at which this document was issued.
	 * @var mixed
	 */
	public $IssueTime = null;

	/**
	 * cbc:TaxPointDate, 0..1, optional tag
	 *
	 * The date of the CreditNote, used to indicate the point at which tax becomes applicable.
	 * @var mixed
	 */
	public $TaxPointDate = null;

	/**
	 * cbc:CreditNoteTypeCode, 0..1, optional tag
	 *
	 * A code signifying the type of the CreditNote.
	 * @var mixed
	 */
	public $CreditNoteTypeCode = null;

	/**
	 * cbc:Note, 0..*
	 *
	 * Free-form text pertinent to this document, conveying information that is not contained explicitly in other structures.
	 * @var mixed
	 */
	public $Note = null;

	/**
	 * cbc:DocumentCurrencyCode, 0..1, optional tag
	 *
	 * A code signifying the default currency for this document.
	 * @var mixed
	 */
	public $DocumentCurrencyCode = null;

	/**
	 * cbc:TaxCurrencyCode, 0..1, optional tag
	 *
	 * A code signifying the currency used for tax amounts in the CreditNote.
	 * @var mixed
	 */
	public $TaxCurrencyCode = null;

	/**
	 * cbc:PricingCurrencyCode, 0..1, optional tag
	 *
	 * A code signifying the currency used for prices in the CreditNote.
	 * @var mixed
	 */
	public $PricingCurrencyCode = null;

	/**
	 * cbc:PaymentCurrencyCode, 0..1, optional tag
	 *
	 * A code signifying the currency used for payment in the CreditNote.
	 * @var mixed
	 */
	public $PaymentCurrencyCode = null;

	/**
	 * cbc:PaymentAlternativeCurrencyCode, 0..1, optional tag
	 *
	 * A code signifying the alternative currency used for payment in the CreditNote.
	 * @var mixed
	 */
	public $PaymentAlternativeCurrencyCode = null;

	/**
	 * cbc:AccountingCostCode, 0..1, optional tag
	 *
	 * The buyer's accounting code, applied to the CreditNote as a whole.
	 * @var mixed
	 */
	public $AccountingCostCode = null;

	/**
	 * cbc:AccountingCost, 0..1, optional tag
	 *
	 * The buyer's accounting code, applied to the CreditNote as a whole, expressed as text.
	 * @var mixed
	 */
	public $AccountingCost = null;

	/**
	 * cbc:LineCountNumeric, 0..1, optional tag
	 *
	 * The number of lines in the document.
	 * @var mixed
	 */
	public $LineCountNumeric = null;

	/**
	 * cbc:BuyerReference, 0..1, optional tag
	 *
	 * A reference provided by the buyer used for internal routing of the document.
	 * @var mixed
	 */
	public $BuyerReference = null;

	public $InvoicePeriod = null;

	/**
	 * cac:DiscrepancyResponse, 0..*
	 *
	 * A discrepancy response.
	 * @var mixed
	 */
	public $DiscrepancyResponse = null;

	/**
	 * cac:OrderReference, 0..1, optional tag
	 *
	 * A reference to the Order with which this CreditNote is associated.
	 * @var mixed
	 */
	public $OrderReference = null;

	/**
	 * cac:BillingReference, 0..*
	 *
	 * A reference to a billing document associated with this document.
	 * @var mixed
	 */
	public $BillingReference = null;

	/**
	 * cac:DespatchDocumentReference, 0..*
	 *
	 * A reference to a Despatch Advice associated with this document.
	 * @var mixed
	 */
	public $DespatchDocumentReference = null;

	/**
	 * cac:ReceiptDocumentReference, 0..*
	 *
	 * A reference to a Receipt Advice associated with this document.
	 * @var mixed
	 */
	public $ReceiptDocumentReference = null;

	/**
	 * cac:ContractDocumentReference, 0..*
	 *
	 * A reference to a contract associated with this document.
	 * @var mixed
	 */
	public $ContractDocumentReference = null;

	/**
	 * cac:AdditionalDocumentReference, 0..*
	 *
	 * A reference to an additional document associated with this document.
	 * @var mixed
	 */
	public $AdditionalDocumentReference = null;

	/**
	 * cac:StatementDocumentReference, 0..*
	 *
	 * A reference to a Statement associated with this document.
	 * @var mixed
	 */
	public $StatementDocumentReference = null;

	/**
	 * cac:OriginatorDocumentReference, 0..*
	 *
	 * A reference to an originator document associated with this document.
	 * @var mixed
	 */
	public $OriginatorDocumentReference = null;

	/**
	 * cac:Signature, 0..*
	 *
	 * A signature applied to this document.
	 * @var mixed
	 */
	public $Signature = null;

	/**
	 * cac:AccountingSupplierParty, 1..1, MANDATORY tag
	 *
	 * The accounting supplier party.
	 * @var mixed
	 */
	public $AccountingSupplierParty = null;

	/**
	 * cac:AccountingCustomerParty, 1..1, MANDATORY tag
	 *
	 * The accounting customer party.
	 * @var mixed
	 */
	public $AccountingCustomerParty = null;

	/**
	 * cac:PayeeParty, 0..1, optional tag
	 *
	 * The payee.
	 * @var mixed
	 */
	public $PayeeParty = null;

	public $BuyerCustomerParty = null;

	public $SellerSupplierParty = null;

	/**
	 * cac:TaxRepresentativeParty, 0..1, optional tag
	 *
	 * The tax representative.
	 * @var mixed
	 */
	public $TaxRepresentativeParty = null;

	/**
	 * cac:Delivery, 0..*
	 *
	 * A delivery associated with this document.
	 * @var mixed
	 */
	public $Delivery = null;

	public $DeliveryTerms = null;

	/**
	 * cac:PaymentMeans, 0..*
	 *
	 * Expected means of payment.
	 * @var mixed
	 */
	public $PaymentMeans = null;

	/**
	 * cac:PaymentTerms, 0..*
	 *
	 * A set of payment terms associated with this document.
	 * @var mixed
	 */
	public $PaymentTerms = null;

	public $TaxExchangeRate = null;
	public $PricingExchangeRate = null;
	public $PaymentExchangeRate = null;
	public $PaymentAlternativeExchangeRate = null;

	/**
	 * cac:AllowanceCharge, 0..*
	 *
	 * A discount or charge that applies to a price component.
	 * @var mixed
	 */
	public $AllowanceCharge = null;

	/**
	 * cac:TaxTotal, 0..*
	 *
	 * The total amount of a specific type of tax.
	 * @var mixed
	 */
	public $TaxTotal = null;

	/**
	 * cac:LegalMonetaryTotal, 1..1, MANDATORY tag
	 *
	 * The total amount payable on the CreditNote, including Allowances, Charges, and Taxes.
	 * @var mixed
	 */
	public $LegalMonetaryTotal = null;

	/**
	 * cac:CreditNoteLine, 1..*
	 *
	 * A line describing a credit note item.
	 * @var mixed
	 */
	public $CreditNoteLine = null;

}
