<?php
namespace ModulesAbstract\ElectronicInvoice\UBL21Structure;

/**
 * Consignment
 *
 * @see http://www.datypic.com/sc/ubl21/e-cac_Consignment.html
 */
class TypeConsignment extends AbstractPeppolElement
{

	/**
	 * cbc:ID, 1..1, MANDATORY tag
	 *
	 * An identifier assigned to a collection of goods for both import and export.
	 * @var mixed
	 */
	public $ID = null;

	/**
	 * cbc:CarrierAssignedID, 0..1, optional tag
	 *
	 * An identifier for this consignment, assigned by the carrier.
	 * @var mixed
	 */
	public $CarrierAssignedID = null;

	/**
	 * cbc:ConsigneeAssignedID, 0..1, optional tag
	 *
	 * An identifier for this consignment, assigned by the consignee.
	 * @var mixed
	 */
	public $ConsigneeAssignedID = null;

	/**
	 * cbc:ConsignorAssignedID, 0..1, optional tag
	 *
	 * An identifier for this consignment, assigned by the consignor.
	 * @var mixed
	 */
	public $ConsignorAssignedID = null;

	/**
	 * cbc:FreightForwarderAssignedID, 0..1, optional tag
	 *
	 * An identifier for this consignment, assigned by the freight forwarder.
	 * @var mixed
	 */
	public $FreightForwarderAssignedID = null;

	/**
	 * cbc:BrokerAssignedID, 0..1, optional tag
	 *
	 * An identifier for this consignment, assigned by the broker.
	 * @var mixed
	 */
	public $BrokerAssignedID = null;

	/**
	 * cbc:ContractedCarrierAssignedID, 0..1, optional tag
	 *
	 * An identifier for this consignment, assigned by the contracted carrier.
	 * @var mixed
	 */
	public $ContractedCarrierAssignedID = null;

	/**
	 * cbc:PerformingCarrierAssignedID, 0..1, optional tag
	 *
	 * An identifier for this consignment, assigned by the performing carrier.
	 * @var mixed
	 */
	public $PerformingCarrierAssignedID = null;

	/**
	 * cbc:SummaryDescription, 0..*
	 *
	 * A textual summary description of the consignment.
	 * @var mixed
	 */
	public $SummaryDescription = null;

	/**
	 * cbc:TotalInvoiceAmount, 0..1, optional tag
	 *
	 * The total of all invoice amounts declared in this consignment.
	 * @var mixed
	 */
	public $TotalInvoiceAmount = null;

	/**
	 * cbc:DeclaredCustomsValueAmount, 0..1, optional tag
	 *
	 * The total declared value for customs purposes of all the goods in this consignment, regardless of whether they are
	 *   subject to the same customs procedure, tariff/statistical categorization, country information, or duty regime.
	 * @var mixed
	 */
	public $DeclaredCustomsValueAmount = null;

	/**
	 * cbc:TariffDescription, 0..*
	 *
	 * Text describing the tariff applied to this consignment.
	 * @var mixed
	 */
	public $TariffDescription = null;

	/**
	 * cbc:TariffCode, 0..1, optional tag
	 *
	 * A code signifying the tariff applied to this consignment.
	 * @var mixed
	 */
	public $TariffCode = null;

	/**
	 * cbc:InsurancePremiumAmount, 0..1, optional tag
	 *
	 * The amount of the premium payable to an insurance company for insuring the goods contained in this consignment.
	 * @var mixed
	 */
	public $InsurancePremiumAmount = null;

	/**
	 * cbc:GrossWeightMeasure, 0..1, optional tag
	 *
	 * The total declared weight of the goods in this consignment, including packaging but excluding the carrier's equipment.
	 * @var mixed
	 */
	public $GrossWeightMeasure = null;

	/**
	 * cbc:NetWeightMeasure, 0..1, optional tag
	 *
	 * The total net weight of all the goods items referred to as one consignment.
	 * @var mixed
	 */
	public $NetWeightMeasure = null;

