/* 
 * TSE Cloud - CO
 *
 * This is Swagger Docs for Document WebApi Teamsystemn Enterprise Cloud, more detail at [https://swagger.io](https://swagger.io).
 *
 * OpenAPI spec version: v2025.3000
 * 
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 */
using System;
using System.Linq;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.ComponentModel.DataAnnotations;
using SwaggerDateConverter = IO.Swagger.Client.SwaggerDateConverter;
namespace IO.Swagger.Model
{
    /// <summary>
    /// EF08_BANCHE - Banca aziendale&lt;br&gt;Proprietà chiave:&lt;ul&gt;&lt;li&gt;&lt;b&gt;Id&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;
    /// </summary>
    [DataContract]
        public partial class CompanyBankCODTO :  IEquatable<CompanyBankCODTO>, IValidatableObject
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="CompanyBankCODTO" /> class.
        /// </summary>
        /// <param name="aprogressmav">EF08_APROGRESSMAV - A progressivo.</param>
        /// <param name="bancaCg12">EF08_BANCA_CG12 - Banca.</param>
        /// <param name="bbananticipi">EF08_BBANANTICIPI - Bbananticipi.</param>
        /// <param name="bbanconto">EF08_BBANCONTO - BBAN.</param>
        /// <param name="bbaneffpresef">EF08_BBANEFFPRESEF - Bbaneffpresef.</param>
        /// <param name="bbanordpbonif">EF08_BBANORDPBONIF - Bbanordpbonif.</param>
        /// <param name="bicbanca">EF08_BICBANCA - BIC.</param>
        /// <param name="cabbonifCg13">EF08_CABBONIF_CG13 - CabbonifCg13.</param>
        /// <param name="cabcontoCg13">EF08_CABCONTO_CG13 - CAB agenzia.</param>
        /// <param name="cabmavCg13">EF08_CABMAV_CG13 - CabmavCg13.</param>
        /// <param name="cabribaCg13">EF08_CABRIBA_CG13 - CabribaCg13.</param>
        /// <param name="cabridCg13">EF08_CABRID_CG13 - CabridCg13.</param>
        /// <param name="ccanticipi">EF08_CCANTICIPI - Ccanticipi.</param>
        /// <param name="ccconto">EF08_CCCONTO - C/C.</param>
        /// <param name="cceffpresef">EF08_CCEFFPRESEF - Cceffpresef.</param>
        /// <param name="ccordpbonif">EF08_CCORDPBONIF - Ccordpbonif.</param>
        /// <param name="codAzienda">EF08_CODAZIENDA - Codice azienda.</param>
        /// <param name="codiceCg07">EF08_CODICE_CG07 - Nazione.</param>
        /// <param name="codicecuc">EF08_CODICECUC - Codice univoco CBI.</param>
        /// <param name="codRappopor">EF08_CODRAPPOPOR - ID Rapporto di Portafoglio.</param>
        /// <param name="codSia">EF08_CODSIA - SIA/Mittente.</param>
        /// <param name="creditidentifier">EF08_CREDITIDENTIFIER - Creditor Identifier.</param>
        /// <param name="daprogressmav">EF08_DAPROGRESSMAV - Da progressivo.</param>
        /// <param name="descr">EF08_DESCR - Descrizione.</param>
        /// <param name="dittaCg18">EF08_DITTA_CG18 - Ditta (required).</param>
        /// <param name="flgAutattribnrmav">EF08_FLGAUTATTRIBNRMAV - Gestione stampa bollettini MAV.</param>
        /// <param name="flgCambiali">EF08_FLGCAMBIALI - FlgCambiali&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="flgCessioni">EF08_FLGCESSIONI - FlgCessioni&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="flgMav">EF08_FLGMAV - MAV&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="flgPref">EF08_FLGPREF - Preferenziale&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="flgRiba">EF08_FLGRIBA - Ri.Ba.&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="flgRibacamb">EF08_FLGRIBACAMB - FlgRibacamb.</param>
        /// <param name="flgRibacess">EF08_FLGRIBACESS - FlgRibacess.</param>
        /// <param name="flgRibaricba">EF08_FLGRIBARICBA - FlgRibaricba.</param>
        /// <param name="flgRibatratac">EF08_FLGRIBATRATAC - FlgRibatratac.</param>
        /// <param name="flgRibatratte">EF08_FLGRIBATRATTE - FlgRibatratte.</param>
        /// <param name="flgRidsdd">EF08_FLGRIDSDD - RID SDD&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="flgRidsddraggr">EF08_FLGRIDSDDRAGGR - Modalità creazione RID SDD&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Analitica&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Raggruppata&lt;/li&gt;&lt;/ul&gt;.</param>
        /// <param name="flgScfatt">EF08_FLGSCFATT - Sconto fattura&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="flgTratte">EF08_FLGTRATTE - FlgTratte&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="ggvalcambalt">EF08_GGVALCAMBALT - Giorni di valuta cambiali e cessioni domiciliati altre banche.</param>
        /// <param name="ggvalcambfil">EF08_GGVALCAMBFIL - Giorni di valuta cambiali e cessioni domiciliati su stesse filiali banca di presentazione.</param>
        /// <param name="ggvalmavincalt">EF08_GGVALMAVINCALT - Giorni di valuta Mav assunti al dopo incasso domiciliati su altre banche.</param>
        /// <param name="ggvalmavincfil">EF08_GGVALMAVINCFIL - Giorni di valuta Mav assunti al dopo incasso domiciliati su stesse filiali banca di presentazione.</param>
        /// <param name="ggvalmavincpos">EF08_GGVALMAVINCPOS - Giorni di valuta Mav assunti al dopo incasso domiciliati su uffici postali.</param>
        /// <param name="ggvalmavsbf">EF08_GGVALMAVSBF - Giorni di valuta Mav presentati a s.b.f..</param>
        /// <param name="ggvalribaalt">EF08_GGVALRIBAALT - Giorni di valuta Ri.Ba. domiciliati altre banche.</param>
        /// <param name="ggvalribafil">EF08_GGVALRIBAFIL - Giorni di valuta Ri.Ba. domiciliati su stesse filiali banca di presentazione.</param>
        /// <param name="ggvalridalt">EF08_GGVALRIDALT - Giorni di valuta Rid domiciliati su altre banche.</param>
        /// <param name="ggvalridfil">EF08_GGVALRIDFIL - Giorni di valuta Rid domiciliati su stesse filiali banca di presentazione.</param>
        /// <param name="ggvalscfattalt">EF08_GGVALSCFATTALT - Giorni di valuta Sconto fatture domiciliate altre banche.</param>
        /// <param name="ggvalscfattfil">EF08_GGVALSCFATTFIL - Giorni di valuta Sc. fatt. domiciliate su stesse filiali banca di presentazione.</param>
        /// <param name="ggvaltratalt">EF08_GGVALTRATALT - Giorni di valuta tratte e tratte accettate domiciliati altre banche.</param>
        /// <param name="ggvaltratfil">EF08_GGVALTRATFIL - Giorni di valuta tratte e tratte accettate domiciliati su stesse filiali banca di presentazione.</param>
        /// <param name="ibananticipi">EF08_IBANANTICIPI - IBAN anticipi.</param>
        /// <param name="ibanconto">EF08_IBANCONTO - IBAN.</param>
        /// <param name="ibaneffpresef">EF08_IBANEFFPRESEF - Ibaneffpresef.</param>
        /// <param name="ibanordpbonif">EF08_IBANORDPBONIF - IBAN Bonifici e Ordini di Pagamento.</param>
        /// <param name="id">EF08_ID - ID (Required only in PUT/PATCH).</param>
        /// <param name="idbancaestera">EF08_IDBANCAESTERA - Idbancaestera.</param>
        /// <param name="idcontratto">EF08_IDCONTRATTO - Id Contratto.</param>
        /// <param name="idmediaCg99">EF08_IDMEDIA_CG99 - ID HyperMedia.</param>
        /// <param name="idsuccursale">EF08_IDSUCCURSALE - ID Succursale.</param>
        /// <param name="impcastel">EF08_IMPCASTEL - Importo castelletto.</param>
        /// <param name="impfido">EF08_IMPFIDO - Importo fido.</param>
        /// <param name="indCheckpivacf">EF08_INDCHECKPIVACF - Controllo presenza CF e P.IVA&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="indCompind">EF08_INDCOMPIND - IndCompind&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Su unico tag XML&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Tag XML strutturato&lt;/li&gt;&lt;/ul&gt;.</param>
        /// <param name="indContpmtinf">EF08_INDCONTPMTINF - Numerazione Rid SDD su file&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Progressiva per distinta&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Relativa per raggruppo&lt;/li&gt;&lt;/ul&gt;.</param>
        /// <param name="indPresmav">EF08_INDPRESMAV - Tipo presentazione MAV&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Sbf a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Sbf ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Sbf anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - All&#x27;incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; - Allo sconto&lt;/li&gt;&lt;/ul&gt;.</param>
        /// <param name="indPresriba">EF08_INDPRESRIBA - Tipo presentazione Ri.Ba.&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Sbf a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Sbf ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Sbf anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - All&#x27;incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; - Allo sconto&lt;/li&gt;&lt;/ul&gt;.</param>
        /// <param name="indPresrid">EF08_INDPRESRID - Tipo presentazione Rid&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Sbf a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Sbf ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Sbf anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - All&#x27;incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; - Allo sconto&lt;/li&gt;&lt;/ul&gt;.</param>
        /// <param name="indTipolib">EF08_INDTIPOLIB - Tipo liberalizzazione del castelletto&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Data scadenza + gg. valuta (calendario)&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - 1°gg succ. decade scad.+gg.val (calendario)&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - 1°gg succ. decade scad.+gg.val (lavorativi)&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - Data scadenza + gg. valuta (lavorativi)&lt;/li&gt;&lt;/ul&gt;.</param>
        /// <param name="indTipopres">EF08_INDTIPOPRES - Tipo presentazione&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Tutte&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; -  S.b.f. ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; -  S.b.f. a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; -  S.b.f. anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;5&lt;/i&gt; - Incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;6&lt;/i&gt; - Sconto&lt;/li&gt;&lt;/ul&gt; (default to 0).</param>
        /// <param name="locbancaestera">EF08_LOCBANCAESTERA - Locbancaestera.</param>
        /// <param name="maxgginsoluti">EF08_MAXGGINSOLUTI - Max gg. insoluti.</param>
        /// <param name="prefissoattribmav">EF08_PREFISSOATTRIBMAV - Prefisso banca.</param>
        /// <param name="progR">EF08_PROGR - Progr. (required).</param>
        /// <param name="rowversion">EF08_ROWVERSION - RowVersion.</param>
        /// <param name="scfindbasecalc">EF08_SCFINDBASECALC - Importo base calcolo&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Totale documento&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Totale imponibile&lt;/li&gt;&lt;/ul&gt;.</param>
        /// <param name="scfnsdocrif">EF08_SCFNSDOCRIF - Estremi ns. doc. riferim..</param>
        /// <param name="scfpercpres">EF08_SCFPERCPRES - % di presentazione.</param>
        /// <param name="scfperctasso">EF08_SCFPERCTASSO - % tasso interesse.</param>
        /// <param name="scfvsdocrif">EF08_SCFVSDOCRIF - Estremi vs. doc. riferim..</param>
        /// <param name="spcommbonalt">EF08_SPCOMMBONALT - Spese commissioni su bonifici bancari di altre banche.</param>
        /// <param name="spcommbonfil">EF08_SPCOMMBONFIL - Spese commissioni su bonifici bancari di filiali della stessa banca di presentazione.</param>
        /// <param name="spcommordpalt">EF08_SPCOMMORDPALT - Spese commissioni su ordini pagamento di altre banche.</param>
        /// <param name="spcommordpfil">EF08_SPCOMMORDPFIL - Spese commissioni su ordini pagamento di filiali della stessa banca di presentazione.</param>
        /// <param name="spinccambalt">EF08_SPINCCAMBALT - Spese incasso cambiali/cessioni domiciliati su altre banche.</param>
        /// <param name="spinccambfil">EF08_SPINCCAMBFIL - Spese incasso cambiali/cessioni domiciliati su filiali della stessa banca di presentazione.</param>
        /// <param name="spinccoralt">EF08_SPINCCORALT - Spese incasso conferme d&#x27;ordine domiciliati su altre banche.</param>
        /// <param name="spinccorfil">EF08_SPINCCORFIL - Spese incasso conferme d&#x27;ordine domiciliati su filiali della stessa banca di presentazione.</param>
        /// <param name="spincesitopag">EF08_SPINCESITOPAG - Esito di pagamento.</param>
        /// <param name="spincmavincalt">EF08_SPINCMAVINCALT - Spese incasso Mav assunti al dopo incasso domiciliati su altre banche.</param>
        /// <param name="spincmavincfil">EF08_SPINCMAVINCFIL - Spese incasso Mav assunti al dopo incasso domiciliati su filiali della stessa banca di presentazione.</param>
        /// <param name="spincmavincpos">EF08_SPINCMAVINCPOS - Spese incasso Mav assunti al dopo incasso domiciliati su uffici postali.</param>
        /// <param name="spincmavsbf">EF08_SPINCMAVSBF - Spese incasso Mav assunti a s.b.f..</param>
        /// <param name="spincribaalt">EF08_SPINCRIBAALT - Spese incasso Ri.Ba. domiciliati su altre banche.</param>
        /// <param name="spincribafil">EF08_SPINCRIBAFIL - Spese incasso Ri.Ba. domiciliati su filiali della stessa banca di presentazione.</param>
        /// <param name="spincridalt">EF08_SPINCRIDALT - Spese incasso Rid domiciliati su altre banche.</param>
        /// <param name="spincridfil">EF08_SPINCRIDFIL - Spese incasso Rid domiciliati su filiali della stessa banca di presentazione.</param>
        /// <param name="spinctraalt">EF08_SPINCTRAALT - Spese incasso tratte domiciliati su altre banche.</param>
        /// <param name="spinctrafil">EF08_SPINCTRAFIL - Spese incasso tratte domiciliati su filiali della stessa banca di presentazione.</param>
        /// <param name="sppresdistinta">EF08_SPPRESDISTINTA - Presentazione distinta.</param>
        /// <param name="spritcamb">EF08_SPRITCAMB - Spese di ritorno effettive per cambiali e cessioni.</param>
        /// <param name="spritcambcl">EF08_SPRITCAMBCL - Spese di ritorno da addebitare al cliente per cambiali e cessioni.</param>
        /// <param name="spritmavincas">EF08_SPRITMAVINCAS - Spese di ritorno effettive per MAV all&#x27;incasso.</param>
        /// <param name="spritmavincascl">EF08_SPRITMAVINCASCL - Spese di ritorno da addebitare al cliente per MAV all&#x27;incasso.</param>
        /// <param name="spritmavsbf">EF08_SPRITMAVSBF - Spese di ritorno effettive per MAV Sbf.</param>
        /// <param name="spritmavsbfcl">EF08_SPRITMAVSBFCL - Spese di ritorno da addebitare al cliente per MAV Sbf.</param>
        /// <param name="spritriba">EF08_SPRITRIBA - Spese di ritorno effettive Ri.Ba. e conferme d&#x27;ordine.</param>
        /// <param name="spritribacl">EF08_SPRITRIBACL - Spese di ritorno da addebitare al cliente per Ri.Ba. e conferme d&#x27;ordine.</param>
        /// <param name="spritrid">EF08_SPRITRID - Spese di ritorno effettive per Rid.</param>
        /// <param name="spritridcl">EF08_SPRITRIDCL - Spese di ritorno da addebitare al cliente per Rid.</param>
        /// <param name="sprittratte">EF08_SPRITTRATTE - Spese di ritorno effettive tratte e tratte accettate.</param>
        /// <param name="sprittrattecl">EF08_SPRITTRATTECL - Spese di ritorno da addebitare al cliente per tratte e tratte accettate.</param>
        /// <param name="tipobanca">EF08_TIPOBANCA - Tipo banca&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Nessuno&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Internazionale&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Domestico&lt;/li&gt;&lt;/ul&gt;.</param>
        /// <param name="ultprogressmav">EF08_ULTPROGRESSMAV - Ultimo progressivo.</param>
        /// <param name="bankCO">bankCO.</param>
        /// <param name="nationCO">nationCO.</param>
        /// <param name="additionalData">additionalData.</param>
        /// <param name="pluginData">pluginData.</param>
        public CompanyBankCODTO(double? aprogressmav = default(double?), double? bancaCg12 = default(double?), string bbananticipi = default(string), string bbanconto = default(string), string bbaneffpresef = default(string), string bbanordpbonif = default(string), string bicbanca = default(string), double? cabbonifCg13 = default(double?), double? cabcontoCg13 = default(double?), double? cabmavCg13 = default(double?), double? cabribaCg13 = default(double?), double? cabridCg13 = default(double?), string ccanticipi = default(string), string ccconto = default(string), string cceffpresef = default(string), string ccordpbonif = default(string), string codAzienda = default(string), double? codiceCg07 = default(double?), string codicecuc = default(string), string codRappopor = default(string), string codSia = default(string), string creditidentifier = default(string), double? daprogressmav = default(double?), string descr = default(string), double? dittaCg18 = default(double?), int? flgAutattribnrmav = default(int?), double? flgCambiali = 0, double? flgCessioni = 0, double? flgMav = 0, double? flgPref = 0, double? flgRiba = 0, double? flgRibacamb = default(double?), double? flgRibacess = default(double?), double? flgRibaricba = default(double?), double? flgRibatratac = default(double?), double? flgRibatratte = default(double?), double? flgRidsdd = 0, int? flgRidsddraggr = default(int?), double? flgScfatt = 0, double? flgTratte = 0, double? ggvalcambalt = default(double?), double? ggvalcambfil = default(double?), double? ggvalmavincalt = default(double?), double? ggvalmavincfil = default(double?), double? ggvalmavincpos = default(double?), double? ggvalmavsbf = default(double?), double? ggvalribaalt = default(double?), double? ggvalribafil = default(double?), double? ggvalridalt = default(double?), double? ggvalridfil = default(double?), double? ggvalscfattalt = default(double?), double? ggvalscfattfil = default(double?), double? ggvaltratalt = default(double?), double? ggvaltratfil = default(double?), string ibananticipi = default(string), string ibanconto = default(string), string ibaneffpresef = default(string), string ibanordpbonif = default(string), long? id = default(long?), string idbancaestera = default(string), string idcontratto = default(string), double? idmediaCg99 = default(double?), double? idsuccursale = default(double?), double? impcastel = default(double?), double? impfido = default(double?), int? indCheckpivacf = 0, int? indCompind = default(int?), int? indContpmtinf = default(int?), double? indPresmav = default(double?), double? indPresriba = default(double?), double? indPresrid = default(double?), double? indTipolib = default(double?), double? indTipopres = 0, string locbancaestera = default(string), double? maxgginsoluti = default(double?), double? prefissoattribmav = default(double?), double? progR = default(double?), byte[] rowversion = default(byte[]), double? scfindbasecalc = default(double?), string scfnsdocrif = default(string), double? scfpercpres = default(double?), double? scfperctasso = default(double?), string scfvsdocrif = default(string), double? spcommbonalt = default(double?), double? spcommbonfil = default(double?), double? spcommordpalt = default(double?), double? spcommordpfil = default(double?), double? spinccambalt = default(double?), double? spinccambfil = default(double?), double? spinccoralt = default(double?), double? spinccorfil = default(double?), double? spincesitopag = default(double?), double? spincmavincalt = default(double?), double? spincmavincfil = default(double?), double? spincmavincpos = default(double?), double? spincmavsbf = default(double?), double? spincribaalt = default(double?), double? spincribafil = default(double?), double? spincridalt = default(double?), double? spincridfil = default(double?), double? spinctraalt = default(double?), double? spinctrafil = default(double?), double? sppresdistinta = default(double?), double? spritcamb = default(double?), double? spritcambcl = default(double?), double? spritmavincas = default(double?), double? spritmavincascl = default(double?), double? spritmavsbf = default(double?), double? spritmavsbfcl = default(double?), double? spritriba = default(double?), double? spritribacl = default(double?), double? spritrid = default(double?), double? spritridcl = default(double?), double? sprittratte = default(double?), double? sprittrattecl = default(double?), double? tipobanca = default(double?), double? ultprogressmav = default(double?), BankCODTO bankCO = default(BankCODTO), NationCODTO nationCO = default(NationCODTO), Dictionary<string, Object> additionalData = default(Dictionary<string, Object>), Dictionary<string, Object> pluginData = default(Dictionary<string, Object>))
        {
            // to ensure "dittaCg18" is required (not null)
            if (dittaCg18 == null)
            {
                throw new InvalidDataException("dittaCg18 is a required property for CompanyBankCODTO and cannot be null");
            }
            else
            {
                this.DittaCg18 = dittaCg18;
            }
            // to ensure "progR" is required (not null)
            if (progR == null)
            {
                throw new InvalidDataException("progR is a required property for CompanyBankCODTO and cannot be null");
            }
            else
            {
                this.ProgR = progR;
            }
            this.Aprogressmav = aprogressmav;
            this.BancaCg12 = bancaCg12;
            this.Bbananticipi = bbananticipi;
            this.Bbanconto = bbanconto;
            this.Bbaneffpresef = bbaneffpresef;
            this.Bbanordpbonif = bbanordpbonif;
            this.Bicbanca = bicbanca;
            this.CabbonifCg13 = cabbonifCg13;
            this.CabcontoCg13 = cabcontoCg13;
            this.CabmavCg13 = cabmavCg13;
            this.CabribaCg13 = cabribaCg13;
            this.CabridCg13 = cabridCg13;
            this.Ccanticipi = ccanticipi;
            this.Ccconto = ccconto;
            this.Cceffpresef = cceffpresef;
            this.Ccordpbonif = ccordpbonif;
            this.CodAzienda = codAzienda;
            this.CodiceCg07 = codiceCg07;
            this.Codicecuc = codicecuc;
            this.CodRappopor = codRappopor;
            this.CodSia = codSia;
            this.Creditidentifier = creditidentifier;
            this.Daprogressmav = daprogressmav;
            this.Descr = descr;
            this.FlgAutattribnrmav = flgAutattribnrmav;
            // use default value if no "flgCambiali" provided
            if (flgCambiali == null)
            {
                this.FlgCambiali = 0;
            }
            else
            {
                this.FlgCambiali = flgCambiali;
            }
            // use default value if no "flgCessioni" provided
            if (flgCessioni == null)
            {
                this.FlgCessioni = 0;
            }
            else
            {
                this.FlgCessioni = flgCessioni;
            }
            // use default value if no "flgMav" provided
            if (flgMav == null)
            {
                this.FlgMav = 0;
            }
            else
            {
                this.FlgMav = flgMav;
            }
            // use default value if no "flgPref" provided
            if (flgPref == null)
            {
                this.FlgPref = 0;
            }
            else
            {
                this.FlgPref = flgPref;
            }
            // use default value if no "flgRiba" provided
            if (flgRiba == null)
            {
                this.FlgRiba = 0;
            }
            else
            {
                this.FlgRiba = flgRiba;
            }
            this.FlgRibacamb = flgRibacamb;
            this.FlgRibacess = flgRibacess;
            this.FlgRibaricba = flgRibaricba;
            this.FlgRibatratac = flgRibatratac;
            this.FlgRibatratte = flgRibatratte;
            // use default value if no "flgRidsdd" provided
            if (flgRidsdd == null)
            {
                this.FlgRidsdd = 0;
            }
            else
            {
                this.FlgRidsdd = flgRidsdd;
            }
            this.FlgRidsddraggr = flgRidsddraggr;
            // use default value if no "flgScfatt" provided
            if (flgScfatt == null)
            {
                this.FlgScfatt = 0;
            }
            else
            {
                this.FlgScfatt = flgScfatt;
            }
            // use default value if no "flgTratte" provided
            if (flgTratte == null)
            {
                this.FlgTratte = 0;
            }
            else
            {
                this.FlgTratte = flgTratte;
            }
            this.Ggvalcambalt = ggvalcambalt;
            this.Ggvalcambfil = ggvalcambfil;
            this.Ggvalmavincalt = ggvalmavincalt;
            this.Ggvalmavincfil = ggvalmavincfil;
            this.Ggvalmavincpos = ggvalmavincpos;
            this.Ggvalmavsbf = ggvalmavsbf;
            this.Ggvalribaalt = ggvalribaalt;
            this.Ggvalribafil = ggvalribafil;
            this.Ggvalridalt = ggvalridalt;
            this.Ggvalridfil = ggvalridfil;
            this.Ggvalscfattalt = ggvalscfattalt;
            this.Ggvalscfattfil = ggvalscfattfil;
            this.Ggvaltratalt = ggvaltratalt;
            this.Ggvaltratfil = ggvaltratfil;
            this.Ibananticipi = ibananticipi;
            this.Ibanconto = ibanconto;
            this.Ibaneffpresef = ibaneffpresef;
            this.Ibanordpbonif = ibanordpbonif;
            this.Id = id;
            this.Idbancaestera = idbancaestera;
            this.Idcontratto = idcontratto;
            this.IdmediaCg99 = idmediaCg99;
            this.Idsuccursale = idsuccursale;
            this.Impcastel = impcastel;
            this.Impfido = impfido;
            // use default value if no "indCheckpivacf" provided
            if (indCheckpivacf == null)
            {
                this.IndCheckpivacf = 0;
            }
            else
            {
                this.IndCheckpivacf = indCheckpivacf;
            }
            this.IndCompind = indCompind;
            this.IndContpmtinf = indContpmtinf;
            this.IndPresmav = indPresmav;
            this.IndPresriba = indPresriba;
            this.IndPresrid = indPresrid;
            this.IndTipolib = indTipolib;
            // use default value if no "indTipopres" provided
            if (indTipopres == null)
            {
                this.IndTipopres = 0;
            }
            else
            {
                this.IndTipopres = indTipopres;
            }
            this.Locbancaestera = locbancaestera;
            this.Maxgginsoluti = maxgginsoluti;
            this.Prefissoattribmav = prefissoattribmav;
            this.Rowversion = rowversion;
            this.Scfindbasecalc = scfindbasecalc;
            this.Scfnsdocrif = scfnsdocrif;
            this.Scfpercpres = scfpercpres;
            this.Scfperctasso = scfperctasso;
            this.Scfvsdocrif = scfvsdocrif;
            this.Spcommbonalt = spcommbonalt;
            this.Spcommbonfil = spcommbonfil;
            this.Spcommordpalt = spcommordpalt;
            this.Spcommordpfil = spcommordpfil;
            this.Spinccambalt = spinccambalt;
            this.Spinccambfil = spinccambfil;
            this.Spinccoralt = spinccoralt;
            this.Spinccorfil = spinccorfil;
            this.Spincesitopag = spincesitopag;
            this.Spincmavincalt = spincmavincalt;
            this.Spincmavincfil = spincmavincfil;
            this.Spincmavincpos = spincmavincpos;
            this.Spincmavsbf = spincmavsbf;
            this.Spincribaalt = spincribaalt;
            this.Spincribafil = spincribafil;
            this.Spincridalt = spincridalt;
            this.Spincridfil = spincridfil;
            this.Spinctraalt = spinctraalt;
            this.Spinctrafil = spinctrafil;
            this.Sppresdistinta = sppresdistinta;
            this.Spritcamb = spritcamb;
            this.Spritcambcl = spritcambcl;
            this.Spritmavincas = spritmavincas;
            this.Spritmavincascl = spritmavincascl;
            this.Spritmavsbf = spritmavsbf;
            this.Spritmavsbfcl = spritmavsbfcl;
            this.Spritriba = spritriba;
            this.Spritribacl = spritribacl;
            this.Spritrid = spritrid;
            this.Spritridcl = spritridcl;
            this.Sprittratte = sprittratte;
            this.Sprittrattecl = sprittrattecl;
            this.Tipobanca = tipobanca;
            this.Ultprogressmav = ultprogressmav;
            this.BankCO = bankCO;
            this.NationCO = nationCO;
            this.AdditionalData = additionalData;
            this.PluginData = pluginData;
        }
        
