//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace POSRetail.RapiBac
{
    using System.Runtime.Serialization;
    using System;


    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "GetTransactionsRequest", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class GetTransactionsRequest : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private POSRetail.RapiBac.GetTransactionsRequestHeader HeaderField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public POSRetail.RapiBac.GetTransactionsRequestHeader Header
        {
            get
            {
                return this.HeaderField;
            }
            set
            {
                if ((object.ReferenceEquals(this.HeaderField, value) != true))
                {
                    this.HeaderField = value;
                    this.RaisePropertyChanged("Header");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "GetTransactionsRequestHeader", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class GetTransactionsRequestHeader : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private string TerminalNumberField;

        private POSRetail.RapiBac.clsCnbCredentials CredentialsField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public string TerminalNumber
        {
            get
            {
                return this.TerminalNumberField;
            }
            set
            {
                if ((object.ReferenceEquals(this.TerminalNumberField, value) != true))
                {
                    this.TerminalNumberField = value;
                    this.RaisePropertyChanged("TerminalNumber");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true, Order = 1)]
        public POSRetail.RapiBac.clsCnbCredentials Credentials
        {
            get
            {
                return this.CredentialsField;
            }
            set
            {
                if ((object.ReferenceEquals(this.CredentialsField, value) != true))
                {
                    this.CredentialsField = value;
                    this.RaisePropertyChanged("Credentials");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "clsCnbCredentials", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class clsCnbCredentials : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private string UsernameField;

        private string PasswordField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public string Username
        {
            get
            {
                return this.UsernameField;
            }
            set
            {
                if ((object.ReferenceEquals(this.UsernameField, value) != true))
                {
                    this.UsernameField = value;
                    this.RaisePropertyChanged("Username");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true, Order = 1)]
        public string Password
        {
            get
            {
                return this.PasswordField;
            }
            set
            {
                if ((object.ReferenceEquals(this.PasswordField, value) != true))
                {
                    this.PasswordField = value;
                    this.RaisePropertyChanged("Password");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "GetTransactionsResponse", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class GetTransactionsResponse : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.GetTransactionsResponseHeader HeaderField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.GetTransactionsResponseContent ContentField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public POSRetail.RapiBac.GetTransactionsResponseHeader Header
        {
            get
            {
                return this.HeaderField;
            }
            set
            {
                if ((object.ReferenceEquals(this.HeaderField, value) != true))
                {
                    this.HeaderField = value;
                    this.RaisePropertyChanged("Header");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(Order = 1)]
        public POSRetail.RapiBac.GetTransactionsResponseContent Content
        {
            get
            {
                return this.ContentField;
            }
            set
            {
                if ((object.ReferenceEquals(this.ContentField, value) != true))
                {
                    this.ContentField = value;
                    this.RaisePropertyChanged("Content");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "GetTransactionsResponseHeader", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class GetTransactionsResponseHeader : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private POSRetail.RapiBac.ResponseType StatusField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public POSRetail.RapiBac.ResponseType Status
        {
            get
            {
                return this.StatusField;
            }
            set
            {
                if ((this.StatusField.Equals(value) != true))
                {
                    this.StatusField = value;
                    this.RaisePropertyChanged("Status");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 1)]
        public string Description
        {
            get
            {
                return this.DescriptionField;
            }
            set
            {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
                {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "GetTransactionsResponseContent", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class GetTransactionsResponseContent : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.Transaction[] TransactionsField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.Configuracion ConfigurationField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public POSRetail.RapiBac.Transaction[] Transactions
        {
            get
            {
                return this.TransactionsField;
            }
            set
            {
                if ((object.ReferenceEquals(this.TransactionsField, value) != true))
                {
                    this.TransactionsField = value;
                    this.RaisePropertyChanged("Transactions");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 1)]
        public POSRetail.RapiBac.Configuracion Configuration
        {
            get
            {
                return this.ConfigurationField;
            }
            set
            {
                if ((object.ReferenceEquals(this.ConfigurationField, value) != true))
                {
                    this.ConfigurationField = value;
                    this.RaisePropertyChanged("Configuration");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "ResponseType", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    public enum ResponseType : int
    {

        [System.Runtime.Serialization.EnumMemberAttribute()]
        Success = 1,

        [System.Runtime.Serialization.EnumMemberAttribute()]
        InternalError = 2,

        [System.Runtime.Serialization.EnumMemberAttribute()]
        AuthenticationError = 3,

        [System.Runtime.Serialization.EnumMemberAttribute()]
        CommunicationError = 4,

        [System.Runtime.Serialization.EnumMemberAttribute()]
        HostError = 5,
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "Configuracion", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class Configuracion : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool CheckLastDigitsField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CurrencyCharField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CurrencyCodeField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DisplayLine1Field;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DisplayLine2Field;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int MsDUKPTIndexField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int MsMkIndexField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string MsWkField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int PinpadTimeoutField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public bool CheckLastDigits
        {
            get
            {
                return this.CheckLastDigitsField;
            }
            set
            {
                if ((this.CheckLastDigitsField.Equals(value) != true))
                {
                    this.CheckLastDigitsField = value;
                    this.RaisePropertyChanged("CheckLastDigits");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public string CurrencyChar
        {
            get
            {
                return this.CurrencyCharField;
            }
            set
            {
                if ((object.ReferenceEquals(this.CurrencyCharField, value) != true))
                {
                    this.CurrencyCharField = value;
                    this.RaisePropertyChanged("CurrencyChar");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public int CurrencyCode
        {
            get
            {
                return this.CurrencyCodeField;
            }
            set
            {
                if ((this.CurrencyCodeField.Equals(value) != true))
                {
                    this.CurrencyCodeField = value;
                    this.RaisePropertyChanged("CurrencyCode");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public string DisplayLine1
        {
            get
            {
                return this.DisplayLine1Field;
            }
            set
            {
                if ((object.ReferenceEquals(this.DisplayLine1Field, value) != true))
                {
                    this.DisplayLine1Field = value;
                    this.RaisePropertyChanged("DisplayLine1");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public string DisplayLine2
        {
            get
            {
                return this.DisplayLine2Field;
            }
            set
            {
                if ((object.ReferenceEquals(this.DisplayLine2Field, value) != true))
                {
                    this.DisplayLine2Field = value;
                    this.RaisePropertyChanged("DisplayLine2");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public int MsDUKPTIndex
        {
            get
            {
                return this.MsDUKPTIndexField;
            }
            set
            {
                if ((this.MsDUKPTIndexField.Equals(value) != true))
                {
                    this.MsDUKPTIndexField = value;
                    this.RaisePropertyChanged("MsDUKPTIndex");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public int MsMkIndex
        {
            get
            {
                return this.MsMkIndexField;
            }
            set
            {
                if ((this.MsMkIndexField.Equals(value) != true))
                {
                    this.MsMkIndexField = value;
                    this.RaisePropertyChanged("MsMkIndex");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public string MsWk
        {
            get
            {
                return this.MsWkField;
            }
            set
            {
                if ((object.ReferenceEquals(this.MsWkField, value) != true))
                {
                    this.MsWkField = value;
                    this.RaisePropertyChanged("MsWk");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public int PinpadTimeout
        {
            get
            {
                return this.PinpadTimeoutField;
            }
            set
            {
                if ((this.PinpadTimeoutField.Equals(value) != true))
                {
                    this.PinpadTimeoutField = value;
                    this.RaisePropertyChanged("PinpadTimeout");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "Transaction", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class Transaction : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.Detalle DetailField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.Field[] FieldsField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public POSRetail.RapiBac.Detalle Detail
        {
            get
            {
                return this.DetailField;
            }
            set
            {
                if ((object.ReferenceEquals(this.DetailField, value) != true))
                {
                    this.DetailField = value;
                    this.RaisePropertyChanged("Detail");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public POSRetail.RapiBac.Field[] Fields
        {
            get
            {
                return this.FieldsField;
            }
            set
            {
                if ((object.ReferenceEquals(this.FieldsField, value) != true))
                {
                    this.FieldsField = value;
                    this.RaisePropertyChanged("Fields");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "Detalle", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class Detalle : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private int IdField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CodeField;

        private string NameField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string IntegratedField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int SequenceField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TypeField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public int Id
        {
            get
            {
                return this.IdField;
            }
            set
            {
                if ((this.IdField.Equals(value) != true))
                {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 1)]
        public string Code
        {
            get
            {
                return this.CodeField;
            }
            set
            {
                if ((object.ReferenceEquals(this.CodeField, value) != true))
                {
                    this.CodeField = value;
                    this.RaisePropertyChanged("Code");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true, Order = 2)]
        public string Name
        {
            get
            {
                return this.NameField;
            }
            set
            {
                if ((object.ReferenceEquals(this.NameField, value) != true))
                {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
        public string Description
        {
            get
            {
                return this.DescriptionField;
            }
            set
            {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
                {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(Order = 4)]
        public string Integrated
        {
            get
            {
                return this.IntegratedField;
            }
            set
            {
                if ((object.ReferenceEquals(this.IntegratedField, value) != true))
                {
                    this.IntegratedField = value;
                    this.RaisePropertyChanged("Integrated");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(Order = 5)]
        public int Sequence
        {
            get
            {
                return this.SequenceField;
            }
            set
            {
                if ((this.SequenceField.Equals(value) != true))
                {
                    this.SequenceField = value;
                    this.RaisePropertyChanged("Sequence");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(Order = 6)]
        public string Type
        {
            get
            {
                return this.TypeField;
            }
            set
            {
                if ((object.ReferenceEquals(this.TypeField, value) != true))
                {
                    this.TypeField = value;
                    this.RaisePropertyChanged("Type");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "Field", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class Field : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private int IdField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TagField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ContentTagField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string XmlTagField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string MandatoryField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string GeneratedModeField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ActionField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ValueField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CategoryField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CodeField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ExpirationDateField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int OrderField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TypeField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string LabelField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string[] OptionsField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public int Id
        {
            get
            {
                return this.IdField;
            }
            set
            {
                if ((this.IdField.Equals(value) != true))
                {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public string Name
        {
            get
            {
                return this.NameField;
            }
            set
            {
                if ((object.ReferenceEquals(this.NameField, value) != true))
                {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public string Tag
        {
            get
            {
                return this.TagField;
            }
            set
            {
                if ((object.ReferenceEquals(this.TagField, value) != true))
                {
                    this.TagField = value;
                    this.RaisePropertyChanged("Tag");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
        public string ContentTag
        {
            get
            {
                return this.ContentTagField;
            }
            set
            {
                if ((object.ReferenceEquals(this.ContentTagField, value) != true))
                {
                    this.ContentTagField = value;
                    this.RaisePropertyChanged("ContentTag");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
        public string XmlTag
        {
            get
            {
                return this.XmlTagField;
            }
            set
            {
                if ((object.ReferenceEquals(this.XmlTagField, value) != true))
                {
                    this.XmlTagField = value;
                    this.RaisePropertyChanged("XmlTag");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 5)]
        public string Mandatory
        {
            get
            {
                return this.MandatoryField;
            }
            set
            {
                if ((object.ReferenceEquals(this.MandatoryField, value) != true))
                {
                    this.MandatoryField = value;
                    this.RaisePropertyChanged("Mandatory");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 6)]
        public string GeneratedMode
        {
            get
            {
                return this.GeneratedModeField;
            }
            set
            {
                if ((object.ReferenceEquals(this.GeneratedModeField, value) != true))
                {
                    this.GeneratedModeField = value;
                    this.RaisePropertyChanged("GeneratedMode");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 7)]
        public string Action
        {
            get
            {
                return this.ActionField;
            }
            set
            {
                if ((object.ReferenceEquals(this.ActionField, value) != true))
                {
                    this.ActionField = value;
                    this.RaisePropertyChanged("Action");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 8)]
        public string Value
        {
            get
            {
                return this.ValueField;
            }
            set
            {
                if ((object.ReferenceEquals(this.ValueField, value) != true))
                {
                    this.ValueField = value;
                    this.RaisePropertyChanged("Value");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 9)]
        public string Category
        {
            get
            {
                return this.CategoryField;
            }
            set
            {
                if ((object.ReferenceEquals(this.CategoryField, value) != true))
                {
                    this.CategoryField = value;
                    this.RaisePropertyChanged("Category");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 10)]
        public string Code
        {
            get
            {
                return this.CodeField;
            }
            set
            {
                if ((object.ReferenceEquals(this.CodeField, value) != true))
                {
                    this.CodeField = value;
                    this.RaisePropertyChanged("Code");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 11)]
        public string ExpirationDate
        {
            get
            {
                return this.ExpirationDateField;
            }
            set
            {
                if ((object.ReferenceEquals(this.ExpirationDateField, value) != true))
                {
                    this.ExpirationDateField = value;
                    this.RaisePropertyChanged("ExpirationDate");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 12)]
        public int Order
        {
            get
            {
                return this.OrderField;
            }
            set
            {
                if ((this.OrderField.Equals(value) != true))
                {
                    this.OrderField = value;
                    this.RaisePropertyChanged("Order");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 13)]
        public string Type
        {
            get
            {
                return this.TypeField;
            }
            set
            {
                if ((object.ReferenceEquals(this.TypeField, value) != true))
                {
                    this.TypeField = value;
                    this.RaisePropertyChanged("Type");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 14)]
        public string Label
        {
            get
            {
                return this.LabelField;
            }
            set
            {
                if ((object.ReferenceEquals(this.LabelField, value) != true))
                {
                    this.LabelField = value;
                    this.RaisePropertyChanged("Label");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 15)]
        public string[] Options
        {
            get
            {
                return this.OptionsField;
            }
            set
            {
                if ((object.ReferenceEquals(this.OptionsField, value) != true))
                {
                    this.OptionsField = value;
                    this.RaisePropertyChanged("Options");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "ExecuteTransactionsRequest", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class ExecuteTransactionsRequest : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private POSRetail.RapiBac.ExecuteTransactionsRequestHeader HeaderField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.ExecuteTransactionsRequestContent ContentField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public POSRetail.RapiBac.ExecuteTransactionsRequestHeader Header
        {
            get
            {
                return this.HeaderField;
            }
            set
            {
                if ((object.ReferenceEquals(this.HeaderField, value) != true))
                {
                    this.HeaderField = value;
                    this.RaisePropertyChanged("Header");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 1)]
        public POSRetail.RapiBac.ExecuteTransactionsRequestContent Content
        {
            get
            {
                return this.ContentField;
            }
            set
            {
                if ((object.ReferenceEquals(this.ContentField, value) != true))
                {
                    this.ContentField = value;
                    this.RaisePropertyChanged("Content");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "ExecuteTransactionsRequestHeader", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class ExecuteTransactionsRequestHeader : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private string TerminalNumberField;

        private POSRetail.RapiBac.Detalle TransactionField;

        private POSRetail.RapiBac.clsCnbCredentials CredentialsField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public string TerminalNumber
        {
            get
            {
                return this.TerminalNumberField;
            }
            set
            {
                if ((object.ReferenceEquals(this.TerminalNumberField, value) != true))
                {
                    this.TerminalNumberField = value;
                    this.RaisePropertyChanged("TerminalNumber");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public POSRetail.RapiBac.Detalle Transaction
        {
            get
            {
                return this.TransactionField;
            }
            set
            {
                if ((object.ReferenceEquals(this.TransactionField, value) != true))
                {
                    this.TransactionField = value;
                    this.RaisePropertyChanged("Transaction");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true, Order = 2)]
        public POSRetail.RapiBac.clsCnbCredentials Credentials
        {
            get
            {
                return this.CredentialsField;
            }
            set
            {
                if ((object.ReferenceEquals(this.CredentialsField, value) != true))
                {
                    this.CredentialsField = value;
                    this.RaisePropertyChanged("Credentials");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "ExecuteTransactionsRequestContent", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class ExecuteTransactionsRequestContent : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private POSRetail.RapiBac.Field[] RequestFieldsField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public POSRetail.RapiBac.Field[] RequestFields
        {
            get
            {
                return this.RequestFieldsField;
            }
            set
            {
                if ((object.ReferenceEquals(this.RequestFieldsField, value) != true))
                {
                    this.RequestFieldsField = value;
                    this.RaisePropertyChanged("RequestFields");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "ExecuteTransactionsResponse", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class ExecuteTransactionsResponse : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.ExcecuteTransactionsResponseHeader HeaderField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.ExcetuteTransactionsResponseContent ContentField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public POSRetail.RapiBac.ExcecuteTransactionsResponseHeader Header
        {
            get
            {
                return this.HeaderField;
            }
            set
            {
                if ((object.ReferenceEquals(this.HeaderField, value) != true))
                {
                    this.HeaderField = value;
                    this.RaisePropertyChanged("Header");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 1)]
        public POSRetail.RapiBac.ExcetuteTransactionsResponseContent Content
        {
            get
            {
                return this.ContentField;
            }
            set
            {
                if ((object.ReferenceEquals(this.ContentField, value) != true))
                {
                    this.ContentField = value;
                    this.RaisePropertyChanged("Content");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "ExcecuteTransactionsResponseHeader", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class ExcecuteTransactionsResponseHeader : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private POSRetail.RapiBac.ResponseType StatusField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;

        private string SystemTraceNumberField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true)]
        public POSRetail.RapiBac.ResponseType Status
        {
            get
            {
                return this.StatusField;
            }
            set
            {
                if ((this.StatusField.Equals(value) != true))
                {
                    this.StatusField = value;
                    this.RaisePropertyChanged("Status");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 1)]
        public string Description
        {
            get
            {
                return this.DescriptionField;
            }
            set
            {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
                {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(IsRequired = true, Order = 2)]
        public string SystemTraceNumber
        {
            get
            {
                return this.SystemTraceNumberField;
            }
            set
            {
                if ((object.ReferenceEquals(this.SystemTraceNumberField, value) != true))
                {
                    this.SystemTraceNumberField = value;
                    this.RaisePropertyChanged("SystemTraceNumber");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name = "ExcetuteTransactionsResponseContent", Namespace = "http://schemas.datacontract.org/2004/07/CSP.Authorizer.Framework.StreamFormats.CN" +
        "B")]
    [System.SerializableAttribute()]
    public partial class ExcetuteTransactionsResponseContent : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
    {

        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.Field[] ResponseFieldsField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.Field[] AffiliatesField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.Field[] RequiredFieldsField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.Field[] InvoiceField;

        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private POSRetail.RapiBac.Field[] InvoiceDetailField;

        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false)]
        public POSRetail.RapiBac.Field[] ResponseFields
        {
            get
            {
                return this.ResponseFieldsField;
            }
            set
            {
                if ((object.ReferenceEquals(this.ResponseFieldsField, value) != true))
                {
                    this.ResponseFieldsField = value;
                    this.RaisePropertyChanged("ResponseFields");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 1)]
        public POSRetail.RapiBac.Field[] Affiliates
        {
            get
            {
                return this.AffiliatesField;
            }
            set
            {
                if ((object.ReferenceEquals(this.AffiliatesField, value) != true))
                {
                    this.AffiliatesField = value;
                    this.RaisePropertyChanged("Affiliates");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 2)]
        public POSRetail.RapiBac.Field[] RequiredFields
        {
            get
            {
                return this.RequiredFieldsField;
            }
            set
            {
                if ((object.ReferenceEquals(this.RequiredFieldsField, value) != true))
                {
                    this.RequiredFieldsField = value;
                    this.RaisePropertyChanged("RequiredFields");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 3)]
        public POSRetail.RapiBac.Field[] Invoice
        {
            get
            {
                return this.InvoiceField;
            }
            set
            {
                if ((object.ReferenceEquals(this.InvoiceField, value) != true))
                {
                    this.InvoiceField = value;
                    this.RaisePropertyChanged("Invoice");
                }
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 4)]
        public POSRetail.RapiBac.Field[] InvoiceDetail
        {
            get
            {
                return this.InvoiceDetailField;
            }
            set
            {
                if ((object.ReferenceEquals(this.InvoiceDetailField, value) != true))
                {
                    this.InvoiceDetailField = value;
                    this.RaisePropertyChanged("InvoiceDetail");
                }
            }
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null))
            {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }

    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace = "https://csp.credomatic.com/Services/CNB/ClientTerminalService", ConfigurationName = "RapiBac.IClientTerminalService")]
    public interface IClientTerminalService
    {

        [System.ServiceModel.OperationContractAttribute(Action = "https://csp.credomatic.com/Services/CNB/ClientTerminalService/IClientTerminalServ" +
            "ice/GetTransactions", ReplyAction = "https://csp.credomatic.com/Services/CNB/ClientTerminalService/IClientTerminalServ" +
            "ice/GetTransactionsResponse")]
        POSRetail.RapiBac.GetTransactionsResponse GetTransactions(POSRetail.RapiBac.GetTransactionsRequest request);

        [System.ServiceModel.OperationContractAttribute(Action = "https://csp.credomatic.com/Services/CNB/ClientTerminalService/IClientTerminalServ" +
            "ice/ExcecuteTransaction", ReplyAction = "https://csp.credomatic.com/Services/CNB/ClientTerminalService/IClientTerminalServ" +
            "ice/ExcecuteTransactionResponse")]
        POSRetail.RapiBac.ExecuteTransactionsResponse ExcecuteTransaction(POSRetail.RapiBac.ExecuteTransactionsRequest request);
    }

    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IClientTerminalServiceChannel : POSRetail.RapiBac.IClientTerminalService, System.ServiceModel.IClientChannel
    {
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class ClientTerminalServiceClient : System.ServiceModel.ClientBase<POSRetail.RapiBac.IClientTerminalService>, POSRetail.RapiBac.IClientTerminalService
    {

        public ClientTerminalServiceClient()
        {
        }

        public ClientTerminalServiceClient(string endpointConfigurationName) :
            base(endpointConfigurationName)
        {
        }

        public ClientTerminalServiceClient(string endpointConfigurationName, string remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
        {
        }

        public ClientTerminalServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
        {
        }

        public ClientTerminalServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
            base(binding, remoteAddress)
        {
        }

        public POSRetail.RapiBac.GetTransactionsResponse GetTransactions(POSRetail.RapiBac.GetTransactionsRequest request)
        {
            return base.Channel.GetTransactions(request);
        }

        public POSRetail.RapiBac.ExecuteTransactionsResponse ExcecuteTransaction(POSRetail.RapiBac.ExecuteTransactionsRequest request)
        {
            return base.Channel.ExcecuteTransaction(request);
        }
    }
}