	/**
	 * cbc:NetNetWeightMeasure, 0..1, optional tag
	 *
	 * The total net weight of the goods in this consignment, exclusive of packaging.
	 * @var mixed
	 */
	public $NetNetWeightMeasure = null;

	/**
	 * cbc:ChargeableWeightMeasure, 0..1, optional tag
	 *
	 * The weight upon which a charge is to be based.
	 * @var mixed
	 */
	public $ChargeableWeightMeasure = null;

	/**
	 * cbc:GrossVolumeMeasure, 0..1, optional tag
	 *
	 * The total volume of the goods referred to as one consignment.
	 * @var mixed
	 */
	public $GrossVolumeMeasure = null;

	/**
	 * cbc:NetVolumeMeasure, 0..1, optional tag
	 *
	 * The total net volume of all goods items referred to as one consignment.
	 * @var mixed
	 */
	public $NetVolumeMeasure = null;

	/**
	 * cbc:LoadingLengthMeasure, 0..1, optional tag
	 *
	 * The total length in a means of transport or a piece of transport equipment which, given the width and height of the
	 *   transport means, will accommodate all of the consignments in a single consolidation.
	 * @var mixed
	 */
	public $LoadingLengthMeasure = null;

	/**
	 * cbc:Remarks, 0..*
	 *
	 * Remarks concerning the complete consignment, to be printed on the transport document.
	 * @var mixed
	 */
	public $Remarks = null;

	/**
	 * cbc:HazardousRiskIndicator, 0..1, optional tag
	 *
	 * An indication that the transported goods in this consignment are subject to an international regulation concerning the
	 *   carriage of dangerous goods (true) or not (false).
	 * @var mixed
	 */
	public $HazardousRiskIndicator = null;

	/**
	 * cbc:AnimalFoodIndicator, 0..1, optional tag
	 *
	 * An indication that the transported goods in this consignment are animal foodstuffs (true) or not (false).
	 * @var mixed
	 */
	public $AnimalFoodIndicator = null;

	/**
	 * cbc:HumanFoodIndicator, 0..1, optional tag
	 *
	 * An indication that the transported goods in this consignment are for human consumption (true) or not (false).
	 * @var mixed
	 */
	public $HumanFoodIndicator = null;

	/**
	 * cbc:LivestockIndicator, 0..1, optional tag
	 *
	 * An indication that the transported goods are livestock (true) or not (false).
	 * @var mixed
	 */
	public $LivestockIndicator = null;

	/**
	 * cbc:BulkCargoIndicator, 0..1, optional tag
	 *
	 * An indication that the transported goods in this consignment are bulk cargoes (true) or not (false).
	 * @var mixed
	 */
	public $BulkCargoIndicator = null;

	/**
	 * cbc:ContainerizedIndicator, 0..1, optional tag
	 *
	 * An indication that the transported goods in this consignment are containerized cargoes (true) or not (false).
	 * @var mixed
	 */
	public $ContainerizedIndicator = null;

	/**
	 * cbc:GeneralCargoIndicator, 0..1, optional tag
	 *
	 * An indication that the transported goods in this consignment are general cargoes (true) or not (false).
	 * @var mixed
	 */
	public $GeneralCargoIndicator = null;

	/**
	 * cbc:SpecialSecurityIndicator, 0..1, optional tag
	 *
	 * An indication that the transported goods in this consignment require special security (true) or not (false).
	 * @var mixed
	 */
	public $SpecialSecurityIndicator = null;

	/**
	 * cbc:ThirdPartyPayerIndicator, 0..1, optional tag
	 *
	 * An indication that this consignment will be paid for by a third party (true) or not (false).
	 * @var mixed
	 */
	public $ThirdPartyPayerIndicator = null;

	/**
	 * cbc:CarrierServiceInstructions, 0..*
	 *
	 * Service instructions to the carrier, expressed as text.
	 * @var mixed
	 */
	public $CarrierServiceInstructions = null;

	/**
	 * cbc:CustomsClearanceServiceInstructions, 0..*
	 *
	 * Service instructions for customs clearance, expressed as text.
	 * @var mixed
	 */
	public $CustomsClearanceServiceInstructions = null;

