
using System;
using System.Collections.Generic;

namespace Ato.EN.IntegrationServices.CodeGenerationCGNFT
{
    public class CGNFT2018
    {
    
    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 RPIdentifierABN = null;
        public DateTime? RPStartDate = null;
        public DateTime? RPEndDate = null;

        /// <summary>
        /// RP:tns:Identifiers.AustralianBusinessNumber.Identifier
        /// </summary>
        public string CGNFT32 = null;

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

        /// <summary>
        /// RP:tns:OrganisationNameDetails.OrganisationalName.Text
        /// </summary>
        public string CGNFT4 = null;

        /// <summary>
        /// RP:tns:OrganisationDetails.TaxConsolidation.Date
        /// </summary>
        public DateTime? CGNFT6 = null;

        /// <summary>
        /// RP:tns:OrganisationDetails.TaxConsolidationMultipleEntryConsolidatedGroup.Indicator
        /// </summary>
        public bool? CGNFT7 = null;

        public List<CPPEContext> CPPEContextCollection = null;
        public class CPPEContext
        {
            public string CPPEId = null;
            public bool CPPEExists = false;
            public int CPPECount = 0;
            public int CPPEOccurrenceIndex = 0;
            public int CPPELastOccurrenceIndex = 0;
            public string CPPEIdentifier = null;
            public string CPPEIdentifierScheme = null;
            public string CPPEIdentifierTFN = null;
            public DateTime? CPPEStartDate = null;
            public DateTime? CPPEEndDate = null;

            /// <summary>
            /// CPPE:tns:OrganisationNameDetails.OrganisationalName.Text
            /// </summary>
            public string CGNFT19 = null;

            /// <summary>
            /// CPPE:tns:Identifiers.AustralianBusinessNumber.Identifier
            /// </summary>
            public string CGNFT20 = null;

            /// <summary>
            /// CPPE:tns:Identifiers.AustralianRegisteredBodyNumber.Identifier
            /// </summary>
            public string CGNFT27 = null;
        }

        public List<CPContext> CPContextCollection = null;
        public class CPContext
        {
    
            public string Id = null;
            public bool Exists = false;
            public int Count = 0;
            public int OccurrenceIndex = 0;
            public int LastOccurrenceIndex = 0;
            public string Identifier = null;
            public string IdentifierScheme = null;
            public string IdentifierTFN = null;
            public DateTime? StartDate = null;
            public DateTime? EndDate = null;
    
            /// <summary>
            /// CP:tns:Identifiers.TaxFileNumber.Identifier
            /// </summary>
            public string CGNFT33 = null;
    
            /// <summary>
            /// CP:tns:OrganisationNameDetails.OrganisationalName.Text
            /// </summary>
            public string CGNFT10 = null;
    
            /// <summary>
            /// CP:tns:Identifiers.AustralianBusinessNumber.Identifier
            /// </summary>
            public string CGNFT11 = null;
    
            /// <summary>
            /// CP:tns:Identifiers.AustralianRegisteredBodyNumber.Identifier
            /// </summary>
            public string CGNFT12 = null;
    
            /// <summary>
            /// CP:tns:Identifiers.AustralianCompanyNumber.Identifier
            /// </summary>
            public string CGNFT13 = null;
    
            /// <summary>
            /// CP:tns:OrganisationDetails.TaxConsolidationSubsidiaryMemberEntry.Date
            /// </summary>
            public DateTime? CGNFT14 = null;
    
            /// <summary>
            /// CP:tns:OrganisationDetails.TaxConsolidationSubsidiaryMemberExit.Date
            /// </summary>
            public DateTime? CGNFT15 = null;
    
            /// <summary>
            /// CP:tns:OrganisationDetails.TaxConsolidationSubsidiaryMemberExit.Code
            /// </summary>
            public string CGNFT16 = null;
    
            /// <summary>
            /// CP:tns:OrganisationDetails.TaxConsolidationSubsidiaryMemberExit.Description
            /// </summary>
            public string CGNFT17 = null;

            /// <summary>
            /// CPPEContext
            /// </summary>
            public CPPEContext CPPEContext = new CPPEContext();
        }



