using System.Xml.Serialization;

namespace Wayne.FDCPOSLibrary
{
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlRootAttribute(ElementName = "ServiceResponse", Namespace = "")]
    public partial class ServiceResponseBaseFuelSaleTrx : ServiceResponse
    {
        private ServiceResponseFDCdataBaseFuelSaleTrx[] FDCdataField;


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

        public ServiceResponseBaseFuelSaleTrx()
        {
            //RequestType = "BaseFuelSaleTrx";
        }
    }

    [System.SerializableAttribute()]
    public partial class ServiceResponseFDCdataBaseFuelSaleTrx
    {
        private string FDCTimeStampField;
        private ServiceResponseDeviceClassBaseFuelSaleTrx DeviceClassField;
        private string FDCStatusField;
        

        [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 ServiceResponseDeviceClassBaseFuelSaleTrx DeviceClass
        {
            get
            {
                return this.DeviceClassField;
            }
            set
            {
                this.DeviceClassField = value;
            }
        }

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


    [System.SerializableAttribute()]
    public partial class ServiceResponseDeviceClassBaseFuelSaleTrx
    {
        private string TypeField;
        private string DeviceIdField;
        private string PumpNoField;
        private string TransactionNoField; // v03 field
        private string TransactionSeqNoField; // v05 and next field
        private string StateField; // v05 only
        private string ReleaseTokenField; // extension field
        
        [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.XmlAttributeAttribute()]
        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.XmlAttributeAttribute()]
        public string ReleaseToken
        {
            get
            {
                return this.ReleaseTokenField;
            }
            set
            {
                this.ReleaseTokenField = value;
            }
        }

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