	/**
	 * cbc:ForwarderServiceInstructions, 0..*
	 *
	 * Service instructions for the forwarder, expressed as text.
	 * @var mixed
	 */
	public $ForwarderServiceInstructions = null;

	/**
	 * cbc:SpecialServiceInstructions, 0..*
	 *
	 * Special service instructions, expressed as text.
	 * @var mixed
	 */
	public $SpecialServiceInstructions = null;

	/**
	 * cbc:SequenceID, 0..1, optional tag
	 *
	 * A sequence identifier for this consignment.
	 * @var mixed
	 */
	public $SequenceID = null;

	/**
	 * cbc:ShippingPriorityLevelCode, 0..1, optional tag
	 *
	 * A code signifying the priority or level of service required for this consignment.
	 * @var mixed
	 */
	public $ShippingPriorityLevelCode = null;

	/**
	 * cbc:HandlingCode, 0..1, optional tag
	 *
	 * The handling required for this consignment, expressed as a code.
	 * @var mixed
	 */
	public $HandlingCode = null;

	/**
	 * cbc:HandlingInstructions, 0..*
	 *
	 * The handling required for this consignment, expressed as text.
	 * @var mixed
	 */
	public $HandlingInstructions = null;

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

	/**
	 * cbc:TotalGoodsItemQuantity, 0..1, optional tag
	 *
	 * The total number of goods items in this consignment.
	 * @var mixed
	 */
	public $TotalGoodsItemQuantity = null;

	/**
	 * cbc:TotalTransportHandlingUnitQuantity, 0..1, optional tag
	 *
	 * The number of pieces of transport handling equipment (pallets, boxes, cases, etc.) in this consignment.
	 * @var mixed
	 */
	public $TotalTransportHandlingUnitQuantity = null;

	/**
	 * cbc:InsuranceValueAmount, 0..1, optional tag
	 *
	 * The amount covered by insurance for this consignment.
	 * @var mixed
	 */
	public $InsuranceValueAmount = null;

	/**
	 * cbc:DeclaredForCarriageValueAmount, 0..1, optional tag
	 *
	 * The value of this consignment, declared by the shipper or his agent solely for the purpose of varying the carrier's
	 *   level of liability from that provided in the contract of carriage, in case of loss or damage to goods or delayed
	 *   delivery.
	 * @var mixed
	 */
	public $DeclaredForCarriageValueAmount = null;

	/**
	 * cbc:DeclaredStatisticsValueAmount, 0..1, optional tag
	 *
	 * The value, declared for statistical purposes, of those goods in this consignment that have the same statistical heading.
	 * @var mixed
	 */
	public $DeclaredStatisticsValueAmount = null;

	/**
	 * cbc:FreeOnBoardValueAmount, 0..1, optional tag
	 *
	 * The monetary amount that has to be or has been paid as calculated under the applicable trade delivery.
	 * @var mixed
	 */
	public $FreeOnBoardValueAmount = null;

	/**
	 * cbc:SpecialInstructions, 0..*
	 *
	 * Special instructions relating to this consignment.
	 * @var mixed
	 */
	public $SpecialInstructions = null;

	/**
	 * cbc:SplitConsignmentIndicator, 0..1, optional tag
	 *
	 * An indicator that this consignment has been split in transit (true) or not (false).
	 * @var mixed
	 */
	public $SplitConsignmentIndicator = null;

	/**
	 * cbc:DeliveryInstructions, 0..*
	 *
	 * A set of delivery instructions relating to this consignment.
	 * @var mixed
	 */
	public $DeliveryInstructions = null;

	/**
	 * cbc:ConsignmentQuantity, 0..1, optional tag
	 *
	 * The count in this consignment considering goods items, child consignments, shipments
	 * @var mixed
	 */
	public $ConsignmentQuantity = null;

	/**
	 * cbc:ConsolidatableIndicator, 0..1, optional tag
	 *
	 * An indicator that this consignment can be consolidated (true) or not (false).
	 * @var mixed
	 */
	public $ConsolidatableIndicator = null;