        /// <summary>
        /// EF08_APROGRESSMAV - A progressivo
        /// </summary>
        /// <value>EF08_APROGRESSMAV - A progressivo</value>
        [DataMember(Name="aprogressmav", EmitDefaultValue=false)]
        public double? Aprogressmav { get; set; }

        /// <summary>
        /// EF08_BANCA_CG12 - Banca
        /// </summary>
        /// <value>EF08_BANCA_CG12 - Banca</value>
        [DataMember(Name="bancaCg12", EmitDefaultValue=false)]
        public double? BancaCg12 { get; set; }

        /// <summary>
        /// EF08_BBANANTICIPI - Bbananticipi
        /// </summary>
        /// <value>EF08_BBANANTICIPI - Bbananticipi</value>
        [DataMember(Name="bbananticipi", EmitDefaultValue=false)]
        public string Bbananticipi { get; set; }

        /// <summary>
        /// EF08_BBANCONTO - BBAN
        /// </summary>
        /// <value>EF08_BBANCONTO - BBAN</value>
        [DataMember(Name="bbanconto", EmitDefaultValue=false)]
        public string Bbanconto { get; set; }

        /// <summary>
        /// EF08_BBANEFFPRESEF - Bbaneffpresef
        /// </summary>
        /// <value>EF08_BBANEFFPRESEF - Bbaneffpresef</value>
        [DataMember(Name="bbaneffpresef", EmitDefaultValue=false)]
        public string Bbaneffpresef { get; set; }

        /// <summary>
        /// EF08_BBANORDPBONIF - Bbanordpbonif
        /// </summary>
        /// <value>EF08_BBANORDPBONIF - Bbanordpbonif</value>
        [DataMember(Name="bbanordpbonif", EmitDefaultValue=false)]
        public string Bbanordpbonif { get; set; }

        /// <summary>
        /// EF08_BICBANCA - BIC
        /// </summary>
        /// <value>EF08_BICBANCA - BIC</value>
        [DataMember(Name="bicbanca", EmitDefaultValue=false)]
        public string Bicbanca { get; set; }