        public string RPTrueAndCorrectId = null;
        public bool RPTrueAndCorrectExists = false;
        public int RPTrueAndCorrectCount = 0;
        public int RPTrueAndCorrectOccurrenceIndex = 0;
        public int RPTrueAndCorrectLastOccurrenceIndex = 0;
        public string RPTrueAndCorrectIdentifier = null;
        public string RPTrueAndCorrectIdentifierScheme = null;
        public string RPTrueAndCorrectIdentifierABN = null;
        public DateTime? RPTrueAndCorrectStartDate = null;
        public DateTime? RPTrueAndCorrectEndDate = null;

        /// <summary>
        /// RPTrueAndCorrect:tns:Identifiers.AustralianBusinessNumber.Identifier
        /// </summary>
        public string CGNFT34 = null;

        /// <summary>
        /// RPTrueAndCorrect:tns:PersonUnstructuredName.FullName.Text
        /// </summary>
        public string CGNFT23 = null;

        /// <summary>
        /// RPTrueAndCorrect:tns:PersonNameDetails.Position.Text
        /// </summary>
        public string CGNFT24 = null;

        /// <summary>
        /// RPTrueAndCorrect:tns:ElectronicContact.Telephone.Area.Code
        /// </summary>
        public string CGNFT25 = null;

        /// <summary>
        /// RPTrueAndCorrect:tns:ElectronicContact.Telephone.Minimal.Number
        /// </summary>
        public string CGNFT26 = null;

        /// <summary>
        /// RPTrueAndCorrect:tns:Identifiers.TaxAgentNumber.Identifier
        /// </summary>
        public string CGNFT28 = null;

        /// <summary>
        /// RPTrueAndCorrect:tns:Declaration.Signature.Date
        /// </summary>
        public DateTime? CGNFT29 = null;

        /// <summary>
        /// RPTrueAndCorrect:tns:Declaration.StatementAccepted.Indicator
        /// </summary>
        public bool? CGNFT30 = null;

        /// <summary>
        /// RPTrueAndCorrect:tns:Declaration.SignatoryIdentifier.Text
        /// </summary>
        public string CGNFT31 = null;

        public string INTTrueAndCorrectId = null;
        public bool INTTrueAndCorrectExists = false;
        public int INTTrueAndCorrectCount = 0;
        public int INTTrueAndCorrectOccurrenceIndex = 0;
        public int INTTrueAndCorrectLastOccurrenceIndex = 0;
        public string INTTrueAndCorrectIdentifier = null;
        public string INTTrueAndCorrectIdentifierScheme = null;
        public string INTTrueAndCorrectIdentifierABN = null;
        public DateTime? INTTrueAndCorrectStartDate = null;
        public DateTime? INTTrueAndCorrectEndDate = null;

        /// <summary>
        /// INTTrueAndCorrect:tns:Identifiers.AustralianBusinessNumber.Identifier
        /// </summary>
        public string CGNFT35 = null;

        /// <summary>
        /// INTTrueAndCorrect:tns:PersonUnstructuredName.FullName.Text
        /// </summary>
        public string CGNFT36 = null;

        /// <summary>
        /// INTTrueAndCorrect:tns:PersonNameDetails.Position.Text
        /// </summary>
        public string CGNFT37 = null;

        /// <summary>
        /// INTTrueAndCorrect:tns:ElectronicContact.Telephone.Area.Code
        /// </summary>
        public string CGNFT38 = null;

        /// <summary>
        /// INTTrueAndCorrect:tns:ElectronicContact.Telephone.Minimal.Number
        /// </summary>
        public string CGNFT39 = null;

        /// <summary>
        /// INTTrueAndCorrect:tns:Identifiers.TaxAgentNumber.Identifier
        /// </summary>
        public string CGNFT40 = null;

        /// <summary>
        /// INTTrueAndCorrect:tns:Declaration.Signature.Date
        /// </summary>
        public DateTime? CGNFT41 = null;

        /// <summary>
        /// INTTrueAndCorrect:tns:Declaration.StatementAccepted.Indicator
        /// </summary>
        public bool? CGNFT42 = null;

        /// <summary>
        /// INTTrueAndCorrect:tns:Declaration.SignatoryIdentifier.Text
        /// </summary>
        public string CGNFT43 = null;

    }
}