	/**
	 * cbc:HaulageInstructions, 0..*
	 *
	 * Instructions regarding haulage of this consignment, expressed as text.
	 * @var mixed
	 */
	public $HaulageInstructions = null;

	/**
	 * cbc:LoadingSequenceID, 0..1, optional tag
	 *
	 * An identifier for the loading sequence of this consignment.
	 * @var mixed
	 */
	public $LoadingSequenceID = null;

	/**
	 * cbc:ChildConsignmentQuantity, 0..1, optional tag
	 *
	 * The quantity of (consolidated) child consignments
	 * @var mixed
	 */
	public $ChildConsignmentQuantity = null;

	/**
	 * cbc:TotalPackagesQuantity, 0..1, optional tag
	 *
	 * The total number of packages associated with a Consignment.
	 * @var mixed
	 */
	public $TotalPackagesQuantity = null;

	/**
	 * cac:ConsolidatedShipment, 0..*
	 *
	 * A consolidated shipment (a shipment created by an act of consolidation).
	 * @var mixed
	 */
	public $ConsolidatedShipment = null;

	/**
	 * cac:CustomsDeclaration, 0..*
	 *
	 * A class describing identifiers or references relating to customs procedures.
	 * @var mixed
	 */
	public $CustomsDeclaration = null;

	/**
	 * cac:RequestedPickupTransportEvent, 0..1, optional tag
	 *
	 * The pickup of this consignment requested by the party requesting a transportation service (the transport user).
	 * @var mixed
	 */
	public $RequestedPickupTransportEvent = null;

	/**
	 * cac:RequestedDeliveryTransportEvent, 0..1, optional tag
	 *
	 * The delivery of this consignment requested by the party requesting a transportation service (the transport user).
	 * @var mixed
	 */
	public $RequestedDeliveryTransportEvent = null;

	/**
	 * cac:PlannedPickupTransportEvent, 0..1, optional tag
	 *
	 * The pickup of this consignment planned by the party responsible for providing the transportation service (the transport
	 *   service provider).
	 * @var mixed
	 */
	public $PlannedPickupTransportEvent = null;

	/**
	 * cac:PlannedDeliveryTransportEvent, 0..1, optional tag
	 *
	 * The delivery of this consignment planned by the party responsible for providing the transportation service (the
	 *   transport service provider).
	 * @var mixed
	 */
	public $PlannedDeliveryTransportEvent = null;

	/**
	 * cac:Status, 0..*
	 *
	 * The status of a particular condition associated with this consignment.
	 * @var mixed
	 */
	public $Status = null;

	/**
	 * cac:ChildConsignment, 0..*
	 *
	 * One of the child consignments of which a consolidated consignment is composed.
	 * @var mixed
	 */
	public $ChildConsignment = null;

	/**
	 * cac:ConsigneeParty, 0..1, optional tag
	 *
	 * A party to which goods are consigned.
	 * @var mixed
	 */
	public $ConsigneeParty = null;

	/**
	 * cac:ExporterParty, 0..1, optional tag
	 *
	 * The party that makes the export declaration, or on behalf of which the export declaration is made, and that is the owner
	 *   of the goods in this consignment or has similar right of disposal over them at the time when the declaration is
	 *   accepted.
	 * @var mixed
	 */
	public $ExporterParty = null;

	/**
	 * cac:ConsignorParty, 0..1, optional tag
	 *
	 * The party consigning goods, as stipulated in the transport contract by the party ordering transport.
	 * @var mixed
	 */
	public $ConsignorParty = null;

	/**
	 * cac:ImporterParty, 0..1, optional tag
	 *
	 * The party that makes an import declaration regarding this consignment, or on behalf of which a customs clearing agent or
	 *   other authorized person makes an import declaration regarding this consignment. This may include a person who has
	 *   possession of the goods or to whom the goods are consigned.
	 * @var mixed
	 */
	public $ImporterParty = null;