        /// <summary>
        /// EF08_CABBONIF_CG13 - CabbonifCg13
        /// </summary>
        /// <value>EF08_CABBONIF_CG13 - CabbonifCg13</value>
        [DataMember(Name="cabbonifCg13", EmitDefaultValue=false)]
        public double? CabbonifCg13 { get; set; }

        /// <summary>
        /// EF08_CABCONTO_CG13 - CAB agenzia
        /// </summary>
        /// <value>EF08_CABCONTO_CG13 - CAB agenzia</value>
        [DataMember(Name="cabcontoCg13", EmitDefaultValue=false)]
        public double? CabcontoCg13 { get; set; }

        /// <summary>
        /// EF08_CABMAV_CG13 - CabmavCg13
        /// </summary>
        /// <value>EF08_CABMAV_CG13 - CabmavCg13</value>
        [DataMember(Name="cabmavCg13", EmitDefaultValue=false)]
        public double? CabmavCg13 { get; set; }

        /// <summary>
        /// EF08_CABRIBA_CG13 - CabribaCg13
        /// </summary>
        /// <value>EF08_CABRIBA_CG13 - CabribaCg13</value>
        [DataMember(Name="cabribaCg13", EmitDefaultValue=false)]
        public double? CabribaCg13 { get; set; }

        /// <summary>
        /// EF08_CABRID_CG13 - CabridCg13
        /// </summary>
        /// <value>EF08_CABRID_CG13 - CabridCg13</value>
        [DataMember(Name="cabridCg13", EmitDefaultValue=false)]
        public double? CabridCg13 { get; set; }

        /// <summary>
        /// EF08_CCANTICIPI - Ccanticipi
        /// </summary>
        /// <value>EF08_CCANTICIPI - Ccanticipi</value>
        [DataMember(Name="ccanticipi", EmitDefaultValue=false)]
        public string Ccanticipi { get; set; }

        /// <summary>
        /// EF08_CCCONTO - C/C
        /// </summary>
        /// <value>EF08_CCCONTO - C/C</value>
        [DataMember(Name="ccconto", EmitDefaultValue=false)]
        public string Ccconto { get; set; }

        /// <summary>
        /// EF08_CCEFFPRESEF - Cceffpresef
        /// </summary>
        /// <value>EF08_CCEFFPRESEF - Cceffpresef</value>
        [DataMember(Name="cceffpresef", EmitDefaultValue=false)]
        public string Cceffpresef { get; set; }

        /// <summary>
        /// EF08_CCORDPBONIF - Ccordpbonif
        /// </summary>
        /// <value>EF08_CCORDPBONIF - Ccordpbonif</value>
        [DataMember(Name="ccordpbonif", EmitDefaultValue=false)]
        public string Ccordpbonif { get; set; }

        /// <summary>
        /// EF08_CODAZIENDA - Codice azienda
        /// </summary>
        /// <value>EF08_CODAZIENDA - Codice azienda</value>
        [DataMember(Name="codAzienda", EmitDefaultValue=false)]
        public string CodAzienda { get; set; }

        /// <summary>
        /// EF08_CODICE_CG07 - Nazione
        /// </summary>
        /// <value>EF08_CODICE_CG07 - Nazione</value>
        [DataMember(Name="codiceCg07", EmitDefaultValue=false)]
        public double? CodiceCg07 { get; set; }

        /// <summary>
        /// EF08_CODICECUC - Codice univoco CBI
        /// </summary>
        /// <value>EF08_CODICECUC - Codice univoco CBI</value>
        [DataMember(Name="codicecuc", EmitDefaultValue=false)]
        public string Codicecuc { get; set; }

        /// <summary>
        /// EF08_CODRAPPOPOR - ID Rapporto di Portafoglio
        /// </summary>
        /// <value>EF08_CODRAPPOPOR - ID Rapporto di Portafoglio</value>
        [DataMember(Name="codRappopor", EmitDefaultValue=false)]
        public string CodRappopor { get; set; }

        /// <summary>
        /// EF08_CODSIA - SIA/Mittente
        /// </summary>
        /// <value>EF08_CODSIA - SIA/Mittente</value>
        [DataMember(Name="codSia", EmitDefaultValue=false)]
        public string CodSia { get; set; }

        /// <summary>
        /// EF08_CREDITIDENTIFIER - Creditor Identifier
        /// </summary>
        /// <value>EF08_CREDITIDENTIFIER - Creditor Identifier</value>
        [DataMember(Name="creditidentifier", EmitDefaultValue=false)]
        public string Creditidentifier { get; set; }

        /// <summary>
        /// EF08_DAPROGRESSMAV - Da progressivo
        /// </summary>
        /// <value>EF08_DAPROGRESSMAV - Da progressivo</value>
        [DataMember(Name="daprogressmav", EmitDefaultValue=false)]
        public double? Daprogressmav { get; set; }

        /// <summary>
        /// EF08_DESCR - Descrizione
        /// </summary>
        /// <value>EF08_DESCR - Descrizione</value>
        [DataMember(Name="descr", EmitDefaultValue=false)]
        public string Descr { get; set; }

        /// <summary>
        /// EF08_DITTA_CG18 - Ditta
        /// </summary>
        /// <value>EF08_DITTA_CG18 - Ditta</value>
        [DataMember(Name="dittaCg18", EmitDefaultValue=false)]
        public double? DittaCg18 { get; set; }

        /// <summary>
        /// EF08_FLGAUTATTRIBNRMAV - Gestione stampa bollettini MAV
        /// </summary>
        /// <value>EF08_FLGAUTATTRIBNRMAV - Gestione stampa bollettini MAV</value>
        [DataMember(Name="flgAutattribnrmav", EmitDefaultValue=false)]
        public int? FlgAutattribnrmav { get; set; }

        /// <summary>
        /// EF08_FLGCAMBIALI - FlgCambiali&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_FLGCAMBIALI - FlgCambiali&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="flgCambiali", EmitDefaultValue=false)]
        public double? FlgCambiali { get; set; }

        /// <summary>
        /// EF08_FLGCESSIONI - FlgCessioni&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_FLGCESSIONI - FlgCessioni&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="flgCessioni", EmitDefaultValue=false)]
        public double? FlgCessioni { get; set; }

        /// <summary>
        /// EF08_FLGMAV - MAV&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_FLGMAV - MAV&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="flgMav", EmitDefaultValue=false)]
        public double? FlgMav { get; set; }

        /// <summary>
        /// EF08_FLGPREF - Preferenziale&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_FLGPREF - Preferenziale&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="flgPref", EmitDefaultValue=false)]
        public double? FlgPref { get; set; }

        /// <summary>
        /// EF08_FLGRIBA - Ri.Ba.&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_FLGRIBA - Ri.Ba.&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="flgRiba", EmitDefaultValue=false)]
        public double? FlgRiba { get; set; }

        /// <summary>
        /// EF08_FLGRIBACAMB - FlgRibacamb
        /// </summary>
        /// <value>EF08_FLGRIBACAMB - FlgRibacamb</value>
        [DataMember(Name="flgRibacamb", EmitDefaultValue=false)]
        public double? FlgRibacamb { get; set; }

        /// <summary>
        /// EF08_FLGRIBACESS - FlgRibacess
        /// </summary>
        /// <value>EF08_FLGRIBACESS - FlgRibacess</value>
        [DataMember(Name="flgRibacess", EmitDefaultValue=false)]
        public double? FlgRibacess { get; set; }

        /// <summary>
        /// EF08_FLGRIBARICBA - FlgRibaricba
        /// </summary>
        /// <value>EF08_FLGRIBARICBA - FlgRibaricba</value>
        [DataMember(Name="flgRibaricba", EmitDefaultValue=false)]
        public double? FlgRibaricba { get; set; }

        /// <summary>
        /// EF08_FLGRIBATRATAC - FlgRibatratac
        /// </summary>
        /// <value>EF08_FLGRIBATRATAC - FlgRibatratac</value>
        [DataMember(Name="flgRibatratac", EmitDefaultValue=false)]
        public double? FlgRibatratac { get; set; }

        /// <summary>
        /// EF08_FLGRIBATRATTE - FlgRibatratte
        /// </summary>
        /// <value>EF08_FLGRIBATRATTE - FlgRibatratte</value>
        [DataMember(Name="flgRibatratte", EmitDefaultValue=false)]
        public double? FlgRibatratte { get; set; }

        /// <summary>
        /// EF08_FLGRIDSDD - RID SDD&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_FLGRIDSDD - RID SDD&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="flgRidsdd", EmitDefaultValue=false)]
        public double? FlgRidsdd { get; set; }

        /// <summary>
        /// EF08_FLGRIDSDDRAGGR - Modalità creazione RID SDD&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Analitica&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Raggruppata&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_FLGRIDSDDRAGGR - Modalità creazione RID SDD&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Analitica&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Raggruppata&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="flgRidsddraggr", EmitDefaultValue=false)]
        public int? FlgRidsddraggr { get; set; }

        /// <summary>
        /// EF08_FLGSCFATT - Sconto fattura&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_FLGSCFATT - Sconto fattura&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="flgScfatt", EmitDefaultValue=false)]
        public double? FlgScfatt { get; set; }

        /// <summary>
        /// EF08_FLGTRATTE - FlgTratte&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_FLGTRATTE - FlgTratte&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="flgTratte", EmitDefaultValue=false)]
        public double? FlgTratte { get; set; }

        /// <summary>
        /// EF08_GGVALCAMBALT - Giorni di valuta cambiali e cessioni domiciliati altre banche
        /// </summary>
        /// <value>EF08_GGVALCAMBALT - Giorni di valuta cambiali e cessioni domiciliati altre banche</value>
        [DataMember(Name="ggvalcambalt", EmitDefaultValue=false)]
        public double? Ggvalcambalt { get; set; }

        /// <summary>
        /// EF08_GGVALCAMBFIL - Giorni di valuta cambiali e cessioni domiciliati su stesse filiali banca di presentazione
        /// </summary>
        /// <value>EF08_GGVALCAMBFIL - Giorni di valuta cambiali e cessioni domiciliati su stesse filiali banca di presentazione</value>
        [DataMember(Name="ggvalcambfil", EmitDefaultValue=false)]
        public double? Ggvalcambfil { get; set; }

        /// <summary>
        /// EF08_GGVALMAVINCALT - Giorni di valuta Mav assunti al dopo incasso domiciliati su altre banche
        /// </summary>
        /// <value>EF08_GGVALMAVINCALT - Giorni di valuta Mav assunti al dopo incasso domiciliati su altre banche</value>
        [DataMember(Name="ggvalmavincalt", EmitDefaultValue=false)]
        public double? Ggvalmavincalt { get; set; }

        /// <summary>
        /// EF08_GGVALMAVINCFIL - Giorni di valuta Mav assunti al dopo incasso domiciliati su stesse filiali banca di presentazione
        /// </summary>
        /// <value>EF08_GGVALMAVINCFIL - Giorni di valuta Mav assunti al dopo incasso domiciliati su stesse filiali banca di presentazione</value>
        [DataMember(Name="ggvalmavincfil", EmitDefaultValue=false)]
        public double? Ggvalmavincfil { get; set; }

        /// <summary>
        /// EF08_GGVALMAVINCPOS - Giorni di valuta Mav assunti al dopo incasso domiciliati su uffici postali
        /// </summary>
        /// <value>EF08_GGVALMAVINCPOS - Giorni di valuta Mav assunti al dopo incasso domiciliati su uffici postali</value>
        [DataMember(Name="ggvalmavincpos", EmitDefaultValue=false)]
        public double? Ggvalmavincpos { get; set; }

        /// <summary>
        /// EF08_GGVALMAVSBF - Giorni di valuta Mav presentati a s.b.f.
        /// </summary>
        /// <value>EF08_GGVALMAVSBF - Giorni di valuta Mav presentati a s.b.f.</value>
        [DataMember(Name="ggvalmavsbf", EmitDefaultValue=false)]
        public double? Ggvalmavsbf { get; set; }

        /// <summary>
        /// EF08_GGVALRIBAALT - Giorni di valuta Ri.Ba. domiciliati altre banche
        /// </summary>
        /// <value>EF08_GGVALRIBAALT - Giorni di valuta Ri.Ba. domiciliati altre banche</value>
        [DataMember(Name="ggvalribaalt", EmitDefaultValue=false)]
        public double? Ggvalribaalt { get; set; }

        /// <summary>
        /// EF08_GGVALRIBAFIL - Giorni di valuta Ri.Ba. domiciliati su stesse filiali banca di presentazione
        /// </summary>
        /// <value>EF08_GGVALRIBAFIL - Giorni di valuta Ri.Ba. domiciliati su stesse filiali banca di presentazione</value>
        [DataMember(Name="ggvalribafil", EmitDefaultValue=false)]
        public double? Ggvalribafil { get; set; }

        /// <summary>
        /// EF08_GGVALRIDALT - Giorni di valuta Rid domiciliati su altre banche
        /// </summary>
        /// <value>EF08_GGVALRIDALT - Giorni di valuta Rid domiciliati su altre banche</value>
        [DataMember(Name="ggvalridalt", EmitDefaultValue=false)]
        public double? Ggvalridalt { get; set; }

        /// <summary>
        /// EF08_GGVALRIDFIL - Giorni di valuta Rid domiciliati su stesse filiali banca di presentazione
        /// </summary>
        /// <value>EF08_GGVALRIDFIL - Giorni di valuta Rid domiciliati su stesse filiali banca di presentazione</value>
        [DataMember(Name="ggvalridfil", EmitDefaultValue=false)]
        public double? Ggvalridfil { get; set; }

        /// <summary>
        /// EF08_GGVALSCFATTALT - Giorni di valuta Sconto fatture domiciliate altre banche
        /// </summary>
        /// <value>EF08_GGVALSCFATTALT - Giorni di valuta Sconto fatture domiciliate altre banche</value>
        [DataMember(Name="ggvalscfattalt", EmitDefaultValue=false)]
        public double? Ggvalscfattalt { get; set; }

        /// <summary>
        /// EF08_GGVALSCFATTFIL - Giorni di valuta Sc. fatt. domiciliate su stesse filiali banca di presentazione
        /// </summary>
        /// <value>EF08_GGVALSCFATTFIL - Giorni di valuta Sc. fatt. domiciliate su stesse filiali banca di presentazione</value>
        [DataMember(Name="ggvalscfattfil", EmitDefaultValue=false)]
        public double? Ggvalscfattfil { get; set; }

        /// <summary>
        /// EF08_GGVALTRATALT - Giorni di valuta tratte e tratte accettate domiciliati altre banche
        /// </summary>
        /// <value>EF08_GGVALTRATALT - Giorni di valuta tratte e tratte accettate domiciliati altre banche</value>
        [DataMember(Name="ggvaltratalt", EmitDefaultValue=false)]
        public double? Ggvaltratalt { get; set; }

