namespace Wayne.FDCPOSLibrary
{
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlRootAttribute(ElementName = "ServiceRequest", Namespace = "")]
    public partial class ServiceRequestOPTAdd : ServiceRequest
    {
        private ServiceRequestPOSdataOPTAdd[] pOSdataField;

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

        public ServiceRequestOPTAdd()
        {
            RequestType = "OPTAdd";
        }
    }

    [System.SerializableAttribute()]
    public partial class ServiceRequestPOSdataOPTAdd
    {
        private string pOSTimeStampField;
        private ServiceRequestDeviceClassOPTAdd DeviceClassField;


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

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

    }


    [System.SerializableAttribute()]
    public partial class ServiceRequestDeviceClassOPTAdd
    {
        private string TypeField;
        private string DeviceIdField;
        private ServiceRequestDeviceClassSerialPortOPTAdd serialPortField;
        private ServiceRequestDeviceClassTCPOPTAdd tcpField;

        [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.XmlElementAttribute("SerialPort", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public ServiceRequestDeviceClassSerialPortOPTAdd serialPort
        {
            get
            {
                return this.serialPortField;
            }
            set
            {
                this.serialPortField = value;
            }
        }

        [System.Xml.Serialization.XmlElementAttribute("TCP", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public ServiceRequestDeviceClassTCPOPTAdd tcp
        {
            get
            {
                return this.tcpField;
            }
            set
            {
                this.tcpField = value;
            }
        }
    }

    [System.SerializableAttribute()]
    public partial class ServiceRequestDeviceClassSerialPortOPTAdd
    {
        private string PortField;
        private string BaudRateField;
        private string DataBitField;
        private string StopBitField;
        private string ParityField;

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

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

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

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

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

    [System.SerializableAttribute()]
    public partial class ServiceRequestDeviceClassTCPOPTAdd
    {
        private string AddressField;
        private string PortField;

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

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