<?php
namespace ModulesAbstract\ElectronicInvoice\UBL21Structure;

/**
 * Price
 *
 * @see http://www.datypic.com/sc/ubl21/e-cac_Price.html
 */
class TypePrice extends AbstractPeppolElement
{

	/**
	 * cbc:PriceAmount, 1..1, MANDATORY tag
	 *
	 * The amount of the price.
	 * @var mixed
	 */
	public $PriceAmount = null;

	/**
	 * cbc:BaseQuantity, 0..1, optional tag
	 *
	 * The quantity at which this price applies.
	 * @var mixed
	 */
	public $BaseQuantity = null;

	/**
	 * cbc:PriceChangeReason, 0..*
	 *
	 * A reason for a price change.
	 * @var mixed
	 */
	public $PriceChangeReason = null;

	/**
	 * cbc:PriceTypeCode, 0..1, optional tag
	 *
	 * The type of price, expressed as a code.
	 * @var mixed
	 */
	public $PriceTypeCode = null;

	/**
	 * cbc:PriceType, 0..1, optional tag
	 *
	 * The type of price, expressed as text.
	 * @var mixed
	 */
	public $PriceType = null;

	/**
	 * cbc:OrderableUnitFactorRate, 0..1, optional tag
	 *
	 * The factor by which the base price unit can be converted to the orderable unit.
	 * @var mixed
	 */
	public $OrderableUnitFactorRate = null;

	/**
	 * cac:ValidityPeriod, 0..*
	 *
	 * A period during which this price is valid.
	 * @var mixed
	 */
	public $ValidityPeriod = null;

	/**
	 * cac:PriceList, 0..1, optional tag
	 *
	 * Information about a price list applicable to this price.
	 * @var mixed
	 */
	public $PriceList = null;

	/**
	 * cac:AllowanceCharge, 0..*
	 *
	 * An allowance or charge associated with this price.
	 * @var mixed
	 */
	public $AllowanceCharge = null;

	/**
	 * cac:PricingExchangeRate, 0..1, optional tag
	 *
	 * The exchange rate applicable to this price, if it differs from the exchange rate applicable to the document as a whole.
	 * @var mixed
	 */
	public $PricingExchangeRate = null;

}