        /// <summary>
        /// EF08_GGVALTRATFIL - Giorni di valuta tratte e tratte accettate domiciliati su stesse filiali banca di presentazione
        /// </summary>
        /// <value>EF08_GGVALTRATFIL - Giorni di valuta tratte e tratte accettate domiciliati su stesse filiali banca di presentazione</value>
        [DataMember(Name="ggvaltratfil", EmitDefaultValue=false)]
        public double? Ggvaltratfil { get; set; }

        /// <summary>
        /// EF08_IBANANTICIPI - IBAN anticipi
        /// </summary>
        /// <value>EF08_IBANANTICIPI - IBAN anticipi</value>
        [DataMember(Name="ibananticipi", EmitDefaultValue=false)]
        public string Ibananticipi { get; set; }

        /// <summary>
        /// EF08_IBANCONTO - IBAN
        /// </summary>
        /// <value>EF08_IBANCONTO - IBAN</value>
        [DataMember(Name="ibanconto", EmitDefaultValue=false)]
        public string Ibanconto { get; set; }

        /// <summary>
        /// EF08_IBANEFFPRESEF - Ibaneffpresef
        /// </summary>
        /// <value>EF08_IBANEFFPRESEF - Ibaneffpresef</value>
        [DataMember(Name="ibaneffpresef", EmitDefaultValue=false)]
        public string Ibaneffpresef { get; set; }

        /// <summary>
        /// EF08_IBANORDPBONIF - IBAN Bonifici e Ordini di Pagamento
        /// </summary>
        /// <value>EF08_IBANORDPBONIF - IBAN Bonifici e Ordini di Pagamento</value>
        [DataMember(Name="ibanordpbonif", EmitDefaultValue=false)]
        public string Ibanordpbonif { get; set; }

        /// <summary>
        /// EF08_ID - ID (Required only in PUT/PATCH)
        /// </summary>
        /// <value>EF08_ID - ID (Required only in PUT/PATCH)</value>
        [DataMember(Name="id", EmitDefaultValue=false)]
        public long? Id { get; set; }

        /// <summary>
        /// EF08_IDBANCAESTERA - Idbancaestera
        /// </summary>
        /// <value>EF08_IDBANCAESTERA - Idbancaestera</value>
        [DataMember(Name="idbancaestera", EmitDefaultValue=false)]
        public string Idbancaestera { get; set; }

        /// <summary>
        /// EF08_IDCONTRATTO - Id Contratto
        /// </summary>
        /// <value>EF08_IDCONTRATTO - Id Contratto</value>
        [DataMember(Name="idcontratto", EmitDefaultValue=false)]
        public string Idcontratto { get; set; }

        /// <summary>
        /// EF08_IDMEDIA_CG99 - ID HyperMedia
        /// </summary>
        /// <value>EF08_IDMEDIA_CG99 - ID HyperMedia</value>
        [DataMember(Name="idmediaCg99", EmitDefaultValue=false)]
        public double? IdmediaCg99 { get; set; }

        /// <summary>
        /// EF08_IDSUCCURSALE - ID Succursale
        /// </summary>
        /// <value>EF08_IDSUCCURSALE - ID Succursale</value>
        [DataMember(Name="idsuccursale", EmitDefaultValue=false)]
        public double? Idsuccursale { get; set; }

        /// <summary>
        /// EF08_IMPCASTEL - Importo castelletto
        /// </summary>
        /// <value>EF08_IMPCASTEL - Importo castelletto</value>
        [DataMember(Name="impcastel", EmitDefaultValue=false)]
        public double? Impcastel { get; set; }

        /// <summary>
        /// EF08_IMPFIDO - Importo fido
        /// </summary>
        /// <value>EF08_IMPFIDO - Importo fido</value>
        [DataMember(Name="impfido", EmitDefaultValue=false)]
        public double? Impfido { get; set; }

        /// <summary>
        /// EF08_INDCHECKPIVACF - Controllo presenza CF e P.IVA&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_INDCHECKPIVACF - Controllo presenza CF e P.IVA&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - No&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Si&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="indCheckpivacf", EmitDefaultValue=false)]
        public int? IndCheckpivacf { get; set; }

        /// <summary>
        /// EF08_INDCOMPIND - IndCompind&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Su unico tag XML&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Tag XML strutturato&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_INDCOMPIND - IndCompind&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Su unico tag XML&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Tag XML strutturato&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="indCompind", EmitDefaultValue=false)]
        public int? IndCompind { get; set; }

        /// <summary>
        /// EF08_INDCONTPMTINF - Numerazione Rid SDD su file&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Progressiva per distinta&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Relativa per raggruppo&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_INDCONTPMTINF - Numerazione Rid SDD su file&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Progressiva per distinta&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Relativa per raggruppo&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="indContpmtinf", EmitDefaultValue=false)]
        public int? IndContpmtinf { get; set; }

        /// <summary>
        /// EF08_INDPRESMAV - Tipo presentazione MAV&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Sbf a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Sbf ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Sbf anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - All&#x27;incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; - Allo sconto&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_INDPRESMAV - Tipo presentazione MAV&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Sbf a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Sbf ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Sbf anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - All&#x27;incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; - Allo sconto&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="indPresmav", EmitDefaultValue=false)]
        public double? IndPresmav { get; set; }

        /// <summary>
        /// EF08_INDPRESRIBA - Tipo presentazione Ri.Ba.&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Sbf a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Sbf ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Sbf anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - All&#x27;incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; - Allo sconto&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_INDPRESRIBA - Tipo presentazione Ri.Ba.&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Sbf a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Sbf ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Sbf anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - All&#x27;incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; - Allo sconto&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="indPresriba", EmitDefaultValue=false)]
        public double? IndPresriba { get; set; }

        /// <summary>
        /// EF08_INDPRESRID - Tipo presentazione Rid&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Sbf a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Sbf ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Sbf anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - All&#x27;incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; - Allo sconto&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_INDPRESRID - Tipo presentazione Rid&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Sbf a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Sbf ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Sbf anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - All&#x27;incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; - Allo sconto&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="indPresrid", EmitDefaultValue=false)]
        public double? IndPresrid { get; set; }

        /// <summary>
        /// EF08_INDTIPOLIB - Tipo liberalizzazione del castelletto&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Data scadenza + gg. valuta (calendario)&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - 1°gg succ. decade scad.+gg.val (calendario)&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - 1°gg succ. decade scad.+gg.val (lavorativi)&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - Data scadenza + gg. valuta (lavorativi)&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_INDTIPOLIB - Tipo liberalizzazione del castelletto&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Data scadenza + gg. valuta (calendario)&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - 1°gg succ. decade scad.+gg.val (calendario)&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - 1°gg succ. decade scad.+gg.val (lavorativi)&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; - Data scadenza + gg. valuta (lavorativi)&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="indTipolib", EmitDefaultValue=false)]
        public double? IndTipolib { get; set; }

        /// <summary>
        /// EF08_INDTIPOPRES - Tipo presentazione&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Tutte&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; -  S.b.f. ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; -  S.b.f. a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; -  S.b.f. anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;5&lt;/i&gt; - Incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;6&lt;/i&gt; - Sconto&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_INDTIPOPRES - Tipo presentazione&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Tutte&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; -  S.b.f. ordinario&lt;/li&gt;&lt;li&gt;&lt;i&gt;3&lt;/i&gt; -  S.b.f. a maturazione valuta&lt;/li&gt;&lt;li&gt;&lt;i&gt;4&lt;/i&gt; -  S.b.f. anticipato&lt;/li&gt;&lt;li&gt;&lt;i&gt;5&lt;/i&gt; - Incasso&lt;/li&gt;&lt;li&gt;&lt;i&gt;6&lt;/i&gt; - Sconto&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="indTipopres", EmitDefaultValue=false)]
        public double? IndTipopres { get; set; }

        /// <summary>
        /// EF08_LOCBANCAESTERA - Locbancaestera
        /// </summary>
        /// <value>EF08_LOCBANCAESTERA - Locbancaestera</value>
        [DataMember(Name="locbancaestera", EmitDefaultValue=false)]
        public string Locbancaestera { get; set; }

        /// <summary>
        /// EF08_MAXGGINSOLUTI - Max gg. insoluti
        /// </summary>
        /// <value>EF08_MAXGGINSOLUTI - Max gg. insoluti</value>
        [DataMember(Name="maxgginsoluti", EmitDefaultValue=false)]
        public double? Maxgginsoluti { get; set; }

        /// <summary>
        /// EF08_PREFISSOATTRIBMAV - Prefisso banca
        /// </summary>
        /// <value>EF08_PREFISSOATTRIBMAV - Prefisso banca</value>
        [DataMember(Name="prefissoattribmav", EmitDefaultValue=false)]
        public double? Prefissoattribmav { get; set; }

        /// <summary>
        /// EF08_PROGR - Progr.
        /// </summary>
        /// <value>EF08_PROGR - Progr.</value>
        [DataMember(Name="progR", EmitDefaultValue=false)]
        public double? ProgR { get; set; }

        /// <summary>
        /// EF08_ROWVERSION - RowVersion
        /// </summary>
        /// <value>EF08_ROWVERSION - RowVersion</value>
        [DataMember(Name="rowversion", EmitDefaultValue=false)]
        public byte[] Rowversion { get; set; }

        /// <summary>
        /// EF08_SCFINDBASECALC - Importo base calcolo&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Totale documento&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Totale imponibile&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_SCFINDBASECALC - Importo base calcolo&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Totale documento&lt;/li&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Totale imponibile&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="scfindbasecalc", EmitDefaultValue=false)]
        public double? Scfindbasecalc { get; set; }

        /// <summary>
        /// EF08_SCFNSDOCRIF - Estremi ns. doc. riferim.
        /// </summary>
        /// <value>EF08_SCFNSDOCRIF - Estremi ns. doc. riferim.</value>
        [DataMember(Name="scfnsdocrif", EmitDefaultValue=false)]
        public string Scfnsdocrif { get; set; }

        /// <summary>
        /// EF08_SCFPERCPRES - % di presentazione
        /// </summary>
        /// <value>EF08_SCFPERCPRES - % di presentazione</value>
        [DataMember(Name="scfpercpres", EmitDefaultValue=false)]
        public double? Scfpercpres { get; set; }

        /// <summary>
        /// EF08_SCFPERCTASSO - % tasso interesse
        /// </summary>
        /// <value>EF08_SCFPERCTASSO - % tasso interesse</value>
        [DataMember(Name="scfperctasso", EmitDefaultValue=false)]
        public double? Scfperctasso { get; set; }

        /// <summary>
        /// EF08_SCFVSDOCRIF - Estremi vs. doc. riferim.
        /// </summary>
        /// <value>EF08_SCFVSDOCRIF - Estremi vs. doc. riferim.</value>
        [DataMember(Name="scfvsdocrif", EmitDefaultValue=false)]
        public string Scfvsdocrif { get; set; }

        /// <summary>
        /// EF08_SPCOMMBONALT - Spese commissioni su bonifici bancari di altre banche
        /// </summary>
        /// <value>EF08_SPCOMMBONALT - Spese commissioni su bonifici bancari di altre banche</value>
        [DataMember(Name="spcommbonalt", EmitDefaultValue=false)]
        public double? Spcommbonalt { get; set; }

        /// <summary>
        /// EF08_SPCOMMBONFIL - Spese commissioni su bonifici bancari di filiali della stessa banca di presentazione
        /// </summary>
        /// <value>EF08_SPCOMMBONFIL - Spese commissioni su bonifici bancari di filiali della stessa banca di presentazione</value>
        [DataMember(Name="spcommbonfil", EmitDefaultValue=false)]
        public double? Spcommbonfil { get; set; }

        /// <summary>
        /// EF08_SPCOMMORDPALT - Spese commissioni su ordini pagamento di altre banche
        /// </summary>
        /// <value>EF08_SPCOMMORDPALT - Spese commissioni su ordini pagamento di altre banche</value>
        [DataMember(Name="spcommordpalt", EmitDefaultValue=false)]
        public double? Spcommordpalt { get; set; }

        /// <summary>
        /// EF08_SPCOMMORDPFIL - Spese commissioni su ordini pagamento di filiali della stessa banca di presentazione
        /// </summary>
        /// <value>EF08_SPCOMMORDPFIL - Spese commissioni su ordini pagamento di filiali della stessa banca di presentazione</value>
        [DataMember(Name="spcommordpfil", EmitDefaultValue=false)]
        public double? Spcommordpfil { get; set; }

        /// <summary>
        /// EF08_SPINCCAMBALT - Spese incasso cambiali/cessioni domiciliati su altre banche
        /// </summary>
        /// <value>EF08_SPINCCAMBALT - Spese incasso cambiali/cessioni domiciliati su altre banche</value>
        [DataMember(Name="spinccambalt", EmitDefaultValue=false)]
        public double? Spinccambalt { get; set; }

        /// <summary>
        /// EF08_SPINCCAMBFIL - Spese incasso cambiali/cessioni domiciliati su filiali della stessa banca di presentazione
        /// </summary>
        /// <value>EF08_SPINCCAMBFIL - Spese incasso cambiali/cessioni domiciliati su filiali della stessa banca di presentazione</value>
        [DataMember(Name="spinccambfil", EmitDefaultValue=false)]
        public double? Spinccambfil { get; set; }

        /// <summary>
        /// EF08_SPINCCORALT - Spese incasso conferme d&#x27;ordine domiciliati su altre banche
        /// </summary>
        /// <value>EF08_SPINCCORALT - Spese incasso conferme d&#x27;ordine domiciliati su altre banche</value>
        [DataMember(Name="spinccoralt", EmitDefaultValue=false)]
        public double? Spinccoralt { get; set; }

        /// <summary>
        /// EF08_SPINCCORFIL - Spese incasso conferme d&#x27;ordine domiciliati su filiali della stessa banca di presentazione
        /// </summary>
        /// <value>EF08_SPINCCORFIL - Spese incasso conferme d&#x27;ordine domiciliati su filiali della stessa banca di presentazione</value>
        [DataMember(Name="spinccorfil", EmitDefaultValue=false)]
        public double? Spinccorfil { get; set; }

        /// <summary>
        /// EF08_SPINCESITOPAG - Esito di pagamento
        /// </summary>
        /// <value>EF08_SPINCESITOPAG - Esito di pagamento</value>
        [DataMember(Name="spincesitopag", EmitDefaultValue=false)]
        public double? Spincesitopag { get; set; }

        /// <summary>
        /// EF08_SPINCMAVINCALT - Spese incasso Mav assunti al dopo incasso domiciliati su altre banche
        /// </summary>
        /// <value>EF08_SPINCMAVINCALT - Spese incasso Mav assunti al dopo incasso domiciliati su altre banche</value>
        [DataMember(Name="spincmavincalt", EmitDefaultValue=false)]
        public double? Spincmavincalt { get; set; }

        /// <summary>
        /// EF08_SPINCMAVINCFIL - Spese incasso Mav assunti al dopo incasso domiciliati su filiali della stessa banca di presentazione
        /// </summary>
        /// <value>EF08_SPINCMAVINCFIL - Spese incasso Mav assunti al dopo incasso domiciliati su filiali della stessa banca di presentazione</value>
        [DataMember(Name="spincmavincfil", EmitDefaultValue=false)]
        public double? Spincmavincfil { get; set; }