	/**
	 * cac:CarrierParty, 0..1, optional tag
	 *
	 * The party providing the transport of goods in this consignment between named points.
	 * @var mixed
	 */
	public $CarrierParty = null;

	/**
	 * cac:FreightForwarderParty, 0..1, optional tag
	 *
	 * The party combining individual smaller consignments into a single larger shipment (the consolidated shipment), which is
	 *   sent to a counterpart that mirrors the consolidator's activity by dividing the consolidated consignment into its
	 *   original components.
	 * @var mixed
	 */
	public $FreightForwarderParty = null;

	/**
	 * cac:NotifyParty, 0..1, optional tag
	 *
	 * The party to be notified upon arrival of goods and when special occurrences (usually pre-defined) take place during a
	 *   transportation service.
	 * @var mixed
	 */
	public $NotifyParty = null;

	/**
	 * cac:OriginalDespatchParty, 0..1, optional tag
	 *
	 * The original despatch (sender) party for this consignment.
	 * @var mixed
	 */
	public $OriginalDespatchParty = null;

	/**
	 * cac:FinalDeliveryParty, 0..1, optional tag
	 *
	 * The final delivery party for this consignment.
	 * @var mixed
	 */
	public $FinalDeliveryParty = null;

	/**
	 * cac:PerformingCarrierParty, 0..1, optional tag
	 *
	 * The party performing the carriage of this consignment.
	 * @var mixed
	 */
	public $PerformingCarrierParty = null;

	/**
	 * cac:SubstituteCarrierParty, 0..1, optional tag
	 *
	 * A substitute party performing the carriage of this consignment.
	 * @var mixed
	 */
	public $SubstituteCarrierParty = null;

	/**
	 * cac:LogisticsOperatorParty, 0..1, optional tag
	 *
	 * The logistics operator party for this consignment.
	 * @var mixed
	 */
	public $LogisticsOperatorParty = null;

	/**
	 * cac:TransportAdvisorParty, 0..1, optional tag
	 *
	 * The party providing transport advice this consignment.
	 * @var mixed
	 */
	public $TransportAdvisorParty = null;

	/**
	 * cac:HazardousItemNotificationParty, 0..1, optional tag
	 *
	 * The party that would be notified of a hazardous item in this consignment.
	 * @var mixed
	 */
	public $HazardousItemNotificationParty = null;

	/**
	 * cac:InsuranceParty, 0..1, optional tag
	 *
	 * The party holding the insurance for this consignment.
	 * @var mixed
	 */
	public $InsuranceParty = null;

	/**
	 * cac:MortgageHolderParty, 0..1, optional tag
	 *
	 * The party holding the mortgage for this consignment.
	 * @var mixed
	 */
	public $MortgageHolderParty = null;

	/**
	 * cac:BillOfLadingHolderParty, 0..1, optional tag
	 *
	 * The party holding the bill of lading for this consignment.
	 * @var mixed
	 */
	public $BillOfLadingHolderParty = null;

	/**
	 * cac:OriginalDepartureCountry, 0..1, optional tag
	 *
	 * The country from which the goods in this consignment were originally exported, without any commercial transaction taking
	 *   place in intermediate countries.
	 * @var mixed
	 */
	public $OriginalDepartureCountry = null;

	/**
	 * cac:FinalDestinationCountry, 0..1, optional tag
	 *
	 * The country in which the goods in this consignment are to be delivered to the final consignee or buyer.
	 * @var mixed
	 */
	public $FinalDestinationCountry = null;

	/**
	 * cac:TransitCountry, 0..*
	 *
	 * One of the countries through which goods or passengers in this consignment are routed between the country of original
	 *   departure and the country of final destination.
	 * @var mixed
	 */
	public $TransitCountry = null;

	/**
	 * cac:TransportContract, 0..1, optional tag
	 *
	 * A transport contract relating to this consignment.
	 * @var mixed
	 */
	public $TransportContract = null;

	/**
	 * cac:TransportEvent, 0..*
	 *
	 * A class describing a significant occurrence or happening related to the transportation of goods.
	 * @var mixed
	 */
	public $TransportEvent = null;

