using System.Xml.Serialization;

namespace Wayne.FDCPOSLibrary
{
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlRootAttribute(ElementName = "FDCMessage", Namespace = "")]
    public partial class FDCMessageCurrentFuellingStatus : FDCMessage
    {
        private FDCMessageFDCdataCurrentFuellingStatus[] fDCdataField;

        [System.Xml.Serialization.XmlElementAttribute("FDCdata", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public FDCMessageFDCdataCurrentFuellingStatus[] FDCdata
        {
            get
            {
                return this.fDCdataField;
            }
            set
            {
                this.fDCdataField = value;
            }
        }

        public FDCMessageCurrentFuellingStatus()
        {
            this.MessageType = "CurrentFuellingStatus";
        }
    }


    [System.SerializableAttribute()]
    public partial class FDCMessageFDCdataCurrentFuellingStatus
    {
        private string FDCTimeStampField;
        private FDCMessageDeviceClassCurrentFuellingStatus[] DeviceClassField;
        //private FDCMessageDeviceClass[] DeviceClassField;
        
        
        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string FDCTimeStamp
        {
            get
            {
                return this.FDCTimeStampField;
            }
            set
            {
                this.FDCTimeStampField = value;
            }
        }
        
        [System.Xml.Serialization.XmlElementAttribute("DeviceClass", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public FDCMessageDeviceClassCurrentFuellingStatus[] DeviceClass
        //public FDCMessageDeviceClass[] DeviceClass
        {
            get
            {
                return this.DeviceClassField;
            }
            set
            {
                this.DeviceClassField = value;
            }
        }
    }

    [System.SerializableAttribute()]
    public partial class FDCMessageDeviceClassCurrentFuellingStatus
    {
        private string TypeField;
        private string DeviceIdField;
        private string PumpNoField;
        private string TransactionNoField; // v03 field
        private string TransactionSeqNoField; // v05 and next field
        private FuelModeElementClass FuelModeField; 
        private string CurrentAmountField; // v03 field
        private string CurrentVolumeField; // v03 field
        private string CurrentNozzleNoField; // v03 field
        private string CurrentUnitPriceField; // v03 field
        private string AmountField;
        private string VolumeField;
        private string NozzleNoField;
        private string UnitPriceField;
        private string ReleaseTokenField;
        private string VolumeProduct1Field;
        private string VolumeProduct2Field;
        private string Product1NoField;
        private string Product2NoField;
        private string BlendRatioField;


        
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Type
        {
            get
            {
                return this.TypeField;
            }
            set
            {
                this.TypeField = value;
            }
        }

        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DeviceID
        {
            get
            {
                return this.DeviceIdField;
            }
            set
            {
                this.DeviceIdField = value;
            }
        }

        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string PumpNo
        {
            get
            {
                return this.PumpNoField;
            }
            set
            {
                this.PumpNoField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string TransactionNo
        {
            get
            {
                return this.TransactionNoField;
            }
            set
            {
                this.TransactionNoField = value;
            }
        }

        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TransactionSeqNo
        {
            get
            {
                return this.TransactionSeqNoField;
            }
            set
            {
                this.TransactionSeqNoField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute("FuelMode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public FuelModeElementClass FuelMode
        {
            get
            {
                return this.FuelModeField;
            }
            set
            {
                this.FuelModeField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string CurrentAmount
        {
            get
            {
                return this.CurrentAmountField;
            }
            set
            {
                this.CurrentAmountField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string CurrentVolume
        {
            get
            {
                return this.CurrentVolumeField;
            }
            set
            {
                this.CurrentVolumeField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string CurrentNozzleNo
        {
            get
            {
                return this.CurrentNozzleNoField;
            }
            set
            {
                this.CurrentNozzleNoField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string CurrentUnitPrice
        {
            get
            {
                return this.CurrentUnitPriceField;
            }
            set
            {
                this.CurrentUnitPriceField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string Amount
        {
            get
            {
                return this.AmountField;
            }
            set
            {
                this.AmountField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string Volume
        {
            get
            {
                return this.VolumeField;
            }
            set
            {
                this.VolumeField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string NozzleNo
        {
            get
            {
                return this.NozzleNoField;
            }
            set
            {
                this.NozzleNoField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string UnitPrice
        {
            get
            {
                return this.UnitPriceField;
            }
            set
            {
                this.UnitPriceField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string ReleaseToken
        {
            get
            {
                return this.ReleaseTokenField;
            }
            set
            {
                this.ReleaseTokenField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string VolumeProduct1
        {
            get
            {
                return this.VolumeProduct1Field;
            }
            set
            {
                this.VolumeProduct1Field = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string VolumeProduct2
        {
            get
            {
                return this.VolumeProduct2Field;
            }
            set
            {
                this.VolumeProduct2Field = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string Product1No
        {
            get
            {
                return this.Product1NoField;
            }
            set
            {
                this.Product1NoField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string Product2No
        {
            get
            {
                return this.Product2NoField;
            }
            set
            {
                this.Product2NoField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string BlendRatio
        {
            get
            {
                return this.BlendRatioField;
            }
            set
            {
                this.BlendRatioField = value;
            }
        }
    }
}