        /// <summary>
        /// EF08_SPINCMAVINCPOS - Spese incasso Mav assunti al dopo incasso domiciliati su uffici postali
        /// </summary>
        /// <value>EF08_SPINCMAVINCPOS - Spese incasso Mav assunti al dopo incasso domiciliati su uffici postali</value>
        [DataMember(Name="spincmavincpos", EmitDefaultValue=false)]
        public double? Spincmavincpos { get; set; }

        /// <summary>
        /// EF08_SPINCMAVSBF - Spese incasso Mav assunti a s.b.f.
        /// </summary>
        /// <value>EF08_SPINCMAVSBF - Spese incasso Mav assunti a s.b.f.</value>
        [DataMember(Name="spincmavsbf", EmitDefaultValue=false)]
        public double? Spincmavsbf { get; set; }

        /// <summary>
        /// EF08_SPINCRIBAALT - Spese incasso Ri.Ba. domiciliati su altre banche
        /// </summary>
        /// <value>EF08_SPINCRIBAALT - Spese incasso Ri.Ba. domiciliati su altre banche</value>
        [DataMember(Name="spincribaalt", EmitDefaultValue=false)]
        public double? Spincribaalt { get; set; }

        /// <summary>
        /// EF08_SPINCRIBAFIL - Spese incasso Ri.Ba. domiciliati su filiali della stessa banca di presentazione
        /// </summary>
        /// <value>EF08_SPINCRIBAFIL - Spese incasso Ri.Ba. domiciliati su filiali della stessa banca di presentazione</value>
        [DataMember(Name="spincribafil", EmitDefaultValue=false)]
        public double? Spincribafil { get; set; }

        /// <summary>
        /// EF08_SPINCRIDALT - Spese incasso Rid domiciliati su altre banche
        /// </summary>
        /// <value>EF08_SPINCRIDALT - Spese incasso Rid domiciliati su altre banche</value>
        [DataMember(Name="spincridalt", EmitDefaultValue=false)]
        public double? Spincridalt { get; set; }

        /// <summary>
        /// EF08_SPINCRIDFIL - Spese incasso Rid domiciliati su filiali della stessa banca di presentazione
        /// </summary>
        /// <value>EF08_SPINCRIDFIL - Spese incasso Rid domiciliati su filiali della stessa banca di presentazione</value>
        [DataMember(Name="spincridfil", EmitDefaultValue=false)]
        public double? Spincridfil { get; set; }

        /// <summary>
        /// EF08_SPINCTRAALT - Spese incasso tratte domiciliati su altre banche
        /// </summary>
        /// <value>EF08_SPINCTRAALT - Spese incasso tratte domiciliati su altre banche</value>
        [DataMember(Name="spinctraalt", EmitDefaultValue=false)]
        public double? Spinctraalt { get; set; }

        /// <summary>
        /// EF08_SPINCTRAFIL - Spese incasso tratte domiciliati su filiali della stessa banca di presentazione
        /// </summary>
        /// <value>EF08_SPINCTRAFIL - Spese incasso tratte domiciliati su filiali della stessa banca di presentazione</value>
        [DataMember(Name="spinctrafil", EmitDefaultValue=false)]
        public double? Spinctrafil { get; set; }

        /// <summary>
        /// EF08_SPPRESDISTINTA - Presentazione distinta
        /// </summary>
        /// <value>EF08_SPPRESDISTINTA - Presentazione distinta</value>
        [DataMember(Name="sppresdistinta", EmitDefaultValue=false)]
        public double? Sppresdistinta { get; set; }

        /// <summary>
        /// EF08_SPRITCAMB - Spese di ritorno effettive per cambiali e cessioni
        /// </summary>
        /// <value>EF08_SPRITCAMB - Spese di ritorno effettive per cambiali e cessioni</value>
        [DataMember(Name="spritcamb", EmitDefaultValue=false)]
        public double? Spritcamb { get; set; }

        /// <summary>
        /// EF08_SPRITCAMBCL - Spese di ritorno da addebitare al cliente per cambiali e cessioni
        /// </summary>
        /// <value>EF08_SPRITCAMBCL - Spese di ritorno da addebitare al cliente per cambiali e cessioni</value>
        [DataMember(Name="spritcambcl", EmitDefaultValue=false)]
        public double? Spritcambcl { get; set; }

        /// <summary>
        /// EF08_SPRITMAVINCAS - Spese di ritorno effettive per MAV all&#x27;incasso
        /// </summary>
        /// <value>EF08_SPRITMAVINCAS - Spese di ritorno effettive per MAV all&#x27;incasso</value>
        [DataMember(Name="spritmavincas", EmitDefaultValue=false)]
        public double? Spritmavincas { get; set; }

        /// <summary>
        /// EF08_SPRITMAVINCASCL - Spese di ritorno da addebitare al cliente per MAV all&#x27;incasso
        /// </summary>
        /// <value>EF08_SPRITMAVINCASCL - Spese di ritorno da addebitare al cliente per MAV all&#x27;incasso</value>
        [DataMember(Name="spritmavincascl", EmitDefaultValue=false)]
        public double? Spritmavincascl { get; set; }

        /// <summary>
        /// EF08_SPRITMAVSBF - Spese di ritorno effettive per MAV Sbf
        /// </summary>
        /// <value>EF08_SPRITMAVSBF - Spese di ritorno effettive per MAV Sbf</value>
        [DataMember(Name="spritmavsbf", EmitDefaultValue=false)]
        public double? Spritmavsbf { get; set; }

        /// <summary>
        /// EF08_SPRITMAVSBFCL - Spese di ritorno da addebitare al cliente per MAV Sbf
        /// </summary>
        /// <value>EF08_SPRITMAVSBFCL - Spese di ritorno da addebitare al cliente per MAV Sbf</value>
        [DataMember(Name="spritmavsbfcl", EmitDefaultValue=false)]
        public double? Spritmavsbfcl { get; set; }

        /// <summary>
        /// EF08_SPRITRIBA - Spese di ritorno effettive Ri.Ba. e conferme d&#x27;ordine
        /// </summary>
        /// <value>EF08_SPRITRIBA - Spese di ritorno effettive Ri.Ba. e conferme d&#x27;ordine</value>
        [DataMember(Name="spritriba", EmitDefaultValue=false)]
        public double? Spritriba { get; set; }

        /// <summary>
        /// EF08_SPRITRIBACL - Spese di ritorno da addebitare al cliente per Ri.Ba. e conferme d&#x27;ordine
        /// </summary>
        /// <value>EF08_SPRITRIBACL - Spese di ritorno da addebitare al cliente per Ri.Ba. e conferme d&#x27;ordine</value>
        [DataMember(Name="spritribacl", EmitDefaultValue=false)]
        public double? Spritribacl { get; set; }

        /// <summary>
        /// EF08_SPRITRID - Spese di ritorno effettive per Rid
        /// </summary>
        /// <value>EF08_SPRITRID - Spese di ritorno effettive per Rid</value>
        [DataMember(Name="spritrid", EmitDefaultValue=false)]
        public double? Spritrid { get; set; }

        /// <summary>
        /// EF08_SPRITRIDCL - Spese di ritorno da addebitare al cliente per Rid
        /// </summary>
        /// <value>EF08_SPRITRIDCL - Spese di ritorno da addebitare al cliente per Rid</value>
        [DataMember(Name="spritridcl", EmitDefaultValue=false)]
        public double? Spritridcl { get; set; }

        /// <summary>
        /// EF08_SPRITTRATTE - Spese di ritorno effettive tratte e tratte accettate
        /// </summary>
        /// <value>EF08_SPRITTRATTE - Spese di ritorno effettive tratte e tratte accettate</value>
        [DataMember(Name="sprittratte", EmitDefaultValue=false)]
        public double? Sprittratte { get; set; }

        /// <summary>
        /// EF08_SPRITTRATTECL - Spese di ritorno da addebitare al cliente per tratte e tratte accettate
        /// </summary>
        /// <value>EF08_SPRITTRATTECL - Spese di ritorno da addebitare al cliente per tratte e tratte accettate</value>
        [DataMember(Name="sprittrattecl", EmitDefaultValue=false)]
        public double? Sprittrattecl { get; set; }

        /// <summary>
        /// EF08_TIPOBANCA - Tipo banca&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Nessuno&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Internazionale&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Domestico&lt;/li&gt;&lt;/ul&gt;
        /// </summary>
        /// <value>EF08_TIPOBANCA - Tipo banca&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;0&lt;/i&gt; - Nessuno&lt;/li&gt;&lt;li&gt;&lt;i&gt;1&lt;/i&gt; - Internazionale&lt;/li&gt;&lt;li&gt;&lt;i&gt;2&lt;/i&gt; - Domestico&lt;/li&gt;&lt;/ul&gt;</value>
        [DataMember(Name="tipobanca", EmitDefaultValue=false)]
        public double? Tipobanca { get; set; }

        /// <summary>
        /// EF08_ULTPROGRESSMAV - Ultimo progressivo
        /// </summary>
        /// <value>EF08_ULTPROGRESSMAV - Ultimo progressivo</value>
        [DataMember(Name="ultprogressmav", EmitDefaultValue=false)]
        public double? Ultprogressmav { get; set; }

        /// <summary>
        /// Gets or Sets BankCO
        /// </summary>
        [DataMember(Name="bankCO", EmitDefaultValue=false)]
        public BankCODTO BankCO { get; set; }

        /// <summary>
        /// Gets or Sets NationCO
        /// </summary>
        [DataMember(Name="nationCO", EmitDefaultValue=false)]
        public NationCODTO NationCO { get; set; }

        /// <summary>
        /// Gets or Sets AdditionalData
        /// </summary>
        [DataMember(Name="additionalData", EmitDefaultValue=false)]
        public Dictionary<string, Object> AdditionalData { get; set; }

        /// <summary>
        /// Gets or Sets PluginData
        /// </summary>
        [DataMember(Name="pluginData", EmitDefaultValue=false)]
        public Dictionary<string, Object> PluginData { get; set; }

