
using System;
using System.Collections.Generic;

namespace Ato.EN.IntegrationServices.CodeGenerationRPTTAXPOS
{
    public class RPTTAXPOS2019
    {
    
    public string RPId = null;
    public bool RPExists = false;
    public int RPCount = 0;
    public int RPOccurrenceIndex = 0;
    public int RPLastOccurrenceIndex = 0;
    public string RPIdentifier = null;
    public string RPIdentifierScheme = null;
        public string RPIdentifierTFN = null;
        public DateTime? RPStartDate = null;
        public DateTime? RPEndDate = null;

        /// <summary>
        /// RP:tns:Identifiers.TaxFileNumber.Identifier
        /// </summary>
        public string RPTTAXPOS1 = null;

        /// <summary>
        /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategoryAB.Indicator
        /// </summary>
        public bool? RPTTAXPOS2 = null;

        /// <summary>
        /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategoryAB.Count
        /// </summary>
        public decimal? RPTTAXPOS3 = null;
    
        public bool ReportableTaxPositionCategoryAAndBCollectionExists = false;
        public int ReportableTaxPositionCategoryAAndBCollectionCount = 0;

        public List<ReportableTaxPositionCategoryAAndB> ReportableTaxPositionCategoryAAndBCollection = null;

        public class ReportableTaxPositionCategoryAAndB 
        {
            public int OccurrenceIndex = 0;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryAAndB
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategoryReferenceNumber.Identifier
            /// </summary>
            public string RPTTAXPOS4 = null;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryAAndB
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionDiscussion.Indicator
            /// </summary>
            public bool? RPTTAXPOS5 = null;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryAAndB
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategory.Code
            /// </summary>
            public string RPTTAXPOS6 = null;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryAAndB
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategoryDescription.Text
            /// </summary>
            public string RPTTAXPOS7 = null;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryAAndB
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionBasis.Text
            /// </summary>
            public string RPTTAXPOS8 = null;
        }

        /// <summary>
        /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategoryC.Indicator
        /// </summary>
        public bool? RPTTAXPOS9 = null;

        /// <summary>
        /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategoryC.Count
        /// </summary>
        public decimal? RPTTAXPOS10 = null;
    
        public bool ReportableTaxPositionCategoryCCollectionExists = false;
        public int ReportableTaxPositionCategoryCCollectionCount = 0;

        public List<ReportableTaxPositionCategoryC> ReportableTaxPositionCategoryCCollection = null;

        public class ReportableTaxPositionCategoryC 
        {
            public int OccurrenceIndex = 0;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryC
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategoryReferenceNumber.Identifier
            /// </summary>
            public string RPTTAXPOS11 = null;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryC
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionDiscussion.Indicator
            /// </summary>
            public bool? RPTTAXPOS12 = null;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryC
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategoryCQuestion.Number
            /// </summary>
            public decimal? RPTTAXPOS13 = null;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryC
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionCategoryCSubcategory.Number
            /// </summary>
            public decimal? RPTTAXPOS14 = null;
    
            /// <summary>
            /// /xbrli:xbrl/tns:ReportableTaxPositionCategoryC
            /// RP:tns:RegulatoryDisclosures.ReportableTaxPositionAdditionalInformation.Text
            /// </summary>
            public string RPTTAXPOS15 = null;
        }

    }
}