	/**
	 * cac:OriginalDespatchTransportationService, 0..1, optional tag
	 *
	 * The service for pickup from the consignor under the transport contract for this consignment.
	 * @var mixed
	 */
	public $OriginalDespatchTransportationService = null;

	/**
	 * cac:FinalDeliveryTransportationService, 0..1, optional tag
	 *
	 * The service for delivery to the consignee under the transport contract for this consignment.
	 * @var mixed
	 */
	public $FinalDeliveryTransportationService = null;

	/**
	 * cac:DeliveryTerms, 0..1, optional tag
	 *
	 * The conditions agreed upon between a seller and a buyer with regard to the delivery of goods and/or services (e.g., CIF,
	 *   FOB, or EXW from the INCOTERMS Terms of Delivery).
	 * @var mixed
	 */
	public $DeliveryTerms = null;

	/**
	 * cac:PaymentTerms, 0..1, optional tag
	 *
	 * The terms of payment between the parties (such as logistics service client, logistics service provider) in a
	 *   transaction.
	 * @var mixed
	 */
	public $PaymentTerms = null;

	/**
	 * cac:CollectPaymentTerms, 0..1, optional tag
	 *
	 * The terms of payment that apply to the collection of this consignment.
	 * @var mixed
	 */
	public $CollectPaymentTerms = null;

	/**
	 * cac:DisbursementPaymentTerms, 0..1, optional tag
	 *
	 * The terms of payment for disbursement.
	 * @var mixed
	 */
	public $DisbursementPaymentTerms = null;

	/**
	 * cac:PrepaidPaymentTerms, 0..1, optional tag
	 *
	 * The terms of payment for prepayment.
	 * @var mixed
	 */
	public $PrepaidPaymentTerms = null;

	/**
	 * cac:FreightAllowanceCharge, 0..*
	 *
	 * A cost incurred by the shipper in moving goods, by whatever means, from one place to another under the terms of the
	 *   contract of carriage for this consignment. In addition to transport costs, this may include such elements as packing,
	 *   documentation, loading, unloading, and insurance to the extent that they relate to the freight costs.
	 * @var mixed
	 */
	public $FreightAllowanceCharge = null;

	/**
	 * cac:ExtraAllowanceCharge, 0..*
	 *
	 * A charge for extra allowance.
	 * @var mixed
	 */
	public $ExtraAllowanceCharge = null;

	/**
	 * cac:MainCarriageShipmentStage, 0..*
	 *
	 * A shipment stage during main carriage.
	 * @var mixed
	 */
	public $MainCarriageShipmentStage = null;

	/**
	 * cac:PreCarriageShipmentStage, 0..*
	 *
	 * A shipment stage during precarriage (usually refers to movement activity that takes place prior to the container being
	 *   loaded at a port of loading).
	 * @var mixed
	 */
	public $PreCarriageShipmentStage = null;

	/**
	 * cac:OnCarriageShipmentStage, 0..*
	 *
	 * A shipment stage during on-carriage (usually refers to movement activity that takes place after the container is
	 *   discharged at a port of discharge).
	 * @var mixed
	 */
	public $OnCarriageShipmentStage = null;

	/**
	 * cac:TransportHandlingUnit, 0..*
	 *
	 * A transport handling unit used for loose and containerized goods.
	 * @var mixed
	 */
	public $TransportHandlingUnit = null;

	/**
	 * cac:FirstArrivalPortLocation, 0..1, optional tag
	 *
	 * The first arrival location in a transport. This would be a port for sea, an airport for air, a terminal for rail, or a
	 *   border post for land crossing.
	 * @var mixed
	 */
	public $FirstArrivalPortLocation = null;

	/**
	 * cac:LastExitPortLocation, 0..1, optional tag
	 *
	 * The final exporting location in a transport. This would be a port for sea, an airport for air, a terminal for rail, or a
	 *   border post for land crossing.
	 * @var mixed
	 */
	public $LastExitPortLocation = null;

}