        /// <summary>
        /// Returns the string presentation of the object
        /// </summary>
        /// <returns>String presentation of the object</returns>
        public override string ToString()
        {
            var sb = new StringBuilder();
            sb.Append("class CompanyBankCODTO {\n");
            sb.Append("  Aprogressmav: ").Append(Aprogressmav).Append("\n");
            sb.Append("  BancaCg12: ").Append(BancaCg12).Append("\n");
            sb.Append("  Bbananticipi: ").Append(Bbananticipi).Append("\n");
            sb.Append("  Bbanconto: ").Append(Bbanconto).Append("\n");
            sb.Append("  Bbaneffpresef: ").Append(Bbaneffpresef).Append("\n");
            sb.Append("  Bbanordpbonif: ").Append(Bbanordpbonif).Append("\n");
            sb.Append("  Bicbanca: ").Append(Bicbanca).Append("\n");
            sb.Append("  CabbonifCg13: ").Append(CabbonifCg13).Append("\n");
            sb.Append("  CabcontoCg13: ").Append(CabcontoCg13).Append("\n");
            sb.Append("  CabmavCg13: ").Append(CabmavCg13).Append("\n");
            sb.Append("  CabribaCg13: ").Append(CabribaCg13).Append("\n");
            sb.Append("  CabridCg13: ").Append(CabridCg13).Append("\n");
            sb.Append("  Ccanticipi: ").Append(Ccanticipi).Append("\n");
            sb.Append("  Ccconto: ").Append(Ccconto).Append("\n");
            sb.Append("  Cceffpresef: ").Append(Cceffpresef).Append("\n");
            sb.Append("  Ccordpbonif: ").Append(Ccordpbonif).Append("\n");
            sb.Append("  CodAzienda: ").Append(CodAzienda).Append("\n");
            sb.Append("  CodiceCg07: ").Append(CodiceCg07).Append("\n");
            sb.Append("  Codicecuc: ").Append(Codicecuc).Append("\n");
            sb.Append("  CodRappopor: ").Append(CodRappopor).Append("\n");
            sb.Append("  CodSia: ").Append(CodSia).Append("\n");
            sb.Append("  Creditidentifier: ").Append(Creditidentifier).Append("\n");
            sb.Append("  Daprogressmav: ").Append(Daprogressmav).Append("\n");
            sb.Append("  Descr: ").Append(Descr).Append("\n");
            sb.Append("  DittaCg18: ").Append(DittaCg18).Append("\n");
            sb.Append("  FlgAutattribnrmav: ").Append(FlgAutattribnrmav).Append("\n");
            sb.Append("  FlgCambiali: ").Append(FlgCambiali).Append("\n");
            sb.Append("  FlgCessioni: ").Append(FlgCessioni).Append("\n");
            sb.Append("  FlgMav: ").Append(FlgMav).Append("\n");
            sb.Append("  FlgPref: ").Append(FlgPref).Append("\n");
            sb.Append("  FlgRiba: ").Append(FlgRiba).Append("\n");
            sb.Append("  FlgRibacamb: ").Append(FlgRibacamb).Append("\n");
            sb.Append("  FlgRibacess: ").Append(FlgRibacess).Append("\n");
            sb.Append("  FlgRibaricba: ").Append(FlgRibaricba).Append("\n");
            sb.Append("  FlgRibatratac: ").Append(FlgRibatratac).Append("\n");
            sb.Append("  FlgRibatratte: ").Append(FlgRibatratte).Append("\n");
            sb.Append("  FlgRidsdd: ").Append(FlgRidsdd).Append("\n");
            sb.Append("  FlgRidsddraggr: ").Append(FlgRidsddraggr).Append("\n");
            sb.Append("  FlgScfatt: ").Append(FlgScfatt).Append("\n");
            sb.Append("  FlgTratte: ").Append(FlgTratte).Append("\n");
            sb.Append("  Ggvalcambalt: ").Append(Ggvalcambalt).Append("\n");
            sb.Append("  Ggvalcambfil: ").Append(Ggvalcambfil).Append("\n");
            sb.Append("  Ggvalmavincalt: ").Append(Ggvalmavincalt).Append("\n");
            sb.Append("  Ggvalmavincfil: ").Append(Ggvalmavincfil).Append("\n");
            sb.Append("  Ggvalmavincpos: ").Append(Ggvalmavincpos).Append("\n");
            sb.Append("  Ggvalmavsbf: ").Append(Ggvalmavsbf).Append("\n");
            sb.Append("  Ggvalribaalt: ").Append(Ggvalribaalt).Append("\n");
            sb.Append("  Ggvalribafil: ").Append(Ggvalribafil).Append("\n");
            sb.Append("  Ggvalridalt: ").Append(Ggvalridalt).Append("\n");
            sb.Append("  Ggvalridfil: ").Append(Ggvalridfil).Append("\n");
            sb.Append("  Ggvalscfattalt: ").Append(Ggvalscfattalt).Append("\n");
            sb.Append("  Ggvalscfattfil: ").Append(Ggvalscfattfil).Append("\n");
            sb.Append("  Ggvaltratalt: ").Append(Ggvaltratalt).Append("\n");
            sb.Append("  Ggvaltratfil: ").Append(Ggvaltratfil).Append("\n");
            sb.Append("  Ibananticipi: ").Append(Ibananticipi).Append("\n");
            sb.Append("  Ibanconto: ").Append(Ibanconto).Append("\n");
            sb.Append("  Ibaneffpresef: ").Append(Ibaneffpresef).Append("\n");
            sb.Append("  Ibanordpbonif: ").Append(Ibanordpbonif).Append("\n");
            sb.Append("  Id: ").Append(Id).Append("\n");
            sb.Append("  Idbancaestera: ").Append(Idbancaestera).Append("\n");
            sb.Append("  Idcontratto: ").Append(Idcontratto).Append("\n");
            sb.Append("  IdmediaCg99: ").Append(IdmediaCg99).Append("\n");
            sb.Append("  Idsuccursale: ").Append(Idsuccursale).Append("\n");
            sb.Append("  Impcastel: ").Append(Impcastel).Append("\n");
            sb.Append("  Impfido: ").Append(Impfido).Append("\n");
            sb.Append("  IndCheckpivacf: ").Append(IndCheckpivacf).Append("\n");
            sb.Append("  IndCompind: ").Append(IndCompind).Append("\n");
            sb.Append("  IndContpmtinf: ").Append(IndContpmtinf).Append("\n");
            sb.Append("  IndPresmav: ").Append(IndPresmav).Append("\n");
            sb.Append("  IndPresriba: ").Append(IndPresriba).Append("\n");
            sb.Append("  IndPresrid: ").Append(IndPresrid).Append("\n");
            sb.Append("  IndTipolib: ").Append(IndTipolib).Append("\n");
            sb.Append("  IndTipopres: ").Append(IndTipopres).Append("\n");
            sb.Append("  Locbancaestera: ").Append(Locbancaestera).Append("\n");
            sb.Append("  Maxgginsoluti: ").Append(Maxgginsoluti).Append("\n");
            sb.Append("  Prefissoattribmav: ").Append(Prefissoattribmav).Append("\n");
            sb.Append("  ProgR: ").Append(ProgR).Append("\n");
            sb.Append("  Rowversion: ").Append(Rowversion).Append("\n");
            sb.Append("  Scfindbasecalc: ").Append(Scfindbasecalc).Append("\n");
            sb.Append("  Scfnsdocrif: ").Append(Scfnsdocrif).Append("\n");
            sb.Append("  Scfpercpres: ").Append(Scfpercpres).Append("\n");
            sb.Append("  Scfperctasso: ").Append(Scfperctasso).Append("\n");
            sb.Append("  Scfvsdocrif: ").Append(Scfvsdocrif).Append("\n");
            sb.Append("  Spcommbonalt: ").Append(Spcommbonalt).Append("\n");
            sb.Append("  Spcommbonfil: ").Append(Spcommbonfil).Append("\n");
            sb.Append("  Spcommordpalt: ").Append(Spcommordpalt).Append("\n");
            sb.Append("  Spcommordpfil: ").Append(Spcommordpfil).Append("\n");
            sb.Append("  Spinccambalt: ").Append(Spinccambalt).Append("\n");
            sb.Append("  Spinccambfil: ").Append(Spinccambfil).Append("\n");
            sb.Append("  Spinccoralt: ").Append(Spinccoralt).Append("\n");
            sb.Append("  Spinccorfil: ").Append(Spinccorfil).Append("\n");
            sb.Append("  Spincesitopag: ").Append(Spincesitopag).Append("\n");
            sb.Append("  Spincmavincalt: ").Append(Spincmavincalt).Append("\n");
            sb.Append("  Spincmavincfil: ").Append(Spincmavincfil).Append("\n");
            sb.Append("  Spincmavincpos: ").Append(Spincmavincpos).Append("\n");
            sb.Append("  Spincmavsbf: ").Append(Spincmavsbf).Append("\n");
            sb.Append("  Spincribaalt: ").Append(Spincribaalt).Append("\n");
            sb.Append("  Spincribafil: ").Append(Spincribafil).Append("\n");
            sb.Append("  Spincridalt: ").Append(Spincridalt).Append("\n");
            sb.Append("  Spincridfil: ").Append(Spincridfil).Append("\n");
            sb.Append("  Spinctraalt: ").Append(Spinctraalt).Append("\n");
            sb.Append("  Spinctrafil: ").Append(Spinctrafil).Append("\n");
            sb.Append("  Sppresdistinta: ").Append(Sppresdistinta).Append("\n");
            sb.Append("  Spritcamb: ").Append(Spritcamb).Append("\n");
            sb.Append("  Spritcambcl: ").Append(Spritcambcl).Append("\n");
            sb.Append("  Spritmavincas: ").Append(Spritmavincas).Append("\n");
            sb.Append("  Spritmavincascl: ").Append(Spritmavincascl).Append("\n");
            sb.Append("  Spritmavsbf: ").Append(Spritmavsbf).Append("\n");
            sb.Append("  Spritmavsbfcl: ").Append(Spritmavsbfcl).Append("\n");
            sb.Append("  Spritriba: ").Append(Spritriba).Append("\n");
            sb.Append("  Spritribacl: ").Append(Spritribacl).Append("\n");
            sb.Append("  Spritrid: ").Append(Spritrid).Append("\n");
            sb.Append("  Spritridcl: ").Append(Spritridcl).Append("\n");
            sb.Append("  Sprittratte: ").Append(Sprittratte).Append("\n");
            sb.Append("  Sprittrattecl: ").Append(Sprittrattecl).Append("\n");
            sb.Append("  Tipobanca: ").Append(Tipobanca).Append("\n");
            sb.Append("  Ultprogressmav: ").Append(Ultprogressmav).Append("\n");
            sb.Append("  BankCO: ").Append(BankCO).Append("\n");
            sb.Append("  NationCO: ").Append(NationCO).Append("\n");
            sb.Append("  AdditionalData: ").Append(AdditionalData).Append("\n");
            sb.Append("  PluginData: ").Append(PluginData).Append("\n");
            sb.Append("}\n");
            return sb.ToString();
        }
  
        /// <summary>
        /// Returns the JSON string presentation of the object
        /// </summary>
        /// <returns>JSON string presentation of the object</returns>
        public virtual string ToJson()
        {
            return JsonConvert.SerializeObject(this, Formatting.Indented);
        }

        /// <summary>
        /// Returns true if objects are equal
        /// </summary>
        /// <param name="input">Object to be compared</param>
        /// <returns>Boolean</returns>
        public override bool Equals(object input)
        {
            return this.Equals(input as CompanyBankCODTO);
        }

        /// <summary>
        /// Returns true if CompanyBankCODTO instances are equal
        /// </summary>
        /// <param name="input">Instance of CompanyBankCODTO to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(CompanyBankCODTO input)
        {
            if (input == null)
                return false;

            return 
                (
                    this.Aprogressmav == input.Aprogressmav ||
                    (this.Aprogressmav != null &&
                    this.Aprogressmav.Equals(input.Aprogressmav))
                ) && 
                (
                    this.BancaCg12 == input.BancaCg12 ||
                    (this.BancaCg12 != null &&
                    this.BancaCg12.Equals(input.BancaCg12))
                ) && 
                (
                    this.Bbananticipi == input.Bbananticipi ||
                    (this.Bbananticipi != null &&
                    this.Bbananticipi.Equals(input.Bbananticipi))
                ) && 
                (
                    this.Bbanconto == input.Bbanconto ||
                    (this.Bbanconto != null &&
                    this.Bbanconto.Equals(input.Bbanconto))
                ) && 
                (
                    this.Bbaneffpresef == input.Bbaneffpresef ||
                    (this.Bbaneffpresef != null &&
                    this.Bbaneffpresef.Equals(input.Bbaneffpresef))
                ) && 
                (
                    this.Bbanordpbonif == input.Bbanordpbonif ||
                    (this.Bbanordpbonif != null &&
                    this.Bbanordpbonif.Equals(input.Bbanordpbonif))
                ) && 
                (
                    this.Bicbanca == input.Bicbanca ||
                    (this.Bicbanca != null &&
                    this.Bicbanca.Equals(input.Bicbanca))
                ) && 
                (
                    this.CabbonifCg13 == input.CabbonifCg13 ||
                    (this.CabbonifCg13 != null &&
                    this.CabbonifCg13.Equals(input.CabbonifCg13))
                ) && 
                (
                    this.CabcontoCg13 == input.CabcontoCg13 ||
                    (this.CabcontoCg13 != null &&
                    this.CabcontoCg13.Equals(input.CabcontoCg13))
                ) && 
                (
                    this.CabmavCg13 == input.CabmavCg13 ||
                    (this.CabmavCg13 != null &&
                    this.CabmavCg13.Equals(input.CabmavCg13))
                ) && 
                (
                    this.CabribaCg13 == input.CabribaCg13 ||
                    (this.CabribaCg13 != null &&
                    this.CabribaCg13.Equals(input.CabribaCg13))
                ) && 
                (
                    this.CabridCg13 == input.CabridCg13 ||
                    (this.CabridCg13 != null &&
                    this.CabridCg13.Equals(input.CabridCg13))
                ) && 
                (
                    this.Ccanticipi == input.Ccanticipi ||
                    (this.Ccanticipi != null &&
                    this.Ccanticipi.Equals(input.Ccanticipi))
                ) && 
                (
                    this.Ccconto == input.Ccconto ||
                    (this.Ccconto != null &&
                    this.Ccconto.Equals(input.Ccconto))
                ) && 
                (
                    this.Cceffpresef == input.Cceffpresef ||
                    (this.Cceffpresef != null &&
                    this.Cceffpresef.Equals(input.Cceffpresef))
                ) && 
                (
                    this.Ccordpbonif == input.Ccordpbonif ||
                    (this.Ccordpbonif != null &&
                    this.Ccordpbonif.Equals(input.Ccordpbonif))
                ) && 
                (
                    this.CodAzienda == input.CodAzienda ||
                    (this.CodAzienda != null &&
                    this.CodAzienda.Equals(input.CodAzienda))
                ) && 
                (
                    this.CodiceCg07 == input.CodiceCg07 ||
                    (this.CodiceCg07 != null &&
                    this.CodiceCg07.Equals(input.CodiceCg07))
                ) && 
                (
                    this.Codicecuc == input.Codicecuc ||
                    (this.Codicecuc != null &&
                    this.Codicecuc.Equals(input.Codicecuc))
                ) && 
                (
                    this.CodRappopor == input.CodRappopor ||
                    (this.CodRappopor != null &&
                    this.CodRappopor.Equals(input.CodRappopor))
                ) && 
                (
                    this.CodSia == input.CodSia ||
                    (this.CodSia != null &&
                    this.CodSia.Equals(input.CodSia))
                ) && 
                (
                    this.Creditidentifier == input.Creditidentifier ||
                    (this.Creditidentifier != null &&
                    this.Creditidentifier.Equals(input.Creditidentifier))
                ) && 
                (
                    this.Daprogressmav == input.Daprogressmav ||
                    (this.Daprogressmav != null &&
                    this.Daprogressmav.Equals(input.Daprogressmav))
                ) && 
                (
                    this.Descr == input.Descr ||
                    (this.Descr != null &&
                    this.Descr.Equals(input.Descr))
                ) && 
                (
                    this.DittaCg18 == input.DittaCg18 ||
                    (this.DittaCg18 != null &&
                    this.DittaCg18.Equals(input.DittaCg18))
                ) && 
                (
                    this.FlgAutattribnrmav == input.FlgAutattribnrmav ||
                    (this.FlgAutattribnrmav != null &&
                    this.FlgAutattribnrmav.Equals(input.FlgAutattribnrmav))
                ) && 
                (
                    this.FlgCambiali == input.FlgCambiali ||
                    (this.FlgCambiali != null &&
                    this.FlgCambiali.Equals(input.FlgCambiali))
                ) && 
                (
                    this.FlgCessioni == input.FlgCessioni ||
                    (this.FlgCessioni != null &&
                    this.FlgCessioni.Equals(input.FlgCessioni))
                ) && 
                (
                    this.FlgMav == input.FlgMav ||
                    (this.FlgMav != null &&
                    this.FlgMav.Equals(input.FlgMav))
                ) && 
                (
                    this.FlgPref == input.FlgPref ||
                    (this.FlgPref != null &&
                    this.FlgPref.Equals(input.FlgPref))
                ) && 
                (
                    this.FlgRiba == input.FlgRiba ||
                    (this.FlgRiba != null &&
                    this.FlgRiba.Equals(input.FlgRiba))
                ) && 
                (
                    this.FlgRibacamb == input.FlgRibacamb ||
                    (this.FlgRibacamb != null &&
                    this.FlgRibacamb.Equals(input.FlgRibacamb))
                ) && 
                (
                    this.FlgRibacess == input.FlgRibacess ||
                    (this.FlgRibacess != null &&
                    this.FlgRibacess.Equals(input.FlgRibacess))
                ) && 
                (
                    this.FlgRibaricba == input.FlgRibaricba ||
                    (this.FlgRibaricba != null &&
                    this.FlgRibaricba.Equals(input.FlgRibaricba))
                ) && 
                (
                    this.FlgRibatratac == input.FlgRibatratac ||
                    (this.FlgRibatratac != null &&
                    this.FlgRibatratac.Equals(input.FlgRibatratac))
                ) && 
                (
                    this.FlgRibatratte == input.FlgRibatratte ||
                    (this.FlgRibatratte != null &&
                    this.FlgRibatratte.Equals(input.FlgRibatratte))
                ) && 
                (
                    this.FlgRidsdd == input.FlgRidsdd ||
                    (this.FlgRidsdd != null &&
                    this.FlgRidsdd.Equals(input.FlgRidsdd))
                ) && 
                (
                    this.FlgRidsddraggr == input.FlgRidsddraggr ||
                    (this.FlgRidsddraggr != null &&
                    this.FlgRidsddraggr.Equals(input.FlgRidsddraggr))
                ) && 
                (
                    this.FlgScfatt == input.FlgScfatt ||
                    (this.FlgScfatt != null &&
                    this.FlgScfatt.Equals(input.FlgScfatt))
                ) && 
                (
                    this.FlgTratte == input.FlgTratte ||
                    (this.FlgTratte != null &&
                    this.FlgTratte.Equals(input.FlgTratte))
                ) && 
                (
                    this.Ggvalcambalt == input.Ggvalcambalt ||
                    (this.Ggvalcambalt != null &&
                    this.Ggvalcambalt.Equals(input.Ggvalcambalt))
                ) && 
                (
                    this.Ggvalcambfil == input.Ggvalcambfil ||
                    (this.Ggvalcambfil != null &&
                    this.Ggvalcambfil.Equals(input.Ggvalcambfil))
                ) && 
                (
                    this.Ggvalmavincalt == input.Ggvalmavincalt ||
                    (this.Ggvalmavincalt != null &&
                    this.Ggvalmavincalt.Equals(input.Ggvalmavincalt))
                ) && 
                (
                    this.Ggvalmavincfil == input.Ggvalmavincfil ||
                    (this.Ggvalmavincfil != null &&
                    this.Ggvalmavincfil.Equals(input.Ggvalmavincfil))
                ) && 
                (
                    this.Ggvalmavincpos == input.Ggvalmavincpos ||
                    (this.Ggvalmavincpos != null &&
                    this.Ggvalmavincpos.Equals(input.Ggvalmavincpos))
                ) && 
                (
                    this.Ggvalmavsbf == input.Ggvalmavsbf ||
                    (this.Ggvalmavsbf != null &&
                    this.Ggvalmavsbf.Equals(input.Ggvalmavsbf))
                ) && 
                (
                    this.Ggvalribaalt == input.Ggvalribaalt ||
                    (this.Ggvalribaalt != null &&
                    this.Ggvalribaalt.Equals(input.Ggvalribaalt))
                ) && 
                (
                    this.Ggvalribafil == input.Ggvalribafil ||
                    (this.Ggvalribafil != null &&
                    this.Ggvalribafil.Equals(input.Ggvalribafil))
                ) && 
                (
                    this.Ggvalridalt == input.Ggvalridalt ||
                    (this.Ggvalridalt != null &&
                    this.Ggvalridalt.Equals(input.Ggvalridalt))
                ) && 
                (
                    this.Ggvalridfil == input.Ggvalridfil ||
                    (this.Ggvalridfil != null &&
                    this.Ggvalridfil.Equals(input.Ggvalridfil))
                ) && 
                (
                    this.Ggvalscfattalt == input.Ggvalscfattalt ||
                    (this.Ggvalscfattalt != null &&
                    this.Ggvalscfattalt.Equals(input.Ggvalscfattalt))
                ) && 
                (
                    this.Ggvalscfattfil == input.Ggvalscfattfil ||
                    (this.Ggvalscfattfil != null &&
                    this.Ggvalscfattfil.Equals(input.Ggvalscfattfil))
                ) && 
                (
                    this.Ggvaltratalt == input.Ggvaltratalt ||
                    (this.Ggvaltratalt != null &&
                    this.Ggvaltratalt.Equals(input.Ggvaltratalt))
                ) && 
                (
                    this.Ggvaltratfil == input.Ggvaltratfil ||
                    (this.Ggvaltratfil != null &&
                    this.Ggvaltratfil.Equals(input.Ggvaltratfil))
                ) && 
                (
                    this.Ibananticipi == input.Ibananticipi ||
                    (this.Ibananticipi != null &&
                    this.Ibananticipi.Equals(input.Ibananticipi))
                ) && 
                (
                    this.Ibanconto == input.Ibanconto ||
                    (this.Ibanconto != null &&
                    this.Ibanconto.Equals(input.Ibanconto))
                ) && 
                (
                    this.Ibaneffpresef == input.Ibaneffpresef ||
                    (this.Ibaneffpresef != null &&
                    this.Ibaneffpresef.Equals(input.Ibaneffpresef))
                ) && 
                (
                    this.Ibanordpbonif == input.Ibanordpbonif ||
                    (this.Ibanordpbonif != null &&
                    this.Ibanordpbonif.Equals(input.Ibanordpbonif))
                ) && 
                (
                    this.Id == input.Id ||
                    (this.Id != null &&
                    this.Id.Equals(input.Id))
                ) && 
                (
                    this.Idbancaestera == input.Idbancaestera ||
                    (this.Idbancaestera != null &&
                    this.Idbancaestera.Equals(input.Idbancaestera))
                ) && 
                (
                    this.Idcontratto == input.Idcontratto ||
                    (this.Idcontratto != null &&
                    this.Idcontratto.Equals(input.Idcontratto))
                ) && 
                (
                    this.IdmediaCg99 == input.IdmediaCg99 ||
                    (this.IdmediaCg99 != null &&
                    this.IdmediaCg99.Equals(input.IdmediaCg99))
                ) && 
                (
                    this.Idsuccursale == input.Idsuccursale ||
                    (this.Idsuccursale != null &&
                    this.Idsuccursale.Equals(input.Idsuccursale))
                ) && 
                (
                    this.Impcastel == input.Impcastel ||
                    (this.Impcastel != null &&
                    this.Impcastel.Equals(input.Impcastel))
                ) && 
                (
                    this.Impfido == input.Impfido ||
                    (this.Impfido != null &&
                    this.Impfido.Equals(input.Impfido))
                ) && 
                (
                    this.IndCheckpivacf == input.IndCheckpivacf ||
                    (this.IndCheckpivacf != null &&
                    this.IndCheckpivacf.Equals(input.IndCheckpivacf))
                ) && 
                (
                    this.IndCompind == input.IndCompind ||
                    (this.IndCompind != null &&
                    this.IndCompind.Equals(input.IndCompind))
                ) && 
                (
                    this.IndContpmtinf == input.IndContpmtinf ||
                    (this.IndContpmtinf != null &&
                    this.IndContpmtinf.Equals(input.IndContpmtinf))
                ) && 
                (
                    this.IndPresmav == input.IndPresmav ||
                    (this.IndPresmav != null &&
                    this.IndPresmav.Equals(input.IndPresmav))
                ) && 
                (
                    this.IndPresriba == input.IndPresriba ||
                    (this.IndPresriba != null &&
                    this.IndPresriba.Equals(input.IndPresriba))
                ) && 
                (
                    this.IndPresrid == input.IndPresrid ||
                    (this.IndPresrid != null &&
                    this.IndPresrid.Equals(input.IndPresrid))
                ) && 
                (
                    this.IndTipolib == input.IndTipolib ||
                    (this.IndTipolib != null &&
                    this.IndTipolib.Equals(input.IndTipolib))
                ) && 
                (
                    this.IndTipopres == input.IndTipopres ||
                    (this.IndTipopres != null &&
                    this.IndTipopres.Equals(input.IndTipopres))
                ) && 
                (
                    this.Locbancaestera == input.Locbancaestera ||
                    (this.Locbancaestera != null &&
                    this.Locbancaestera.Equals(input.Locbancaestera))
                ) && 
                (
                    this.Maxgginsoluti == input.Maxgginsoluti ||
                    (this.Maxgginsoluti != null &&
                    this.Maxgginsoluti.Equals(input.Maxgginsoluti))
                ) && 
                (
                    this.Prefissoattribmav == input.Prefissoattribmav ||
                    (this.Prefissoattribmav != null &&
                    this.Prefissoattribmav.Equals(input.Prefissoattribmav))
                ) && 
                (
                    this.ProgR == input.ProgR ||
                    (this.ProgR != null &&
                    this.ProgR.Equals(input.ProgR))
                ) && 
                (
                    this.Rowversion == input.Rowversion ||
                    (this.Rowversion != null &&
                    this.Rowversion.Equals(input.Rowversion))
                ) && 
                (
                    this.Scfindbasecalc == input.Scfindbasecalc ||
                    (this.Scfindbasecalc != null &&
                    this.Scfindbasecalc.Equals(input.Scfindbasecalc))
                ) && 
                (
                    this.Scfnsdocrif == input.Scfnsdocrif ||
                    (this.Scfnsdocrif != null &&
                    this.Scfnsdocrif.Equals(input.Scfnsdocrif))
                ) && 
                (
                    this.Scfpercpres == input.Scfpercpres ||
                    (this.Scfpercpres != null &&
                    this.Scfpercpres.Equals(input.Scfpercpres))
                ) && 
                (
                    this.Scfperctasso == input.Scfperctasso ||
                    (this.Scfperctasso != null &&
                    this.Scfperctasso.Equals(input.Scfperctasso))
                ) && 
                (
                    this.Scfvsdocrif == input.Scfvsdocrif ||
                    (this.Scfvsdocrif != null &&
                    this.Scfvsdocrif.Equals(input.Scfvsdocrif))
                ) && 
                (
                    this.Spcommbonalt == input.Spcommbonalt ||
                    (this.Spcommbonalt != null &&
                    this.Spcommbonalt.Equals(input.Spcommbonalt))
                ) && 
                (
                    this.Spcommbonfil == input.Spcommbonfil ||
                    (this.Spcommbonfil != null &&
                    this.Spcommbonfil.Equals(input.Spcommbonfil))
                ) && 
                (
                    this.Spcommordpalt == input.Spcommordpalt ||
                    (this.Spcommordpalt != null &&
                    this.Spcommordpalt.Equals(input.Spcommordpalt))
                ) && 
                (
                    this.Spcommordpfil == input.Spcommordpfil ||
                    (this.Spcommordpfil != null &&
                    this.Spcommordpfil.Equals(input.Spcommordpfil))
                ) && 
                (
                    this.Spinccambalt == input.Spinccambalt ||
                    (this.Spinccambalt != null &&
                    this.Spinccambalt.Equals(input.Spinccambalt))
                ) && 
                (
                    this.Spinccambfil == input.Spinccambfil ||
                    (this.Spinccambfil != null &&
                    this.Spinccambfil.Equals(input.Spinccambfil))
                ) && 
                (
                    this.Spinccoralt == input.Spinccoralt ||
                    (this.Spinccoralt != null &&
                    this.Spinccoralt.Equals(input.Spinccoralt))
                ) && 
                (
                    this.Spinccorfil == input.Spinccorfil ||
                    (this.Spinccorfil != null &&
                    this.Spinccorfil.Equals(input.Spinccorfil))
                ) && 
                (
                    this.Spincesitopag == input.Spincesitopag ||
                    (this.Spincesitopag != null &&
                    this.Spincesitopag.Equals(input.Spincesitopag))
                ) && 
                (
                    this.Spincmavincalt == input.Spincmavincalt ||
                    (this.Spincmavincalt != null &&
                    this.Spincmavincalt.Equals(input.Spincmavincalt))
                ) && 
                (
                    this.Spincmavincfil == input.Spincmavincfil ||
                    (this.Spincmavincfil != null &&
                    this.Spincmavincfil.Equals(input.Spincmavincfil))
                ) && 
                (
                    this.Spincmavincpos == input.Spincmavincpos ||
                    (this.Spincmavincpos != null &&
                    this.Spincmavincpos.Equals(input.Spincmavincpos))
                ) && 
                (
                    this.Spincmavsbf == input.Spincmavsbf ||
                    (this.Spincmavsbf != null &&
                    this.Spincmavsbf.Equals(input.Spincmavsbf))
                ) && 
                (
                    this.Spincribaalt == input.Spincribaalt ||
                    (this.Spincribaalt != null &&
                    this.Spincribaalt.Equals(input.Spincribaalt))
                ) && 
                (
                    this.Spincribafil == input.Spincribafil ||
                    (this.Spincribafil != null &&
                    this.Spincribafil.Equals(input.Spincribafil))
                ) && 
                (
                    this.Spincridalt == input.Spincridalt ||
                    (this.Spincridalt != null &&
                    this.Spincridalt.Equals(input.Spincridalt))
                ) && 
                (
                    this.Spincridfil == input.Spincridfil ||
                    (this.Spincridfil != null &&
                    this.Spincridfil.Equals(input.Spincridfil))
                ) && 
                (
                    this.Spinctraalt == input.Spinctraalt ||
                    (this.Spinctraalt != null &&
                    this.Spinctraalt.Equals(input.Spinctraalt))
                ) && 
                (
                    this.Spinctrafil == input.Spinctrafil ||
                    (this.Spinctrafil != null &&
                    this.Spinctrafil.Equals(input.Spinctrafil))
                ) && 
                (
                    this.Sppresdistinta == input.Sppresdistinta ||
                    (this.Sppresdistinta != null &&
                    this.Sppresdistinta.Equals(input.Sppresdistinta))
                ) && 
                (
                    this.Spritcamb == input.Spritcamb ||
                    (this.Spritcamb != null &&
                    this.Spritcamb.Equals(input.Spritcamb))
                ) && 
                (
                    this.Spritcambcl == input.Spritcambcl ||
                    (this.Spritcambcl != null &&
                    this.Spritcambcl.Equals(input.Spritcambcl))
                ) && 
                (
                    this.Spritmavincas == input.Spritmavincas ||
                    (this.Spritmavincas != null &&
                    this.Spritmavincas.Equals(input.Spritmavincas))
                ) && 
                (
                    this.Spritmavincascl == input.Spritmavincascl ||
                    (this.Spritmavincascl != null &&
                    this.Spritmavincascl.Equals(input.Spritmavincascl))
                ) && 
                (
                    this.Spritmavsbf == input.Spritmavsbf ||
                    (this.Spritmavsbf != null &&
                    this.Spritmavsbf.Equals(input.Spritmavsbf))
                ) && 
                (
                    this.Spritmavsbfcl == input.Spritmavsbfcl ||
                    (this.Spritmavsbfcl != null &&
                    this.Spritmavsbfcl.Equals(input.Spritmavsbfcl))
                ) && 
                (
                    this.Spritriba == input.Spritriba ||
                    (this.Spritriba != null &&
                    this.Spritriba.Equals(input.Spritriba))
                ) && 
                (
                    this.Spritribacl == input.Spritribacl ||
                    (this.Spritribacl != null &&
                    this.Spritribacl.Equals(input.Spritribacl))
                ) && 
                (
                    this.Spritrid == input.Spritrid ||
                    (this.Spritrid != null &&
                    this.Spritrid.Equals(input.Spritrid))
                ) && 
                (
                    this.Spritridcl == input.Spritridcl ||
                    (this.Spritridcl != null &&
                    this.Spritridcl.Equals(input.Spritridcl))
                ) && 
                (
                    this.Sprittratte == input.Sprittratte ||
                    (this.Sprittratte != null &&
                    this.Sprittratte.Equals(input.Sprittratte))
                ) && 
                (
                    this.Sprittrattecl == input.Sprittrattecl ||
                    (this.Sprittrattecl != null &&
                    this.Sprittrattecl.Equals(input.Sprittrattecl))
                ) && 
                (
                    this.Tipobanca == input.Tipobanca ||
                    (this.Tipobanca != null &&
                    this.Tipobanca.Equals(input.Tipobanca))
                ) && 
                (
                    this.Ultprogressmav == input.Ultprogressmav ||
                    (this.Ultprogressmav != null &&
                    this.Ultprogressmav.Equals(input.Ultprogressmav))
                ) && 
                (
                    this.BankCO == input.BankCO ||
                    (this.BankCO != null &&
                    this.BankCO.Equals(input.BankCO))
                ) && 
                (
                    this.NationCO == input.NationCO ||
                    (this.NationCO != null &&
                    this.NationCO.Equals(input.NationCO))
                ) && 
                (
                    this.AdditionalData == input.AdditionalData ||
                    this.AdditionalData != null &&
                    input.AdditionalData != null &&
                    this.AdditionalData.SequenceEqual(input.AdditionalData)
                ) && 
                (
                    this.PluginData == input.PluginData ||
                    this.PluginData != null &&
                    input.PluginData != null &&
                    this.PluginData.SequenceEqual(input.PluginData)
                );
        }

        /// <summary>
        /// Gets the hash code
        /// </summary>
        /// <returns>Hash code</returns>
        public override int GetHashCode()
        {
            unchecked // Overflow is fine, just wrap
            {
                int hashCode = 41;
                if (this.Aprogressmav != null)
                    hashCode = hashCode * 59 + this.Aprogressmav.GetHashCode();
                if (this.BancaCg12 != null)
                    hashCode = hashCode * 59 + this.BancaCg12.GetHashCode();
                if (this.Bbananticipi != null)
                    hashCode = hashCode * 59 + this.Bbananticipi.GetHashCode();
                if (this.Bbanconto != null)
                    hashCode = hashCode * 59 + this.Bbanconto.GetHashCode();
                if (this.Bbaneffpresef != null)
                    hashCode = hashCode * 59 + this.Bbaneffpresef.GetHashCode();
                if (this.Bbanordpbonif != null)
                    hashCode = hashCode * 59 + this.Bbanordpbonif.GetHashCode();
                if (this.Bicbanca != null)
                    hashCode = hashCode * 59 + this.Bicbanca.GetHashCode();
                if (this.CabbonifCg13 != null)
                    hashCode = hashCode * 59 + this.CabbonifCg13.GetHashCode();
                if (this.CabcontoCg13 != null)
                    hashCode = hashCode * 59 + this.CabcontoCg13.GetHashCode();
                if (this.CabmavCg13 != null)
                    hashCode = hashCode * 59 + this.CabmavCg13.GetHashCode();
                if (this.CabribaCg13 != null)
                    hashCode = hashCode * 59 + this.CabribaCg13.GetHashCode();
                if (this.CabridCg13 != null)
                    hashCode = hashCode * 59 + this.CabridCg13.GetHashCode();
                if (this.Ccanticipi != null)
                    hashCode = hashCode * 59 + this.Ccanticipi.GetHashCode();
                if (this.Ccconto != null)
                    hashCode = hashCode * 59 + this.Ccconto.GetHashCode();
                if (this.Cceffpresef != null)
                    hashCode = hashCode * 59 + this.Cceffpresef.GetHashCode();
                if (this.Ccordpbonif != null)
                    hashCode = hashCode * 59 + this.Ccordpbonif.GetHashCode();
                if (this.CodAzienda != null)
                    hashCode = hashCode * 59 + this.CodAzienda.GetHashCode();
                if (this.CodiceCg07 != null)
                    hashCode = hashCode * 59 + this.CodiceCg07.GetHashCode();
                if (this.Codicecuc != null)
                    hashCode = hashCode * 59 + this.Codicecuc.GetHashCode();
                if (this.CodRappopor != null)
                    hashCode = hashCode * 59 + this.CodRappopor.GetHashCode();
                if (this.CodSia != null)
                    hashCode = hashCode * 59 + this.CodSia.GetHashCode();
                if (this.Creditidentifier != null)
                    hashCode = hashCode * 59 + this.Creditidentifier.GetHashCode();
                if (this.Daprogressmav != null)
                    hashCode = hashCode * 59 + this.Daprogressmav.GetHashCode();
                if (this.Descr != null)
                    hashCode = hashCode * 59 + this.Descr.GetHashCode();
                if (this.DittaCg18 != null)
                    hashCode = hashCode * 59 + this.DittaCg18.GetHashCode();
                if (this.FlgAutattribnrmav != null)
                    hashCode = hashCode * 59 + this.FlgAutattribnrmav.GetHashCode();
                if (this.FlgCambiali != null)
                    hashCode = hashCode * 59 + this.FlgCambiali.GetHashCode();
                if (this.FlgCessioni != null)
                    hashCode = hashCode * 59 + this.FlgCessioni.GetHashCode();
                if (this.FlgMav != null)
                    hashCode = hashCode * 59 + this.FlgMav.GetHashCode();
                if (this.FlgPref != null)
                    hashCode = hashCode * 59 + this.FlgPref.GetHashCode();
                if (this.FlgRiba != null)
                    hashCode = hashCode * 59 + this.FlgRiba.GetHashCode();
                if (this.FlgRibacamb != null)
                    hashCode = hashCode * 59 + this.FlgRibacamb.GetHashCode();
                if (this.FlgRibacess != null)
                    hashCode = hashCode * 59 + this.FlgRibacess.GetHashCode();
                if (this.FlgRibaricba != null)
                    hashCode = hashCode * 59 + this.FlgRibaricba.GetHashCode();
                if (this.FlgRibatratac != null)
                    hashCode = hashCode * 59 + this.FlgRibatratac.GetHashCode();
                if (this.FlgRibatratte != null)
                    hashCode = hashCode * 59 + this.FlgRibatratte.GetHashCode();
                if (this.FlgRidsdd != null)
                    hashCode = hashCode * 59 + this.FlgRidsdd.GetHashCode();
                if (this.FlgRidsddraggr != null)
                    hashCode = hashCode * 59 + this.FlgRidsddraggr.GetHashCode();
                if (this.FlgScfatt != null)
                    hashCode = hashCode * 59 + this.FlgScfatt.GetHashCode();
                if (this.FlgTratte != null)
                    hashCode = hashCode * 59 + this.FlgTratte.GetHashCode();
                if (this.Ggvalcambalt != null)
                    hashCode = hashCode * 59 + this.Ggvalcambalt.GetHashCode();
                if (this.Ggvalcambfil != null)
                    hashCode = hashCode * 59 + this.Ggvalcambfil.GetHashCode();
                if (this.Ggvalmavincalt != null)
                    hashCode = hashCode * 59 + this.Ggvalmavincalt.GetHashCode();
                if (this.Ggvalmavincfil != null)
                    hashCode = hashCode * 59 + this.Ggvalmavincfil.GetHashCode();
                if (this.Ggvalmavincpos != null)
                    hashCode = hashCode * 59 + this.Ggvalmavincpos.GetHashCode();
                if (this.Ggvalmavsbf != null)
                    hashCode = hashCode * 59 + this.Ggvalmavsbf.GetHashCode();
                if (this.Ggvalribaalt != null)
                    hashCode = hashCode * 59 + this.Ggvalribaalt.GetHashCode();
                if (this.Ggvalribafil != null)
                    hashCode = hashCode * 59 + this.Ggvalribafil.GetHashCode();
                if (this.Ggvalridalt != null)
                    hashCode = hashCode * 59 + this.Ggvalridalt.GetHashCode();
                if (this.Ggvalridfil != null)
                    hashCode = hashCode * 59 + this.Ggvalridfil.GetHashCode();
                if (this.Ggvalscfattalt != null)
                    hashCode = hashCode * 59 + this.Ggvalscfattalt.GetHashCode();
                if (this.Ggvalscfattfil != null)
                    hashCode = hashCode * 59 + this.Ggvalscfattfil.GetHashCode();
                if (this.Ggvaltratalt != null)
                    hashCode = hashCode * 59 + this.Ggvaltratalt.GetHashCode();
                if (this.Ggvaltratfil != null)
                    hashCode = hashCode * 59 + this.Ggvaltratfil.GetHashCode();
                if (this.Ibananticipi != null)
                    hashCode = hashCode * 59 + this.Ibananticipi.GetHashCode();
                if (this.Ibanconto != null)
                    hashCode = hashCode * 59 + this.Ibanconto.GetHashCode();
                if (this.Ibaneffpresef != null)
                    hashCode = hashCode * 59 + this.Ibaneffpresef.GetHashCode();
                if (this.Ibanordpbonif != null)
                    hashCode = hashCode * 59 + this.Ibanordpbonif.GetHashCode();
                if (this.Id != null)
                    hashCode = hashCode * 59 + this.Id.GetHashCode();
                if (this.Idbancaestera != null)
                    hashCode = hashCode * 59 + this.Idbancaestera.GetHashCode();
                if (this.Idcontratto != null)
                    hashCode = hashCode * 59 + this.Idcontratto.GetHashCode();
                if (this.IdmediaCg99 != null)
                    hashCode = hashCode * 59 + this.IdmediaCg99.GetHashCode();
                if (this.Idsuccursale != null)
                    hashCode = hashCode * 59 + this.Idsuccursale.GetHashCode();
                if (this.Impcastel != null)
                    hashCode = hashCode * 59 + this.Impcastel.GetHashCode();
                if (this.Impfido != null)
                    hashCode = hashCode * 59 + this.Impfido.GetHashCode();
                if (this.IndCheckpivacf != null)
                    hashCode = hashCode * 59 + this.IndCheckpivacf.GetHashCode();
                if (this.IndCompind != null)
                    hashCode = hashCode * 59 + this.IndCompind.GetHashCode();
                if (this.IndContpmtinf != null)
                    hashCode = hashCode * 59 + this.IndContpmtinf.GetHashCode();
                if (this.IndPresmav != null)
                    hashCode = hashCode * 59 + this.IndPresmav.GetHashCode();
                if (this.IndPresriba != null)
                    hashCode = hashCode * 59 + this.IndPresriba.GetHashCode();
                if (this.IndPresrid != null)
                    hashCode = hashCode * 59 + this.IndPresrid.GetHashCode();
                if (this.IndTipolib != null)
                    hashCode = hashCode * 59 + this.IndTipolib.GetHashCode();
                if (this.IndTipopres != null)
                    hashCode = hashCode * 59 + this.IndTipopres.GetHashCode();
                if (this.Locbancaestera != null)
                    hashCode = hashCode * 59 + this.Locbancaestera.GetHashCode();
                if (this.Maxgginsoluti != null)
                    hashCode = hashCode * 59 + this.Maxgginsoluti.GetHashCode();
                if (this.Prefissoattribmav != null)
                    hashCode = hashCode * 59 + this.Prefissoattribmav.GetHashCode();
                if (this.ProgR != null)
                    hashCode = hashCode * 59 + this.ProgR.GetHashCode();
                if (this.Rowversion != null)
                    hashCode = hashCode * 59 + this.Rowversion.GetHashCode();
                if (this.Scfindbasecalc != null)
                    hashCode = hashCode * 59 + this.Scfindbasecalc.GetHashCode();
                if (this.Scfnsdocrif != null)
                    hashCode = hashCode * 59 + this.Scfnsdocrif.GetHashCode();
                if (this.Scfpercpres != null)
                    hashCode = hashCode * 59 + this.Scfpercpres.GetHashCode();
                if (this.Scfperctasso != null)
                    hashCode = hashCode * 59 + this.Scfperctasso.GetHashCode();
                if (this.Scfvsdocrif != null)
                    hashCode = hashCode * 59 + this.Scfvsdocrif.GetHashCode();
                if (this.Spcommbonalt != null)
                    hashCode = hashCode * 59 + this.Spcommbonalt.GetHashCode();
                if (this.Spcommbonfil != null)
                    hashCode = hashCode * 59 + this.Spcommbonfil.GetHashCode();
                if (this.Spcommordpalt != null)
                    hashCode = hashCode * 59 + this.Spcommordpalt.GetHashCode();
                if (this.Spcommordpfil != null)
                    hashCode = hashCode * 59 + this.Spcommordpfil.GetHashCode();
                if (this.Spinccambalt != null)
                    hashCode = hashCode * 59 + this.Spinccambalt.GetHashCode();
                if (this.Spinccambfil != null)
                    hashCode = hashCode * 59 + this.Spinccambfil.GetHashCode();
                if (this.Spinccoralt != null)
                    hashCode = hashCode * 59 + this.Spinccoralt.GetHashCode();
                if (this.Spinccorfil != null)
                    hashCode = hashCode * 59 + this.Spinccorfil.GetHashCode();
                if (this.Spincesitopag != null)
                    hashCode = hashCode * 59 + this.Spincesitopag.GetHashCode();
                if (this.Spincmavincalt != null)
                    hashCode = hashCode * 59 + this.Spincmavincalt.GetHashCode();
                if (this.Spincmavincfil != null)
                    hashCode = hashCode * 59 + this.Spincmavincfil.GetHashCode();
                if (this.Spincmavincpos != null)
                    hashCode = hashCode * 59 + this.Spincmavincpos.GetHashCode();
                if (this.Spincmavsbf != null)
                    hashCode = hashCode * 59 + this.Spincmavsbf.GetHashCode();
                if (this.Spincribaalt != null)
                    hashCode = hashCode * 59 + this.Spincribaalt.GetHashCode();
                if (this.Spincribafil != null)
                    hashCode = hashCode * 59 + this.Spincribafil.GetHashCode();
                if (this.Spincridalt != null)
                    hashCode = hashCode * 59 + this.Spincridalt.GetHashCode();
                if (this.Spincridfil != null)
                    hashCode = hashCode * 59 + this.Spincridfil.GetHashCode();
                if (this.Spinctraalt != null)
                    hashCode = hashCode * 59 + this.Spinctraalt.GetHashCode();
                if (this.Spinctrafil != null)
                    hashCode = hashCode * 59 + this.Spinctrafil.GetHashCode();
                if (this.Sppresdistinta != null)
                    hashCode = hashCode * 59 + this.Sppresdistinta.GetHashCode();
                if (this.Spritcamb != null)
                    hashCode = hashCode * 59 + this.Spritcamb.GetHashCode();
                if (this.Spritcambcl != null)
                    hashCode = hashCode * 59 + this.Spritcambcl.GetHashCode();
                if (this.Spritmavincas != null)
                    hashCode = hashCode * 59 + this.Spritmavincas.GetHashCode();
                if (this.Spritmavincascl != null)
                    hashCode = hashCode * 59 + this.Spritmavincascl.GetHashCode();
                if (this.Spritmavsbf != null)
                    hashCode = hashCode * 59 + this.Spritmavsbf.GetHashCode();
                if (this.Spritmavsbfcl != null)
                    hashCode = hashCode * 59 + this.Spritmavsbfcl.GetHashCode();
                if (this.Spritriba != null)
                    hashCode = hashCode * 59 + this.Spritriba.GetHashCode();
                if (this.Spritribacl != null)
                    hashCode = hashCode * 59 + this.Spritribacl.GetHashCode();
                if (this.Spritrid != null)
                    hashCode = hashCode * 59 + this.Spritrid.GetHashCode();
                if (this.Spritridcl != null)
                    hashCode = hashCode * 59 + this.Spritridcl.GetHashCode();
                if (this.Sprittratte != null)
                    hashCode = hashCode * 59 + this.Sprittratte.GetHashCode();
                if (this.Sprittrattecl != null)
                    hashCode = hashCode * 59 + this.Sprittrattecl.GetHashCode();
                if (this.Tipobanca != null)
                    hashCode = hashCode * 59 + this.Tipobanca.GetHashCode();
                if (this.Ultprogressmav != null)
                    hashCode = hashCode * 59 + this.Ultprogressmav.GetHashCode();
                if (this.BankCO != null)
                    hashCode = hashCode * 59 + this.BankCO.GetHashCode();
                if (this.NationCO != null)
                    hashCode = hashCode * 59 + this.NationCO.GetHashCode();
                if (this.AdditionalData != null)
                    hashCode = hashCode * 59 + this.AdditionalData.GetHashCode();
                if (this.PluginData != null)
                    hashCode = hashCode * 59 + this.PluginData.GetHashCode();
                return hashCode;
            }
        }

        /// <summary>
        /// To validate all properties of the instance
        /// </summary>
        /// <param name="validationContext">Validation context</param>
        /// <returns>Validation Result</returns>
        IEnumerable<System.ComponentModel.DataAnnotations.ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
        {
            yield break;
        }
    }
}
