diff --git a/.gitignore b/.gitignore index f17ebb8..cd0c4b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,8 @@ - +_Interfaces/ +_json/ +node_modules +_dev +_DEV +_resources +_* DEV/EDILib.js diff --git a/lib/ISDA/cdm.xtext.cdm b/lib/ISDA/cdm.xtext.cdm new file mode 100644 index 0000000..3fa26f2 --- /dev/null +++ b/lib/ISDA/cdm.xtext.cdm @@ -0,0 +1,1731 @@ +namespace org.isda.cdm +version "2.52.2" + +import cdm.base.* +import cdm.base.datetime.* +import cdm.base.math.* +import cdm.base.staticdata.identifier.* +import cdm.base.staticdata.asset.common.* +import cdm.base.staticdata.party.* +import cdm.synonyms.config.* + +type AccessConditions: <"A class to specify each party's election with respect to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + partyElection AccessConditionsElections (2..2) <"The parties' Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA) election."> + additionalTerminationEvent AdditionalTerminationEvent (0..*) <"Additional Termination Events applicable to the agreement."> + // [synonym ISDA_Create_1_0 value "additional_termination_event"] + +type AccessConditionsElections: <"A class to specify the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_illegality" = "applicable", set to "partyA" when "partyA_illegality" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_illegality" = "applicable", set to "partyB" when "partyB_illegality" = "not_applicable"] + illegality boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_illegality" = "applicable", set to False when "partyA_illegality" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_illegality" = "applicable", set to False when "partyB_illegality" = "not_applicable"] + forceMajeure boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_force_majeure" = "applicable", set to False when "partyA_force_majeure" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_force_majeure" = "applicable", set to False when "partyB_force_majeure" = "not_applicable"] + taxEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_tax_event" = "applicable", set to False when "partyA_tax_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_tax_event" = "applicable", set to False when "partyB_tax_event" = "not_applicable"] + taxEventUponMerger boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_tax_event_upon_merger" = "applicable", set to False when "partyA_tax_event_upon_merger" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_tax_event_upon_merger" = "applicable", set to False when "partyB_tax_event_upon_merger" = "not_applicable"] + creditEventUponMerger boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_credit_event_upon_merger" = "applicable", set to False when "partyA_credit_event_upon_merger" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_credit_event_upon_merger" = "applicable", set to False when "partyB_credit_event_upon_merger" = "not_applicable"] + +type AdditionalRegime: <"A class to specify the additional regulatory regime(s) that might be elected by the parties to a legal agreement where such provision exists, such as the ISDA 2016 and 2018 CSA for Initial Margin."> + + regime string (1..1) <"The additional regulatory regime as specified by the parties."> + regimeTerms RegimeTerms (2..2) <"The party elections with respect to the additional regime(s)."> + additionalType AdditionalTypeEnum (0..1) <"The Additional Type of transaction that can require the collection or delivery of initial margin under the specified regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + additionalTerms string (0..1) <"The bespoke Additional Type for the purposes of Covered Transactions (IM)."> + //TODO - Condition required that additionalType should exist for 2016 CSD and be absent for 2018 CSD + //TODO - Condition required that additionalTerms should only exist when additionalType is Other + +type AdditionalRepresentation: <"A class to specify the Additional Representation. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (o): Additional Representation(s)."> + + partyElection AdditionalRepresentationElection (2..2) <"A qualification as to whether the Additional Representation is applicable."> + customElection string (0..1) <"A supplemental custom election that might be specified by the parties for the purpose of specifying the Additional Representation."> + [synonym ISDA_Create_1_0 value "specify"] + +type AdditionalRepresentationElection: <"A class to specify the parties' Additional Representation(s) election."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_additional_representations" = "applicable", set to "partyA" when "partyA_additional_representations" = "not_applicable" ] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_additional_representations" = "applicable", set to "partyB" when "partyB_additional_representations" = "not_applicable" ] + isApplicable boolean (1..1) <"The Additional Representation is applicable when True, and not applicable when False."> + [synonym ISDA_Create_1_0 set to True when "partyA_additional_representations" = "applicable", set to False when "partyA_additional_representations" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_additional_representations" = "applicable", set to False when "partyB_additional_representations" = "not_applicable"] + +type AdditionalRepresentations: <"A class to specify Additional Representations that may be applicable to an agreement."> + + additionalRepresentation AdditionalRepresentation (0..1) <"The specification of the Additional Representation that may be applicable to the agreement."> + [synonym ISDA_Create_1_0 value "additional_representations"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "10(a)"] + additionalInformation boolean (0..1) <"The qualification of whether Additional Information related to Regulatory Compliance and Concentration Limits is applicable or not"> + [synonym ISDA_Create_1_0 set to True when "regulatory_compliance_and_concentration_limits->additional_information" = "applicable", + set to False when "regulatory_compliance_and_concentration_limits->additional_information" = "not_applicable"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "11"] + + condition: one-of + +type AdditionalRightsEvent: <"A class to specify the Pledgor/Obligor/Chargor Additional Rights Event election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (k): Chargor Additional Rights Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (k): Obligor Additional Rights Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (k): Pledgor Additional Rights Event."> + + isApplicable boolean (1..1) <"The Pledgor Additional Rights Event election is applicable when True, and not applicable when False."> + [synonym ISDA_Create_1_0 set to True when "applicable" = "true", set to False when "applicable" = "false"] + qualification string (0..1) <"The qualification of the Pledgor Additional Rights Event election, when specified."> + [synonym ISDA_Create_1_0 value "specify"] + + condition Qualification: <"The Pledgor/Obligor/Chargor Additional Rights should be qualified only when the Pledgor Additional Rights Event election is specified as applicable."> + if qualification exists + then isApplicable = True + +type AdditionalTerminationEvent: < "A class to specify an optional termination event, additional to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA)"> + // TODO Never referenced in CDM + name string (1..1) <"The name of the additional termination event"> + [synonym ISDA_Create_1_0 value "name" path "additional_termination_event"] + [synonym ISDA_Create_1_0 value "specify" set when "specify" exists] + applicableParty string (1..2) <"Whether the additional termination event is applicable for the relevant party"> + [synonym ISDA_Create_1_0 set to "PartyA" when "partyA_additional_termination_events" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyB" when "partyB_additional_termination_events" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyA" when "additional_termination_event->partyA_additional_termination_event" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyB" when "additional_termination_event->partyB_additional_termination_event" = "applicable"] + +type AdditionalType: <"The specification of the Additional Type of transaction that can require the collection or delivery of initial margin under a given regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + + standardValue AdditionalTypeEnum (1..1) <"The qualification of the Additional Type of transaction that can require the collection or delivery of initial margin when specified as a standard value."> + [synonym ISDA_Create_1_0 value "additional_type"] + customValue string (0..1) <"The qualification of the Additional Type of transaction that can require the collection or delivery of initial margin when specified as a custom value by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "additional_type_specify"] + + condition CustomValue: <"The specification of a custom value by the parties to the legal agreement takes place alongside the qualification of the `Other` value as part of the AdditionalTypeEnum."> + if standardValue = AdditionalTypeEnum -> Other + then customValue exists + + condition StandardValue: <"The specification of a standard value by the parties to the legal agreement is done through the qualification of a value distinct than `Other` as part of the AdditionalTypeEnum, and implies that the customerValue is not being qualified."> + if standardValue <> AdditionalTypeEnum -> Other + then customValue is absent + +type Agreement: <"A class to specify elections specific to a certain type of agreement."> + + creditSupportAgreementElections CreditSupportAgreementElections (0..1) <"Elections to specify an Initial Margin Credit Support Annex or Initial Margin Credit Support Deed."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Credit Support Annex"] + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Credit Support Deed"] + collateralTransferAgreementElections CollateralTransferAgreementElections (0..1) <"Elections to specify a Collateral Transfer Agreement."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Collateral Transfer Agreement"] + securityAgreementElections SecurityAgreementElections (0..1) <"Security agreement elections."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Security Agreement"] + transactionConfirmation TransactionConfirmation (0..1) <"A transaction confirmation"> //TODO: Rename Contract and move to here + condition: one-of + +type AgreementTerms: <"A class to specify the elections and variables that characterize a legal agreement."> + + agreement Agreement (1..1) <"The type of contract being specified"> + relatedAgreements RelatedAgreement (0..*) <"Specifies the agreement(s) that govern the agreement, either as a reference to such agreements when specified as part of the CDM, or through identification of some of the key terms of those agreements, such as the type of agreement, the publisher, the vintage, the agreement identifier and the agreement date."> + umbrellaAgreement UmbrellaAgreement (0..1) <"The determination of whether Umbrella Agreement terms are applicable (True) or Not Applicable (False)."> + [synonym ISDA_Create_1_0 value "umbrella_agreement_and_principal_identification", "umbrella_agreement_and_principal_identification" path "answers->partyA"] + +type AmendmentEffectiveDate: <"A class to specify the effective date of the Amendment to Termination Currency. This date can be specified as either an actual date, a specific date (e.g. the annex date) or as a custom provision. "> + + date date (0..1) <"The effective date of the Amendment to Termination Currency when specified as an actual date."> + specificDate AmendmentEffectiveDateEnum (0..1) <"The effective date of the Amendment to Termination Currency when specified as a specific date (e.g. the annex date)."> + [synonym ISDA_Create_1_0 value "annex_date"] + [synonym ISDA_Create_1_0 value "effectiveness_date"] + customProvision string (0..1)<"The effective date of the Amendment to Termination Currency when specified as a non normalized custom provision."> + condition: one-of + +type ApplicableRegime: <"A class to specify the applicable regulatory regime(s) that parties to a legal agreement, such as the ISDA 2016 and 2018 CSA for Initial Margin, might be subject to."> + + regime RegulatoryRegimeEnum (1..1) <"The applicable regulatory regime, as specified through an enumeration."> + [synonym AcadiaSoft_AM_1_0 value "regime"] + regimeTerms RegimeTerms (2..2) <"A class that is used by the ApplicableRegime and the AdditionalRegime classes to specify the terms that are specific to each party and regime which are referred to in the Regime Table as part of certain legal agreements, such as such as the ISDA 2016 and 2018 CSA for Initial Margin."> + additionalType AdditionalTypeEnum (0..1) <"The Additional Type of transaction that can require the collection or delivery of initial margin under the specified regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + additionalTerms string (0..1) <"The bespoke Additional Type for the purposes of Covered Transactions (IM)."> + //TODO - Condition required that additionalType should exist for 2016 CSD and be absent for 2018 CSD + //TODO - Condition required that additionalTerms should only exist when additionalType is Other + +type AppropriatedCollateralValuation: <"A class to specify the Valuation of Appropriated Collateral that is applicable to the English Law ISDA CSA. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (u): Valuation of Appropriated Collateral."> + + isSpecified boolean (1..1) <"The qualification of whether the Valuation of Appropriate Collateral provision is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + election string (0..1) <"The parties' election that qualify the Valuation of Appropriate Collateral in the case where it is deemed applicable."> + [synonym ISDA_Create_1_0 value "specify"] + + condition Specified: <"The Valuation of Appropriate Collateral election must be specified when it is applicable."> + if isSpecified = True + then election exists + + condition NotSpecified: <"The Valuation of Appropriate Collateral election cannot be specified when it is not applicable."> + if isSpecified = False + then election is absent + +type BespokeCalculationDate: <"A class to specify bespoke Calculation Date terms for the purposes of Initial Margin"> + + isApplicable boolean (1..1) <"Additional Calculation Date terms are applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + calculationDateImTerms string (0..1) <"The Additional Calculation Date terms for the purposes of Initial Margin"> + + condition CalculationDateImTerms: <"A data rule to enforce that Additional Calculation Date Terms should be absent when not applicable"> + if isApplicable = False then calculationDateImTerms is absent + +type BespokeCalculationTime: <"A class to specify additional Calculation Time terms for the purposes of Initial Margin"> + + asCalculationAgentIm boolean (1..1) <"If set to True, the Calculation Time for Initial Margin is the time as of which the Calculation Agent (IM) computes its end of day valuations of derivatives transactions"> + [synonym ISDA_Create_1_0 set to True when "calculation_time_IM_is" = "calculation_agent_IM_computation_time", set to False when "calculation_time_IM_is" = "specify"] + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "specify"] + bespokeCalculationTimeTerms string (0..1) <"Additional Terms applicable to Calculation Time for Initial Margin"> + [synonym ISDA_Create_1_0 value "calculation_agent_IM_computation_time_specify"] + + condition AsCalculationAgentIm: <"A data rule to enforce that the terms applicable to Calculation Time for Initial Margin should be specified when the computation time is not as per Calculation Agent"> + if asCalculationAgentIm = True + then bespokeCalculationTimeTerms is absent + + condition BespokeCalculationTimeTerms: <"A data rule to enforce that the Calculation Time for Initial Margin shouldn't be specified when the Control Agreement isn't deemed a Credit Support Document with respect to the party(ies)."> + if asCalculationAgentIm = False + then bespokeCalculationTimeTerms exists + +type BespokeTransferTiming: <"A class to specify any bespoke Transfer Timing language by each party to the agreement."> + + isApplicable boolean (1..1) <"A boolean flag to specify whether bespoke transfer terms are applicable or not."> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + bespokeTransferTimingTerms string (0..1) <"The bespoke transfer timing terms applicable to the agreement"> + [synonym ISDA_Create_1_0 value "settlement_day_specify"] + +type CalculationAgentIm: <"A class to select Calculation Agent for purposes of Initial Margin agreements"> + + isApplicable boolean (0..1) <"The specification of whether bespoke calculation agent terms are applicable (True) or not (False)"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + party string (0..1) <"The party which is specified as Calculation Agent for Initial Margin."> + [metadata reference] + [synonym ISDA_Create_1_0 set to "PartyA" when "calculation_agent" = "partyA"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "party_A"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "partyB"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "party_B"] + [synonym ISDA_Create_1_0 set to "PartyA,PartyB" when "calculation_agent_IM_party"="demanding_party_and_secured_party"] + // TODO - Need for a mapping logic that will parse the ISDA Create prefix to identify partyA vs. partyB entries + calculationAgentTerms string (0..1) <"The Calculation Agent (IM) terms when specified"> + [synonym ISDA_Create_1_0 value "specify"] + + condition CalculationAgentParty: <"A data rule to enforce that party should not be specified when bespoke Calculation Agent Terms exist."> + if calculationAgentTerms exists then party is absent + + condition CalculationAgentTerms: <"A data rule to enforce that bespoke terms should only be specified when applicable."> + if isApplicable = True then calculationAgentTerms exists + else if isApplicable = False then calculationAgentTerms is absent + +type CalculationAndTiming: <"A class to specify the Calculation, Valuation and Timing terms specific to the agreement."> + + calculationAgentIm CalculationAgentIm (0..1) <"The calculation agent terms applicable to the agreement."> + [synonym ISDA_Create_1_0 value "calculation_agent_IM"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4a"] + bespokeCalculationDate BespokeCalculationDate (0..1) <"The specification of bespoke Calculation Date terms for the purposes of Initial Margin by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "calculation_date"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(d)(i)"] + bespokeCalculationTime BespokeCalculationTime (0..1) <"Bespoke terms to describe the time as of which such party (or the Calculation Agent (IM) (if applicable)) computes its end of day valuations of derivatives transactions."> + [synonym ISDA_Create_1_0 value "calculation_time"] + [synonym ISDA_Create_1_0 value "credit_support_amount_calculation_time"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4d"] + calculationDateLocation CalculationDateLocation (0..1) <"The specified location where the credit exposure will be calculated by the respective parties."> + [synonym ISDA_Create_1_0 value "calculation_date_location"] + [synonym ISDA_Create_1_0 value "calculation_date"] + [synonym ISDA_Create_1_0 value "designated_city"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4c"] + notificationTime NotificationTime (1..1) <"The time by which a demand for the Transfer of Eligible Credit Support (IM) or Posted Credit Support (IM) needs to be made in order for the transfer to take place in accordance with the Transfer Timing provisions."> + [synonym ISDA_Create_1_0 value "notification_time"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4e"] + collateralValuationAgent CollateralValuationAgent (0..1) <"The bespoke Collateral Valuation Agent terms applicable to the agreement."> + [synonym ISDA_Create_1_0 value "collateral_valuation_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4b"] + cashSettlementDay string (0..1) <"Cash Settlement Day has the meaning specified in ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, Paragraph 4(b)(i), unless otherwise specified as part of this attribute. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iv): Cash Settlement Day."> + [synonym ISDA_Create_1_0 value "specify" path "cash_settlement_day" set when "cash_settlement_day->specified" = "true"] + securitiesSettlementDay string (0..1) <"Securities Settlement Day has the meaning specified in ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, Paragraph 12, unless otherwise specified as part of this attribute. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(v): Securities Settlement Day."> + [synonym ISDA_Create_1_0 value "specify" path "securities_settlement_day" set when "securities_settlement_day->specified" = "true"] + +type CalculationCurrencyElection: <"A class to specify the ISDA SIMM Calculation Currency as either the Base Currency or an alternative currency. ISDA 2016 CSA for Initial Margin, Paragraph 13, General Principles (ee)(3). | ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles (ee)(3)."> + + party string (1..1) <"The party which the SIMM Calculation Currency qualification applies to."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_use_base_currency" = "true", set to "partyA" when "partyA_use_base_currency" = "false"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_use_base_currency" = "true", set to "partyB" when "partyB_use_base_currency" = "false"] + isBaseCurrency boolean (1..1) <"The SIMM Calculation Currency (also known as SIMM Reporting Currency) means the Base Currency when True. It means a different currency when False. In that latter case, the SIMM Calculation Currency is specified as part of the currency attribute."> + [synonym ISDA_Create_1_0 set to True when "partyA_use_base_currency" = "true", set to False when "partyA_use_base_currency" = "false"] + [synonym ISDA_Create_1_0 set to True when "partyB_use_base_currency" = "true", set to False when "partyB_use_base_currency" = "false"] + currency string (0..1) <"The currency in which the ISDA SIMM Calculation is denominated, when different from the Base Currency. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym AcadiaSoft_AM_1_0 value "currency"] + [synonym ISDA_Create_1_0 value "partyA_use_other_currency"] + [synonym ISDA_Create_1_0 value "partyB_use_other_currency"] + + condition BaseCurrency: <"A data rule to enforce that, when the SIMM calculation currency is specified as the Base Currency and vice versa"> + if isBaseCurrency = True + then currency is absent + else currency exists + +type CalculationDateLocation: <"A class to specify the Calculation Date Location election for the respective parties to the legal agreement. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i): Calculation Date Location. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location."> + + partyElection CalculationDateLocationElection (2..2) <"The parties' calculation date location election."> + + +type CalculationDateLocationElection: <"A class to specify each of the party elections with respect to the Calculation Date Location. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i): Calculation Date Location. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_calculation_date_location" = "select_location", set to "partyA" when "partyA_calculation_date_location" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_calculation_date_location" = "select_location", set to "partyB" when "partyB_calculation_date_location" = "other"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_designated_city" = "select_location", set to "partyA" when "partyA_designated_city" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_designated_city" = "select_location", set to "partyB" when "partyB_designated_city" = "other"] + businessCenter BusinessCenterEnum (0..1) <"The Calculation Date Location when specified as a business center which corresponds to the FpML list of business centers or can be mapped to it."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "partyA_location"] + [synonym ISDA_Create_1_0 value "partyB_location"] + customLocation string (0..1) <"The Calculation Date Location when specified a location which doesn't correspond to the FpML list of business centers or cannot be mapped to it."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + + condition Choice : <"The Calculation Date Location is specified either as a standard business center or as a custom location."> + required choice businessCenter, customLocation + +type CollateralAccessBreach: <"A class to specify Collateral Access Breach language"> + + isApplicable boolean (1..1) <"Collateral Access Breach terms are applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "collateral_access_breach" = "applicable", set to False when "collateral_access_breach" = "not_applicable"] + cabEndDateElection boolean (0..1) <"Determination of whether the Collateral Access Breach end date is a number of days (True) or specified (False)"> + [synonym ISDA_Create_1_0 set to True when "cab_end_date" = "days", set to False when "cab_end_date" = "other"] + cabEndDate number (0..1) <"The business days following the related Collateral Access Breach when the additional terms end "> + [synonym ISDA_Create_1_0 value "cab_end_date_days"] + cabEndDateTerms string (0..1) <"Specific terms for when Collateral Access Breach terms end"> + [synonym ISDA_Create_1_0 value "cab_end_date_specify"] + + condition CabEndDateTerms: <"A condition to require Collateral Access Breach End Date Terms when a specification is required"> + if cabEndDateElection = True then cabEndDateTerms is absent + + // condition CabEndDate: <"A condition to enforce that Collateral Access Breach terms should be absent when Not Applicable"> + // if isApplicable = False then cabEndDateElection and cabEndDate and cabEndDateTerms is absent + +//TODO - Condition required cabEndDate OR cabEndDateTerms required if CollateralAccessBreach is applicable + +type CollateralManagementAgreement: <"A class to specify the Collateral Management Agreement election by the respective parties to a Japanese Law ISDA CSA. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(i): Collateral Management Agreement."> + + partyElection CollateralManagementAgreementElection (2..2) <"The parties' Collateral Management Agreement election."> + +type CollateralManagementAgreementElection: <"A class to specify the Collateral Management Agreement election by each party as the Obligee. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b(i): Collateral Management Agreement."> + + party Party (1..1) <"The elective party."> + [metadata reference] + // TODO - Need for a mapping logic that will parse the ISDA Create prefix to identify partyA vs. partyB entries + collateralManagementAgreement string (1..1) <"The designated Collateral Management Agreement with respect to the elective party as the Obligee."> + [synonym ISDA_Create_1_0 value "partyA_specify", "partyB_specify"] + +type CollateralRounding: <"A class to specify the rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(C): Rounding. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding."> + + deliveryAmount number (1..1) <"The rounding methodology applicable to the Delivery Amount in terms of nearest integral multiple of Base Currency units."> + [synonym ISDA_Create_1_0 value "delivery_amount"] + returnAmount number (1..1) <"The rounding methodology applicable to the Return Amount in terms of nearest integral multiple of Base Currency units."> + [synonym ISDA_Create_1_0 value "return_amount"] + +type CollateralTransferAgreementElections: <"The set of elections which specify a Collateral Transfer Agreement"> + + regime Regime (1..1) <"The Regime Table provision , which determines the regulatory regime(s) applicable to each of the parties to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "Regimes"] + oneWayProvisions OneWayProvisions (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 value "one_way_provisions"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (a)"] + generalSimmElections GeneralSimmElections (1..1) <"The specification of the ISDA SIMM Method for all Covered Transactions with respect to all Regimes."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (e)"] + identifiedCrossCurrencySwap boolean (0..1) <"The qualification of whether cross-currency swaps need to be identified in the Confirmation so that the obligations to exchange principal be disregarded for the purpose of determining the Delivery Amount or Return Amount."> + [synonym ISDA_Create_1_0 set to True when "cross_currency_swap->yey_ney" = "true", set to False when "cross_currency_swap->yey_ney" = "false"] + // [documentReference Euroclear CtaInitialMargin 2018 paragraph "13" section "(g)"] + sensitivityMethodologies SensitivityMethodologies (1..1) <"The specification of methodologies to compute sensitivities specific to the agreement."> + fxHaircutCurrency FxHaircutCurrency (0..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + [synonym ISDA_Create_1_0 value "fx_haircut_percentage"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "(h)"] + postingObligations PostingObligations (1..1) <"The security providers posting obligations."> + [synonym ISDA_Create_1_0 value "security_provider_posting_obligations"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "General Principles (ii)"] + substitutedRegime SubstitutedRegime (1..1) <"The specification of Additional regimes for purposes of determining whether a Regulatory Event has occurred."> + [synonym ISDA_Create_1_0 value "substituted_regimes"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (k)"] + baseCurrency string (1..1) <"The base currency for the document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "1"] + creditSupportObligations CreditSupportObligationsInitialMargin (1..1) <"The Credit Support Obligations applicable to the agreement. "> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3"] + calculationAndTiming CalculationAndTiming (1..1) <"The set of elections for determining Valuation and Timing terms specific to the agreement"> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections that may overwrite the default Condition Precedent provision, and the set of provisions that are deemed Access Condition."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "5"] + substitution Substitution (1..1) <"The conditions under which the Security Provider can substitute posted collateral."> + [synonym ISDA_Create_1_0 value "consent"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "f"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "6"] + rightsEvents RightsEvents (1..1) <"The bespoke provisions that might be specified by the parties to the agreement to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred.."> + custodyArrangements CustodyArrangements (1..1) <"The Custodian and Segregated Account details in respect of each party to the agreement."> + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "m"] + additionalRepresentations AdditionalRepresentations (1..1) <"The specification Additional Representations that may be applicable to the agreement."> + demandsAndNotices ContactElection (0..1) <"The optional specification of address where the demands, specifications and notices will be communicated to for each of the parties to the agreement."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "12"] + addressesForTransfer ContactElection (0..1) <"The optional specification of address for transfer as specified by the respective parties to the agreement."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "12"] + otherCsa string (0..1) <"The bespoke definition of Other CSA as specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "other_csa->specify" set when "other_csa->specified" = "true"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "13"] + terminationCurrencyAmendment TerminationCurrencyAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Termination Currency. Unless specified the definition of Termination Currency has the meaning specified in the Schedule to the ISDA Master Agreement."> + [synonym ISDA_Create_1_0 value "amendment_to_termination_currency"] + [synonym ISDA_Create_1_0 value "security_provider_posting_obligations"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "13"] + minimumTransferAmountAmendment MinimumTransferAmountAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Minimum Transfer Amount. Unless specified the definition of Minimum Transfer Amount in any Other Regulatory CSA has the meaning specified in such Other Regulatory CSA."> + [synonym ISDA_Create_1_0 value "amendment_to_minimum_transfer_amount" mapper "MinimumTransferAmountAmendment"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "14"] + interpretationTerms string (0..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Interpretations."> + [synonym ISDA_Create_1_0 value "paragraph_1_6a_specify" path "interpretation" set when "interpretation->paragraph_1_6a_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_10ki_specify" path "interpretation" set when "interpretation->paragraph_10ki_is" = "specify"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "15"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms relevant to the agreement."> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + +type CollateralValuationAgent: <"A class to specify Collateral Valuation Agent terms."> + + partyElection CollateralValuationAgentElection (0..2) <"The parties Collateral Valuation Agent Elections."> + +type CollateralValuationAgentElection: <"A class to specify Collateral Valuation Agent language."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_collateral_valuation_agent" = "other"] //Check synonyms + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_collateral_valuation_agent" = "other"] //Check synonyms + additionalLanguage string (0..1) <"The additional language that might be specified by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "partyA_specify"] //Check synonyms + [synonym ISDA_Create_1_0 value "partyB_specify"] //Check synonyms + +type ConditionsPrecedent: <"A class to specify the two set of elections that may overwrite the default Condition Precedent provision as specified in Paragraph 4, (a) of the ISDA 2016 Credit Support Annex for Initial Margin and the ISDA 2016 Credit Support Annex for Variation Margin. | ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2018 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Conditions Precedent. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + conditionsPrecedentElection boolean (0..1) <"The election to specify whether the standard Conditions Precedent apply"> + [synonym ISDA_Create_1_0 set to True when "conditions_precedent->conditions_precedent" = "not specified", set to False when "conditions_precedent->conditions_precedent" = "paragraph_3_1_will_not_apply"] + [synonym ISDA_Create_1_0 set to True when "conditions_precedent->specified" = "false", set to False when "conditions_precedent->specified" = "true"] + customProvision string (0..1) <"The custom provisions that might be specified by the parties to the agreement for the purpose of overwriting the default Condition Precedent provision as specified in ISDA 2016 Credit Support Annex for Initial Margin and the ISDA 2016 Credit Support Annex for Variation Margin, Paragraph 4, (a). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(i). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(i). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, : Conditions Precedent and Secured Party’s Rights and Remedies."> + [synonym ISDA_Create_1_0 value "specify" path "conditions_precedent"] + accessConditions AccessConditions (1..1) <"The parties' election with respect to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + [synonym ISDA_Create_1_0 value "access_conditions"] //"conditions_precedent" + [synonym ISDA_Create_1_0 value "access_conditions" path "conditions_precedent"] + + condition CustomProvision: <"When a Custom Provision is specified then the Conditions Precedent Election should be absent."> + if customProvision exists + then conditionsPrecedentElection = False + +type ContactElection: <"A class to specify the parties' election to specify contact information, in relation to elections such as the Addresses for Transfer or the Demand and Notices as specified in the ISDA Credit Support Annex agreement."> + + partyElection PartyContactInformation (2..2 ) <"The parties' contact information election."> + +type ControlAgreement: <"A class to specify the relationship between the Control Agreement and the Credit Support Agreement."> + + partyElection ControlAgreementElections (2..2) <"The party specific elections."> + +type ControlAgreementElections: <"A class to specify the Control Agreement election sby each party to the agreement."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "yes", + set to "partyA" when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "yes", + set to "partyB" when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to "partyA" when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "yes", + set to "partyA" when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "yes", + set to "partyB" when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyA" when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "yes", + set to "partyA" when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "yes", + set to "partyB" when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "no"] + controlAgreementAsCsd boolean (1..1) <"The identification of whether the Control Agreement is a Credit Support Document with respect to each party"> + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "yes", + set to False when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "yes", + set to False when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "yes", + set to False when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "yes", + set to False when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "yes", + set to False when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "yes", + set to False when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "no"] + // TODO - add Condition - include when 2018 CSD English Law, exclude when 2016 (captured under CustodyArrangements) + consistencyWithControlAgreement boolean (0..1) <"Unless specified as inapplicable in the event of any inconsistency between this Deed and the Control Agreement, this Deed will prevail over the Control Agreement"> + [synonym ISDA_Create_1_0 set to True when "inconsistency_with_the_control_agreement->partyA_inconsistency_with_the_control_agreement" = "applicable", + set to False when "inconsistency_with_the_control_agreement->partyA_inconsistency_with_the_control_agreement" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "inconsistency_with_the_control_agreement->partyB_inconsistency_with_the_control_agreement" = "applicable", + set to False when "inconsistency_with_the_control_agreement->partyB_inconsistency_with_the_control_agreement" = "not_applicable"] + // TODO - add Condition - only include when 2018 CSD English Law + relationshipWithControlAgreement boolean (0..1) <"Unless specified as inapplicable the parties recognise that the Control Agreement is a means by which the parties can perform their obligations."> + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->partyA_control_agreement_relationship" = "applicable", + set to False when "relationship_with_the_control_agreement->partyA_control_agreement_relationship" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->partyB_control_agreement_relationship" = "applicable", + set to False when "relationship_with_the_control_agreement->partyB_control_agreement_relationship" = "not_applicable"] + // TODO - add Condition - only include when 2018 CSD English Law + +type ControlAgreementNecEvent: <"A class to specify Control Agreement language related to delivery of a Notice of Exclusive Control"> + + controlAgreementNecEventElection ControlAgreementNecEventElection (2..2) + +type ControlAgreementNecEventElection: <"A class to specify party specific Control Agreement language related to delivery of a Notice of Exclusive Control"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_control_agreement_nec_event" = "applicable", set to "partyA" when "partyA_control_agreement_nec_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyB_control_agreement_nec_event" = "applicable", set to "partyB" when "partyB_control_agreement_nec_event" = "not_applicable"] + + necEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_control_agreement_nec_event" = "applicable", set to False when "partyA_control_agreement_nec_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_control_agreement_nec_event" = "applicable", set to False when "partyB_control_agreement_nec_event" = "not_applicable"] + +type CreditNotation: <"A class to specify the credit notation as the combination of agency, notation, scale and debt type qualifications."> + [synonym FpML_5_10 value "CreditNotation"] + + agency CreditRatingAgencyEnum (1..1) <"The credit agency to which the other variables (notation, scale, debt type) refer to."> + [metadata scheme] + [synonym FpML_5_10 value "agency" meta "creditRatingAgencyScheme"] + notation string (1..1) <"The credit rating notation. As it varies among credit rating agencies, FpML doesn't specify a default scheme."> + [metadata scheme] + [synonym FpML_5_10 value "notation" meta "creditRatingNotationScheme"] + scale string (0..1) <"The credit rating scale, with a typical distinction between short term, long term. FpML doesn't specify a default scheme, which is hence not specified as an enumeration as part of the CDM."> + [metadata scheme] + [synonym FpML_5_10 value "scale" meta "creditRatingScaleScheme"] + debt CreditRatingDebt (0..1) <"The credit rating debt type (e.g. long term, high yield, deposits, ...) associated with the credit rating notation and scale."> + [synonym FpML_5_10 value "debt"] + + +type CreditNotations: <"The credit rating notation higher level construct, which provides the ability to specify multiple rating notations."> + [synonym FpML_5_10 value "CreditNotations"] + + creditNotation CreditNotation (0..1) <"This attribute is specified when only one credit notation is determined."> + [synonym FpML_5_10 value "creditNotation"] + creditNotations MultipleCreditNotations (0..1) <"This attribute provides the ability to specify several credit notations, alongside an 'any' or 'all' or all condition."> + condition: one-of + +type CreditRatingDebt: <"The credit rating debt type(s) associated with the credit rating notation and scale. When several debt types are specified, they must be qualified through an 'any' or 'all'."> + [synonym FpML_5_10 value "CreditRatingDebt"] + + debtType string (0..1) <"This attribute is to be specified when only one debt type is specified. FpML doesn't specify values in relation to the associated scheme, which is hence not specified as an enumeration as part of the CDM."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "debtTypeScheme"] + debtTypes MultipleDebtTypes (0..1) <"This attribute provides the ability to specify several debt types, alongside an 'any' or 'all' or all condition. As an example, Baa1 rating is required for any long term debt and deposit."> + condition: one-of + +type CreditSupportAgreementElections: <"The set of elections which specify a Credit Support Annex or Deed."> + + regime Regime (1..1) <"The Regime Table provision , which determines the regulatory regime(s) applicable to each of the parties to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "Regimes"] + oneWayProvisions OneWayProvisions (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 value "one_way_provisions"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (a)"] + generalSimmElections GeneralSimmElections (1..1) <"The specification of the ISDA SIMM Method for all Covered Transactions with respect to all Regimes."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (e)"] + identifiedCrossCurrencySwap boolean (0..1) <"The qualification of whether cross-currency swaps need to be identified in the Confirmation so that the obligations to exchange principal be disregarded for the purpose of determining the Delivery Amount or Return Amount."> + [synonym ISDA_Create_1_0 set to True when "cross_currency_swap->yey_ney" = "true", set to False when "cross_currency_swap->yey_ney" = "false"] + // [documentReference Euroclear CtaInitialMargin 2018 paragraph "13" section "(g)"] + sensitivityMethodologies SensitivityMethodologies (1..1) <"The specification of methodologies to compute sensitivities specific to the agreement."> + fxHaircutCurrency FxHaircutCurrency (0..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + [synonym ISDA_Create_1_0 value "fx_haircut_percentage"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "(h)"] + postingObligations PostingObligations (1..1) <"The security providers posting obligations."> + [synonym ISDA_Create_1_0 value "chargor_posting_obligations"] + [synonym ISDA_Create_1_0 value "pledgor_posting_obligations"] + [synonym ISDA_Create_1_0 value "obligor_posting_obligations"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "General Principles (ii)"] + substitutedRegime SubstitutedRegime (1..1) <"The specification of Additional regimes for purposes of determining whether a Regulatory Event has occurred."> + [synonym ISDA_Create_1_0 value "substituted_regimes"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (k)"] + baseCurrency string (1..1) <"The base currency for the document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "1"] + additionalObligations string (0..1) <"The additional obligations that might be specified by the parties to a Credit Support Agreement."> + [synonym ISDA_Create_1_0 value "additional_obligations_specify" path "additional_obligations" set when "additional_obligations->additional_obligations" = "specify"] + creditSupportObligations CreditSupportObligationsInitialMargin (1..1) <"The Credit Support Obligations applicable to the agreement. "> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3"] + calculationAndTiming CalculationAndTiming (1..1) <"The set of elections for determining Valuation and Timing terms specific to the agreement"> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections that may overwrite the default Condition Precedent provision, and the set of provisions that are deemed Access Condition."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "5"] + substitution Substitution (1..1) <"The conditions under which the Security Provider can substitute posted collateral."> + [synonym ISDA_Create_1_0 value "consent"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "f"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "6"] + rightsEvents RightsEvents (1..1) <"The bespoke provisions that might be specified by the parties to the agreement to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred.."> + custodyArrangements CustodyArrangements (1..1) <"The Custodian and Segregated Account details in respect of each party to the agreement."> + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "m"] + additionalRepresentations AdditionalRepresentations (1..1) <"The specification Additional Representations that may be applicable to the agreement."> + otherEligibleAndPostedSupport OtherEligibleAndPostedSupport (1..1) <"The Other Eligible Support elections associated with margin agreements."> + demandsAndNotices ContactElection (0..1) <"The optional specification of address where the demands, specifications and notices will be communicated to for each of the parties to the agreement."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "12"] + addressesForTransfer ContactElection (0..1) <"The optional specification of address for transfer as specified by the respective parties to the agreement."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "12"] + otherCsa OtherAgreements (0..1) <"The bespoke definition of Other CSA as specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "other_csa"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "13"] + japaneseLawCsa OtherAgreements (0..1) <"The bespoke definition of whether Japanese Law CSA (VM) are specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (s)(ii): Japanese Law CSA (VM)."> + [synonym ISDA_Create_1_0 value "japanese_law_csa_vm"] + terminationCurrencyAmendment TerminationCurrencyAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Termination Currency. Unless specified the definition of Termination Currency has the meaning specified in the Schedule to the ISDA Master Agreement."> + [synonym ISDA_Create_1_0 value "amendment_to_termination_currency"] + [synonym ISDA_Create_1_0 value "pledgor_posting_obligations"] + [synonym ISDA_Create_1_0 value "chargor_posting_obligations"] + [synonym ISDA_Create_1_0 value "obligor_posting_obligations"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "13"] + minimumTransferAmountAmendment MinimumTransferAmountAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Minimum Transfer Amount. Unless specified the definition of Minimum Transfer Amount in any Other Regulatory CSA has the meaning specified in such Other Regulatory CSA."> + [synonym ISDA_Create_1_0 value "amendment_to_minimum_transfer_amount" mapper "MinimumTransferAmountAmendment"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "14"] + interpretationTerms string (0..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Interpretations."> + [synonym ISDA_Create_1_0 value "paragraph_10ki_specify" path "interpretation" set when "interpretation->paragraph_10ki_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_11g_specify" path "interpretation" set when "interpretation->paragraph_11g_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_11j_specify" path "interpretation" set when "interpretation->paragraph_11j_is" = "specify"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "15"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + appropriatedCollateralValuation AppropriatedCollateralValuation (0..1) <"The election for the Valuation of Appropriate Collateral."> + [synonym ISDA_Create_1_0 value "valuation_of_appropriated_collateral"] + // [documentReference ISDA CsdInitialMargin 2016 paragraph "13" section "v"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms relevant to the agreement."> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + trustSchemeAddendum boolean (1..1) <"The qualification of whether Trust Scheme Addendum is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "trust_scheme_addendum->is_applicable" = "applicable", set to False when "trust_scheme_addendum->is_applicable" = "not_applicable"] + +type CreditSupportObligationsInitialMargin: <"A class to specify the Credit Support Obligations applicable to the Initial Margin Credit Support Annex and which are common among the English, Japanese and New York governing laws. This excludes the Other Eligible Support election (which only applies to the Japanese Law and New York Law agreements) and the Transfer Timing election (which only applies to the English Law and the New York Law agreements). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c): Credit Support Obligations. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d): Credit Support Obligations. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c): Credit Support Obligations."> + + marginApproach MarginApproach (0..1) <"The selection of Margin Approach applicable to the agreement."> + [synonym ISDA_Create_1_0 value "selection_of_margin_approach"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(a)"] + threshold Threshold (1..1) <"The amount of net exposure that a party is willing to bear in relation to the other party before it requires asking for collateral. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(A): Threshold. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold."> + [synonym ISDA_Create_1_0 value "threshold" mapper "Threshold"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(b)(ii)"] + minimumTransferAmount MinimumTransferAmount (1..1) <"The net amount of exposure reached before collateral has to be posted or returned. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(B): Minimum Transfer Amount. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount."> + [synonym ISDA_Create_1_0 value "minimum_transfer_amount" mapper "MinimumTransferAmount"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(b)(i)"] + rounding CollateralRounding (0..1) <"The rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(C): Rounding. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding."> + [synonym ISDA_Create_1_0 value "rounding"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(c)(v)(C)"] + bespokeTransferTiming BespokeTransferTiming (0..1) <"The time by which the transfer of collateral must take place when different from the Regular Settlement Day as a result of parties' election."> + [synonym ISDA_Create_1_0 value "transfer_timing"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(c)(vi)"] + +type CreditSupportObligationsVariationMargin: <"A class to specify the Credit Support Obligations applicable to the Variation Margin Credit Support Annex and which are common among the English, Japanese and New York governing laws. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c): Credit Support Obligations."> + + eligibleCollateral EligibleCollateralVariationMargin (1..1) <"The eligible collateral elections by the parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + ineligibleCreditSupport IneligibleCreditSupport (1..1) <"The parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + majorCurrency string (1..*) <"The set of currencies that are specified as Major Currency for the purpose of applying the FX Haircut Percentage. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(v)(B): FX Haircut Percentage."> + [metadata scheme] + // In relation to the above, are the parties expected to always specify the major currencies, or should we have default values specified in the template, deemed to apply if no election by the parties? The current model assumes the former. + fxHaircut number (1..1) <"The FX haircut percentage that applies to each party (as the pledgor/chargor/obligor) and item of Eligible Collateral unless this item is denominated in a Major Currency or in the Base Currency. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(v)(B): FX Haircut Percentage."> + // Same question as above: does the template specifies 8% as a default value? + minimumTransferAmount MinimumTransferAmount (1..1) <"The net amount of exposure reached before collateral has to be posted or returned. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vii)(A): Minimum Transfer Amount."> + rounding CollateralRounding (1..1) <"The rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vii)(B): Rounding."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type Csa: <"An abstract class to specify the provisions for a ISDA Credit Support Annex that are common among vintages, governing laws and across IM and VM."> + + documentationIdentification DocumentationIdentification (0..1) <"The identification of the legal document(s) that govern the contract through some of the key terms of such document(s): type of document, the document identifier, the publisher, the document vintage and the agreement date."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type Csa2016 extends Csa: <"An abstract class to specify the provisions for the 2016 ISDA Credit Support Annex that are common among governing laws and across Initial and Variation Margin."> + + baseCurrency string (1..1) <"The base currency for the Credit Support Annex document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes. ISDA 2016 CSA for Initial Margin, Paragraph 13 (a) | ISDA 2016 CSA for Variation Margin, Paragraph 13 (a)."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + additionalObligations string (0..1) <"The additional obligations that might be specified by the parties to an ISDA CSA. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (b)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(ii). | ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (b)(ii)."> + [synonym ISDA_Create_1_0 value "additional_obligations_specify" path "additional_obligations" set when "additional_obligations->additional_obligations" = "specify"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections specified in Paragraph 13 that may overwrite the default Condition Precedent provision as specified in ISDA 2016 Credit Support Annex for Initial Margin, Paragraph 4, (a), and the set of provisions that are deemed Access Condition (Initial Margin) and Specified Condition (Variation Margin). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Conditions Precedent. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + substitution Substitution (1..1) <"The conditions under which the Pledgor/Obligor/Chargor can substitute posted collateral. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (f): Substitution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Substitution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Substitution. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (f): Substitution."> + [synonym ISDA_Create_1_0 value "consent"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (h): Dispute Resolution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (g): Dispute Resolution."> + [synonym ISDA_Create_1_0 value "resolution_time"] + additionalRepresentation AdditionalRepresentation (1..1) <"ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (o): Additional Representation(s). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (k): Additional Representation(s)."> + [synonym ISDA_Create_1_0 value "additional_representations"] + demandsAndNotices ContactElection (1..1) <"The address where the demands, specifications and notices will be communicated to within each of the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (q): Demands and Notices. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (m): Demands and Notices."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + addressesForTransfer ContactElection (1..1) <"The address for transfer as specified by the respective parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (r): Addresses for Transfers. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (n): Addresses for Transfers."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + bespokeProvision string (0..1) <"The bespoke provision that might be specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (u)(iii): Other Provisions. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (p): Other Provisions."> + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + umbrellaAgreement UmbrellaAgreement (0..1) <"The determination of whether Umbrella Agreement terms are applicable (True) or Not Applicable (False)."> + [synonym ISDA_Create_1_0 value "umbrella_agreement_and_principal_identification", "principal_identification_schedule" path "umbrella_agreement_and_principal_identification"] + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type CsaVariationMargin2016 extends Csa2016: <"An abstract class to specify the provisions for the 2016 ISDA Credit Support Annex for Variation Margin that are common among governing laws."> + + creditSupportObligations CreditSupportObligationsVariationMargin (1..1) <"The Credit Support Obligations applicable to the Variation Margin Credit Support Annex. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c): Credit Support Obligations."> + valuationAgent Party (1..1) <"The Valuation Agent as specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(i): Valuation Agent."> + [metadata reference] + valuationDateLocation CalculationDateLocation (1..1) <"The business location elected by the respective parties to the agreement as the Valuation Date Location. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(ii): Valuation Date Location."> + valuationTime BusinessCenterTime (1..*) <"ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(iii): Valuation Time."> + // In relation to the above, need to confirm that several valuation times can be specified, as suggested by the sample document which has been used, although this sounds peculiar if not expressed as one valuation time election per party + notificationTime int (1..1) <"The extend of time by which a demand for the Transfer of Eligible Credit Support (VM) or Posted Credit Support (VM) needs to be made after the relevant Valuation Time in order for the transfer to take place. This time is expressed in a number of minutes. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(iv): Notification Time."> + // TODO - Look to express this elapse time as an interval time, to be projected as a a java Interval type https://trello.com/c/hclQUeS0 + holdingAndUsingPostedCollateral HoldingAndUsingPostedCollateral (1..1) <"The elections for the holding and using of posted collateral by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + creditSupportOffsets boolean (1..1) <"When True the Credit Support Offsets provisions in Paragraph 11(j) of the ISDA 2016 Credit Support Annex for Variation Margin apply. They don't apply when False. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (j): Credit Support Offsets."> + otherCsa OtherAgreements (1..1) <"The qualification of whether Other CSA are specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (o): Other CSA."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type CsaVariationMargin2016NewYorkLaw extends CsaVariationMargin2016: <"A class to specify the provisions that are specific to the New York Law version of the ISDA 2016 Credit Support Annex for Variation Margin."> + + otherEligibleSupport string (0..1) <"The Other Eligible Support election. If not specified, this election is deemed as not applicable. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vi): Other Eligible Support (VM)."> + transferTiming string (1..1) <"The time by which the transfer of collateral must take place after the Notification Time on the Regular Settlement Day. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(viii): Transfer Timing."> + otherEligibleAndPostedSupport OtherEligibleAndPostedSupport (1..1) <"The Other Eligible Support elections associated with margin agreements. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (l): Other Eligible Support (VM) and Other Posted Support (VM)."> + +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type EquitySwapMasterConfirmation2018 extends EquityMasterConfirmation: <"Specification for the General Terms and Relationship Supplement Elections as provided in the 2018 ISDA CDM Equity Confirmation for Security Equity Swap."> + + typeOfSwapElection ReturnTypeEnum (1..1) <"Part 1 Section 4, 'Dividend Obligations', of the 2018 ISDA CDM Equity Confirmation, Para 4.2 'Dividend Returns': The Type Of Swap Election shall be 'Total Return', unless otherwise specified (as alternative 'Price Return') in the Transaction Supplement."> + pricingMethodElection PriceReturnTerms (1..1) <"Part 1 Section 5, 'Pricing', of the 2018 ISDA CDM Equity Confirmation, Para 5.1, 'Determining Prices': Each price in relation to a Pricing Date shall be determined pursuant to the specified Pricing Method. The relevant price specified under the column header 'Price' for a corresponding Pricing Date specified under the column header 'Pricing Date' shall be determined using the corresponding method specified under the column header 'Pricing Method'. Pricing Method for the final Equity Valuation Date shall be specified by the Final EVD Pricing Election and Pricing Method for any other Equity Valaution Date shall be 'Securities Close Pricing (Official)'"> + // TODO: the initialPrice attribute should be optional in PriceReturnTerms, only the valuationPriceInterim and valuationPriceFinal methods should be specified at the Swap level + linearInterpolationElection InterpolationMethodEnum (1..1) <"Part 1 Section 3, 'Floating Obligations', of the 2018 ISDA CDM Equity Confirmation. Para 3.3, 'Linear Interpolation': If the initial Calculation Period is not equal to the Designated Maturity, then the Linear Interpolation Election shall be as specified in the Relationship Supplement, unless otherwise specified in the Transaction Supplement."> + settlementTerms SettlementTerms (1..1) <"Part 1 Section 8, 'Settlement', of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap. All Settlements are in Cash."> + equityCalculationPeriod CalculationPeriodDates (1..1) <"The parameters used to generate the 'Equity Valuation Dates' schedule, including the Effective Date and Termination Date for the Swap."> + equityCashSettlementDates PaymentDates (1..1) <"The parameters used to generate the payment date schedule, relative to the equityCalculationPeriod. Part 1 Section 12, 'Definitions', of the 2018 ISDA CDM Equity Confirmation. Para 73: 'Equity Cash Settlement Date' means each date falling one Settlement Cycle after an Equity Valuation Date; provided that if any such date is not a Settlement Currency Business Day, then such date shall be adjusted per Following Day Adjustment."> + +// TODOs: Averaging Election, Dividend Payment Date Election, Break Funding Election +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type EquityMasterConfirmation extends MasterConfirmationBase: <"Specification for General Terms and Elections of an Equity Master Confirmation that is applicable across multiple Equity confirmations and is referenced by each of these confirmations, an example of which being the 2018 ISDA CDM Equity Confirmation for Security Equity Swap."> + +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type MasterConfirmationBase: <"Legal agreement specification for General Terms and Elections that are applicable across multiple confirmations and are referenced by these confirmations."> + +type Custodian: <"A class to specify the custodian and custody account details for each party to the agreement."> + + partyElection CustodianElection (2..2) <"The party specific elections."> + +type CustodianElection: <"A class to specify the custodian and custody account details for each party to the agreement."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_custodian_name" exists, set to "partyB" when "partyB_custodian_name" exists] + custodian LegalEntity (0..1) <"The custody agent. While ISDA Create only specifies the custodian's name, specifying the legal entity as part of the CDM is deemed more appropriate, while this will still provide the ability to accommodate situations where only the entity name is available, as the entityId attribute is optional as part of the LegalEntity class."> + [synonym ISDA_Create_1_0 value "custodian_name"] + [synonym ISDA_Create_1_0 value "collateral_manager"] + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + segregatedCashAccount Account (0..1) <"The identification of the segregated cash account for the purpose of holding cash collateral."> + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + // TODO - Need for a mapping logic that will parse the ISDA Create suffix to identify cash vs. security with custodian_and_segregated_account_details as a path + segregatedSecurityAccount Account (0..1) <"The identification of the segregated security account for the purpose of holding security collateral."> + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + // TODO - Need for a mapping logic that will parse the ISDA Create suffix to identify cash vs. security with custodian_and_segregated_account_details as a path + + +type CustodianEvent: <"A class to specify the Custodian Event (English Law & New York Law ISDA CSA) and the Collateral Manager Event (Japanese Law ISDA CSA) in terms of applicability and end-date. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(iii): Custodian Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(ii): Collateral Manager Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Custodian Event."> + + isApplicable boolean (1..1) <"The qualification as to whether the Custodian Event (English Law & New York Law ISDA CSA) or the Collateral Manager Event (Japanese Law ISDA CSA) is applicable."> + [synonym ISDA_Create_1_0 set to True when "custodian_event->definition" = "applicable", set to False when "custodian_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "euroclear_event->definition" = "applicable", set to False when "euroclear_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "clearstream_event->definition" = "applicable", set to False when "clearstream_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "collateral_manager_event->definition" = "applicable", set to False when "collateral_manager_event->definition" = "not_applicable"] + endDate CustodianEventEndDate (0..1) <"The qualification of the Custodian Event (English Law & New York Law ISDA CSA) or Collateral Manager Event (Japanese Law ISDA CSA) End Date."> + [synonym ISDA_Create_1_0 value "ce_end_date"] + [synonym ISDA_Create_1_0 value "ee_end_date"] + [synonym ISDA_Create_1_0 value "cme_end_date"] + +type CustodianEventEndDate: <"A class to specify the Custodian Event (English Law & New York Law ISDA CSA) or Collateral Manager Event (Japanese Law ISDA CSA) End Date. Its qualification is function of three elective periods: either (i) a specified number of days after the occurrence of the Custodian Event (the daysAfterCustodianEvent attribute), or (ii) the number of days prior to the date on which the Control Agreement will terminate, with in this latter case (iii) the further qualification of the number of days prior to the Release Date if only one party has effectively provided the Timely Statement to the other party. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(iii): CE End Date. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(ii): CME End Date. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): CE End Date."> + + daysAfterCustodianEvent CustomisableOffset (1..1) <"The parties' election to specify the number of days after the occurrence of the Custodian Event (English Law & New York Law ISDA CSA) or the Collateral Management Event (Japanese Law ISDA CSA) for the purpose of qualifying the CE/CME End Date."> + // TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `after` + [synonym ISDA_Create_1_0 value "days_after_custodian_event"] + releaseDate CustomisableOffset (1..1) <"The parties' election to specify the number of days prior to the termination of the Control Agreement (English Law & New York Law ISDA CSA) or the Collateral Management Event (Japanese Law ISDA CSA) for the purpose of qualifying the CE/CME End Date, in the case where advance notice is given."> + // TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `release` + [synonym ISDA_Create_1_0 value "release_days"] + dateOfTimelyStatement CustomisableOffset (1..1) <"The parties' election to specify the number of days one party has effectively provided the Timely Statement to the other party."> + [synonym ISDA_Create_1_0 value "days_after_timely_statement"] + +// TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `timely` or `date_of_timely` +type CustodianRisk: <"A class to specify the Custodian Risk elections specific to a Credit Support Agreement."> + + partyElection CustodianRiskElection (1..2) <"The party specific elections."> + +type CustodianRiskElection: <"A class to specify the Custodian Risk (English Law and New York Law ISDA CSA) and the Collateral Manager Risk (Japanese Law ISDA CSA) election. | ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk. | ISDA 2018 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(i): Collateral Manager Risk. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk."> + + party string (0..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_custodian_risk" = "other", set to "partyA" when "partyA_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_custodian_risk" = "other", set to "partyB" when "partyB_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_collateral_manager_risk" = "other", set to "partyA" when "partyA_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_collateral_manager_risk" = "other", set to "partyB" when "partyB_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_clearstream_risk" = "other", set to "partyA" when "partyA_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_clearstream_risk" = "other", set to "partyB" when "partyB_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_euroclear_risk" = "other", set to "partyA" when "partyA_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_euroclear_risk" = "other", set to "partyB" when "partyB_euroclear_risk" = "not_specified"] + isSpecified boolean (1..1) <"The qualification as to whether the risk is deemed as Specified."> + [synonym ISDA_Create_1_0 set to True when "partyA_custodian_risk" = "other", set to False when "partyA_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_custodian_risk" = "other", set to False when "partyB_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_collateral_manager_risk" = "other", set to False when "partyA_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_collateral_manager_risk" = "other", set to False when "partyB_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_clearstream_risk" = "other", set to False when "partyA_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_clearstream_risk" = "other", set to False when "partyB_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_euroclear_risk" = "other", set to False when "partyA_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_euroclear_risk" = "other", set to False when "partyB_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_6b" = "specified", set to False when "paragraph_6b" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_6a" = "specified", set to False when "paragraph_6a" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_5_2" = "specify", set to False when "paragraph_5_2" = "not_specified"] + qualification string (0..1) <"The Custodian Risk (English Law and New York Law ISDA CSA) or Collateral Manager Risk (Japanese Law ISDA CSA) qualification. This attribute is optional because the Custodian Risk provision can be deemed as 'Specified', although not be qualified through this attribute."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + [synonym ISDA_Create_1_0 value "paragraph_6b_specify" set when "paragraph_6b" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_6a_specify" set when "paragraph_6a" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_5_2_specify" set when "paragraph_5_2" = "specify"] + + + condition Specified: <"The Custodian Risk (English Law and New York Law ISDA CSA) or Collateral Manager Risk (Japanese Law ISDA CSA) should only be qualified if that risk is deemed 'specified'."> + if isSpecified = False + then qualification is absent + +type CustodianTerms: <"A class to specify the requirements applicable to the custodian with respect to the holding of posted collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(i): Eligibility to Hold Posted Collateral (VM) Custodians (VM)."> + [synonym FpML_5_10 value "CustodianTerms"] + + /* + * This class leverages the FpML representation for the ISDA Standard CSA for the purpose of normalizing the election + * in the ISDA CSA 2016 for Variation Margin, Paragraph 13, (h)(i)(2). + */ + minimumAssets Money (0..1) <"The minimal level of assets requirement with respect to the custody agent."> + [synonym FpML_5_10 value "minimumAssets"] + minimumRating CreditNotations (0..1) <"The minimal rating requirement with respect to the custody agent."> + [synonym FpML_5_10 value "minimumRating"] + initialDesignation LegalEntity (0..1) <"The 2016 ISDA CSA for Variation Margin provides the ability for the parties to specify the initial custodian."> + +type CustodyArrangements: <"A class to specify the Custody Arrangements for the agreement."> +// <"A class to specify the Custody Arrangements for the English Law and New York Law ISDA Credit Support Annex. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Custody Arrangements."> + isCreditSupportDocument boolean (0..1) <"Unless specified as True, the Control Agreement is not a Credit Support Document under the agreement with respect to a party. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 6 (e): The Control Agreement as a Credit Support Document."> + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->definition" = "creditSupportDocument", + set to False when "control_agreement_as_a_credit_support_document->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "collateral_management_agreement_as_a_credit_support_document->definition" = "creditSupportDocument", + set to False when "collateral_management_agreement_as_a_credit_support_document->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->definition" = "creditSupportDocument", + set to False when "euroclear_agreements_as_credit_support_documents->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->definition" = "creditSupportDocument", + set to False when "clearstream_agreements_as_credit_support_documents->definition" = "not_specified"] + hasControlAgreementLanguage boolean (0..1) <"Control Agreement language is specified when True."> + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->include_language" = "include", set to False when "relationship_with_the_control_agreement->include_language" = "exclude"] + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_collateral_management_agreement->include_language" = "include", + set to False when "relationship_with_the_collateral_management_agreement->include_language" = "exclude"] + // TODO - add Condition for hasControlAgreement - include when 2016, exclude when 2018 (captured under CustodyArrangementsElection) + otherProvisions string (0..1) <"ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(vii): Other Provisions."> + [synonym ISDA_Create_1_0 value "specify" path "other_provisions" set when "other_provisions->specify_provisions" = "specify"] + // TODO - add Condition for otherProvisions - include when 2016, exclude when 2018 (captured under CustodyArrangementsElection) + collateralAccessBreach CollateralAccessBreach (0..1) <"The elections specific to Collateral Access Breach language"> + [synonym ISDA_Create_1_0 value "collateral_access_breach_additional_termination_event"] + [synonym ISDA_Create_1_0 value "collateral_access_breach"] + custodianRisk CustodianRisk (0..1) <"The qualification of the Custodian Risk. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk."> + [synonym ISDA_Create_1_0 value "custodian_risk"] + [synonym ISDA_Create_1_0 value "collateral_manager_risk"] + [synonym ISDA_Create_1_0 value "euroclear_risk"] + [synonym ISDA_Create_1_0 value "clearstream_risk"] + controlAgreement ControlAgreement (0..1) <"The party-specific election with respect to the control agreement."> + custodianEvent CustodianEvent (1..1) <"When specified as True, means that the Custodian Events specified in Paragraph 13 General Principles, (m)(iii) will constitute an Additional Termination Event. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(iii): Custodian Event."> + custodian Custodian (0..1) <"The custodian and segregated account details for each party to the agreement."> + collateralManagementAgreeement CollateralManagementAgreement (0..1) <"ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(i): Collateral Management Agreement."> + [synonym ISDA_Create_1_0 value "collateral_management_agreement"] + distributionAndInterestPayment DistributionAndInterestPayment (0..1) <"The Distributions and Interest Payment as part of the Japanese Law ISDA CSA. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM)."> + +type CustomisableOffset: <"A class to specify an offset either as a normalized [multiplier, period, dayType] or as a custom provision of type string."> + + offset Offset (0..1) + customProvision string (0..1) + +type DeliveryAmount: <"A class to specify the application of Interest Amount with respect the Delivery Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + standardElection DeliveryAmountElectionEnum (0..1) <"The standard election as specified by an enumeration."> + [synonym ISDA_Create_1_0 value "delivery_amount"] + customElection string (0..1) <"The custom election that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify_delivery_amount"] + condition: one-of + +type DisputeResolution: <"A class to specify the election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support. Parties can specify such election either through a business center time or through a custom election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (h): Dispute Resolution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution."> + + resolutionTime BusinessCenterTime (0..1) <"The time by which the dispute needs to be resolved, failure of which would trigger a recalculation alongside a process that is specified as part of the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g)(i): Resolution Time. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (g)(i): Resolution Time."> + [synonym ISDA_Create_1_0 value "resolution_time" set when "resolution_time->specified" = "true"] + otherTerms string (0..1) <"The custom Resolution Time election that might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify" path "resolution_time" set when "resolution_time->specified" = "false"] + // condition: one-of //TODO replace condition when resolutionTime exists otherTerms is absent + recalculationOfValue RecalculationOfValue (0..1) <"The elections to specify terms for recalculation of the market value of posted collateral."> + [synonym ISDA_Create_1_0 value "recalculation_of_value"] + [synonym ISDA_Create_1_0 value "recalculation_of_market_value"] + +type DistributionAndInterestPayment: <"A class to specify the Distributions and Interest Payment provisions applicable to the Japanese Law ISDA 2016 CSA for Initial Margin and the New York Law ISDA 2016 CSA for Variation Margin. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i): Distributions and Interest Payment (VM)."> + + interestRate EligibleCurrencyInterestRate (1..*) <"The interest rate associated with initial or variation margin collateral, depending upon the type of credit agreement that this election is associated with. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(i): Interest Rate (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(i): Interest Rate (VM)."> + [synonym ISDA_Create_1_0 value "eligible_currencies" path "interest_rate"] + interestPaymentTransfer boolean (1..1) <"The Interest Payment Transfer is applicable when True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Transfer of Interest Payment (IM) or application of Interest Amount (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 set to True when "interest_transfer->interest_transfer" = "applicable", set to False when "interest_transfer->interest_transfer" = "not_applicable"] + interestPaymentNetting boolean (1..1) <"The Interest Payment Netting is applicable when True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Transfer of Interest Payment (IM) or application of Interest Amount (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 set to True when "interest_payment_netting->interest_payment_netting" = "applicable", set to False when "interest_payment_netting->interest_payment_netting" = "not_applicable"] + interestAmount InterestAmount (1..1) <"The application of Interest Amount with respect to the Delivery Amount and the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + [synonym ISDA_Create_1_0 value "return_amount_delivery_amount"] + interestAdjustment InterestAdjustment (1..1) <"To election to specify whether the Interest Adjustment is applicable and what its periodicity is. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 value "interest_adjustment"] + negativeInterest boolean (1..1) <"Negative Interest is applicable when True, and not applicable when False. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Other Interest Elections. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iii): Other Interest Elections."> + [synonym ISDA_Create_1_0 set to True when "negative_interest->negative_interest" = "applicable", set to False when "negative_interes->negative_interest" = "not_applicable"] + dailyInterestCompounding boolean (1..1) <"Daily interest compounding is applicable when True, and not applicable when False. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Other Interest Elections. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iii): Other Interest Elections."> + [synonym ISDA_Create_1_0 set to True when "daily_interest_compounding->daily_interest_compounding" = "applicable", set to False when "daily_interest_compounding->daily_interest_compounding" = "not_applicable"] + alternativeProvision string (0..1 ) <"When the alternative provision clause is specified, it means that the ISDA CSA Japanese Law provisions specified in Paragraph 6(c)(ii) don't apply and are overwritten by this election. When it is not specified, it means that the ISDA CSA Japanese Law provisions specified in Paragraph 6(c)(ii) apply. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iv): Alternative to Interest Amount (IM) and Interest Payment (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iv): Alternative to Interest Amount (VM) and Interest Payment (VM)."> + [synonym ISDA_Create_1_0 value "specify" path "alternative_to_interest_amounts_and_interest_payment" set when "alternative_to_interest_amounts_and_interest_payment->specify_alternative" = "true"] + +// Note: Threshold, MinimumTransferAmount and MinimumTransferAmountAmendment class map to this one +type ElectiveAmountElection: <"A class to specify the party elective amounts which can be used for the purpose of specifying elections such as the ISDA CSA Threshold and Minimum Transfer Amount."> + + party string (1..1) <"The elective party."> + zeroAmount boolean (1..1) <"A boolean election to express that the elective amount is zero (True) or another value (False)."> + amount Money (0..1) <"The elective amount when expressed as a currency amount. The associated PartyElectiveAmount_amount data rule enforces that the currency amount is actually greater than 0."> + customElection string (0..1) <"The elective amount when expressed as a custom election by the party."> + + condition NonZeroAmount: <"When the elective amount is not zero either a currency amount or a custom election must exist."> + if zeroAmount = False then (amount or customElection) exists + +type EligibilityToHoldCollateral: <"A class to specify the conditions under which a party and its custodian(s) are entitled to hold collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(i): Eligibility to Hold Posted Collateral (VM) Custodians (VM)."> + [synonym FpML_5_10 value "EligibilityToHoldCollateral"] + /* + * This class leverages work in the context of the FpML representation for the ISDA Standard CSA for the purpose of normalizing this election + * Those provisions go beyond what is specified as part of the 2016 CSA, which election has not yet been normalized + */ + partyTerms HoldingPostedCollateralEnum (1..*) <"The condition(s) required by a party from the other party to hold its posted collateral."> + [synonym FpML_5_10 value "holdingPostedCollateral"] + custodianTerms CustodianTerms (0..1) <"The restrictions that might be required by a party from the other party's custodian agent to hold its posted collateral."> + [synonym FpML_5_10 value "custodianTerms"] + eligibleCountry string (0..*) <"The restrictions that might be required by a party from the other party in terms of country(ies) where collateral can be held."> + [metadata scheme] + [synonym FpML_5_10 value "eligibleCountry"] + +type EligibleCollateralVariationMarginElection: <"A class to specify the parties' elections with respect to the eligible collateral for each of the respective parties when acting as a pledgor/chargor/obligor. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + + party Party (1..1) <"The elective party."> + [metadata reference] + eligibleCollateral EligibleCollateral (1..*) <"The eligible collateral for the specified party (acting as the Pledgor in the New York Law agreement, as the Chargor in the English Law deed and as the Obligor in the Japanese Law agreement). ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + +type EligibleCollateralVariationMargin: <"A class to specify the eligible collateral elections by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + + // TODO: change cardinality to (2..2) when Ingestion process is able to support normalising external models (https://trello.com/c/TnJWvKes) + partyElection EligibleCollateralVariationMarginElection (1..1) <"The parties' eligible collateral elections."> + +type EligibleCurrencyInterestRate: <"A class to specify the interest rate associated with initial margin collateral. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM)."> + + currency string (1..1) <"The eligible currency."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "eligible_currency"] + interestRate number (1..1) <"The interest rate associated with the eligible currency."> + [synonym ISDA_Create_1_0 value "interest_rate"] + actual365Currency string (1..1) // TODO - Need to clarify with Linklater what this attribute is + [synonym ISDA_Create_1_0 value "a365_currency"] + +type EnforcementEvent: <"A class to specify Enforcement Events specific to Security Agreements"> + + earlyTerminationDate boolean (1..1) <"The early termination election"> + [synonym ISDA_Create_1_0 set to True when "paid_in_full_language" = "include", set to False when "paid_in_full_language" = "exclude"] + failureToPay boolean (0..1) <"The failure to pay election"> + [synonym ISDA_Create_1_0 set to True when "failure_to_pay_early_termination_amount" = "applicable", set to False when "failure_to_pay_early_termination_amount" = "not_applicable"] + +type ExecutionLanguage: <"A class to specify execution language terms of a Security Agreement."> + standardLanguage boolean (1..1) <"A boolean attribute to determine if standard language is applicable or not"> + [synonym ISDA_Create_1_0 set to True when "execution_language" = "standard_language", set to False when "execution_language" = "other_execution_language"] + numberOfOriginals string (0..1) <"The number of original documents"> + [synonym ISDA_Create_1_0 value "number_of_originals"] + otherLanguage string (0..1) <"Bespoke execution language to be included when specified."> + [synonym ISDA_Create_1_0 value "specify_execution_language"] + + condition numberOfOriginals: <"A data rule to enforce that the number of original documents should only be specified when standard execution language is used."> + if standardLanguage = False + then numberOfOriginals is absent + + condition otherLanguage: <"A data rule to enforce that bespoke execution language must be included if non-standard execution language is specified."> + if standardLanguage = False + then otherLanguage exists + +type ExecutionLocation: <"A class to specify execution location terms of a Security Agreement"> + executionLocation ExecutionLocationEnum (1..1) <"The execution location of the agreement"> + [synonym ISDA_Create_1_0 value "location_of_execution"] + otherLanguage string (0..1) <"Bespoke execution location language to be included when specified."> + [synonym ISDA_Create_1_0 value "specify_location_of_execution"] + dutyPayer string (0..1) <"The payer of documentary duty"> + [synonym ISDA_Create_1_0 set to "PartyA" when "documentary_duty_payer" = "party_A", + set to "PartyB" when "documentary_duty_payer" = "party_B", + set to "Specify" when "documentary_duty_payer" = "other"] + dutyPayerLanguage string (0..1) <"Bespoke terms specific to the payment of documentary duty"> + [synonym ISDA_Create_1_0 value "specify_documentary_duty_payer"] // path "documentary_duty_payer"] + dutyPaymentDate date (0..1) <"The date that documentary duty will be paid"> + [synonym ISDA_Create_1_0 value "select_documentary_duty_date"] // set when "documentary_duty_date" = "select" + dutyPaymentLanguage string (0..1) <"Bespoke terms specific to the date that documentary duty will be paid"> + [synonym ISDA_Create_1_0 value "specify_documentary_duty_date_datepicker" set when "documentary_duty_date" = "other"] + +// TODO Data Rule required to enforce that Duty Payer should be absent if LocationEnum is ExecutedOutsideBelgium or Other (OR included if Enum is ExecutedInBelgium) + // condition dutyPayer: <"A data rule to enforce that Duty Payer language should be absent when the document is executed outside of Belgium."> + // if executionLocation = ExecutionLocationEnum->ExecutedOutsideBelgium + // then dutyPayer and dutyPayerLanguage and dutyPaymentDate and dutyPaymentLanguage is absent + + condition dutyPayerLanguage: <"A data rule to enforce that Duty Payer Language should only be specified when required"> + if dutyPayer = "Specify" + then dutyPayerLanguage exists + + condition dutyPaymentLanguage: <"A data rule to enforce that Duty Payment Language should be absent when a Duty Payment date is provided"> + if dutyPaymentDate exists then dutyPaymentLanguage is absent + + condition otherLanguage: <"A data rule to enforce that bespoke execution language must be included if non-standard execution language is specified."> + if executionLocation = ExecutionLocationEnum->OtherLocation + then otherLanguage exists + +type ExecutionTerms: <"A class to specify execution location and language of execution to determine duty to be paid."> + executionLanguage ExecutionLanguage (1..1) <"The bespoke execution language election."> + executionLocation ExecutionLocation (1..1) <"The bespoke execution location election."> + +type FrenchLawAddendum: <"A class to specify party specific elections when a Collateral Transfer Agreement is governed by French Law."> + + isApplicable boolean (1..1) <"The qualification of whether the French Law Addendum is deemed applicable by the parties (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + partyElection FrenchLawAddendumElection (2..2) <"The parties French Law Addendum Elections."> + + condition Applicable: <"A data rule to enforce that the French Law Addendum party elections must be specified when applicable."> + if isApplicable = True + then partyElection exists + +type FrenchLawAddendumElection: <"A class to specify party specific French Law Addendum language"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_french_law_addendum" = "specify", set to "partyA" when "partyA_french_law_addendum" = "not_applicable", + set to "partyB" when "partyB_french_law_addendum" = "specify", set to "partyB" when "partyB_french_law_addendum" = "not_applicable"] + isApplicable boolean (1..1) <"The qualification of whether the party elects specific language"> + [synonym ISDA_Create_1_0 set to True when "partyA_french_law_addendum" = "specify", set to False when "partyA_french_law_addendum" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_french_law_addendum" = "specify", set to False when "partyB_french_law_addendum" = "not_applicable"] + addendumLanguage string (0..1) <"The party specific language to be included in the agreement."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + + condition AddendumLanguage: <"A data rule to enforce that the French Law Addendum party language must be specified when applicable."> + if isApplicable = True then addendumLanguage exists + else if isApplicable = False then addendumLanguage is absent + +type FxHaircutCurrency: <"A class to specify the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + + isTerminationCurrency boolean (1..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is the Termination Currency when the Boolean value is set to True."> + [synonym ISDA_Create_1_0 set to True when "is_termination_currency" = "terminationCurrency", set to False when "is_termination_currency" = "fxCurrency"] + fxDesignatedCurrency string (0..1) <"When specified, the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "fx_designated_currency"] + + condition TerminationCurrency: <"The FX Designated Currency shouldn't be specified when the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is specified as the Termination Currency."> + if isTerminationCurrency = True + then fxDesignatedCurrency is absent + + condition FxDesignatedCurrency: <"The FX Designated Currency should be specified when the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is specified as not being the Termination Currency."> + if isTerminationCurrency = False + then fxDesignatedCurrency exists + +type GeneralSimmElections: <"A class to specify the ISDA SIMM as the Method for all Covered Transactions with respect to all Regimes. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ee)."> + + simmVersion SimmVersion (0..1) <"The qualification of the ISDA SIMM version that is specified for all Covered Transactions as specified by ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles, (ee)(1)."> + // ISDA Create for the 2016 IM NY Law only has the election for the SIMM calculation currency + [synonym ISDA_Create_1_0 value "version_of_ISDA_SIMM"] + simmCalculationCurrency SimmCalculationCurrency (1..1) <"The SIMM Calculation Currency, as specified for each of the parties to the CSA Initial Margin. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ee)(3)."> + [synonym ISDA_Create_1_0 value "simm_calculation_currency"] + +type HoldingAndUsingPostedCollateral: <"A class to specify the elections for the holding and using of posted collateral by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + + // TODO: change cardinality to (2..2) when Ingestion process is able to support normalising external models (https://trello.com/c/TnJWvKes) + partyElection HoldingAndUsingPostedCollateralElection (1..1) <"The parties' elections for the holding and using of posted collateral."> + +type HoldingAndUsingPostedCollateralElection: <"A class to specify the parties' elections related to the holding and using of posted collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + [synonym FpML_5_10 value "HoldingAndUsingPostedCollateral"] + + party Party (1..1) <"The elective party."> + [metadata reference] + [synonym FpML_5_10 value "partyReference"] + eligibilityToHoldCollateral EligibilityToHoldCollateral (1..1) <"The specification of the conditions under which a party and its custodian(s) are entitled to hold posted collateral."> + [synonym FpML_5_10 value "eligibilityToHoldCollateral"] + useOfPostedCollateral boolean (1..1) <"Specifies whether the party to the agreement has the right to rehypothecate the collateral held (True), i.e. whether the condition specified in Paragraph 6, (c) of the ISDA 2016 Credit Support Annex for Variation Margin apply. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(ii): Use of Posted Collateral (VM)."> + [synonym FpML_5_10 value "useOfPostedCollateral"] + +type IneligibleCreditSupport: <"A class to specify the parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + + specifiedParty Party (0..2) <"The parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to, as the Secured Party. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + [metadata reference] + +type InterestAdjustment: <"A class to specify whether the Interest Adjustment is applicable and what its periodicity is. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + isApplicable boolean (1..1) <"The Interest Adjustment is applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + periodicity InterestAdjustmentPeriodicity (1..1) <"The qualification of the Interest Adjustment periodicity."> + +type InterestAdjustmentPeriodicity: <"A class to specify the Interest Adjustment periodicity either through a standardized election or a custom one. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + standardElection InterestAdjustmentPeriodicityEnum (0..1) <"The Interest Adjustment periodicity when specified through a standardized election."> + [synonym ISDA_Create_1_0 value "timing"] + customElection string (0..1) <"The Interest Adjustment periodicity when specified through a custom election."> + [synonym ISDA_Create_1_0 value "specify" set when "timing" = "other"] + condition: one-of + +type InterestAmount: <"A class to specify the application of Interest Amount with respect to the Delivery Amount and the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + returnAmount ReturnAmount (1..1) <"The application of Interest Amount with respect the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + deliveryAmount DeliveryAmount (1..1) <"The application of Interest Amount with respect the Delivery Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + +type JapaneseSecuritiesProvisions: <"A class to specify Japanese Securities Provision elections."> + + isApplicable boolean (1..1) <"Japanese Securities Provisions are applicable when True and Not Applicable when False"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + relevantProvisionsElection boolean (0..1) <"Recommended Japanese Securities Provisions are applicable when True, additional Provisions are specified when False"> + [synonym ISDA_Create_1_0 set to True when "relevant_provisions" = "recommended_japanese", set to False when "relevant_provisions" = "specified"] + relevantProvisionsTerms string (0..1) <"Specific terms applicable to Recommended Japanese Securities Provisions"> + [synonym ISDA_Create_1_0 value "relevant_specify"] + amendmentsToJapaneseProvisions boolean (0..1) <"Additional Amendments to Japanese Securities Provisions are specified when True, and not specified when False"> + [synonym ISDA_Create_1_0 set to True when "amendments_to_japanese_provisions" = "amendments_specify", set to False when "amendments_to_japanese_provisions" = "amendments_not_specified"] + amendmentsToJapaneseProvisionsTerms string (0..1) <"Specific terms applicable to Additional Amendments to Japanese Securities Provisions"> + [synonym ISDA_Create_1_0 value "amendments_specify" maps 2] // TODO: remove "maps 2" once migration complete + + condition relevantProvisionsElection: <"A data rule to enforce that the specific terms applicable to Recommended Japanese Securities Provisions should be specified when required"> + if relevantProvisionsElection = True + then relevantProvisionsTerms is absent + + condition amendmentsToJapaneseProvisions: <"A data rule to enforce that the specific terms applicable to Additional Amendments to Japanese Securities Provisions should be specified when required"> + if amendmentsToJapaneseProvisions = False + then amendmentsToJapaneseProvisionsTerms is absent + +type JurisdictionRelatedTerms: <"A class to specify terms jurisdiction related terms."> + japaneseSecuritiesProvisions JapaneseSecuritiesProvisions (0..1) <"The Japanese Securities Provisions election."> + // [documentReference ISDAEuroclear CtaInitialMargin 2019 paragraph "13" section "19 (c)"] + [synonym ISDA_Create_1_0 value "japanese_securities_provisions"] + [synonym ISDA_Create_1_0 value "japanese_collateral_provisions"] + exclusiveJurisdiction boolean (0..1) <"Classification of optional exclusive jurisdiction terms"> + [synonym ISDA_Create_1_0 set to True when "jurisdiction->exclusive_jurisdiction" = "applicable", set to False when "jurisdiction->exclusive_jurisdiction" = "not_applicable"] + juryWaiver boolean (0..1) <"The Jury Waiver conditions specific to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "19 (b)"] + [synonym ISDA_Create_1_0 set to True when "jury_waiver->is_applicable" = "applicable", set to False when "jury_waiver->is_applicable" = "not_applicable"] + frenchLawAddendum FrenchLawAddendum (0..1) <"The French Law Addendum Provisions specific to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "19 (d)"] + [synonym ISDA_Create_1_0 value "french_law_addendum"] + +type LegalAgreement extends LegalAgreementBase: <"A class to specify the elections and variables that characterize a legal agreement."> + [metadata key] + [rootType] + + // agreementQualifier agreementType (0..1) <"The CDM agreement qualifier, which corresponds to the outcome of the isContract qualification logic. This value is derived by the CDM from the contract features."> + agreementTerms AgreementTerms (0..1) <"The set of elections specific to the contract"> + + condition agreementVerification: <"A validation rule to ensure that the agreement elections are associated with the correct legal agreement type as specified."> + if agreementTerms -> agreement -> securityAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->SecurityAgreement + + else if agreementTerms -> agreement -> creditSupportAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->CreditSupportDeed or agreementType -> name = LegalAgreementNameEnum->CreditSupportAnnex + + else if agreementTerms -> agreement -> collateralTransferAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->CollateralTransferAgreement + +type LegalAgreementBase: <"A class describing the legal agreement baseline information, other than the specialized elections: type of legal agreement, agreement date and effective date, parties to the agreement, ... The purpose of this abstract class is to provide the ability to associate a 'one of' feature to the LegalAgreement class as a way to enforce a systematic choice between its attributes."> + + agreementDate date (1..1) <"The date on which the legal agreement has been agreed between the parties. This corresponds to the Date of Deed in an English Law document."> + [synonym FpML_5_10 value "agreementDate" path "legalDocumentHeader"] + [synonym ISDA_Create_1_0 value "executionDate" path "answers->partyA->execution_date"] + [synonym ISDA_Create_1_0 value "collateral_transfer_agreement_date"] + [synonym ISDA_Create_1_0 value "master_agreement_date"] + [synonym ISDA_Create_1_0 value "partyA_date_of_security_agreement"] + [synonym ISDA_Create_1_0 value "partyB_date_of_security_agreement"] + effectiveDate date (0..1) <"The date on which the agreement is effective, if different from the agreement date. It is expected that it will most often correspond to the agreement date, although there could be situations where the parties will explicitly agree on a distinct effective date."> + [synonym FpML_5_10 value "effectiveDate" path "legalDocumentHeader"] + identifier Identifier (0..*) <"The legal agreement identifier. Several identifiers can be specified."> + [synonym FpML_5_10 value "partyDocumentIdentifier" path "legalDocumentHeader"] + lineage Lineage (0..1) <"The lineage into prior versions of this legal agreement or into other legal agreements that might be referenced by it."> + agreementType LegalAgreementType (1..1) <"The type of legal agreement, identified via a set of distinct attributes: name, publisher, governing law and version, e.g. ISDA 2013 Standard Credit Support Annex English Law."> + [synonym FpML_5_10 value "documentType"] + contractualParty Party (2..2) <"The two contractual parties to the legal agreement, which reference information is positioned as part of the partyInformation attribute."> + [metadata reference] + [synonym FpML_5_10 value "party"] + otherParty PartyRole (0..*) <"The role(s) that other party(ies) may have in relation to the legal agreement, further to the contractual parties."> + partyInformation Party (2..*) <"The information about the parties involved with the legal agreements, which consists of both the contractual parties and the parties that might be involved in relation to some other roles (e.g. custody agent)."> + [synonym ISDA_Create_1_0 value "answers" mapper "PartyInformation"] + +type LegalAgreementType: <"A class to specify the type of legal agreement, which is extended by each legal agreement instance, such as the ISDA 2016 CSA for Initial Margin."> + [synonym FpML_5_10 value "LegalDocumentType"] + + name LegalAgreementNameEnum (1..1) <"The legal agreement name, e.g. Credit Support Annex for Variation Margin."> + [synonym FpML_5_10 value "name"] + [synonym AcadiaSoft_AM_1_0 value "documentName"] + [synonym ISDA_Create_1_0 value "documentType" path "document"] + publisher LegalAgreementPublisherEnum (1..1) <"The legal agreement publisher, e.g. ISDA."> + [synonym FpML_5_10, AcadiaSoft_AM_1_0 value "publisher"] + [synonym ISDA_Create_1_0 value "publisher" path "document"] + governingLaw GoverningLawEnum (0..1) <"The law governing the legal agreement, e.g. English Law, New York Law or Japanese Law."> + [synonym FpML_5_10 value "style"] + [synonym AcadiaSoft_AM_1_0 value "governingLaw"] + [synonym ISDA_Create_1_0 value "governingLaw" path "document"] + vintage string (0..1) <"In the case where successive definitions of the legal agreement have been developed, the vintage identification. This is typically (but not necessarily) done by referencing the year, e.g. 2013 in the case of the ISDA 2013 Standard Credit Support Annex."> + [synonym FpML_5_10, FpML_5_10 value "version"] + [synonym AcadiaSoft_AM_1_0 value "csaVersion"] + [synonym ISDA_Create_1_0 value "year" path "document"] + [synonym ISDA_Create_1_0 value "isda_master_agreement_form"] + +type MarginApproach: <"A class for selection of Margin Approach."> + + marginApproach MarginApproachEnum (1..1) + [synonym ISDA_Create_1_0 value "approach_selection"] + +type MinimumTransferAmount: <"A class to specify amount of exposure reached before collateral has to be posted or returned. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(B): Minimum Transfer Amount. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount."> + + partyElection ElectiveAmountElection (2..2) <"The parties' minimum transfer amount elections."> + +type MinimumTransferAmountAmendment: <" A class to specify whether Amendment to Minimum Transfer Amount language is applicable or not"> + + isApplicable boolean (1..1) <"The definition of Minimum Transfer Amount in any Other Regulatory CSA will be amended when applicable."> + [synonym ISDA_Create_1_0 set to True when "amendment_to_minimum_transfer_amount_is" = "applicable", set to False when "amendment_to_minimum_transfer_amount_is" = "not_applicable"] + effectiveDate AmendmentEffectiveDate (0..1) <"The effective date of the Amendment to Termination Currency."> + partyElections ElectiveAmountElection (0..2) <"The party elective amounts."> + + condition AmendmentNotApplicable: <"A data rule to enforce that the Effective Date and Party Elections should be absent when the Minimum Transfer Amount Amendment is stated as not specified for the agreement."> + if isApplicable = False + then effectiveDate is absent and partyElections is absent + + condition AmendmentApplicable: <"A data rule to enforce that the Effective Date and Party Elections should be absent when the Minimum Transfer Amount Amendment is stated as not specified for the agreement."> + if isApplicable = True + then effectiveDate exists and partyElections exists + +type MultipleCreditNotations: <"A class to specify multiple credit notations alongside a conditional 'any' or 'all' qualifier."> + + condition QuantifierEnum (1..1) <"An enumerated element, to qualify whether All or Any credit notation applies."> + [synonym FpML_5_10 value "condition"] + creditNotation CreditNotation (2..*) <"At least two credit notations much be specified."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "creditNotation"] + mismatchResolution CreditNotationMismatchResolutionEnum (0..1) + referenceAgency CreditRatingAgencyEnum (0..1) + + condition ReferenceAgency: <"If the mismatch resolution is ReferenceAgency, ensure that the reference agency is specified."> + if MultipleCreditNotations -> mismatchResolution = CreditNotationMismatchResolutionEnum -> ReferenceAgency + then MultipleCreditNotations -> referenceAgency exists + +type MultipleDebtTypes: <"A class to specify multiple credit debt types alongside a conditional 'any' or 'all' qualifier."> + + condition QuantifierEnum (1..1) <"An enumerated attribute, to qualify whether All or Any debt type applies."> + [synonym FpML_5_10 value "condition"] + debtType string (2..*) <"The type of debt, e.g. long term debt, deposit, ... FpML doesn't specific a scheme value, hence no enumeration is specified as part of the CDM. At least two debt types much be specified."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "debtTypeScheme"] + +type NotificationTime: <"A class to specify the time by which a demand for the Transfer of Eligible Credit Support (IM) or Posted Credit Support (IM) needs to be made in order for the transfer to take place in accordance with the Transfer Timing provisions. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iii): Notification Time. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time."> + + partyElections NotificationTimeElection (2..2) <"The parties' Notification Time election."> + disputeNotificationReference boolean (0..1) <"The determination of whether reference is made to dispute resolution notification timing in the agreement."> + [synonym ISDA_Create_1_0 set to True when "include_reference_to_41a_is_applicable" = "applicable", set to False when "include_reference_to_41a_is_applicable" = "not_applicable"] + transferTimingProviso boolean (0..1) <"The determination of whether transfer timing language is applicable or not."> + [synonym ISDA_Create_1_0 set to True when "inclusion_of_proviso_for_transfer_timing_is_applicable" = "applicable", + set to False when "inclusion_of_proviso_for_transfer_timing_is_applicable" = "not_applicable"] + +type NotificationTimeElection: <"A class to specify the notification time election by the respective parties to the agreement. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iii): Notification Time. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_notification_time" = "false", set to "partyA" when "partyA_notification_time" = "true"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_notification_time" = "false", set to "partyB" when "partyB_notification_time" = "true"] + notificationTime BusinessCenterTime (0..1) <"The Notification Time as a time that is qualified as a standard business center."> + customNotification string (0..1) <"The Notification Time as a custom election."> + [synonym ISDA_Create_1_0 value "partyA_specify" set when "partyA_notification_time" = "false"] + [synonym ISDA_Create_1_0 value "partyB_specify" set when "partyB_notification_time" = "false"] + + condition Choice: <"The Notification Time is specified either as a time that is qualified by a standard business center or as a custom election."> + required choice notificationTime, customNotification + +type OneWayProvisions: <"A class to specify whether One Way Provisions apply in relation to the ISDA CSA for Initial Margin and, if yes, to specify the Posting Party. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles (aa): One Way Provisions."> + + isApplicable boolean (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + postingParty string (0..1) <"The Posting Party for the purposes of One Way Provisions. It is specified in the case where the One Way Provision is deemed applicable."> + [synonym ISDA_Create_1_0 value "posting_party"] + + condition PostingPartyExists: <"A data rule to enforce that the Posting Party must be specified in the case where the One Way Provision is deemed applicable."> + if isApplicable = True + then postingParty exists + + condition PostingPartyAbsent: <"A data rule to enforce that the Posting Party must not be specified in the case where the One Way Provision is not deemed applicable."> + if isApplicable = False + then postingParty is absent + +type OtherAgreements: <"A class to specify a related legal agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (s): Other CSA and Japanese Law CSA (VM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (o): Other CSA."> + + isSpecified boolean (1..1) <"The qualification of whether some other related agreement is specified (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "specify_japanese_law_csa_vm" = "true", set to False when "specify_japanese_law_csa_vm" = "false"] + [synonym ISDA_Create_1_0 set to True when "specify_other_csa" = "true", set to False when "specify_other_csa" = "false"] + legalDocument string (0..1) <"The specification of this other agreement, when the qualification is True."> + [synonym ISDA_Create_1_0 value "specify"] + + condition LegalDocumentNotSpecified: <"A data rule to enforce that the related legal agreement should not be referenced if it is deemed as not specified as part of the boolean attribute."> + if isSpecified = False + then legalDocument is absent + + condition LegalDocumentSpecified: <"A data rule to enforce that the related legal agreement should be referenced if it is deemed as specified as part of the boolean attribute."> + if isSpecified = True + then legalDocument exists +// TODO - Need to associate a more meaningful definition to the below class and attribute. I couldn't find anything as part of the CSA terms. +type OtherEligibleAndPostedSupport: <"A class to specify the Other Eligible Support elections associated Initial and Variation margin agreements."> + + otherEligibleSupport string (0..1) <"The Other Eligible Support election. If not specified, this election is deemed as not applicable."> + [synonym ISDA_Create_1_0 value "eligible_support_specify" path "other_eligible_support" set when "other_eligible_support->other_eligible_support" = "specify"] + [synonym ISDA_Create_1_0 value "other_eligible_support" path "eligible_support"] + applicableValue boolean (1..1) <"The definition of “Value” with respect to Other Eligible Support (IM) and Other Posted Support (IM)."> + [synonym ISDA_Create_1_0 set to True when "support_value->is_applicable" = "applicable", set to False when "support_value->is_applicable" = "not_applicable"] + applicableTransfer boolean (0..1) <"The definition of “Transfer” with respect to Other Eligible Support (IM) and Other Posted Support (IM)."> + [synonym ISDA_Create_1_0 set to True when "support_transfer->is_applicable" = "applicable", set to False when "support_transfer->is_applicable" = "not_applicable"] + +type PartyAgreementIdentifier: <"A class defining a legal agreement identifier issued by the indicated party."> + [metadata key] + // TODO Never referenced in CDM + [synonym FpML_5_10 value "PartyDocumentIdentifier" meta "id"] + + partyReference string (1..1) <"Reference to the party that issued the document identifier."> + [synonym FpML_5_10 value "partyReference"] + documentIdentifier Identifier (1..*) <"While FpML specifies the document identifier with a value and an associated scheme, the CDM makes use of the Identifier, which has an explicit issuer. The issuer of this identifier is not necessarily the same as the party reference."> + [metadata scheme] + [synonym FpML_5_10 value "documentId" meta "legalDocumentIdScheme"] + +type PostingObligations: <"A class to specify the security provider(s) collateral posting obligations as specified under the terms of the New York Law ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)."> + + securityProvider string (1..1) + [synonym ISDA_Create_1_0 value "pledgor"] + [synonym ISDA_Create_1_0 value "chargor"] + [synonym ISDA_Create_1_0 value "obligor"] + [synonym ISDA_Create_1_0 value "security_provider"] + partyElection PostingObligationsElection (1..2) <"The security provider party(ies) to which the posting obligations apply to, which can be either one of the parties to the legal agreement, or both of those."> + +type PostingObligationsElection: <"A class to specify the collateral posting obligations as specified under the terms of the ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "PartyA" when "partyA_type" = "control_agreement", set to "PartyA" when "partyA_type" = "collateral_management_agreement", set to "PartyA" when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 set to "PartyB" when "partyB_type" = "control_agreement", set to "PartyB" when "partyB_type" = "collateral_management_agreement", set to "PartyB" when "partyB_type" = "specify"] + asPermitted boolean (1..1) <"If set to True, the Control Agreement is a Credit Support Document with respect to the party(ies). ISDA 2016 Credit Support Annex for Initial Margin, paragraph 6, (e)."> + [synonym ISDA_Create_1_0 set to True when "partyA_type" = "control_agreement", set to True when "partyA_type" = "collateral_management_agreement", set to False when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 set to True when "partyB_type" = "control_agreement", set to True when "partyB_type" = "collateral_management_agreement", set to False when "partyB_type" = "specify"] + eligibleCollateral EligibleCollateral (0..*) <"The eligible collateral as specified in relation to the pledgor/chargor/obligor(s) posting obligation. ISDA 2016 Credit Support Annex for Initial Margin, Eligible Credit Support (IM) Schedule."> + [synonym ISDA_Create_1_0 value "partyA_eligible_currencies" set when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 value "partyB_eligible_currencies" set when "partyB_type" = "specify"] + excludedCollateral string (0..1) <"The excluded collateral as specified in relation to the pledgor/chargor/obligor(s) posting obligation. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)(B)(i)."> // This representation matches the current ISDA Create one, but should be aligned with the eligibleCollateral representation once that one is confirmed + [synonym ISDA_Create_1_0 value "partyA_control_agreement_specify" set when "partyA_control_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyB_control_agreement_specify" set when "partyB_control_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyA_collateral_management_agreement_specify" set when "partyA_collateral_management_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyB_collateral_management_agreement_specify" set when "partyB_collateral_management_agreement" = "yey"] + additionalLanguage string (0..1) <"The additional language that might be specified by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "partyA_additional_language"] + [synonym ISDA_Create_1_0 value "partyB_additional_language"] + [synonym ISDA_Create_1_0 value "additional_language"] + + condition AsPermitted: <"A data rule to enforce that the eligible collateral should be specified when the Control Agreement is a Credit Support Document with respect to the party(ies)."> + if asPermitted = True + then eligibleCollateral is absent + + condition EligibleCollateral: <"A data rule to enforce that the eligible collateral shouldn't be specified when the Control Agreement isn't deemed a Credit Support Document with respect to the party(ies)."> + if asPermitted = False + then eligibleCollateral exists + +type ProcessAgent: <"A class to specify the Process Agent that might be appointed by the parties as part of a Credit Support Annex/Deed or Collateral Transfer Agreement."> + //<"A class to specify the Process Agent that might be appointed by the parties to the agreement in accordance with the ISDA 2016 English Law CSA, paragraph 11(h). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (t): Process Agent."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + + partyElection ProcessAgentElection (2..2) <"The parties' Process Agent election."> + +type ProcessAgentElection: <"A class to specify the parties' respective elections with respect to the Process Agent."> + + party string (1..1) <"The elective party."> + [synonym AcadiaSoft_AM_1_0 value "party"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_process_agent" = "not_applicable", set to "partyA" when "partyA_process_agent" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_process_agent" = "not_applicable", set to "partyB" when "partyB_process_agent" = "other"] + // TODO will need to streamline the parties here + isApplicable boolean (1..1) <"The qualification of whether the Process Agent is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "partyA_process_agent" = "other", set to False when "partyA_process_agent" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_process_agent" = "other", set to False when "partyB_process_agent" = "not_applicable"] + specification string (0..1) <"The Process Agent specification, when applicable."> + [synonym ISDA_Create_1_0 value "partyA_specify" maps 2] // TODO: remove "maps 2" once migration complete + [synonym ISDA_Create_1_0 value "partyB_specify" maps 2] // TODO: remove "maps 2" once migration complete + + condition Applicable: <"A data rule to enforce that the Process Agent must be specified when it is applicable."> + if isApplicable = True + then specification exists + + condition NotApplicable: <"A data rule to enforce that the Process Agent cannot be specified if deemed not applicable."> + if isApplicable = False + then specification is absent + +type RecalculationOfValue: <"A class to specify terms for Recalculation of the Market Value of Posted Collateral when a dispute has been failed to be resolved by Resolution Time."> + + partyElection RecalculationOfValueElection (2..2) <"The parties' Recalculation of Value terms."> + +type RecalculationOfValueElection: <"A class to specify Recalculation of Value terms that will be applicable"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_recalculation_of_value" = "consultation_procedure", set to "partyA" when "partyA_recalculation_of_value" = "other_regulatory_CSA_procedure"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_recalculation_of_value" = "other_regulatory_CSA_procedure"] + [synonym ISDA_Create_1_0 set to "partyA" when "recalculation_of_market_value" = "partyA_recalculation_of_market_value"] + [synonym ISDA_Create_1_0 set to "partyB" when "recalculation_of_market_value" = "partyB_recalculation_of_market_value"] + + recalculationOfValueElection RecalculationOfValueElectionEnum (1..1) <"The procedure for Recalculation of Value."> + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_value"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_value"] + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_market_value"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_market_value"] + + recalculationOfValueTerms string (0..1) <"Additional Recalculation of Value terms when specified"> + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_value_terms" set when "partyA_recalculation_of_value" = "other"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_value_terms" set when "partyB_recalculation_of_value" = "other"] + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_market_value_terms" set when "partyA_recalculation_of_market_value" = "other"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_market_value_terms" set when "partyB_recalculation_of_market_value" = "other"] + + condition recalculationOfValueTerms: <"A data rule to enforce that additional Recalculation of Value terms are only specified when applicable"> + if RecalculationOfValueElection exists + then recalculationOfValueTerms is absent + +type Regime: <"A class to specify one or more regimes that may be specified as relevant to a legal agreement. 2016/2018 ISDA Credit Support Annex for Initial Margin: Regime."> + [synonym AcadiaSoft_AM_1_0 value "Regime"] + + applicableRegime ApplicableRegime (1..*) <"A class to specify the regime(s) that parties to a legal agreement, such as the ISDA 2016 and 2018 CSA for Initial Margin, might agree to apply to one or both parties when acting as collateral taker, and specific terms associated with that application."> + [synonym ISDA_Create_1_0 value "canada", "sec", "cftc", "emir", "japan", "switzerland", "prudential", "australia", "hong_kong", "singapore" mapper "ApplicableRegime"] + fallbackToMandatoryMethodDays number (0..1) <"The specification of the number of days after effective delivery of notice that Mandatory method fallback applies. Specification is only required when one or more Regimes have Fall Back to Mandatory Method elected as a SIMM exception."> + [synonym ISDA_Create_1_0 value "fallback_to_mandatory_method_days" path "fallback_to_mandatory_method"] + additionalRegime AdditionalRegime (0..*) <"The additional regulatory regime(s) that might be specified by the parties to a legal agreement. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, General Principles, (ll): The parties may from time to time agree in writing that other regimes also comprise `Regimes` and that the General Principles be adopted and/or amended to accommodate such additional Regimes."> + [synonym ISDA_Create_1_0 value "additional_regimes" mapper "AdditionalRegime"] + + //TODO - Data Rule required as per description below +// condition FallbackToMandatoryMethodDays: <"A data rule to enforce that the specification of Fallback to Mandatory Method Days should only exist when one or more Regimes have Fallback to Mandatory Method elected as a SIMM exception."> +// if fallbackToMandatoryMethodDays exists +// then applicableRegime -> regimeTerms -> simmException -> simmExceptionApplicable contains SimmExceptionApplicableEnum -> FallBackToMandatoryMethod + +type RegimeTerms: <"A class that is used by the ApplicableRegime and the AdditionalRegime classes to specify the regulatory regime terms which are referred to as part of certain legal agreements, such as such as the ISDA 2016 and 2018 CSA for Initial Margin."> + + party string (1..1) <"The party for which the regime terms are being specified when acting as collateral taker."> + isApplicable ExceptionEnum (0..1) <"The specification of whether the regime is elected as applicable to the party when acting as collateral taker."> + asSpecified string (0..1) <"The bespoke party specific Regime term elections applicable when specified."> + //TODO - Condition required that asSpecified only exists when isApplicable is Other + simmException SimmException (0..1) <"The election for SIMM exception to the regulatory regime clause of the ISDA 2016 and 2018 CSA for Initial Margin as either a normalized value specified as part of an enumeration or a customized value specified of type string. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, Regime: SIMM Exception."> + retrospectiveEffect RetrospectiveEffect (0..1) <"ISDA 2016 CSA for Initial Margin, paragraph 13 (b)(i): if `Retrospective Effect` is specified as applicable to a Regime (a `Retrospective Regime`) then all Covered Transactions (IM) under all other Regimes with an earlier Regime Effective Time will, to the extent that they would have been Covered Transactions (IM) under such Retrospective Regime had such Transactions been entered into at or after the Regime Effective Time of the Retrospective Regime, be deemed to be Covered Transactions (IM) for such Retrospective Regime."> + //TODO - Condition required that retrospectiveEffect should exist for 2016 CSD and be absent for 2018 CSD + +type RetrospectiveEffect: <"A class to specify the retrospective effect exception to the regulatory regime clause of Initial Margin documents as either a normalized value specified as part of an enumeration or a customized value specified of type string."> + + standardisedException ExceptionEnum (0..1) <"The Standard Initial Margin Model exception when specified by the party according to one of the enumerated values."> + asSpecified string (0..1) <"The Standard Initial Margin Model exception when specified as a customized approach by the party."> + // TODO condition asSpecified should only exist when standardisedException = Other + + +type ReturnAmount: <"A class to specify the application of Interest Amount with respect the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + includesDefaultLanguage boolean (0..1) <"Default language is included when True, and excluded when False."> + [synonym ISDA_Create_1_0 set to True when "return_amount" = "include", set to False when "return_amount" = "exclude", set to False when "return_amount" = "other"] + customElection string (0..1) <"Custom election that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify_return_amount"] + condition CustomElection: <"A data rule to specify that when a custom election exists then default language should not be included."> + if customElection exists then includesDefaultLanguage = False + +type RightsEvents: <"A class to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred."> + + securityTakerRightsEvent SecuredPartyRightsEvent (1..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Security Taker Rights Event."> + [synonym ISDA_Create_1_0 value "secured_party_rights_event"] + [synonym ISDA_Create_1_0 value "security_taker_rights_event"] + [synonym ISDA_Create_1_0 value "early_termination_date"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "h"] + controlAgreementNecEvent ControlAgreementNecEvent (0..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Notice of Exclusive Control Event."> + [synonym ISDA_Create_1_0 value "control_agreement_nec_event"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "i"] + securityProviderRightsEvent SecurityProviderRightsEvent (1..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Security Provider Rights Event."> + [synonym ISDA_Create_1_0 value "obligor_rights_event"] + [synonym ISDA_Create_1_0 value "chargor_rights_event"] + [synonym ISDA_Create_1_0 value "pledgor_rights_event"] + [synonym ISDA_Create_1_0 value "security_provider_rights_event"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "j"] + deliveryInLieuRight boolean (0..1) <"The specification of whether Delivery In Lieu language is applicable to the agreement (true) or not (false)."> + [synonym ISDA_Create_1_0 set to True when "delivery_in_lieu_right->right" = "applicable", set to False when "delivery_in_lieu_right->right" = "not_applicable"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "l"] + additionalRightsEvent AdditionalRightsEvent (0..1) <"The Additional Rights Event election."> + [synonym ISDA_Create_1_0 value "chargor_additional_rights_event"] + [synonym ISDA_Create_1_0 value "obligor_additional_rights_event"] + [synonym ISDA_Create_1_0 value "pledgor_additional_rights_event"] + +type SecuredPartyRightsEvent: <"A class to specify Secured Party Rights Event language"> + + securedPartyRightsEventElection SecuredPartyRightsEventElection (0..2) + + earlyTerminationDateOptionalLanguage boolean (1..1) <"A boolean attribute to specify whether Failure to Pay Early Termination language is included (True) or excluded (False) from the agreement."> + [synonym ISDA_Create_1_0 set to True when "early_termination_date_optional_language" = "include", set to False when "early_termination_date_optional_language" = "exclude"] + [synonym ISDA_Create_1_0 set to True when "paid_in_full_language" = "include", set to False when "paid_in_full_language" = "exclude"] + + + failureToPayEarlyTermination boolean (0..1) <"A boolean attribute to specify whether Failure to Pay Early Termination language in the agreement is deemed applicable or not."> + [synonym ISDA_Create_1_0 set to True when "failure_to_pay_early_termination_is_applicable" = "applicable", + set to False when "failure_to_pay_early_termination_is_applicable" = "not_applicable"] + + condition FailureToPayLanguage: <"A data rule to enforce that the applicability of Failure to Pay language is only applied when Early Termination language is included."> + if earlyTerminationDateOptionalLanguage = False + then failureToPayEarlyTermination is absent + +type SecuredPartyRightsEventElection: <"A class to specify party specific Secured Party Rights Event language"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_secured_party_rights_event" = "applicable", set to "partyA" when "partyA_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_secured_party_rights_event" = "applicable", set to "partyB" when "partyB_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_security_taker_rights_event" = "applicable", set to "partyA" when "partyA_security_taker_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_security_taker_rights_event" = "applicable", set to "partyB" when "partyB_security_taker_rights_event" = "not_applicable"] + + rightsEvent boolean (1..1) <"A boolean attribute to specify whether a Secured Party Rights Event will only occur upon the occurrence of one or more of the event specified in a Control Agreement"> + [synonym ISDA_Create_1_0 set to True when "partyA_secured_party_rights_event" = "applicable", set to False when "partyA_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_secured_party_rights_event" = "applicable", set to False when "partyB_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_security_taker_rights_event" = "applicable", set to False when "partyA_security_taker_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_security_taker_rights_event" = "applicable", set to False when "partyB_security_taker_rights_event" = "not_applicable"] + +type SecurityAgreementElections: <"The set of elections which specify a Security Agremeent"> + + pledgedAccount Account (0..1) <"The pledged account associated with the agreement"> + [synonym ISDA_Create_1_0 value "pledged_account_number"] + enforcementEvent EnforcementEvent (0..1) <"Enforcement Events specific to the agreement"> + [synonym ISDA_Create_1_0 value "enforcement_event"] + [synonym ISDA_Create_1_0 value "early_termination_date"] + deliveryInLieuRight boolean (0..1) <"Delivery In Lieu rights"> + [synonym ISDA_Create_1_0 set to True when "delivery_in_lieu_right->right" = "applicable", set to False when "delivery_in_lieu_right->right" = "not_applicable"] + fullDischarge boolean (0..1) <"Full Discharge condition"> + [synonym ISDA_Create_1_0 set to True when "security_provider_full_discharge_condition->is_applicable" = "applicable", + set to False when "security_provider_full_discharge_condition->is_applicable" = "not_applicable"] + appropriatedCollateralValuation AppropriatedCollateralValuation (0..1) <"The election for the Valuation of Appropriate Collateral."> + [synonym ISDA_Create_1_0 value "valuation_of_appropriated_collateral"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms"> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + executionTerms ExecutionTerms (0..1) <"The location and language of execution to determine duty to be paid."> + [synonym ISDA_Create_1_0 value "execution_language"] + +type SecurityProviderRightsEvent: <"A class to specify the Pledgor/Obligor/Chargor Rights Event election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (j): Chargor Rights Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (j): Obligor Rights Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (j): Pledgor Rights Event."> + + partyElection SecurityProviderRightsEventElection (0..2) + includeCoolingOffLanguage boolean (1..1) <"The Pledgor/Obligor/Chargor Rights Event election includes cooling off language when the attribute is set of True."> + [synonym ISDA_Create_1_0 set to True when "cooling_off_language" = "include", set to False when "cooling_off_language" = "not_specified", set to False when "cooling_off_language" = "other"] + [synonym ISDA_Create_1_0 set to True when "cooling_off_period_condition_is_applicable" = "applicable", set to False when "cooling_off_period_condition_is_applicable" = "not_applicable"] + fullDischarge boolean (0..1) <"If specified as applicable here, a Pledgor/Obligor/Chargor Rights Event will not occur unless the Pledgor/Obligor/Chargor (A) has provided a statement to the Secured Party in respect of such Early Termination Date"> + [synonym ISDA_Create_1_0 set to True when "chargor_full_discharge_condition_is_applicable" = "applicable", set to False when "chargor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "pledgor_full_discharge_condition_is_applicable" = "applicable", set to False when "pledgor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "obligor_full_discharge_condition_is_applicable" = "applicable", set to False when "obligor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "security_provider_full_discharge_condition_is_applicable" = "applicable", + set to False when "security_provider_full_discharge_condition_is_applicable" = "not_applicable"] + automaticSetOff boolean (0..1) <"The Automatic Set-Off provision applies when the value is set to True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (l): Modification to Obligor’s Rights and Remedies."> + [synonym ISDA_Create_1_0 set to True when "automatic_setoff->right" = "applicable", set to False when "automatic_setoff->right" = "not_applicable"] + + customElection string (0..1) <"A custom Pledgor/Obligor/Chargor Rights Event election might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify"] + + condition RightsEvent_includeCoolingOffLanguage: <"A data rule to enforce that, when the Rights Event election includes cooling off language, no custom election should be specified."> + if includeCoolingOffLanguage = True + then customElection is absent + + condition RightsEvent_customElection: <"A data rule to enforce that, when the Rights Event is specified through a custom election, no standard cooling off language should be specified."> + if customElection exists + then includeCoolingOffLanguage = False + +type SecurityProviderRightsEventElection: <"A class to specify party specific Secured Party Rights Event language."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_chargor_rights_event" = "applicable", set to "partyA" when "partyA_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_chargor_rights_event" = "applicable", set to "partyB" when "partyB_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_pledgor_rights_event" = "applicable", set to "partyA" when "partyA_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_pledgor_rights_event" = "applicable", set to "partyB" when "partyB_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_obligor_rights_event" = "applicable", set to "partyA" when "partyA_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_obligor_rights_event" = "applicable", set to "partyB" when "partyB_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_security_provider_rights_event" = "applicable", set to "partyA" when "partyA_security_provider_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_security_provider_rights_event" = "applicable", set to "partyB" when "partyB_security_provider_rights_event" = "not_applicable"] + + rightsEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_chargor_rights_event" = "applicable", set to False when "partyA_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_chargor_rights_event" = "applicable", set to False when "partyB_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_pledgor_rights_event" = "applicable", set to False when "partyA_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_pledgor_rights_event" = "applicable", set to False when "partyB_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_obligor_rights_event" = "applicable", set to False when "partyA_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_obligor_rights_event" = "applicable", set to False when "partyB_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_security_provider_rights_event" = "applicable", set to False when "partyA_security_provider_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_security_provider_rights_event" = "applicable", set to False when "partyB_security_provider_rights_event" = "not_applicable"] + +type SensitivityMethodologies: <"A class to specificy methodologies to compute sensitivities specific to the agreement."> + + sensitivityToEquity SensitivityMethodology (1..1) <"The methodology to compute sensitivities to equity indices, funds and ETFs for the purpose of Initial Margin agreements."> + [synonym ISDA_Create_1_0 value "sensitivities_to_equity_indices_funds_etfs"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (g)(ii)(A)"] + sensitivityToCommodity SensitivityMethodology (1..1) <"The methodology to compute sensitivities to commodity indices for the purpose of Initial Margin agreements."> + [synonym ISDA_Create_1_0 value "sensitivities_to_commodity_indices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (g)(ii)(B)"] + +type SensitivityMethodology: <"A class to specify the methodology according to which sensitivities to (i) equity indices, funds and ETFs, and (ii) commodity indices are computed. This specification is done either through a normalized election as part of the specifiedMethodology, or through a custom election via the customMethodology attribute. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (gg)(2)."> + + specifiedMethodology SensitivitiesEnum (0..1) <"The methodology according to which sensitivities will be computed, when specified through a normalized election."> + [synonym ISDA_Create_1_0 value "sensitivities_equity_indices_funds_etfs", "sensitivities_commodity_indices"] + customMethodology string (0..1) <"The methodology according to which sensitivities will be computed, when specified through a custom election."> + [synonym ISDA_Create_1_0 value "sensitivities_equity_indices_funds_etfs_specify", "sensitivities_commodity_indices_specify"] + condition: one-of + +type SimmCalculationCurrency: <"A class to specify the SIMM Calculation Currency elections by each party to the agreement."> + + partyElection CalculationCurrencyElection (2..2) <"The parties' SIMM Calculation Currency election."> + +type SimmException: <"A class to specify the SIMM exception to the regulatory regime clause of the ISDA 2016 and 2018 CSA for Initial Margin as either a normalized value specified as part of an enumeration or a customized value specified of type string. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, Regime: SIMM Exception."> + + standardisedException ExceptionEnum (0..1) <"The Standard Initial Margin Model exception when specified by the party according to one of the enumerated values."> + [synonym AcadiaSoft_AM_1_0 set to ExceptionEnum -> NotApplicable when "simmException" = "False"] + simmExceptionApplicable SimmExceptionApplicableEnum (0..1) <"The Standard Initial Margin model exception approach applicable when specified by the party according to one of the enumerated values."> + // TODO condition that SimmExceptionApplicableEnum should only exist if SimmExceptionEnum = Applicable + asSpecified string (0..1) <"The Standard Initial Margin Model exception when specified as a customized approach by the party."> + // TODO condition asSpecified exists if something OtherMethods are specified + +type SimmVersion: <"A class to specify the ISDA SIMM version that applies to the ISDA 2018 CSA for Initial Margin. According to the ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles (ee) (1) provisions, the SIMM version is either not specified, or references a version used by one of the parties to the agreement."> + + isSpecified boolean (0..1) <"A boolean attribute to determine whether the SIMM version is specified for the purpose of the legal agreement."> + [synonym ISDA_Create_1_0 set to True when "is_specified" = "specified", set to False when "is_specified" = "not_specified"] + partyVersion string (0..1) <"The party which the specified SIMM version applies to."> + [metadata reference] + [synonym ISDA_Create_1_0 set to "PartyA" when "party_A_or_party_B_version" = "partyA", set to "PartyB" when "party_A_or_party_B_version" = "partyB"] + // TODO - ISDA Create export has a blank value type referencing party in 2018 CSD Eng Law schema. Feedback to ISDA + asSpecified string (0..1) <"The SIMM version exception when specified as a customized approach by the party."> + [synonym ISDA_Create_1_0 value "specify" set when "is_specified" = "other"] + + + condition VersionNotSpecified: <"A data rule to enforce that the version attribute should be absent when the SIMM version is stated as not specified for the CSA."> + if isSpecified = False + then partyVersion is absent + + condition VersionSpecified: <"A data rule to enforce that the version attribute should be specified when the SIMM version is stated as specified for the CSA."> + if isSpecified = True + then partyVersion exists + +type SubstitutedRegime: <"A class to specify each party's election with respect to the Substituted Regimes that will be applicable..."> + + partyElection SubstitutedRegimeElection (2..2) <"The parties' Substituted Regime election."> + +type SubstitutedRegimeElection: <"A class to specify the Substituted Regimes that will be deemed applicable..."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_emir" = "applicable", set to "partyA" when "partyA_emir" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_emir" = "applicable", set to "partyB" when "partyB_emir" = "not_applicable"] + emir boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_emir" = "applicable", set to False when "partyA_emir" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_emir" = "applicable", set to False when "partyB_emir" = "not_applicable"] + prudential boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_prudential" = "applicable", set to False when "partyA_prudential" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_prudential" = "applicable", set to False when "partyB_prudential" = "not_applicable"] + cftc boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_cftc" = "applicable", set to False when "partyA_cftc" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_cftc" = "applicable", set to False when "partyB_cftc" = "not_applicable"] + sec boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_sec" = "applicable", set to False when "partyA_sec" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_sec" = "applicable", set to False when "partyB_sec" = "not_applicable"] + canada boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_canada" = "applicable", set to False when "partyA_canada" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_canada" = "applicable", set to False when "partyB_canada" = "not_applicable"] + switzerland boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_switzerland" = "applicable", set to False when "partyA_switzerland" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_switzerland" = "applicable", set to False when "partyB_switzerland" = "not_applicable"] + japan boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_japan" = "applicable", set to False when "partyA_japan" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_japan" = "applicable", set to False when "partyB_japan" = "not_applicable"] + australia boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_australia" = "applicable", set to False when "partyA_australia" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_australia" = "applicable", set to False when "partyB_australia" = "not_applicable"] + hong_kong boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_hong_kong" = "applicable", set to False when "partyA_hong_kong" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_hong_kong" = "applicable", set to False when "partyB_hong_kong" = "not_applicable"] + singapore boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_singapore" = "applicable", set to False when "partyA_singapore" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_singapore" = "applicable", set to False when "partyB_singapore" = "not_applicable"] + +type Substitution: <"A class to specify the conditions under which the Security Provider can substitute posted collateral."> + + needsConsent boolean (1..1) <"The election as to whether the Pledgor/Obligor/Chargor must obtain the Secured Party’s consent for any collateral substitution. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii): Consent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (f)(ii): Consent."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "standard", set to False when "is_applicable" = "other"] + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + specificConsentLanguage string (0..1) <"Specific consent language might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify"] + +type TerminationCurrencyAmendment: <"A class to specify the Amendment to Termination Currency elections by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (t): Amendment to Termination Currency."> + + isApplicable boolean (1..1) <"The qualification of whether the Amendment to Termination Currency is deemed applicable by the parties (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "amendment_to_termination_currency_is" = "applicable", set to False when "amendment_to_termination_currency_is" = "not_applicable" ] + effectiveDate AmendmentEffectiveDate (0..1) <"The effective date of the Amendment to Termination Currency. This date can be specified as either an actual date, a specific date (e.g. the annex date) or as a custom provision."> + partyElection TerminationCurrencyElection (0..3) <"The parties' Amendment Currency election."> + + condition Applicablity: <"The Amendment to Termination Currency elections only apply when the Amendment to Termination Currency is deemed applicable by the parties."> + if isApplicable = False + then ( effectiveDate + and partyElection) is absent // TODO - Logic to be confirmed by testing NotApplicable + +type TerminationCurrencyElection: <"A class to specify the Amendment to Termination Currency election by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (t) (A) & (B)."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_amendment_to_termination_currency" = "specify", set to "partyA" when "partyA_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_amendment_to_termination_currency" = "specify", set to "partyB" when "partyB_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to "partyA,partyB" when "two_affected_parties" = "specify", set to "partyA,partyB" when "two_affected_parties" = "in_schedule"] + isSpecified boolean (1..1) <"The qualification of whether the Termination Currency is specified in this document (True) or in an Eligible Support Credit Support (IM) Schedule (False)"> + [synonym ISDA_Create_1_0 set to True when "partyA_amendment_to_termination_currency" = "specify", set to False when "partyA_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to True when "partyB_amendment_to_termination_currency" = "specify", set to False when "partyB_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to True when "two_affected_parties" = "specify", set to False when "two_affected_parties" = "in_schedule"] + currency string (1..1) <"The Termination Currency associated with the party that referenced as part of this class. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "partyA_termination_currency"] + [synonym ISDA_Create_1_0 value "partyB_termination_currency"] + [synonym ISDA_Create_1_0 value "partyA_currency"] + [synonym ISDA_Create_1_0 value "partyB_currency"] + [synonym ISDA_Create_1_0 value "two_affected_parties_currency"] + [synonym ISDA_Create_1_0 value "both_parties_termination_currency"] + + condition CurrencyElection: <"A Termination Currency election should only exist when required by the affected parties election"> + if isSpecified = False then currency is absent + +type Threshold: <"A class to specify the unsecured credit exposure that each party to the agreement is prepared to accept before asking for collateral. This threshold is specified either as an amount or as a custom election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(A): Threshold. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold."> + + partyElection ElectiveAmountElection (2..2) <"The parties' Threshold election."> + +type TransactionConfirmation: <"See existing Contract type"> +// TODO - Next step to move Contract from Contractual Product to here. Will require significant refactoring of model. + +type UmbrellaAgreement: <"A class to specify a set of legal entities which are part of a legal agreement beyond the two contracting parties to that agreement. This data representation reflects the ISDA Create representation."> + + isApplicable boolean (1..1) <"The determination of whether Umbrella Agreement terms are Applicable (True), or Not Applicable (False)"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + language string (0..1) <"The language associated with the umbrella agreement, and which applies to all the parties to the umbrella agreement."> + [synonym ISDA_Create_1_0 value "language" maps 2] // TODO: remove "maps 2" once migration complete + parties UmbrellaAgreementEntity (0..*) <"Underlying principals to the umbrella agreement."> + [synonym ISDA_Create_1_0 value "principal_identification_schedule" mapper "UmbrellaAgreementEntity"] + + condition UmbrellaAgreementExists: <"Umbrella Agreement language and parties should not exist when Umbrella Agreement terms are Not Applicable."> + if isApplicable = True + then (language and parties) exists + +type UmbrellaAgreementEntity extends LegalEntity: <"A class to specify the legal entities that are part of the umbrella agreement."> + terms string (0..1) <"The terms that might be associated with each party to the umbrella agreement."> + +// Agreement Validation + +func SaIsdaBankCustodian2019NewYorkLaw: + // [validation agreement] + inputs: agreementTerms AgreementTerms (1..1) + output: is_agreement boolean (1..1) + + assign-output is_agreement: + agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> name = LegalAgreementNameEnum->CollateralTransferAgreement //The agreement is a CTA + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> publisher = LegalAgreementPublisherEnum->ISDA //published by ISDA + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> governingLaw = GoverningLawEnum->USNY //under New York Law + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> vintage = "2019" //with vintage 2019 + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementDate exists //then the CTA should have an agreement date specified + and agreementTerms -> agreement -> securityAgreementElections -> pledgedAccount is absent //there should not be a PledgedAccount + and agreementTerms -> agreement -> securityAgreementElections -> enforcementEvent is absent //there should not be EnforcementEvent terms specified + and agreementTerms -> agreement -> securityAgreementElections -> deliveryInLieuRight is absent //there should not be Delivery in Lieu Right terms specified + and agreementTerms -> agreement -> securityAgreementElections -> fullDischarge is absent //there should not be Full Discharge terms specified + and agreementTerms -> agreement -> securityAgreementElections -> appropriatedCollateralValuation is absent //there should not be any Valuation of Appropriated Collateral terms specified + and agreementTerms -> agreement -> securityAgreementElections -> processAgent exists //there should be Process Agent terms specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> japaneseSecuritiesProvisions exists //there should be Japanese Securities Provisions specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> exclusiveJurisdiction exists //there should be Exclusive Jurisdiction terms specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> juryWaiver exists //there should be Jury Waiver terms specified diff --git a/lib/ISDA/isda.java b/lib/ISDA/isda.java new file mode 100644 index 0000000..3fa26f2 --- /dev/null +++ b/lib/ISDA/isda.java @@ -0,0 +1,1731 @@ +namespace org.isda.cdm +version "2.52.2" + +import cdm.base.* +import cdm.base.datetime.* +import cdm.base.math.* +import cdm.base.staticdata.identifier.* +import cdm.base.staticdata.asset.common.* +import cdm.base.staticdata.party.* +import cdm.synonyms.config.* + +type AccessConditions: <"A class to specify each party's election with respect to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + partyElection AccessConditionsElections (2..2) <"The parties' Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA) election."> + additionalTerminationEvent AdditionalTerminationEvent (0..*) <"Additional Termination Events applicable to the agreement."> + // [synonym ISDA_Create_1_0 value "additional_termination_event"] + +type AccessConditionsElections: <"A class to specify the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_illegality" = "applicable", set to "partyA" when "partyA_illegality" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_illegality" = "applicable", set to "partyB" when "partyB_illegality" = "not_applicable"] + illegality boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_illegality" = "applicable", set to False when "partyA_illegality" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_illegality" = "applicable", set to False when "partyB_illegality" = "not_applicable"] + forceMajeure boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_force_majeure" = "applicable", set to False when "partyA_force_majeure" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_force_majeure" = "applicable", set to False when "partyB_force_majeure" = "not_applicable"] + taxEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_tax_event" = "applicable", set to False when "partyA_tax_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_tax_event" = "applicable", set to False when "partyB_tax_event" = "not_applicable"] + taxEventUponMerger boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_tax_event_upon_merger" = "applicable", set to False when "partyA_tax_event_upon_merger" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_tax_event_upon_merger" = "applicable", set to False when "partyB_tax_event_upon_merger" = "not_applicable"] + creditEventUponMerger boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_credit_event_upon_merger" = "applicable", set to False when "partyA_credit_event_upon_merger" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_credit_event_upon_merger" = "applicable", set to False when "partyB_credit_event_upon_merger" = "not_applicable"] + +type AdditionalRegime: <"A class to specify the additional regulatory regime(s) that might be elected by the parties to a legal agreement where such provision exists, such as the ISDA 2016 and 2018 CSA for Initial Margin."> + + regime string (1..1) <"The additional regulatory regime as specified by the parties."> + regimeTerms RegimeTerms (2..2) <"The party elections with respect to the additional regime(s)."> + additionalType AdditionalTypeEnum (0..1) <"The Additional Type of transaction that can require the collection or delivery of initial margin under the specified regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + additionalTerms string (0..1) <"The bespoke Additional Type for the purposes of Covered Transactions (IM)."> + //TODO - Condition required that additionalType should exist for 2016 CSD and be absent for 2018 CSD + //TODO - Condition required that additionalTerms should only exist when additionalType is Other + +type AdditionalRepresentation: <"A class to specify the Additional Representation. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (o): Additional Representation(s)."> + + partyElection AdditionalRepresentationElection (2..2) <"A qualification as to whether the Additional Representation is applicable."> + customElection string (0..1) <"A supplemental custom election that might be specified by the parties for the purpose of specifying the Additional Representation."> + [synonym ISDA_Create_1_0 value "specify"] + +type AdditionalRepresentationElection: <"A class to specify the parties' Additional Representation(s) election."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_additional_representations" = "applicable", set to "partyA" when "partyA_additional_representations" = "not_applicable" ] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_additional_representations" = "applicable", set to "partyB" when "partyB_additional_representations" = "not_applicable" ] + isApplicable boolean (1..1) <"The Additional Representation is applicable when True, and not applicable when False."> + [synonym ISDA_Create_1_0 set to True when "partyA_additional_representations" = "applicable", set to False when "partyA_additional_representations" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_additional_representations" = "applicable", set to False when "partyB_additional_representations" = "not_applicable"] + +type AdditionalRepresentations: <"A class to specify Additional Representations that may be applicable to an agreement."> + + additionalRepresentation AdditionalRepresentation (0..1) <"The specification of the Additional Representation that may be applicable to the agreement."> + [synonym ISDA_Create_1_0 value "additional_representations"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "10(a)"] + additionalInformation boolean (0..1) <"The qualification of whether Additional Information related to Regulatory Compliance and Concentration Limits is applicable or not"> + [synonym ISDA_Create_1_0 set to True when "regulatory_compliance_and_concentration_limits->additional_information" = "applicable", + set to False when "regulatory_compliance_and_concentration_limits->additional_information" = "not_applicable"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "11"] + + condition: one-of + +type AdditionalRightsEvent: <"A class to specify the Pledgor/Obligor/Chargor Additional Rights Event election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (k): Chargor Additional Rights Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (k): Obligor Additional Rights Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (k): Pledgor Additional Rights Event."> + + isApplicable boolean (1..1) <"The Pledgor Additional Rights Event election is applicable when True, and not applicable when False."> + [synonym ISDA_Create_1_0 set to True when "applicable" = "true", set to False when "applicable" = "false"] + qualification string (0..1) <"The qualification of the Pledgor Additional Rights Event election, when specified."> + [synonym ISDA_Create_1_0 value "specify"] + + condition Qualification: <"The Pledgor/Obligor/Chargor Additional Rights should be qualified only when the Pledgor Additional Rights Event election is specified as applicable."> + if qualification exists + then isApplicable = True + +type AdditionalTerminationEvent: < "A class to specify an optional termination event, additional to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA)"> + // TODO Never referenced in CDM + name string (1..1) <"The name of the additional termination event"> + [synonym ISDA_Create_1_0 value "name" path "additional_termination_event"] + [synonym ISDA_Create_1_0 value "specify" set when "specify" exists] + applicableParty string (1..2) <"Whether the additional termination event is applicable for the relevant party"> + [synonym ISDA_Create_1_0 set to "PartyA" when "partyA_additional_termination_events" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyB" when "partyB_additional_termination_events" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyA" when "additional_termination_event->partyA_additional_termination_event" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyB" when "additional_termination_event->partyB_additional_termination_event" = "applicable"] + +type AdditionalType: <"The specification of the Additional Type of transaction that can require the collection or delivery of initial margin under a given regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + + standardValue AdditionalTypeEnum (1..1) <"The qualification of the Additional Type of transaction that can require the collection or delivery of initial margin when specified as a standard value."> + [synonym ISDA_Create_1_0 value "additional_type"] + customValue string (0..1) <"The qualification of the Additional Type of transaction that can require the collection or delivery of initial margin when specified as a custom value by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "additional_type_specify"] + + condition CustomValue: <"The specification of a custom value by the parties to the legal agreement takes place alongside the qualification of the `Other` value as part of the AdditionalTypeEnum."> + if standardValue = AdditionalTypeEnum -> Other + then customValue exists + + condition StandardValue: <"The specification of a standard value by the parties to the legal agreement is done through the qualification of a value distinct than `Other` as part of the AdditionalTypeEnum, and implies that the customerValue is not being qualified."> + if standardValue <> AdditionalTypeEnum -> Other + then customValue is absent + +type Agreement: <"A class to specify elections specific to a certain type of agreement."> + + creditSupportAgreementElections CreditSupportAgreementElections (0..1) <"Elections to specify an Initial Margin Credit Support Annex or Initial Margin Credit Support Deed."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Credit Support Annex"] + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Credit Support Deed"] + collateralTransferAgreementElections CollateralTransferAgreementElections (0..1) <"Elections to specify a Collateral Transfer Agreement."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Collateral Transfer Agreement"] + securityAgreementElections SecurityAgreementElections (0..1) <"Security agreement elections."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Security Agreement"] + transactionConfirmation TransactionConfirmation (0..1) <"A transaction confirmation"> //TODO: Rename Contract and move to here + condition: one-of + +type AgreementTerms: <"A class to specify the elections and variables that characterize a legal agreement."> + + agreement Agreement (1..1) <"The type of contract being specified"> + relatedAgreements RelatedAgreement (0..*) <"Specifies the agreement(s) that govern the agreement, either as a reference to such agreements when specified as part of the CDM, or through identification of some of the key terms of those agreements, such as the type of agreement, the publisher, the vintage, the agreement identifier and the agreement date."> + umbrellaAgreement UmbrellaAgreement (0..1) <"The determination of whether Umbrella Agreement terms are applicable (True) or Not Applicable (False)."> + [synonym ISDA_Create_1_0 value "umbrella_agreement_and_principal_identification", "umbrella_agreement_and_principal_identification" path "answers->partyA"] + +type AmendmentEffectiveDate: <"A class to specify the effective date of the Amendment to Termination Currency. This date can be specified as either an actual date, a specific date (e.g. the annex date) or as a custom provision. "> + + date date (0..1) <"The effective date of the Amendment to Termination Currency when specified as an actual date."> + specificDate AmendmentEffectiveDateEnum (0..1) <"The effective date of the Amendment to Termination Currency when specified as a specific date (e.g. the annex date)."> + [synonym ISDA_Create_1_0 value "annex_date"] + [synonym ISDA_Create_1_0 value "effectiveness_date"] + customProvision string (0..1)<"The effective date of the Amendment to Termination Currency when specified as a non normalized custom provision."> + condition: one-of + +type ApplicableRegime: <"A class to specify the applicable regulatory regime(s) that parties to a legal agreement, such as the ISDA 2016 and 2018 CSA for Initial Margin, might be subject to."> + + regime RegulatoryRegimeEnum (1..1) <"The applicable regulatory regime, as specified through an enumeration."> + [synonym AcadiaSoft_AM_1_0 value "regime"] + regimeTerms RegimeTerms (2..2) <"A class that is used by the ApplicableRegime and the AdditionalRegime classes to specify the terms that are specific to each party and regime which are referred to in the Regime Table as part of certain legal agreements, such as such as the ISDA 2016 and 2018 CSA for Initial Margin."> + additionalType AdditionalTypeEnum (0..1) <"The Additional Type of transaction that can require the collection or delivery of initial margin under the specified regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + additionalTerms string (0..1) <"The bespoke Additional Type for the purposes of Covered Transactions (IM)."> + //TODO - Condition required that additionalType should exist for 2016 CSD and be absent for 2018 CSD + //TODO - Condition required that additionalTerms should only exist when additionalType is Other + +type AppropriatedCollateralValuation: <"A class to specify the Valuation of Appropriated Collateral that is applicable to the English Law ISDA CSA. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (u): Valuation of Appropriated Collateral."> + + isSpecified boolean (1..1) <"The qualification of whether the Valuation of Appropriate Collateral provision is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + election string (0..1) <"The parties' election that qualify the Valuation of Appropriate Collateral in the case where it is deemed applicable."> + [synonym ISDA_Create_1_0 value "specify"] + + condition Specified: <"The Valuation of Appropriate Collateral election must be specified when it is applicable."> + if isSpecified = True + then election exists + + condition NotSpecified: <"The Valuation of Appropriate Collateral election cannot be specified when it is not applicable."> + if isSpecified = False + then election is absent + +type BespokeCalculationDate: <"A class to specify bespoke Calculation Date terms for the purposes of Initial Margin"> + + isApplicable boolean (1..1) <"Additional Calculation Date terms are applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + calculationDateImTerms string (0..1) <"The Additional Calculation Date terms for the purposes of Initial Margin"> + + condition CalculationDateImTerms: <"A data rule to enforce that Additional Calculation Date Terms should be absent when not applicable"> + if isApplicable = False then calculationDateImTerms is absent + +type BespokeCalculationTime: <"A class to specify additional Calculation Time terms for the purposes of Initial Margin"> + + asCalculationAgentIm boolean (1..1) <"If set to True, the Calculation Time for Initial Margin is the time as of which the Calculation Agent (IM) computes its end of day valuations of derivatives transactions"> + [synonym ISDA_Create_1_0 set to True when "calculation_time_IM_is" = "calculation_agent_IM_computation_time", set to False when "calculation_time_IM_is" = "specify"] + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "specify"] + bespokeCalculationTimeTerms string (0..1) <"Additional Terms applicable to Calculation Time for Initial Margin"> + [synonym ISDA_Create_1_0 value "calculation_agent_IM_computation_time_specify"] + + condition AsCalculationAgentIm: <"A data rule to enforce that the terms applicable to Calculation Time for Initial Margin should be specified when the computation time is not as per Calculation Agent"> + if asCalculationAgentIm = True + then bespokeCalculationTimeTerms is absent + + condition BespokeCalculationTimeTerms: <"A data rule to enforce that the Calculation Time for Initial Margin shouldn't be specified when the Control Agreement isn't deemed a Credit Support Document with respect to the party(ies)."> + if asCalculationAgentIm = False + then bespokeCalculationTimeTerms exists + +type BespokeTransferTiming: <"A class to specify any bespoke Transfer Timing language by each party to the agreement."> + + isApplicable boolean (1..1) <"A boolean flag to specify whether bespoke transfer terms are applicable or not."> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + bespokeTransferTimingTerms string (0..1) <"The bespoke transfer timing terms applicable to the agreement"> + [synonym ISDA_Create_1_0 value "settlement_day_specify"] + +type CalculationAgentIm: <"A class to select Calculation Agent for purposes of Initial Margin agreements"> + + isApplicable boolean (0..1) <"The specification of whether bespoke calculation agent terms are applicable (True) or not (False)"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + party string (0..1) <"The party which is specified as Calculation Agent for Initial Margin."> + [metadata reference] + [synonym ISDA_Create_1_0 set to "PartyA" when "calculation_agent" = "partyA"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "party_A"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "partyB"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "party_B"] + [synonym ISDA_Create_1_0 set to "PartyA,PartyB" when "calculation_agent_IM_party"="demanding_party_and_secured_party"] + // TODO - Need for a mapping logic that will parse the ISDA Create prefix to identify partyA vs. partyB entries + calculationAgentTerms string (0..1) <"The Calculation Agent (IM) terms when specified"> + [synonym ISDA_Create_1_0 value "specify"] + + condition CalculationAgentParty: <"A data rule to enforce that party should not be specified when bespoke Calculation Agent Terms exist."> + if calculationAgentTerms exists then party is absent + + condition CalculationAgentTerms: <"A data rule to enforce that bespoke terms should only be specified when applicable."> + if isApplicable = True then calculationAgentTerms exists + else if isApplicable = False then calculationAgentTerms is absent + +type CalculationAndTiming: <"A class to specify the Calculation, Valuation and Timing terms specific to the agreement."> + + calculationAgentIm CalculationAgentIm (0..1) <"The calculation agent terms applicable to the agreement."> + [synonym ISDA_Create_1_0 value "calculation_agent_IM"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4a"] + bespokeCalculationDate BespokeCalculationDate (0..1) <"The specification of bespoke Calculation Date terms for the purposes of Initial Margin by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "calculation_date"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(d)(i)"] + bespokeCalculationTime BespokeCalculationTime (0..1) <"Bespoke terms to describe the time as of which such party (or the Calculation Agent (IM) (if applicable)) computes its end of day valuations of derivatives transactions."> + [synonym ISDA_Create_1_0 value "calculation_time"] + [synonym ISDA_Create_1_0 value "credit_support_amount_calculation_time"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4d"] + calculationDateLocation CalculationDateLocation (0..1) <"The specified location where the credit exposure will be calculated by the respective parties."> + [synonym ISDA_Create_1_0 value "calculation_date_location"] + [synonym ISDA_Create_1_0 value "calculation_date"] + [synonym ISDA_Create_1_0 value "designated_city"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4c"] + notificationTime NotificationTime (1..1) <"The time by which a demand for the Transfer of Eligible Credit Support (IM) or Posted Credit Support (IM) needs to be made in order for the transfer to take place in accordance with the Transfer Timing provisions."> + [synonym ISDA_Create_1_0 value "notification_time"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4e"] + collateralValuationAgent CollateralValuationAgent (0..1) <"The bespoke Collateral Valuation Agent terms applicable to the agreement."> + [synonym ISDA_Create_1_0 value "collateral_valuation_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4b"] + cashSettlementDay string (0..1) <"Cash Settlement Day has the meaning specified in ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, Paragraph 4(b)(i), unless otherwise specified as part of this attribute. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iv): Cash Settlement Day."> + [synonym ISDA_Create_1_0 value "specify" path "cash_settlement_day" set when "cash_settlement_day->specified" = "true"] + securitiesSettlementDay string (0..1) <"Securities Settlement Day has the meaning specified in ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, Paragraph 12, unless otherwise specified as part of this attribute. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(v): Securities Settlement Day."> + [synonym ISDA_Create_1_0 value "specify" path "securities_settlement_day" set when "securities_settlement_day->specified" = "true"] + +type CalculationCurrencyElection: <"A class to specify the ISDA SIMM Calculation Currency as either the Base Currency or an alternative currency. ISDA 2016 CSA for Initial Margin, Paragraph 13, General Principles (ee)(3). | ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles (ee)(3)."> + + party string (1..1) <"The party which the SIMM Calculation Currency qualification applies to."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_use_base_currency" = "true", set to "partyA" when "partyA_use_base_currency" = "false"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_use_base_currency" = "true", set to "partyB" when "partyB_use_base_currency" = "false"] + isBaseCurrency boolean (1..1) <"The SIMM Calculation Currency (also known as SIMM Reporting Currency) means the Base Currency when True. It means a different currency when False. In that latter case, the SIMM Calculation Currency is specified as part of the currency attribute."> + [synonym ISDA_Create_1_0 set to True when "partyA_use_base_currency" = "true", set to False when "partyA_use_base_currency" = "false"] + [synonym ISDA_Create_1_0 set to True when "partyB_use_base_currency" = "true", set to False when "partyB_use_base_currency" = "false"] + currency string (0..1) <"The currency in which the ISDA SIMM Calculation is denominated, when different from the Base Currency. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym AcadiaSoft_AM_1_0 value "currency"] + [synonym ISDA_Create_1_0 value "partyA_use_other_currency"] + [synonym ISDA_Create_1_0 value "partyB_use_other_currency"] + + condition BaseCurrency: <"A data rule to enforce that, when the SIMM calculation currency is specified as the Base Currency and vice versa"> + if isBaseCurrency = True + then currency is absent + else currency exists + +type CalculationDateLocation: <"A class to specify the Calculation Date Location election for the respective parties to the legal agreement. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i): Calculation Date Location. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location."> + + partyElection CalculationDateLocationElection (2..2) <"The parties' calculation date location election."> + + +type CalculationDateLocationElection: <"A class to specify each of the party elections with respect to the Calculation Date Location. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i): Calculation Date Location. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_calculation_date_location" = "select_location", set to "partyA" when "partyA_calculation_date_location" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_calculation_date_location" = "select_location", set to "partyB" when "partyB_calculation_date_location" = "other"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_designated_city" = "select_location", set to "partyA" when "partyA_designated_city" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_designated_city" = "select_location", set to "partyB" when "partyB_designated_city" = "other"] + businessCenter BusinessCenterEnum (0..1) <"The Calculation Date Location when specified as a business center which corresponds to the FpML list of business centers or can be mapped to it."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "partyA_location"] + [synonym ISDA_Create_1_0 value "partyB_location"] + customLocation string (0..1) <"The Calculation Date Location when specified a location which doesn't correspond to the FpML list of business centers or cannot be mapped to it."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + + condition Choice : <"The Calculation Date Location is specified either as a standard business center or as a custom location."> + required choice businessCenter, customLocation + +type CollateralAccessBreach: <"A class to specify Collateral Access Breach language"> + + isApplicable boolean (1..1) <"Collateral Access Breach terms are applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "collateral_access_breach" = "applicable", set to False when "collateral_access_breach" = "not_applicable"] + cabEndDateElection boolean (0..1) <"Determination of whether the Collateral Access Breach end date is a number of days (True) or specified (False)"> + [synonym ISDA_Create_1_0 set to True when "cab_end_date" = "days", set to False when "cab_end_date" = "other"] + cabEndDate number (0..1) <"The business days following the related Collateral Access Breach when the additional terms end "> + [synonym ISDA_Create_1_0 value "cab_end_date_days"] + cabEndDateTerms string (0..1) <"Specific terms for when Collateral Access Breach terms end"> + [synonym ISDA_Create_1_0 value "cab_end_date_specify"] + + condition CabEndDateTerms: <"A condition to require Collateral Access Breach End Date Terms when a specification is required"> + if cabEndDateElection = True then cabEndDateTerms is absent + + // condition CabEndDate: <"A condition to enforce that Collateral Access Breach terms should be absent when Not Applicable"> + // if isApplicable = False then cabEndDateElection and cabEndDate and cabEndDateTerms is absent + +//TODO - Condition required cabEndDate OR cabEndDateTerms required if CollateralAccessBreach is applicable + +type CollateralManagementAgreement: <"A class to specify the Collateral Management Agreement election by the respective parties to a Japanese Law ISDA CSA. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(i): Collateral Management Agreement."> + + partyElection CollateralManagementAgreementElection (2..2) <"The parties' Collateral Management Agreement election."> + +type CollateralManagementAgreementElection: <"A class to specify the Collateral Management Agreement election by each party as the Obligee. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b(i): Collateral Management Agreement."> + + party Party (1..1) <"The elective party."> + [metadata reference] + // TODO - Need for a mapping logic that will parse the ISDA Create prefix to identify partyA vs. partyB entries + collateralManagementAgreement string (1..1) <"The designated Collateral Management Agreement with respect to the elective party as the Obligee."> + [synonym ISDA_Create_1_0 value "partyA_specify", "partyB_specify"] + +type CollateralRounding: <"A class to specify the rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(C): Rounding. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding."> + + deliveryAmount number (1..1) <"The rounding methodology applicable to the Delivery Amount in terms of nearest integral multiple of Base Currency units."> + [synonym ISDA_Create_1_0 value "delivery_amount"] + returnAmount number (1..1) <"The rounding methodology applicable to the Return Amount in terms of nearest integral multiple of Base Currency units."> + [synonym ISDA_Create_1_0 value "return_amount"] + +type CollateralTransferAgreementElections: <"The set of elections which specify a Collateral Transfer Agreement"> + + regime Regime (1..1) <"The Regime Table provision , which determines the regulatory regime(s) applicable to each of the parties to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "Regimes"] + oneWayProvisions OneWayProvisions (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 value "one_way_provisions"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (a)"] + generalSimmElections GeneralSimmElections (1..1) <"The specification of the ISDA SIMM Method for all Covered Transactions with respect to all Regimes."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (e)"] + identifiedCrossCurrencySwap boolean (0..1) <"The qualification of whether cross-currency swaps need to be identified in the Confirmation so that the obligations to exchange principal be disregarded for the purpose of determining the Delivery Amount or Return Amount."> + [synonym ISDA_Create_1_0 set to True when "cross_currency_swap->yey_ney" = "true", set to False when "cross_currency_swap->yey_ney" = "false"] + // [documentReference Euroclear CtaInitialMargin 2018 paragraph "13" section "(g)"] + sensitivityMethodologies SensitivityMethodologies (1..1) <"The specification of methodologies to compute sensitivities specific to the agreement."> + fxHaircutCurrency FxHaircutCurrency (0..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + [synonym ISDA_Create_1_0 value "fx_haircut_percentage"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "(h)"] + postingObligations PostingObligations (1..1) <"The security providers posting obligations."> + [synonym ISDA_Create_1_0 value "security_provider_posting_obligations"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "General Principles (ii)"] + substitutedRegime SubstitutedRegime (1..1) <"The specification of Additional regimes for purposes of determining whether a Regulatory Event has occurred."> + [synonym ISDA_Create_1_0 value "substituted_regimes"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (k)"] + baseCurrency string (1..1) <"The base currency for the document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "1"] + creditSupportObligations CreditSupportObligationsInitialMargin (1..1) <"The Credit Support Obligations applicable to the agreement. "> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3"] + calculationAndTiming CalculationAndTiming (1..1) <"The set of elections for determining Valuation and Timing terms specific to the agreement"> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections that may overwrite the default Condition Precedent provision, and the set of provisions that are deemed Access Condition."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "5"] + substitution Substitution (1..1) <"The conditions under which the Security Provider can substitute posted collateral."> + [synonym ISDA_Create_1_0 value "consent"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "f"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "6"] + rightsEvents RightsEvents (1..1) <"The bespoke provisions that might be specified by the parties to the agreement to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred.."> + custodyArrangements CustodyArrangements (1..1) <"The Custodian and Segregated Account details in respect of each party to the agreement."> + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "m"] + additionalRepresentations AdditionalRepresentations (1..1) <"The specification Additional Representations that may be applicable to the agreement."> + demandsAndNotices ContactElection (0..1) <"The optional specification of address where the demands, specifications and notices will be communicated to for each of the parties to the agreement."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "12"] + addressesForTransfer ContactElection (0..1) <"The optional specification of address for transfer as specified by the respective parties to the agreement."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "12"] + otherCsa string (0..1) <"The bespoke definition of Other CSA as specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "other_csa->specify" set when "other_csa->specified" = "true"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "13"] + terminationCurrencyAmendment TerminationCurrencyAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Termination Currency. Unless specified the definition of Termination Currency has the meaning specified in the Schedule to the ISDA Master Agreement."> + [synonym ISDA_Create_1_0 value "amendment_to_termination_currency"] + [synonym ISDA_Create_1_0 value "security_provider_posting_obligations"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "13"] + minimumTransferAmountAmendment MinimumTransferAmountAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Minimum Transfer Amount. Unless specified the definition of Minimum Transfer Amount in any Other Regulatory CSA has the meaning specified in such Other Regulatory CSA."> + [synonym ISDA_Create_1_0 value "amendment_to_minimum_transfer_amount" mapper "MinimumTransferAmountAmendment"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "14"] + interpretationTerms string (0..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Interpretations."> + [synonym ISDA_Create_1_0 value "paragraph_1_6a_specify" path "interpretation" set when "interpretation->paragraph_1_6a_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_10ki_specify" path "interpretation" set when "interpretation->paragraph_10ki_is" = "specify"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "15"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms relevant to the agreement."> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + +type CollateralValuationAgent: <"A class to specify Collateral Valuation Agent terms."> + + partyElection CollateralValuationAgentElection (0..2) <"The parties Collateral Valuation Agent Elections."> + +type CollateralValuationAgentElection: <"A class to specify Collateral Valuation Agent language."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_collateral_valuation_agent" = "other"] //Check synonyms + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_collateral_valuation_agent" = "other"] //Check synonyms + additionalLanguage string (0..1) <"The additional language that might be specified by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "partyA_specify"] //Check synonyms + [synonym ISDA_Create_1_0 value "partyB_specify"] //Check synonyms + +type ConditionsPrecedent: <"A class to specify the two set of elections that may overwrite the default Condition Precedent provision as specified in Paragraph 4, (a) of the ISDA 2016 Credit Support Annex for Initial Margin and the ISDA 2016 Credit Support Annex for Variation Margin. | ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2018 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Conditions Precedent. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + conditionsPrecedentElection boolean (0..1) <"The election to specify whether the standard Conditions Precedent apply"> + [synonym ISDA_Create_1_0 set to True when "conditions_precedent->conditions_precedent" = "not specified", set to False when "conditions_precedent->conditions_precedent" = "paragraph_3_1_will_not_apply"] + [synonym ISDA_Create_1_0 set to True when "conditions_precedent->specified" = "false", set to False when "conditions_precedent->specified" = "true"] + customProvision string (0..1) <"The custom provisions that might be specified by the parties to the agreement for the purpose of overwriting the default Condition Precedent provision as specified in ISDA 2016 Credit Support Annex for Initial Margin and the ISDA 2016 Credit Support Annex for Variation Margin, Paragraph 4, (a). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(i). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(i). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, : Conditions Precedent and Secured Party’s Rights and Remedies."> + [synonym ISDA_Create_1_0 value "specify" path "conditions_precedent"] + accessConditions AccessConditions (1..1) <"The parties' election with respect to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + [synonym ISDA_Create_1_0 value "access_conditions"] //"conditions_precedent" + [synonym ISDA_Create_1_0 value "access_conditions" path "conditions_precedent"] + + condition CustomProvision: <"When a Custom Provision is specified then the Conditions Precedent Election should be absent."> + if customProvision exists + then conditionsPrecedentElection = False + +type ContactElection: <"A class to specify the parties' election to specify contact information, in relation to elections such as the Addresses for Transfer or the Demand and Notices as specified in the ISDA Credit Support Annex agreement."> + + partyElection PartyContactInformation (2..2 ) <"The parties' contact information election."> + +type ControlAgreement: <"A class to specify the relationship between the Control Agreement and the Credit Support Agreement."> + + partyElection ControlAgreementElections (2..2) <"The party specific elections."> + +type ControlAgreementElections: <"A class to specify the Control Agreement election sby each party to the agreement."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "yes", + set to "partyA" when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "yes", + set to "partyB" when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to "partyA" when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "yes", + set to "partyA" when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "yes", + set to "partyB" when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyA" when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "yes", + set to "partyA" when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "yes", + set to "partyB" when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "no"] + controlAgreementAsCsd boolean (1..1) <"The identification of whether the Control Agreement is a Credit Support Document with respect to each party"> + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "yes", + set to False when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "yes", + set to False when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "yes", + set to False when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "yes", + set to False when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "yes", + set to False when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "yes", + set to False when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "no"] + // TODO - add Condition - include when 2018 CSD English Law, exclude when 2016 (captured under CustodyArrangements) + consistencyWithControlAgreement boolean (0..1) <"Unless specified as inapplicable in the event of any inconsistency between this Deed and the Control Agreement, this Deed will prevail over the Control Agreement"> + [synonym ISDA_Create_1_0 set to True when "inconsistency_with_the_control_agreement->partyA_inconsistency_with_the_control_agreement" = "applicable", + set to False when "inconsistency_with_the_control_agreement->partyA_inconsistency_with_the_control_agreement" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "inconsistency_with_the_control_agreement->partyB_inconsistency_with_the_control_agreement" = "applicable", + set to False when "inconsistency_with_the_control_agreement->partyB_inconsistency_with_the_control_agreement" = "not_applicable"] + // TODO - add Condition - only include when 2018 CSD English Law + relationshipWithControlAgreement boolean (0..1) <"Unless specified as inapplicable the parties recognise that the Control Agreement is a means by which the parties can perform their obligations."> + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->partyA_control_agreement_relationship" = "applicable", + set to False when "relationship_with_the_control_agreement->partyA_control_agreement_relationship" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->partyB_control_agreement_relationship" = "applicable", + set to False when "relationship_with_the_control_agreement->partyB_control_agreement_relationship" = "not_applicable"] + // TODO - add Condition - only include when 2018 CSD English Law + +type ControlAgreementNecEvent: <"A class to specify Control Agreement language related to delivery of a Notice of Exclusive Control"> + + controlAgreementNecEventElection ControlAgreementNecEventElection (2..2) + +type ControlAgreementNecEventElection: <"A class to specify party specific Control Agreement language related to delivery of a Notice of Exclusive Control"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_control_agreement_nec_event" = "applicable", set to "partyA" when "partyA_control_agreement_nec_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyB_control_agreement_nec_event" = "applicable", set to "partyB" when "partyB_control_agreement_nec_event" = "not_applicable"] + + necEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_control_agreement_nec_event" = "applicable", set to False when "partyA_control_agreement_nec_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_control_agreement_nec_event" = "applicable", set to False when "partyB_control_agreement_nec_event" = "not_applicable"] + +type CreditNotation: <"A class to specify the credit notation as the combination of agency, notation, scale and debt type qualifications."> + [synonym FpML_5_10 value "CreditNotation"] + + agency CreditRatingAgencyEnum (1..1) <"The credit agency to which the other variables (notation, scale, debt type) refer to."> + [metadata scheme] + [synonym FpML_5_10 value "agency" meta "creditRatingAgencyScheme"] + notation string (1..1) <"The credit rating notation. As it varies among credit rating agencies, FpML doesn't specify a default scheme."> + [metadata scheme] + [synonym FpML_5_10 value "notation" meta "creditRatingNotationScheme"] + scale string (0..1) <"The credit rating scale, with a typical distinction between short term, long term. FpML doesn't specify a default scheme, which is hence not specified as an enumeration as part of the CDM."> + [metadata scheme] + [synonym FpML_5_10 value "scale" meta "creditRatingScaleScheme"] + debt CreditRatingDebt (0..1) <"The credit rating debt type (e.g. long term, high yield, deposits, ...) associated with the credit rating notation and scale."> + [synonym FpML_5_10 value "debt"] + + +type CreditNotations: <"The credit rating notation higher level construct, which provides the ability to specify multiple rating notations."> + [synonym FpML_5_10 value "CreditNotations"] + + creditNotation CreditNotation (0..1) <"This attribute is specified when only one credit notation is determined."> + [synonym FpML_5_10 value "creditNotation"] + creditNotations MultipleCreditNotations (0..1) <"This attribute provides the ability to specify several credit notations, alongside an 'any' or 'all' or all condition."> + condition: one-of + +type CreditRatingDebt: <"The credit rating debt type(s) associated with the credit rating notation and scale. When several debt types are specified, they must be qualified through an 'any' or 'all'."> + [synonym FpML_5_10 value "CreditRatingDebt"] + + debtType string (0..1) <"This attribute is to be specified when only one debt type is specified. FpML doesn't specify values in relation to the associated scheme, which is hence not specified as an enumeration as part of the CDM."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "debtTypeScheme"] + debtTypes MultipleDebtTypes (0..1) <"This attribute provides the ability to specify several debt types, alongside an 'any' or 'all' or all condition. As an example, Baa1 rating is required for any long term debt and deposit."> + condition: one-of + +type CreditSupportAgreementElections: <"The set of elections which specify a Credit Support Annex or Deed."> + + regime Regime (1..1) <"The Regime Table provision , which determines the regulatory regime(s) applicable to each of the parties to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "Regimes"] + oneWayProvisions OneWayProvisions (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 value "one_way_provisions"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (a)"] + generalSimmElections GeneralSimmElections (1..1) <"The specification of the ISDA SIMM Method for all Covered Transactions with respect to all Regimes."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (e)"] + identifiedCrossCurrencySwap boolean (0..1) <"The qualification of whether cross-currency swaps need to be identified in the Confirmation so that the obligations to exchange principal be disregarded for the purpose of determining the Delivery Amount or Return Amount."> + [synonym ISDA_Create_1_0 set to True when "cross_currency_swap->yey_ney" = "true", set to False when "cross_currency_swap->yey_ney" = "false"] + // [documentReference Euroclear CtaInitialMargin 2018 paragraph "13" section "(g)"] + sensitivityMethodologies SensitivityMethodologies (1..1) <"The specification of methodologies to compute sensitivities specific to the agreement."> + fxHaircutCurrency FxHaircutCurrency (0..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + [synonym ISDA_Create_1_0 value "fx_haircut_percentage"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "(h)"] + postingObligations PostingObligations (1..1) <"The security providers posting obligations."> + [synonym ISDA_Create_1_0 value "chargor_posting_obligations"] + [synonym ISDA_Create_1_0 value "pledgor_posting_obligations"] + [synonym ISDA_Create_1_0 value "obligor_posting_obligations"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "General Principles (ii)"] + substitutedRegime SubstitutedRegime (1..1) <"The specification of Additional regimes for purposes of determining whether a Regulatory Event has occurred."> + [synonym ISDA_Create_1_0 value "substituted_regimes"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (k)"] + baseCurrency string (1..1) <"The base currency for the document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "1"] + additionalObligations string (0..1) <"The additional obligations that might be specified by the parties to a Credit Support Agreement."> + [synonym ISDA_Create_1_0 value "additional_obligations_specify" path "additional_obligations" set when "additional_obligations->additional_obligations" = "specify"] + creditSupportObligations CreditSupportObligationsInitialMargin (1..1) <"The Credit Support Obligations applicable to the agreement. "> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3"] + calculationAndTiming CalculationAndTiming (1..1) <"The set of elections for determining Valuation and Timing terms specific to the agreement"> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections that may overwrite the default Condition Precedent provision, and the set of provisions that are deemed Access Condition."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "5"] + substitution Substitution (1..1) <"The conditions under which the Security Provider can substitute posted collateral."> + [synonym ISDA_Create_1_0 value "consent"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "f"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "6"] + rightsEvents RightsEvents (1..1) <"The bespoke provisions that might be specified by the parties to the agreement to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred.."> + custodyArrangements CustodyArrangements (1..1) <"The Custodian and Segregated Account details in respect of each party to the agreement."> + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "m"] + additionalRepresentations AdditionalRepresentations (1..1) <"The specification Additional Representations that may be applicable to the agreement."> + otherEligibleAndPostedSupport OtherEligibleAndPostedSupport (1..1) <"The Other Eligible Support elections associated with margin agreements."> + demandsAndNotices ContactElection (0..1) <"The optional specification of address where the demands, specifications and notices will be communicated to for each of the parties to the agreement."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "12"] + addressesForTransfer ContactElection (0..1) <"The optional specification of address for transfer as specified by the respective parties to the agreement."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "12"] + otherCsa OtherAgreements (0..1) <"The bespoke definition of Other CSA as specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "other_csa"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "13"] + japaneseLawCsa OtherAgreements (0..1) <"The bespoke definition of whether Japanese Law CSA (VM) are specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (s)(ii): Japanese Law CSA (VM)."> + [synonym ISDA_Create_1_0 value "japanese_law_csa_vm"] + terminationCurrencyAmendment TerminationCurrencyAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Termination Currency. Unless specified the definition of Termination Currency has the meaning specified in the Schedule to the ISDA Master Agreement."> + [synonym ISDA_Create_1_0 value "amendment_to_termination_currency"] + [synonym ISDA_Create_1_0 value "pledgor_posting_obligations"] + [synonym ISDA_Create_1_0 value "chargor_posting_obligations"] + [synonym ISDA_Create_1_0 value "obligor_posting_obligations"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "13"] + minimumTransferAmountAmendment MinimumTransferAmountAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Minimum Transfer Amount. Unless specified the definition of Minimum Transfer Amount in any Other Regulatory CSA has the meaning specified in such Other Regulatory CSA."> + [synonym ISDA_Create_1_0 value "amendment_to_minimum_transfer_amount" mapper "MinimumTransferAmountAmendment"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "14"] + interpretationTerms string (0..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Interpretations."> + [synonym ISDA_Create_1_0 value "paragraph_10ki_specify" path "interpretation" set when "interpretation->paragraph_10ki_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_11g_specify" path "interpretation" set when "interpretation->paragraph_11g_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_11j_specify" path "interpretation" set when "interpretation->paragraph_11j_is" = "specify"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "15"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + appropriatedCollateralValuation AppropriatedCollateralValuation (0..1) <"The election for the Valuation of Appropriate Collateral."> + [synonym ISDA_Create_1_0 value "valuation_of_appropriated_collateral"] + // [documentReference ISDA CsdInitialMargin 2016 paragraph "13" section "v"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms relevant to the agreement."> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + trustSchemeAddendum boolean (1..1) <"The qualification of whether Trust Scheme Addendum is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "trust_scheme_addendum->is_applicable" = "applicable", set to False when "trust_scheme_addendum->is_applicable" = "not_applicable"] + +type CreditSupportObligationsInitialMargin: <"A class to specify the Credit Support Obligations applicable to the Initial Margin Credit Support Annex and which are common among the English, Japanese and New York governing laws. This excludes the Other Eligible Support election (which only applies to the Japanese Law and New York Law agreements) and the Transfer Timing election (which only applies to the English Law and the New York Law agreements). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c): Credit Support Obligations. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d): Credit Support Obligations. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c): Credit Support Obligations."> + + marginApproach MarginApproach (0..1) <"The selection of Margin Approach applicable to the agreement."> + [synonym ISDA_Create_1_0 value "selection_of_margin_approach"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(a)"] + threshold Threshold (1..1) <"The amount of net exposure that a party is willing to bear in relation to the other party before it requires asking for collateral. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(A): Threshold. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold."> + [synonym ISDA_Create_1_0 value "threshold" mapper "Threshold"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(b)(ii)"] + minimumTransferAmount MinimumTransferAmount (1..1) <"The net amount of exposure reached before collateral has to be posted or returned. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(B): Minimum Transfer Amount. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount."> + [synonym ISDA_Create_1_0 value "minimum_transfer_amount" mapper "MinimumTransferAmount"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(b)(i)"] + rounding CollateralRounding (0..1) <"The rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(C): Rounding. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding."> + [synonym ISDA_Create_1_0 value "rounding"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(c)(v)(C)"] + bespokeTransferTiming BespokeTransferTiming (0..1) <"The time by which the transfer of collateral must take place when different from the Regular Settlement Day as a result of parties' election."> + [synonym ISDA_Create_1_0 value "transfer_timing"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(c)(vi)"] + +type CreditSupportObligationsVariationMargin: <"A class to specify the Credit Support Obligations applicable to the Variation Margin Credit Support Annex and which are common among the English, Japanese and New York governing laws. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c): Credit Support Obligations."> + + eligibleCollateral EligibleCollateralVariationMargin (1..1) <"The eligible collateral elections by the parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + ineligibleCreditSupport IneligibleCreditSupport (1..1) <"The parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + majorCurrency string (1..*) <"The set of currencies that are specified as Major Currency for the purpose of applying the FX Haircut Percentage. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(v)(B): FX Haircut Percentage."> + [metadata scheme] + // In relation to the above, are the parties expected to always specify the major currencies, or should we have default values specified in the template, deemed to apply if no election by the parties? The current model assumes the former. + fxHaircut number (1..1) <"The FX haircut percentage that applies to each party (as the pledgor/chargor/obligor) and item of Eligible Collateral unless this item is denominated in a Major Currency or in the Base Currency. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(v)(B): FX Haircut Percentage."> + // Same question as above: does the template specifies 8% as a default value? + minimumTransferAmount MinimumTransferAmount (1..1) <"The net amount of exposure reached before collateral has to be posted or returned. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vii)(A): Minimum Transfer Amount."> + rounding CollateralRounding (1..1) <"The rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vii)(B): Rounding."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type Csa: <"An abstract class to specify the provisions for a ISDA Credit Support Annex that are common among vintages, governing laws and across IM and VM."> + + documentationIdentification DocumentationIdentification (0..1) <"The identification of the legal document(s) that govern the contract through some of the key terms of such document(s): type of document, the document identifier, the publisher, the document vintage and the agreement date."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type Csa2016 extends Csa: <"An abstract class to specify the provisions for the 2016 ISDA Credit Support Annex that are common among governing laws and across Initial and Variation Margin."> + + baseCurrency string (1..1) <"The base currency for the Credit Support Annex document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes. ISDA 2016 CSA for Initial Margin, Paragraph 13 (a) | ISDA 2016 CSA for Variation Margin, Paragraph 13 (a)."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + additionalObligations string (0..1) <"The additional obligations that might be specified by the parties to an ISDA CSA. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (b)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(ii). | ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (b)(ii)."> + [synonym ISDA_Create_1_0 value "additional_obligations_specify" path "additional_obligations" set when "additional_obligations->additional_obligations" = "specify"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections specified in Paragraph 13 that may overwrite the default Condition Precedent provision as specified in ISDA 2016 Credit Support Annex for Initial Margin, Paragraph 4, (a), and the set of provisions that are deemed Access Condition (Initial Margin) and Specified Condition (Variation Margin). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Conditions Precedent. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + substitution Substitution (1..1) <"The conditions under which the Pledgor/Obligor/Chargor can substitute posted collateral. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (f): Substitution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Substitution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Substitution. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (f): Substitution."> + [synonym ISDA_Create_1_0 value "consent"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (h): Dispute Resolution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (g): Dispute Resolution."> + [synonym ISDA_Create_1_0 value "resolution_time"] + additionalRepresentation AdditionalRepresentation (1..1) <"ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (o): Additional Representation(s). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (k): Additional Representation(s)."> + [synonym ISDA_Create_1_0 value "additional_representations"] + demandsAndNotices ContactElection (1..1) <"The address where the demands, specifications and notices will be communicated to within each of the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (q): Demands and Notices. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (m): Demands and Notices."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + addressesForTransfer ContactElection (1..1) <"The address for transfer as specified by the respective parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (r): Addresses for Transfers. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (n): Addresses for Transfers."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + bespokeProvision string (0..1) <"The bespoke provision that might be specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (u)(iii): Other Provisions. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (p): Other Provisions."> + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + umbrellaAgreement UmbrellaAgreement (0..1) <"The determination of whether Umbrella Agreement terms are applicable (True) or Not Applicable (False)."> + [synonym ISDA_Create_1_0 value "umbrella_agreement_and_principal_identification", "principal_identification_schedule" path "umbrella_agreement_and_principal_identification"] + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type CsaVariationMargin2016 extends Csa2016: <"An abstract class to specify the provisions for the 2016 ISDA Credit Support Annex for Variation Margin that are common among governing laws."> + + creditSupportObligations CreditSupportObligationsVariationMargin (1..1) <"The Credit Support Obligations applicable to the Variation Margin Credit Support Annex. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c): Credit Support Obligations."> + valuationAgent Party (1..1) <"The Valuation Agent as specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(i): Valuation Agent."> + [metadata reference] + valuationDateLocation CalculationDateLocation (1..1) <"The business location elected by the respective parties to the agreement as the Valuation Date Location. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(ii): Valuation Date Location."> + valuationTime BusinessCenterTime (1..*) <"ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(iii): Valuation Time."> + // In relation to the above, need to confirm that several valuation times can be specified, as suggested by the sample document which has been used, although this sounds peculiar if not expressed as one valuation time election per party + notificationTime int (1..1) <"The extend of time by which a demand for the Transfer of Eligible Credit Support (VM) or Posted Credit Support (VM) needs to be made after the relevant Valuation Time in order for the transfer to take place. This time is expressed in a number of minutes. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(iv): Notification Time."> + // TODO - Look to express this elapse time as an interval time, to be projected as a a java Interval type https://trello.com/c/hclQUeS0 + holdingAndUsingPostedCollateral HoldingAndUsingPostedCollateral (1..1) <"The elections for the holding and using of posted collateral by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + creditSupportOffsets boolean (1..1) <"When True the Credit Support Offsets provisions in Paragraph 11(j) of the ISDA 2016 Credit Support Annex for Variation Margin apply. They don't apply when False. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (j): Credit Support Offsets."> + otherCsa OtherAgreements (1..1) <"The qualification of whether Other CSA are specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (o): Other CSA."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type CsaVariationMargin2016NewYorkLaw extends CsaVariationMargin2016: <"A class to specify the provisions that are specific to the New York Law version of the ISDA 2016 Credit Support Annex for Variation Margin."> + + otherEligibleSupport string (0..1) <"The Other Eligible Support election. If not specified, this election is deemed as not applicable. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vi): Other Eligible Support (VM)."> + transferTiming string (1..1) <"The time by which the transfer of collateral must take place after the Notification Time on the Regular Settlement Day. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(viii): Transfer Timing."> + otherEligibleAndPostedSupport OtherEligibleAndPostedSupport (1..1) <"The Other Eligible Support elections associated with margin agreements. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (l): Other Eligible Support (VM) and Other Posted Support (VM)."> + +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type EquitySwapMasterConfirmation2018 extends EquityMasterConfirmation: <"Specification for the General Terms and Relationship Supplement Elections as provided in the 2018 ISDA CDM Equity Confirmation for Security Equity Swap."> + + typeOfSwapElection ReturnTypeEnum (1..1) <"Part 1 Section 4, 'Dividend Obligations', of the 2018 ISDA CDM Equity Confirmation, Para 4.2 'Dividend Returns': The Type Of Swap Election shall be 'Total Return', unless otherwise specified (as alternative 'Price Return') in the Transaction Supplement."> + pricingMethodElection PriceReturnTerms (1..1) <"Part 1 Section 5, 'Pricing', of the 2018 ISDA CDM Equity Confirmation, Para 5.1, 'Determining Prices': Each price in relation to a Pricing Date shall be determined pursuant to the specified Pricing Method. The relevant price specified under the column header 'Price' for a corresponding Pricing Date specified under the column header 'Pricing Date' shall be determined using the corresponding method specified under the column header 'Pricing Method'. Pricing Method for the final Equity Valuation Date shall be specified by the Final EVD Pricing Election and Pricing Method for any other Equity Valaution Date shall be 'Securities Close Pricing (Official)'"> + // TODO: the initialPrice attribute should be optional in PriceReturnTerms, only the valuationPriceInterim and valuationPriceFinal methods should be specified at the Swap level + linearInterpolationElection InterpolationMethodEnum (1..1) <"Part 1 Section 3, 'Floating Obligations', of the 2018 ISDA CDM Equity Confirmation. Para 3.3, 'Linear Interpolation': If the initial Calculation Period is not equal to the Designated Maturity, then the Linear Interpolation Election shall be as specified in the Relationship Supplement, unless otherwise specified in the Transaction Supplement."> + settlementTerms SettlementTerms (1..1) <"Part 1 Section 8, 'Settlement', of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap. All Settlements are in Cash."> + equityCalculationPeriod CalculationPeriodDates (1..1) <"The parameters used to generate the 'Equity Valuation Dates' schedule, including the Effective Date and Termination Date for the Swap."> + equityCashSettlementDates PaymentDates (1..1) <"The parameters used to generate the payment date schedule, relative to the equityCalculationPeriod. Part 1 Section 12, 'Definitions', of the 2018 ISDA CDM Equity Confirmation. Para 73: 'Equity Cash Settlement Date' means each date falling one Settlement Cycle after an Equity Valuation Date; provided that if any such date is not a Settlement Currency Business Day, then such date shall be adjusted per Following Day Adjustment."> + +// TODOs: Averaging Election, Dividend Payment Date Election, Break Funding Election +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type EquityMasterConfirmation extends MasterConfirmationBase: <"Specification for General Terms and Elections of an Equity Master Confirmation that is applicable across multiple Equity confirmations and is referenced by each of these confirmations, an example of which being the 2018 ISDA CDM Equity Confirmation for Security Equity Swap."> + +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type MasterConfirmationBase: <"Legal agreement specification for General Terms and Elections that are applicable across multiple confirmations and are referenced by these confirmations."> + +type Custodian: <"A class to specify the custodian and custody account details for each party to the agreement."> + + partyElection CustodianElection (2..2) <"The party specific elections."> + +type CustodianElection: <"A class to specify the custodian and custody account details for each party to the agreement."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_custodian_name" exists, set to "partyB" when "partyB_custodian_name" exists] + custodian LegalEntity (0..1) <"The custody agent. While ISDA Create only specifies the custodian's name, specifying the legal entity as part of the CDM is deemed more appropriate, while this will still provide the ability to accommodate situations where only the entity name is available, as the entityId attribute is optional as part of the LegalEntity class."> + [synonym ISDA_Create_1_0 value "custodian_name"] + [synonym ISDA_Create_1_0 value "collateral_manager"] + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + segregatedCashAccount Account (0..1) <"The identification of the segregated cash account for the purpose of holding cash collateral."> + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + // TODO - Need for a mapping logic that will parse the ISDA Create suffix to identify cash vs. security with custodian_and_segregated_account_details as a path + segregatedSecurityAccount Account (0..1) <"The identification of the segregated security account for the purpose of holding security collateral."> + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + // TODO - Need for a mapping logic that will parse the ISDA Create suffix to identify cash vs. security with custodian_and_segregated_account_details as a path + + +type CustodianEvent: <"A class to specify the Custodian Event (English Law & New York Law ISDA CSA) and the Collateral Manager Event (Japanese Law ISDA CSA) in terms of applicability and end-date. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(iii): Custodian Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(ii): Collateral Manager Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Custodian Event."> + + isApplicable boolean (1..1) <"The qualification as to whether the Custodian Event (English Law & New York Law ISDA CSA) or the Collateral Manager Event (Japanese Law ISDA CSA) is applicable."> + [synonym ISDA_Create_1_0 set to True when "custodian_event->definition" = "applicable", set to False when "custodian_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "euroclear_event->definition" = "applicable", set to False when "euroclear_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "clearstream_event->definition" = "applicable", set to False when "clearstream_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "collateral_manager_event->definition" = "applicable", set to False when "collateral_manager_event->definition" = "not_applicable"] + endDate CustodianEventEndDate (0..1) <"The qualification of the Custodian Event (English Law & New York Law ISDA CSA) or Collateral Manager Event (Japanese Law ISDA CSA) End Date."> + [synonym ISDA_Create_1_0 value "ce_end_date"] + [synonym ISDA_Create_1_0 value "ee_end_date"] + [synonym ISDA_Create_1_0 value "cme_end_date"] + +type CustodianEventEndDate: <"A class to specify the Custodian Event (English Law & New York Law ISDA CSA) or Collateral Manager Event (Japanese Law ISDA CSA) End Date. Its qualification is function of three elective periods: either (i) a specified number of days after the occurrence of the Custodian Event (the daysAfterCustodianEvent attribute), or (ii) the number of days prior to the date on which the Control Agreement will terminate, with in this latter case (iii) the further qualification of the number of days prior to the Release Date if only one party has effectively provided the Timely Statement to the other party. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(iii): CE End Date. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(ii): CME End Date. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): CE End Date."> + + daysAfterCustodianEvent CustomisableOffset (1..1) <"The parties' election to specify the number of days after the occurrence of the Custodian Event (English Law & New York Law ISDA CSA) or the Collateral Management Event (Japanese Law ISDA CSA) for the purpose of qualifying the CE/CME End Date."> + // TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `after` + [synonym ISDA_Create_1_0 value "days_after_custodian_event"] + releaseDate CustomisableOffset (1..1) <"The parties' election to specify the number of days prior to the termination of the Control Agreement (English Law & New York Law ISDA CSA) or the Collateral Management Event (Japanese Law ISDA CSA) for the purpose of qualifying the CE/CME End Date, in the case where advance notice is given."> + // TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `release` + [synonym ISDA_Create_1_0 value "release_days"] + dateOfTimelyStatement CustomisableOffset (1..1) <"The parties' election to specify the number of days one party has effectively provided the Timely Statement to the other party."> + [synonym ISDA_Create_1_0 value "days_after_timely_statement"] + +// TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `timely` or `date_of_timely` +type CustodianRisk: <"A class to specify the Custodian Risk elections specific to a Credit Support Agreement."> + + partyElection CustodianRiskElection (1..2) <"The party specific elections."> + +type CustodianRiskElection: <"A class to specify the Custodian Risk (English Law and New York Law ISDA CSA) and the Collateral Manager Risk (Japanese Law ISDA CSA) election. | ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk. | ISDA 2018 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(i): Collateral Manager Risk. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk."> + + party string (0..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_custodian_risk" = "other", set to "partyA" when "partyA_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_custodian_risk" = "other", set to "partyB" when "partyB_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_collateral_manager_risk" = "other", set to "partyA" when "partyA_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_collateral_manager_risk" = "other", set to "partyB" when "partyB_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_clearstream_risk" = "other", set to "partyA" when "partyA_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_clearstream_risk" = "other", set to "partyB" when "partyB_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_euroclear_risk" = "other", set to "partyA" when "partyA_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_euroclear_risk" = "other", set to "partyB" when "partyB_euroclear_risk" = "not_specified"] + isSpecified boolean (1..1) <"The qualification as to whether the risk is deemed as Specified."> + [synonym ISDA_Create_1_0 set to True when "partyA_custodian_risk" = "other", set to False when "partyA_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_custodian_risk" = "other", set to False when "partyB_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_collateral_manager_risk" = "other", set to False when "partyA_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_collateral_manager_risk" = "other", set to False when "partyB_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_clearstream_risk" = "other", set to False when "partyA_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_clearstream_risk" = "other", set to False when "partyB_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_euroclear_risk" = "other", set to False when "partyA_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_euroclear_risk" = "other", set to False when "partyB_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_6b" = "specified", set to False when "paragraph_6b" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_6a" = "specified", set to False when "paragraph_6a" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_5_2" = "specify", set to False when "paragraph_5_2" = "not_specified"] + qualification string (0..1) <"The Custodian Risk (English Law and New York Law ISDA CSA) or Collateral Manager Risk (Japanese Law ISDA CSA) qualification. This attribute is optional because the Custodian Risk provision can be deemed as 'Specified', although not be qualified through this attribute."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + [synonym ISDA_Create_1_0 value "paragraph_6b_specify" set when "paragraph_6b" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_6a_specify" set when "paragraph_6a" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_5_2_specify" set when "paragraph_5_2" = "specify"] + + + condition Specified: <"The Custodian Risk (English Law and New York Law ISDA CSA) or Collateral Manager Risk (Japanese Law ISDA CSA) should only be qualified if that risk is deemed 'specified'."> + if isSpecified = False + then qualification is absent + +type CustodianTerms: <"A class to specify the requirements applicable to the custodian with respect to the holding of posted collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(i): Eligibility to Hold Posted Collateral (VM) Custodians (VM)."> + [synonym FpML_5_10 value "CustodianTerms"] + + /* + * This class leverages the FpML representation for the ISDA Standard CSA for the purpose of normalizing the election + * in the ISDA CSA 2016 for Variation Margin, Paragraph 13, (h)(i)(2). + */ + minimumAssets Money (0..1) <"The minimal level of assets requirement with respect to the custody agent."> + [synonym FpML_5_10 value "minimumAssets"] + minimumRating CreditNotations (0..1) <"The minimal rating requirement with respect to the custody agent."> + [synonym FpML_5_10 value "minimumRating"] + initialDesignation LegalEntity (0..1) <"The 2016 ISDA CSA for Variation Margin provides the ability for the parties to specify the initial custodian."> + +type CustodyArrangements: <"A class to specify the Custody Arrangements for the agreement."> +// <"A class to specify the Custody Arrangements for the English Law and New York Law ISDA Credit Support Annex. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Custody Arrangements."> + isCreditSupportDocument boolean (0..1) <"Unless specified as True, the Control Agreement is not a Credit Support Document under the agreement with respect to a party. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 6 (e): The Control Agreement as a Credit Support Document."> + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->definition" = "creditSupportDocument", + set to False when "control_agreement_as_a_credit_support_document->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "collateral_management_agreement_as_a_credit_support_document->definition" = "creditSupportDocument", + set to False when "collateral_management_agreement_as_a_credit_support_document->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->definition" = "creditSupportDocument", + set to False when "euroclear_agreements_as_credit_support_documents->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->definition" = "creditSupportDocument", + set to False when "clearstream_agreements_as_credit_support_documents->definition" = "not_specified"] + hasControlAgreementLanguage boolean (0..1) <"Control Agreement language is specified when True."> + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->include_language" = "include", set to False when "relationship_with_the_control_agreement->include_language" = "exclude"] + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_collateral_management_agreement->include_language" = "include", + set to False when "relationship_with_the_collateral_management_agreement->include_language" = "exclude"] + // TODO - add Condition for hasControlAgreement - include when 2016, exclude when 2018 (captured under CustodyArrangementsElection) + otherProvisions string (0..1) <"ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(vii): Other Provisions."> + [synonym ISDA_Create_1_0 value "specify" path "other_provisions" set when "other_provisions->specify_provisions" = "specify"] + // TODO - add Condition for otherProvisions - include when 2016, exclude when 2018 (captured under CustodyArrangementsElection) + collateralAccessBreach CollateralAccessBreach (0..1) <"The elections specific to Collateral Access Breach language"> + [synonym ISDA_Create_1_0 value "collateral_access_breach_additional_termination_event"] + [synonym ISDA_Create_1_0 value "collateral_access_breach"] + custodianRisk CustodianRisk (0..1) <"The qualification of the Custodian Risk. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk."> + [synonym ISDA_Create_1_0 value "custodian_risk"] + [synonym ISDA_Create_1_0 value "collateral_manager_risk"] + [synonym ISDA_Create_1_0 value "euroclear_risk"] + [synonym ISDA_Create_1_0 value "clearstream_risk"] + controlAgreement ControlAgreement (0..1) <"The party-specific election with respect to the control agreement."> + custodianEvent CustodianEvent (1..1) <"When specified as True, means that the Custodian Events specified in Paragraph 13 General Principles, (m)(iii) will constitute an Additional Termination Event. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(iii): Custodian Event."> + custodian Custodian (0..1) <"The custodian and segregated account details for each party to the agreement."> + collateralManagementAgreeement CollateralManagementAgreement (0..1) <"ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(i): Collateral Management Agreement."> + [synonym ISDA_Create_1_0 value "collateral_management_agreement"] + distributionAndInterestPayment DistributionAndInterestPayment (0..1) <"The Distributions and Interest Payment as part of the Japanese Law ISDA CSA. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM)."> + +type CustomisableOffset: <"A class to specify an offset either as a normalized [multiplier, period, dayType] or as a custom provision of type string."> + + offset Offset (0..1) + customProvision string (0..1) + +type DeliveryAmount: <"A class to specify the application of Interest Amount with respect the Delivery Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + standardElection DeliveryAmountElectionEnum (0..1) <"The standard election as specified by an enumeration."> + [synonym ISDA_Create_1_0 value "delivery_amount"] + customElection string (0..1) <"The custom election that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify_delivery_amount"] + condition: one-of + +type DisputeResolution: <"A class to specify the election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support. Parties can specify such election either through a business center time or through a custom election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (h): Dispute Resolution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution."> + + resolutionTime BusinessCenterTime (0..1) <"The time by which the dispute needs to be resolved, failure of which would trigger a recalculation alongside a process that is specified as part of the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g)(i): Resolution Time. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (g)(i): Resolution Time."> + [synonym ISDA_Create_1_0 value "resolution_time" set when "resolution_time->specified" = "true"] + otherTerms string (0..1) <"The custom Resolution Time election that might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify" path "resolution_time" set when "resolution_time->specified" = "false"] + // condition: one-of //TODO replace condition when resolutionTime exists otherTerms is absent + recalculationOfValue RecalculationOfValue (0..1) <"The elections to specify terms for recalculation of the market value of posted collateral."> + [synonym ISDA_Create_1_0 value "recalculation_of_value"] + [synonym ISDA_Create_1_0 value "recalculation_of_market_value"] + +type DistributionAndInterestPayment: <"A class to specify the Distributions and Interest Payment provisions applicable to the Japanese Law ISDA 2016 CSA for Initial Margin and the New York Law ISDA 2016 CSA for Variation Margin. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i): Distributions and Interest Payment (VM)."> + + interestRate EligibleCurrencyInterestRate (1..*) <"The interest rate associated with initial or variation margin collateral, depending upon the type of credit agreement that this election is associated with. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(i): Interest Rate (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(i): Interest Rate (VM)."> + [synonym ISDA_Create_1_0 value "eligible_currencies" path "interest_rate"] + interestPaymentTransfer boolean (1..1) <"The Interest Payment Transfer is applicable when True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Transfer of Interest Payment (IM) or application of Interest Amount (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 set to True when "interest_transfer->interest_transfer" = "applicable", set to False when "interest_transfer->interest_transfer" = "not_applicable"] + interestPaymentNetting boolean (1..1) <"The Interest Payment Netting is applicable when True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Transfer of Interest Payment (IM) or application of Interest Amount (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 set to True when "interest_payment_netting->interest_payment_netting" = "applicable", set to False when "interest_payment_netting->interest_payment_netting" = "not_applicable"] + interestAmount InterestAmount (1..1) <"The application of Interest Amount with respect to the Delivery Amount and the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + [synonym ISDA_Create_1_0 value "return_amount_delivery_amount"] + interestAdjustment InterestAdjustment (1..1) <"To election to specify whether the Interest Adjustment is applicable and what its periodicity is. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 value "interest_adjustment"] + negativeInterest boolean (1..1) <"Negative Interest is applicable when True, and not applicable when False. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Other Interest Elections. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iii): Other Interest Elections."> + [synonym ISDA_Create_1_0 set to True when "negative_interest->negative_interest" = "applicable", set to False when "negative_interes->negative_interest" = "not_applicable"] + dailyInterestCompounding boolean (1..1) <"Daily interest compounding is applicable when True, and not applicable when False. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Other Interest Elections. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iii): Other Interest Elections."> + [synonym ISDA_Create_1_0 set to True when "daily_interest_compounding->daily_interest_compounding" = "applicable", set to False when "daily_interest_compounding->daily_interest_compounding" = "not_applicable"] + alternativeProvision string (0..1 ) <"When the alternative provision clause is specified, it means that the ISDA CSA Japanese Law provisions specified in Paragraph 6(c)(ii) don't apply and are overwritten by this election. When it is not specified, it means that the ISDA CSA Japanese Law provisions specified in Paragraph 6(c)(ii) apply. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iv): Alternative to Interest Amount (IM) and Interest Payment (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iv): Alternative to Interest Amount (VM) and Interest Payment (VM)."> + [synonym ISDA_Create_1_0 value "specify" path "alternative_to_interest_amounts_and_interest_payment" set when "alternative_to_interest_amounts_and_interest_payment->specify_alternative" = "true"] + +// Note: Threshold, MinimumTransferAmount and MinimumTransferAmountAmendment class map to this one +type ElectiveAmountElection: <"A class to specify the party elective amounts which can be used for the purpose of specifying elections such as the ISDA CSA Threshold and Minimum Transfer Amount."> + + party string (1..1) <"The elective party."> + zeroAmount boolean (1..1) <"A boolean election to express that the elective amount is zero (True) or another value (False)."> + amount Money (0..1) <"The elective amount when expressed as a currency amount. The associated PartyElectiveAmount_amount data rule enforces that the currency amount is actually greater than 0."> + customElection string (0..1) <"The elective amount when expressed as a custom election by the party."> + + condition NonZeroAmount: <"When the elective amount is not zero either a currency amount or a custom election must exist."> + if zeroAmount = False then (amount or customElection) exists + +type EligibilityToHoldCollateral: <"A class to specify the conditions under which a party and its custodian(s) are entitled to hold collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(i): Eligibility to Hold Posted Collateral (VM) Custodians (VM)."> + [synonym FpML_5_10 value "EligibilityToHoldCollateral"] + /* + * This class leverages work in the context of the FpML representation for the ISDA Standard CSA for the purpose of normalizing this election + * Those provisions go beyond what is specified as part of the 2016 CSA, which election has not yet been normalized + */ + partyTerms HoldingPostedCollateralEnum (1..*) <"The condition(s) required by a party from the other party to hold its posted collateral."> + [synonym FpML_5_10 value "holdingPostedCollateral"] + custodianTerms CustodianTerms (0..1) <"The restrictions that might be required by a party from the other party's custodian agent to hold its posted collateral."> + [synonym FpML_5_10 value "custodianTerms"] + eligibleCountry string (0..*) <"The restrictions that might be required by a party from the other party in terms of country(ies) where collateral can be held."> + [metadata scheme] + [synonym FpML_5_10 value "eligibleCountry"] + +type EligibleCollateralVariationMarginElection: <"A class to specify the parties' elections with respect to the eligible collateral for each of the respective parties when acting as a pledgor/chargor/obligor. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + + party Party (1..1) <"The elective party."> + [metadata reference] + eligibleCollateral EligibleCollateral (1..*) <"The eligible collateral for the specified party (acting as the Pledgor in the New York Law agreement, as the Chargor in the English Law deed and as the Obligor in the Japanese Law agreement). ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + +type EligibleCollateralVariationMargin: <"A class to specify the eligible collateral elections by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + + // TODO: change cardinality to (2..2) when Ingestion process is able to support normalising external models (https://trello.com/c/TnJWvKes) + partyElection EligibleCollateralVariationMarginElection (1..1) <"The parties' eligible collateral elections."> + +type EligibleCurrencyInterestRate: <"A class to specify the interest rate associated with initial margin collateral. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM)."> + + currency string (1..1) <"The eligible currency."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "eligible_currency"] + interestRate number (1..1) <"The interest rate associated with the eligible currency."> + [synonym ISDA_Create_1_0 value "interest_rate"] + actual365Currency string (1..1) // TODO - Need to clarify with Linklater what this attribute is + [synonym ISDA_Create_1_0 value "a365_currency"] + +type EnforcementEvent: <"A class to specify Enforcement Events specific to Security Agreements"> + + earlyTerminationDate boolean (1..1) <"The early termination election"> + [synonym ISDA_Create_1_0 set to True when "paid_in_full_language" = "include", set to False when "paid_in_full_language" = "exclude"] + failureToPay boolean (0..1) <"The failure to pay election"> + [synonym ISDA_Create_1_0 set to True when "failure_to_pay_early_termination_amount" = "applicable", set to False when "failure_to_pay_early_termination_amount" = "not_applicable"] + +type ExecutionLanguage: <"A class to specify execution language terms of a Security Agreement."> + standardLanguage boolean (1..1) <"A boolean attribute to determine if standard language is applicable or not"> + [synonym ISDA_Create_1_0 set to True when "execution_language" = "standard_language", set to False when "execution_language" = "other_execution_language"] + numberOfOriginals string (0..1) <"The number of original documents"> + [synonym ISDA_Create_1_0 value "number_of_originals"] + otherLanguage string (0..1) <"Bespoke execution language to be included when specified."> + [synonym ISDA_Create_1_0 value "specify_execution_language"] + + condition numberOfOriginals: <"A data rule to enforce that the number of original documents should only be specified when standard execution language is used."> + if standardLanguage = False + then numberOfOriginals is absent + + condition otherLanguage: <"A data rule to enforce that bespoke execution language must be included if non-standard execution language is specified."> + if standardLanguage = False + then otherLanguage exists + +type ExecutionLocation: <"A class to specify execution location terms of a Security Agreement"> + executionLocation ExecutionLocationEnum (1..1) <"The execution location of the agreement"> + [synonym ISDA_Create_1_0 value "location_of_execution"] + otherLanguage string (0..1) <"Bespoke execution location language to be included when specified."> + [synonym ISDA_Create_1_0 value "specify_location_of_execution"] + dutyPayer string (0..1) <"The payer of documentary duty"> + [synonym ISDA_Create_1_0 set to "PartyA" when "documentary_duty_payer" = "party_A", + set to "PartyB" when "documentary_duty_payer" = "party_B", + set to "Specify" when "documentary_duty_payer" = "other"] + dutyPayerLanguage string (0..1) <"Bespoke terms specific to the payment of documentary duty"> + [synonym ISDA_Create_1_0 value "specify_documentary_duty_payer"] // path "documentary_duty_payer"] + dutyPaymentDate date (0..1) <"The date that documentary duty will be paid"> + [synonym ISDA_Create_1_0 value "select_documentary_duty_date"] // set when "documentary_duty_date" = "select" + dutyPaymentLanguage string (0..1) <"Bespoke terms specific to the date that documentary duty will be paid"> + [synonym ISDA_Create_1_0 value "specify_documentary_duty_date_datepicker" set when "documentary_duty_date" = "other"] + +// TODO Data Rule required to enforce that Duty Payer should be absent if LocationEnum is ExecutedOutsideBelgium or Other (OR included if Enum is ExecutedInBelgium) + // condition dutyPayer: <"A data rule to enforce that Duty Payer language should be absent when the document is executed outside of Belgium."> + // if executionLocation = ExecutionLocationEnum->ExecutedOutsideBelgium + // then dutyPayer and dutyPayerLanguage and dutyPaymentDate and dutyPaymentLanguage is absent + + condition dutyPayerLanguage: <"A data rule to enforce that Duty Payer Language should only be specified when required"> + if dutyPayer = "Specify" + then dutyPayerLanguage exists + + condition dutyPaymentLanguage: <"A data rule to enforce that Duty Payment Language should be absent when a Duty Payment date is provided"> + if dutyPaymentDate exists then dutyPaymentLanguage is absent + + condition otherLanguage: <"A data rule to enforce that bespoke execution language must be included if non-standard execution language is specified."> + if executionLocation = ExecutionLocationEnum->OtherLocation + then otherLanguage exists + +type ExecutionTerms: <"A class to specify execution location and language of execution to determine duty to be paid."> + executionLanguage ExecutionLanguage (1..1) <"The bespoke execution language election."> + executionLocation ExecutionLocation (1..1) <"The bespoke execution location election."> + +type FrenchLawAddendum: <"A class to specify party specific elections when a Collateral Transfer Agreement is governed by French Law."> + + isApplicable boolean (1..1) <"The qualification of whether the French Law Addendum is deemed applicable by the parties (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + partyElection FrenchLawAddendumElection (2..2) <"The parties French Law Addendum Elections."> + + condition Applicable: <"A data rule to enforce that the French Law Addendum party elections must be specified when applicable."> + if isApplicable = True + then partyElection exists + +type FrenchLawAddendumElection: <"A class to specify party specific French Law Addendum language"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_french_law_addendum" = "specify", set to "partyA" when "partyA_french_law_addendum" = "not_applicable", + set to "partyB" when "partyB_french_law_addendum" = "specify", set to "partyB" when "partyB_french_law_addendum" = "not_applicable"] + isApplicable boolean (1..1) <"The qualification of whether the party elects specific language"> + [synonym ISDA_Create_1_0 set to True when "partyA_french_law_addendum" = "specify", set to False when "partyA_french_law_addendum" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_french_law_addendum" = "specify", set to False when "partyB_french_law_addendum" = "not_applicable"] + addendumLanguage string (0..1) <"The party specific language to be included in the agreement."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + + condition AddendumLanguage: <"A data rule to enforce that the French Law Addendum party language must be specified when applicable."> + if isApplicable = True then addendumLanguage exists + else if isApplicable = False then addendumLanguage is absent + +type FxHaircutCurrency: <"A class to specify the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + + isTerminationCurrency boolean (1..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is the Termination Currency when the Boolean value is set to True."> + [synonym ISDA_Create_1_0 set to True when "is_termination_currency" = "terminationCurrency", set to False when "is_termination_currency" = "fxCurrency"] + fxDesignatedCurrency string (0..1) <"When specified, the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "fx_designated_currency"] + + condition TerminationCurrency: <"The FX Designated Currency shouldn't be specified when the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is specified as the Termination Currency."> + if isTerminationCurrency = True + then fxDesignatedCurrency is absent + + condition FxDesignatedCurrency: <"The FX Designated Currency should be specified when the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is specified as not being the Termination Currency."> + if isTerminationCurrency = False + then fxDesignatedCurrency exists + +type GeneralSimmElections: <"A class to specify the ISDA SIMM as the Method for all Covered Transactions with respect to all Regimes. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ee)."> + + simmVersion SimmVersion (0..1) <"The qualification of the ISDA SIMM version that is specified for all Covered Transactions as specified by ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles, (ee)(1)."> + // ISDA Create for the 2016 IM NY Law only has the election for the SIMM calculation currency + [synonym ISDA_Create_1_0 value "version_of_ISDA_SIMM"] + simmCalculationCurrency SimmCalculationCurrency (1..1) <"The SIMM Calculation Currency, as specified for each of the parties to the CSA Initial Margin. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ee)(3)."> + [synonym ISDA_Create_1_0 value "simm_calculation_currency"] + +type HoldingAndUsingPostedCollateral: <"A class to specify the elections for the holding and using of posted collateral by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + + // TODO: change cardinality to (2..2) when Ingestion process is able to support normalising external models (https://trello.com/c/TnJWvKes) + partyElection HoldingAndUsingPostedCollateralElection (1..1) <"The parties' elections for the holding and using of posted collateral."> + +type HoldingAndUsingPostedCollateralElection: <"A class to specify the parties' elections related to the holding and using of posted collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + [synonym FpML_5_10 value "HoldingAndUsingPostedCollateral"] + + party Party (1..1) <"The elective party."> + [metadata reference] + [synonym FpML_5_10 value "partyReference"] + eligibilityToHoldCollateral EligibilityToHoldCollateral (1..1) <"The specification of the conditions under which a party and its custodian(s) are entitled to hold posted collateral."> + [synonym FpML_5_10 value "eligibilityToHoldCollateral"] + useOfPostedCollateral boolean (1..1) <"Specifies whether the party to the agreement has the right to rehypothecate the collateral held (True), i.e. whether the condition specified in Paragraph 6, (c) of the ISDA 2016 Credit Support Annex for Variation Margin apply. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(ii): Use of Posted Collateral (VM)."> + [synonym FpML_5_10 value "useOfPostedCollateral"] + +type IneligibleCreditSupport: <"A class to specify the parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + + specifiedParty Party (0..2) <"The parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to, as the Secured Party. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + [metadata reference] + +type InterestAdjustment: <"A class to specify whether the Interest Adjustment is applicable and what its periodicity is. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + isApplicable boolean (1..1) <"The Interest Adjustment is applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + periodicity InterestAdjustmentPeriodicity (1..1) <"The qualification of the Interest Adjustment periodicity."> + +type InterestAdjustmentPeriodicity: <"A class to specify the Interest Adjustment periodicity either through a standardized election or a custom one. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + standardElection InterestAdjustmentPeriodicityEnum (0..1) <"The Interest Adjustment periodicity when specified through a standardized election."> + [synonym ISDA_Create_1_0 value "timing"] + customElection string (0..1) <"The Interest Adjustment periodicity when specified through a custom election."> + [synonym ISDA_Create_1_0 value "specify" set when "timing" = "other"] + condition: one-of + +type InterestAmount: <"A class to specify the application of Interest Amount with respect to the Delivery Amount and the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + returnAmount ReturnAmount (1..1) <"The application of Interest Amount with respect the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + deliveryAmount DeliveryAmount (1..1) <"The application of Interest Amount with respect the Delivery Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + +type JapaneseSecuritiesProvisions: <"A class to specify Japanese Securities Provision elections."> + + isApplicable boolean (1..1) <"Japanese Securities Provisions are applicable when True and Not Applicable when False"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + relevantProvisionsElection boolean (0..1) <"Recommended Japanese Securities Provisions are applicable when True, additional Provisions are specified when False"> + [synonym ISDA_Create_1_0 set to True when "relevant_provisions" = "recommended_japanese", set to False when "relevant_provisions" = "specified"] + relevantProvisionsTerms string (0..1) <"Specific terms applicable to Recommended Japanese Securities Provisions"> + [synonym ISDA_Create_1_0 value "relevant_specify"] + amendmentsToJapaneseProvisions boolean (0..1) <"Additional Amendments to Japanese Securities Provisions are specified when True, and not specified when False"> + [synonym ISDA_Create_1_0 set to True when "amendments_to_japanese_provisions" = "amendments_specify", set to False when "amendments_to_japanese_provisions" = "amendments_not_specified"] + amendmentsToJapaneseProvisionsTerms string (0..1) <"Specific terms applicable to Additional Amendments to Japanese Securities Provisions"> + [synonym ISDA_Create_1_0 value "amendments_specify" maps 2] // TODO: remove "maps 2" once migration complete + + condition relevantProvisionsElection: <"A data rule to enforce that the specific terms applicable to Recommended Japanese Securities Provisions should be specified when required"> + if relevantProvisionsElection = True + then relevantProvisionsTerms is absent + + condition amendmentsToJapaneseProvisions: <"A data rule to enforce that the specific terms applicable to Additional Amendments to Japanese Securities Provisions should be specified when required"> + if amendmentsToJapaneseProvisions = False + then amendmentsToJapaneseProvisionsTerms is absent + +type JurisdictionRelatedTerms: <"A class to specify terms jurisdiction related terms."> + japaneseSecuritiesProvisions JapaneseSecuritiesProvisions (0..1) <"The Japanese Securities Provisions election."> + // [documentReference ISDAEuroclear CtaInitialMargin 2019 paragraph "13" section "19 (c)"] + [synonym ISDA_Create_1_0 value "japanese_securities_provisions"] + [synonym ISDA_Create_1_0 value "japanese_collateral_provisions"] + exclusiveJurisdiction boolean (0..1) <"Classification of optional exclusive jurisdiction terms"> + [synonym ISDA_Create_1_0 set to True when "jurisdiction->exclusive_jurisdiction" = "applicable", set to False when "jurisdiction->exclusive_jurisdiction" = "not_applicable"] + juryWaiver boolean (0..1) <"The Jury Waiver conditions specific to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "19 (b)"] + [synonym ISDA_Create_1_0 set to True when "jury_waiver->is_applicable" = "applicable", set to False when "jury_waiver->is_applicable" = "not_applicable"] + frenchLawAddendum FrenchLawAddendum (0..1) <"The French Law Addendum Provisions specific to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "19 (d)"] + [synonym ISDA_Create_1_0 value "french_law_addendum"] + +type LegalAgreement extends LegalAgreementBase: <"A class to specify the elections and variables that characterize a legal agreement."> + [metadata key] + [rootType] + + // agreementQualifier agreementType (0..1) <"The CDM agreement qualifier, which corresponds to the outcome of the isContract qualification logic. This value is derived by the CDM from the contract features."> + agreementTerms AgreementTerms (0..1) <"The set of elections specific to the contract"> + + condition agreementVerification: <"A validation rule to ensure that the agreement elections are associated with the correct legal agreement type as specified."> + if agreementTerms -> agreement -> securityAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->SecurityAgreement + + else if agreementTerms -> agreement -> creditSupportAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->CreditSupportDeed or agreementType -> name = LegalAgreementNameEnum->CreditSupportAnnex + + else if agreementTerms -> agreement -> collateralTransferAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->CollateralTransferAgreement + +type LegalAgreementBase: <"A class describing the legal agreement baseline information, other than the specialized elections: type of legal agreement, agreement date and effective date, parties to the agreement, ... The purpose of this abstract class is to provide the ability to associate a 'one of' feature to the LegalAgreement class as a way to enforce a systematic choice between its attributes."> + + agreementDate date (1..1) <"The date on which the legal agreement has been agreed between the parties. This corresponds to the Date of Deed in an English Law document."> + [synonym FpML_5_10 value "agreementDate" path "legalDocumentHeader"] + [synonym ISDA_Create_1_0 value "executionDate" path "answers->partyA->execution_date"] + [synonym ISDA_Create_1_0 value "collateral_transfer_agreement_date"] + [synonym ISDA_Create_1_0 value "master_agreement_date"] + [synonym ISDA_Create_1_0 value "partyA_date_of_security_agreement"] + [synonym ISDA_Create_1_0 value "partyB_date_of_security_agreement"] + effectiveDate date (0..1) <"The date on which the agreement is effective, if different from the agreement date. It is expected that it will most often correspond to the agreement date, although there could be situations where the parties will explicitly agree on a distinct effective date."> + [synonym FpML_5_10 value "effectiveDate" path "legalDocumentHeader"] + identifier Identifier (0..*) <"The legal agreement identifier. Several identifiers can be specified."> + [synonym FpML_5_10 value "partyDocumentIdentifier" path "legalDocumentHeader"] + lineage Lineage (0..1) <"The lineage into prior versions of this legal agreement or into other legal agreements that might be referenced by it."> + agreementType LegalAgreementType (1..1) <"The type of legal agreement, identified via a set of distinct attributes: name, publisher, governing law and version, e.g. ISDA 2013 Standard Credit Support Annex English Law."> + [synonym FpML_5_10 value "documentType"] + contractualParty Party (2..2) <"The two contractual parties to the legal agreement, which reference information is positioned as part of the partyInformation attribute."> + [metadata reference] + [synonym FpML_5_10 value "party"] + otherParty PartyRole (0..*) <"The role(s) that other party(ies) may have in relation to the legal agreement, further to the contractual parties."> + partyInformation Party (2..*) <"The information about the parties involved with the legal agreements, which consists of both the contractual parties and the parties that might be involved in relation to some other roles (e.g. custody agent)."> + [synonym ISDA_Create_1_0 value "answers" mapper "PartyInformation"] + +type LegalAgreementType: <"A class to specify the type of legal agreement, which is extended by each legal agreement instance, such as the ISDA 2016 CSA for Initial Margin."> + [synonym FpML_5_10 value "LegalDocumentType"] + + name LegalAgreementNameEnum (1..1) <"The legal agreement name, e.g. Credit Support Annex for Variation Margin."> + [synonym FpML_5_10 value "name"] + [synonym AcadiaSoft_AM_1_0 value "documentName"] + [synonym ISDA_Create_1_0 value "documentType" path "document"] + publisher LegalAgreementPublisherEnum (1..1) <"The legal agreement publisher, e.g. ISDA."> + [synonym FpML_5_10, AcadiaSoft_AM_1_0 value "publisher"] + [synonym ISDA_Create_1_0 value "publisher" path "document"] + governingLaw GoverningLawEnum (0..1) <"The law governing the legal agreement, e.g. English Law, New York Law or Japanese Law."> + [synonym FpML_5_10 value "style"] + [synonym AcadiaSoft_AM_1_0 value "governingLaw"] + [synonym ISDA_Create_1_0 value "governingLaw" path "document"] + vintage string (0..1) <"In the case where successive definitions of the legal agreement have been developed, the vintage identification. This is typically (but not necessarily) done by referencing the year, e.g. 2013 in the case of the ISDA 2013 Standard Credit Support Annex."> + [synonym FpML_5_10, FpML_5_10 value "version"] + [synonym AcadiaSoft_AM_1_0 value "csaVersion"] + [synonym ISDA_Create_1_0 value "year" path "document"] + [synonym ISDA_Create_1_0 value "isda_master_agreement_form"] + +type MarginApproach: <"A class for selection of Margin Approach."> + + marginApproach MarginApproachEnum (1..1) + [synonym ISDA_Create_1_0 value "approach_selection"] + +type MinimumTransferAmount: <"A class to specify amount of exposure reached before collateral has to be posted or returned. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(B): Minimum Transfer Amount. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount."> + + partyElection ElectiveAmountElection (2..2) <"The parties' minimum transfer amount elections."> + +type MinimumTransferAmountAmendment: <" A class to specify whether Amendment to Minimum Transfer Amount language is applicable or not"> + + isApplicable boolean (1..1) <"The definition of Minimum Transfer Amount in any Other Regulatory CSA will be amended when applicable."> + [synonym ISDA_Create_1_0 set to True when "amendment_to_minimum_transfer_amount_is" = "applicable", set to False when "amendment_to_minimum_transfer_amount_is" = "not_applicable"] + effectiveDate AmendmentEffectiveDate (0..1) <"The effective date of the Amendment to Termination Currency."> + partyElections ElectiveAmountElection (0..2) <"The party elective amounts."> + + condition AmendmentNotApplicable: <"A data rule to enforce that the Effective Date and Party Elections should be absent when the Minimum Transfer Amount Amendment is stated as not specified for the agreement."> + if isApplicable = False + then effectiveDate is absent and partyElections is absent + + condition AmendmentApplicable: <"A data rule to enforce that the Effective Date and Party Elections should be absent when the Minimum Transfer Amount Amendment is stated as not specified for the agreement."> + if isApplicable = True + then effectiveDate exists and partyElections exists + +type MultipleCreditNotations: <"A class to specify multiple credit notations alongside a conditional 'any' or 'all' qualifier."> + + condition QuantifierEnum (1..1) <"An enumerated element, to qualify whether All or Any credit notation applies."> + [synonym FpML_5_10 value "condition"] + creditNotation CreditNotation (2..*) <"At least two credit notations much be specified."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "creditNotation"] + mismatchResolution CreditNotationMismatchResolutionEnum (0..1) + referenceAgency CreditRatingAgencyEnum (0..1) + + condition ReferenceAgency: <"If the mismatch resolution is ReferenceAgency, ensure that the reference agency is specified."> + if MultipleCreditNotations -> mismatchResolution = CreditNotationMismatchResolutionEnum -> ReferenceAgency + then MultipleCreditNotations -> referenceAgency exists + +type MultipleDebtTypes: <"A class to specify multiple credit debt types alongside a conditional 'any' or 'all' qualifier."> + + condition QuantifierEnum (1..1) <"An enumerated attribute, to qualify whether All or Any debt type applies."> + [synonym FpML_5_10 value "condition"] + debtType string (2..*) <"The type of debt, e.g. long term debt, deposit, ... FpML doesn't specific a scheme value, hence no enumeration is specified as part of the CDM. At least two debt types much be specified."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "debtTypeScheme"] + +type NotificationTime: <"A class to specify the time by which a demand for the Transfer of Eligible Credit Support (IM) or Posted Credit Support (IM) needs to be made in order for the transfer to take place in accordance with the Transfer Timing provisions. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iii): Notification Time. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time."> + + partyElections NotificationTimeElection (2..2) <"The parties' Notification Time election."> + disputeNotificationReference boolean (0..1) <"The determination of whether reference is made to dispute resolution notification timing in the agreement."> + [synonym ISDA_Create_1_0 set to True when "include_reference_to_41a_is_applicable" = "applicable", set to False when "include_reference_to_41a_is_applicable" = "not_applicable"] + transferTimingProviso boolean (0..1) <"The determination of whether transfer timing language is applicable or not."> + [synonym ISDA_Create_1_0 set to True when "inclusion_of_proviso_for_transfer_timing_is_applicable" = "applicable", + set to False when "inclusion_of_proviso_for_transfer_timing_is_applicable" = "not_applicable"] + +type NotificationTimeElection: <"A class to specify the notification time election by the respective parties to the agreement. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iii): Notification Time. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_notification_time" = "false", set to "partyA" when "partyA_notification_time" = "true"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_notification_time" = "false", set to "partyB" when "partyB_notification_time" = "true"] + notificationTime BusinessCenterTime (0..1) <"The Notification Time as a time that is qualified as a standard business center."> + customNotification string (0..1) <"The Notification Time as a custom election."> + [synonym ISDA_Create_1_0 value "partyA_specify" set when "partyA_notification_time" = "false"] + [synonym ISDA_Create_1_0 value "partyB_specify" set when "partyB_notification_time" = "false"] + + condition Choice: <"The Notification Time is specified either as a time that is qualified by a standard business center or as a custom election."> + required choice notificationTime, customNotification + +type OneWayProvisions: <"A class to specify whether One Way Provisions apply in relation to the ISDA CSA for Initial Margin and, if yes, to specify the Posting Party. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles (aa): One Way Provisions."> + + isApplicable boolean (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + postingParty string (0..1) <"The Posting Party for the purposes of One Way Provisions. It is specified in the case where the One Way Provision is deemed applicable."> + [synonym ISDA_Create_1_0 value "posting_party"] + + condition PostingPartyExists: <"A data rule to enforce that the Posting Party must be specified in the case where the One Way Provision is deemed applicable."> + if isApplicable = True + then postingParty exists + + condition PostingPartyAbsent: <"A data rule to enforce that the Posting Party must not be specified in the case where the One Way Provision is not deemed applicable."> + if isApplicable = False + then postingParty is absent + +type OtherAgreements: <"A class to specify a related legal agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (s): Other CSA and Japanese Law CSA (VM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (o): Other CSA."> + + isSpecified boolean (1..1) <"The qualification of whether some other related agreement is specified (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "specify_japanese_law_csa_vm" = "true", set to False when "specify_japanese_law_csa_vm" = "false"] + [synonym ISDA_Create_1_0 set to True when "specify_other_csa" = "true", set to False when "specify_other_csa" = "false"] + legalDocument string (0..1) <"The specification of this other agreement, when the qualification is True."> + [synonym ISDA_Create_1_0 value "specify"] + + condition LegalDocumentNotSpecified: <"A data rule to enforce that the related legal agreement should not be referenced if it is deemed as not specified as part of the boolean attribute."> + if isSpecified = False + then legalDocument is absent + + condition LegalDocumentSpecified: <"A data rule to enforce that the related legal agreement should be referenced if it is deemed as specified as part of the boolean attribute."> + if isSpecified = True + then legalDocument exists +// TODO - Need to associate a more meaningful definition to the below class and attribute. I couldn't find anything as part of the CSA terms. +type OtherEligibleAndPostedSupport: <"A class to specify the Other Eligible Support elections associated Initial and Variation margin agreements."> + + otherEligibleSupport string (0..1) <"The Other Eligible Support election. If not specified, this election is deemed as not applicable."> + [synonym ISDA_Create_1_0 value "eligible_support_specify" path "other_eligible_support" set when "other_eligible_support->other_eligible_support" = "specify"] + [synonym ISDA_Create_1_0 value "other_eligible_support" path "eligible_support"] + applicableValue boolean (1..1) <"The definition of “Value” with respect to Other Eligible Support (IM) and Other Posted Support (IM)."> + [synonym ISDA_Create_1_0 set to True when "support_value->is_applicable" = "applicable", set to False when "support_value->is_applicable" = "not_applicable"] + applicableTransfer boolean (0..1) <"The definition of “Transfer” with respect to Other Eligible Support (IM) and Other Posted Support (IM)."> + [synonym ISDA_Create_1_0 set to True when "support_transfer->is_applicable" = "applicable", set to False when "support_transfer->is_applicable" = "not_applicable"] + +type PartyAgreementIdentifier: <"A class defining a legal agreement identifier issued by the indicated party."> + [metadata key] + // TODO Never referenced in CDM + [synonym FpML_5_10 value "PartyDocumentIdentifier" meta "id"] + + partyReference string (1..1) <"Reference to the party that issued the document identifier."> + [synonym FpML_5_10 value "partyReference"] + documentIdentifier Identifier (1..*) <"While FpML specifies the document identifier with a value and an associated scheme, the CDM makes use of the Identifier, which has an explicit issuer. The issuer of this identifier is not necessarily the same as the party reference."> + [metadata scheme] + [synonym FpML_5_10 value "documentId" meta "legalDocumentIdScheme"] + +type PostingObligations: <"A class to specify the security provider(s) collateral posting obligations as specified under the terms of the New York Law ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)."> + + securityProvider string (1..1) + [synonym ISDA_Create_1_0 value "pledgor"] + [synonym ISDA_Create_1_0 value "chargor"] + [synonym ISDA_Create_1_0 value "obligor"] + [synonym ISDA_Create_1_0 value "security_provider"] + partyElection PostingObligationsElection (1..2) <"The security provider party(ies) to which the posting obligations apply to, which can be either one of the parties to the legal agreement, or both of those."> + +type PostingObligationsElection: <"A class to specify the collateral posting obligations as specified under the terms of the ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "PartyA" when "partyA_type" = "control_agreement", set to "PartyA" when "partyA_type" = "collateral_management_agreement", set to "PartyA" when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 set to "PartyB" when "partyB_type" = "control_agreement", set to "PartyB" when "partyB_type" = "collateral_management_agreement", set to "PartyB" when "partyB_type" = "specify"] + asPermitted boolean (1..1) <"If set to True, the Control Agreement is a Credit Support Document with respect to the party(ies). ISDA 2016 Credit Support Annex for Initial Margin, paragraph 6, (e)."> + [synonym ISDA_Create_1_0 set to True when "partyA_type" = "control_agreement", set to True when "partyA_type" = "collateral_management_agreement", set to False when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 set to True when "partyB_type" = "control_agreement", set to True when "partyB_type" = "collateral_management_agreement", set to False when "partyB_type" = "specify"] + eligibleCollateral EligibleCollateral (0..*) <"The eligible collateral as specified in relation to the pledgor/chargor/obligor(s) posting obligation. ISDA 2016 Credit Support Annex for Initial Margin, Eligible Credit Support (IM) Schedule."> + [synonym ISDA_Create_1_0 value "partyA_eligible_currencies" set when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 value "partyB_eligible_currencies" set when "partyB_type" = "specify"] + excludedCollateral string (0..1) <"The excluded collateral as specified in relation to the pledgor/chargor/obligor(s) posting obligation. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)(B)(i)."> // This representation matches the current ISDA Create one, but should be aligned with the eligibleCollateral representation once that one is confirmed + [synonym ISDA_Create_1_0 value "partyA_control_agreement_specify" set when "partyA_control_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyB_control_agreement_specify" set when "partyB_control_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyA_collateral_management_agreement_specify" set when "partyA_collateral_management_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyB_collateral_management_agreement_specify" set when "partyB_collateral_management_agreement" = "yey"] + additionalLanguage string (0..1) <"The additional language that might be specified by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "partyA_additional_language"] + [synonym ISDA_Create_1_0 value "partyB_additional_language"] + [synonym ISDA_Create_1_0 value "additional_language"] + + condition AsPermitted: <"A data rule to enforce that the eligible collateral should be specified when the Control Agreement is a Credit Support Document with respect to the party(ies)."> + if asPermitted = True + then eligibleCollateral is absent + + condition EligibleCollateral: <"A data rule to enforce that the eligible collateral shouldn't be specified when the Control Agreement isn't deemed a Credit Support Document with respect to the party(ies)."> + if asPermitted = False + then eligibleCollateral exists + +type ProcessAgent: <"A class to specify the Process Agent that might be appointed by the parties as part of a Credit Support Annex/Deed or Collateral Transfer Agreement."> + //<"A class to specify the Process Agent that might be appointed by the parties to the agreement in accordance with the ISDA 2016 English Law CSA, paragraph 11(h). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (t): Process Agent."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + + partyElection ProcessAgentElection (2..2) <"The parties' Process Agent election."> + +type ProcessAgentElection: <"A class to specify the parties' respective elections with respect to the Process Agent."> + + party string (1..1) <"The elective party."> + [synonym AcadiaSoft_AM_1_0 value "party"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_process_agent" = "not_applicable", set to "partyA" when "partyA_process_agent" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_process_agent" = "not_applicable", set to "partyB" when "partyB_process_agent" = "other"] + // TODO will need to streamline the parties here + isApplicable boolean (1..1) <"The qualification of whether the Process Agent is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "partyA_process_agent" = "other", set to False when "partyA_process_agent" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_process_agent" = "other", set to False when "partyB_process_agent" = "not_applicable"] + specification string (0..1) <"The Process Agent specification, when applicable."> + [synonym ISDA_Create_1_0 value "partyA_specify" maps 2] // TODO: remove "maps 2" once migration complete + [synonym ISDA_Create_1_0 value "partyB_specify" maps 2] // TODO: remove "maps 2" once migration complete + + condition Applicable: <"A data rule to enforce that the Process Agent must be specified when it is applicable."> + if isApplicable = True + then specification exists + + condition NotApplicable: <"A data rule to enforce that the Process Agent cannot be specified if deemed not applicable."> + if isApplicable = False + then specification is absent + +type RecalculationOfValue: <"A class to specify terms for Recalculation of the Market Value of Posted Collateral when a dispute has been failed to be resolved by Resolution Time."> + + partyElection RecalculationOfValueElection (2..2) <"The parties' Recalculation of Value terms."> + +type RecalculationOfValueElection: <"A class to specify Recalculation of Value terms that will be applicable"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_recalculation_of_value" = "consultation_procedure", set to "partyA" when "partyA_recalculation_of_value" = "other_regulatory_CSA_procedure"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_recalculation_of_value" = "other_regulatory_CSA_procedure"] + [synonym ISDA_Create_1_0 set to "partyA" when "recalculation_of_market_value" = "partyA_recalculation_of_market_value"] + [synonym ISDA_Create_1_0 set to "partyB" when "recalculation_of_market_value" = "partyB_recalculation_of_market_value"] + + recalculationOfValueElection RecalculationOfValueElectionEnum (1..1) <"The procedure for Recalculation of Value."> + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_value"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_value"] + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_market_value"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_market_value"] + + recalculationOfValueTerms string (0..1) <"Additional Recalculation of Value terms when specified"> + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_value_terms" set when "partyA_recalculation_of_value" = "other"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_value_terms" set when "partyB_recalculation_of_value" = "other"] + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_market_value_terms" set when "partyA_recalculation_of_market_value" = "other"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_market_value_terms" set when "partyB_recalculation_of_market_value" = "other"] + + condition recalculationOfValueTerms: <"A data rule to enforce that additional Recalculation of Value terms are only specified when applicable"> + if RecalculationOfValueElection exists + then recalculationOfValueTerms is absent + +type Regime: <"A class to specify one or more regimes that may be specified as relevant to a legal agreement. 2016/2018 ISDA Credit Support Annex for Initial Margin: Regime."> + [synonym AcadiaSoft_AM_1_0 value "Regime"] + + applicableRegime ApplicableRegime (1..*) <"A class to specify the regime(s) that parties to a legal agreement, such as the ISDA 2016 and 2018 CSA for Initial Margin, might agree to apply to one or both parties when acting as collateral taker, and specific terms associated with that application."> + [synonym ISDA_Create_1_0 value "canada", "sec", "cftc", "emir", "japan", "switzerland", "prudential", "australia", "hong_kong", "singapore" mapper "ApplicableRegime"] + fallbackToMandatoryMethodDays number (0..1) <"The specification of the number of days after effective delivery of notice that Mandatory method fallback applies. Specification is only required when one or more Regimes have Fall Back to Mandatory Method elected as a SIMM exception."> + [synonym ISDA_Create_1_0 value "fallback_to_mandatory_method_days" path "fallback_to_mandatory_method"] + additionalRegime AdditionalRegime (0..*) <"The additional regulatory regime(s) that might be specified by the parties to a legal agreement. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, General Principles, (ll): The parties may from time to time agree in writing that other regimes also comprise `Regimes` and that the General Principles be adopted and/or amended to accommodate such additional Regimes."> + [synonym ISDA_Create_1_0 value "additional_regimes" mapper "AdditionalRegime"] + + //TODO - Data Rule required as per description below +// condition FallbackToMandatoryMethodDays: <"A data rule to enforce that the specification of Fallback to Mandatory Method Days should only exist when one or more Regimes have Fallback to Mandatory Method elected as a SIMM exception."> +// if fallbackToMandatoryMethodDays exists +// then applicableRegime -> regimeTerms -> simmException -> simmExceptionApplicable contains SimmExceptionApplicableEnum -> FallBackToMandatoryMethod + +type RegimeTerms: <"A class that is used by the ApplicableRegime and the AdditionalRegime classes to specify the regulatory regime terms which are referred to as part of certain legal agreements, such as such as the ISDA 2016 and 2018 CSA for Initial Margin."> + + party string (1..1) <"The party for which the regime terms are being specified when acting as collateral taker."> + isApplicable ExceptionEnum (0..1) <"The specification of whether the regime is elected as applicable to the party when acting as collateral taker."> + asSpecified string (0..1) <"The bespoke party specific Regime term elections applicable when specified."> + //TODO - Condition required that asSpecified only exists when isApplicable is Other + simmException SimmException (0..1) <"The election for SIMM exception to the regulatory regime clause of the ISDA 2016 and 2018 CSA for Initial Margin as either a normalized value specified as part of an enumeration or a customized value specified of type string. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, Regime: SIMM Exception."> + retrospectiveEffect RetrospectiveEffect (0..1) <"ISDA 2016 CSA for Initial Margin, paragraph 13 (b)(i): if `Retrospective Effect` is specified as applicable to a Regime (a `Retrospective Regime`) then all Covered Transactions (IM) under all other Regimes with an earlier Regime Effective Time will, to the extent that they would have been Covered Transactions (IM) under such Retrospective Regime had such Transactions been entered into at or after the Regime Effective Time of the Retrospective Regime, be deemed to be Covered Transactions (IM) for such Retrospective Regime."> + //TODO - Condition required that retrospectiveEffect should exist for 2016 CSD and be absent for 2018 CSD + +type RetrospectiveEffect: <"A class to specify the retrospective effect exception to the regulatory regime clause of Initial Margin documents as either a normalized value specified as part of an enumeration or a customized value specified of type string."> + + standardisedException ExceptionEnum (0..1) <"The Standard Initial Margin Model exception when specified by the party according to one of the enumerated values."> + asSpecified string (0..1) <"The Standard Initial Margin Model exception when specified as a customized approach by the party."> + // TODO condition asSpecified should only exist when standardisedException = Other + + +type ReturnAmount: <"A class to specify the application of Interest Amount with respect the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + includesDefaultLanguage boolean (0..1) <"Default language is included when True, and excluded when False."> + [synonym ISDA_Create_1_0 set to True when "return_amount" = "include", set to False when "return_amount" = "exclude", set to False when "return_amount" = "other"] + customElection string (0..1) <"Custom election that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify_return_amount"] + condition CustomElection: <"A data rule to specify that when a custom election exists then default language should not be included."> + if customElection exists then includesDefaultLanguage = False + +type RightsEvents: <"A class to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred."> + + securityTakerRightsEvent SecuredPartyRightsEvent (1..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Security Taker Rights Event."> + [synonym ISDA_Create_1_0 value "secured_party_rights_event"] + [synonym ISDA_Create_1_0 value "security_taker_rights_event"] + [synonym ISDA_Create_1_0 value "early_termination_date"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "h"] + controlAgreementNecEvent ControlAgreementNecEvent (0..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Notice of Exclusive Control Event."> + [synonym ISDA_Create_1_0 value "control_agreement_nec_event"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "i"] + securityProviderRightsEvent SecurityProviderRightsEvent (1..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Security Provider Rights Event."> + [synonym ISDA_Create_1_0 value "obligor_rights_event"] + [synonym ISDA_Create_1_0 value "chargor_rights_event"] + [synonym ISDA_Create_1_0 value "pledgor_rights_event"] + [synonym ISDA_Create_1_0 value "security_provider_rights_event"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "j"] + deliveryInLieuRight boolean (0..1) <"The specification of whether Delivery In Lieu language is applicable to the agreement (true) or not (false)."> + [synonym ISDA_Create_1_0 set to True when "delivery_in_lieu_right->right" = "applicable", set to False when "delivery_in_lieu_right->right" = "not_applicable"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "l"] + additionalRightsEvent AdditionalRightsEvent (0..1) <"The Additional Rights Event election."> + [synonym ISDA_Create_1_0 value "chargor_additional_rights_event"] + [synonym ISDA_Create_1_0 value "obligor_additional_rights_event"] + [synonym ISDA_Create_1_0 value "pledgor_additional_rights_event"] + +type SecuredPartyRightsEvent: <"A class to specify Secured Party Rights Event language"> + + securedPartyRightsEventElection SecuredPartyRightsEventElection (0..2) + + earlyTerminationDateOptionalLanguage boolean (1..1) <"A boolean attribute to specify whether Failure to Pay Early Termination language is included (True) or excluded (False) from the agreement."> + [synonym ISDA_Create_1_0 set to True when "early_termination_date_optional_language" = "include", set to False when "early_termination_date_optional_language" = "exclude"] + [synonym ISDA_Create_1_0 set to True when "paid_in_full_language" = "include", set to False when "paid_in_full_language" = "exclude"] + + + failureToPayEarlyTermination boolean (0..1) <"A boolean attribute to specify whether Failure to Pay Early Termination language in the agreement is deemed applicable or not."> + [synonym ISDA_Create_1_0 set to True when "failure_to_pay_early_termination_is_applicable" = "applicable", + set to False when "failure_to_pay_early_termination_is_applicable" = "not_applicable"] + + condition FailureToPayLanguage: <"A data rule to enforce that the applicability of Failure to Pay language is only applied when Early Termination language is included."> + if earlyTerminationDateOptionalLanguage = False + then failureToPayEarlyTermination is absent + +type SecuredPartyRightsEventElection: <"A class to specify party specific Secured Party Rights Event language"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_secured_party_rights_event" = "applicable", set to "partyA" when "partyA_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_secured_party_rights_event" = "applicable", set to "partyB" when "partyB_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_security_taker_rights_event" = "applicable", set to "partyA" when "partyA_security_taker_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_security_taker_rights_event" = "applicable", set to "partyB" when "partyB_security_taker_rights_event" = "not_applicable"] + + rightsEvent boolean (1..1) <"A boolean attribute to specify whether a Secured Party Rights Event will only occur upon the occurrence of one or more of the event specified in a Control Agreement"> + [synonym ISDA_Create_1_0 set to True when "partyA_secured_party_rights_event" = "applicable", set to False when "partyA_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_secured_party_rights_event" = "applicable", set to False when "partyB_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_security_taker_rights_event" = "applicable", set to False when "partyA_security_taker_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_security_taker_rights_event" = "applicable", set to False when "partyB_security_taker_rights_event" = "not_applicable"] + +type SecurityAgreementElections: <"The set of elections which specify a Security Agremeent"> + + pledgedAccount Account (0..1) <"The pledged account associated with the agreement"> + [synonym ISDA_Create_1_0 value "pledged_account_number"] + enforcementEvent EnforcementEvent (0..1) <"Enforcement Events specific to the agreement"> + [synonym ISDA_Create_1_0 value "enforcement_event"] + [synonym ISDA_Create_1_0 value "early_termination_date"] + deliveryInLieuRight boolean (0..1) <"Delivery In Lieu rights"> + [synonym ISDA_Create_1_0 set to True when "delivery_in_lieu_right->right" = "applicable", set to False when "delivery_in_lieu_right->right" = "not_applicable"] + fullDischarge boolean (0..1) <"Full Discharge condition"> + [synonym ISDA_Create_1_0 set to True when "security_provider_full_discharge_condition->is_applicable" = "applicable", + set to False when "security_provider_full_discharge_condition->is_applicable" = "not_applicable"] + appropriatedCollateralValuation AppropriatedCollateralValuation (0..1) <"The election for the Valuation of Appropriate Collateral."> + [synonym ISDA_Create_1_0 value "valuation_of_appropriated_collateral"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms"> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + executionTerms ExecutionTerms (0..1) <"The location and language of execution to determine duty to be paid."> + [synonym ISDA_Create_1_0 value "execution_language"] + +type SecurityProviderRightsEvent: <"A class to specify the Pledgor/Obligor/Chargor Rights Event election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (j): Chargor Rights Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (j): Obligor Rights Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (j): Pledgor Rights Event."> + + partyElection SecurityProviderRightsEventElection (0..2) + includeCoolingOffLanguage boolean (1..1) <"The Pledgor/Obligor/Chargor Rights Event election includes cooling off language when the attribute is set of True."> + [synonym ISDA_Create_1_0 set to True when "cooling_off_language" = "include", set to False when "cooling_off_language" = "not_specified", set to False when "cooling_off_language" = "other"] + [synonym ISDA_Create_1_0 set to True when "cooling_off_period_condition_is_applicable" = "applicable", set to False when "cooling_off_period_condition_is_applicable" = "not_applicable"] + fullDischarge boolean (0..1) <"If specified as applicable here, a Pledgor/Obligor/Chargor Rights Event will not occur unless the Pledgor/Obligor/Chargor (A) has provided a statement to the Secured Party in respect of such Early Termination Date"> + [synonym ISDA_Create_1_0 set to True when "chargor_full_discharge_condition_is_applicable" = "applicable", set to False when "chargor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "pledgor_full_discharge_condition_is_applicable" = "applicable", set to False when "pledgor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "obligor_full_discharge_condition_is_applicable" = "applicable", set to False when "obligor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "security_provider_full_discharge_condition_is_applicable" = "applicable", + set to False when "security_provider_full_discharge_condition_is_applicable" = "not_applicable"] + automaticSetOff boolean (0..1) <"The Automatic Set-Off provision applies when the value is set to True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (l): Modification to Obligor’s Rights and Remedies."> + [synonym ISDA_Create_1_0 set to True when "automatic_setoff->right" = "applicable", set to False when "automatic_setoff->right" = "not_applicable"] + + customElection string (0..1) <"A custom Pledgor/Obligor/Chargor Rights Event election might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify"] + + condition RightsEvent_includeCoolingOffLanguage: <"A data rule to enforce that, when the Rights Event election includes cooling off language, no custom election should be specified."> + if includeCoolingOffLanguage = True + then customElection is absent + + condition RightsEvent_customElection: <"A data rule to enforce that, when the Rights Event is specified through a custom election, no standard cooling off language should be specified."> + if customElection exists + then includeCoolingOffLanguage = False + +type SecurityProviderRightsEventElection: <"A class to specify party specific Secured Party Rights Event language."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_chargor_rights_event" = "applicable", set to "partyA" when "partyA_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_chargor_rights_event" = "applicable", set to "partyB" when "partyB_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_pledgor_rights_event" = "applicable", set to "partyA" when "partyA_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_pledgor_rights_event" = "applicable", set to "partyB" when "partyB_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_obligor_rights_event" = "applicable", set to "partyA" when "partyA_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_obligor_rights_event" = "applicable", set to "partyB" when "partyB_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_security_provider_rights_event" = "applicable", set to "partyA" when "partyA_security_provider_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_security_provider_rights_event" = "applicable", set to "partyB" when "partyB_security_provider_rights_event" = "not_applicable"] + + rightsEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_chargor_rights_event" = "applicable", set to False when "partyA_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_chargor_rights_event" = "applicable", set to False when "partyB_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_pledgor_rights_event" = "applicable", set to False when "partyA_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_pledgor_rights_event" = "applicable", set to False when "partyB_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_obligor_rights_event" = "applicable", set to False when "partyA_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_obligor_rights_event" = "applicable", set to False when "partyB_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_security_provider_rights_event" = "applicable", set to False when "partyA_security_provider_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_security_provider_rights_event" = "applicable", set to False when "partyB_security_provider_rights_event" = "not_applicable"] + +type SensitivityMethodologies: <"A class to specificy methodologies to compute sensitivities specific to the agreement."> + + sensitivityToEquity SensitivityMethodology (1..1) <"The methodology to compute sensitivities to equity indices, funds and ETFs for the purpose of Initial Margin agreements."> + [synonym ISDA_Create_1_0 value "sensitivities_to_equity_indices_funds_etfs"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (g)(ii)(A)"] + sensitivityToCommodity SensitivityMethodology (1..1) <"The methodology to compute sensitivities to commodity indices for the purpose of Initial Margin agreements."> + [synonym ISDA_Create_1_0 value "sensitivities_to_commodity_indices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (g)(ii)(B)"] + +type SensitivityMethodology: <"A class to specify the methodology according to which sensitivities to (i) equity indices, funds and ETFs, and (ii) commodity indices are computed. This specification is done either through a normalized election as part of the specifiedMethodology, or through a custom election via the customMethodology attribute. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (gg)(2)."> + + specifiedMethodology SensitivitiesEnum (0..1) <"The methodology according to which sensitivities will be computed, when specified through a normalized election."> + [synonym ISDA_Create_1_0 value "sensitivities_equity_indices_funds_etfs", "sensitivities_commodity_indices"] + customMethodology string (0..1) <"The methodology according to which sensitivities will be computed, when specified through a custom election."> + [synonym ISDA_Create_1_0 value "sensitivities_equity_indices_funds_etfs_specify", "sensitivities_commodity_indices_specify"] + condition: one-of + +type SimmCalculationCurrency: <"A class to specify the SIMM Calculation Currency elections by each party to the agreement."> + + partyElection CalculationCurrencyElection (2..2) <"The parties' SIMM Calculation Currency election."> + +type SimmException: <"A class to specify the SIMM exception to the regulatory regime clause of the ISDA 2016 and 2018 CSA for Initial Margin as either a normalized value specified as part of an enumeration or a customized value specified of type string. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, Regime: SIMM Exception."> + + standardisedException ExceptionEnum (0..1) <"The Standard Initial Margin Model exception when specified by the party according to one of the enumerated values."> + [synonym AcadiaSoft_AM_1_0 set to ExceptionEnum -> NotApplicable when "simmException" = "False"] + simmExceptionApplicable SimmExceptionApplicableEnum (0..1) <"The Standard Initial Margin model exception approach applicable when specified by the party according to one of the enumerated values."> + // TODO condition that SimmExceptionApplicableEnum should only exist if SimmExceptionEnum = Applicable + asSpecified string (0..1) <"The Standard Initial Margin Model exception when specified as a customized approach by the party."> + // TODO condition asSpecified exists if something OtherMethods are specified + +type SimmVersion: <"A class to specify the ISDA SIMM version that applies to the ISDA 2018 CSA for Initial Margin. According to the ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles (ee) (1) provisions, the SIMM version is either not specified, or references a version used by one of the parties to the agreement."> + + isSpecified boolean (0..1) <"A boolean attribute to determine whether the SIMM version is specified for the purpose of the legal agreement."> + [synonym ISDA_Create_1_0 set to True when "is_specified" = "specified", set to False when "is_specified" = "not_specified"] + partyVersion string (0..1) <"The party which the specified SIMM version applies to."> + [metadata reference] + [synonym ISDA_Create_1_0 set to "PartyA" when "party_A_or_party_B_version" = "partyA", set to "PartyB" when "party_A_or_party_B_version" = "partyB"] + // TODO - ISDA Create export has a blank value type referencing party in 2018 CSD Eng Law schema. Feedback to ISDA + asSpecified string (0..1) <"The SIMM version exception when specified as a customized approach by the party."> + [synonym ISDA_Create_1_0 value "specify" set when "is_specified" = "other"] + + + condition VersionNotSpecified: <"A data rule to enforce that the version attribute should be absent when the SIMM version is stated as not specified for the CSA."> + if isSpecified = False + then partyVersion is absent + + condition VersionSpecified: <"A data rule to enforce that the version attribute should be specified when the SIMM version is stated as specified for the CSA."> + if isSpecified = True + then partyVersion exists + +type SubstitutedRegime: <"A class to specify each party's election with respect to the Substituted Regimes that will be applicable..."> + + partyElection SubstitutedRegimeElection (2..2) <"The parties' Substituted Regime election."> + +type SubstitutedRegimeElection: <"A class to specify the Substituted Regimes that will be deemed applicable..."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_emir" = "applicable", set to "partyA" when "partyA_emir" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_emir" = "applicable", set to "partyB" when "partyB_emir" = "not_applicable"] + emir boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_emir" = "applicable", set to False when "partyA_emir" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_emir" = "applicable", set to False when "partyB_emir" = "not_applicable"] + prudential boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_prudential" = "applicable", set to False when "partyA_prudential" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_prudential" = "applicable", set to False when "partyB_prudential" = "not_applicable"] + cftc boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_cftc" = "applicable", set to False when "partyA_cftc" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_cftc" = "applicable", set to False when "partyB_cftc" = "not_applicable"] + sec boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_sec" = "applicable", set to False when "partyA_sec" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_sec" = "applicable", set to False when "partyB_sec" = "not_applicable"] + canada boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_canada" = "applicable", set to False when "partyA_canada" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_canada" = "applicable", set to False when "partyB_canada" = "not_applicable"] + switzerland boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_switzerland" = "applicable", set to False when "partyA_switzerland" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_switzerland" = "applicable", set to False when "partyB_switzerland" = "not_applicable"] + japan boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_japan" = "applicable", set to False when "partyA_japan" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_japan" = "applicable", set to False when "partyB_japan" = "not_applicable"] + australia boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_australia" = "applicable", set to False when "partyA_australia" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_australia" = "applicable", set to False when "partyB_australia" = "not_applicable"] + hong_kong boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_hong_kong" = "applicable", set to False when "partyA_hong_kong" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_hong_kong" = "applicable", set to False when "partyB_hong_kong" = "not_applicable"] + singapore boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_singapore" = "applicable", set to False when "partyA_singapore" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_singapore" = "applicable", set to False when "partyB_singapore" = "not_applicable"] + +type Substitution: <"A class to specify the conditions under which the Security Provider can substitute posted collateral."> + + needsConsent boolean (1..1) <"The election as to whether the Pledgor/Obligor/Chargor must obtain the Secured Party’s consent for any collateral substitution. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii): Consent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (f)(ii): Consent."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "standard", set to False when "is_applicable" = "other"] + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + specificConsentLanguage string (0..1) <"Specific consent language might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify"] + +type TerminationCurrencyAmendment: <"A class to specify the Amendment to Termination Currency elections by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (t): Amendment to Termination Currency."> + + isApplicable boolean (1..1) <"The qualification of whether the Amendment to Termination Currency is deemed applicable by the parties (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "amendment_to_termination_currency_is" = "applicable", set to False when "amendment_to_termination_currency_is" = "not_applicable" ] + effectiveDate AmendmentEffectiveDate (0..1) <"The effective date of the Amendment to Termination Currency. This date can be specified as either an actual date, a specific date (e.g. the annex date) or as a custom provision."> + partyElection TerminationCurrencyElection (0..3) <"The parties' Amendment Currency election."> + + condition Applicablity: <"The Amendment to Termination Currency elections only apply when the Amendment to Termination Currency is deemed applicable by the parties."> + if isApplicable = False + then ( effectiveDate + and partyElection) is absent // TODO - Logic to be confirmed by testing NotApplicable + +type TerminationCurrencyElection: <"A class to specify the Amendment to Termination Currency election by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (t) (A) & (B)."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_amendment_to_termination_currency" = "specify", set to "partyA" when "partyA_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_amendment_to_termination_currency" = "specify", set to "partyB" when "partyB_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to "partyA,partyB" when "two_affected_parties" = "specify", set to "partyA,partyB" when "two_affected_parties" = "in_schedule"] + isSpecified boolean (1..1) <"The qualification of whether the Termination Currency is specified in this document (True) or in an Eligible Support Credit Support (IM) Schedule (False)"> + [synonym ISDA_Create_1_0 set to True when "partyA_amendment_to_termination_currency" = "specify", set to False when "partyA_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to True when "partyB_amendment_to_termination_currency" = "specify", set to False when "partyB_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to True when "two_affected_parties" = "specify", set to False when "two_affected_parties" = "in_schedule"] + currency string (1..1) <"The Termination Currency associated with the party that referenced as part of this class. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "partyA_termination_currency"] + [synonym ISDA_Create_1_0 value "partyB_termination_currency"] + [synonym ISDA_Create_1_0 value "partyA_currency"] + [synonym ISDA_Create_1_0 value "partyB_currency"] + [synonym ISDA_Create_1_0 value "two_affected_parties_currency"] + [synonym ISDA_Create_1_0 value "both_parties_termination_currency"] + + condition CurrencyElection: <"A Termination Currency election should only exist when required by the affected parties election"> + if isSpecified = False then currency is absent + +type Threshold: <"A class to specify the unsecured credit exposure that each party to the agreement is prepared to accept before asking for collateral. This threshold is specified either as an amount or as a custom election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(A): Threshold. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold."> + + partyElection ElectiveAmountElection (2..2) <"The parties' Threshold election."> + +type TransactionConfirmation: <"See existing Contract type"> +// TODO - Next step to move Contract from Contractual Product to here. Will require significant refactoring of model. + +type UmbrellaAgreement: <"A class to specify a set of legal entities which are part of a legal agreement beyond the two contracting parties to that agreement. This data representation reflects the ISDA Create representation."> + + isApplicable boolean (1..1) <"The determination of whether Umbrella Agreement terms are Applicable (True), or Not Applicable (False)"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + language string (0..1) <"The language associated with the umbrella agreement, and which applies to all the parties to the umbrella agreement."> + [synonym ISDA_Create_1_0 value "language" maps 2] // TODO: remove "maps 2" once migration complete + parties UmbrellaAgreementEntity (0..*) <"Underlying principals to the umbrella agreement."> + [synonym ISDA_Create_1_0 value "principal_identification_schedule" mapper "UmbrellaAgreementEntity"] + + condition UmbrellaAgreementExists: <"Umbrella Agreement language and parties should not exist when Umbrella Agreement terms are Not Applicable."> + if isApplicable = True + then (language and parties) exists + +type UmbrellaAgreementEntity extends LegalEntity: <"A class to specify the legal entities that are part of the umbrella agreement."> + terms string (0..1) <"The terms that might be associated with each party to the umbrella agreement."> + +// Agreement Validation + +func SaIsdaBankCustodian2019NewYorkLaw: + // [validation agreement] + inputs: agreementTerms AgreementTerms (1..1) + output: is_agreement boolean (1..1) + + assign-output is_agreement: + agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> name = LegalAgreementNameEnum->CollateralTransferAgreement //The agreement is a CTA + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> publisher = LegalAgreementPublisherEnum->ISDA //published by ISDA + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> governingLaw = GoverningLawEnum->USNY //under New York Law + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> vintage = "2019" //with vintage 2019 + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementDate exists //then the CTA should have an agreement date specified + and agreementTerms -> agreement -> securityAgreementElections -> pledgedAccount is absent //there should not be a PledgedAccount + and agreementTerms -> agreement -> securityAgreementElections -> enforcementEvent is absent //there should not be EnforcementEvent terms specified + and agreementTerms -> agreement -> securityAgreementElections -> deliveryInLieuRight is absent //there should not be Delivery in Lieu Right terms specified + and agreementTerms -> agreement -> securityAgreementElections -> fullDischarge is absent //there should not be Full Discharge terms specified + and agreementTerms -> agreement -> securityAgreementElections -> appropriatedCollateralValuation is absent //there should not be any Valuation of Appropriated Collateral terms specified + and agreementTerms -> agreement -> securityAgreementElections -> processAgent exists //there should be Process Agent terms specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> japaneseSecuritiesProvisions exists //there should be Japanese Securities Provisions specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> exclusiveJurisdiction exists //there should be Exclusive Jurisdiction terms specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> juryWaiver exists //there should be Jury Waiver terms specified diff --git a/lib/ISDA/isda.xtext b/lib/ISDA/isda.xtext new file mode 100644 index 0000000..3fa26f2 --- /dev/null +++ b/lib/ISDA/isda.xtext @@ -0,0 +1,1731 @@ +namespace org.isda.cdm +version "2.52.2" + +import cdm.base.* +import cdm.base.datetime.* +import cdm.base.math.* +import cdm.base.staticdata.identifier.* +import cdm.base.staticdata.asset.common.* +import cdm.base.staticdata.party.* +import cdm.synonyms.config.* + +type AccessConditions: <"A class to specify each party's election with respect to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + partyElection AccessConditionsElections (2..2) <"The parties' Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA) election."> + additionalTerminationEvent AdditionalTerminationEvent (0..*) <"Additional Termination Events applicable to the agreement."> + // [synonym ISDA_Create_1_0 value "additional_termination_event"] + +type AccessConditionsElections: <"A class to specify the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_illegality" = "applicable", set to "partyA" when "partyA_illegality" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_illegality" = "applicable", set to "partyB" when "partyB_illegality" = "not_applicable"] + illegality boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_illegality" = "applicable", set to False when "partyA_illegality" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_illegality" = "applicable", set to False when "partyB_illegality" = "not_applicable"] + forceMajeure boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_force_majeure" = "applicable", set to False when "partyA_force_majeure" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_force_majeure" = "applicable", set to False when "partyB_force_majeure" = "not_applicable"] + taxEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_tax_event" = "applicable", set to False when "partyA_tax_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_tax_event" = "applicable", set to False when "partyB_tax_event" = "not_applicable"] + taxEventUponMerger boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_tax_event_upon_merger" = "applicable", set to False when "partyA_tax_event_upon_merger" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_tax_event_upon_merger" = "applicable", set to False when "partyB_tax_event_upon_merger" = "not_applicable"] + creditEventUponMerger boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_credit_event_upon_merger" = "applicable", set to False when "partyA_credit_event_upon_merger" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_credit_event_upon_merger" = "applicable", set to False when "partyB_credit_event_upon_merger" = "not_applicable"] + +type AdditionalRegime: <"A class to specify the additional regulatory regime(s) that might be elected by the parties to a legal agreement where such provision exists, such as the ISDA 2016 and 2018 CSA for Initial Margin."> + + regime string (1..1) <"The additional regulatory regime as specified by the parties."> + regimeTerms RegimeTerms (2..2) <"The party elections with respect to the additional regime(s)."> + additionalType AdditionalTypeEnum (0..1) <"The Additional Type of transaction that can require the collection or delivery of initial margin under the specified regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + additionalTerms string (0..1) <"The bespoke Additional Type for the purposes of Covered Transactions (IM)."> + //TODO - Condition required that additionalType should exist for 2016 CSD and be absent for 2018 CSD + //TODO - Condition required that additionalTerms should only exist when additionalType is Other + +type AdditionalRepresentation: <"A class to specify the Additional Representation. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (o): Additional Representation(s)."> + + partyElection AdditionalRepresentationElection (2..2) <"A qualification as to whether the Additional Representation is applicable."> + customElection string (0..1) <"A supplemental custom election that might be specified by the parties for the purpose of specifying the Additional Representation."> + [synonym ISDA_Create_1_0 value "specify"] + +type AdditionalRepresentationElection: <"A class to specify the parties' Additional Representation(s) election."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_additional_representations" = "applicable", set to "partyA" when "partyA_additional_representations" = "not_applicable" ] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_additional_representations" = "applicable", set to "partyB" when "partyB_additional_representations" = "not_applicable" ] + isApplicable boolean (1..1) <"The Additional Representation is applicable when True, and not applicable when False."> + [synonym ISDA_Create_1_0 set to True when "partyA_additional_representations" = "applicable", set to False when "partyA_additional_representations" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_additional_representations" = "applicable", set to False when "partyB_additional_representations" = "not_applicable"] + +type AdditionalRepresentations: <"A class to specify Additional Representations that may be applicable to an agreement."> + + additionalRepresentation AdditionalRepresentation (0..1) <"The specification of the Additional Representation that may be applicable to the agreement."> + [synonym ISDA_Create_1_0 value "additional_representations"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "10(a)"] + additionalInformation boolean (0..1) <"The qualification of whether Additional Information related to Regulatory Compliance and Concentration Limits is applicable or not"> + [synonym ISDA_Create_1_0 set to True when "regulatory_compliance_and_concentration_limits->additional_information" = "applicable", + set to False when "regulatory_compliance_and_concentration_limits->additional_information" = "not_applicable"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "11"] + + condition: one-of + +type AdditionalRightsEvent: <"A class to specify the Pledgor/Obligor/Chargor Additional Rights Event election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (k): Chargor Additional Rights Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (k): Obligor Additional Rights Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (k): Pledgor Additional Rights Event."> + + isApplicable boolean (1..1) <"The Pledgor Additional Rights Event election is applicable when True, and not applicable when False."> + [synonym ISDA_Create_1_0 set to True when "applicable" = "true", set to False when "applicable" = "false"] + qualification string (0..1) <"The qualification of the Pledgor Additional Rights Event election, when specified."> + [synonym ISDA_Create_1_0 value "specify"] + + condition Qualification: <"The Pledgor/Obligor/Chargor Additional Rights should be qualified only when the Pledgor Additional Rights Event election is specified as applicable."> + if qualification exists + then isApplicable = True + +type AdditionalTerminationEvent: < "A class to specify an optional termination event, additional to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA)"> + // TODO Never referenced in CDM + name string (1..1) <"The name of the additional termination event"> + [synonym ISDA_Create_1_0 value "name" path "additional_termination_event"] + [synonym ISDA_Create_1_0 value "specify" set when "specify" exists] + applicableParty string (1..2) <"Whether the additional termination event is applicable for the relevant party"> + [synonym ISDA_Create_1_0 set to "PartyA" when "partyA_additional_termination_events" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyB" when "partyB_additional_termination_events" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyA" when "additional_termination_event->partyA_additional_termination_event" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyB" when "additional_termination_event->partyB_additional_termination_event" = "applicable"] + +type AdditionalType: <"The specification of the Additional Type of transaction that can require the collection or delivery of initial margin under a given regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + + standardValue AdditionalTypeEnum (1..1) <"The qualification of the Additional Type of transaction that can require the collection or delivery of initial margin when specified as a standard value."> + [synonym ISDA_Create_1_0 value "additional_type"] + customValue string (0..1) <"The qualification of the Additional Type of transaction that can require the collection or delivery of initial margin when specified as a custom value by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "additional_type_specify"] + + condition CustomValue: <"The specification of a custom value by the parties to the legal agreement takes place alongside the qualification of the `Other` value as part of the AdditionalTypeEnum."> + if standardValue = AdditionalTypeEnum -> Other + then customValue exists + + condition StandardValue: <"The specification of a standard value by the parties to the legal agreement is done through the qualification of a value distinct than `Other` as part of the AdditionalTypeEnum, and implies that the customerValue is not being qualified."> + if standardValue <> AdditionalTypeEnum -> Other + then customValue is absent + +type Agreement: <"A class to specify elections specific to a certain type of agreement."> + + creditSupportAgreementElections CreditSupportAgreementElections (0..1) <"Elections to specify an Initial Margin Credit Support Annex or Initial Margin Credit Support Deed."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Credit Support Annex"] + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Credit Support Deed"] + collateralTransferAgreementElections CollateralTransferAgreementElections (0..1) <"Elections to specify a Collateral Transfer Agreement."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Collateral Transfer Agreement"] + securityAgreementElections SecurityAgreementElections (0..1) <"Security agreement elections."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Security Agreement"] + transactionConfirmation TransactionConfirmation (0..1) <"A transaction confirmation"> //TODO: Rename Contract and move to here + condition: one-of + +type AgreementTerms: <"A class to specify the elections and variables that characterize a legal agreement."> + + agreement Agreement (1..1) <"The type of contract being specified"> + relatedAgreements RelatedAgreement (0..*) <"Specifies the agreement(s) that govern the agreement, either as a reference to such agreements when specified as part of the CDM, or through identification of some of the key terms of those agreements, such as the type of agreement, the publisher, the vintage, the agreement identifier and the agreement date."> + umbrellaAgreement UmbrellaAgreement (0..1) <"The determination of whether Umbrella Agreement terms are applicable (True) or Not Applicable (False)."> + [synonym ISDA_Create_1_0 value "umbrella_agreement_and_principal_identification", "umbrella_agreement_and_principal_identification" path "answers->partyA"] + +type AmendmentEffectiveDate: <"A class to specify the effective date of the Amendment to Termination Currency. This date can be specified as either an actual date, a specific date (e.g. the annex date) or as a custom provision. "> + + date date (0..1) <"The effective date of the Amendment to Termination Currency when specified as an actual date."> + specificDate AmendmentEffectiveDateEnum (0..1) <"The effective date of the Amendment to Termination Currency when specified as a specific date (e.g. the annex date)."> + [synonym ISDA_Create_1_0 value "annex_date"] + [synonym ISDA_Create_1_0 value "effectiveness_date"] + customProvision string (0..1)<"The effective date of the Amendment to Termination Currency when specified as a non normalized custom provision."> + condition: one-of + +type ApplicableRegime: <"A class to specify the applicable regulatory regime(s) that parties to a legal agreement, such as the ISDA 2016 and 2018 CSA for Initial Margin, might be subject to."> + + regime RegulatoryRegimeEnum (1..1) <"The applicable regulatory regime, as specified through an enumeration."> + [synonym AcadiaSoft_AM_1_0 value "regime"] + regimeTerms RegimeTerms (2..2) <"A class that is used by the ApplicableRegime and the AdditionalRegime classes to specify the terms that are specific to each party and regime which are referred to in the Regime Table as part of certain legal agreements, such as such as the ISDA 2016 and 2018 CSA for Initial Margin."> + additionalType AdditionalTypeEnum (0..1) <"The Additional Type of transaction that can require the collection or delivery of initial margin under the specified regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + additionalTerms string (0..1) <"The bespoke Additional Type for the purposes of Covered Transactions (IM)."> + //TODO - Condition required that additionalType should exist for 2016 CSD and be absent for 2018 CSD + //TODO - Condition required that additionalTerms should only exist when additionalType is Other + +type AppropriatedCollateralValuation: <"A class to specify the Valuation of Appropriated Collateral that is applicable to the English Law ISDA CSA. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (u): Valuation of Appropriated Collateral."> + + isSpecified boolean (1..1) <"The qualification of whether the Valuation of Appropriate Collateral provision is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + election string (0..1) <"The parties' election that qualify the Valuation of Appropriate Collateral in the case where it is deemed applicable."> + [synonym ISDA_Create_1_0 value "specify"] + + condition Specified: <"The Valuation of Appropriate Collateral election must be specified when it is applicable."> + if isSpecified = True + then election exists + + condition NotSpecified: <"The Valuation of Appropriate Collateral election cannot be specified when it is not applicable."> + if isSpecified = False + then election is absent + +type BespokeCalculationDate: <"A class to specify bespoke Calculation Date terms for the purposes of Initial Margin"> + + isApplicable boolean (1..1) <"Additional Calculation Date terms are applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + calculationDateImTerms string (0..1) <"The Additional Calculation Date terms for the purposes of Initial Margin"> + + condition CalculationDateImTerms: <"A data rule to enforce that Additional Calculation Date Terms should be absent when not applicable"> + if isApplicable = False then calculationDateImTerms is absent + +type BespokeCalculationTime: <"A class to specify additional Calculation Time terms for the purposes of Initial Margin"> + + asCalculationAgentIm boolean (1..1) <"If set to True, the Calculation Time for Initial Margin is the time as of which the Calculation Agent (IM) computes its end of day valuations of derivatives transactions"> + [synonym ISDA_Create_1_0 set to True when "calculation_time_IM_is" = "calculation_agent_IM_computation_time", set to False when "calculation_time_IM_is" = "specify"] + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "specify"] + bespokeCalculationTimeTerms string (0..1) <"Additional Terms applicable to Calculation Time for Initial Margin"> + [synonym ISDA_Create_1_0 value "calculation_agent_IM_computation_time_specify"] + + condition AsCalculationAgentIm: <"A data rule to enforce that the terms applicable to Calculation Time for Initial Margin should be specified when the computation time is not as per Calculation Agent"> + if asCalculationAgentIm = True + then bespokeCalculationTimeTerms is absent + + condition BespokeCalculationTimeTerms: <"A data rule to enforce that the Calculation Time for Initial Margin shouldn't be specified when the Control Agreement isn't deemed a Credit Support Document with respect to the party(ies)."> + if asCalculationAgentIm = False + then bespokeCalculationTimeTerms exists + +type BespokeTransferTiming: <"A class to specify any bespoke Transfer Timing language by each party to the agreement."> + + isApplicable boolean (1..1) <"A boolean flag to specify whether bespoke transfer terms are applicable or not."> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + bespokeTransferTimingTerms string (0..1) <"The bespoke transfer timing terms applicable to the agreement"> + [synonym ISDA_Create_1_0 value "settlement_day_specify"] + +type CalculationAgentIm: <"A class to select Calculation Agent for purposes of Initial Margin agreements"> + + isApplicable boolean (0..1) <"The specification of whether bespoke calculation agent terms are applicable (True) or not (False)"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + party string (0..1) <"The party which is specified as Calculation Agent for Initial Margin."> + [metadata reference] + [synonym ISDA_Create_1_0 set to "PartyA" when "calculation_agent" = "partyA"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "party_A"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "partyB"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "party_B"] + [synonym ISDA_Create_1_0 set to "PartyA,PartyB" when "calculation_agent_IM_party"="demanding_party_and_secured_party"] + // TODO - Need for a mapping logic that will parse the ISDA Create prefix to identify partyA vs. partyB entries + calculationAgentTerms string (0..1) <"The Calculation Agent (IM) terms when specified"> + [synonym ISDA_Create_1_0 value "specify"] + + condition CalculationAgentParty: <"A data rule to enforce that party should not be specified when bespoke Calculation Agent Terms exist."> + if calculationAgentTerms exists then party is absent + + condition CalculationAgentTerms: <"A data rule to enforce that bespoke terms should only be specified when applicable."> + if isApplicable = True then calculationAgentTerms exists + else if isApplicable = False then calculationAgentTerms is absent + +type CalculationAndTiming: <"A class to specify the Calculation, Valuation and Timing terms specific to the agreement."> + + calculationAgentIm CalculationAgentIm (0..1) <"The calculation agent terms applicable to the agreement."> + [synonym ISDA_Create_1_0 value "calculation_agent_IM"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4a"] + bespokeCalculationDate BespokeCalculationDate (0..1) <"The specification of bespoke Calculation Date terms for the purposes of Initial Margin by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "calculation_date"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(d)(i)"] + bespokeCalculationTime BespokeCalculationTime (0..1) <"Bespoke terms to describe the time as of which such party (or the Calculation Agent (IM) (if applicable)) computes its end of day valuations of derivatives transactions."> + [synonym ISDA_Create_1_0 value "calculation_time"] + [synonym ISDA_Create_1_0 value "credit_support_amount_calculation_time"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4d"] + calculationDateLocation CalculationDateLocation (0..1) <"The specified location where the credit exposure will be calculated by the respective parties."> + [synonym ISDA_Create_1_0 value "calculation_date_location"] + [synonym ISDA_Create_1_0 value "calculation_date"] + [synonym ISDA_Create_1_0 value "designated_city"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4c"] + notificationTime NotificationTime (1..1) <"The time by which a demand for the Transfer of Eligible Credit Support (IM) or Posted Credit Support (IM) needs to be made in order for the transfer to take place in accordance with the Transfer Timing provisions."> + [synonym ISDA_Create_1_0 value "notification_time"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4e"] + collateralValuationAgent CollateralValuationAgent (0..1) <"The bespoke Collateral Valuation Agent terms applicable to the agreement."> + [synonym ISDA_Create_1_0 value "collateral_valuation_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4b"] + cashSettlementDay string (0..1) <"Cash Settlement Day has the meaning specified in ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, Paragraph 4(b)(i), unless otherwise specified as part of this attribute. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iv): Cash Settlement Day."> + [synonym ISDA_Create_1_0 value "specify" path "cash_settlement_day" set when "cash_settlement_day->specified" = "true"] + securitiesSettlementDay string (0..1) <"Securities Settlement Day has the meaning specified in ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, Paragraph 12, unless otherwise specified as part of this attribute. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(v): Securities Settlement Day."> + [synonym ISDA_Create_1_0 value "specify" path "securities_settlement_day" set when "securities_settlement_day->specified" = "true"] + +type CalculationCurrencyElection: <"A class to specify the ISDA SIMM Calculation Currency as either the Base Currency or an alternative currency. ISDA 2016 CSA for Initial Margin, Paragraph 13, General Principles (ee)(3). | ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles (ee)(3)."> + + party string (1..1) <"The party which the SIMM Calculation Currency qualification applies to."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_use_base_currency" = "true", set to "partyA" when "partyA_use_base_currency" = "false"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_use_base_currency" = "true", set to "partyB" when "partyB_use_base_currency" = "false"] + isBaseCurrency boolean (1..1) <"The SIMM Calculation Currency (also known as SIMM Reporting Currency) means the Base Currency when True. It means a different currency when False. In that latter case, the SIMM Calculation Currency is specified as part of the currency attribute."> + [synonym ISDA_Create_1_0 set to True when "partyA_use_base_currency" = "true", set to False when "partyA_use_base_currency" = "false"] + [synonym ISDA_Create_1_0 set to True when "partyB_use_base_currency" = "true", set to False when "partyB_use_base_currency" = "false"] + currency string (0..1) <"The currency in which the ISDA SIMM Calculation is denominated, when different from the Base Currency. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym AcadiaSoft_AM_1_0 value "currency"] + [synonym ISDA_Create_1_0 value "partyA_use_other_currency"] + [synonym ISDA_Create_1_0 value "partyB_use_other_currency"] + + condition BaseCurrency: <"A data rule to enforce that, when the SIMM calculation currency is specified as the Base Currency and vice versa"> + if isBaseCurrency = True + then currency is absent + else currency exists + +type CalculationDateLocation: <"A class to specify the Calculation Date Location election for the respective parties to the legal agreement. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i): Calculation Date Location. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location."> + + partyElection CalculationDateLocationElection (2..2) <"The parties' calculation date location election."> + + +type CalculationDateLocationElection: <"A class to specify each of the party elections with respect to the Calculation Date Location. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i): Calculation Date Location. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_calculation_date_location" = "select_location", set to "partyA" when "partyA_calculation_date_location" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_calculation_date_location" = "select_location", set to "partyB" when "partyB_calculation_date_location" = "other"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_designated_city" = "select_location", set to "partyA" when "partyA_designated_city" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_designated_city" = "select_location", set to "partyB" when "partyB_designated_city" = "other"] + businessCenter BusinessCenterEnum (0..1) <"The Calculation Date Location when specified as a business center which corresponds to the FpML list of business centers or can be mapped to it."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "partyA_location"] + [synonym ISDA_Create_1_0 value "partyB_location"] + customLocation string (0..1) <"The Calculation Date Location when specified a location which doesn't correspond to the FpML list of business centers or cannot be mapped to it."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + + condition Choice : <"The Calculation Date Location is specified either as a standard business center or as a custom location."> + required choice businessCenter, customLocation + +type CollateralAccessBreach: <"A class to specify Collateral Access Breach language"> + + isApplicable boolean (1..1) <"Collateral Access Breach terms are applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "collateral_access_breach" = "applicable", set to False when "collateral_access_breach" = "not_applicable"] + cabEndDateElection boolean (0..1) <"Determination of whether the Collateral Access Breach end date is a number of days (True) or specified (False)"> + [synonym ISDA_Create_1_0 set to True when "cab_end_date" = "days", set to False when "cab_end_date" = "other"] + cabEndDate number (0..1) <"The business days following the related Collateral Access Breach when the additional terms end "> + [synonym ISDA_Create_1_0 value "cab_end_date_days"] + cabEndDateTerms string (0..1) <"Specific terms for when Collateral Access Breach terms end"> + [synonym ISDA_Create_1_0 value "cab_end_date_specify"] + + condition CabEndDateTerms: <"A condition to require Collateral Access Breach End Date Terms when a specification is required"> + if cabEndDateElection = True then cabEndDateTerms is absent + + // condition CabEndDate: <"A condition to enforce that Collateral Access Breach terms should be absent when Not Applicable"> + // if isApplicable = False then cabEndDateElection and cabEndDate and cabEndDateTerms is absent + +//TODO - Condition required cabEndDate OR cabEndDateTerms required if CollateralAccessBreach is applicable + +type CollateralManagementAgreement: <"A class to specify the Collateral Management Agreement election by the respective parties to a Japanese Law ISDA CSA. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(i): Collateral Management Agreement."> + + partyElection CollateralManagementAgreementElection (2..2) <"The parties' Collateral Management Agreement election."> + +type CollateralManagementAgreementElection: <"A class to specify the Collateral Management Agreement election by each party as the Obligee. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b(i): Collateral Management Agreement."> + + party Party (1..1) <"The elective party."> + [metadata reference] + // TODO - Need for a mapping logic that will parse the ISDA Create prefix to identify partyA vs. partyB entries + collateralManagementAgreement string (1..1) <"The designated Collateral Management Agreement with respect to the elective party as the Obligee."> + [synonym ISDA_Create_1_0 value "partyA_specify", "partyB_specify"] + +type CollateralRounding: <"A class to specify the rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(C): Rounding. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding."> + + deliveryAmount number (1..1) <"The rounding methodology applicable to the Delivery Amount in terms of nearest integral multiple of Base Currency units."> + [synonym ISDA_Create_1_0 value "delivery_amount"] + returnAmount number (1..1) <"The rounding methodology applicable to the Return Amount in terms of nearest integral multiple of Base Currency units."> + [synonym ISDA_Create_1_0 value "return_amount"] + +type CollateralTransferAgreementElections: <"The set of elections which specify a Collateral Transfer Agreement"> + + regime Regime (1..1) <"The Regime Table provision , which determines the regulatory regime(s) applicable to each of the parties to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "Regimes"] + oneWayProvisions OneWayProvisions (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 value "one_way_provisions"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (a)"] + generalSimmElections GeneralSimmElections (1..1) <"The specification of the ISDA SIMM Method for all Covered Transactions with respect to all Regimes."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (e)"] + identifiedCrossCurrencySwap boolean (0..1) <"The qualification of whether cross-currency swaps need to be identified in the Confirmation so that the obligations to exchange principal be disregarded for the purpose of determining the Delivery Amount or Return Amount."> + [synonym ISDA_Create_1_0 set to True when "cross_currency_swap->yey_ney" = "true", set to False when "cross_currency_swap->yey_ney" = "false"] + // [documentReference Euroclear CtaInitialMargin 2018 paragraph "13" section "(g)"] + sensitivityMethodologies SensitivityMethodologies (1..1) <"The specification of methodologies to compute sensitivities specific to the agreement."> + fxHaircutCurrency FxHaircutCurrency (0..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + [synonym ISDA_Create_1_0 value "fx_haircut_percentage"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "(h)"] + postingObligations PostingObligations (1..1) <"The security providers posting obligations."> + [synonym ISDA_Create_1_0 value "security_provider_posting_obligations"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "General Principles (ii)"] + substitutedRegime SubstitutedRegime (1..1) <"The specification of Additional regimes for purposes of determining whether a Regulatory Event has occurred."> + [synonym ISDA_Create_1_0 value "substituted_regimes"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (k)"] + baseCurrency string (1..1) <"The base currency for the document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "1"] + creditSupportObligations CreditSupportObligationsInitialMargin (1..1) <"The Credit Support Obligations applicable to the agreement. "> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3"] + calculationAndTiming CalculationAndTiming (1..1) <"The set of elections for determining Valuation and Timing terms specific to the agreement"> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections that may overwrite the default Condition Precedent provision, and the set of provisions that are deemed Access Condition."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "5"] + substitution Substitution (1..1) <"The conditions under which the Security Provider can substitute posted collateral."> + [synonym ISDA_Create_1_0 value "consent"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "f"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "6"] + rightsEvents RightsEvents (1..1) <"The bespoke provisions that might be specified by the parties to the agreement to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred.."> + custodyArrangements CustodyArrangements (1..1) <"The Custodian and Segregated Account details in respect of each party to the agreement."> + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "m"] + additionalRepresentations AdditionalRepresentations (1..1) <"The specification Additional Representations that may be applicable to the agreement."> + demandsAndNotices ContactElection (0..1) <"The optional specification of address where the demands, specifications and notices will be communicated to for each of the parties to the agreement."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "12"] + addressesForTransfer ContactElection (0..1) <"The optional specification of address for transfer as specified by the respective parties to the agreement."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "12"] + otherCsa string (0..1) <"The bespoke definition of Other CSA as specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "other_csa->specify" set when "other_csa->specified" = "true"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "13"] + terminationCurrencyAmendment TerminationCurrencyAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Termination Currency. Unless specified the definition of Termination Currency has the meaning specified in the Schedule to the ISDA Master Agreement."> + [synonym ISDA_Create_1_0 value "amendment_to_termination_currency"] + [synonym ISDA_Create_1_0 value "security_provider_posting_obligations"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "13"] + minimumTransferAmountAmendment MinimumTransferAmountAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Minimum Transfer Amount. Unless specified the definition of Minimum Transfer Amount in any Other Regulatory CSA has the meaning specified in such Other Regulatory CSA."> + [synonym ISDA_Create_1_0 value "amendment_to_minimum_transfer_amount" mapper "MinimumTransferAmountAmendment"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "14"] + interpretationTerms string (0..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Interpretations."> + [synonym ISDA_Create_1_0 value "paragraph_1_6a_specify" path "interpretation" set when "interpretation->paragraph_1_6a_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_10ki_specify" path "interpretation" set when "interpretation->paragraph_10ki_is" = "specify"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "15"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms relevant to the agreement."> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + +type CollateralValuationAgent: <"A class to specify Collateral Valuation Agent terms."> + + partyElection CollateralValuationAgentElection (0..2) <"The parties Collateral Valuation Agent Elections."> + +type CollateralValuationAgentElection: <"A class to specify Collateral Valuation Agent language."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_collateral_valuation_agent" = "other"] //Check synonyms + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_collateral_valuation_agent" = "other"] //Check synonyms + additionalLanguage string (0..1) <"The additional language that might be specified by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "partyA_specify"] //Check synonyms + [synonym ISDA_Create_1_0 value "partyB_specify"] //Check synonyms + +type ConditionsPrecedent: <"A class to specify the two set of elections that may overwrite the default Condition Precedent provision as specified in Paragraph 4, (a) of the ISDA 2016 Credit Support Annex for Initial Margin and the ISDA 2016 Credit Support Annex for Variation Margin. | ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2018 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Conditions Precedent. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + conditionsPrecedentElection boolean (0..1) <"The election to specify whether the standard Conditions Precedent apply"> + [synonym ISDA_Create_1_0 set to True when "conditions_precedent->conditions_precedent" = "not specified", set to False when "conditions_precedent->conditions_precedent" = "paragraph_3_1_will_not_apply"] + [synonym ISDA_Create_1_0 set to True when "conditions_precedent->specified" = "false", set to False when "conditions_precedent->specified" = "true"] + customProvision string (0..1) <"The custom provisions that might be specified by the parties to the agreement for the purpose of overwriting the default Condition Precedent provision as specified in ISDA 2016 Credit Support Annex for Initial Margin and the ISDA 2016 Credit Support Annex for Variation Margin, Paragraph 4, (a). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(i). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(i). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, : Conditions Precedent and Secured Party’s Rights and Remedies."> + [synonym ISDA_Create_1_0 value "specify" path "conditions_precedent"] + accessConditions AccessConditions (1..1) <"The parties' election with respect to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + [synonym ISDA_Create_1_0 value "access_conditions"] //"conditions_precedent" + [synonym ISDA_Create_1_0 value "access_conditions" path "conditions_precedent"] + + condition CustomProvision: <"When a Custom Provision is specified then the Conditions Precedent Election should be absent."> + if customProvision exists + then conditionsPrecedentElection = False + +type ContactElection: <"A class to specify the parties' election to specify contact information, in relation to elections such as the Addresses for Transfer or the Demand and Notices as specified in the ISDA Credit Support Annex agreement."> + + partyElection PartyContactInformation (2..2 ) <"The parties' contact information election."> + +type ControlAgreement: <"A class to specify the relationship between the Control Agreement and the Credit Support Agreement."> + + partyElection ControlAgreementElections (2..2) <"The party specific elections."> + +type ControlAgreementElections: <"A class to specify the Control Agreement election sby each party to the agreement."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "yes", + set to "partyA" when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "yes", + set to "partyB" when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to "partyA" when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "yes", + set to "partyA" when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "yes", + set to "partyB" when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyA" when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "yes", + set to "partyA" when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "yes", + set to "partyB" when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "no"] + controlAgreementAsCsd boolean (1..1) <"The identification of whether the Control Agreement is a Credit Support Document with respect to each party"> + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "yes", + set to False when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "yes", + set to False when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "yes", + set to False when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "yes", + set to False when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "yes", + set to False when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "yes", + set to False when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "no"] + // TODO - add Condition - include when 2018 CSD English Law, exclude when 2016 (captured under CustodyArrangements) + consistencyWithControlAgreement boolean (0..1) <"Unless specified as inapplicable in the event of any inconsistency between this Deed and the Control Agreement, this Deed will prevail over the Control Agreement"> + [synonym ISDA_Create_1_0 set to True when "inconsistency_with_the_control_agreement->partyA_inconsistency_with_the_control_agreement" = "applicable", + set to False when "inconsistency_with_the_control_agreement->partyA_inconsistency_with_the_control_agreement" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "inconsistency_with_the_control_agreement->partyB_inconsistency_with_the_control_agreement" = "applicable", + set to False when "inconsistency_with_the_control_agreement->partyB_inconsistency_with_the_control_agreement" = "not_applicable"] + // TODO - add Condition - only include when 2018 CSD English Law + relationshipWithControlAgreement boolean (0..1) <"Unless specified as inapplicable the parties recognise that the Control Agreement is a means by which the parties can perform their obligations."> + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->partyA_control_agreement_relationship" = "applicable", + set to False when "relationship_with_the_control_agreement->partyA_control_agreement_relationship" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->partyB_control_agreement_relationship" = "applicable", + set to False when "relationship_with_the_control_agreement->partyB_control_agreement_relationship" = "not_applicable"] + // TODO - add Condition - only include when 2018 CSD English Law + +type ControlAgreementNecEvent: <"A class to specify Control Agreement language related to delivery of a Notice of Exclusive Control"> + + controlAgreementNecEventElection ControlAgreementNecEventElection (2..2) + +type ControlAgreementNecEventElection: <"A class to specify party specific Control Agreement language related to delivery of a Notice of Exclusive Control"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_control_agreement_nec_event" = "applicable", set to "partyA" when "partyA_control_agreement_nec_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyB_control_agreement_nec_event" = "applicable", set to "partyB" when "partyB_control_agreement_nec_event" = "not_applicable"] + + necEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_control_agreement_nec_event" = "applicable", set to False when "partyA_control_agreement_nec_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_control_agreement_nec_event" = "applicable", set to False when "partyB_control_agreement_nec_event" = "not_applicable"] + +type CreditNotation: <"A class to specify the credit notation as the combination of agency, notation, scale and debt type qualifications."> + [synonym FpML_5_10 value "CreditNotation"] + + agency CreditRatingAgencyEnum (1..1) <"The credit agency to which the other variables (notation, scale, debt type) refer to."> + [metadata scheme] + [synonym FpML_5_10 value "agency" meta "creditRatingAgencyScheme"] + notation string (1..1) <"The credit rating notation. As it varies among credit rating agencies, FpML doesn't specify a default scheme."> + [metadata scheme] + [synonym FpML_5_10 value "notation" meta "creditRatingNotationScheme"] + scale string (0..1) <"The credit rating scale, with a typical distinction between short term, long term. FpML doesn't specify a default scheme, which is hence not specified as an enumeration as part of the CDM."> + [metadata scheme] + [synonym FpML_5_10 value "scale" meta "creditRatingScaleScheme"] + debt CreditRatingDebt (0..1) <"The credit rating debt type (e.g. long term, high yield, deposits, ...) associated with the credit rating notation and scale."> + [synonym FpML_5_10 value "debt"] + + +type CreditNotations: <"The credit rating notation higher level construct, which provides the ability to specify multiple rating notations."> + [synonym FpML_5_10 value "CreditNotations"] + + creditNotation CreditNotation (0..1) <"This attribute is specified when only one credit notation is determined."> + [synonym FpML_5_10 value "creditNotation"] + creditNotations MultipleCreditNotations (0..1) <"This attribute provides the ability to specify several credit notations, alongside an 'any' or 'all' or all condition."> + condition: one-of + +type CreditRatingDebt: <"The credit rating debt type(s) associated with the credit rating notation and scale. When several debt types are specified, they must be qualified through an 'any' or 'all'."> + [synonym FpML_5_10 value "CreditRatingDebt"] + + debtType string (0..1) <"This attribute is to be specified when only one debt type is specified. FpML doesn't specify values in relation to the associated scheme, which is hence not specified as an enumeration as part of the CDM."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "debtTypeScheme"] + debtTypes MultipleDebtTypes (0..1) <"This attribute provides the ability to specify several debt types, alongside an 'any' or 'all' or all condition. As an example, Baa1 rating is required for any long term debt and deposit."> + condition: one-of + +type CreditSupportAgreementElections: <"The set of elections which specify a Credit Support Annex or Deed."> + + regime Regime (1..1) <"The Regime Table provision , which determines the regulatory regime(s) applicable to each of the parties to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "Regimes"] + oneWayProvisions OneWayProvisions (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 value "one_way_provisions"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (a)"] + generalSimmElections GeneralSimmElections (1..1) <"The specification of the ISDA SIMM Method for all Covered Transactions with respect to all Regimes."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (e)"] + identifiedCrossCurrencySwap boolean (0..1) <"The qualification of whether cross-currency swaps need to be identified in the Confirmation so that the obligations to exchange principal be disregarded for the purpose of determining the Delivery Amount or Return Amount."> + [synonym ISDA_Create_1_0 set to True when "cross_currency_swap->yey_ney" = "true", set to False when "cross_currency_swap->yey_ney" = "false"] + // [documentReference Euroclear CtaInitialMargin 2018 paragraph "13" section "(g)"] + sensitivityMethodologies SensitivityMethodologies (1..1) <"The specification of methodologies to compute sensitivities specific to the agreement."> + fxHaircutCurrency FxHaircutCurrency (0..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + [synonym ISDA_Create_1_0 value "fx_haircut_percentage"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "(h)"] + postingObligations PostingObligations (1..1) <"The security providers posting obligations."> + [synonym ISDA_Create_1_0 value "chargor_posting_obligations"] + [synonym ISDA_Create_1_0 value "pledgor_posting_obligations"] + [synonym ISDA_Create_1_0 value "obligor_posting_obligations"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "General Principles (ii)"] + substitutedRegime SubstitutedRegime (1..1) <"The specification of Additional regimes for purposes of determining whether a Regulatory Event has occurred."> + [synonym ISDA_Create_1_0 value "substituted_regimes"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (k)"] + baseCurrency string (1..1) <"The base currency for the document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "1"] + additionalObligations string (0..1) <"The additional obligations that might be specified by the parties to a Credit Support Agreement."> + [synonym ISDA_Create_1_0 value "additional_obligations_specify" path "additional_obligations" set when "additional_obligations->additional_obligations" = "specify"] + creditSupportObligations CreditSupportObligationsInitialMargin (1..1) <"The Credit Support Obligations applicable to the agreement. "> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3"] + calculationAndTiming CalculationAndTiming (1..1) <"The set of elections for determining Valuation and Timing terms specific to the agreement"> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections that may overwrite the default Condition Precedent provision, and the set of provisions that are deemed Access Condition."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "5"] + substitution Substitution (1..1) <"The conditions under which the Security Provider can substitute posted collateral."> + [synonym ISDA_Create_1_0 value "consent"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "f"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "6"] + rightsEvents RightsEvents (1..1) <"The bespoke provisions that might be specified by the parties to the agreement to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred.."> + custodyArrangements CustodyArrangements (1..1) <"The Custodian and Segregated Account details in respect of each party to the agreement."> + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "m"] + additionalRepresentations AdditionalRepresentations (1..1) <"The specification Additional Representations that may be applicable to the agreement."> + otherEligibleAndPostedSupport OtherEligibleAndPostedSupport (1..1) <"The Other Eligible Support elections associated with margin agreements."> + demandsAndNotices ContactElection (0..1) <"The optional specification of address where the demands, specifications and notices will be communicated to for each of the parties to the agreement."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "12"] + addressesForTransfer ContactElection (0..1) <"The optional specification of address for transfer as specified by the respective parties to the agreement."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "12"] + otherCsa OtherAgreements (0..1) <"The bespoke definition of Other CSA as specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "other_csa"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "13"] + japaneseLawCsa OtherAgreements (0..1) <"The bespoke definition of whether Japanese Law CSA (VM) are specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (s)(ii): Japanese Law CSA (VM)."> + [synonym ISDA_Create_1_0 value "japanese_law_csa_vm"] + terminationCurrencyAmendment TerminationCurrencyAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Termination Currency. Unless specified the definition of Termination Currency has the meaning specified in the Schedule to the ISDA Master Agreement."> + [synonym ISDA_Create_1_0 value "amendment_to_termination_currency"] + [synonym ISDA_Create_1_0 value "pledgor_posting_obligations"] + [synonym ISDA_Create_1_0 value "chargor_posting_obligations"] + [synonym ISDA_Create_1_0 value "obligor_posting_obligations"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "13"] + minimumTransferAmountAmendment MinimumTransferAmountAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Minimum Transfer Amount. Unless specified the definition of Minimum Transfer Amount in any Other Regulatory CSA has the meaning specified in such Other Regulatory CSA."> + [synonym ISDA_Create_1_0 value "amendment_to_minimum_transfer_amount" mapper "MinimumTransferAmountAmendment"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "14"] + interpretationTerms string (0..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Interpretations."> + [synonym ISDA_Create_1_0 value "paragraph_10ki_specify" path "interpretation" set when "interpretation->paragraph_10ki_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_11g_specify" path "interpretation" set when "interpretation->paragraph_11g_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_11j_specify" path "interpretation" set when "interpretation->paragraph_11j_is" = "specify"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "15"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + appropriatedCollateralValuation AppropriatedCollateralValuation (0..1) <"The election for the Valuation of Appropriate Collateral."> + [synonym ISDA_Create_1_0 value "valuation_of_appropriated_collateral"] + // [documentReference ISDA CsdInitialMargin 2016 paragraph "13" section "v"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms relevant to the agreement."> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + trustSchemeAddendum boolean (1..1) <"The qualification of whether Trust Scheme Addendum is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "trust_scheme_addendum->is_applicable" = "applicable", set to False when "trust_scheme_addendum->is_applicable" = "not_applicable"] + +type CreditSupportObligationsInitialMargin: <"A class to specify the Credit Support Obligations applicable to the Initial Margin Credit Support Annex and which are common among the English, Japanese and New York governing laws. This excludes the Other Eligible Support election (which only applies to the Japanese Law and New York Law agreements) and the Transfer Timing election (which only applies to the English Law and the New York Law agreements). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c): Credit Support Obligations. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d): Credit Support Obligations. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c): Credit Support Obligations."> + + marginApproach MarginApproach (0..1) <"The selection of Margin Approach applicable to the agreement."> + [synonym ISDA_Create_1_0 value "selection_of_margin_approach"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(a)"] + threshold Threshold (1..1) <"The amount of net exposure that a party is willing to bear in relation to the other party before it requires asking for collateral. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(A): Threshold. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold."> + [synonym ISDA_Create_1_0 value "threshold" mapper "Threshold"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(b)(ii)"] + minimumTransferAmount MinimumTransferAmount (1..1) <"The net amount of exposure reached before collateral has to be posted or returned. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(B): Minimum Transfer Amount. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount."> + [synonym ISDA_Create_1_0 value "minimum_transfer_amount" mapper "MinimumTransferAmount"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(b)(i)"] + rounding CollateralRounding (0..1) <"The rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(C): Rounding. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding."> + [synonym ISDA_Create_1_0 value "rounding"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(c)(v)(C)"] + bespokeTransferTiming BespokeTransferTiming (0..1) <"The time by which the transfer of collateral must take place when different from the Regular Settlement Day as a result of parties' election."> + [synonym ISDA_Create_1_0 value "transfer_timing"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(c)(vi)"] + +type CreditSupportObligationsVariationMargin: <"A class to specify the Credit Support Obligations applicable to the Variation Margin Credit Support Annex and which are common among the English, Japanese and New York governing laws. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c): Credit Support Obligations."> + + eligibleCollateral EligibleCollateralVariationMargin (1..1) <"The eligible collateral elections by the parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + ineligibleCreditSupport IneligibleCreditSupport (1..1) <"The parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + majorCurrency string (1..*) <"The set of currencies that are specified as Major Currency for the purpose of applying the FX Haircut Percentage. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(v)(B): FX Haircut Percentage."> + [metadata scheme] + // In relation to the above, are the parties expected to always specify the major currencies, or should we have default values specified in the template, deemed to apply if no election by the parties? The current model assumes the former. + fxHaircut number (1..1) <"The FX haircut percentage that applies to each party (as the pledgor/chargor/obligor) and item of Eligible Collateral unless this item is denominated in a Major Currency or in the Base Currency. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(v)(B): FX Haircut Percentage."> + // Same question as above: does the template specifies 8% as a default value? + minimumTransferAmount MinimumTransferAmount (1..1) <"The net amount of exposure reached before collateral has to be posted or returned. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vii)(A): Minimum Transfer Amount."> + rounding CollateralRounding (1..1) <"The rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vii)(B): Rounding."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type Csa: <"An abstract class to specify the provisions for a ISDA Credit Support Annex that are common among vintages, governing laws and across IM and VM."> + + documentationIdentification DocumentationIdentification (0..1) <"The identification of the legal document(s) that govern the contract through some of the key terms of such document(s): type of document, the document identifier, the publisher, the document vintage and the agreement date."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type Csa2016 extends Csa: <"An abstract class to specify the provisions for the 2016 ISDA Credit Support Annex that are common among governing laws and across Initial and Variation Margin."> + + baseCurrency string (1..1) <"The base currency for the Credit Support Annex document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes. ISDA 2016 CSA for Initial Margin, Paragraph 13 (a) | ISDA 2016 CSA for Variation Margin, Paragraph 13 (a)."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + additionalObligations string (0..1) <"The additional obligations that might be specified by the parties to an ISDA CSA. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (b)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(ii). | ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (b)(ii)."> + [synonym ISDA_Create_1_0 value "additional_obligations_specify" path "additional_obligations" set when "additional_obligations->additional_obligations" = "specify"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections specified in Paragraph 13 that may overwrite the default Condition Precedent provision as specified in ISDA 2016 Credit Support Annex for Initial Margin, Paragraph 4, (a), and the set of provisions that are deemed Access Condition (Initial Margin) and Specified Condition (Variation Margin). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Conditions Precedent. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + substitution Substitution (1..1) <"The conditions under which the Pledgor/Obligor/Chargor can substitute posted collateral. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (f): Substitution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Substitution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Substitution. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (f): Substitution."> + [synonym ISDA_Create_1_0 value "consent"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (h): Dispute Resolution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (g): Dispute Resolution."> + [synonym ISDA_Create_1_0 value "resolution_time"] + additionalRepresentation AdditionalRepresentation (1..1) <"ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (o): Additional Representation(s). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (k): Additional Representation(s)."> + [synonym ISDA_Create_1_0 value "additional_representations"] + demandsAndNotices ContactElection (1..1) <"The address where the demands, specifications and notices will be communicated to within each of the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (q): Demands and Notices. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (m): Demands and Notices."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + addressesForTransfer ContactElection (1..1) <"The address for transfer as specified by the respective parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (r): Addresses for Transfers. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (n): Addresses for Transfers."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + bespokeProvision string (0..1) <"The bespoke provision that might be specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (u)(iii): Other Provisions. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (p): Other Provisions."> + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + umbrellaAgreement UmbrellaAgreement (0..1) <"The determination of whether Umbrella Agreement terms are applicable (True) or Not Applicable (False)."> + [synonym ISDA_Create_1_0 value "umbrella_agreement_and_principal_identification", "principal_identification_schedule" path "umbrella_agreement_and_principal_identification"] + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type CsaVariationMargin2016 extends Csa2016: <"An abstract class to specify the provisions for the 2016 ISDA Credit Support Annex for Variation Margin that are common among governing laws."> + + creditSupportObligations CreditSupportObligationsVariationMargin (1..1) <"The Credit Support Obligations applicable to the Variation Margin Credit Support Annex. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c): Credit Support Obligations."> + valuationAgent Party (1..1) <"The Valuation Agent as specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(i): Valuation Agent."> + [metadata reference] + valuationDateLocation CalculationDateLocation (1..1) <"The business location elected by the respective parties to the agreement as the Valuation Date Location. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(ii): Valuation Date Location."> + valuationTime BusinessCenterTime (1..*) <"ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(iii): Valuation Time."> + // In relation to the above, need to confirm that several valuation times can be specified, as suggested by the sample document which has been used, although this sounds peculiar if not expressed as one valuation time election per party + notificationTime int (1..1) <"The extend of time by which a demand for the Transfer of Eligible Credit Support (VM) or Posted Credit Support (VM) needs to be made after the relevant Valuation Time in order for the transfer to take place. This time is expressed in a number of minutes. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(iv): Notification Time."> + // TODO - Look to express this elapse time as an interval time, to be projected as a a java Interval type https://trello.com/c/hclQUeS0 + holdingAndUsingPostedCollateral HoldingAndUsingPostedCollateral (1..1) <"The elections for the holding and using of posted collateral by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + creditSupportOffsets boolean (1..1) <"When True the Credit Support Offsets provisions in Paragraph 11(j) of the ISDA 2016 Credit Support Annex for Variation Margin apply. They don't apply when False. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (j): Credit Support Offsets."> + otherCsa OtherAgreements (1..1) <"The qualification of whether Other CSA are specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (o): Other CSA."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type CsaVariationMargin2016NewYorkLaw extends CsaVariationMargin2016: <"A class to specify the provisions that are specific to the New York Law version of the ISDA 2016 Credit Support Annex for Variation Margin."> + + otherEligibleSupport string (0..1) <"The Other Eligible Support election. If not specified, this election is deemed as not applicable. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vi): Other Eligible Support (VM)."> + transferTiming string (1..1) <"The time by which the transfer of collateral must take place after the Notification Time on the Regular Settlement Day. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(viii): Transfer Timing."> + otherEligibleAndPostedSupport OtherEligibleAndPostedSupport (1..1) <"The Other Eligible Support elections associated with margin agreements. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (l): Other Eligible Support (VM) and Other Posted Support (VM)."> + +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type EquitySwapMasterConfirmation2018 extends EquityMasterConfirmation: <"Specification for the General Terms and Relationship Supplement Elections as provided in the 2018 ISDA CDM Equity Confirmation for Security Equity Swap."> + + typeOfSwapElection ReturnTypeEnum (1..1) <"Part 1 Section 4, 'Dividend Obligations', of the 2018 ISDA CDM Equity Confirmation, Para 4.2 'Dividend Returns': The Type Of Swap Election shall be 'Total Return', unless otherwise specified (as alternative 'Price Return') in the Transaction Supplement."> + pricingMethodElection PriceReturnTerms (1..1) <"Part 1 Section 5, 'Pricing', of the 2018 ISDA CDM Equity Confirmation, Para 5.1, 'Determining Prices': Each price in relation to a Pricing Date shall be determined pursuant to the specified Pricing Method. The relevant price specified under the column header 'Price' for a corresponding Pricing Date specified under the column header 'Pricing Date' shall be determined using the corresponding method specified under the column header 'Pricing Method'. Pricing Method for the final Equity Valuation Date shall be specified by the Final EVD Pricing Election and Pricing Method for any other Equity Valaution Date shall be 'Securities Close Pricing (Official)'"> + // TODO: the initialPrice attribute should be optional in PriceReturnTerms, only the valuationPriceInterim and valuationPriceFinal methods should be specified at the Swap level + linearInterpolationElection InterpolationMethodEnum (1..1) <"Part 1 Section 3, 'Floating Obligations', of the 2018 ISDA CDM Equity Confirmation. Para 3.3, 'Linear Interpolation': If the initial Calculation Period is not equal to the Designated Maturity, then the Linear Interpolation Election shall be as specified in the Relationship Supplement, unless otherwise specified in the Transaction Supplement."> + settlementTerms SettlementTerms (1..1) <"Part 1 Section 8, 'Settlement', of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap. All Settlements are in Cash."> + equityCalculationPeriod CalculationPeriodDates (1..1) <"The parameters used to generate the 'Equity Valuation Dates' schedule, including the Effective Date and Termination Date for the Swap."> + equityCashSettlementDates PaymentDates (1..1) <"The parameters used to generate the payment date schedule, relative to the equityCalculationPeriod. Part 1 Section 12, 'Definitions', of the 2018 ISDA CDM Equity Confirmation. Para 73: 'Equity Cash Settlement Date' means each date falling one Settlement Cycle after an Equity Valuation Date; provided that if any such date is not a Settlement Currency Business Day, then such date shall be adjusted per Following Day Adjustment."> + +// TODOs: Averaging Election, Dividend Payment Date Election, Break Funding Election +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type EquityMasterConfirmation extends MasterConfirmationBase: <"Specification for General Terms and Elections of an Equity Master Confirmation that is applicable across multiple Equity confirmations and is referenced by each of these confirmations, an example of which being the 2018 ISDA CDM Equity Confirmation for Security Equity Swap."> + +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type MasterConfirmationBase: <"Legal agreement specification for General Terms and Elections that are applicable across multiple confirmations and are referenced by these confirmations."> + +type Custodian: <"A class to specify the custodian and custody account details for each party to the agreement."> + + partyElection CustodianElection (2..2) <"The party specific elections."> + +type CustodianElection: <"A class to specify the custodian and custody account details for each party to the agreement."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_custodian_name" exists, set to "partyB" when "partyB_custodian_name" exists] + custodian LegalEntity (0..1) <"The custody agent. While ISDA Create only specifies the custodian's name, specifying the legal entity as part of the CDM is deemed more appropriate, while this will still provide the ability to accommodate situations where only the entity name is available, as the entityId attribute is optional as part of the LegalEntity class."> + [synonym ISDA_Create_1_0 value "custodian_name"] + [synonym ISDA_Create_1_0 value "collateral_manager"] + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + segregatedCashAccount Account (0..1) <"The identification of the segregated cash account for the purpose of holding cash collateral."> + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + // TODO - Need for a mapping logic that will parse the ISDA Create suffix to identify cash vs. security with custodian_and_segregated_account_details as a path + segregatedSecurityAccount Account (0..1) <"The identification of the segregated security account for the purpose of holding security collateral."> + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + // TODO - Need for a mapping logic that will parse the ISDA Create suffix to identify cash vs. security with custodian_and_segregated_account_details as a path + + +type CustodianEvent: <"A class to specify the Custodian Event (English Law & New York Law ISDA CSA) and the Collateral Manager Event (Japanese Law ISDA CSA) in terms of applicability and end-date. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(iii): Custodian Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(ii): Collateral Manager Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Custodian Event."> + + isApplicable boolean (1..1) <"The qualification as to whether the Custodian Event (English Law & New York Law ISDA CSA) or the Collateral Manager Event (Japanese Law ISDA CSA) is applicable."> + [synonym ISDA_Create_1_0 set to True when "custodian_event->definition" = "applicable", set to False when "custodian_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "euroclear_event->definition" = "applicable", set to False when "euroclear_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "clearstream_event->definition" = "applicable", set to False when "clearstream_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "collateral_manager_event->definition" = "applicable", set to False when "collateral_manager_event->definition" = "not_applicable"] + endDate CustodianEventEndDate (0..1) <"The qualification of the Custodian Event (English Law & New York Law ISDA CSA) or Collateral Manager Event (Japanese Law ISDA CSA) End Date."> + [synonym ISDA_Create_1_0 value "ce_end_date"] + [synonym ISDA_Create_1_0 value "ee_end_date"] + [synonym ISDA_Create_1_0 value "cme_end_date"] + +type CustodianEventEndDate: <"A class to specify the Custodian Event (English Law & New York Law ISDA CSA) or Collateral Manager Event (Japanese Law ISDA CSA) End Date. Its qualification is function of three elective periods: either (i) a specified number of days after the occurrence of the Custodian Event (the daysAfterCustodianEvent attribute), or (ii) the number of days prior to the date on which the Control Agreement will terminate, with in this latter case (iii) the further qualification of the number of days prior to the Release Date if only one party has effectively provided the Timely Statement to the other party. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(iii): CE End Date. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(ii): CME End Date. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): CE End Date."> + + daysAfterCustodianEvent CustomisableOffset (1..1) <"The parties' election to specify the number of days after the occurrence of the Custodian Event (English Law & New York Law ISDA CSA) or the Collateral Management Event (Japanese Law ISDA CSA) for the purpose of qualifying the CE/CME End Date."> + // TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `after` + [synonym ISDA_Create_1_0 value "days_after_custodian_event"] + releaseDate CustomisableOffset (1..1) <"The parties' election to specify the number of days prior to the termination of the Control Agreement (English Law & New York Law ISDA CSA) or the Collateral Management Event (Japanese Law ISDA CSA) for the purpose of qualifying the CE/CME End Date, in the case where advance notice is given."> + // TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `release` + [synonym ISDA_Create_1_0 value "release_days"] + dateOfTimelyStatement CustomisableOffset (1..1) <"The parties' election to specify the number of days one party has effectively provided the Timely Statement to the other party."> + [synonym ISDA_Create_1_0 value "days_after_timely_statement"] + +// TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `timely` or `date_of_timely` +type CustodianRisk: <"A class to specify the Custodian Risk elections specific to a Credit Support Agreement."> + + partyElection CustodianRiskElection (1..2) <"The party specific elections."> + +type CustodianRiskElection: <"A class to specify the Custodian Risk (English Law and New York Law ISDA CSA) and the Collateral Manager Risk (Japanese Law ISDA CSA) election. | ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk. | ISDA 2018 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(i): Collateral Manager Risk. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk."> + + party string (0..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_custodian_risk" = "other", set to "partyA" when "partyA_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_custodian_risk" = "other", set to "partyB" when "partyB_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_collateral_manager_risk" = "other", set to "partyA" when "partyA_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_collateral_manager_risk" = "other", set to "partyB" when "partyB_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_clearstream_risk" = "other", set to "partyA" when "partyA_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_clearstream_risk" = "other", set to "partyB" when "partyB_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_euroclear_risk" = "other", set to "partyA" when "partyA_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_euroclear_risk" = "other", set to "partyB" when "partyB_euroclear_risk" = "not_specified"] + isSpecified boolean (1..1) <"The qualification as to whether the risk is deemed as Specified."> + [synonym ISDA_Create_1_0 set to True when "partyA_custodian_risk" = "other", set to False when "partyA_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_custodian_risk" = "other", set to False when "partyB_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_collateral_manager_risk" = "other", set to False when "partyA_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_collateral_manager_risk" = "other", set to False when "partyB_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_clearstream_risk" = "other", set to False when "partyA_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_clearstream_risk" = "other", set to False when "partyB_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_euroclear_risk" = "other", set to False when "partyA_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_euroclear_risk" = "other", set to False when "partyB_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_6b" = "specified", set to False when "paragraph_6b" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_6a" = "specified", set to False when "paragraph_6a" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_5_2" = "specify", set to False when "paragraph_5_2" = "not_specified"] + qualification string (0..1) <"The Custodian Risk (English Law and New York Law ISDA CSA) or Collateral Manager Risk (Japanese Law ISDA CSA) qualification. This attribute is optional because the Custodian Risk provision can be deemed as 'Specified', although not be qualified through this attribute."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + [synonym ISDA_Create_1_0 value "paragraph_6b_specify" set when "paragraph_6b" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_6a_specify" set when "paragraph_6a" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_5_2_specify" set when "paragraph_5_2" = "specify"] + + + condition Specified: <"The Custodian Risk (English Law and New York Law ISDA CSA) or Collateral Manager Risk (Japanese Law ISDA CSA) should only be qualified if that risk is deemed 'specified'."> + if isSpecified = False + then qualification is absent + +type CustodianTerms: <"A class to specify the requirements applicable to the custodian with respect to the holding of posted collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(i): Eligibility to Hold Posted Collateral (VM) Custodians (VM)."> + [synonym FpML_5_10 value "CustodianTerms"] + + /* + * This class leverages the FpML representation for the ISDA Standard CSA for the purpose of normalizing the election + * in the ISDA CSA 2016 for Variation Margin, Paragraph 13, (h)(i)(2). + */ + minimumAssets Money (0..1) <"The minimal level of assets requirement with respect to the custody agent."> + [synonym FpML_5_10 value "minimumAssets"] + minimumRating CreditNotations (0..1) <"The minimal rating requirement with respect to the custody agent."> + [synonym FpML_5_10 value "minimumRating"] + initialDesignation LegalEntity (0..1) <"The 2016 ISDA CSA for Variation Margin provides the ability for the parties to specify the initial custodian."> + +type CustodyArrangements: <"A class to specify the Custody Arrangements for the agreement."> +// <"A class to specify the Custody Arrangements for the English Law and New York Law ISDA Credit Support Annex. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Custody Arrangements."> + isCreditSupportDocument boolean (0..1) <"Unless specified as True, the Control Agreement is not a Credit Support Document under the agreement with respect to a party. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 6 (e): The Control Agreement as a Credit Support Document."> + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->definition" = "creditSupportDocument", + set to False when "control_agreement_as_a_credit_support_document->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "collateral_management_agreement_as_a_credit_support_document->definition" = "creditSupportDocument", + set to False when "collateral_management_agreement_as_a_credit_support_document->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->definition" = "creditSupportDocument", + set to False when "euroclear_agreements_as_credit_support_documents->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->definition" = "creditSupportDocument", + set to False when "clearstream_agreements_as_credit_support_documents->definition" = "not_specified"] + hasControlAgreementLanguage boolean (0..1) <"Control Agreement language is specified when True."> + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->include_language" = "include", set to False when "relationship_with_the_control_agreement->include_language" = "exclude"] + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_collateral_management_agreement->include_language" = "include", + set to False when "relationship_with_the_collateral_management_agreement->include_language" = "exclude"] + // TODO - add Condition for hasControlAgreement - include when 2016, exclude when 2018 (captured under CustodyArrangementsElection) + otherProvisions string (0..1) <"ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(vii): Other Provisions."> + [synonym ISDA_Create_1_0 value "specify" path "other_provisions" set when "other_provisions->specify_provisions" = "specify"] + // TODO - add Condition for otherProvisions - include when 2016, exclude when 2018 (captured under CustodyArrangementsElection) + collateralAccessBreach CollateralAccessBreach (0..1) <"The elections specific to Collateral Access Breach language"> + [synonym ISDA_Create_1_0 value "collateral_access_breach_additional_termination_event"] + [synonym ISDA_Create_1_0 value "collateral_access_breach"] + custodianRisk CustodianRisk (0..1) <"The qualification of the Custodian Risk. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk."> + [synonym ISDA_Create_1_0 value "custodian_risk"] + [synonym ISDA_Create_1_0 value "collateral_manager_risk"] + [synonym ISDA_Create_1_0 value "euroclear_risk"] + [synonym ISDA_Create_1_0 value "clearstream_risk"] + controlAgreement ControlAgreement (0..1) <"The party-specific election with respect to the control agreement."> + custodianEvent CustodianEvent (1..1) <"When specified as True, means that the Custodian Events specified in Paragraph 13 General Principles, (m)(iii) will constitute an Additional Termination Event. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(iii): Custodian Event."> + custodian Custodian (0..1) <"The custodian and segregated account details for each party to the agreement."> + collateralManagementAgreeement CollateralManagementAgreement (0..1) <"ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(i): Collateral Management Agreement."> + [synonym ISDA_Create_1_0 value "collateral_management_agreement"] + distributionAndInterestPayment DistributionAndInterestPayment (0..1) <"The Distributions and Interest Payment as part of the Japanese Law ISDA CSA. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM)."> + +type CustomisableOffset: <"A class to specify an offset either as a normalized [multiplier, period, dayType] or as a custom provision of type string."> + + offset Offset (0..1) + customProvision string (0..1) + +type DeliveryAmount: <"A class to specify the application of Interest Amount with respect the Delivery Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + standardElection DeliveryAmountElectionEnum (0..1) <"The standard election as specified by an enumeration."> + [synonym ISDA_Create_1_0 value "delivery_amount"] + customElection string (0..1) <"The custom election that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify_delivery_amount"] + condition: one-of + +type DisputeResolution: <"A class to specify the election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support. Parties can specify such election either through a business center time or through a custom election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (h): Dispute Resolution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution."> + + resolutionTime BusinessCenterTime (0..1) <"The time by which the dispute needs to be resolved, failure of which would trigger a recalculation alongside a process that is specified as part of the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g)(i): Resolution Time. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (g)(i): Resolution Time."> + [synonym ISDA_Create_1_0 value "resolution_time" set when "resolution_time->specified" = "true"] + otherTerms string (0..1) <"The custom Resolution Time election that might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify" path "resolution_time" set when "resolution_time->specified" = "false"] + // condition: one-of //TODO replace condition when resolutionTime exists otherTerms is absent + recalculationOfValue RecalculationOfValue (0..1) <"The elections to specify terms for recalculation of the market value of posted collateral."> + [synonym ISDA_Create_1_0 value "recalculation_of_value"] + [synonym ISDA_Create_1_0 value "recalculation_of_market_value"] + +type DistributionAndInterestPayment: <"A class to specify the Distributions and Interest Payment provisions applicable to the Japanese Law ISDA 2016 CSA for Initial Margin and the New York Law ISDA 2016 CSA for Variation Margin. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i): Distributions and Interest Payment (VM)."> + + interestRate EligibleCurrencyInterestRate (1..*) <"The interest rate associated with initial or variation margin collateral, depending upon the type of credit agreement that this election is associated with. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(i): Interest Rate (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(i): Interest Rate (VM)."> + [synonym ISDA_Create_1_0 value "eligible_currencies" path "interest_rate"] + interestPaymentTransfer boolean (1..1) <"The Interest Payment Transfer is applicable when True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Transfer of Interest Payment (IM) or application of Interest Amount (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 set to True when "interest_transfer->interest_transfer" = "applicable", set to False when "interest_transfer->interest_transfer" = "not_applicable"] + interestPaymentNetting boolean (1..1) <"The Interest Payment Netting is applicable when True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Transfer of Interest Payment (IM) or application of Interest Amount (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 set to True when "interest_payment_netting->interest_payment_netting" = "applicable", set to False when "interest_payment_netting->interest_payment_netting" = "not_applicable"] + interestAmount InterestAmount (1..1) <"The application of Interest Amount with respect to the Delivery Amount and the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + [synonym ISDA_Create_1_0 value "return_amount_delivery_amount"] + interestAdjustment InterestAdjustment (1..1) <"To election to specify whether the Interest Adjustment is applicable and what its periodicity is. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 value "interest_adjustment"] + negativeInterest boolean (1..1) <"Negative Interest is applicable when True, and not applicable when False. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Other Interest Elections. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iii): Other Interest Elections."> + [synonym ISDA_Create_1_0 set to True when "negative_interest->negative_interest" = "applicable", set to False when "negative_interes->negative_interest" = "not_applicable"] + dailyInterestCompounding boolean (1..1) <"Daily interest compounding is applicable when True, and not applicable when False. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Other Interest Elections. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iii): Other Interest Elections."> + [synonym ISDA_Create_1_0 set to True when "daily_interest_compounding->daily_interest_compounding" = "applicable", set to False when "daily_interest_compounding->daily_interest_compounding" = "not_applicable"] + alternativeProvision string (0..1 ) <"When the alternative provision clause is specified, it means that the ISDA CSA Japanese Law provisions specified in Paragraph 6(c)(ii) don't apply and are overwritten by this election. When it is not specified, it means that the ISDA CSA Japanese Law provisions specified in Paragraph 6(c)(ii) apply. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iv): Alternative to Interest Amount (IM) and Interest Payment (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iv): Alternative to Interest Amount (VM) and Interest Payment (VM)."> + [synonym ISDA_Create_1_0 value "specify" path "alternative_to_interest_amounts_and_interest_payment" set when "alternative_to_interest_amounts_and_interest_payment->specify_alternative" = "true"] + +// Note: Threshold, MinimumTransferAmount and MinimumTransferAmountAmendment class map to this one +type ElectiveAmountElection: <"A class to specify the party elective amounts which can be used for the purpose of specifying elections such as the ISDA CSA Threshold and Minimum Transfer Amount."> + + party string (1..1) <"The elective party."> + zeroAmount boolean (1..1) <"A boolean election to express that the elective amount is zero (True) or another value (False)."> + amount Money (0..1) <"The elective amount when expressed as a currency amount. The associated PartyElectiveAmount_amount data rule enforces that the currency amount is actually greater than 0."> + customElection string (0..1) <"The elective amount when expressed as a custom election by the party."> + + condition NonZeroAmount: <"When the elective amount is not zero either a currency amount or a custom election must exist."> + if zeroAmount = False then (amount or customElection) exists + +type EligibilityToHoldCollateral: <"A class to specify the conditions under which a party and its custodian(s) are entitled to hold collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(i): Eligibility to Hold Posted Collateral (VM) Custodians (VM)."> + [synonym FpML_5_10 value "EligibilityToHoldCollateral"] + /* + * This class leverages work in the context of the FpML representation for the ISDA Standard CSA for the purpose of normalizing this election + * Those provisions go beyond what is specified as part of the 2016 CSA, which election has not yet been normalized + */ + partyTerms HoldingPostedCollateralEnum (1..*) <"The condition(s) required by a party from the other party to hold its posted collateral."> + [synonym FpML_5_10 value "holdingPostedCollateral"] + custodianTerms CustodianTerms (0..1) <"The restrictions that might be required by a party from the other party's custodian agent to hold its posted collateral."> + [synonym FpML_5_10 value "custodianTerms"] + eligibleCountry string (0..*) <"The restrictions that might be required by a party from the other party in terms of country(ies) where collateral can be held."> + [metadata scheme] + [synonym FpML_5_10 value "eligibleCountry"] + +type EligibleCollateralVariationMarginElection: <"A class to specify the parties' elections with respect to the eligible collateral for each of the respective parties when acting as a pledgor/chargor/obligor. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + + party Party (1..1) <"The elective party."> + [metadata reference] + eligibleCollateral EligibleCollateral (1..*) <"The eligible collateral for the specified party (acting as the Pledgor in the New York Law agreement, as the Chargor in the English Law deed and as the Obligor in the Japanese Law agreement). ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + +type EligibleCollateralVariationMargin: <"A class to specify the eligible collateral elections by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + + // TODO: change cardinality to (2..2) when Ingestion process is able to support normalising external models (https://trello.com/c/TnJWvKes) + partyElection EligibleCollateralVariationMarginElection (1..1) <"The parties' eligible collateral elections."> + +type EligibleCurrencyInterestRate: <"A class to specify the interest rate associated with initial margin collateral. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM)."> + + currency string (1..1) <"The eligible currency."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "eligible_currency"] + interestRate number (1..1) <"The interest rate associated with the eligible currency."> + [synonym ISDA_Create_1_0 value "interest_rate"] + actual365Currency string (1..1) // TODO - Need to clarify with Linklater what this attribute is + [synonym ISDA_Create_1_0 value "a365_currency"] + +type EnforcementEvent: <"A class to specify Enforcement Events specific to Security Agreements"> + + earlyTerminationDate boolean (1..1) <"The early termination election"> + [synonym ISDA_Create_1_0 set to True when "paid_in_full_language" = "include", set to False when "paid_in_full_language" = "exclude"] + failureToPay boolean (0..1) <"The failure to pay election"> + [synonym ISDA_Create_1_0 set to True when "failure_to_pay_early_termination_amount" = "applicable", set to False when "failure_to_pay_early_termination_amount" = "not_applicable"] + +type ExecutionLanguage: <"A class to specify execution language terms of a Security Agreement."> + standardLanguage boolean (1..1) <"A boolean attribute to determine if standard language is applicable or not"> + [synonym ISDA_Create_1_0 set to True when "execution_language" = "standard_language", set to False when "execution_language" = "other_execution_language"] + numberOfOriginals string (0..1) <"The number of original documents"> + [synonym ISDA_Create_1_0 value "number_of_originals"] + otherLanguage string (0..1) <"Bespoke execution language to be included when specified."> + [synonym ISDA_Create_1_0 value "specify_execution_language"] + + condition numberOfOriginals: <"A data rule to enforce that the number of original documents should only be specified when standard execution language is used."> + if standardLanguage = False + then numberOfOriginals is absent + + condition otherLanguage: <"A data rule to enforce that bespoke execution language must be included if non-standard execution language is specified."> + if standardLanguage = False + then otherLanguage exists + +type ExecutionLocation: <"A class to specify execution location terms of a Security Agreement"> + executionLocation ExecutionLocationEnum (1..1) <"The execution location of the agreement"> + [synonym ISDA_Create_1_0 value "location_of_execution"] + otherLanguage string (0..1) <"Bespoke execution location language to be included when specified."> + [synonym ISDA_Create_1_0 value "specify_location_of_execution"] + dutyPayer string (0..1) <"The payer of documentary duty"> + [synonym ISDA_Create_1_0 set to "PartyA" when "documentary_duty_payer" = "party_A", + set to "PartyB" when "documentary_duty_payer" = "party_B", + set to "Specify" when "documentary_duty_payer" = "other"] + dutyPayerLanguage string (0..1) <"Bespoke terms specific to the payment of documentary duty"> + [synonym ISDA_Create_1_0 value "specify_documentary_duty_payer"] // path "documentary_duty_payer"] + dutyPaymentDate date (0..1) <"The date that documentary duty will be paid"> + [synonym ISDA_Create_1_0 value "select_documentary_duty_date"] // set when "documentary_duty_date" = "select" + dutyPaymentLanguage string (0..1) <"Bespoke terms specific to the date that documentary duty will be paid"> + [synonym ISDA_Create_1_0 value "specify_documentary_duty_date_datepicker" set when "documentary_duty_date" = "other"] + +// TODO Data Rule required to enforce that Duty Payer should be absent if LocationEnum is ExecutedOutsideBelgium or Other (OR included if Enum is ExecutedInBelgium) + // condition dutyPayer: <"A data rule to enforce that Duty Payer language should be absent when the document is executed outside of Belgium."> + // if executionLocation = ExecutionLocationEnum->ExecutedOutsideBelgium + // then dutyPayer and dutyPayerLanguage and dutyPaymentDate and dutyPaymentLanguage is absent + + condition dutyPayerLanguage: <"A data rule to enforce that Duty Payer Language should only be specified when required"> + if dutyPayer = "Specify" + then dutyPayerLanguage exists + + condition dutyPaymentLanguage: <"A data rule to enforce that Duty Payment Language should be absent when a Duty Payment date is provided"> + if dutyPaymentDate exists then dutyPaymentLanguage is absent + + condition otherLanguage: <"A data rule to enforce that bespoke execution language must be included if non-standard execution language is specified."> + if executionLocation = ExecutionLocationEnum->OtherLocation + then otherLanguage exists + +type ExecutionTerms: <"A class to specify execution location and language of execution to determine duty to be paid."> + executionLanguage ExecutionLanguage (1..1) <"The bespoke execution language election."> + executionLocation ExecutionLocation (1..1) <"The bespoke execution location election."> + +type FrenchLawAddendum: <"A class to specify party specific elections when a Collateral Transfer Agreement is governed by French Law."> + + isApplicable boolean (1..1) <"The qualification of whether the French Law Addendum is deemed applicable by the parties (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + partyElection FrenchLawAddendumElection (2..2) <"The parties French Law Addendum Elections."> + + condition Applicable: <"A data rule to enforce that the French Law Addendum party elections must be specified when applicable."> + if isApplicable = True + then partyElection exists + +type FrenchLawAddendumElection: <"A class to specify party specific French Law Addendum language"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_french_law_addendum" = "specify", set to "partyA" when "partyA_french_law_addendum" = "not_applicable", + set to "partyB" when "partyB_french_law_addendum" = "specify", set to "partyB" when "partyB_french_law_addendum" = "not_applicable"] + isApplicable boolean (1..1) <"The qualification of whether the party elects specific language"> + [synonym ISDA_Create_1_0 set to True when "partyA_french_law_addendum" = "specify", set to False when "partyA_french_law_addendum" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_french_law_addendum" = "specify", set to False when "partyB_french_law_addendum" = "not_applicable"] + addendumLanguage string (0..1) <"The party specific language to be included in the agreement."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + + condition AddendumLanguage: <"A data rule to enforce that the French Law Addendum party language must be specified when applicable."> + if isApplicable = True then addendumLanguage exists + else if isApplicable = False then addendumLanguage is absent + +type FxHaircutCurrency: <"A class to specify the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + + isTerminationCurrency boolean (1..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is the Termination Currency when the Boolean value is set to True."> + [synonym ISDA_Create_1_0 set to True when "is_termination_currency" = "terminationCurrency", set to False when "is_termination_currency" = "fxCurrency"] + fxDesignatedCurrency string (0..1) <"When specified, the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "fx_designated_currency"] + + condition TerminationCurrency: <"The FX Designated Currency shouldn't be specified when the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is specified as the Termination Currency."> + if isTerminationCurrency = True + then fxDesignatedCurrency is absent + + condition FxDesignatedCurrency: <"The FX Designated Currency should be specified when the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is specified as not being the Termination Currency."> + if isTerminationCurrency = False + then fxDesignatedCurrency exists + +type GeneralSimmElections: <"A class to specify the ISDA SIMM as the Method for all Covered Transactions with respect to all Regimes. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ee)."> + + simmVersion SimmVersion (0..1) <"The qualification of the ISDA SIMM version that is specified for all Covered Transactions as specified by ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles, (ee)(1)."> + // ISDA Create for the 2016 IM NY Law only has the election for the SIMM calculation currency + [synonym ISDA_Create_1_0 value "version_of_ISDA_SIMM"] + simmCalculationCurrency SimmCalculationCurrency (1..1) <"The SIMM Calculation Currency, as specified for each of the parties to the CSA Initial Margin. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ee)(3)."> + [synonym ISDA_Create_1_0 value "simm_calculation_currency"] + +type HoldingAndUsingPostedCollateral: <"A class to specify the elections for the holding and using of posted collateral by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + + // TODO: change cardinality to (2..2) when Ingestion process is able to support normalising external models (https://trello.com/c/TnJWvKes) + partyElection HoldingAndUsingPostedCollateralElection (1..1) <"The parties' elections for the holding and using of posted collateral."> + +type HoldingAndUsingPostedCollateralElection: <"A class to specify the parties' elections related to the holding and using of posted collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + [synonym FpML_5_10 value "HoldingAndUsingPostedCollateral"] + + party Party (1..1) <"The elective party."> + [metadata reference] + [synonym FpML_5_10 value "partyReference"] + eligibilityToHoldCollateral EligibilityToHoldCollateral (1..1) <"The specification of the conditions under which a party and its custodian(s) are entitled to hold posted collateral."> + [synonym FpML_5_10 value "eligibilityToHoldCollateral"] + useOfPostedCollateral boolean (1..1) <"Specifies whether the party to the agreement has the right to rehypothecate the collateral held (True), i.e. whether the condition specified in Paragraph 6, (c) of the ISDA 2016 Credit Support Annex for Variation Margin apply. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(ii): Use of Posted Collateral (VM)."> + [synonym FpML_5_10 value "useOfPostedCollateral"] + +type IneligibleCreditSupport: <"A class to specify the parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + + specifiedParty Party (0..2) <"The parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to, as the Secured Party. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + [metadata reference] + +type InterestAdjustment: <"A class to specify whether the Interest Adjustment is applicable and what its periodicity is. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + isApplicable boolean (1..1) <"The Interest Adjustment is applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + periodicity InterestAdjustmentPeriodicity (1..1) <"The qualification of the Interest Adjustment periodicity."> + +type InterestAdjustmentPeriodicity: <"A class to specify the Interest Adjustment periodicity either through a standardized election or a custom one. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + standardElection InterestAdjustmentPeriodicityEnum (0..1) <"The Interest Adjustment periodicity when specified through a standardized election."> + [synonym ISDA_Create_1_0 value "timing"] + customElection string (0..1) <"The Interest Adjustment periodicity when specified through a custom election."> + [synonym ISDA_Create_1_0 value "specify" set when "timing" = "other"] + condition: one-of + +type InterestAmount: <"A class to specify the application of Interest Amount with respect to the Delivery Amount and the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + returnAmount ReturnAmount (1..1) <"The application of Interest Amount with respect the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + deliveryAmount DeliveryAmount (1..1) <"The application of Interest Amount with respect the Delivery Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + +type JapaneseSecuritiesProvisions: <"A class to specify Japanese Securities Provision elections."> + + isApplicable boolean (1..1) <"Japanese Securities Provisions are applicable when True and Not Applicable when False"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + relevantProvisionsElection boolean (0..1) <"Recommended Japanese Securities Provisions are applicable when True, additional Provisions are specified when False"> + [synonym ISDA_Create_1_0 set to True when "relevant_provisions" = "recommended_japanese", set to False when "relevant_provisions" = "specified"] + relevantProvisionsTerms string (0..1) <"Specific terms applicable to Recommended Japanese Securities Provisions"> + [synonym ISDA_Create_1_0 value "relevant_specify"] + amendmentsToJapaneseProvisions boolean (0..1) <"Additional Amendments to Japanese Securities Provisions are specified when True, and not specified when False"> + [synonym ISDA_Create_1_0 set to True when "amendments_to_japanese_provisions" = "amendments_specify", set to False when "amendments_to_japanese_provisions" = "amendments_not_specified"] + amendmentsToJapaneseProvisionsTerms string (0..1) <"Specific terms applicable to Additional Amendments to Japanese Securities Provisions"> + [synonym ISDA_Create_1_0 value "amendments_specify" maps 2] // TODO: remove "maps 2" once migration complete + + condition relevantProvisionsElection: <"A data rule to enforce that the specific terms applicable to Recommended Japanese Securities Provisions should be specified when required"> + if relevantProvisionsElection = True + then relevantProvisionsTerms is absent + + condition amendmentsToJapaneseProvisions: <"A data rule to enforce that the specific terms applicable to Additional Amendments to Japanese Securities Provisions should be specified when required"> + if amendmentsToJapaneseProvisions = False + then amendmentsToJapaneseProvisionsTerms is absent + +type JurisdictionRelatedTerms: <"A class to specify terms jurisdiction related terms."> + japaneseSecuritiesProvisions JapaneseSecuritiesProvisions (0..1) <"The Japanese Securities Provisions election."> + // [documentReference ISDAEuroclear CtaInitialMargin 2019 paragraph "13" section "19 (c)"] + [synonym ISDA_Create_1_0 value "japanese_securities_provisions"] + [synonym ISDA_Create_1_0 value "japanese_collateral_provisions"] + exclusiveJurisdiction boolean (0..1) <"Classification of optional exclusive jurisdiction terms"> + [synonym ISDA_Create_1_0 set to True when "jurisdiction->exclusive_jurisdiction" = "applicable", set to False when "jurisdiction->exclusive_jurisdiction" = "not_applicable"] + juryWaiver boolean (0..1) <"The Jury Waiver conditions specific to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "19 (b)"] + [synonym ISDA_Create_1_0 set to True when "jury_waiver->is_applicable" = "applicable", set to False when "jury_waiver->is_applicable" = "not_applicable"] + frenchLawAddendum FrenchLawAddendum (0..1) <"The French Law Addendum Provisions specific to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "19 (d)"] + [synonym ISDA_Create_1_0 value "french_law_addendum"] + +type LegalAgreement extends LegalAgreementBase: <"A class to specify the elections and variables that characterize a legal agreement."> + [metadata key] + [rootType] + + // agreementQualifier agreementType (0..1) <"The CDM agreement qualifier, which corresponds to the outcome of the isContract qualification logic. This value is derived by the CDM from the contract features."> + agreementTerms AgreementTerms (0..1) <"The set of elections specific to the contract"> + + condition agreementVerification: <"A validation rule to ensure that the agreement elections are associated with the correct legal agreement type as specified."> + if agreementTerms -> agreement -> securityAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->SecurityAgreement + + else if agreementTerms -> agreement -> creditSupportAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->CreditSupportDeed or agreementType -> name = LegalAgreementNameEnum->CreditSupportAnnex + + else if agreementTerms -> agreement -> collateralTransferAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->CollateralTransferAgreement + +type LegalAgreementBase: <"A class describing the legal agreement baseline information, other than the specialized elections: type of legal agreement, agreement date and effective date, parties to the agreement, ... The purpose of this abstract class is to provide the ability to associate a 'one of' feature to the LegalAgreement class as a way to enforce a systematic choice between its attributes."> + + agreementDate date (1..1) <"The date on which the legal agreement has been agreed between the parties. This corresponds to the Date of Deed in an English Law document."> + [synonym FpML_5_10 value "agreementDate" path "legalDocumentHeader"] + [synonym ISDA_Create_1_0 value "executionDate" path "answers->partyA->execution_date"] + [synonym ISDA_Create_1_0 value "collateral_transfer_agreement_date"] + [synonym ISDA_Create_1_0 value "master_agreement_date"] + [synonym ISDA_Create_1_0 value "partyA_date_of_security_agreement"] + [synonym ISDA_Create_1_0 value "partyB_date_of_security_agreement"] + effectiveDate date (0..1) <"The date on which the agreement is effective, if different from the agreement date. It is expected that it will most often correspond to the agreement date, although there could be situations where the parties will explicitly agree on a distinct effective date."> + [synonym FpML_5_10 value "effectiveDate" path "legalDocumentHeader"] + identifier Identifier (0..*) <"The legal agreement identifier. Several identifiers can be specified."> + [synonym FpML_5_10 value "partyDocumentIdentifier" path "legalDocumentHeader"] + lineage Lineage (0..1) <"The lineage into prior versions of this legal agreement or into other legal agreements that might be referenced by it."> + agreementType LegalAgreementType (1..1) <"The type of legal agreement, identified via a set of distinct attributes: name, publisher, governing law and version, e.g. ISDA 2013 Standard Credit Support Annex English Law."> + [synonym FpML_5_10 value "documentType"] + contractualParty Party (2..2) <"The two contractual parties to the legal agreement, which reference information is positioned as part of the partyInformation attribute."> + [metadata reference] + [synonym FpML_5_10 value "party"] + otherParty PartyRole (0..*) <"The role(s) that other party(ies) may have in relation to the legal agreement, further to the contractual parties."> + partyInformation Party (2..*) <"The information about the parties involved with the legal agreements, which consists of both the contractual parties and the parties that might be involved in relation to some other roles (e.g. custody agent)."> + [synonym ISDA_Create_1_0 value "answers" mapper "PartyInformation"] + +type LegalAgreementType: <"A class to specify the type of legal agreement, which is extended by each legal agreement instance, such as the ISDA 2016 CSA for Initial Margin."> + [synonym FpML_5_10 value "LegalDocumentType"] + + name LegalAgreementNameEnum (1..1) <"The legal agreement name, e.g. Credit Support Annex for Variation Margin."> + [synonym FpML_5_10 value "name"] + [synonym AcadiaSoft_AM_1_0 value "documentName"] + [synonym ISDA_Create_1_0 value "documentType" path "document"] + publisher LegalAgreementPublisherEnum (1..1) <"The legal agreement publisher, e.g. ISDA."> + [synonym FpML_5_10, AcadiaSoft_AM_1_0 value "publisher"] + [synonym ISDA_Create_1_0 value "publisher" path "document"] + governingLaw GoverningLawEnum (0..1) <"The law governing the legal agreement, e.g. English Law, New York Law or Japanese Law."> + [synonym FpML_5_10 value "style"] + [synonym AcadiaSoft_AM_1_0 value "governingLaw"] + [synonym ISDA_Create_1_0 value "governingLaw" path "document"] + vintage string (0..1) <"In the case where successive definitions of the legal agreement have been developed, the vintage identification. This is typically (but not necessarily) done by referencing the year, e.g. 2013 in the case of the ISDA 2013 Standard Credit Support Annex."> + [synonym FpML_5_10, FpML_5_10 value "version"] + [synonym AcadiaSoft_AM_1_0 value "csaVersion"] + [synonym ISDA_Create_1_0 value "year" path "document"] + [synonym ISDA_Create_1_0 value "isda_master_agreement_form"] + +type MarginApproach: <"A class for selection of Margin Approach."> + + marginApproach MarginApproachEnum (1..1) + [synonym ISDA_Create_1_0 value "approach_selection"] + +type MinimumTransferAmount: <"A class to specify amount of exposure reached before collateral has to be posted or returned. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(B): Minimum Transfer Amount. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount."> + + partyElection ElectiveAmountElection (2..2) <"The parties' minimum transfer amount elections."> + +type MinimumTransferAmountAmendment: <" A class to specify whether Amendment to Minimum Transfer Amount language is applicable or not"> + + isApplicable boolean (1..1) <"The definition of Minimum Transfer Amount in any Other Regulatory CSA will be amended when applicable."> + [synonym ISDA_Create_1_0 set to True when "amendment_to_minimum_transfer_amount_is" = "applicable", set to False when "amendment_to_minimum_transfer_amount_is" = "not_applicable"] + effectiveDate AmendmentEffectiveDate (0..1) <"The effective date of the Amendment to Termination Currency."> + partyElections ElectiveAmountElection (0..2) <"The party elective amounts."> + + condition AmendmentNotApplicable: <"A data rule to enforce that the Effective Date and Party Elections should be absent when the Minimum Transfer Amount Amendment is stated as not specified for the agreement."> + if isApplicable = False + then effectiveDate is absent and partyElections is absent + + condition AmendmentApplicable: <"A data rule to enforce that the Effective Date and Party Elections should be absent when the Minimum Transfer Amount Amendment is stated as not specified for the agreement."> + if isApplicable = True + then effectiveDate exists and partyElections exists + +type MultipleCreditNotations: <"A class to specify multiple credit notations alongside a conditional 'any' or 'all' qualifier."> + + condition QuantifierEnum (1..1) <"An enumerated element, to qualify whether All or Any credit notation applies."> + [synonym FpML_5_10 value "condition"] + creditNotation CreditNotation (2..*) <"At least two credit notations much be specified."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "creditNotation"] + mismatchResolution CreditNotationMismatchResolutionEnum (0..1) + referenceAgency CreditRatingAgencyEnum (0..1) + + condition ReferenceAgency: <"If the mismatch resolution is ReferenceAgency, ensure that the reference agency is specified."> + if MultipleCreditNotations -> mismatchResolution = CreditNotationMismatchResolutionEnum -> ReferenceAgency + then MultipleCreditNotations -> referenceAgency exists + +type MultipleDebtTypes: <"A class to specify multiple credit debt types alongside a conditional 'any' or 'all' qualifier."> + + condition QuantifierEnum (1..1) <"An enumerated attribute, to qualify whether All or Any debt type applies."> + [synonym FpML_5_10 value "condition"] + debtType string (2..*) <"The type of debt, e.g. long term debt, deposit, ... FpML doesn't specific a scheme value, hence no enumeration is specified as part of the CDM. At least two debt types much be specified."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "debtTypeScheme"] + +type NotificationTime: <"A class to specify the time by which a demand for the Transfer of Eligible Credit Support (IM) or Posted Credit Support (IM) needs to be made in order for the transfer to take place in accordance with the Transfer Timing provisions. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iii): Notification Time. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time."> + + partyElections NotificationTimeElection (2..2) <"The parties' Notification Time election."> + disputeNotificationReference boolean (0..1) <"The determination of whether reference is made to dispute resolution notification timing in the agreement."> + [synonym ISDA_Create_1_0 set to True when "include_reference_to_41a_is_applicable" = "applicable", set to False when "include_reference_to_41a_is_applicable" = "not_applicable"] + transferTimingProviso boolean (0..1) <"The determination of whether transfer timing language is applicable or not."> + [synonym ISDA_Create_1_0 set to True when "inclusion_of_proviso_for_transfer_timing_is_applicable" = "applicable", + set to False when "inclusion_of_proviso_for_transfer_timing_is_applicable" = "not_applicable"] + +type NotificationTimeElection: <"A class to specify the notification time election by the respective parties to the agreement. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iii): Notification Time. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_notification_time" = "false", set to "partyA" when "partyA_notification_time" = "true"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_notification_time" = "false", set to "partyB" when "partyB_notification_time" = "true"] + notificationTime BusinessCenterTime (0..1) <"The Notification Time as a time that is qualified as a standard business center."> + customNotification string (0..1) <"The Notification Time as a custom election."> + [synonym ISDA_Create_1_0 value "partyA_specify" set when "partyA_notification_time" = "false"] + [synonym ISDA_Create_1_0 value "partyB_specify" set when "partyB_notification_time" = "false"] + + condition Choice: <"The Notification Time is specified either as a time that is qualified by a standard business center or as a custom election."> + required choice notificationTime, customNotification + +type OneWayProvisions: <"A class to specify whether One Way Provisions apply in relation to the ISDA CSA for Initial Margin and, if yes, to specify the Posting Party. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles (aa): One Way Provisions."> + + isApplicable boolean (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + postingParty string (0..1) <"The Posting Party for the purposes of One Way Provisions. It is specified in the case where the One Way Provision is deemed applicable."> + [synonym ISDA_Create_1_0 value "posting_party"] + + condition PostingPartyExists: <"A data rule to enforce that the Posting Party must be specified in the case where the One Way Provision is deemed applicable."> + if isApplicable = True + then postingParty exists + + condition PostingPartyAbsent: <"A data rule to enforce that the Posting Party must not be specified in the case where the One Way Provision is not deemed applicable."> + if isApplicable = False + then postingParty is absent + +type OtherAgreements: <"A class to specify a related legal agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (s): Other CSA and Japanese Law CSA (VM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (o): Other CSA."> + + isSpecified boolean (1..1) <"The qualification of whether some other related agreement is specified (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "specify_japanese_law_csa_vm" = "true", set to False when "specify_japanese_law_csa_vm" = "false"] + [synonym ISDA_Create_1_0 set to True when "specify_other_csa" = "true", set to False when "specify_other_csa" = "false"] + legalDocument string (0..1) <"The specification of this other agreement, when the qualification is True."> + [synonym ISDA_Create_1_0 value "specify"] + + condition LegalDocumentNotSpecified: <"A data rule to enforce that the related legal agreement should not be referenced if it is deemed as not specified as part of the boolean attribute."> + if isSpecified = False + then legalDocument is absent + + condition LegalDocumentSpecified: <"A data rule to enforce that the related legal agreement should be referenced if it is deemed as specified as part of the boolean attribute."> + if isSpecified = True + then legalDocument exists +// TODO - Need to associate a more meaningful definition to the below class and attribute. I couldn't find anything as part of the CSA terms. +type OtherEligibleAndPostedSupport: <"A class to specify the Other Eligible Support elections associated Initial and Variation margin agreements."> + + otherEligibleSupport string (0..1) <"The Other Eligible Support election. If not specified, this election is deemed as not applicable."> + [synonym ISDA_Create_1_0 value "eligible_support_specify" path "other_eligible_support" set when "other_eligible_support->other_eligible_support" = "specify"] + [synonym ISDA_Create_1_0 value "other_eligible_support" path "eligible_support"] + applicableValue boolean (1..1) <"The definition of “Value” with respect to Other Eligible Support (IM) and Other Posted Support (IM)."> + [synonym ISDA_Create_1_0 set to True when "support_value->is_applicable" = "applicable", set to False when "support_value->is_applicable" = "not_applicable"] + applicableTransfer boolean (0..1) <"The definition of “Transfer” with respect to Other Eligible Support (IM) and Other Posted Support (IM)."> + [synonym ISDA_Create_1_0 set to True when "support_transfer->is_applicable" = "applicable", set to False when "support_transfer->is_applicable" = "not_applicable"] + +type PartyAgreementIdentifier: <"A class defining a legal agreement identifier issued by the indicated party."> + [metadata key] + // TODO Never referenced in CDM + [synonym FpML_5_10 value "PartyDocumentIdentifier" meta "id"] + + partyReference string (1..1) <"Reference to the party that issued the document identifier."> + [synonym FpML_5_10 value "partyReference"] + documentIdentifier Identifier (1..*) <"While FpML specifies the document identifier with a value and an associated scheme, the CDM makes use of the Identifier, which has an explicit issuer. The issuer of this identifier is not necessarily the same as the party reference."> + [metadata scheme] + [synonym FpML_5_10 value "documentId" meta "legalDocumentIdScheme"] + +type PostingObligations: <"A class to specify the security provider(s) collateral posting obligations as specified under the terms of the New York Law ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)."> + + securityProvider string (1..1) + [synonym ISDA_Create_1_0 value "pledgor"] + [synonym ISDA_Create_1_0 value "chargor"] + [synonym ISDA_Create_1_0 value "obligor"] + [synonym ISDA_Create_1_0 value "security_provider"] + partyElection PostingObligationsElection (1..2) <"The security provider party(ies) to which the posting obligations apply to, which can be either one of the parties to the legal agreement, or both of those."> + +type PostingObligationsElection: <"A class to specify the collateral posting obligations as specified under the terms of the ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "PartyA" when "partyA_type" = "control_agreement", set to "PartyA" when "partyA_type" = "collateral_management_agreement", set to "PartyA" when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 set to "PartyB" when "partyB_type" = "control_agreement", set to "PartyB" when "partyB_type" = "collateral_management_agreement", set to "PartyB" when "partyB_type" = "specify"] + asPermitted boolean (1..1) <"If set to True, the Control Agreement is a Credit Support Document with respect to the party(ies). ISDA 2016 Credit Support Annex for Initial Margin, paragraph 6, (e)."> + [synonym ISDA_Create_1_0 set to True when "partyA_type" = "control_agreement", set to True when "partyA_type" = "collateral_management_agreement", set to False when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 set to True when "partyB_type" = "control_agreement", set to True when "partyB_type" = "collateral_management_agreement", set to False when "partyB_type" = "specify"] + eligibleCollateral EligibleCollateral (0..*) <"The eligible collateral as specified in relation to the pledgor/chargor/obligor(s) posting obligation. ISDA 2016 Credit Support Annex for Initial Margin, Eligible Credit Support (IM) Schedule."> + [synonym ISDA_Create_1_0 value "partyA_eligible_currencies" set when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 value "partyB_eligible_currencies" set when "partyB_type" = "specify"] + excludedCollateral string (0..1) <"The excluded collateral as specified in relation to the pledgor/chargor/obligor(s) posting obligation. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)(B)(i)."> // This representation matches the current ISDA Create one, but should be aligned with the eligibleCollateral representation once that one is confirmed + [synonym ISDA_Create_1_0 value "partyA_control_agreement_specify" set when "partyA_control_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyB_control_agreement_specify" set when "partyB_control_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyA_collateral_management_agreement_specify" set when "partyA_collateral_management_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyB_collateral_management_agreement_specify" set when "partyB_collateral_management_agreement" = "yey"] + additionalLanguage string (0..1) <"The additional language that might be specified by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "partyA_additional_language"] + [synonym ISDA_Create_1_0 value "partyB_additional_language"] + [synonym ISDA_Create_1_0 value "additional_language"] + + condition AsPermitted: <"A data rule to enforce that the eligible collateral should be specified when the Control Agreement is a Credit Support Document with respect to the party(ies)."> + if asPermitted = True + then eligibleCollateral is absent + + condition EligibleCollateral: <"A data rule to enforce that the eligible collateral shouldn't be specified when the Control Agreement isn't deemed a Credit Support Document with respect to the party(ies)."> + if asPermitted = False + then eligibleCollateral exists + +type ProcessAgent: <"A class to specify the Process Agent that might be appointed by the parties as part of a Credit Support Annex/Deed or Collateral Transfer Agreement."> + //<"A class to specify the Process Agent that might be appointed by the parties to the agreement in accordance with the ISDA 2016 English Law CSA, paragraph 11(h). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (t): Process Agent."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + + partyElection ProcessAgentElection (2..2) <"The parties' Process Agent election."> + +type ProcessAgentElection: <"A class to specify the parties' respective elections with respect to the Process Agent."> + + party string (1..1) <"The elective party."> + [synonym AcadiaSoft_AM_1_0 value "party"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_process_agent" = "not_applicable", set to "partyA" when "partyA_process_agent" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_process_agent" = "not_applicable", set to "partyB" when "partyB_process_agent" = "other"] + // TODO will need to streamline the parties here + isApplicable boolean (1..1) <"The qualification of whether the Process Agent is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "partyA_process_agent" = "other", set to False when "partyA_process_agent" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_process_agent" = "other", set to False when "partyB_process_agent" = "not_applicable"] + specification string (0..1) <"The Process Agent specification, when applicable."> + [synonym ISDA_Create_1_0 value "partyA_specify" maps 2] // TODO: remove "maps 2" once migration complete + [synonym ISDA_Create_1_0 value "partyB_specify" maps 2] // TODO: remove "maps 2" once migration complete + + condition Applicable: <"A data rule to enforce that the Process Agent must be specified when it is applicable."> + if isApplicable = True + then specification exists + + condition NotApplicable: <"A data rule to enforce that the Process Agent cannot be specified if deemed not applicable."> + if isApplicable = False + then specification is absent + +type RecalculationOfValue: <"A class to specify terms for Recalculation of the Market Value of Posted Collateral when a dispute has been failed to be resolved by Resolution Time."> + + partyElection RecalculationOfValueElection (2..2) <"The parties' Recalculation of Value terms."> + +type RecalculationOfValueElection: <"A class to specify Recalculation of Value terms that will be applicable"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_recalculation_of_value" = "consultation_procedure", set to "partyA" when "partyA_recalculation_of_value" = "other_regulatory_CSA_procedure"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_recalculation_of_value" = "other_regulatory_CSA_procedure"] + [synonym ISDA_Create_1_0 set to "partyA" when "recalculation_of_market_value" = "partyA_recalculation_of_market_value"] + [synonym ISDA_Create_1_0 set to "partyB" when "recalculation_of_market_value" = "partyB_recalculation_of_market_value"] + + recalculationOfValueElection RecalculationOfValueElectionEnum (1..1) <"The procedure for Recalculation of Value."> + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_value"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_value"] + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_market_value"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_market_value"] + + recalculationOfValueTerms string (0..1) <"Additional Recalculation of Value terms when specified"> + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_value_terms" set when "partyA_recalculation_of_value" = "other"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_value_terms" set when "partyB_recalculation_of_value" = "other"] + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_market_value_terms" set when "partyA_recalculation_of_market_value" = "other"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_market_value_terms" set when "partyB_recalculation_of_market_value" = "other"] + + condition recalculationOfValueTerms: <"A data rule to enforce that additional Recalculation of Value terms are only specified when applicable"> + if RecalculationOfValueElection exists + then recalculationOfValueTerms is absent + +type Regime: <"A class to specify one or more regimes that may be specified as relevant to a legal agreement. 2016/2018 ISDA Credit Support Annex for Initial Margin: Regime."> + [synonym AcadiaSoft_AM_1_0 value "Regime"] + + applicableRegime ApplicableRegime (1..*) <"A class to specify the regime(s) that parties to a legal agreement, such as the ISDA 2016 and 2018 CSA for Initial Margin, might agree to apply to one or both parties when acting as collateral taker, and specific terms associated with that application."> + [synonym ISDA_Create_1_0 value "canada", "sec", "cftc", "emir", "japan", "switzerland", "prudential", "australia", "hong_kong", "singapore" mapper "ApplicableRegime"] + fallbackToMandatoryMethodDays number (0..1) <"The specification of the number of days after effective delivery of notice that Mandatory method fallback applies. Specification is only required when one or more Regimes have Fall Back to Mandatory Method elected as a SIMM exception."> + [synonym ISDA_Create_1_0 value "fallback_to_mandatory_method_days" path "fallback_to_mandatory_method"] + additionalRegime AdditionalRegime (0..*) <"The additional regulatory regime(s) that might be specified by the parties to a legal agreement. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, General Principles, (ll): The parties may from time to time agree in writing that other regimes also comprise `Regimes` and that the General Principles be adopted and/or amended to accommodate such additional Regimes."> + [synonym ISDA_Create_1_0 value "additional_regimes" mapper "AdditionalRegime"] + + //TODO - Data Rule required as per description below +// condition FallbackToMandatoryMethodDays: <"A data rule to enforce that the specification of Fallback to Mandatory Method Days should only exist when one or more Regimes have Fallback to Mandatory Method elected as a SIMM exception."> +// if fallbackToMandatoryMethodDays exists +// then applicableRegime -> regimeTerms -> simmException -> simmExceptionApplicable contains SimmExceptionApplicableEnum -> FallBackToMandatoryMethod + +type RegimeTerms: <"A class that is used by the ApplicableRegime and the AdditionalRegime classes to specify the regulatory regime terms which are referred to as part of certain legal agreements, such as such as the ISDA 2016 and 2018 CSA for Initial Margin."> + + party string (1..1) <"The party for which the regime terms are being specified when acting as collateral taker."> + isApplicable ExceptionEnum (0..1) <"The specification of whether the regime is elected as applicable to the party when acting as collateral taker."> + asSpecified string (0..1) <"The bespoke party specific Regime term elections applicable when specified."> + //TODO - Condition required that asSpecified only exists when isApplicable is Other + simmException SimmException (0..1) <"The election for SIMM exception to the regulatory regime clause of the ISDA 2016 and 2018 CSA for Initial Margin as either a normalized value specified as part of an enumeration or a customized value specified of type string. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, Regime: SIMM Exception."> + retrospectiveEffect RetrospectiveEffect (0..1) <"ISDA 2016 CSA for Initial Margin, paragraph 13 (b)(i): if `Retrospective Effect` is specified as applicable to a Regime (a `Retrospective Regime`) then all Covered Transactions (IM) under all other Regimes with an earlier Regime Effective Time will, to the extent that they would have been Covered Transactions (IM) under such Retrospective Regime had such Transactions been entered into at or after the Regime Effective Time of the Retrospective Regime, be deemed to be Covered Transactions (IM) for such Retrospective Regime."> + //TODO - Condition required that retrospectiveEffect should exist for 2016 CSD and be absent for 2018 CSD + +type RetrospectiveEffect: <"A class to specify the retrospective effect exception to the regulatory regime clause of Initial Margin documents as either a normalized value specified as part of an enumeration or a customized value specified of type string."> + + standardisedException ExceptionEnum (0..1) <"The Standard Initial Margin Model exception when specified by the party according to one of the enumerated values."> + asSpecified string (0..1) <"The Standard Initial Margin Model exception when specified as a customized approach by the party."> + // TODO condition asSpecified should only exist when standardisedException = Other + + +type ReturnAmount: <"A class to specify the application of Interest Amount with respect the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + includesDefaultLanguage boolean (0..1) <"Default language is included when True, and excluded when False."> + [synonym ISDA_Create_1_0 set to True when "return_amount" = "include", set to False when "return_amount" = "exclude", set to False when "return_amount" = "other"] + customElection string (0..1) <"Custom election that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify_return_amount"] + condition CustomElection: <"A data rule to specify that when a custom election exists then default language should not be included."> + if customElection exists then includesDefaultLanguage = False + +type RightsEvents: <"A class to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred."> + + securityTakerRightsEvent SecuredPartyRightsEvent (1..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Security Taker Rights Event."> + [synonym ISDA_Create_1_0 value "secured_party_rights_event"] + [synonym ISDA_Create_1_0 value "security_taker_rights_event"] + [synonym ISDA_Create_1_0 value "early_termination_date"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "h"] + controlAgreementNecEvent ControlAgreementNecEvent (0..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Notice of Exclusive Control Event."> + [synonym ISDA_Create_1_0 value "control_agreement_nec_event"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "i"] + securityProviderRightsEvent SecurityProviderRightsEvent (1..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Security Provider Rights Event."> + [synonym ISDA_Create_1_0 value "obligor_rights_event"] + [synonym ISDA_Create_1_0 value "chargor_rights_event"] + [synonym ISDA_Create_1_0 value "pledgor_rights_event"] + [synonym ISDA_Create_1_0 value "security_provider_rights_event"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "j"] + deliveryInLieuRight boolean (0..1) <"The specification of whether Delivery In Lieu language is applicable to the agreement (true) or not (false)."> + [synonym ISDA_Create_1_0 set to True when "delivery_in_lieu_right->right" = "applicable", set to False when "delivery_in_lieu_right->right" = "not_applicable"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "l"] + additionalRightsEvent AdditionalRightsEvent (0..1) <"The Additional Rights Event election."> + [synonym ISDA_Create_1_0 value "chargor_additional_rights_event"] + [synonym ISDA_Create_1_0 value "obligor_additional_rights_event"] + [synonym ISDA_Create_1_0 value "pledgor_additional_rights_event"] + +type SecuredPartyRightsEvent: <"A class to specify Secured Party Rights Event language"> + + securedPartyRightsEventElection SecuredPartyRightsEventElection (0..2) + + earlyTerminationDateOptionalLanguage boolean (1..1) <"A boolean attribute to specify whether Failure to Pay Early Termination language is included (True) or excluded (False) from the agreement."> + [synonym ISDA_Create_1_0 set to True when "early_termination_date_optional_language" = "include", set to False when "early_termination_date_optional_language" = "exclude"] + [synonym ISDA_Create_1_0 set to True when "paid_in_full_language" = "include", set to False when "paid_in_full_language" = "exclude"] + + + failureToPayEarlyTermination boolean (0..1) <"A boolean attribute to specify whether Failure to Pay Early Termination language in the agreement is deemed applicable or not."> + [synonym ISDA_Create_1_0 set to True when "failure_to_pay_early_termination_is_applicable" = "applicable", + set to False when "failure_to_pay_early_termination_is_applicable" = "not_applicable"] + + condition FailureToPayLanguage: <"A data rule to enforce that the applicability of Failure to Pay language is only applied when Early Termination language is included."> + if earlyTerminationDateOptionalLanguage = False + then failureToPayEarlyTermination is absent + +type SecuredPartyRightsEventElection: <"A class to specify party specific Secured Party Rights Event language"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_secured_party_rights_event" = "applicable", set to "partyA" when "partyA_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_secured_party_rights_event" = "applicable", set to "partyB" when "partyB_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_security_taker_rights_event" = "applicable", set to "partyA" when "partyA_security_taker_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_security_taker_rights_event" = "applicable", set to "partyB" when "partyB_security_taker_rights_event" = "not_applicable"] + + rightsEvent boolean (1..1) <"A boolean attribute to specify whether a Secured Party Rights Event will only occur upon the occurrence of one or more of the event specified in a Control Agreement"> + [synonym ISDA_Create_1_0 set to True when "partyA_secured_party_rights_event" = "applicable", set to False when "partyA_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_secured_party_rights_event" = "applicable", set to False when "partyB_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_security_taker_rights_event" = "applicable", set to False when "partyA_security_taker_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_security_taker_rights_event" = "applicable", set to False when "partyB_security_taker_rights_event" = "not_applicable"] + +type SecurityAgreementElections: <"The set of elections which specify a Security Agremeent"> + + pledgedAccount Account (0..1) <"The pledged account associated with the agreement"> + [synonym ISDA_Create_1_0 value "pledged_account_number"] + enforcementEvent EnforcementEvent (0..1) <"Enforcement Events specific to the agreement"> + [synonym ISDA_Create_1_0 value "enforcement_event"] + [synonym ISDA_Create_1_0 value "early_termination_date"] + deliveryInLieuRight boolean (0..1) <"Delivery In Lieu rights"> + [synonym ISDA_Create_1_0 set to True when "delivery_in_lieu_right->right" = "applicable", set to False when "delivery_in_lieu_right->right" = "not_applicable"] + fullDischarge boolean (0..1) <"Full Discharge condition"> + [synonym ISDA_Create_1_0 set to True when "security_provider_full_discharge_condition->is_applicable" = "applicable", + set to False when "security_provider_full_discharge_condition->is_applicable" = "not_applicable"] + appropriatedCollateralValuation AppropriatedCollateralValuation (0..1) <"The election for the Valuation of Appropriate Collateral."> + [synonym ISDA_Create_1_0 value "valuation_of_appropriated_collateral"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms"> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + executionTerms ExecutionTerms (0..1) <"The location and language of execution to determine duty to be paid."> + [synonym ISDA_Create_1_0 value "execution_language"] + +type SecurityProviderRightsEvent: <"A class to specify the Pledgor/Obligor/Chargor Rights Event election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (j): Chargor Rights Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (j): Obligor Rights Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (j): Pledgor Rights Event."> + + partyElection SecurityProviderRightsEventElection (0..2) + includeCoolingOffLanguage boolean (1..1) <"The Pledgor/Obligor/Chargor Rights Event election includes cooling off language when the attribute is set of True."> + [synonym ISDA_Create_1_0 set to True when "cooling_off_language" = "include", set to False when "cooling_off_language" = "not_specified", set to False when "cooling_off_language" = "other"] + [synonym ISDA_Create_1_0 set to True when "cooling_off_period_condition_is_applicable" = "applicable", set to False when "cooling_off_period_condition_is_applicable" = "not_applicable"] + fullDischarge boolean (0..1) <"If specified as applicable here, a Pledgor/Obligor/Chargor Rights Event will not occur unless the Pledgor/Obligor/Chargor (A) has provided a statement to the Secured Party in respect of such Early Termination Date"> + [synonym ISDA_Create_1_0 set to True when "chargor_full_discharge_condition_is_applicable" = "applicable", set to False when "chargor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "pledgor_full_discharge_condition_is_applicable" = "applicable", set to False when "pledgor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "obligor_full_discharge_condition_is_applicable" = "applicable", set to False when "obligor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "security_provider_full_discharge_condition_is_applicable" = "applicable", + set to False when "security_provider_full_discharge_condition_is_applicable" = "not_applicable"] + automaticSetOff boolean (0..1) <"The Automatic Set-Off provision applies when the value is set to True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (l): Modification to Obligor’s Rights and Remedies."> + [synonym ISDA_Create_1_0 set to True when "automatic_setoff->right" = "applicable", set to False when "automatic_setoff->right" = "not_applicable"] + + customElection string (0..1) <"A custom Pledgor/Obligor/Chargor Rights Event election might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify"] + + condition RightsEvent_includeCoolingOffLanguage: <"A data rule to enforce that, when the Rights Event election includes cooling off language, no custom election should be specified."> + if includeCoolingOffLanguage = True + then customElection is absent + + condition RightsEvent_customElection: <"A data rule to enforce that, when the Rights Event is specified through a custom election, no standard cooling off language should be specified."> + if customElection exists + then includeCoolingOffLanguage = False + +type SecurityProviderRightsEventElection: <"A class to specify party specific Secured Party Rights Event language."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_chargor_rights_event" = "applicable", set to "partyA" when "partyA_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_chargor_rights_event" = "applicable", set to "partyB" when "partyB_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_pledgor_rights_event" = "applicable", set to "partyA" when "partyA_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_pledgor_rights_event" = "applicable", set to "partyB" when "partyB_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_obligor_rights_event" = "applicable", set to "partyA" when "partyA_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_obligor_rights_event" = "applicable", set to "partyB" when "partyB_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_security_provider_rights_event" = "applicable", set to "partyA" when "partyA_security_provider_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_security_provider_rights_event" = "applicable", set to "partyB" when "partyB_security_provider_rights_event" = "not_applicable"] + + rightsEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_chargor_rights_event" = "applicable", set to False when "partyA_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_chargor_rights_event" = "applicable", set to False when "partyB_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_pledgor_rights_event" = "applicable", set to False when "partyA_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_pledgor_rights_event" = "applicable", set to False when "partyB_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_obligor_rights_event" = "applicable", set to False when "partyA_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_obligor_rights_event" = "applicable", set to False when "partyB_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_security_provider_rights_event" = "applicable", set to False when "partyA_security_provider_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_security_provider_rights_event" = "applicable", set to False when "partyB_security_provider_rights_event" = "not_applicable"] + +type SensitivityMethodologies: <"A class to specificy methodologies to compute sensitivities specific to the agreement."> + + sensitivityToEquity SensitivityMethodology (1..1) <"The methodology to compute sensitivities to equity indices, funds and ETFs for the purpose of Initial Margin agreements."> + [synonym ISDA_Create_1_0 value "sensitivities_to_equity_indices_funds_etfs"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (g)(ii)(A)"] + sensitivityToCommodity SensitivityMethodology (1..1) <"The methodology to compute sensitivities to commodity indices for the purpose of Initial Margin agreements."> + [synonym ISDA_Create_1_0 value "sensitivities_to_commodity_indices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (g)(ii)(B)"] + +type SensitivityMethodology: <"A class to specify the methodology according to which sensitivities to (i) equity indices, funds and ETFs, and (ii) commodity indices are computed. This specification is done either through a normalized election as part of the specifiedMethodology, or through a custom election via the customMethodology attribute. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (gg)(2)."> + + specifiedMethodology SensitivitiesEnum (0..1) <"The methodology according to which sensitivities will be computed, when specified through a normalized election."> + [synonym ISDA_Create_1_0 value "sensitivities_equity_indices_funds_etfs", "sensitivities_commodity_indices"] + customMethodology string (0..1) <"The methodology according to which sensitivities will be computed, when specified through a custom election."> + [synonym ISDA_Create_1_0 value "sensitivities_equity_indices_funds_etfs_specify", "sensitivities_commodity_indices_specify"] + condition: one-of + +type SimmCalculationCurrency: <"A class to specify the SIMM Calculation Currency elections by each party to the agreement."> + + partyElection CalculationCurrencyElection (2..2) <"The parties' SIMM Calculation Currency election."> + +type SimmException: <"A class to specify the SIMM exception to the regulatory regime clause of the ISDA 2016 and 2018 CSA for Initial Margin as either a normalized value specified as part of an enumeration or a customized value specified of type string. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, Regime: SIMM Exception."> + + standardisedException ExceptionEnum (0..1) <"The Standard Initial Margin Model exception when specified by the party according to one of the enumerated values."> + [synonym AcadiaSoft_AM_1_0 set to ExceptionEnum -> NotApplicable when "simmException" = "False"] + simmExceptionApplicable SimmExceptionApplicableEnum (0..1) <"The Standard Initial Margin model exception approach applicable when specified by the party according to one of the enumerated values."> + // TODO condition that SimmExceptionApplicableEnum should only exist if SimmExceptionEnum = Applicable + asSpecified string (0..1) <"The Standard Initial Margin Model exception when specified as a customized approach by the party."> + // TODO condition asSpecified exists if something OtherMethods are specified + +type SimmVersion: <"A class to specify the ISDA SIMM version that applies to the ISDA 2018 CSA for Initial Margin. According to the ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles (ee) (1) provisions, the SIMM version is either not specified, or references a version used by one of the parties to the agreement."> + + isSpecified boolean (0..1) <"A boolean attribute to determine whether the SIMM version is specified for the purpose of the legal agreement."> + [synonym ISDA_Create_1_0 set to True when "is_specified" = "specified", set to False when "is_specified" = "not_specified"] + partyVersion string (0..1) <"The party which the specified SIMM version applies to."> + [metadata reference] + [synonym ISDA_Create_1_0 set to "PartyA" when "party_A_or_party_B_version" = "partyA", set to "PartyB" when "party_A_or_party_B_version" = "partyB"] + // TODO - ISDA Create export has a blank value type referencing party in 2018 CSD Eng Law schema. Feedback to ISDA + asSpecified string (0..1) <"The SIMM version exception when specified as a customized approach by the party."> + [synonym ISDA_Create_1_0 value "specify" set when "is_specified" = "other"] + + + condition VersionNotSpecified: <"A data rule to enforce that the version attribute should be absent when the SIMM version is stated as not specified for the CSA."> + if isSpecified = False + then partyVersion is absent + + condition VersionSpecified: <"A data rule to enforce that the version attribute should be specified when the SIMM version is stated as specified for the CSA."> + if isSpecified = True + then partyVersion exists + +type SubstitutedRegime: <"A class to specify each party's election with respect to the Substituted Regimes that will be applicable..."> + + partyElection SubstitutedRegimeElection (2..2) <"The parties' Substituted Regime election."> + +type SubstitutedRegimeElection: <"A class to specify the Substituted Regimes that will be deemed applicable..."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_emir" = "applicable", set to "partyA" when "partyA_emir" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_emir" = "applicable", set to "partyB" when "partyB_emir" = "not_applicable"] + emir boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_emir" = "applicable", set to False when "partyA_emir" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_emir" = "applicable", set to False when "partyB_emir" = "not_applicable"] + prudential boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_prudential" = "applicable", set to False when "partyA_prudential" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_prudential" = "applicable", set to False when "partyB_prudential" = "not_applicable"] + cftc boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_cftc" = "applicable", set to False when "partyA_cftc" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_cftc" = "applicable", set to False when "partyB_cftc" = "not_applicable"] + sec boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_sec" = "applicable", set to False when "partyA_sec" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_sec" = "applicable", set to False when "partyB_sec" = "not_applicable"] + canada boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_canada" = "applicable", set to False when "partyA_canada" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_canada" = "applicable", set to False when "partyB_canada" = "not_applicable"] + switzerland boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_switzerland" = "applicable", set to False when "partyA_switzerland" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_switzerland" = "applicable", set to False when "partyB_switzerland" = "not_applicable"] + japan boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_japan" = "applicable", set to False when "partyA_japan" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_japan" = "applicable", set to False when "partyB_japan" = "not_applicable"] + australia boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_australia" = "applicable", set to False when "partyA_australia" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_australia" = "applicable", set to False when "partyB_australia" = "not_applicable"] + hong_kong boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_hong_kong" = "applicable", set to False when "partyA_hong_kong" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_hong_kong" = "applicable", set to False when "partyB_hong_kong" = "not_applicable"] + singapore boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_singapore" = "applicable", set to False when "partyA_singapore" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_singapore" = "applicable", set to False when "partyB_singapore" = "not_applicable"] + +type Substitution: <"A class to specify the conditions under which the Security Provider can substitute posted collateral."> + + needsConsent boolean (1..1) <"The election as to whether the Pledgor/Obligor/Chargor must obtain the Secured Party’s consent for any collateral substitution. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii): Consent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (f)(ii): Consent."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "standard", set to False when "is_applicable" = "other"] + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + specificConsentLanguage string (0..1) <"Specific consent language might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify"] + +type TerminationCurrencyAmendment: <"A class to specify the Amendment to Termination Currency elections by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (t): Amendment to Termination Currency."> + + isApplicable boolean (1..1) <"The qualification of whether the Amendment to Termination Currency is deemed applicable by the parties (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "amendment_to_termination_currency_is" = "applicable", set to False when "amendment_to_termination_currency_is" = "not_applicable" ] + effectiveDate AmendmentEffectiveDate (0..1) <"The effective date of the Amendment to Termination Currency. This date can be specified as either an actual date, a specific date (e.g. the annex date) or as a custom provision."> + partyElection TerminationCurrencyElection (0..3) <"The parties' Amendment Currency election."> + + condition Applicablity: <"The Amendment to Termination Currency elections only apply when the Amendment to Termination Currency is deemed applicable by the parties."> + if isApplicable = False + then ( effectiveDate + and partyElection) is absent // TODO - Logic to be confirmed by testing NotApplicable + +type TerminationCurrencyElection: <"A class to specify the Amendment to Termination Currency election by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (t) (A) & (B)."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_amendment_to_termination_currency" = "specify", set to "partyA" when "partyA_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_amendment_to_termination_currency" = "specify", set to "partyB" when "partyB_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to "partyA,partyB" when "two_affected_parties" = "specify", set to "partyA,partyB" when "two_affected_parties" = "in_schedule"] + isSpecified boolean (1..1) <"The qualification of whether the Termination Currency is specified in this document (True) or in an Eligible Support Credit Support (IM) Schedule (False)"> + [synonym ISDA_Create_1_0 set to True when "partyA_amendment_to_termination_currency" = "specify", set to False when "partyA_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to True when "partyB_amendment_to_termination_currency" = "specify", set to False when "partyB_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to True when "two_affected_parties" = "specify", set to False when "two_affected_parties" = "in_schedule"] + currency string (1..1) <"The Termination Currency associated with the party that referenced as part of this class. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "partyA_termination_currency"] + [synonym ISDA_Create_1_0 value "partyB_termination_currency"] + [synonym ISDA_Create_1_0 value "partyA_currency"] + [synonym ISDA_Create_1_0 value "partyB_currency"] + [synonym ISDA_Create_1_0 value "two_affected_parties_currency"] + [synonym ISDA_Create_1_0 value "both_parties_termination_currency"] + + condition CurrencyElection: <"A Termination Currency election should only exist when required by the affected parties election"> + if isSpecified = False then currency is absent + +type Threshold: <"A class to specify the unsecured credit exposure that each party to the agreement is prepared to accept before asking for collateral. This threshold is specified either as an amount or as a custom election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(A): Threshold. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold."> + + partyElection ElectiveAmountElection (2..2) <"The parties' Threshold election."> + +type TransactionConfirmation: <"See existing Contract type"> +// TODO - Next step to move Contract from Contractual Product to here. Will require significant refactoring of model. + +type UmbrellaAgreement: <"A class to specify a set of legal entities which are part of a legal agreement beyond the two contracting parties to that agreement. This data representation reflects the ISDA Create representation."> + + isApplicable boolean (1..1) <"The determination of whether Umbrella Agreement terms are Applicable (True), or Not Applicable (False)"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + language string (0..1) <"The language associated with the umbrella agreement, and which applies to all the parties to the umbrella agreement."> + [synonym ISDA_Create_1_0 value "language" maps 2] // TODO: remove "maps 2" once migration complete + parties UmbrellaAgreementEntity (0..*) <"Underlying principals to the umbrella agreement."> + [synonym ISDA_Create_1_0 value "principal_identification_schedule" mapper "UmbrellaAgreementEntity"] + + condition UmbrellaAgreementExists: <"Umbrella Agreement language and parties should not exist when Umbrella Agreement terms are Not Applicable."> + if isApplicable = True + then (language and parties) exists + +type UmbrellaAgreementEntity extends LegalEntity: <"A class to specify the legal entities that are part of the umbrella agreement."> + terms string (0..1) <"The terms that might be associated with each party to the umbrella agreement."> + +// Agreement Validation + +func SaIsdaBankCustodian2019NewYorkLaw: + // [validation agreement] + inputs: agreementTerms AgreementTerms (1..1) + output: is_agreement boolean (1..1) + + assign-output is_agreement: + agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> name = LegalAgreementNameEnum->CollateralTransferAgreement //The agreement is a CTA + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> publisher = LegalAgreementPublisherEnum->ISDA //published by ISDA + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> governingLaw = GoverningLawEnum->USNY //under New York Law + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> vintage = "2019" //with vintage 2019 + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementDate exists //then the CTA should have an agreement date specified + and agreementTerms -> agreement -> securityAgreementElections -> pledgedAccount is absent //there should not be a PledgedAccount + and agreementTerms -> agreement -> securityAgreementElections -> enforcementEvent is absent //there should not be EnforcementEvent terms specified + and agreementTerms -> agreement -> securityAgreementElections -> deliveryInLieuRight is absent //there should not be Delivery in Lieu Right terms specified + and agreementTerms -> agreement -> securityAgreementElections -> fullDischarge is absent //there should not be Full Discharge terms specified + and agreementTerms -> agreement -> securityAgreementElections -> appropriatedCollateralValuation is absent //there should not be any Valuation of Appropriated Collateral terms specified + and agreementTerms -> agreement -> securityAgreementElections -> processAgent exists //there should be Process Agent terms specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> japaneseSecuritiesProvisions exists //there should be Japanese Securities Provisions specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> exclusiveJurisdiction exists //there should be Exclusive Jurisdiction terms specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> juryWaiver exists //there should be Jury Waiver terms specified diff --git a/lib/ISDA/org.isda.cdm b/lib/ISDA/org.isda.cdm new file mode 100644 index 0000000..3fa26f2 --- /dev/null +++ b/lib/ISDA/org.isda.cdm @@ -0,0 +1,1731 @@ +namespace org.isda.cdm +version "2.52.2" + +import cdm.base.* +import cdm.base.datetime.* +import cdm.base.math.* +import cdm.base.staticdata.identifier.* +import cdm.base.staticdata.asset.common.* +import cdm.base.staticdata.party.* +import cdm.synonyms.config.* + +type AccessConditions: <"A class to specify each party's election with respect to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + partyElection AccessConditionsElections (2..2) <"The parties' Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA) election."> + additionalTerminationEvent AdditionalTerminationEvent (0..*) <"Additional Termination Events applicable to the agreement."> + // [synonym ISDA_Create_1_0 value "additional_termination_event"] + +type AccessConditionsElections: <"A class to specify the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_illegality" = "applicable", set to "partyA" when "partyA_illegality" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_illegality" = "applicable", set to "partyB" when "partyB_illegality" = "not_applicable"] + illegality boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_illegality" = "applicable", set to False when "partyA_illegality" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_illegality" = "applicable", set to False when "partyB_illegality" = "not_applicable"] + forceMajeure boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_force_majeure" = "applicable", set to False when "partyA_force_majeure" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_force_majeure" = "applicable", set to False when "partyB_force_majeure" = "not_applicable"] + taxEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_tax_event" = "applicable", set to False when "partyA_tax_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_tax_event" = "applicable", set to False when "partyB_tax_event" = "not_applicable"] + taxEventUponMerger boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_tax_event_upon_merger" = "applicable", set to False when "partyA_tax_event_upon_merger" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_tax_event_upon_merger" = "applicable", set to False when "partyB_tax_event_upon_merger" = "not_applicable"] + creditEventUponMerger boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_credit_event_upon_merger" = "applicable", set to False when "partyA_credit_event_upon_merger" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_credit_event_upon_merger" = "applicable", set to False when "partyB_credit_event_upon_merger" = "not_applicable"] + +type AdditionalRegime: <"A class to specify the additional regulatory regime(s) that might be elected by the parties to a legal agreement where such provision exists, such as the ISDA 2016 and 2018 CSA for Initial Margin."> + + regime string (1..1) <"The additional regulatory regime as specified by the parties."> + regimeTerms RegimeTerms (2..2) <"The party elections with respect to the additional regime(s)."> + additionalType AdditionalTypeEnum (0..1) <"The Additional Type of transaction that can require the collection or delivery of initial margin under the specified regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + additionalTerms string (0..1) <"The bespoke Additional Type for the purposes of Covered Transactions (IM)."> + //TODO - Condition required that additionalType should exist for 2016 CSD and be absent for 2018 CSD + //TODO - Condition required that additionalTerms should only exist when additionalType is Other + +type AdditionalRepresentation: <"A class to specify the Additional Representation. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (o): Additional Representation(s)."> + + partyElection AdditionalRepresentationElection (2..2) <"A qualification as to whether the Additional Representation is applicable."> + customElection string (0..1) <"A supplemental custom election that might be specified by the parties for the purpose of specifying the Additional Representation."> + [synonym ISDA_Create_1_0 value "specify"] + +type AdditionalRepresentationElection: <"A class to specify the parties' Additional Representation(s) election."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_additional_representations" = "applicable", set to "partyA" when "partyA_additional_representations" = "not_applicable" ] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_additional_representations" = "applicable", set to "partyB" when "partyB_additional_representations" = "not_applicable" ] + isApplicable boolean (1..1) <"The Additional Representation is applicable when True, and not applicable when False."> + [synonym ISDA_Create_1_0 set to True when "partyA_additional_representations" = "applicable", set to False when "partyA_additional_representations" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_additional_representations" = "applicable", set to False when "partyB_additional_representations" = "not_applicable"] + +type AdditionalRepresentations: <"A class to specify Additional Representations that may be applicable to an agreement."> + + additionalRepresentation AdditionalRepresentation (0..1) <"The specification of the Additional Representation that may be applicable to the agreement."> + [synonym ISDA_Create_1_0 value "additional_representations"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "10(a)"] + additionalInformation boolean (0..1) <"The qualification of whether Additional Information related to Regulatory Compliance and Concentration Limits is applicable or not"> + [synonym ISDA_Create_1_0 set to True when "regulatory_compliance_and_concentration_limits->additional_information" = "applicable", + set to False when "regulatory_compliance_and_concentration_limits->additional_information" = "not_applicable"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "11"] + + condition: one-of + +type AdditionalRightsEvent: <"A class to specify the Pledgor/Obligor/Chargor Additional Rights Event election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (k): Chargor Additional Rights Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (k): Obligor Additional Rights Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (k): Pledgor Additional Rights Event."> + + isApplicable boolean (1..1) <"The Pledgor Additional Rights Event election is applicable when True, and not applicable when False."> + [synonym ISDA_Create_1_0 set to True when "applicable" = "true", set to False when "applicable" = "false"] + qualification string (0..1) <"The qualification of the Pledgor Additional Rights Event election, when specified."> + [synonym ISDA_Create_1_0 value "specify"] + + condition Qualification: <"The Pledgor/Obligor/Chargor Additional Rights should be qualified only when the Pledgor Additional Rights Event election is specified as applicable."> + if qualification exists + then isApplicable = True + +type AdditionalTerminationEvent: < "A class to specify an optional termination event, additional to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA)"> + // TODO Never referenced in CDM + name string (1..1) <"The name of the additional termination event"> + [synonym ISDA_Create_1_0 value "name" path "additional_termination_event"] + [synonym ISDA_Create_1_0 value "specify" set when "specify" exists] + applicableParty string (1..2) <"Whether the additional termination event is applicable for the relevant party"> + [synonym ISDA_Create_1_0 set to "PartyA" when "partyA_additional_termination_events" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyB" when "partyB_additional_termination_events" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyA" when "additional_termination_event->partyA_additional_termination_event" = "applicable"] + [synonym ISDA_Create_1_0 set to "PartyB" when "additional_termination_event->partyB_additional_termination_event" = "applicable"] + +type AdditionalType: <"The specification of the Additional Type of transaction that can require the collection or delivery of initial margin under a given regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + + standardValue AdditionalTypeEnum (1..1) <"The qualification of the Additional Type of transaction that can require the collection or delivery of initial margin when specified as a standard value."> + [synonym ISDA_Create_1_0 value "additional_type"] + customValue string (0..1) <"The qualification of the Additional Type of transaction that can require the collection or delivery of initial margin when specified as a custom value by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "additional_type_specify"] + + condition CustomValue: <"The specification of a custom value by the parties to the legal agreement takes place alongside the qualification of the `Other` value as part of the AdditionalTypeEnum."> + if standardValue = AdditionalTypeEnum -> Other + then customValue exists + + condition StandardValue: <"The specification of a standard value by the parties to the legal agreement is done through the qualification of a value distinct than `Other` as part of the AdditionalTypeEnum, and implies that the customerValue is not being qualified."> + if standardValue <> AdditionalTypeEnum -> Other + then customValue is absent + +type Agreement: <"A class to specify elections specific to a certain type of agreement."> + + creditSupportAgreementElections CreditSupportAgreementElections (0..1) <"Elections to specify an Initial Margin Credit Support Annex or Initial Margin Credit Support Deed."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Credit Support Annex"] + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Credit Support Deed"] + collateralTransferAgreementElections CollateralTransferAgreementElections (0..1) <"Elections to specify a Collateral Transfer Agreement."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Collateral Transfer Agreement"] + securityAgreementElections SecurityAgreementElections (0..1) <"Security agreement elections."> + [synonym ISDA_Create_1_0 value "partyA" path "answers" set when "document->documentType" = "Security Agreement"] + transactionConfirmation TransactionConfirmation (0..1) <"A transaction confirmation"> //TODO: Rename Contract and move to here + condition: one-of + +type AgreementTerms: <"A class to specify the elections and variables that characterize a legal agreement."> + + agreement Agreement (1..1) <"The type of contract being specified"> + relatedAgreements RelatedAgreement (0..*) <"Specifies the agreement(s) that govern the agreement, either as a reference to such agreements when specified as part of the CDM, or through identification of some of the key terms of those agreements, such as the type of agreement, the publisher, the vintage, the agreement identifier and the agreement date."> + umbrellaAgreement UmbrellaAgreement (0..1) <"The determination of whether Umbrella Agreement terms are applicable (True) or Not Applicable (False)."> + [synonym ISDA_Create_1_0 value "umbrella_agreement_and_principal_identification", "umbrella_agreement_and_principal_identification" path "answers->partyA"] + +type AmendmentEffectiveDate: <"A class to specify the effective date of the Amendment to Termination Currency. This date can be specified as either an actual date, a specific date (e.g. the annex date) or as a custom provision. "> + + date date (0..1) <"The effective date of the Amendment to Termination Currency when specified as an actual date."> + specificDate AmendmentEffectiveDateEnum (0..1) <"The effective date of the Amendment to Termination Currency when specified as a specific date (e.g. the annex date)."> + [synonym ISDA_Create_1_0 value "annex_date"] + [synonym ISDA_Create_1_0 value "effectiveness_date"] + customProvision string (0..1)<"The effective date of the Amendment to Termination Currency when specified as a non normalized custom provision."> + condition: one-of + +type ApplicableRegime: <"A class to specify the applicable regulatory regime(s) that parties to a legal agreement, such as the ISDA 2016 and 2018 CSA for Initial Margin, might be subject to."> + + regime RegulatoryRegimeEnum (1..1) <"The applicable regulatory regime, as specified through an enumeration."> + [synonym AcadiaSoft_AM_1_0 value "regime"] + regimeTerms RegimeTerms (2..2) <"A class that is used by the ApplicableRegime and the AdditionalRegime classes to specify the terms that are specific to each party and regime which are referred to in the Regime Table as part of certain legal agreements, such as such as the ISDA 2016 and 2018 CSA for Initial Margin."> + additionalType AdditionalTypeEnum (0..1) <"The Additional Type of transaction that can require the collection or delivery of initial margin under the specified regulatory regime for the purposes of Covered Transactions, as specified in ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(B)."> + additionalTerms string (0..1) <"The bespoke Additional Type for the purposes of Covered Transactions (IM)."> + //TODO - Condition required that additionalType should exist for 2016 CSD and be absent for 2018 CSD + //TODO - Condition required that additionalTerms should only exist when additionalType is Other + +type AppropriatedCollateralValuation: <"A class to specify the Valuation of Appropriated Collateral that is applicable to the English Law ISDA CSA. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (u): Valuation of Appropriated Collateral."> + + isSpecified boolean (1..1) <"The qualification of whether the Valuation of Appropriate Collateral provision is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + election string (0..1) <"The parties' election that qualify the Valuation of Appropriate Collateral in the case where it is deemed applicable."> + [synonym ISDA_Create_1_0 value "specify"] + + condition Specified: <"The Valuation of Appropriate Collateral election must be specified when it is applicable."> + if isSpecified = True + then election exists + + condition NotSpecified: <"The Valuation of Appropriate Collateral election cannot be specified when it is not applicable."> + if isSpecified = False + then election is absent + +type BespokeCalculationDate: <"A class to specify bespoke Calculation Date terms for the purposes of Initial Margin"> + + isApplicable boolean (1..1) <"Additional Calculation Date terms are applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + calculationDateImTerms string (0..1) <"The Additional Calculation Date terms for the purposes of Initial Margin"> + + condition CalculationDateImTerms: <"A data rule to enforce that Additional Calculation Date Terms should be absent when not applicable"> + if isApplicable = False then calculationDateImTerms is absent + +type BespokeCalculationTime: <"A class to specify additional Calculation Time terms for the purposes of Initial Margin"> + + asCalculationAgentIm boolean (1..1) <"If set to True, the Calculation Time for Initial Margin is the time as of which the Calculation Agent (IM) computes its end of day valuations of derivatives transactions"> + [synonym ISDA_Create_1_0 set to True when "calculation_time_IM_is" = "calculation_agent_IM_computation_time", set to False when "calculation_time_IM_is" = "specify"] + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "specify"] + bespokeCalculationTimeTerms string (0..1) <"Additional Terms applicable to Calculation Time for Initial Margin"> + [synonym ISDA_Create_1_0 value "calculation_agent_IM_computation_time_specify"] + + condition AsCalculationAgentIm: <"A data rule to enforce that the terms applicable to Calculation Time for Initial Margin should be specified when the computation time is not as per Calculation Agent"> + if asCalculationAgentIm = True + then bespokeCalculationTimeTerms is absent + + condition BespokeCalculationTimeTerms: <"A data rule to enforce that the Calculation Time for Initial Margin shouldn't be specified when the Control Agreement isn't deemed a Credit Support Document with respect to the party(ies)."> + if asCalculationAgentIm = False + then bespokeCalculationTimeTerms exists + +type BespokeTransferTiming: <"A class to specify any bespoke Transfer Timing language by each party to the agreement."> + + isApplicable boolean (1..1) <"A boolean flag to specify whether bespoke transfer terms are applicable or not."> + [synonym ISDA_Create_1_0 set to True when "specified" = "true", set to False when "specified" = "false"] + bespokeTransferTimingTerms string (0..1) <"The bespoke transfer timing terms applicable to the agreement"> + [synonym ISDA_Create_1_0 value "settlement_day_specify"] + +type CalculationAgentIm: <"A class to select Calculation Agent for purposes of Initial Margin agreements"> + + isApplicable boolean (0..1) <"The specification of whether bespoke calculation agent terms are applicable (True) or not (False)"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + party string (0..1) <"The party which is specified as Calculation Agent for Initial Margin."> + [metadata reference] + [synonym ISDA_Create_1_0 set to "PartyA" when "calculation_agent" = "partyA"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "party_A"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "partyB"] + [synonym ISDA_Create_1_0 set to "PartyB" when "calculation_agent" = "party_B"] + [synonym ISDA_Create_1_0 set to "PartyA,PartyB" when "calculation_agent_IM_party"="demanding_party_and_secured_party"] + // TODO - Need for a mapping logic that will parse the ISDA Create prefix to identify partyA vs. partyB entries + calculationAgentTerms string (0..1) <"The Calculation Agent (IM) terms when specified"> + [synonym ISDA_Create_1_0 value "specify"] + + condition CalculationAgentParty: <"A data rule to enforce that party should not be specified when bespoke Calculation Agent Terms exist."> + if calculationAgentTerms exists then party is absent + + condition CalculationAgentTerms: <"A data rule to enforce that bespoke terms should only be specified when applicable."> + if isApplicable = True then calculationAgentTerms exists + else if isApplicable = False then calculationAgentTerms is absent + +type CalculationAndTiming: <"A class to specify the Calculation, Valuation and Timing terms specific to the agreement."> + + calculationAgentIm CalculationAgentIm (0..1) <"The calculation agent terms applicable to the agreement."> + [synonym ISDA_Create_1_0 value "calculation_agent_IM"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4a"] + bespokeCalculationDate BespokeCalculationDate (0..1) <"The specification of bespoke Calculation Date terms for the purposes of Initial Margin by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "calculation_date"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(d)(i)"] + bespokeCalculationTime BespokeCalculationTime (0..1) <"Bespoke terms to describe the time as of which such party (or the Calculation Agent (IM) (if applicable)) computes its end of day valuations of derivatives transactions."> + [synonym ISDA_Create_1_0 value "calculation_time"] + [synonym ISDA_Create_1_0 value "credit_support_amount_calculation_time"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4d"] + calculationDateLocation CalculationDateLocation (0..1) <"The specified location where the credit exposure will be calculated by the respective parties."> + [synonym ISDA_Create_1_0 value "calculation_date_location"] + [synonym ISDA_Create_1_0 value "calculation_date"] + [synonym ISDA_Create_1_0 value "designated_city"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4c"] + notificationTime NotificationTime (1..1) <"The time by which a demand for the Transfer of Eligible Credit Support (IM) or Posted Credit Support (IM) needs to be made in order for the transfer to take place in accordance with the Transfer Timing provisions."> + [synonym ISDA_Create_1_0 value "notification_time"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4e"] + collateralValuationAgent CollateralValuationAgent (0..1) <"The bespoke Collateral Valuation Agent terms applicable to the agreement."> + [synonym ISDA_Create_1_0 value "collateral_valuation_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4b"] + cashSettlementDay string (0..1) <"Cash Settlement Day has the meaning specified in ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, Paragraph 4(b)(i), unless otherwise specified as part of this attribute. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iv): Cash Settlement Day."> + [synonym ISDA_Create_1_0 value "specify" path "cash_settlement_day" set when "cash_settlement_day->specified" = "true"] + securitiesSettlementDay string (0..1) <"Securities Settlement Day has the meaning specified in ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, Paragraph 12, unless otherwise specified as part of this attribute. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(v): Securities Settlement Day."> + [synonym ISDA_Create_1_0 value "specify" path "securities_settlement_day" set when "securities_settlement_day->specified" = "true"] + +type CalculationCurrencyElection: <"A class to specify the ISDA SIMM Calculation Currency as either the Base Currency or an alternative currency. ISDA 2016 CSA for Initial Margin, Paragraph 13, General Principles (ee)(3). | ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles (ee)(3)."> + + party string (1..1) <"The party which the SIMM Calculation Currency qualification applies to."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_use_base_currency" = "true", set to "partyA" when "partyA_use_base_currency" = "false"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_use_base_currency" = "true", set to "partyB" when "partyB_use_base_currency" = "false"] + isBaseCurrency boolean (1..1) <"The SIMM Calculation Currency (also known as SIMM Reporting Currency) means the Base Currency when True. It means a different currency when False. In that latter case, the SIMM Calculation Currency is specified as part of the currency attribute."> + [synonym ISDA_Create_1_0 set to True when "partyA_use_base_currency" = "true", set to False when "partyA_use_base_currency" = "false"] + [synonym ISDA_Create_1_0 set to True when "partyB_use_base_currency" = "true", set to False when "partyB_use_base_currency" = "false"] + currency string (0..1) <"The currency in which the ISDA SIMM Calculation is denominated, when different from the Base Currency. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym AcadiaSoft_AM_1_0 value "currency"] + [synonym ISDA_Create_1_0 value "partyA_use_other_currency"] + [synonym ISDA_Create_1_0 value "partyB_use_other_currency"] + + condition BaseCurrency: <"A data rule to enforce that, when the SIMM calculation currency is specified as the Base Currency and vice versa"> + if isBaseCurrency = True + then currency is absent + else currency exists + +type CalculationDateLocation: <"A class to specify the Calculation Date Location election for the respective parties to the legal agreement. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i): Calculation Date Location. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location."> + + partyElection CalculationDateLocationElection (2..2) <"The parties' calculation date location election."> + + +type CalculationDateLocationElection: <"A class to specify each of the party elections with respect to the Calculation Date Location. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i): Calculation Date Location. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(i): Calculation Date Location."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_calculation_date_location" = "select_location", set to "partyA" when "partyA_calculation_date_location" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_calculation_date_location" = "select_location", set to "partyB" when "partyB_calculation_date_location" = "other"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_designated_city" = "select_location", set to "partyA" when "partyA_designated_city" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_designated_city" = "select_location", set to "partyB" when "partyB_designated_city" = "other"] + businessCenter BusinessCenterEnum (0..1) <"The Calculation Date Location when specified as a business center which corresponds to the FpML list of business centers or can be mapped to it."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "partyA_location"] + [synonym ISDA_Create_1_0 value "partyB_location"] + customLocation string (0..1) <"The Calculation Date Location when specified a location which doesn't correspond to the FpML list of business centers or cannot be mapped to it."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + + condition Choice : <"The Calculation Date Location is specified either as a standard business center or as a custom location."> + required choice businessCenter, customLocation + +type CollateralAccessBreach: <"A class to specify Collateral Access Breach language"> + + isApplicable boolean (1..1) <"Collateral Access Breach terms are applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "collateral_access_breach" = "applicable", set to False when "collateral_access_breach" = "not_applicable"] + cabEndDateElection boolean (0..1) <"Determination of whether the Collateral Access Breach end date is a number of days (True) or specified (False)"> + [synonym ISDA_Create_1_0 set to True when "cab_end_date" = "days", set to False when "cab_end_date" = "other"] + cabEndDate number (0..1) <"The business days following the related Collateral Access Breach when the additional terms end "> + [synonym ISDA_Create_1_0 value "cab_end_date_days"] + cabEndDateTerms string (0..1) <"Specific terms for when Collateral Access Breach terms end"> + [synonym ISDA_Create_1_0 value "cab_end_date_specify"] + + condition CabEndDateTerms: <"A condition to require Collateral Access Breach End Date Terms when a specification is required"> + if cabEndDateElection = True then cabEndDateTerms is absent + + // condition CabEndDate: <"A condition to enforce that Collateral Access Breach terms should be absent when Not Applicable"> + // if isApplicable = False then cabEndDateElection and cabEndDate and cabEndDateTerms is absent + +//TODO - Condition required cabEndDate OR cabEndDateTerms required if CollateralAccessBreach is applicable + +type CollateralManagementAgreement: <"A class to specify the Collateral Management Agreement election by the respective parties to a Japanese Law ISDA CSA. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(i): Collateral Management Agreement."> + + partyElection CollateralManagementAgreementElection (2..2) <"The parties' Collateral Management Agreement election."> + +type CollateralManagementAgreementElection: <"A class to specify the Collateral Management Agreement election by each party as the Obligee. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b(i): Collateral Management Agreement."> + + party Party (1..1) <"The elective party."> + [metadata reference] + // TODO - Need for a mapping logic that will parse the ISDA Create prefix to identify partyA vs. partyB entries + collateralManagementAgreement string (1..1) <"The designated Collateral Management Agreement with respect to the elective party as the Obligee."> + [synonym ISDA_Create_1_0 value "partyA_specify", "partyB_specify"] + +type CollateralRounding: <"A class to specify the rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(C): Rounding. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding."> + + deliveryAmount number (1..1) <"The rounding methodology applicable to the Delivery Amount in terms of nearest integral multiple of Base Currency units."> + [synonym ISDA_Create_1_0 value "delivery_amount"] + returnAmount number (1..1) <"The rounding methodology applicable to the Return Amount in terms of nearest integral multiple of Base Currency units."> + [synonym ISDA_Create_1_0 value "return_amount"] + +type CollateralTransferAgreementElections: <"The set of elections which specify a Collateral Transfer Agreement"> + + regime Regime (1..1) <"The Regime Table provision , which determines the regulatory regime(s) applicable to each of the parties to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "Regimes"] + oneWayProvisions OneWayProvisions (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 value "one_way_provisions"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (a)"] + generalSimmElections GeneralSimmElections (1..1) <"The specification of the ISDA SIMM Method for all Covered Transactions with respect to all Regimes."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (e)"] + identifiedCrossCurrencySwap boolean (0..1) <"The qualification of whether cross-currency swaps need to be identified in the Confirmation so that the obligations to exchange principal be disregarded for the purpose of determining the Delivery Amount or Return Amount."> + [synonym ISDA_Create_1_0 set to True when "cross_currency_swap->yey_ney" = "true", set to False when "cross_currency_swap->yey_ney" = "false"] + // [documentReference Euroclear CtaInitialMargin 2018 paragraph "13" section "(g)"] + sensitivityMethodologies SensitivityMethodologies (1..1) <"The specification of methodologies to compute sensitivities specific to the agreement."> + fxHaircutCurrency FxHaircutCurrency (0..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + [synonym ISDA_Create_1_0 value "fx_haircut_percentage"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "(h)"] + postingObligations PostingObligations (1..1) <"The security providers posting obligations."> + [synonym ISDA_Create_1_0 value "security_provider_posting_obligations"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "General Principles (ii)"] + substitutedRegime SubstitutedRegime (1..1) <"The specification of Additional regimes for purposes of determining whether a Regulatory Event has occurred."> + [synonym ISDA_Create_1_0 value "substituted_regimes"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (k)"] + baseCurrency string (1..1) <"The base currency for the document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "1"] + creditSupportObligations CreditSupportObligationsInitialMargin (1..1) <"The Credit Support Obligations applicable to the agreement. "> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3"] + calculationAndTiming CalculationAndTiming (1..1) <"The set of elections for determining Valuation and Timing terms specific to the agreement"> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections that may overwrite the default Condition Precedent provision, and the set of provisions that are deemed Access Condition."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "5"] + substitution Substitution (1..1) <"The conditions under which the Security Provider can substitute posted collateral."> + [synonym ISDA_Create_1_0 value "consent"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "f"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "6"] + rightsEvents RightsEvents (1..1) <"The bespoke provisions that might be specified by the parties to the agreement to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred.."> + custodyArrangements CustodyArrangements (1..1) <"The Custodian and Segregated Account details in respect of each party to the agreement."> + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "m"] + additionalRepresentations AdditionalRepresentations (1..1) <"The specification Additional Representations that may be applicable to the agreement."> + demandsAndNotices ContactElection (0..1) <"The optional specification of address where the demands, specifications and notices will be communicated to for each of the parties to the agreement."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "12"] + addressesForTransfer ContactElection (0..1) <"The optional specification of address for transfer as specified by the respective parties to the agreement."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "12"] + otherCsa string (0..1) <"The bespoke definition of Other CSA as specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "other_csa->specify" set when "other_csa->specified" = "true"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "13"] + terminationCurrencyAmendment TerminationCurrencyAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Termination Currency. Unless specified the definition of Termination Currency has the meaning specified in the Schedule to the ISDA Master Agreement."> + [synonym ISDA_Create_1_0 value "amendment_to_termination_currency"] + [synonym ISDA_Create_1_0 value "security_provider_posting_obligations"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "13"] + minimumTransferAmountAmendment MinimumTransferAmountAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Minimum Transfer Amount. Unless specified the definition of Minimum Transfer Amount in any Other Regulatory CSA has the meaning specified in such Other Regulatory CSA."> + [synonym ISDA_Create_1_0 value "amendment_to_minimum_transfer_amount" mapper "MinimumTransferAmountAmendment"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "14"] + interpretationTerms string (0..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Interpretations."> + [synonym ISDA_Create_1_0 value "paragraph_1_6a_specify" path "interpretation" set when "interpretation->paragraph_1_6a_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_10ki_specify" path "interpretation" set when "interpretation->paragraph_10ki_is" = "specify"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "15"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms relevant to the agreement."> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + +type CollateralValuationAgent: <"A class to specify Collateral Valuation Agent terms."> + + partyElection CollateralValuationAgentElection (0..2) <"The parties Collateral Valuation Agent Elections."> + +type CollateralValuationAgentElection: <"A class to specify Collateral Valuation Agent language."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_collateral_valuation_agent" = "other"] //Check synonyms + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_collateral_valuation_agent" = "other"] //Check synonyms + additionalLanguage string (0..1) <"The additional language that might be specified by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "partyA_specify"] //Check synonyms + [synonym ISDA_Create_1_0 value "partyB_specify"] //Check synonyms + +type ConditionsPrecedent: <"A class to specify the two set of elections that may overwrite the default Condition Precedent provision as specified in Paragraph 4, (a) of the ISDA 2016 Credit Support Annex for Initial Margin and the ISDA 2016 Credit Support Annex for Variation Margin. | ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2018 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Conditions Precedent. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + + conditionsPrecedentElection boolean (0..1) <"The election to specify whether the standard Conditions Precedent apply"> + [synonym ISDA_Create_1_0 set to True when "conditions_precedent->conditions_precedent" = "not specified", set to False when "conditions_precedent->conditions_precedent" = "paragraph_3_1_will_not_apply"] + [synonym ISDA_Create_1_0 set to True when "conditions_precedent->specified" = "false", set to False when "conditions_precedent->specified" = "true"] + customProvision string (0..1) <"The custom provisions that might be specified by the parties to the agreement for the purpose of overwriting the default Condition Precedent provision as specified in ISDA 2016 Credit Support Annex for Initial Margin and the ISDA 2016 Credit Support Annex for Variation Margin, Paragraph 4, (a). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(i). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(i). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(i). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, : Conditions Precedent and Secured Party’s Rights and Remedies."> + [synonym ISDA_Create_1_0 value "specify" path "conditions_precedent"] + accessConditions AccessConditions (1..1) <"The parties' election with respect to the Termination Events that will be deemed an Access Condition (Initial Margin CSA) or a Specified Condition (Variation Margin CSA). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + [synonym ISDA_Create_1_0 value "access_conditions"] //"conditions_precedent" + [synonym ISDA_Create_1_0 value "access_conditions" path "conditions_precedent"] + + condition CustomProvision: <"When a Custom Provision is specified then the Conditions Precedent Election should be absent."> + if customProvision exists + then conditionsPrecedentElection = False + +type ContactElection: <"A class to specify the parties' election to specify contact information, in relation to elections such as the Addresses for Transfer or the Demand and Notices as specified in the ISDA Credit Support Annex agreement."> + + partyElection PartyContactInformation (2..2 ) <"The parties' contact information election."> + +type ControlAgreement: <"A class to specify the relationship between the Control Agreement and the Credit Support Agreement."> + + partyElection ControlAgreementElections (2..2) <"The party specific elections."> + +type ControlAgreementElections: <"A class to specify the Control Agreement election sby each party to the agreement."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "yes", + set to "partyA" when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "yes", + set to "partyB" when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to "partyA" when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "yes", + set to "partyA" when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "yes", + set to "partyB" when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyA" when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "yes", + set to "partyA" when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to "partyB" when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "yes", + set to "partyB" when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "no"] + controlAgreementAsCsd boolean (1..1) <"The identification of whether the Control Agreement is a Credit Support Document with respect to each party"> + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "yes", + set to False when "control_agreement_as_a_credit_support_document->partyA_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "yes", + set to False when "control_agreement_as_a_credit_support_document->partyB_control_agreement_as_a_credit_support_document" = "no"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "yes", + set to False when "euroclear_agreements_as_credit_support_documents->partyA_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "yes", + set to False when "euroclear_agreements_as_credit_support_documents->partyB_euroclear_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "yes", + set to False when "clearstream_agreements_as_credit_support_documents->partyA_clearstream_agreements_as_credit_support_documents" = "no"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "yes", + set to False when "clearstream_agreements_as_credit_support_documents->partyB_clearstream_agreements_as_credit_support_documents" = "no"] + // TODO - add Condition - include when 2018 CSD English Law, exclude when 2016 (captured under CustodyArrangements) + consistencyWithControlAgreement boolean (0..1) <"Unless specified as inapplicable in the event of any inconsistency between this Deed and the Control Agreement, this Deed will prevail over the Control Agreement"> + [synonym ISDA_Create_1_0 set to True when "inconsistency_with_the_control_agreement->partyA_inconsistency_with_the_control_agreement" = "applicable", + set to False when "inconsistency_with_the_control_agreement->partyA_inconsistency_with_the_control_agreement" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "inconsistency_with_the_control_agreement->partyB_inconsistency_with_the_control_agreement" = "applicable", + set to False when "inconsistency_with_the_control_agreement->partyB_inconsistency_with_the_control_agreement" = "not_applicable"] + // TODO - add Condition - only include when 2018 CSD English Law + relationshipWithControlAgreement boolean (0..1) <"Unless specified as inapplicable the parties recognise that the Control Agreement is a means by which the parties can perform their obligations."> + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->partyA_control_agreement_relationship" = "applicable", + set to False when "relationship_with_the_control_agreement->partyA_control_agreement_relationship" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->partyB_control_agreement_relationship" = "applicable", + set to False when "relationship_with_the_control_agreement->partyB_control_agreement_relationship" = "not_applicable"] + // TODO - add Condition - only include when 2018 CSD English Law + +type ControlAgreementNecEvent: <"A class to specify Control Agreement language related to delivery of a Notice of Exclusive Control"> + + controlAgreementNecEventElection ControlAgreementNecEventElection (2..2) + +type ControlAgreementNecEventElection: <"A class to specify party specific Control Agreement language related to delivery of a Notice of Exclusive Control"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_control_agreement_nec_event" = "applicable", set to "partyA" when "partyA_control_agreement_nec_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyB_control_agreement_nec_event" = "applicable", set to "partyB" when "partyB_control_agreement_nec_event" = "not_applicable"] + + necEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_control_agreement_nec_event" = "applicable", set to False when "partyA_control_agreement_nec_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_control_agreement_nec_event" = "applicable", set to False when "partyB_control_agreement_nec_event" = "not_applicable"] + +type CreditNotation: <"A class to specify the credit notation as the combination of agency, notation, scale and debt type qualifications."> + [synonym FpML_5_10 value "CreditNotation"] + + agency CreditRatingAgencyEnum (1..1) <"The credit agency to which the other variables (notation, scale, debt type) refer to."> + [metadata scheme] + [synonym FpML_5_10 value "agency" meta "creditRatingAgencyScheme"] + notation string (1..1) <"The credit rating notation. As it varies among credit rating agencies, FpML doesn't specify a default scheme."> + [metadata scheme] + [synonym FpML_5_10 value "notation" meta "creditRatingNotationScheme"] + scale string (0..1) <"The credit rating scale, with a typical distinction between short term, long term. FpML doesn't specify a default scheme, which is hence not specified as an enumeration as part of the CDM."> + [metadata scheme] + [synonym FpML_5_10 value "scale" meta "creditRatingScaleScheme"] + debt CreditRatingDebt (0..1) <"The credit rating debt type (e.g. long term, high yield, deposits, ...) associated with the credit rating notation and scale."> + [synonym FpML_5_10 value "debt"] + + +type CreditNotations: <"The credit rating notation higher level construct, which provides the ability to specify multiple rating notations."> + [synonym FpML_5_10 value "CreditNotations"] + + creditNotation CreditNotation (0..1) <"This attribute is specified when only one credit notation is determined."> + [synonym FpML_5_10 value "creditNotation"] + creditNotations MultipleCreditNotations (0..1) <"This attribute provides the ability to specify several credit notations, alongside an 'any' or 'all' or all condition."> + condition: one-of + +type CreditRatingDebt: <"The credit rating debt type(s) associated with the credit rating notation and scale. When several debt types are specified, they must be qualified through an 'any' or 'all'."> + [synonym FpML_5_10 value "CreditRatingDebt"] + + debtType string (0..1) <"This attribute is to be specified when only one debt type is specified. FpML doesn't specify values in relation to the associated scheme, which is hence not specified as an enumeration as part of the CDM."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "debtTypeScheme"] + debtTypes MultipleDebtTypes (0..1) <"This attribute provides the ability to specify several debt types, alongside an 'any' or 'all' or all condition. As an example, Baa1 rating is required for any long term debt and deposit."> + condition: one-of + +type CreditSupportAgreementElections: <"The set of elections which specify a Credit Support Annex or Deed."> + + regime Regime (1..1) <"The Regime Table provision , which determines the regulatory regime(s) applicable to each of the parties to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "Regimes"] + oneWayProvisions OneWayProvisions (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 value "one_way_provisions"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (a)"] + generalSimmElections GeneralSimmElections (1..1) <"The specification of the ISDA SIMM Method for all Covered Transactions with respect to all Regimes."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (e)"] + identifiedCrossCurrencySwap boolean (0..1) <"The qualification of whether cross-currency swaps need to be identified in the Confirmation so that the obligations to exchange principal be disregarded for the purpose of determining the Delivery Amount or Return Amount."> + [synonym ISDA_Create_1_0 set to True when "cross_currency_swap->yey_ney" = "true", set to False when "cross_currency_swap->yey_ney" = "false"] + // [documentReference Euroclear CtaInitialMargin 2018 paragraph "13" section "(g)"] + sensitivityMethodologies SensitivityMethodologies (1..1) <"The specification of methodologies to compute sensitivities specific to the agreement."> + fxHaircutCurrency FxHaircutCurrency (0..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + [synonym ISDA_Create_1_0 value "fx_haircut_percentage"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "(h)"] + postingObligations PostingObligations (1..1) <"The security providers posting obligations."> + [synonym ISDA_Create_1_0 value "chargor_posting_obligations"] + [synonym ISDA_Create_1_0 value "pledgor_posting_obligations"] + [synonym ISDA_Create_1_0 value "obligor_posting_obligations"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "General Principles (ii)"] + substitutedRegime SubstitutedRegime (1..1) <"The specification of Additional regimes for purposes of determining whether a Regulatory Event has occurred."> + [synonym ISDA_Create_1_0 value "substituted_regimes"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (k)"] + baseCurrency string (1..1) <"The base currency for the document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "1"] + additionalObligations string (0..1) <"The additional obligations that might be specified by the parties to a Credit Support Agreement."> + [synonym ISDA_Create_1_0 value "additional_obligations_specify" path "additional_obligations" set when "additional_obligations->additional_obligations" = "specify"] + creditSupportObligations CreditSupportObligationsInitialMargin (1..1) <"The Credit Support Obligations applicable to the agreement. "> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3"] + calculationAndTiming CalculationAndTiming (1..1) <"The set of elections for determining Valuation and Timing terms specific to the agreement"> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "4"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections that may overwrite the default Condition Precedent provision, and the set of provisions that are deemed Access Condition."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "5"] + substitution Substitution (1..1) <"The conditions under which the Security Provider can substitute posted collateral."> + [synonym ISDA_Create_1_0 value "consent"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "f"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "6"] + rightsEvents RightsEvents (1..1) <"The bespoke provisions that might be specified by the parties to the agreement to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred.."> + custodyArrangements CustodyArrangements (1..1) <"The Custodian and Segregated Account details in respect of each party to the agreement."> + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "m"] + additionalRepresentations AdditionalRepresentations (1..1) <"The specification Additional Representations that may be applicable to the agreement."> + otherEligibleAndPostedSupport OtherEligibleAndPostedSupport (1..1) <"The Other Eligible Support elections associated with margin agreements."> + demandsAndNotices ContactElection (0..1) <"The optional specification of address where the demands, specifications and notices will be communicated to for each of the parties to the agreement."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "12"] + addressesForTransfer ContactElection (0..1) <"The optional specification of address for transfer as specified by the respective parties to the agreement."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "12"] + otherCsa OtherAgreements (0..1) <"The bespoke definition of Other CSA as specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "other_csa"] + // [documentReference Euroclear CtaInitialMargin 2018 English Law paragraph "13" section "13"] + japaneseLawCsa OtherAgreements (0..1) <"The bespoke definition of whether Japanese Law CSA (VM) are specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (s)(ii): Japanese Law CSA (VM)."> + [synonym ISDA_Create_1_0 value "japanese_law_csa_vm"] + terminationCurrencyAmendment TerminationCurrencyAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Termination Currency. Unless specified the definition of Termination Currency has the meaning specified in the Schedule to the ISDA Master Agreement."> + [synonym ISDA_Create_1_0 value "amendment_to_termination_currency"] + [synonym ISDA_Create_1_0 value "pledgor_posting_obligations"] + [synonym ISDA_Create_1_0 value "chargor_posting_obligations"] + [synonym ISDA_Create_1_0 value "obligor_posting_obligations"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "13"] + minimumTransferAmountAmendment MinimumTransferAmountAmendment (1..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Minimum Transfer Amount. Unless specified the definition of Minimum Transfer Amount in any Other Regulatory CSA has the meaning specified in such Other Regulatory CSA."> + [synonym ISDA_Create_1_0 value "amendment_to_minimum_transfer_amount" mapper "MinimumTransferAmountAmendment"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "14"] + interpretationTerms string (0..1) <"The bespoke provision that might be specified by the parties to the agreement applicable to Interpretations."> + [synonym ISDA_Create_1_0 value "paragraph_10ki_specify" path "interpretation" set when "interpretation->paragraph_10ki_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_11g_specify" path "interpretation" set when "interpretation->paragraph_11g_is" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_11j_specify" path "interpretation" set when "interpretation->paragraph_11j_is" = "specify"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "15"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + appropriatedCollateralValuation AppropriatedCollateralValuation (0..1) <"The election for the Valuation of Appropriate Collateral."> + [synonym ISDA_Create_1_0 value "valuation_of_appropriated_collateral"] + // [documentReference ISDA CsdInitialMargin 2016 paragraph "13" section "v"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms relevant to the agreement."> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + trustSchemeAddendum boolean (1..1) <"The qualification of whether Trust Scheme Addendum is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "trust_scheme_addendum->is_applicable" = "applicable", set to False when "trust_scheme_addendum->is_applicable" = "not_applicable"] + +type CreditSupportObligationsInitialMargin: <"A class to specify the Credit Support Obligations applicable to the Initial Margin Credit Support Annex and which are common among the English, Japanese and New York governing laws. This excludes the Other Eligible Support election (which only applies to the Japanese Law and New York Law agreements) and the Transfer Timing election (which only applies to the English Law and the New York Law agreements). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c): Credit Support Obligations. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d): Credit Support Obligations. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c): Credit Support Obligations."> + + marginApproach MarginApproach (0..1) <"The selection of Margin Approach applicable to the agreement."> + [synonym ISDA_Create_1_0 value "selection_of_margin_approach"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(a)"] + threshold Threshold (1..1) <"The amount of net exposure that a party is willing to bear in relation to the other party before it requires asking for collateral. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(A): Threshold. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold."> + [synonym ISDA_Create_1_0 value "threshold" mapper "Threshold"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(b)(ii)"] + minimumTransferAmount MinimumTransferAmount (1..1) <"The net amount of exposure reached before collateral has to be posted or returned. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(B): Minimum Transfer Amount. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount."> + [synonym ISDA_Create_1_0 value "minimum_transfer_amount" mapper "MinimumTransferAmount"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "3(b)(i)"] + rounding CollateralRounding (0..1) <"The rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(C): Rounding. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(C): Rounding."> + [synonym ISDA_Create_1_0 value "rounding"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(c)(v)(C)"] + bespokeTransferTiming BespokeTransferTiming (0..1) <"The time by which the transfer of collateral must take place when different from the Regular Settlement Day as a result of parties' election."> + [synonym ISDA_Create_1_0 value "transfer_timing"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "(c)(vi)"] + +type CreditSupportObligationsVariationMargin: <"A class to specify the Credit Support Obligations applicable to the Variation Margin Credit Support Annex and which are common among the English, Japanese and New York governing laws. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c): Credit Support Obligations."> + + eligibleCollateral EligibleCollateralVariationMargin (1..1) <"The eligible collateral elections by the parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + ineligibleCreditSupport IneligibleCreditSupport (1..1) <"The parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + majorCurrency string (1..*) <"The set of currencies that are specified as Major Currency for the purpose of applying the FX Haircut Percentage. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(v)(B): FX Haircut Percentage."> + [metadata scheme] + // In relation to the above, are the parties expected to always specify the major currencies, or should we have default values specified in the template, deemed to apply if no election by the parties? The current model assumes the former. + fxHaircut number (1..1) <"The FX haircut percentage that applies to each party (as the pledgor/chargor/obligor) and item of Eligible Collateral unless this item is denominated in a Major Currency or in the Base Currency. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(v)(B): FX Haircut Percentage."> + // Same question as above: does the template specifies 8% as a default value? + minimumTransferAmount MinimumTransferAmount (1..1) <"The net amount of exposure reached before collateral has to be posted or returned. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vii)(A): Minimum Transfer Amount."> + rounding CollateralRounding (1..1) <"The rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vii)(B): Rounding."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type Csa: <"An abstract class to specify the provisions for a ISDA Credit Support Annex that are common among vintages, governing laws and across IM and VM."> + + documentationIdentification DocumentationIdentification (0..1) <"The identification of the legal document(s) that govern the contract through some of the key terms of such document(s): type of document, the document identifier, the publisher, the document vintage and the agreement date."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type Csa2016 extends Csa: <"An abstract class to specify the provisions for the 2016 ISDA Credit Support Annex that are common among governing laws and across Initial and Variation Margin."> + + baseCurrency string (1..1) <"The base currency for the Credit Support Annex document as elected by the parties to the agreement. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes. ISDA 2016 CSA for Initial Margin, Paragraph 13 (a) | ISDA 2016 CSA for Variation Margin, Paragraph 13 (a)."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "currency" path "base_currency"] + additionalObligations string (0..1) <"The additional obligations that might be specified by the parties to an ISDA CSA. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (b)(ii). | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(ii). | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(ii). | ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (b)(ii)."> + [synonym ISDA_Create_1_0 value "additional_obligations_specify" path "additional_obligations" set when "additional_obligations->additional_obligations" = "specify"] + conditionsPrecedent ConditionsPrecedent (1..1) <"The set of elections specified in Paragraph 13 that may overwrite the default Condition Precedent provision as specified in ISDA 2016 Credit Support Annex for Initial Margin, Paragraph 4, (a), and the set of provisions that are deemed Access Condition (Initial Margin) and Specified Condition (Variation Margin). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Conditions Precedent. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e): Conditions Precedent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (e): Conditions Precedent and Secured Party’s Rights and Remedies."> + substitution Substitution (1..1) <"The conditions under which the Pledgor/Obligor/Chargor can substitute posted collateral. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (f): Substitution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Substitution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f): Substitution. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (f): Substitution."> + [synonym ISDA_Create_1_0 value "consent"] + disputeResolution DisputeResolution (1..1) <"The election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (h): Dispute Resolution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (g): Dispute Resolution."> + [synonym ISDA_Create_1_0 value "resolution_time"] + additionalRepresentation AdditionalRepresentation (1..1) <"ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (o): Additional Representation(s). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (k): Additional Representation(s)."> + [synonym ISDA_Create_1_0 value "additional_representations"] + demandsAndNotices ContactElection (1..1) <"The address where the demands, specifications and notices will be communicated to within each of the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (q): Demands and Notices. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (m): Demands and Notices."> + [synonym ISDA_Create_1_0 value "demands_and_notices"] + addressesForTransfer ContactElection (1..1) <"The address for transfer as specified by the respective parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (r): Addresses for Transfers. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (n): Addresses for Transfers."> + [synonym ISDA_Create_1_0 value "addresses_for_transfers"] + bespokeProvision string (0..1) <"The bespoke provision that might be specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (u)(iii): Other Provisions. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (p): Other Provisions."> + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + umbrellaAgreement UmbrellaAgreement (0..1) <"The determination of whether Umbrella Agreement terms are applicable (True) or Not Applicable (False)."> + [synonym ISDA_Create_1_0 value "umbrella_agreement_and_principal_identification", "principal_identification_schedule" path "umbrella_agreement_and_principal_identification"] + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type CsaVariationMargin2016 extends Csa2016: <"An abstract class to specify the provisions for the 2016 ISDA Credit Support Annex for Variation Margin that are common among governing laws."> + + creditSupportObligations CreditSupportObligationsVariationMargin (1..1) <"The Credit Support Obligations applicable to the Variation Margin Credit Support Annex. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c): Credit Support Obligations."> + valuationAgent Party (1..1) <"The Valuation Agent as specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(i): Valuation Agent."> + [metadata reference] + valuationDateLocation CalculationDateLocation (1..1) <"The business location elected by the respective parties to the agreement as the Valuation Date Location. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(ii): Valuation Date Location."> + valuationTime BusinessCenterTime (1..*) <"ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(iii): Valuation Time."> + // In relation to the above, need to confirm that several valuation times can be specified, as suggested by the sample document which has been used, although this sounds peculiar if not expressed as one valuation time election per party + notificationTime int (1..1) <"The extend of time by which a demand for the Transfer of Eligible Credit Support (VM) or Posted Credit Support (VM) needs to be made after the relevant Valuation Time in order for the transfer to take place. This time is expressed in a number of minutes. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (d)(iv): Notification Time."> + // TODO - Look to express this elapse time as an interval time, to be projected as a a java Interval type https://trello.com/c/hclQUeS0 + holdingAndUsingPostedCollateral HoldingAndUsingPostedCollateral (1..1) <"The elections for the holding and using of posted collateral by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + creditSupportOffsets boolean (1..1) <"When True the Credit Support Offsets provisions in Paragraph 11(j) of the ISDA 2016 Credit Support Annex for Variation Margin apply. They don't apply when False. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (j): Credit Support Offsets."> + otherCsa OtherAgreements (1..1) <"The qualification of whether Other CSA are specified by the parties to the agreement. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (o): Other CSA."> + +//TODO - Deprecate: Still used by Variation Margin doc which hasn't been refactored. +type CsaVariationMargin2016NewYorkLaw extends CsaVariationMargin2016: <"A class to specify the provisions that are specific to the New York Law version of the ISDA 2016 Credit Support Annex for Variation Margin."> + + otherEligibleSupport string (0..1) <"The Other Eligible Support election. If not specified, this election is deemed as not applicable. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(vi): Other Eligible Support (VM)."> + transferTiming string (1..1) <"The time by which the transfer of collateral must take place after the Notification Time on the Regular Settlement Day. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (c)(viii): Transfer Timing."> + otherEligibleAndPostedSupport OtherEligibleAndPostedSupport (1..1) <"The Other Eligible Support elections associated with margin agreements. ISDA 2016 New York Law Credit Support Annex for Variation Margin, paragraph 13, (l): Other Eligible Support (VM) and Other Posted Support (VM)."> + +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type EquitySwapMasterConfirmation2018 extends EquityMasterConfirmation: <"Specification for the General Terms and Relationship Supplement Elections as provided in the 2018 ISDA CDM Equity Confirmation for Security Equity Swap."> + + typeOfSwapElection ReturnTypeEnum (1..1) <"Part 1 Section 4, 'Dividend Obligations', of the 2018 ISDA CDM Equity Confirmation, Para 4.2 'Dividend Returns': The Type Of Swap Election shall be 'Total Return', unless otherwise specified (as alternative 'Price Return') in the Transaction Supplement."> + pricingMethodElection PriceReturnTerms (1..1) <"Part 1 Section 5, 'Pricing', of the 2018 ISDA CDM Equity Confirmation, Para 5.1, 'Determining Prices': Each price in relation to a Pricing Date shall be determined pursuant to the specified Pricing Method. The relevant price specified under the column header 'Price' for a corresponding Pricing Date specified under the column header 'Pricing Date' shall be determined using the corresponding method specified under the column header 'Pricing Method'. Pricing Method for the final Equity Valuation Date shall be specified by the Final EVD Pricing Election and Pricing Method for any other Equity Valaution Date shall be 'Securities Close Pricing (Official)'"> + // TODO: the initialPrice attribute should be optional in PriceReturnTerms, only the valuationPriceInterim and valuationPriceFinal methods should be specified at the Swap level + linearInterpolationElection InterpolationMethodEnum (1..1) <"Part 1 Section 3, 'Floating Obligations', of the 2018 ISDA CDM Equity Confirmation. Para 3.3, 'Linear Interpolation': If the initial Calculation Period is not equal to the Designated Maturity, then the Linear Interpolation Election shall be as specified in the Relationship Supplement, unless otherwise specified in the Transaction Supplement."> + settlementTerms SettlementTerms (1..1) <"Part 1 Section 8, 'Settlement', of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap. All Settlements are in Cash."> + equityCalculationPeriod CalculationPeriodDates (1..1) <"The parameters used to generate the 'Equity Valuation Dates' schedule, including the Effective Date and Termination Date for the Swap."> + equityCashSettlementDates PaymentDates (1..1) <"The parameters used to generate the payment date schedule, relative to the equityCalculationPeriod. Part 1 Section 12, 'Definitions', of the 2018 ISDA CDM Equity Confirmation. Para 73: 'Equity Cash Settlement Date' means each date falling one Settlement Cycle after an Equity Valuation Date; provided that if any such date is not a Settlement Currency Business Day, then such date shall be adjusted per Following Day Adjustment."> + +// TODOs: Averaging Election, Dividend Payment Date Election, Break Funding Election +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type EquityMasterConfirmation extends MasterConfirmationBase: <"Specification for General Terms and Elections of an Equity Master Confirmation that is applicable across multiple Equity confirmations and is referenced by each of these confirmations, an example of which being the 2018 ISDA CDM Equity Confirmation for Security Equity Swap."> + +//TODO - Deprecate: Still used by Equity Master Confirmation doc which hasn't been refactored. +type MasterConfirmationBase: <"Legal agreement specification for General Terms and Elections that are applicable across multiple confirmations and are referenced by these confirmations."> + +type Custodian: <"A class to specify the custodian and custody account details for each party to the agreement."> + + partyElection CustodianElection (2..2) <"The party specific elections."> + +type CustodianElection: <"A class to specify the custodian and custody account details for each party to the agreement."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_custodian_name" exists, set to "partyB" when "partyB_custodian_name" exists] + custodian LegalEntity (0..1) <"The custody agent. While ISDA Create only specifies the custodian's name, specifying the legal entity as part of the CDM is deemed more appropriate, while this will still provide the ability to accommodate situations where only the entity name is available, as the entityId attribute is optional as part of the LegalEntity class."> + [synonym ISDA_Create_1_0 value "custodian_name"] + [synonym ISDA_Create_1_0 value "collateral_manager"] + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + segregatedCashAccount Account (0..1) <"The identification of the segregated cash account for the purpose of holding cash collateral."> + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + // TODO - Need for a mapping logic that will parse the ISDA Create suffix to identify cash vs. security with custodian_and_segregated_account_details as a path + segregatedSecurityAccount Account (0..1) <"The identification of the segregated security account for the purpose of holding security collateral."> + [synonym ISDA_Create_1_0 value "custodian_and_segregated_account_details"] + // TODO - Need for a mapping logic that will parse the ISDA Create suffix to identify cash vs. security with custodian_and_segregated_account_details as a path + + +type CustodianEvent: <"A class to specify the Custodian Event (English Law & New York Law ISDA CSA) and the Collateral Manager Event (Japanese Law ISDA CSA) in terms of applicability and end-date. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(iii): Custodian Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(ii): Collateral Manager Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Custodian Event."> + + isApplicable boolean (1..1) <"The qualification as to whether the Custodian Event (English Law & New York Law ISDA CSA) or the Collateral Manager Event (Japanese Law ISDA CSA) is applicable."> + [synonym ISDA_Create_1_0 set to True when "custodian_event->definition" = "applicable", set to False when "custodian_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "euroclear_event->definition" = "applicable", set to False when "euroclear_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "clearstream_event->definition" = "applicable", set to False when "clearstream_event->definition" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "collateral_manager_event->definition" = "applicable", set to False when "collateral_manager_event->definition" = "not_applicable"] + endDate CustodianEventEndDate (0..1) <"The qualification of the Custodian Event (English Law & New York Law ISDA CSA) or Collateral Manager Event (Japanese Law ISDA CSA) End Date."> + [synonym ISDA_Create_1_0 value "ce_end_date"] + [synonym ISDA_Create_1_0 value "ee_end_date"] + [synonym ISDA_Create_1_0 value "cme_end_date"] + +type CustodianEventEndDate: <"A class to specify the Custodian Event (English Law & New York Law ISDA CSA) or Collateral Manager Event (Japanese Law ISDA CSA) End Date. Its qualification is function of three elective periods: either (i) a specified number of days after the occurrence of the Custodian Event (the daysAfterCustodianEvent attribute), or (ii) the number of days prior to the date on which the Control Agreement will terminate, with in this latter case (iii) the further qualification of the number of days prior to the Release Date if only one party has effectively provided the Timely Statement to the other party. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(iii): CE End Date. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(ii): CME End Date. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): CE End Date."> + + daysAfterCustodianEvent CustomisableOffset (1..1) <"The parties' election to specify the number of days after the occurrence of the Custodian Event (English Law & New York Law ISDA CSA) or the Collateral Management Event (Japanese Law ISDA CSA) for the purpose of qualifying the CE/CME End Date."> + // TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `after` + [synonym ISDA_Create_1_0 value "days_after_custodian_event"] + releaseDate CustomisableOffset (1..1) <"The parties' election to specify the number of days prior to the termination of the Control Agreement (English Law & New York Law ISDA CSA) or the Collateral Management Event (Japanese Law ISDA CSA) for the purpose of qualifying the CE/CME End Date, in the case where advance notice is given."> + // TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `release` + [synonym ISDA_Create_1_0 value "release_days"] + dateOfTimelyStatement CustomisableOffset (1..1) <"The parties' election to specify the number of days one party has effectively provided the Timely Statement to the other party."> + [synonym ISDA_Create_1_0 value "days_after_timely_statement"] + +// TODO - Need for a mapping logic that will map the elements in ce_end_date which prefix is `timely` or `date_of_timely` +type CustodianRisk: <"A class to specify the Custodian Risk elections specific to a Credit Support Agreement."> + + partyElection CustodianRiskElection (1..2) <"The party specific elections."> + +type CustodianRiskElection: <"A class to specify the Custodian Risk (English Law and New York Law ISDA CSA) and the Collateral Manager Risk (Japanese Law ISDA CSA) election. | ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk. | ISDA 2018 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(i): Collateral Manager Risk. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk."> + + party string (0..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_custodian_risk" = "other", set to "partyA" when "partyA_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_custodian_risk" = "other", set to "partyB" when "partyB_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_collateral_manager_risk" = "other", set to "partyA" when "partyA_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_collateral_manager_risk" = "other", set to "partyB" when "partyB_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_clearstream_risk" = "other", set to "partyA" when "partyA_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_clearstream_risk" = "other", set to "partyB" when "partyB_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_euroclear_risk" = "other", set to "partyA" when "partyA_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_euroclear_risk" = "other", set to "partyB" when "partyB_euroclear_risk" = "not_specified"] + isSpecified boolean (1..1) <"The qualification as to whether the risk is deemed as Specified."> + [synonym ISDA_Create_1_0 set to True when "partyA_custodian_risk" = "other", set to False when "partyA_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_custodian_risk" = "other", set to False when "partyB_custodian_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_collateral_manager_risk" = "other", set to False when "partyA_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_collateral_manager_risk" = "other", set to False when "partyB_collateral_manager_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_clearstream_risk" = "other", set to False when "partyA_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_clearstream_risk" = "other", set to False when "partyB_clearstream_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyA_euroclear_risk" = "other", set to False when "partyA_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "partyB_euroclear_risk" = "other", set to False when "partyB_euroclear_risk" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_6b" = "specified", set to False when "paragraph_6b" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_6a" = "specified", set to False when "paragraph_6a" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "paragraph_5_2" = "specify", set to False when "paragraph_5_2" = "not_specified"] + qualification string (0..1) <"The Custodian Risk (English Law and New York Law ISDA CSA) or Collateral Manager Risk (Japanese Law ISDA CSA) qualification. This attribute is optional because the Custodian Risk provision can be deemed as 'Specified', although not be qualified through this attribute."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + [synonym ISDA_Create_1_0 value "paragraph_6b_specify" set when "paragraph_6b" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_6a_specify" set when "paragraph_6a" = "specify"] + [synonym ISDA_Create_1_0 value "paragraph_5_2_specify" set when "paragraph_5_2" = "specify"] + + + condition Specified: <"The Custodian Risk (English Law and New York Law ISDA CSA) or Collateral Manager Risk (Japanese Law ISDA CSA) should only be qualified if that risk is deemed 'specified'."> + if isSpecified = False + then qualification is absent + +type CustodianTerms: <"A class to specify the requirements applicable to the custodian with respect to the holding of posted collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(i): Eligibility to Hold Posted Collateral (VM) Custodians (VM)."> + [synonym FpML_5_10 value "CustodianTerms"] + + /* + * This class leverages the FpML representation for the ISDA Standard CSA for the purpose of normalizing the election + * in the ISDA CSA 2016 for Variation Margin, Paragraph 13, (h)(i)(2). + */ + minimumAssets Money (0..1) <"The minimal level of assets requirement with respect to the custody agent."> + [synonym FpML_5_10 value "minimumAssets"] + minimumRating CreditNotations (0..1) <"The minimal rating requirement with respect to the custody agent."> + [synonym FpML_5_10 value "minimumRating"] + initialDesignation LegalEntity (0..1) <"The 2016 ISDA CSA for Variation Margin provides the ability for the parties to specify the initial custodian."> + +type CustodyArrangements: <"A class to specify the Custody Arrangements for the agreement."> +// <"A class to specify the Custody Arrangements for the English Law and New York Law ISDA Credit Support Annex. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Custody Arrangements."> + isCreditSupportDocument boolean (0..1) <"Unless specified as True, the Control Agreement is not a Credit Support Document under the agreement with respect to a party. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 6 (e): The Control Agreement as a Credit Support Document."> + [synonym ISDA_Create_1_0 set to True when "control_agreement_as_a_credit_support_document->definition" = "creditSupportDocument", + set to False when "control_agreement_as_a_credit_support_document->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "collateral_management_agreement_as_a_credit_support_document->definition" = "creditSupportDocument", + set to False when "collateral_management_agreement_as_a_credit_support_document->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "euroclear_agreements_as_credit_support_documents->definition" = "creditSupportDocument", + set to False when "euroclear_agreements_as_credit_support_documents->definition" = "not_specified"] + [synonym ISDA_Create_1_0 set to True when "clearstream_agreements_as_credit_support_documents->definition" = "creditSupportDocument", + set to False when "clearstream_agreements_as_credit_support_documents->definition" = "not_specified"] + hasControlAgreementLanguage boolean (0..1) <"Control Agreement language is specified when True."> + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_control_agreement->include_language" = "include", set to False when "relationship_with_the_control_agreement->include_language" = "exclude"] + [synonym ISDA_Create_1_0 set to True when "relationship_with_the_collateral_management_agreement->include_language" = "include", + set to False when "relationship_with_the_collateral_management_agreement->include_language" = "exclude"] + // TODO - add Condition for hasControlAgreement - include when 2016, exclude when 2018 (captured under CustodyArrangementsElection) + otherProvisions string (0..1) <"ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(vii): Other Provisions."> + [synonym ISDA_Create_1_0 value "specify" path "other_provisions" set when "other_provisions->specify_provisions" = "specify"] + // TODO - add Condition for otherProvisions - include when 2016, exclude when 2018 (captured under CustodyArrangementsElection) + collateralAccessBreach CollateralAccessBreach (0..1) <"The elections specific to Collateral Access Breach language"> + [synonym ISDA_Create_1_0 value "collateral_access_breach_additional_termination_event"] + [synonym ISDA_Create_1_0 value "collateral_access_breach"] + custodianRisk CustodianRisk (0..1) <"The qualification of the Custodian Risk. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Custodian (IM) Risk."> + [synonym ISDA_Create_1_0 value "custodian_risk"] + [synonym ISDA_Create_1_0 value "collateral_manager_risk"] + [synonym ISDA_Create_1_0 value "euroclear_risk"] + [synonym ISDA_Create_1_0 value "clearstream_risk"] + controlAgreement ControlAgreement (0..1) <"The party-specific election with respect to the control agreement."> + custodianEvent CustodianEvent (1..1) <"When specified as True, means that the Custodian Events specified in Paragraph 13 General Principles, (m)(iii) will constitute an Additional Termination Event. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (m)(iii): Custodian Event."> + custodian Custodian (0..1) <"The custodian and segregated account details for each party to the agreement."> + collateralManagementAgreeement CollateralManagementAgreement (0..1) <"ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (b)(i): Collateral Management Agreement."> + [synonym ISDA_Create_1_0 value "collateral_management_agreement"] + distributionAndInterestPayment DistributionAndInterestPayment (0..1) <"The Distributions and Interest Payment as part of the Japanese Law ISDA CSA. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM)."> + +type CustomisableOffset: <"A class to specify an offset either as a normalized [multiplier, period, dayType] or as a custom provision of type string."> + + offset Offset (0..1) + customProvision string (0..1) + +type DeliveryAmount: <"A class to specify the application of Interest Amount with respect the Delivery Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + standardElection DeliveryAmountElectionEnum (0..1) <"The standard election as specified by an enumeration."> + [synonym ISDA_Create_1_0 value "delivery_amount"] + customElection string (0..1) <"The custom election that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify_delivery_amount"] + condition: one-of + +type DisputeResolution: <"A class to specify the election terms under which a party disputes (i) the Calculation Agent’s calculation of a Delivery Amount or a Return Amount, or (ii) the Value of any Transfer of Eligible Credit Support or Posted Credit Support. Parties can specify such election either through a business center time or through a custom election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (h): Dispute Resolution. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g): Dispute Resolution."> + + resolutionTime BusinessCenterTime (0..1) <"The time by which the dispute needs to be resolved, failure of which would trigger a recalculation alongside a process that is specified as part of the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (g)(i): Resolution Time. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (g)(i): Resolution Time."> + [synonym ISDA_Create_1_0 value "resolution_time" set when "resolution_time->specified" = "true"] + otherTerms string (0..1) <"The custom Resolution Time election that might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify" path "resolution_time" set when "resolution_time->specified" = "false"] + // condition: one-of //TODO replace condition when resolutionTime exists otherTerms is absent + recalculationOfValue RecalculationOfValue (0..1) <"The elections to specify terms for recalculation of the market value of posted collateral."> + [synonym ISDA_Create_1_0 value "recalculation_of_value"] + [synonym ISDA_Create_1_0 value "recalculation_of_market_value"] + +type DistributionAndInterestPayment: <"A class to specify the Distributions and Interest Payment provisions applicable to the Japanese Law ISDA 2016 CSA for Initial Margin and the New York Law ISDA 2016 CSA for Variation Margin. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i): Distributions and Interest Payment (VM)."> + + interestRate EligibleCurrencyInterestRate (1..*) <"The interest rate associated with initial or variation margin collateral, depending upon the type of credit agreement that this election is associated with. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(i): Interest Rate (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(i): Interest Rate (VM)."> + [synonym ISDA_Create_1_0 value "eligible_currencies" path "interest_rate"] + interestPaymentTransfer boolean (1..1) <"The Interest Payment Transfer is applicable when True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Transfer of Interest Payment (IM) or application of Interest Amount (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 set to True when "interest_transfer->interest_transfer" = "applicable", set to False when "interest_transfer->interest_transfer" = "not_applicable"] + interestPaymentNetting boolean (1..1) <"The Interest Payment Netting is applicable when True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii): Transfer of Interest Payment (IM) or application of Interest Amount (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 set to True when "interest_payment_netting->interest_payment_netting" = "applicable", set to False when "interest_payment_netting->interest_payment_netting" = "not_applicable"] + interestAmount InterestAmount (1..1) <"The application of Interest Amount with respect to the Delivery Amount and the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + [synonym ISDA_Create_1_0 value "return_amount_delivery_amount"] + interestAdjustment InterestAdjustment (1..1) <"To election to specify whether the Interest Adjustment is applicable and what its periodicity is. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(ii): Transfer of Interest Payment (VM) or application of Interest Amount (VM)."> + [synonym ISDA_Create_1_0 value "interest_adjustment"] + negativeInterest boolean (1..1) <"Negative Interest is applicable when True, and not applicable when False. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Other Interest Elections. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iii): Other Interest Elections."> + [synonym ISDA_Create_1_0 set to True when "negative_interest->negative_interest" = "applicable", set to False when "negative_interes->negative_interest" = "not_applicable"] + dailyInterestCompounding boolean (1..1) <"Daily interest compounding is applicable when True, and not applicable when False. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iii): Other Interest Elections. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iii): Other Interest Elections."> + [synonym ISDA_Create_1_0 set to True when "daily_interest_compounding->daily_interest_compounding" = "applicable", set to False when "daily_interest_compounding->daily_interest_compounding" = "not_applicable"] + alternativeProvision string (0..1 ) <"When the alternative provision clause is specified, it means that the ISDA CSA Japanese Law provisions specified in Paragraph 6(c)(ii) don't apply and are overwritten by this election. When it is not specified, it means that the ISDA CSA Japanese Law provisions specified in Paragraph 6(c)(ii) apply. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(iv): Alternative to Interest Amount (IM) and Interest Payment (IM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (i)(iv): Alternative to Interest Amount (VM) and Interest Payment (VM)."> + [synonym ISDA_Create_1_0 value "specify" path "alternative_to_interest_amounts_and_interest_payment" set when "alternative_to_interest_amounts_and_interest_payment->specify_alternative" = "true"] + +// Note: Threshold, MinimumTransferAmount and MinimumTransferAmountAmendment class map to this one +type ElectiveAmountElection: <"A class to specify the party elective amounts which can be used for the purpose of specifying elections such as the ISDA CSA Threshold and Minimum Transfer Amount."> + + party string (1..1) <"The elective party."> + zeroAmount boolean (1..1) <"A boolean election to express that the elective amount is zero (True) or another value (False)."> + amount Money (0..1) <"The elective amount when expressed as a currency amount. The associated PartyElectiveAmount_amount data rule enforces that the currency amount is actually greater than 0."> + customElection string (0..1) <"The elective amount when expressed as a custom election by the party."> + + condition NonZeroAmount: <"When the elective amount is not zero either a currency amount or a custom election must exist."> + if zeroAmount = False then (amount or customElection) exists + +type EligibilityToHoldCollateral: <"A class to specify the conditions under which a party and its custodian(s) are entitled to hold collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(i): Eligibility to Hold Posted Collateral (VM) Custodians (VM)."> + [synonym FpML_5_10 value "EligibilityToHoldCollateral"] + /* + * This class leverages work in the context of the FpML representation for the ISDA Standard CSA for the purpose of normalizing this election + * Those provisions go beyond what is specified as part of the 2016 CSA, which election has not yet been normalized + */ + partyTerms HoldingPostedCollateralEnum (1..*) <"The condition(s) required by a party from the other party to hold its posted collateral."> + [synonym FpML_5_10 value "holdingPostedCollateral"] + custodianTerms CustodianTerms (0..1) <"The restrictions that might be required by a party from the other party's custodian agent to hold its posted collateral."> + [synonym FpML_5_10 value "custodianTerms"] + eligibleCountry string (0..*) <"The restrictions that might be required by a party from the other party in terms of country(ies) where collateral can be held."> + [metadata scheme] + [synonym FpML_5_10 value "eligibleCountry"] + +type EligibleCollateralVariationMarginElection: <"A class to specify the parties' elections with respect to the eligible collateral for each of the respective parties when acting as a pledgor/chargor/obligor. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + + party Party (1..1) <"The elective party."> + [metadata reference] + eligibleCollateral EligibleCollateral (1..*) <"The eligible collateral for the specified party (acting as the Pledgor in the New York Law agreement, as the Chargor in the English Law deed and as the Obligor in the Japanese Law agreement). ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + +type EligibleCollateralVariationMargin: <"A class to specify the eligible collateral elections by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(ii): Eligible Collateral (VM)."> + + // TODO: change cardinality to (2..2) when Ingestion process is able to support normalising external models (https://trello.com/c/TnJWvKes) + partyElection EligibleCollateralVariationMarginElection (1..1) <"The parties' eligible collateral elections."> + +type EligibleCurrencyInterestRate: <"A class to specify the interest rate associated with initial margin collateral. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n): Distributions and Interest Payment (IM)."> + + currency string (1..1) <"The eligible currency."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "eligible_currency"] + interestRate number (1..1) <"The interest rate associated with the eligible currency."> + [synonym ISDA_Create_1_0 value "interest_rate"] + actual365Currency string (1..1) // TODO - Need to clarify with Linklater what this attribute is + [synonym ISDA_Create_1_0 value "a365_currency"] + +type EnforcementEvent: <"A class to specify Enforcement Events specific to Security Agreements"> + + earlyTerminationDate boolean (1..1) <"The early termination election"> + [synonym ISDA_Create_1_0 set to True when "paid_in_full_language" = "include", set to False when "paid_in_full_language" = "exclude"] + failureToPay boolean (0..1) <"The failure to pay election"> + [synonym ISDA_Create_1_0 set to True when "failure_to_pay_early_termination_amount" = "applicable", set to False when "failure_to_pay_early_termination_amount" = "not_applicable"] + +type ExecutionLanguage: <"A class to specify execution language terms of a Security Agreement."> + standardLanguage boolean (1..1) <"A boolean attribute to determine if standard language is applicable or not"> + [synonym ISDA_Create_1_0 set to True when "execution_language" = "standard_language", set to False when "execution_language" = "other_execution_language"] + numberOfOriginals string (0..1) <"The number of original documents"> + [synonym ISDA_Create_1_0 value "number_of_originals"] + otherLanguage string (0..1) <"Bespoke execution language to be included when specified."> + [synonym ISDA_Create_1_0 value "specify_execution_language"] + + condition numberOfOriginals: <"A data rule to enforce that the number of original documents should only be specified when standard execution language is used."> + if standardLanguage = False + then numberOfOriginals is absent + + condition otherLanguage: <"A data rule to enforce that bespoke execution language must be included if non-standard execution language is specified."> + if standardLanguage = False + then otherLanguage exists + +type ExecutionLocation: <"A class to specify execution location terms of a Security Agreement"> + executionLocation ExecutionLocationEnum (1..1) <"The execution location of the agreement"> + [synonym ISDA_Create_1_0 value "location_of_execution"] + otherLanguage string (0..1) <"Bespoke execution location language to be included when specified."> + [synonym ISDA_Create_1_0 value "specify_location_of_execution"] + dutyPayer string (0..1) <"The payer of documentary duty"> + [synonym ISDA_Create_1_0 set to "PartyA" when "documentary_duty_payer" = "party_A", + set to "PartyB" when "documentary_duty_payer" = "party_B", + set to "Specify" when "documentary_duty_payer" = "other"] + dutyPayerLanguage string (0..1) <"Bespoke terms specific to the payment of documentary duty"> + [synonym ISDA_Create_1_0 value "specify_documentary_duty_payer"] // path "documentary_duty_payer"] + dutyPaymentDate date (0..1) <"The date that documentary duty will be paid"> + [synonym ISDA_Create_1_0 value "select_documentary_duty_date"] // set when "documentary_duty_date" = "select" + dutyPaymentLanguage string (0..1) <"Bespoke terms specific to the date that documentary duty will be paid"> + [synonym ISDA_Create_1_0 value "specify_documentary_duty_date_datepicker" set when "documentary_duty_date" = "other"] + +// TODO Data Rule required to enforce that Duty Payer should be absent if LocationEnum is ExecutedOutsideBelgium or Other (OR included if Enum is ExecutedInBelgium) + // condition dutyPayer: <"A data rule to enforce that Duty Payer language should be absent when the document is executed outside of Belgium."> + // if executionLocation = ExecutionLocationEnum->ExecutedOutsideBelgium + // then dutyPayer and dutyPayerLanguage and dutyPaymentDate and dutyPaymentLanguage is absent + + condition dutyPayerLanguage: <"A data rule to enforce that Duty Payer Language should only be specified when required"> + if dutyPayer = "Specify" + then dutyPayerLanguage exists + + condition dutyPaymentLanguage: <"A data rule to enforce that Duty Payment Language should be absent when a Duty Payment date is provided"> + if dutyPaymentDate exists then dutyPaymentLanguage is absent + + condition otherLanguage: <"A data rule to enforce that bespoke execution language must be included if non-standard execution language is specified."> + if executionLocation = ExecutionLocationEnum->OtherLocation + then otherLanguage exists + +type ExecutionTerms: <"A class to specify execution location and language of execution to determine duty to be paid."> + executionLanguage ExecutionLanguage (1..1) <"The bespoke execution language election."> + executionLocation ExecutionLocation (1..1) <"The bespoke execution location election."> + +type FrenchLawAddendum: <"A class to specify party specific elections when a Collateral Transfer Agreement is governed by French Law."> + + isApplicable boolean (1..1) <"The qualification of whether the French Law Addendum is deemed applicable by the parties (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + partyElection FrenchLawAddendumElection (2..2) <"The parties French Law Addendum Elections."> + + condition Applicable: <"A data rule to enforce that the French Law Addendum party elections must be specified when applicable."> + if isApplicable = True + then partyElection exists + +type FrenchLawAddendumElection: <"A class to specify party specific French Law Addendum language"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_french_law_addendum" = "specify", set to "partyA" when "partyA_french_law_addendum" = "not_applicable", + set to "partyB" when "partyB_french_law_addendum" = "specify", set to "partyB" when "partyB_french_law_addendum" = "not_applicable"] + isApplicable boolean (1..1) <"The qualification of whether the party elects specific language"> + [synonym ISDA_Create_1_0 set to True when "partyA_french_law_addendum" = "specify", set to False when "partyA_french_law_addendum" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_french_law_addendum" = "specify", set to False when "partyB_french_law_addendum" = "not_applicable"] + addendumLanguage string (0..1) <"The party specific language to be included in the agreement."> + [synonym ISDA_Create_1_0 value "partyA_specify"] + [synonym ISDA_Create_1_0 value "partyB_specify"] + + condition AddendumLanguage: <"A data rule to enforce that the French Law Addendum party language must be specified when applicable."> + if isApplicable = True then addendumLanguage exists + else if isApplicable = False then addendumLanguage is absent + +type FxHaircutCurrency: <"A class to specify the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation, as being either the Termination Currency or an FX Designated Currency."> + + isTerminationCurrency boolean (1..1) <"The reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is the Termination Currency when the Boolean value is set to True."> + [synonym ISDA_Create_1_0 set to True when "is_termination_currency" = "terminationCurrency", set to False when "is_termination_currency" = "fxCurrency"] + fxDesignatedCurrency string (0..1) <"When specified, the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "fx_designated_currency"] + + condition TerminationCurrency: <"The FX Designated Currency shouldn't be specified when the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is specified as the Termination Currency."> + if isTerminationCurrency = True + then fxDesignatedCurrency is absent + + condition FxDesignatedCurrency: <"The FX Designated Currency should be specified when the reference currency for the purpose of specifying the FX Haircut relating to a posting obligation is specified as not being the Termination Currency."> + if isTerminationCurrency = False + then fxDesignatedCurrency exists + +type GeneralSimmElections: <"A class to specify the ISDA SIMM as the Method for all Covered Transactions with respect to all Regimes. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ee)."> + + simmVersion SimmVersion (0..1) <"The qualification of the ISDA SIMM version that is specified for all Covered Transactions as specified by ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles, (ee)(1)."> + // ISDA Create for the 2016 IM NY Law only has the election for the SIMM calculation currency + [synonym ISDA_Create_1_0 value "version_of_ISDA_SIMM"] + simmCalculationCurrency SimmCalculationCurrency (1..1) <"The SIMM Calculation Currency, as specified for each of the parties to the CSA Initial Margin. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ee)(3)."> + [synonym ISDA_Create_1_0 value "simm_calculation_currency"] + +type HoldingAndUsingPostedCollateral: <"A class to specify the elections for the holding and using of posted collateral by the respective parties to the Credit Support Annex for Variation Margin. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + + // TODO: change cardinality to (2..2) when Ingestion process is able to support normalising external models (https://trello.com/c/TnJWvKes) + partyElection HoldingAndUsingPostedCollateralElection (1..1) <"The parties' elections for the holding and using of posted collateral."> + +type HoldingAndUsingPostedCollateralElection: <"A class to specify the parties' elections related to the holding and using of posted collateral. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h): Holding and Using Posted Collateral (VM)."> + [synonym FpML_5_10 value "HoldingAndUsingPostedCollateral"] + + party Party (1..1) <"The elective party."> + [metadata reference] + [synonym FpML_5_10 value "partyReference"] + eligibilityToHoldCollateral EligibilityToHoldCollateral (1..1) <"The specification of the conditions under which a party and its custodian(s) are entitled to hold posted collateral."> + [synonym FpML_5_10 value "eligibilityToHoldCollateral"] + useOfPostedCollateral boolean (1..1) <"Specifies whether the party to the agreement has the right to rehypothecate the collateral held (True), i.e. whether the condition specified in Paragraph 6, (c) of the ISDA 2016 Credit Support Annex for Variation Margin apply. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (h)(ii): Use of Posted Collateral (VM)."> + [synonym FpML_5_10 value "useOfPostedCollateral"] + +type IneligibleCreditSupport: <"A class to specify the parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + + specifiedParty Party (0..2) <"The parties to which the provisions of Paragraph 11(g) of the ISDA 2016 Credit Support Annex for Variation Margin will apply to, as the Secured Party. ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (c)(iii): Legally Ineligible Credit Support (VM)."> + [metadata reference] + +type InterestAdjustment: <"A class to specify whether the Interest Adjustment is applicable and what its periodicity is. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + isApplicable boolean (1..1) <"The Interest Adjustment is applicable when True and not applicable when False"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + periodicity InterestAdjustmentPeriodicity (1..1) <"The qualification of the Interest Adjustment periodicity."> + +type InterestAdjustmentPeriodicity: <"A class to specify the Interest Adjustment periodicity either through a standardized election or a custom one. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + standardElection InterestAdjustmentPeriodicityEnum (0..1) <"The Interest Adjustment periodicity when specified through a standardized election."> + [synonym ISDA_Create_1_0 value "timing"] + customElection string (0..1) <"The Interest Adjustment periodicity when specified through a custom election."> + [synonym ISDA_Create_1_0 value "specify" set when "timing" = "other"] + condition: one-of + +type InterestAmount: <"A class to specify the application of Interest Amount with respect to the Delivery Amount and the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + returnAmount ReturnAmount (1..1) <"The application of Interest Amount with respect the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + deliveryAmount DeliveryAmount (1..1) <"The application of Interest Amount with respect the Delivery Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + +type JapaneseSecuritiesProvisions: <"A class to specify Japanese Securities Provision elections."> + + isApplicable boolean (1..1) <"Japanese Securities Provisions are applicable when True and Not Applicable when False"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + relevantProvisionsElection boolean (0..1) <"Recommended Japanese Securities Provisions are applicable when True, additional Provisions are specified when False"> + [synonym ISDA_Create_1_0 set to True when "relevant_provisions" = "recommended_japanese", set to False when "relevant_provisions" = "specified"] + relevantProvisionsTerms string (0..1) <"Specific terms applicable to Recommended Japanese Securities Provisions"> + [synonym ISDA_Create_1_0 value "relevant_specify"] + amendmentsToJapaneseProvisions boolean (0..1) <"Additional Amendments to Japanese Securities Provisions are specified when True, and not specified when False"> + [synonym ISDA_Create_1_0 set to True when "amendments_to_japanese_provisions" = "amendments_specify", set to False when "amendments_to_japanese_provisions" = "amendments_not_specified"] + amendmentsToJapaneseProvisionsTerms string (0..1) <"Specific terms applicable to Additional Amendments to Japanese Securities Provisions"> + [synonym ISDA_Create_1_0 value "amendments_specify" maps 2] // TODO: remove "maps 2" once migration complete + + condition relevantProvisionsElection: <"A data rule to enforce that the specific terms applicable to Recommended Japanese Securities Provisions should be specified when required"> + if relevantProvisionsElection = True + then relevantProvisionsTerms is absent + + condition amendmentsToJapaneseProvisions: <"A data rule to enforce that the specific terms applicable to Additional Amendments to Japanese Securities Provisions should be specified when required"> + if amendmentsToJapaneseProvisions = False + then amendmentsToJapaneseProvisionsTerms is absent + +type JurisdictionRelatedTerms: <"A class to specify terms jurisdiction related terms."> + japaneseSecuritiesProvisions JapaneseSecuritiesProvisions (0..1) <"The Japanese Securities Provisions election."> + // [documentReference ISDAEuroclear CtaInitialMargin 2019 paragraph "13" section "19 (c)"] + [synonym ISDA_Create_1_0 value "japanese_securities_provisions"] + [synonym ISDA_Create_1_0 value "japanese_collateral_provisions"] + exclusiveJurisdiction boolean (0..1) <"Classification of optional exclusive jurisdiction terms"> + [synonym ISDA_Create_1_0 set to True when "jurisdiction->exclusive_jurisdiction" = "applicable", set to False when "jurisdiction->exclusive_jurisdiction" = "not_applicable"] + juryWaiver boolean (0..1) <"The Jury Waiver conditions specific to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "19 (b)"] + [synonym ISDA_Create_1_0 set to True when "jury_waiver->is_applicable" = "applicable", set to False when "jury_waiver->is_applicable" = "not_applicable"] + frenchLawAddendum FrenchLawAddendum (0..1) <"The French Law Addendum Provisions specific to the agreement."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "19 (d)"] + [synonym ISDA_Create_1_0 value "french_law_addendum"] + +type LegalAgreement extends LegalAgreementBase: <"A class to specify the elections and variables that characterize a legal agreement."> + [metadata key] + [rootType] + + // agreementQualifier agreementType (0..1) <"The CDM agreement qualifier, which corresponds to the outcome of the isContract qualification logic. This value is derived by the CDM from the contract features."> + agreementTerms AgreementTerms (0..1) <"The set of elections specific to the contract"> + + condition agreementVerification: <"A validation rule to ensure that the agreement elections are associated with the correct legal agreement type as specified."> + if agreementTerms -> agreement -> securityAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->SecurityAgreement + + else if agreementTerms -> agreement -> creditSupportAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->CreditSupportDeed or agreementType -> name = LegalAgreementNameEnum->CreditSupportAnnex + + else if agreementTerms -> agreement -> collateralTransferAgreementElections exists + then agreementType -> name = LegalAgreementNameEnum->CollateralTransferAgreement + +type LegalAgreementBase: <"A class describing the legal agreement baseline information, other than the specialized elections: type of legal agreement, agreement date and effective date, parties to the agreement, ... The purpose of this abstract class is to provide the ability to associate a 'one of' feature to the LegalAgreement class as a way to enforce a systematic choice between its attributes."> + + agreementDate date (1..1) <"The date on which the legal agreement has been agreed between the parties. This corresponds to the Date of Deed in an English Law document."> + [synonym FpML_5_10 value "agreementDate" path "legalDocumentHeader"] + [synonym ISDA_Create_1_0 value "executionDate" path "answers->partyA->execution_date"] + [synonym ISDA_Create_1_0 value "collateral_transfer_agreement_date"] + [synonym ISDA_Create_1_0 value "master_agreement_date"] + [synonym ISDA_Create_1_0 value "partyA_date_of_security_agreement"] + [synonym ISDA_Create_1_0 value "partyB_date_of_security_agreement"] + effectiveDate date (0..1) <"The date on which the agreement is effective, if different from the agreement date. It is expected that it will most often correspond to the agreement date, although there could be situations where the parties will explicitly agree on a distinct effective date."> + [synonym FpML_5_10 value "effectiveDate" path "legalDocumentHeader"] + identifier Identifier (0..*) <"The legal agreement identifier. Several identifiers can be specified."> + [synonym FpML_5_10 value "partyDocumentIdentifier" path "legalDocumentHeader"] + lineage Lineage (0..1) <"The lineage into prior versions of this legal agreement or into other legal agreements that might be referenced by it."> + agreementType LegalAgreementType (1..1) <"The type of legal agreement, identified via a set of distinct attributes: name, publisher, governing law and version, e.g. ISDA 2013 Standard Credit Support Annex English Law."> + [synonym FpML_5_10 value "documentType"] + contractualParty Party (2..2) <"The two contractual parties to the legal agreement, which reference information is positioned as part of the partyInformation attribute."> + [metadata reference] + [synonym FpML_5_10 value "party"] + otherParty PartyRole (0..*) <"The role(s) that other party(ies) may have in relation to the legal agreement, further to the contractual parties."> + partyInformation Party (2..*) <"The information about the parties involved with the legal agreements, which consists of both the contractual parties and the parties that might be involved in relation to some other roles (e.g. custody agent)."> + [synonym ISDA_Create_1_0 value "answers" mapper "PartyInformation"] + +type LegalAgreementType: <"A class to specify the type of legal agreement, which is extended by each legal agreement instance, such as the ISDA 2016 CSA for Initial Margin."> + [synonym FpML_5_10 value "LegalDocumentType"] + + name LegalAgreementNameEnum (1..1) <"The legal agreement name, e.g. Credit Support Annex for Variation Margin."> + [synonym FpML_5_10 value "name"] + [synonym AcadiaSoft_AM_1_0 value "documentName"] + [synonym ISDA_Create_1_0 value "documentType" path "document"] + publisher LegalAgreementPublisherEnum (1..1) <"The legal agreement publisher, e.g. ISDA."> + [synonym FpML_5_10, AcadiaSoft_AM_1_0 value "publisher"] + [synonym ISDA_Create_1_0 value "publisher" path "document"] + governingLaw GoverningLawEnum (0..1) <"The law governing the legal agreement, e.g. English Law, New York Law or Japanese Law."> + [synonym FpML_5_10 value "style"] + [synonym AcadiaSoft_AM_1_0 value "governingLaw"] + [synonym ISDA_Create_1_0 value "governingLaw" path "document"] + vintage string (0..1) <"In the case where successive definitions of the legal agreement have been developed, the vintage identification. This is typically (but not necessarily) done by referencing the year, e.g. 2013 in the case of the ISDA 2013 Standard Credit Support Annex."> + [synonym FpML_5_10, FpML_5_10 value "version"] + [synonym AcadiaSoft_AM_1_0 value "csaVersion"] + [synonym ISDA_Create_1_0 value "year" path "document"] + [synonym ISDA_Create_1_0 value "isda_master_agreement_form"] + +type MarginApproach: <"A class for selection of Margin Approach."> + + marginApproach MarginApproachEnum (1..1) + [synonym ISDA_Create_1_0 value "approach_selection"] + +type MinimumTransferAmount: <"A class to specify amount of exposure reached before collateral has to be posted or returned. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(B): Minimum Transfer Amount. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(B): Minimum Transfer Amount."> + + partyElection ElectiveAmountElection (2..2) <"The parties' minimum transfer amount elections."> + +type MinimumTransferAmountAmendment: <" A class to specify whether Amendment to Minimum Transfer Amount language is applicable or not"> + + isApplicable boolean (1..1) <"The definition of Minimum Transfer Amount in any Other Regulatory CSA will be amended when applicable."> + [synonym ISDA_Create_1_0 set to True when "amendment_to_minimum_transfer_amount_is" = "applicable", set to False when "amendment_to_minimum_transfer_amount_is" = "not_applicable"] + effectiveDate AmendmentEffectiveDate (0..1) <"The effective date of the Amendment to Termination Currency."> + partyElections ElectiveAmountElection (0..2) <"The party elective amounts."> + + condition AmendmentNotApplicable: <"A data rule to enforce that the Effective Date and Party Elections should be absent when the Minimum Transfer Amount Amendment is stated as not specified for the agreement."> + if isApplicable = False + then effectiveDate is absent and partyElections is absent + + condition AmendmentApplicable: <"A data rule to enforce that the Effective Date and Party Elections should be absent when the Minimum Transfer Amount Amendment is stated as not specified for the agreement."> + if isApplicable = True + then effectiveDate exists and partyElections exists + +type MultipleCreditNotations: <"A class to specify multiple credit notations alongside a conditional 'any' or 'all' qualifier."> + + condition QuantifierEnum (1..1) <"An enumerated element, to qualify whether All or Any credit notation applies."> + [synonym FpML_5_10 value "condition"] + creditNotation CreditNotation (2..*) <"At least two credit notations much be specified."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "creditNotation"] + mismatchResolution CreditNotationMismatchResolutionEnum (0..1) + referenceAgency CreditRatingAgencyEnum (0..1) + + condition ReferenceAgency: <"If the mismatch resolution is ReferenceAgency, ensure that the reference agency is specified."> + if MultipleCreditNotations -> mismatchResolution = CreditNotationMismatchResolutionEnum -> ReferenceAgency + then MultipleCreditNotations -> referenceAgency exists + +type MultipleDebtTypes: <"A class to specify multiple credit debt types alongside a conditional 'any' or 'all' qualifier."> + + condition QuantifierEnum (1..1) <"An enumerated attribute, to qualify whether All or Any debt type applies."> + [synonym FpML_5_10 value "condition"] + debtType string (2..*) <"The type of debt, e.g. long term debt, deposit, ... FpML doesn't specific a scheme value, hence no enumeration is specified as part of the CDM. At least two debt types much be specified."> + [metadata scheme] + [synonym FpML_5_10 value "debtType" meta "debtTypeScheme"] + +type NotificationTime: <"A class to specify the time by which a demand for the Transfer of Eligible Credit Support (IM) or Posted Credit Support (IM) needs to be made in order for the transfer to take place in accordance with the Transfer Timing provisions. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iii): Notification Time. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time."> + + partyElections NotificationTimeElection (2..2) <"The parties' Notification Time election."> + disputeNotificationReference boolean (0..1) <"The determination of whether reference is made to dispute resolution notification timing in the agreement."> + [synonym ISDA_Create_1_0 set to True when "include_reference_to_41a_is_applicable" = "applicable", set to False when "include_reference_to_41a_is_applicable" = "not_applicable"] + transferTimingProviso boolean (0..1) <"The determination of whether transfer timing language is applicable or not."> + [synonym ISDA_Create_1_0 set to True when "inclusion_of_proviso_for_transfer_timing_is_applicable" = "applicable", + set to False when "inclusion_of_proviso_for_transfer_timing_is_applicable" = "not_applicable"] + +type NotificationTimeElection: <"A class to specify the notification time election by the respective parties to the agreement. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (e)(iii): Notification Time. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(iii): Notification Time."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_notification_time" = "false", set to "partyA" when "partyA_notification_time" = "true"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_notification_time" = "false", set to "partyB" when "partyB_notification_time" = "true"] + notificationTime BusinessCenterTime (0..1) <"The Notification Time as a time that is qualified as a standard business center."> + customNotification string (0..1) <"The Notification Time as a custom election."> + [synonym ISDA_Create_1_0 value "partyA_specify" set when "partyA_notification_time" = "false"] + [synonym ISDA_Create_1_0 value "partyB_specify" set when "partyB_notification_time" = "false"] + + condition Choice: <"The Notification Time is specified either as a time that is qualified by a standard business center or as a custom election."> + required choice notificationTime, customNotification + +type OneWayProvisions: <"A class to specify whether One Way Provisions apply in relation to the ISDA CSA for Initial Margin and, if yes, to specify the Posting Party. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles (aa): One Way Provisions."> + + isApplicable boolean (1..1) <"The determination of whether the One Way Provisions are applicable (true) or not applicable (false)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + postingParty string (0..1) <"The Posting Party for the purposes of One Way Provisions. It is specified in the case where the One Way Provision is deemed applicable."> + [synonym ISDA_Create_1_0 value "posting_party"] + + condition PostingPartyExists: <"A data rule to enforce that the Posting Party must be specified in the case where the One Way Provision is deemed applicable."> + if isApplicable = True + then postingParty exists + + condition PostingPartyAbsent: <"A data rule to enforce that the Posting Party must not be specified in the case where the One Way Provision is not deemed applicable."> + if isApplicable = False + then postingParty is absent + +type OtherAgreements: <"A class to specify a related legal agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (s): Other CSA and Japanese Law CSA (VM). | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (o): Other CSA."> + + isSpecified boolean (1..1) <"The qualification of whether some other related agreement is specified (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "specify_japanese_law_csa_vm" = "true", set to False when "specify_japanese_law_csa_vm" = "false"] + [synonym ISDA_Create_1_0 set to True when "specify_other_csa" = "true", set to False when "specify_other_csa" = "false"] + legalDocument string (0..1) <"The specification of this other agreement, when the qualification is True."> + [synonym ISDA_Create_1_0 value "specify"] + + condition LegalDocumentNotSpecified: <"A data rule to enforce that the related legal agreement should not be referenced if it is deemed as not specified as part of the boolean attribute."> + if isSpecified = False + then legalDocument is absent + + condition LegalDocumentSpecified: <"A data rule to enforce that the related legal agreement should be referenced if it is deemed as specified as part of the boolean attribute."> + if isSpecified = True + then legalDocument exists +// TODO - Need to associate a more meaningful definition to the below class and attribute. I couldn't find anything as part of the CSA terms. +type OtherEligibleAndPostedSupport: <"A class to specify the Other Eligible Support elections associated Initial and Variation margin agreements."> + + otherEligibleSupport string (0..1) <"The Other Eligible Support election. If not specified, this election is deemed as not applicable."> + [synonym ISDA_Create_1_0 value "eligible_support_specify" path "other_eligible_support" set when "other_eligible_support->other_eligible_support" = "specify"] + [synonym ISDA_Create_1_0 value "other_eligible_support" path "eligible_support"] + applicableValue boolean (1..1) <"The definition of “Value” with respect to Other Eligible Support (IM) and Other Posted Support (IM)."> + [synonym ISDA_Create_1_0 set to True when "support_value->is_applicable" = "applicable", set to False when "support_value->is_applicable" = "not_applicable"] + applicableTransfer boolean (0..1) <"The definition of “Transfer” with respect to Other Eligible Support (IM) and Other Posted Support (IM)."> + [synonym ISDA_Create_1_0 set to True when "support_transfer->is_applicable" = "applicable", set to False when "support_transfer->is_applicable" = "not_applicable"] + +type PartyAgreementIdentifier: <"A class defining a legal agreement identifier issued by the indicated party."> + [metadata key] + // TODO Never referenced in CDM + [synonym FpML_5_10 value "PartyDocumentIdentifier" meta "id"] + + partyReference string (1..1) <"Reference to the party that issued the document identifier."> + [synonym FpML_5_10 value "partyReference"] + documentIdentifier Identifier (1..*) <"While FpML specifies the document identifier with a value and an associated scheme, the CDM makes use of the Identifier, which has an explicit issuer. The issuer of this identifier is not necessarily the same as the party reference."> + [metadata scheme] + [synonym FpML_5_10 value "documentId" meta "legalDocumentIdScheme"] + +type PostingObligations: <"A class to specify the security provider(s) collateral posting obligations as specified under the terms of the New York Law ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)."> + + securityProvider string (1..1) + [synonym ISDA_Create_1_0 value "pledgor"] + [synonym ISDA_Create_1_0 value "chargor"] + [synonym ISDA_Create_1_0 value "obligor"] + [synonym ISDA_Create_1_0 value "security_provider"] + partyElection PostingObligationsElection (1..2) <"The security provider party(ies) to which the posting obligations apply to, which can be either one of the parties to the legal agreement, or both of those."> + +type PostingObligationsElection: <"A class to specify the collateral posting obligations as specified under the terms of the ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "PartyA" when "partyA_type" = "control_agreement", set to "PartyA" when "partyA_type" = "collateral_management_agreement", set to "PartyA" when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 set to "PartyB" when "partyB_type" = "control_agreement", set to "PartyB" when "partyB_type" = "collateral_management_agreement", set to "PartyB" when "partyB_type" = "specify"] + asPermitted boolean (1..1) <"If set to True, the Control Agreement is a Credit Support Document with respect to the party(ies). ISDA 2016 Credit Support Annex for Initial Margin, paragraph 6, (e)."> + [synonym ISDA_Create_1_0 set to True when "partyA_type" = "control_agreement", set to True when "partyA_type" = "collateral_management_agreement", set to False when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 set to True when "partyB_type" = "control_agreement", set to True when "partyB_type" = "collateral_management_agreement", set to False when "partyB_type" = "specify"] + eligibleCollateral EligibleCollateral (0..*) <"The eligible collateral as specified in relation to the pledgor/chargor/obligor(s) posting obligation. ISDA 2016 Credit Support Annex for Initial Margin, Eligible Credit Support (IM) Schedule."> + [synonym ISDA_Create_1_0 value "partyA_eligible_currencies" set when "partyA_type" = "specify"] + [synonym ISDA_Create_1_0 value "partyB_eligible_currencies" set when "partyB_type" = "specify"] + excludedCollateral string (0..1) <"The excluded collateral as specified in relation to the pledgor/chargor/obligor(s) posting obligation. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (ii)(B)(i)."> // This representation matches the current ISDA Create one, but should be aligned with the eligibleCollateral representation once that one is confirmed + [synonym ISDA_Create_1_0 value "partyA_control_agreement_specify" set when "partyA_control_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyB_control_agreement_specify" set when "partyB_control_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyA_collateral_management_agreement_specify" set when "partyA_collateral_management_agreement" = "yey"] + [synonym ISDA_Create_1_0 value "partyB_collateral_management_agreement_specify" set when "partyB_collateral_management_agreement" = "yey"] + additionalLanguage string (0..1) <"The additional language that might be specified by the parties to the legal agreement."> + [synonym ISDA_Create_1_0 value "partyA_additional_language"] + [synonym ISDA_Create_1_0 value "partyB_additional_language"] + [synonym ISDA_Create_1_0 value "additional_language"] + + condition AsPermitted: <"A data rule to enforce that the eligible collateral should be specified when the Control Agreement is a Credit Support Document with respect to the party(ies)."> + if asPermitted = True + then eligibleCollateral is absent + + condition EligibleCollateral: <"A data rule to enforce that the eligible collateral shouldn't be specified when the Control Agreement isn't deemed a Credit Support Document with respect to the party(ies)."> + if asPermitted = False + then eligibleCollateral exists + +type ProcessAgent: <"A class to specify the Process Agent that might be appointed by the parties as part of a Credit Support Annex/Deed or Collateral Transfer Agreement."> + //<"A class to specify the Process Agent that might be appointed by the parties to the agreement in accordance with the ISDA 2016 English Law CSA, paragraph 11(h). ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (t): Process Agent."> + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "16"] + + partyElection ProcessAgentElection (2..2) <"The parties' Process Agent election."> + +type ProcessAgentElection: <"A class to specify the parties' respective elections with respect to the Process Agent."> + + party string (1..1) <"The elective party."> + [synonym AcadiaSoft_AM_1_0 value "party"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_process_agent" = "not_applicable", set to "partyA" when "partyA_process_agent" = "other"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_process_agent" = "not_applicable", set to "partyB" when "partyB_process_agent" = "other"] + // TODO will need to streamline the parties here + isApplicable boolean (1..1) <"The qualification of whether the Process Agent is applicable (True) or not applicable (False)."> + [synonym ISDA_Create_1_0 set to True when "partyA_process_agent" = "other", set to False when "partyA_process_agent" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_process_agent" = "other", set to False when "partyB_process_agent" = "not_applicable"] + specification string (0..1) <"The Process Agent specification, when applicable."> + [synonym ISDA_Create_1_0 value "partyA_specify" maps 2] // TODO: remove "maps 2" once migration complete + [synonym ISDA_Create_1_0 value "partyB_specify" maps 2] // TODO: remove "maps 2" once migration complete + + condition Applicable: <"A data rule to enforce that the Process Agent must be specified when it is applicable."> + if isApplicable = True + then specification exists + + condition NotApplicable: <"A data rule to enforce that the Process Agent cannot be specified if deemed not applicable."> + if isApplicable = False + then specification is absent + +type RecalculationOfValue: <"A class to specify terms for Recalculation of the Market Value of Posted Collateral when a dispute has been failed to be resolved by Resolution Time."> + + partyElection RecalculationOfValueElection (2..2) <"The parties' Recalculation of Value terms."> + +type RecalculationOfValueElection: <"A class to specify Recalculation of Value terms that will be applicable"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_recalculation_of_value" = "consultation_procedure", set to "partyA" when "partyA_recalculation_of_value" = "other_regulatory_CSA_procedure"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_recalculation_of_value" = "other_regulatory_CSA_procedure"] + [synonym ISDA_Create_1_0 set to "partyA" when "recalculation_of_market_value" = "partyA_recalculation_of_market_value"] + [synonym ISDA_Create_1_0 set to "partyB" when "recalculation_of_market_value" = "partyB_recalculation_of_market_value"] + + recalculationOfValueElection RecalculationOfValueElectionEnum (1..1) <"The procedure for Recalculation of Value."> + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_value"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_value"] + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_market_value"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_market_value"] + + recalculationOfValueTerms string (0..1) <"Additional Recalculation of Value terms when specified"> + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_value_terms" set when "partyA_recalculation_of_value" = "other"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_value_terms" set when "partyB_recalculation_of_value" = "other"] + [synonym ISDA_Create_1_0 value "partyA_recalculation_of_market_value_terms" set when "partyA_recalculation_of_market_value" = "other"] + [synonym ISDA_Create_1_0 value "partyB_recalculation_of_market_value_terms" set when "partyB_recalculation_of_market_value" = "other"] + + condition recalculationOfValueTerms: <"A data rule to enforce that additional Recalculation of Value terms are only specified when applicable"> + if RecalculationOfValueElection exists + then recalculationOfValueTerms is absent + +type Regime: <"A class to specify one or more regimes that may be specified as relevant to a legal agreement. 2016/2018 ISDA Credit Support Annex for Initial Margin: Regime."> + [synonym AcadiaSoft_AM_1_0 value "Regime"] + + applicableRegime ApplicableRegime (1..*) <"A class to specify the regime(s) that parties to a legal agreement, such as the ISDA 2016 and 2018 CSA for Initial Margin, might agree to apply to one or both parties when acting as collateral taker, and specific terms associated with that application."> + [synonym ISDA_Create_1_0 value "canada", "sec", "cftc", "emir", "japan", "switzerland", "prudential", "australia", "hong_kong", "singapore" mapper "ApplicableRegime"] + fallbackToMandatoryMethodDays number (0..1) <"The specification of the number of days after effective delivery of notice that Mandatory method fallback applies. Specification is only required when one or more Regimes have Fall Back to Mandatory Method elected as a SIMM exception."> + [synonym ISDA_Create_1_0 value "fallback_to_mandatory_method_days" path "fallback_to_mandatory_method"] + additionalRegime AdditionalRegime (0..*) <"The additional regulatory regime(s) that might be specified by the parties to a legal agreement. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, General Principles, (ll): The parties may from time to time agree in writing that other regimes also comprise `Regimes` and that the General Principles be adopted and/or amended to accommodate such additional Regimes."> + [synonym ISDA_Create_1_0 value "additional_regimes" mapper "AdditionalRegime"] + + //TODO - Data Rule required as per description below +// condition FallbackToMandatoryMethodDays: <"A data rule to enforce that the specification of Fallback to Mandatory Method Days should only exist when one or more Regimes have Fallback to Mandatory Method elected as a SIMM exception."> +// if fallbackToMandatoryMethodDays exists +// then applicableRegime -> regimeTerms -> simmException -> simmExceptionApplicable contains SimmExceptionApplicableEnum -> FallBackToMandatoryMethod + +type RegimeTerms: <"A class that is used by the ApplicableRegime and the AdditionalRegime classes to specify the regulatory regime terms which are referred to as part of certain legal agreements, such as such as the ISDA 2016 and 2018 CSA for Initial Margin."> + + party string (1..1) <"The party for which the regime terms are being specified when acting as collateral taker."> + isApplicable ExceptionEnum (0..1) <"The specification of whether the regime is elected as applicable to the party when acting as collateral taker."> + asSpecified string (0..1) <"The bespoke party specific Regime term elections applicable when specified."> + //TODO - Condition required that asSpecified only exists when isApplicable is Other + simmException SimmException (0..1) <"The election for SIMM exception to the regulatory regime clause of the ISDA 2016 and 2018 CSA for Initial Margin as either a normalized value specified as part of an enumeration or a customized value specified of type string. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, Regime: SIMM Exception."> + retrospectiveEffect RetrospectiveEffect (0..1) <"ISDA 2016 CSA for Initial Margin, paragraph 13 (b)(i): if `Retrospective Effect` is specified as applicable to a Regime (a `Retrospective Regime`) then all Covered Transactions (IM) under all other Regimes with an earlier Regime Effective Time will, to the extent that they would have been Covered Transactions (IM) under such Retrospective Regime had such Transactions been entered into at or after the Regime Effective Time of the Retrospective Regime, be deemed to be Covered Transactions (IM) for such Retrospective Regime."> + //TODO - Condition required that retrospectiveEffect should exist for 2016 CSD and be absent for 2018 CSD + +type RetrospectiveEffect: <"A class to specify the retrospective effect exception to the regulatory regime clause of Initial Margin documents as either a normalized value specified as part of an enumeration or a customized value specified of type string."> + + standardisedException ExceptionEnum (0..1) <"The Standard Initial Margin Model exception when specified by the party according to one of the enumerated values."> + asSpecified string (0..1) <"The Standard Initial Margin Model exception when specified as a customized approach by the party."> + // TODO condition asSpecified should only exist when standardisedException = Other + + +type ReturnAmount: <"A class to specify the application of Interest Amount with respect the Return Amount. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (n)(ii)."> + + includesDefaultLanguage boolean (0..1) <"Default language is included when True, and excluded when False."> + [synonym ISDA_Create_1_0 set to True when "return_amount" = "include", set to False when "return_amount" = "exclude", set to False when "return_amount" = "other"] + customElection string (0..1) <"Custom election that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify_return_amount"] + condition CustomElection: <"A data rule to specify that when a custom election exists then default language should not be included."> + if customElection exists then includesDefaultLanguage = False + +type RightsEvents: <"A class to specify the rights of Security Taker and/or Security Provider when an Early Termination or Access Condition event has occurred."> + + securityTakerRightsEvent SecuredPartyRightsEvent (1..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Security Taker Rights Event."> + [synonym ISDA_Create_1_0 value "secured_party_rights_event"] + [synonym ISDA_Create_1_0 value "security_taker_rights_event"] + [synonym ISDA_Create_1_0 value "early_termination_date"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "h"] + controlAgreementNecEvent ControlAgreementNecEvent (0..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Notice of Exclusive Control Event."> + [synonym ISDA_Create_1_0 value "control_agreement_nec_event"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "i"] + securityProviderRightsEvent SecurityProviderRightsEvent (1..1) <"The bespoke provisions that might be specified by the parties to the agreement applicable to a Security Provider Rights Event."> + [synonym ISDA_Create_1_0 value "obligor_rights_event"] + [synonym ISDA_Create_1_0 value "chargor_rights_event"] + [synonym ISDA_Create_1_0 value "pledgor_rights_event"] + [synonym ISDA_Create_1_0 value "security_provider_rights_event"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "j"] + deliveryInLieuRight boolean (0..1) <"The specification of whether Delivery In Lieu language is applicable to the agreement (true) or not (false)."> + [synonym ISDA_Create_1_0 set to True when "delivery_in_lieu_right->right" = "applicable", set to False when "delivery_in_lieu_right->right" = "not_applicable"] + // [documentReference ISDA CtaInitialMargin 2019 paragraph "13" section "l"] + additionalRightsEvent AdditionalRightsEvent (0..1) <"The Additional Rights Event election."> + [synonym ISDA_Create_1_0 value "chargor_additional_rights_event"] + [synonym ISDA_Create_1_0 value "obligor_additional_rights_event"] + [synonym ISDA_Create_1_0 value "pledgor_additional_rights_event"] + +type SecuredPartyRightsEvent: <"A class to specify Secured Party Rights Event language"> + + securedPartyRightsEventElection SecuredPartyRightsEventElection (0..2) + + earlyTerminationDateOptionalLanguage boolean (1..1) <"A boolean attribute to specify whether Failure to Pay Early Termination language is included (True) or excluded (False) from the agreement."> + [synonym ISDA_Create_1_0 set to True when "early_termination_date_optional_language" = "include", set to False when "early_termination_date_optional_language" = "exclude"] + [synonym ISDA_Create_1_0 set to True when "paid_in_full_language" = "include", set to False when "paid_in_full_language" = "exclude"] + + + failureToPayEarlyTermination boolean (0..1) <"A boolean attribute to specify whether Failure to Pay Early Termination language in the agreement is deemed applicable or not."> + [synonym ISDA_Create_1_0 set to True when "failure_to_pay_early_termination_is_applicable" = "applicable", + set to False when "failure_to_pay_early_termination_is_applicable" = "not_applicable"] + + condition FailureToPayLanguage: <"A data rule to enforce that the applicability of Failure to Pay language is only applied when Early Termination language is included."> + if earlyTerminationDateOptionalLanguage = False + then failureToPayEarlyTermination is absent + +type SecuredPartyRightsEventElection: <"A class to specify party specific Secured Party Rights Event language"> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_secured_party_rights_event" = "applicable", set to "partyA" when "partyA_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_secured_party_rights_event" = "applicable", set to "partyB" when "partyB_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_security_taker_rights_event" = "applicable", set to "partyA" when "partyA_security_taker_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_security_taker_rights_event" = "applicable", set to "partyB" when "partyB_security_taker_rights_event" = "not_applicable"] + + rightsEvent boolean (1..1) <"A boolean attribute to specify whether a Secured Party Rights Event will only occur upon the occurrence of one or more of the event specified in a Control Agreement"> + [synonym ISDA_Create_1_0 set to True when "partyA_secured_party_rights_event" = "applicable", set to False when "partyA_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_secured_party_rights_event" = "applicable", set to False when "partyB_secured_party_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_security_taker_rights_event" = "applicable", set to False when "partyA_security_taker_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_security_taker_rights_event" = "applicable", set to False when "partyB_security_taker_rights_event" = "not_applicable"] + +type SecurityAgreementElections: <"The set of elections which specify a Security Agremeent"> + + pledgedAccount Account (0..1) <"The pledged account associated with the agreement"> + [synonym ISDA_Create_1_0 value "pledged_account_number"] + enforcementEvent EnforcementEvent (0..1) <"Enforcement Events specific to the agreement"> + [synonym ISDA_Create_1_0 value "enforcement_event"] + [synonym ISDA_Create_1_0 value "early_termination_date"] + deliveryInLieuRight boolean (0..1) <"Delivery In Lieu rights"> + [synonym ISDA_Create_1_0 set to True when "delivery_in_lieu_right->right" = "applicable", set to False when "delivery_in_lieu_right->right" = "not_applicable"] + fullDischarge boolean (0..1) <"Full Discharge condition"> + [synonym ISDA_Create_1_0 set to True when "security_provider_full_discharge_condition->is_applicable" = "applicable", + set to False when "security_provider_full_discharge_condition->is_applicable" = "not_applicable"] + appropriatedCollateralValuation AppropriatedCollateralValuation (0..1) <"The election for the Valuation of Appropriate Collateral."> + [synonym ISDA_Create_1_0 value "valuation_of_appropriated_collateral"] + processAgent ProcessAgent (0..1) <"The Process Agent that might be appointed by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "process_agent"] + jurisdictionRelatedTerms JurisdictionRelatedTerms (0..1) <"The jurisdiction specific terms"> + additionalAmendments string (0..1) <"Any additional amendments that might be specified by the parties to the agreement."> + [synonym ISDA_Create_1_0 value "specify" path "amendments" maps 2 set when "amendments->is_applicable" = "applicable"] // TODO: remove "maps 2" once migration complete + additionalBespokeTerms string (0..1) <"Any additional terms that might be specified applicable."> + [synonym ISDA_Create_1_0 value "specify" path "additional_terms" set when "additional_terms->is_applicable" = "applicable"] + [synonym ISDA_Create_1_0 value "specify" path "bespoke_provisions" set when "bespoke_provisions->is_applicable" = "applicable"] + executionTerms ExecutionTerms (0..1) <"The location and language of execution to determine duty to be paid."> + [synonym ISDA_Create_1_0 value "execution_language"] + +type SecurityProviderRightsEvent: <"A class to specify the Pledgor/Obligor/Chargor Rights Event election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (j): Chargor Rights Event. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (j): Obligor Rights Event. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (j): Pledgor Rights Event."> + + partyElection SecurityProviderRightsEventElection (0..2) + includeCoolingOffLanguage boolean (1..1) <"The Pledgor/Obligor/Chargor Rights Event election includes cooling off language when the attribute is set of True."> + [synonym ISDA_Create_1_0 set to True when "cooling_off_language" = "include", set to False when "cooling_off_language" = "not_specified", set to False when "cooling_off_language" = "other"] + [synonym ISDA_Create_1_0 set to True when "cooling_off_period_condition_is_applicable" = "applicable", set to False when "cooling_off_period_condition_is_applicable" = "not_applicable"] + fullDischarge boolean (0..1) <"If specified as applicable here, a Pledgor/Obligor/Chargor Rights Event will not occur unless the Pledgor/Obligor/Chargor (A) has provided a statement to the Secured Party in respect of such Early Termination Date"> + [synonym ISDA_Create_1_0 set to True when "chargor_full_discharge_condition_is_applicable" = "applicable", set to False when "chargor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "pledgor_full_discharge_condition_is_applicable" = "applicable", set to False when "pledgor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "obligor_full_discharge_condition_is_applicable" = "applicable", set to False when "obligor_full_discharge_condition_is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "security_provider_full_discharge_condition_is_applicable" = "applicable", + set to False when "security_provider_full_discharge_condition_is_applicable" = "not_applicable"] + automaticSetOff boolean (0..1) <"The Automatic Set-Off provision applies when the value is set to True. ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (l): Modification to Obligor’s Rights and Remedies."> + [synonym ISDA_Create_1_0 set to True when "automatic_setoff->right" = "applicable", set to False when "automatic_setoff->right" = "not_applicable"] + + customElection string (0..1) <"A custom Pledgor/Obligor/Chargor Rights Event election might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify"] + + condition RightsEvent_includeCoolingOffLanguage: <"A data rule to enforce that, when the Rights Event election includes cooling off language, no custom election should be specified."> + if includeCoolingOffLanguage = True + then customElection is absent + + condition RightsEvent_customElection: <"A data rule to enforce that, when the Rights Event is specified through a custom election, no standard cooling off language should be specified."> + if customElection exists + then includeCoolingOffLanguage = False + +type SecurityProviderRightsEventElection: <"A class to specify party specific Secured Party Rights Event language."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_chargor_rights_event" = "applicable", set to "partyA" when "partyA_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_chargor_rights_event" = "applicable", set to "partyB" when "partyB_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_pledgor_rights_event" = "applicable", set to "partyA" when "partyA_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_pledgor_rights_event" = "applicable", set to "partyB" when "partyB_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_obligor_rights_event" = "applicable", set to "partyA" when "partyA_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_obligor_rights_event" = "applicable", set to "partyB" when "partyB_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_security_provider_rights_event" = "applicable", set to "partyA" when "partyA_security_provider_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_security_provider_rights_event" = "applicable", set to "partyB" when "partyB_security_provider_rights_event" = "not_applicable"] + + rightsEvent boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_chargor_rights_event" = "applicable", set to False when "partyA_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_chargor_rights_event" = "applicable", set to False when "partyB_chargor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_pledgor_rights_event" = "applicable", set to False when "partyA_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_pledgor_rights_event" = "applicable", set to False when "partyB_pledgor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_obligor_rights_event" = "applicable", set to False when "partyA_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_obligor_rights_event" = "applicable", set to False when "partyB_obligor_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyA_security_provider_rights_event" = "applicable", set to False when "partyA_security_provider_rights_event" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_security_provider_rights_event" = "applicable", set to False when "partyB_security_provider_rights_event" = "not_applicable"] + +type SensitivityMethodologies: <"A class to specificy methodologies to compute sensitivities specific to the agreement."> + + sensitivityToEquity SensitivityMethodology (1..1) <"The methodology to compute sensitivities to equity indices, funds and ETFs for the purpose of Initial Margin agreements."> + [synonym ISDA_Create_1_0 value "sensitivities_to_equity_indices_funds_etfs"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (g)(ii)(A)"] + sensitivityToCommodity SensitivityMethodology (1..1) <"The methodology to compute sensitivities to commodity indices for the purpose of Initial Margin agreements."> + [synonym ISDA_Create_1_0 value "sensitivities_to_commodity_indices"] + // [documentReference Euroclear CtaInitialMargin 2019 paragraph "13" section "General Principles (g)(ii)(B)"] + +type SensitivityMethodology: <"A class to specify the methodology according to which sensitivities to (i) equity indices, funds and ETFs, and (ii) commodity indices are computed. This specification is done either through a normalized election as part of the specifiedMethodology, or through a custom election via the customMethodology attribute. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (gg)(2)."> + + specifiedMethodology SensitivitiesEnum (0..1) <"The methodology according to which sensitivities will be computed, when specified through a normalized election."> + [synonym ISDA_Create_1_0 value "sensitivities_equity_indices_funds_etfs", "sensitivities_commodity_indices"] + customMethodology string (0..1) <"The methodology according to which sensitivities will be computed, when specified through a custom election."> + [synonym ISDA_Create_1_0 value "sensitivities_equity_indices_funds_etfs_specify", "sensitivities_commodity_indices_specify"] + condition: one-of + +type SimmCalculationCurrency: <"A class to specify the SIMM Calculation Currency elections by each party to the agreement."> + + partyElection CalculationCurrencyElection (2..2) <"The parties' SIMM Calculation Currency election."> + +type SimmException: <"A class to specify the SIMM exception to the regulatory regime clause of the ISDA 2016 and 2018 CSA for Initial Margin as either a normalized value specified as part of an enumeration or a customized value specified of type string. ISDA 2016 Credit Support Annex for Initial Margin paragraph 13, Regime: SIMM Exception."> + + standardisedException ExceptionEnum (0..1) <"The Standard Initial Margin Model exception when specified by the party according to one of the enumerated values."> + [synonym AcadiaSoft_AM_1_0 set to ExceptionEnum -> NotApplicable when "simmException" = "False"] + simmExceptionApplicable SimmExceptionApplicableEnum (0..1) <"The Standard Initial Margin model exception approach applicable when specified by the party according to one of the enumerated values."> + // TODO condition that SimmExceptionApplicableEnum should only exist if SimmExceptionEnum = Applicable + asSpecified string (0..1) <"The Standard Initial Margin Model exception when specified as a customized approach by the party."> + // TODO condition asSpecified exists if something OtherMethods are specified + +type SimmVersion: <"A class to specify the ISDA SIMM version that applies to the ISDA 2018 CSA for Initial Margin. According to the ISDA 2018 CSA for Initial Margin, Paragraph 13, General Principles (ee) (1) provisions, the SIMM version is either not specified, or references a version used by one of the parties to the agreement."> + + isSpecified boolean (0..1) <"A boolean attribute to determine whether the SIMM version is specified for the purpose of the legal agreement."> + [synonym ISDA_Create_1_0 set to True when "is_specified" = "specified", set to False when "is_specified" = "not_specified"] + partyVersion string (0..1) <"The party which the specified SIMM version applies to."> + [metadata reference] + [synonym ISDA_Create_1_0 set to "PartyA" when "party_A_or_party_B_version" = "partyA", set to "PartyB" when "party_A_or_party_B_version" = "partyB"] + // TODO - ISDA Create export has a blank value type referencing party in 2018 CSD Eng Law schema. Feedback to ISDA + asSpecified string (0..1) <"The SIMM version exception when specified as a customized approach by the party."> + [synonym ISDA_Create_1_0 value "specify" set when "is_specified" = "other"] + + + condition VersionNotSpecified: <"A data rule to enforce that the version attribute should be absent when the SIMM version is stated as not specified for the CSA."> + if isSpecified = False + then partyVersion is absent + + condition VersionSpecified: <"A data rule to enforce that the version attribute should be specified when the SIMM version is stated as specified for the CSA."> + if isSpecified = True + then partyVersion exists + +type SubstitutedRegime: <"A class to specify each party's election with respect to the Substituted Regimes that will be applicable..."> + + partyElection SubstitutedRegimeElection (2..2) <"The parties' Substituted Regime election."> + +type SubstitutedRegimeElection: <"A class to specify the Substituted Regimes that will be deemed applicable..."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_emir" = "applicable", set to "partyA" when "partyA_emir" = "not_applicable"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_emir" = "applicable", set to "partyB" when "partyB_emir" = "not_applicable"] + emir boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_emir" = "applicable", set to False when "partyA_emir" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_emir" = "applicable", set to False when "partyB_emir" = "not_applicable"] + prudential boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_prudential" = "applicable", set to False when "partyA_prudential" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_prudential" = "applicable", set to False when "partyB_prudential" = "not_applicable"] + cftc boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_cftc" = "applicable", set to False when "partyA_cftc" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_cftc" = "applicable", set to False when "partyB_cftc" = "not_applicable"] + sec boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_sec" = "applicable", set to False when "partyA_sec" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_sec" = "applicable", set to False when "partyB_sec" = "not_applicable"] + canada boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_canada" = "applicable", set to False when "partyA_canada" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_canada" = "applicable", set to False when "partyB_canada" = "not_applicable"] + switzerland boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_switzerland" = "applicable", set to False when "partyA_switzerland" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_switzerland" = "applicable", set to False when "partyB_switzerland" = "not_applicable"] + japan boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_japan" = "applicable", set to False when "partyA_japan" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_japan" = "applicable", set to False when "partyB_japan" = "not_applicable"] + australia boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_australia" = "applicable", set to False when "partyA_australia" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_australia" = "applicable", set to False when "partyB_australia" = "not_applicable"] + hong_kong boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_hong_kong" = "applicable", set to False when "partyA_hong_kong" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_hong_kong" = "applicable", set to False when "partyB_hong_kong" = "not_applicable"] + singapore boolean (1..1) + [synonym ISDA_Create_1_0 set to True when "partyA_singapore" = "applicable", set to False when "partyA_singapore" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "partyB_singapore" = "applicable", set to False when "partyB_singapore" = "not_applicable"] + +type Substitution: <"A class to specify the conditions under which the Security Provider can substitute posted collateral."> + + needsConsent boolean (1..1) <"The election as to whether the Pledgor/Obligor/Chargor must obtain the Secured Party’s consent for any collateral substitution. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (f)(ii): Consent. | ISDA 2016 Credit Support Annex for Variation Margin, paragraph 13, (f)(ii): Consent."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "standard", set to False when "is_applicable" = "other"] + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + specificConsentLanguage string (0..1) <"Specific consent language might be specified by the parties."> + [synonym ISDA_Create_1_0 value "specify"] + +type TerminationCurrencyAmendment: <"A class to specify the Amendment to Termination Currency elections by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (t): Amendment to Termination Currency."> + + isApplicable boolean (1..1) <"The qualification of whether the Amendment to Termination Currency is deemed applicable by the parties (True) or not (False)."> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + [synonym ISDA_Create_1_0 set to True when "amendment_to_termination_currency_is" = "applicable", set to False when "amendment_to_termination_currency_is" = "not_applicable" ] + effectiveDate AmendmentEffectiveDate (0..1) <"The effective date of the Amendment to Termination Currency. This date can be specified as either an actual date, a specific date (e.g. the annex date) or as a custom provision."> + partyElection TerminationCurrencyElection (0..3) <"The parties' Amendment Currency election."> + + condition Applicablity: <"The Amendment to Termination Currency elections only apply when the Amendment to Termination Currency is deemed applicable by the parties."> + if isApplicable = False + then ( effectiveDate + and partyElection) is absent // TODO - Logic to be confirmed by testing NotApplicable + +type TerminationCurrencyElection: <"A class to specify the Amendment to Termination Currency election by the parties to the agreement. ISDA 2016 Credit Support Annex for Initial Margin, paragraph 13, General Principles, (t) (A) & (B)."> + + party string (1..1) <"The elective party."> + [synonym ISDA_Create_1_0 set to "partyA" when "partyA_amendment_to_termination_currency" = "specify", set to "partyA" when "partyA_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to "partyB" when "partyB_amendment_to_termination_currency" = "specify", set to "partyB" when "partyB_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to "partyA,partyB" when "two_affected_parties" = "specify", set to "partyA,partyB" when "two_affected_parties" = "in_schedule"] + isSpecified boolean (1..1) <"The qualification of whether the Termination Currency is specified in this document (True) or in an Eligible Support Credit Support (IM) Schedule (False)"> + [synonym ISDA_Create_1_0 set to True when "partyA_amendment_to_termination_currency" = "specify", set to False when "partyA_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to True when "partyB_amendment_to_termination_currency" = "specify", set to False when "partyB_amendment_to_termination_currency" = "in_schedule"] + [synonym ISDA_Create_1_0 set to True when "two_affected_parties" = "specify", set to False when "two_affected_parties" = "in_schedule"] + currency string (1..1) <"The Termination Currency associated with the party that referenced as part of this class. The list of valid currencies is not presently positioned as an enumeration as part of the CDM because that scope is limited to the values specified by ISDA and FpML. As a result, implementers have to make reference to the relevant standard, such as the ISO 4217 standard for currency codes."> + [metadata scheme] + [synonym ISDA_Create_1_0 value "partyA_termination_currency"] + [synonym ISDA_Create_1_0 value "partyB_termination_currency"] + [synonym ISDA_Create_1_0 value "partyA_currency"] + [synonym ISDA_Create_1_0 value "partyB_currency"] + [synonym ISDA_Create_1_0 value "two_affected_parties_currency"] + [synonym ISDA_Create_1_0 value "both_parties_termination_currency"] + + condition CurrencyElection: <"A Termination Currency election should only exist when required by the affected parties election"> + if isSpecified = False then currency is absent + +type Threshold: <"A class to specify the unsecured credit exposure that each party to the agreement is prepared to accept before asking for collateral. This threshold is specified either as an amount or as a custom election. ISDA 2016 English Law Credit Support Deed for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold. | ISDA 2016 Japanese Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (d)(vi)(A): Threshold. | ISDA 2016 New York Law Credit Support Annex for Initial Margin, paragraph 13, General Principles, (c)(vi)(A): Threshold."> + + partyElection ElectiveAmountElection (2..2) <"The parties' Threshold election."> + +type TransactionConfirmation: <"See existing Contract type"> +// TODO - Next step to move Contract from Contractual Product to here. Will require significant refactoring of model. + +type UmbrellaAgreement: <"A class to specify a set of legal entities which are part of a legal agreement beyond the two contracting parties to that agreement. This data representation reflects the ISDA Create representation."> + + isApplicable boolean (1..1) <"The determination of whether Umbrella Agreement terms are Applicable (True), or Not Applicable (False)"> + [synonym ISDA_Create_1_0 set to True when "is_applicable" = "applicable", set to False when "is_applicable" = "not_applicable"] + language string (0..1) <"The language associated with the umbrella agreement, and which applies to all the parties to the umbrella agreement."> + [synonym ISDA_Create_1_0 value "language" maps 2] // TODO: remove "maps 2" once migration complete + parties UmbrellaAgreementEntity (0..*) <"Underlying principals to the umbrella agreement."> + [synonym ISDA_Create_1_0 value "principal_identification_schedule" mapper "UmbrellaAgreementEntity"] + + condition UmbrellaAgreementExists: <"Umbrella Agreement language and parties should not exist when Umbrella Agreement terms are Not Applicable."> + if isApplicable = True + then (language and parties) exists + +type UmbrellaAgreementEntity extends LegalEntity: <"A class to specify the legal entities that are part of the umbrella agreement."> + terms string (0..1) <"The terms that might be associated with each party to the umbrella agreement."> + +// Agreement Validation + +func SaIsdaBankCustodian2019NewYorkLaw: + // [validation agreement] + inputs: agreementTerms AgreementTerms (1..1) + output: is_agreement boolean (1..1) + + assign-output is_agreement: + agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> name = LegalAgreementNameEnum->CollateralTransferAgreement //The agreement is a CTA + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> publisher = LegalAgreementPublisherEnum->ISDA //published by ISDA + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> governingLaw = GoverningLawEnum->USNY //under New York Law + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementType -> vintage = "2019" //with vintage 2019 + and agreementTerms -> relatedAgreements -> legalAgreement -> agreementDate exists //then the CTA should have an agreement date specified + and agreementTerms -> agreement -> securityAgreementElections -> pledgedAccount is absent //there should not be a PledgedAccount + and agreementTerms -> agreement -> securityAgreementElections -> enforcementEvent is absent //there should not be EnforcementEvent terms specified + and agreementTerms -> agreement -> securityAgreementElections -> deliveryInLieuRight is absent //there should not be Delivery in Lieu Right terms specified + and agreementTerms -> agreement -> securityAgreementElections -> fullDischarge is absent //there should not be Full Discharge terms specified + and agreementTerms -> agreement -> securityAgreementElections -> appropriatedCollateralValuation is absent //there should not be any Valuation of Appropriated Collateral terms specified + and agreementTerms -> agreement -> securityAgreementElections -> processAgent exists //there should be Process Agent terms specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> japaneseSecuritiesProvisions exists //there should be Japanese Securities Provisions specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> exclusiveJurisdiction exists //there should be Exclusive Jurisdiction terms specified + and agreementTerms -> agreement -> securityAgreementElections -> jurisdictionRelatedTerms -> juryWaiver exists //there should be Jury Waiver terms specified diff --git a/paper/entityType.tex b/paper/entityType.tex new file mode 100644 index 0000000..59c11c3 --- /dev/null +++ b/paper/entityType.tex @@ -0,0 +1,29 @@ +\begin{table} + \centering + \begin{tabular}{|l|l|l|} + \hline + typeID & entityType & entityTypeDescription \\ \hline + 1 & Cargo Interest & A trade party that is involved in the commercial transaction of the consigned cargo. This participant can take various roles, such as importer, exporter, (original) shipper, or (ultimate) consignee. \\ \hline + 2 & 3PL Agent & An organization that is acting on behalf of the Cargo Interest for the transport, logistics, and clearance of cargo. Agents include freight forwarders and customs brokers. \\ \hline + 3 & StateAgent & A booking agent who is licensed by the government in their jurisdiction to book cargo with ocean carriers. \\ \hline + 4 & OceanCarrier & Global and regional operators of vessels that carry containers and cargo from load port to discharge port, as well as short sea and other services. \\ \hline + 5 & NVOCC & An organization that is providing transport services, issuing a transport service contract in its own name, but subcontracting transport rather than using its own conveyances. non-vessel-operating-common-carrier (NVOCC). \\ \hline + 6 & RailOperator & A transport operator that provides inland haulage services via rail. \\ \hline + 7 & TruckOperator & A transport operator that provides inland haulage services via road: See TruckCarrier \\ \hline + 8 & BargeOperator & A transport operator that provides inland haulage services via barge. \\ \hline + 9 & FeederOperator & A transport operator that provides cargo connection services. \\ \hline + 10 & TerminalOperator & A party that is involved in loading and unloading of consignment cargo from modes of transport at designated terminal sites along the supply chain. Terminals can be marine terminals and inland/river terminals. \\ \hline + 11 & DepotOperator & A party that is involved in the receipt, delivery, and storage of containers whether empty or full. \\ \hline + 12 & DataAggregator & An entity that maintains and makes available supply chain data related to shipments / consignments / transport equipment, generally that it has acquired from other sources \\ \hline + 13 & CustomsAuthority & The authority or agency in a country responsible for collecting tariffs and for controlling the flow of goods into and out of a country. \\ \hline + 14 & PortAuthority & The body with regulatory responsibility for a port \\ \hline + 15 & FinancialEntity & An institution and/or specific legal entity providing financial services related to shipment cargo and/or freight. \\ \hline + 16 & NetworkNamespace & A URN pointing to a specific network, e.g. Klienschmidt, Livingston, Freight Trust \\ \hline + 17 & TransportServiceIntermediary & The Transport Service Intermediary is an organization that is providing transport services, issuing a transport service contract in its own name, but subcontracting transport rather than using its own conveyances. \\ \hline + 18 & TruckCarrier & Global and regional operators of 18 wheel capable power tractors that own assets and provide Full Truck load or Less Than Truck load capacity \\ \hline + 19 & RegularBroker & Booking agent who is licensed by the government in their jurisdiction to book cargo as defined by FMCSA \\ \hline + 20 & Agent & Agent \\ \hline + 21 & 3rdParty & 3rd Party, e.g. Insurance Company \\ \hline + 22 & AuthorityAgent & 3rd Party, e.g. a Court, notice the inversion of Authority Class here as its a discrete type \\ \hline + \end{tabular} +\end{table} diff --git a/paper/userRoles.tex b/paper/userRoles.tex new file mode 100644 index 0000000..188fc0a --- /dev/null +++ b/paper/userRoles.tex @@ -0,0 +1,48 @@ +\begin{table} + \centering + \begin{tabular}{|l|l|l|} + \hline + userRoleID & type & value \\ \hline + 2 & Seller & The party selling goods or services as stipulated in a Sales Order Contract. \\ \hline + 3 & Buyer & The party to whom goods are sold as stipulated in a Sales Order Contract.  \\ \hline + 4 & Exporter & The party who makes an export declaration, or on whose behalf the export declaration is made, and who is the owner of the goods or has similar rights of disposal over them at the time when the declaration is accepted. \\ \hline + 5 & Importer & The party who makes, or on whose behalf a customs broker or other authorized person makes, an import declaration, including a person who has possession of the goods or to whom the goods are consigned. \\ \hline + 6 & BuyerTransportService & The buyer of transport services as stipulated in a transport service contract \\ \hline + 7 & Consignor & The party providing a consignment of goods as stipulated in a transport service contract \\ \hline + 8 & Consignee & The party receiving a consignment of goods as stipulated in a transport service contract \\ \hline + 9 & 3PLAgentOrigin & The entity that provides third party logistics services for a cargo interest at the origin leg of a journey \\ \hline + 10 & 3PLAgentDestination & The entity that provides third party logistics services for a cargo interest at the destination leg of a journey \\ \hline + 11 & CustomsBrokerExport & The entity that provides import customs brokerage services to a cargo interest \\ \hline + 12 & CustomsBrokerImport & The entity that provides export customs brokerage services to a cargo interest \\ \hline + 13 & RequestParty & A party who submits booking requests or shipping instructions \\ \hline + 14 & NotifyParty & A party to be notified of the arrival of cargo at the port of destination \\ \hline + 15 & ProviderTransportService & A party that enters into Transport Service Contracts and undertakes or arranges the transport of goods between named points; may use own conveyances to undertake the transport or contract with another party to provide the conveyance. In this later case they are acting as a NVOCC. \\ \hline + 16 & MarineTerminalOrigin & The marine terminal handling the consignment cargo at the first port of loading \\ \hline + 17 & MarineTerminalDestination & The marine terminal handling the consignment cargo at the port of final discharge \\ \hline + 18 & TerminalTransShipment & The marine terminal handling the consignment cargo at a port between the first port of loading and port of final discharge \\ \hline + 19 & InlandTerminalOrigin & A terminal that handles the consignment cargo at an inland/river point of the journey prior to ocean transportation \\ \hline + 20 & InlandTerminalDestination & A terminal that handles the consignment cargo at an inland/river point of the journey after ocean transportation \\ \hline + 21 & Depot & A physical location providing storage for transport equipment used in the consignment. \\ \hline + 22 & Warehouse & A physical location providing storage for cargo or freight \\ \hline + 23 & BondedDepot & Bonded Depot through Surety Bond \\ \hline + 24 & BondedWarehouse & Bonded Warehouse through Surety Bond \\ \hline + 25 & ECNPortSeaAir & An electronic platform enabling exchange of information between public and private stakeholders in order to improve the competitive position of the sea and air ports’ communities. \\ \hline + 26 & ECNAggregatorInland & A software platform that collects data from and publishes data to inland transportation providers. \\ \hline + 27 & AuthorityExport & Provides export authorization associated with any conventions or regulations applicable to the trading of cargo within the international purchase and supply chain \\ \hline + 28 & AuthorityImport & Provides import authorization associated with any conventions or regulations applicable to the trading of cargo within the international purchase and supply chain \\ \hline + 29 & BankBuyers & Issues a letter of credit to a buyer \\ \hline + 30 & BankSellers & Pays the seller if conditions stipulated in a letter of credit are met \\ \hline + 31 & ProviderInsurance & Insures risks involved with international trade \\ \hline + 32 & ECN & Electronic Communications Network \\ \hline + 33 & BankEntity & The Legal Entity Identifer of a Financial Instittution \\ \hline + 34 & ECNNetwork & Namespace URN of an ECN \\ \hline + 35 & ECNNetworkAPI & URI of an API Endpoint \\ \hline + 36 & ECNMesh & Inter ECN Network Communcations Mesh Network \\ \hline + 37 & Clearing & Process of Clearing Customs \\ \hline + 38 & FTZ & Free Trade Zone \\ \hline + 39 & Drawback & Drawback Event per Customs \\ \hline + 40 & Liquidation & Liquidation Event per Customs \\ \hline + 41 & Tractor & A discrete power motor vehicle \\ \hline + 42 & TruckGVWR & Defined GVWR of the Power Tractor, e.g. Class 7: GVWR of 26,001 to 33,000 pounds \\ \hline + \end{tabular} +\end{table} diff --git a/protocol/X12_004010_100.cs b/protocol/X12_004010_100.cs new file mode 100644 index 0000000..f964b66 --- /dev/null +++ b/protocol/X12_004010_100.cs @@ -0,0 +1,622 @@ +namespace FreightTrust.EDI.X12004010 { + /// + /// Loop for Informational Values + /// + [Serializable()] + [DataContract()] + [Group(typeof(AM1))] + public class Loop_AM1_100 { + + /// + /// Informational Values + /// + [DataMember] + [Required] + [Pos(1)] + public AM1 AM1 { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [Pos(2)] + public List MSG { + get; + set; + } + } + + /// + /// Loop for Baseline Item Data + /// + [Serializable()] + [DataContract()] + [Group(typeof(BLI))] + public class Loop_BLI_100 { + + /// + /// Baseline Item Data + /// + [DataMember] + [Required] + [Pos(1)] + public BLI BLI { + get; + set; + } + /// + /// Date or Time or Period + /// + [DataMember] + [Pos(2)] + public List DTP { + get; + set; + } + /// + /// Information + /// + [DataMember] + [Pos(3)] + public List III { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Pos(4)] + public List AMT { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Pos(5)] + public List QTY { + get; + set; + } + /// + /// Loop for Service Characteristic Identification + /// + [DataMember] + [Pos(6)] + public List SILoop { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_100 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [Pos(2)] + public List N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(3)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Communication Contact Information + /// + [DataMember] + [ListCount(9)] + [Pos(5)] + public List COM { + get; + set; + } + /// + /// Information + /// + [DataMember] + [ListCount(9)] + [Pos(6)] + public List III { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [Pos(7)] + public List MSG { + get; + set; + } + /// + /// Loop for Administrative Communications Contact + /// + [DataMember] + [Pos(8)] + public List PERLoop { + get; + set; + } + /// + /// Loop for Product/Item Description + /// + [DataMember] + [Pos(9)] + public List PIDLoop { + get; + set; + } + } + + /// + /// Loop for Geographic Location + /// + [Serializable()] + [DataContract()] + [Group(typeof(N4))] + public class Loop_N4_100 { + + /// + /// Geographic Location + /// + [DataMember] + [Required] + [Pos(1)] + public N4 N4 { + get; + set; + } + /// + /// Status of Product or Activity + /// + [DataMember] + [ListCount(3)] + [Pos(2)] + public List SPA { + get; + set; + } + /// + /// Loop for Informational Values + /// + [DataMember] + [Pos(3)] + public List AM1Loop { + get; + set; + } + /// + /// Loop for Baseline Item Data + /// + [DataMember] + [Pos(4)] + public List PO1Loop { + get; + set; + } + } + + /// + /// Loop for Individual or Organizational Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(NM1))] + public class Loop_NM1_100 { + + /// + /// Individual or Organizational Name + /// + [DataMember] + [Required] + [Pos(1)] + public NM1 NM1 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(3)] + [Pos(2)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(3)] + public N4 N4 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(9)] + [Pos(4)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(5)] + public List PER { + get; + set; + } + } + + /// + /// Loop for Administrative Communications Contact + /// + [Serializable()] + [DataContract()] + [Group(typeof(PER))] + public class Loop_PER_100 { + + /// + /// Administrative Communications Contact + /// + [DataMember] + [Required] + [Pos(1)] + public PER PER { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(3)] + [Pos(2)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(3)] + public N4 N4 { + get; + set; + } + } + + /// + /// Loop for Product/Item Description + /// + [Serializable()] + [DataContract()] + [Group(typeof(PID))] + public class Loop_PID_100 { + + /// + /// Product/Item Description + /// + [DataMember] + [Required] + [Pos(1)] + public PID PID { + get; + set; + } + /// + /// Item Identification + /// + [DataMember] + [ListCount(9)] + [Pos(2)] + public List LIN { + get; + set; + } + /// + /// Date or Time or Period + /// + [DataMember] + [Pos(3)] + public List DTP { + get; + set; + } + /// + /// Individual or Organizational Name + /// + [DataMember] + [Pos(4)] + public List NM1 { + get; + set; + } + /// + /// Loop for Baseline Item Data + /// + [DataMember] + [Pos(5)] + public List BLILoop { + get; + set; + } + /// + /// Loop for Informational Values + /// + [DataMember] + [Pos(6)] + public List AM1Loop { + get; + set; + } + /// + /// Loop for Baseline Item Data + /// + [DataMember] + [Pos(7)] + public List PO1Loop { + get; + set; + } + /// + /// Loop for Geographic Location + /// + [DataMember] + [Pos(8)] + public List N4Loop { + get; + set; + } + } + + /// + /// Loop for Baseline Item Data + /// + [Serializable()] + [DataContract()] + [Group(typeof(PO1))] + public class Loop_PO1_100 { + + /// + /// Baseline Item Data + /// + [DataMember] + [Required] + [Pos(1)] + public PO1 PO1 { + get; + set; + } + /// + /// Item Identification + /// + [DataMember] + [ListCount(9)] + [Pos(2)] + public List LIN { + get; + set; + } + /// + /// Status of Product or Activity + /// + [DataMember] + [ListCount(3)] + [Pos(3)] + public List SPA { + get; + set; + } + /// + /// Information + /// + [DataMember] + [Pos(4)] + public List III { + get; + set; + } + } + + /// + /// Loop for Baseline Item Data + /// + [Serializable()] + [DataContract()] + [Group(typeof(PO1))] + public class Loop_PO1_100_2 { + + /// + /// Baseline Item Data + /// + [DataMember] + [Required] + [Pos(1)] + public PO1 PO1 { + get; + set; + } + /// + /// Status of Product or Activity + /// + [DataMember] + [ListCount(3)] + [Pos(2)] + public List SPA { + get; + set; + } + /// + /// Information + /// + [DataMember] + [Pos(3)] + public List III { + get; + set; + } + } + + /// + /// Loop for Service Characteristic Identification + /// + [Serializable()] + [DataContract()] + [Group(typeof(SI))] + public class Loop_SI_100 { + + /// + /// Service Characteristic Identification + /// + [DataMember] + [Required] + [Pos(1)] + public SI SI { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Pos(2)] + public List AMT { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Pos(3)] + public List QTY { + get; + set; + } + } + + /// + /// Insurance Plan Description + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "100")] + public class TS100 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Beginning Segment + /// + [DataMember] + [Required] + [Pos(2)] + public BGN BGN { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(3)] + public C3 C3 { + get; + set; + } + /// + /// Date or Time or Period + /// + [DataMember] + [Pos(4)] + public List DTP { + get; + set; + } + /// + /// Loop for Individual or Organizational Name + /// + [DataMember] + [Required] + [Pos(5)] + public List NM1Loop { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [Required] + [Pos(6)] + public List N1Loop { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(7)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_210.cs b/protocol/X12_004010_210.cs new file mode 100644 index 0000000..37ed172 --- /dev/null +++ b/protocol/X12_004010_210.cs @@ -0,0 +1,723 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Loop for Carton (Package) Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(CD3))] + public class Loop_CD3_210 { + + /// + /// Carton (Package) Detail + /// + [DataMember] + [Required] + [Pos(1)] + public CD3 CD3 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(20)] + [Pos(2)] + public List N9 { + get; + set; + } + /// + /// Special Services + /// + [DataMember] + [ListCount(10)] + [Pos(3)] + public List
H6 { + get; + set; + } + /// + /// Charge Detail + /// + [DataMember] + [ListCount(10)] + [Pos(4)] + public List L9 { + get; + set; + } + /// + /// Proof of Delivery + /// + [DataMember] + [Pos(5)] + public POD POD { + get; + set; + } + /// + /// Date/Time + /// + [DataMember] + [Pos(6)] + public G62 G62 { + get; + set; + } + } + + /// + /// Loop for Assigned Number + /// + [Serializable()] + [DataContract()] + [Group(typeof(LX))] + public class Loop_LX_210 { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [Pos(1)] + public LX LX { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(5)] + [Pos(2)] + public List N9 { + get; + set; + } + /// + /// Proof of Delivery + /// + [DataMember] + [Pos(3)] + public POD POD { + get; + set; + } + /// + /// Description, Marks and Numbers + /// + [DataMember] + [ListCount(30)] + [Pos(4)] + public List L5 { + get; + set; + } + /// + /// Hazardous Material + /// + [DataMember] + [ListCount(3)] + [Pos(5)] + public List

H1 { + get; + set; + } + /// + /// Additional Hazardous Material Description + /// + [DataMember] + [ListCount(2)] + [Pos(6)] + public List

H2 { + get; + set; + } + /// + /// Line Item - Quantity and Weight + /// + [DataMember] + [ListCount(10)] + [Pos(7)] + public List L0 { + get; + set; + } + /// + /// Rate and Charges + /// + [DataMember] + [ListCount(10)] + [Pos(8)] + public List L1 { + get; + set; + } + /// + /// Measurement + /// + [DataMember] + [ListCount(10)] + [Pos(9)] + public List L4 { + get; + set; + } + /// + /// Tariff Reference + /// + [DataMember] + [ListCount(10)] + [Pos(10)] + public List L7 { + get; + set; + } + /// + /// Remarks + /// + [DataMember] + [ListCount(10)] + [Pos(11)] + public List K1 { + get; + set; + } + /// + /// Loop for Shipment Purchase Order Detail + /// + [DataMember] + [ListCount(999999)] + [Pos(12)] + public List SPOLoop { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(999999)] + [Pos(13)] + public List N1Loop { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_210 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [Pos(2)] + public N2 N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(5)] + [Pos(5)] + public List N9 { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_210_2 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [Pos(2)] + public N2 N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(5)] + [Pos(5)] + public List N9 { + get; + set; + } + /// + /// Loop for Equipment Details + /// + [DataMember] + [ListCount(10)] + [Pos(6)] + public List N7Loop { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_210_3 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [Pos(2)] + public N2 N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(10)] + [Pos(5)] + public List N9 { + get; + set; + } + /// + /// Loop for Carton (Package) Detail + /// + [DataMember] + [ListCount(999999)] + [Pos(6)] + public List CD3Loop { + get; + set; + } + /// + /// Loop for Shipment Purchase Order Detail + /// + [DataMember] + [ListCount(999999)] + [Pos(7)] + public List SPOLoop { + get; + set; + } + } + + /// + /// Loop for Equipment Details + /// + [Serializable()] + [DataContract()] + [Group(typeof(N7))] + public class Loop_N7_210 { + + /// + /// Equipment Details + /// + [DataMember] + [Required] + [Pos(1)] + public N7 N7 { + get; + set; + } + /// + /// Seal Numbers + /// + [DataMember] + [ListCount(2)] + [Pos(2)] + public List M7 { + get; + set; + } + } + + /// + /// Loop for Stop Off Details + /// + [Serializable()] + [DataContract()] + [Group(typeof(S5))] + public class Loop_S5_210 { + + /// + /// Stop Off Details + /// + [DataMember] + [Required] + [Pos(1)] + public S5 S5 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(10)] + [Pos(2)] + public List N9 { + get; + set; + } + /// + /// Date/Time + /// + [DataMember] + [ListCount(10)] + [Pos(3)] + public List G62 { + get; + set; + } + /// + /// Special Handling Instructions + /// + [DataMember] + [ListCount(6)] + [Pos(4)] + public List

H3 { + get; + set; + } + /// + /// Loop for Shipment Purchase Order Detail + /// + [DataMember] + [ListCount(999999)] + [Pos(5)] + public List SPOLoop { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(2)] + [Pos(6)] + public List N1Loop { + get; + set; + } + } + + /// + /// Loop for Shipment Purchase Order Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(SPO))] + public class Loop_SPO_210 { + + /// + /// Shipment Purchase Order Detail + /// + [DataMember] + [Required] + [Pos(1)] + public SPO SPO { + get; + set; + } + /// + /// Destination Quantity + /// + [DataMember] + [ListCount(10)] + [Pos(2)] + public List SDQ { + get; + set; + } + } + + /// + /// Motor Carrier Freight Details and Invoice + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "210")] + public class TS210 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Beginning Segment for Carrier's Invoice + /// + [DataMember] + [Required] + [Pos(2)] + public B3 B3 { + get; + set; + } + /// + /// Bank ID + /// + [DataMember] + [Pos(3)] + public C2 C2 { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(4)] + public C3 C3 { + get; + set; + } + /// + /// Terms of Sale/Deferred Terms of Sale + /// + [DataMember] + [Pos(5)] + public ITD ITD { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(300)] + [Pos(6)] + public List N9 { + get; + set; + } + /// + /// Date/Time + /// + [DataMember] + [ListCount(6)] + [Pos(7)] + public List G62 { + get; + set; + } + /// + /// Route Information - Motor + /// + [DataMember] + [ListCount(12)] + [Pos(8)] + public List R3 { + get; + set; + } + /// + /// Special Handling Instructions + /// + [DataMember] + [ListCount(6)] + [Pos(9)] + public List

H3 { + get; + set; + } + /// + /// Remarks + /// + [DataMember] + [ListCount(10)] + [Pos(10)] + public List K1 { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(10)] + [Pos(11)] + public List N1Loop { + get; + set; + } + /// + /// Loop for Equipment Details + /// + [DataMember] + [ListCount(10)] + [Pos(12)] + public List N7Loop { + get; + set; + } + /// + /// Loop for Shipment Purchase Order Detail + /// + [DataMember] + [ListCount(999999)] + [Pos(13)] + public List SPOLoop { + get; + set; + } + /// + /// Loop for Stop Off Details + /// + [DataMember] + [ListCount(999)] + [Pos(14)] + public List S5Loop { + get; + set; + } + /// + /// Loop for Assigned Number + /// + [DataMember] + [ListCount(9999)] + [Pos(15)] + public List LXLoop { + get; + set; + } + /// + /// Total Weight and Charges + /// + [DataMember] + [Pos(16)] + public L3 L3 { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(17)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_211.cs b/protocol/X12_004010_211.cs new file mode 100644 index 0000000..77a0bdf --- /dev/null +++ b/protocol/X12_004010_211.cs @@ -0,0 +1,492 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Loop for Bill of Lading Line Item Number + /// + [Serializable()] + [DataContract()] + [Group(typeof(AT1))] + public class Loop_AT1_211 { + + /// + /// Bill of Lading Line Item Number + /// + [DataMember] + [Required] + [Pos(1)] + public AT1 AT1 { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [ListCount(100)] + [Pos(2)] + public List L11 { + get; + set; + } + /// + /// Bill of Lading Rates and Charges + /// + [DataMember] + [Pos(3)] + public AT3 AT3 { + get; + set; + } + /// + /// Bill of Lading Description + /// + [DataMember] + [ListCount(99)] + [Pos(4)] + public List AT4 { + get; + set; + } + /// + /// Loop for Bill of Lading Line Item Detail + /// + [DataMember] + [Pos(5)] + public Loop_AT2_211 AT2Loop { + get; + set; + } + /// + /// Loop for Assigned Number + /// + [DataMember] + [ListCount(999999)] + [Pos(6)] + public List LXLoop { + get; + set; + } + /// + /// Loop for Contact + /// + [DataMember] + [ListCount(2)] + [Pos(7)] + public List G61Loop { + get; + set; + } + } + + /// + /// Loop for Bill of Lading Line Item Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(AT2))] + public class Loop_AT2_211 { + + /// + /// Bill of Lading Line Item Detail + /// + [DataMember] + [Required] + [Pos(1)] + public AT2 AT2 { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [ListCount(999999)] + [Pos(2)] + public List MAN { + get; + set; + } + /// + /// Shipment Purchase Order Detail + /// + [DataMember] + [ListCount(999999)] + [Pos(3)] + public List SPO { + get; + set; + } + } + + /// + /// Loop for Contact + /// + [Serializable()] + [DataContract()] + [Group(typeof(G61))] + public class Loop_G61_211 { + + /// + /// Contact + /// + [DataMember] + [Required] + [Pos(1)] + public G61 G61 { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [ListCount(5)] + [Pos(2)] + public List L11 { + get; + set; + } + /// + /// Hazardous Certification + /// + [DataMember] + [ListCount(6)] + [Pos(3)] + public List LH6 { + get; + set; + } + /// + /// Loop for Hazardous Identification Information + /// + [DataMember] + [Required] + [ListCount(25)] + [Pos(4)] + public List LH1Loop { + get; + set; + } + } + + /// + /// Loop for Hazardous Identification Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(LH1))] + public class Loop_LH1_211 { + + /// + /// Hazardous Identification Information + /// + [DataMember] + [Required] + [Pos(1)] + public LH1 LH1 { + get; + set; + } + /// + /// Hazardous Classification Information + /// + [DataMember] + [ListCount(4)] + [Pos(2)] + public List LH2 { + get; + set; + } + /// + /// Hazardous Material Shipping Name + /// + [DataMember] + [ListCount(10)] + [Pos(3)] + public List LH3 { + get; + set; + } + /// + /// Freeform Hazardous Material Information + /// + [DataMember] + [ListCount(20)] + [Pos(4)] + public List LFH { + get; + set; + } + /// + /// EPA Required Data + /// + [DataMember] + [ListCount(3)] + [Pos(5)] + public List LEP { + get; + set; + } + /// + /// Canadian Dangerous Requirements + /// + [DataMember] + [Pos(6)] + public LH4 LH4 { + get; + set; + } + /// + /// Transborder Hazardous Requirements + /// + [DataMember] + [ListCount(3)] + [Pos(7)] + public List LHT { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [ListCount(5)] + [Pos(8)] + public List L11 { + get; + set; + } + } + + /// + /// Loop for Assigned Number + /// + [Serializable()] + [DataContract()] + [Group(typeof(LX))] + public class Loop_LX_211 { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [Pos(1)] + public LX LX { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [ListCount(999999)] + [Pos(2)] + public List MAN { + get; + set; + } + /// + /// Shipment Purchase Order Detail + /// + [DataMember] + [ListCount(999999)] + [Pos(3)] + public List SPO { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_211 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [Pos(2)] + public N2 N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Contact + /// + [DataMember] + [ListCount(3)] + [Pos(5)] + public List G61 { + get; + set; + } + } + + /// + /// Motor Carrier Bill of Lading + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "211")] + public class TS211 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Beginning Segment for the Motor Carrier Bill of Lading + /// + [DataMember] + [Required] + [Pos(2)] + public BOL BOL { + get; + set; + } + /// + /// Set Purpose + /// + [DataMember] + [Required] + [Pos(3)] + public B2A B2A { + get; + set; + } + /// + /// Interline Information + /// + [DataMember] + [ListCount(12)] + [Pos(4)] + public List MS3 { + get; + set; + } + /// + /// Equipment or Container Owner and Type + /// + [DataMember] + [Pos(5)] + public MS2 MS2 { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [ListCount(100)] + [Pos(6)] + public List L11 { + get; + set; + } + /// + /// Date/Time + /// + [DataMember] + [ListCount(6)] + [Pos(7)] + public List G62 { + get; + set; + } + /// + /// Bill of Lading Handling Requirements + /// + [DataMember] + [ListCount(50)] + [Pos(8)] + public List AT5 { + get; + set; + } + /// + /// Remarks + /// + [DataMember] + [ListCount(10)] + [Pos(9)] + public List K1 { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(10)] + [Pos(10)] + public List N1Loop { + get; + set; + } + /// + /// Loop for Bill of Lading Line Item Number + /// + [DataMember] + [Required] + [ListCount(9999)] + [Pos(11)] + public List AT1Loop { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(12)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_215.cs b/protocol/X12_004010_215.cs new file mode 100644 index 0000000..0bb8483 --- /dev/null +++ b/protocol/X12_004010_215.cs @@ -0,0 +1,668 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Loop for International Manifest Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(AT6))] + public class Loop_AT6_215 { + + /// + /// International Manifest Information + /// + [DataMember] + [Required] + [Pos(1)] + public AT6 AT6 { + get; + set; + } + /// + /// Shipment Rates and Charges + /// + [DataMember] + [Pos(2)] + public MS5 MS5 { + get; + set; + } + /// + /// Baseline Item Data (Invoice) + /// + [DataMember] + [Pos(3)] + public IT1 IT1 { + get; + set; + } + /// + /// Charge + /// + [DataMember] + [ListCount(10)] + [Pos(4)] + public List CGS { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [Pos(5)] + public L11 L11 { + get; + set; + } + /// + /// Product/Item Description + /// + [DataMember] + [ListCount(1000)] + [Pos(6)] + public List PID { + get; + set; + } + /// + /// Tax Information + /// + [DataMember] + [ListCount(10)] + [Pos(7)] + public List TXI { + get; + set; + } + /// + /// Shipment or Package Dimensions + /// + [DataMember] + [Pos(8)] + public MS4 MS4 { + get; + set; + } + /// + /// Description, Marks and Numbers + /// + [DataMember] + [Pos(9)] + public L5 L5 { + get; + set; + } + /// + /// Loop for Subline Item Detail + /// + [DataMember] + [ListCount(999999)] + [Pos(10)] + public List SLNLoop { + get; + set; + } + } + + /// + /// Loop for Carton (Package) Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(CD3))] + public class Loop_CD3_215 { + + /// + /// Carton (Package) Detail + /// + [DataMember] + [Required] + [Pos(1)] + public CD3 CD3 { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [ListCount(100)] + [Pos(2)] + public List MAN { + get; + set; + } + /// + /// Shipment or Package Dimensions + /// + [DataMember] + [Pos(3)] + public MS4 MS4 { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [ListCount(10)] + [Pos(4)] + public List L11 { + get; + set; + } + /// + /// Description, Marks and Numbers + /// + [DataMember] + [ListCount(10)] + [Pos(5)] + public List L5 { + get; + set; + } + /// + /// Ancillary Charges + /// + [DataMember] + [ListCount(10)] + [Pos(6)] + public List ACS { + get; + set; + } + /// + /// Note/Special Instruction + /// + [DataMember] + [ListCount(10)] + [Pos(7)] + public List NTE { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_215 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [Pos(2)] + public N2 N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [ListCount(2)] + [Pos(4)] + public List N4 { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [Required] + [ListCount(10)] + [Pos(5)] + public List L11 { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(10)] + [Pos(6)] + public List PER { + get; + set; + } + /// + /// Export License + /// + [DataMember] + [ListCount(10)] + [Pos(7)] + public List X1 { + get; + set; + } + /// + /// Import License + /// + [DataMember] + [ListCount(10)] + [Pos(8)] + public List X2 { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_215_2 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [Pos(2)] + public N2 N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [ListCount(10)] + [Pos(5)] + public List L11 { + get; + set; + } + /// + /// Contact + /// + [DataMember] + [ListCount(10)] + [Pos(6)] + public List G61 { + get; + set; + } + /// + /// Export License + /// + [DataMember] + [ListCount(10)] + [Pos(7)] + public List X1 { + get; + set; + } + /// + /// Import License + /// + [DataMember] + [ListCount(10)] + [Pos(8)] + public List X2 { + get; + set; + } + /// + /// Port or Terminal + /// + [DataMember] + [ListCount(10)] + [Pos(9)] + public List R4 { + get; + set; + } + } + + /// + /// Loop for Subline Item Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(SLN))] + public class Loop_SLN_215 { + + /// + /// Subline Item Detail + /// + [DataMember] + [Required] + [Pos(1)] + public SLN SLN { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [ListCount(10)] + [Pos(2)] + public List L11 { + get; + set; + } + /// + /// Product/Item Description + /// + [DataMember] + [ListCount(10)] + [Pos(3)] + public List PID { + get; + set; + } + /// + /// Commodity + /// + [DataMember] + [ListCount(10)] + [Pos(4)] + public List TC2 { + get; + set; + } + /// + /// Tax Information + /// + [DataMember] + [ListCount(10)] + [Pos(5)] + public List TXI { + get; + set; + } + /// + /// Note/Special Instruction + /// + [DataMember] + [ListCount(10)] + [Pos(6)] + public List NTE { + get; + set; + } + } + + /// + /// Loop for Consolidated Shipment Manifest Data + /// + [Serializable()] + [DataContract()] + [Group(typeof(SMD))] + public class Loop_SMD_215 { + + /// + /// Consolidated Shipment Manifest Data + /// + [DataMember] + [Required] + [Pos(1)] + public SMD SMD { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [ListCount(20)] + [Pos(2)] + public List L11 { + get; + set; + } + /// + /// Description, Marks and Numbers + /// + [DataMember] + [ListCount(10)] + [Pos(3)] + public List L5 { + get; + set; + } + /// + /// Shipment Quantity and Weight + /// + [DataMember] + [Pos(4)] + public MS6 MS6 { + get; + set; + } + /// + /// Shipment Rates and Charges + /// + [DataMember] + [ListCount(5)] + [Pos(5)] + public List MS5 { + get; + set; + } + /// + /// Shipment or Package Dimensions + /// + [DataMember] + [Pos(6)] + public MS4 MS4 { + get; + set; + } + /// + /// Ancillary Charges + /// + [DataMember] + [ListCount(10)] + [Pos(7)] + public List ACS { + get; + set; + } + /// + /// Note/Special Instruction + /// + [DataMember] + [ListCount(10)] + [Pos(8)] + public List NTE { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [Required] + [ListCount(10)] + [Pos(9)] + public List N1Loop { + get; + set; + } + /// + /// Loop for Carton (Package) Detail + /// + [DataMember] + [Required] + [ListCount(999999)] + [Pos(10)] + public List CD3Loop { + get; + set; + } + /// + /// Loop for International Manifest Information + /// + [DataMember] + [ListCount(999999)] + [Pos(11)] + public List AT6Loop { + get; + set; + } + } + + /// + /// Motor Carrier Pick-up Manifest + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "215")] + public class TS215 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Set Purpose + /// + [DataMember] + [Required] + [Pos(2)] + public B2A B2A { + get; + set; + } + /// + /// Transportation Carrier Identification + /// + [DataMember] + [Pos(3)] + public BLR BLR { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(4)] + public C3 C3 { + get; + set; + } + /// + /// Business Instructions and Reference Number + /// + [DataMember] + [Required] + [ListCount(10)] + [Pos(5)] + public List L11 { + get; + set; + } + /// + /// Date/Time + /// + [DataMember] + [ListCount(6)] + [Pos(6)] + public List G62 { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [Required] + [Pos(7)] + public Loop_N1_215 N1Loop { + get; + set; + } + /// + /// Loop for Consolidated Shipment Manifest Data + /// + [DataMember] + [Required] + [ListCount(999999)] + [Pos(8)] + public List SMDLoop { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(9)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_810.cs b/protocol/X12_004010_810.cs new file mode 100644 index 0000000..6ebce98 --- /dev/null +++ b/protocol/X12_004010_810.cs @@ -0,0 +1,978 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Loop for Type of Financial Accounting Data + /// + [Serializable()] + [DataContract()] + [Group(typeof(FA1))] + public class Loop_FA1_810 { + + /// + /// Type of Financial Accounting Data + /// + [DataMember] + [Required] + [Pos(1)] + public FA1 FA1 { + get; + set; + } + /// + /// Accounting Data + /// + [DataMember] + [Required] + [Pos(2)] + public List FA2 { + get; + set; + } + } + + /// + /// Loop for Invoice Shipment Summary + /// + [Serializable()] + [DataContract()] + [Group(typeof(ISS))] + public class Loop_ISS_810 { + + /// + /// Invoice Shipment Summary + /// + [DataMember] + [Required] + [Pos(1)] + public ISS ISS { + get; + set; + } + /// + /// Product/Item Description + /// + [DataMember] + [Pos(2)] + public PID PID { + get; + set; + } + } + + /// + /// Loop for Baseline Item Data (Invoice) + /// + [Serializable()] + [DataContract()] + [Group(typeof(IT1))] + public class Loop_IT1_810 { + + /// + /// Baseline Item Data (Invoice) + /// + [DataMember] + [Required] + [Pos(1)] + public IT1 IT1 { + get; + set; + } + /// + /// Conditions Indicator + /// + [DataMember] + [Pos(2)] + public CRC CRC { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [ListCount(5)] + [Pos(3)] + public List QTY { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(4)] + public CUR CUR { + get; + set; + } + /// + /// Additional Item Data + /// + [DataMember] + [ListCount(5)] + [Pos(5)] + public List IT3 { + get; + set; + } + /// + /// Tax Information + /// + [DataMember] + [ListCount(10)] + [Pos(6)] + public List TXI { + get; + set; + } + /// + /// Pricing Information + /// + [DataMember] + [ListCount(25)] + [Pos(7)] + public List CTP { + get; + set; + } + /// + /// Period Amount + /// + [DataMember] + [ListCount(10)] + [Pos(8)] + public List PAM { + get; + set; + } + /// + /// Measurements + /// + [DataMember] + [ListCount(40)] + [Pos(9)] + public List MEA { + get; + set; + } + /// + /// Loop for Product/Item Description + /// + [DataMember] + [ListCount(1000)] + [Pos(10)] + public List PIDLoop { + get; + set; + } + /// + /// Paperwork + /// + [DataMember] + [ListCount(25)] + [Pos(11)] + public List PWK { + get; + set; + } + /// + /// Marking, Packaging, Loading + /// + [DataMember] + [ListCount(25)] + [Pos(12)] + public List PKG { + get; + set; + } + /// + /// Item Physical Details + /// + [DataMember] + [Pos(13)] + public PO4 PO4 { + get; + set; + } + /// + /// Terms of Sale/Deferred Terms of Sale + /// + [DataMember] + [ListCount(2)] + [Pos(14)] + public List ITD { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Pos(15)] + public List REF { + get; + set; + } + /// + /// Yes/No Question + /// + [DataMember] + [ListCount(10)] + [Pos(16)] + public List YNQ { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(5)] + [Pos(17)] + public List PER { + get; + set; + } + /// + /// Destination Quantity + /// + [DataMember] + [ListCount(500)] + [Pos(18)] + public List SDQ { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(19)] + public List DTM { + get; + set; + } + /// + /// Carrier Detail + /// + [DataMember] + [Pos(20)] + public List CAD { + get; + set; + } + /// + /// Tariff Reference + /// + [DataMember] + [Pos(21)] + public List L7 { + get; + set; + } + /// + /// Requested Service Schedule + /// + [DataMember] + [Pos(22)] + public SR SR { + get; + set; + } + /// + /// Loop for Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [ListCount(25)] + [Pos(23)] + public List SACLoop { + get; + set; + } + /// + /// Loop for Subline Item Detail + /// + [DataMember] + [ListCount(1000)] + [Pos(24)] + public List SLNLoop { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(200)] + [Pos(25)] + public List N1Loop { + get; + set; + } + /// + /// Loop for Code Source Information + /// + [DataMember] + [ListCount(10)] + [Pos(26)] + public List LMLoop { + get; + set; + } + /// + /// Loop for Vessel Identification + /// + [DataMember] + [Pos(27)] + public List V1Loop { + get; + set; + } + /// + /// Loop for Type of Financial Accounting Data + /// + [DataMember] + [Pos(28)] + public List FA1Loop { + get; + set; + } + } + + /// + /// Loop for Code Source Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(LM))] + public class Loop_LM_810 { + + /// + /// Code Source Information + /// + [DataMember] + [Required] + [Pos(1)] + public LM LM { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [Required] + [ListCount(100)] + [Pos(2)] + public List LQ { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_810 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [ListCount(2)] + [Pos(2)] + public List N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(5)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(6)] + public List PER { + get; + set; + } + /// + /// Demographic Information + /// + [DataMember] + [Pos(7)] + public DMG DMG { + get; + set; + } + } + + /// + /// Loop for Reference Identification + /// + [Serializable()] + [DataContract()] + [Group(typeof(N9))] + public class Loop_N9_810 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [Pos(1)] + public N9 N9 { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [Required] + [ListCount(10)] + [Pos(2)] + public List MSG { + get; + set; + } + } + + /// + /// Loop for Product/Item Description + /// + [Serializable()] + [DataContract()] + [Group(typeof(PID))] + public class Loop_PID_810 { + + /// + /// Product/Item Description + /// + [DataMember] + [Required] + [Pos(1)] + public PID PID { + get; + set; + } + /// + /// Measurements + /// + [DataMember] + [ListCount(10)] + [Pos(2)] + public List MEA { + get; + set; + } + } + + /// + /// Loop for Service, Promotion, Allowance, or Charge Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(SAC))] + public class Loop_SAC_810 { + + /// + /// Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [Required] + [Pos(1)] + public SAC SAC { + get; + set; + } + /// + /// Tax Information + /// + [DataMember] + [ListCount(10)] + [Pos(2)] + public List TXI { + get; + set; + } + } + + /// + /// Loop for Subline Item Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(SLN))] + public class Loop_SLN_810 { + + /// + /// Subline Item Detail + /// + [DataMember] + [Required] + [Pos(1)] + public SLN SLN { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(2)] + public DTM DTM { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Pos(3)] + public List REF { + get; + set; + } + /// + /// Product/Item Description + /// + [DataMember] + [ListCount(1000)] + [Pos(4)] + public List PID { + get; + set; + } + /// + /// Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [ListCount(25)] + [Pos(5)] + public List SAC { + get; + set; + } + /// + /// Commodity + /// + [DataMember] + [ListCount(2)] + [Pos(6)] + public List TC2 { + get; + set; + } + /// + /// Tax Information + /// + [DataMember] + [ListCount(10)] + [Pos(7)] + public List TXI { + get; + set; + } + } + + /// + /// Loop for Vessel Identification + /// + [Serializable()] + [DataContract()] + [Group(typeof(V1))] + public class Loop_V1_810 { + + /// + /// Vessel Identification + /// + [DataMember] + [Required] + [Pos(1)] + public V1 V1 { + get; + set; + } + /// + /// Port or Terminal + /// + [DataMember] + [Pos(2)] + public List R4 { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(3)] + public List DTM { + get; + set; + } + } + + /// + /// Invoice + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "810")] + public class TS810 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Beginning Segment for Invoice + /// + [DataMember] + [Required] + [Pos(2)] + public BIG BIG { + get; + set; + } + /// + /// Note/Special Instruction + /// + [DataMember] + [ListCount(100)] + [Pos(3)] + public List NTE { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(4)] + public CUR CUR { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(5)] + public List REF { + get; + set; + } + /// + /// Yes/No Question + /// + [DataMember] + [ListCount(10)] + [Pos(6)] + public List YNQ { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(7)] + public List PER { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(200)] + [Pos(8)] + public List N1Loop { + get; + set; + } + /// + /// Terms of Sale/Deferred Terms of Sale + /// + [DataMember] + [Pos(9)] + public List ITD { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(10)] + public List DTM { + get; + set; + } + /// + /// F.O.B. Related Instructions + /// + [DataMember] + [Pos(11)] + public FOB FOB { + get; + set; + } + /// + /// Product/Item Description + /// + [DataMember] + [ListCount(200)] + [Pos(12)] + public List PID { + get; + set; + } + /// + /// Measurements + /// + [DataMember] + [ListCount(40)] + [Pos(13)] + public List MEA { + get; + set; + } + /// + /// Paperwork + /// + [DataMember] + [ListCount(25)] + [Pos(14)] + public List PWK { + get; + set; + } + /// + /// Marking, Packaging, Loading + /// + [DataMember] + [ListCount(25)] + [Pos(15)] + public List PKG { + get; + set; + } + /// + /// Tariff Reference + /// + [DataMember] + [Pos(16)] + public L7 L7 { + get; + set; + } + /// + /// Balance Detail + /// + [DataMember] + [Pos(17)] + public List BAL { + get; + set; + } + /// + /// Installment Information + /// + [DataMember] + [Pos(18)] + public INC INC { + get; + set; + } + /// + /// Period Amount + /// + [DataMember] + [Pos(19)] + public List PAM { + get; + set; + } + /// + /// Loop for Code Source Information + /// + [DataMember] + [ListCount(10)] + [Pos(20)] + public List LMLoop { + get; + set; + } + /// + /// Loop for Reference Identification + /// + [DataMember] + [Pos(21)] + public Loop_N9_810 N9Loop { + get; + set; + } + /// + /// Loop for Vessel Identification + /// + [DataMember] + [Pos(22)] + public List V1Loop { + get; + set; + } + /// + /// Loop for Type of Financial Accounting Data + /// + [DataMember] + [Pos(23)] + public List FA1Loop { + get; + set; + } + /// + /// Loop for Baseline Item Data (Invoice) + /// + [DataMember] + [ListCount(200000)] + [Pos(24)] + public List IT1Loop { + get; + set; + } + /// + /// Total Monetary Value Summary + /// + [DataMember] + [Required] + [Pos(25)] + public TDS TDS { + get; + set; + } + /// + /// Tax Information + /// + [DataMember] + [ListCount(10)] + [Pos(26)] + public List TXI { + get; + set; + } + /// + /// Carrier Detail + /// + [DataMember] + [Pos(27)] + public CAD CAD { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Pos(28)] + public List AMT { + get; + set; + } + /// + /// Loop for Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [ListCount(25)] + [Pos(29)] + public List SACLoop { + get; + set; + } + /// + /// Loop for Invoice Shipment Summary + /// + [DataMember] + [Pos(30)] + public List ISSLoop { + get; + set; + } + /// + /// Transaction Totals + /// + [DataMember] + [Pos(31)] + public CTT CTT { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(32)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_821.cs b/protocol/X12_004010_821.cs new file mode 100644 index 0000000..2a7dbc4 --- /dev/null +++ b/protocol/X12_004010_821.cs @@ -0,0 +1,649 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Loop for Account Identification + /// + [Serializable()] + [DataContract()] + [Group(typeof(ACT))] + public class Loop_ACT_821 { + + /// + /// Account Identification + /// + [DataMember] + [Required] + [Pos(1)] + public ACT ACT { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(2)] + public CUR CUR { + get; + set; + } + /// + /// Loop for Code Source Information + /// + [DataMember] + [ListCount(10)] + [Pos(3)] + public List LMLoop { + get; + set; + } + /// + /// Loop for Rate Information + /// + [DataMember] + [ListCount(13)] + [Pos(4)] + public List RTELoop { + get; + set; + } + /// + /// Loop for Balance Information + /// + [DataMember] + [Pos(5)] + public List BLNLoop { + get; + set; + } + /// + /// Loop for Transaction Summary + /// + [DataMember] + [Pos(6)] + public List TSULoop { + get; + set; + } + /// + /// Loop for Financial Information + /// + [DataMember] + [Pos(7)] + public List FIRLoop { + get; + set; + } + } + + /// + /// Loop for Balance Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(BLN))] + public class Loop_BLN_821 { + + /// + /// Balance Information + /// + [DataMember] + [Required] + [Pos(1)] + public BLN BLN { + get; + set; + } + /// + /// Funds Availability + /// + [DataMember] + [Pos(2)] + public List AVA { + get; + set; + } + } + + /// + /// Loop for Entity + /// + [Serializable()] + [DataContract()] + [Group(typeof(ENT))] + public class Loop_ENT_821 { + + /// + /// Entity + /// + [DataMember] + [Required] + [Pos(1)] + public ENT ENT { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(2)] + [Pos(2)] + public List N1Loop { + get; + set; + } + /// + /// Loop for Account Identification + /// + [DataMember] + [Pos(3)] + public List ACTLoop { + get; + set; + } + /// + /// Loop for Type of Financial Accounting Data + /// + [DataMember] + [Pos(4)] + public List FA1Loop { + get; + set; + } + } + + /// + /// Loop for Type of Financial Accounting Data + /// + [Serializable()] + [DataContract()] + [Group(typeof(FA1))] + public class Loop_FA1_821 { + + /// + /// Type of Financial Accounting Data + /// + [DataMember] + [Required] + [Pos(1)] + public FA1 FA1 { + get; + set; + } + /// + /// Accounting Data + /// + [DataMember] + [Required] + [Pos(2)] + public List FA2 { + get; + set; + } + } + + /// + /// Loop for Financial Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(FIR))] + public class Loop_FIR_821 { + + /// + /// Financial Information + /// + [DataMember] + [Required] + [Pos(1)] + public FIR FIR { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(2)] + public List DTM { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Pos(3)] + public List REF { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [Pos(4)] + public List MSG { + get; + set; + } + /// + /// Funds Availability + /// + [DataMember] + [Pos(5)] + public List AVA { + get; + set; + } + /// + /// Trace + /// + [DataMember] + [Pos(6)] + public TRN TRN { + get; + set; + } + /// + /// Name + /// + [DataMember] + [Pos(7)] + public List N1 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Pos(8)] + public List AMT { + get; + set; + } + /// + /// Pricing Information + /// + [DataMember] + [Pos(9)] + public List CTP { + get; + set; + } + /// + /// Rate Information + /// + [DataMember] + [Pos(10)] + public List RTE { + get; + set; + } + /// + /// Loop for Individual or Organizational Name + /// + [DataMember] + [Pos(11)] + public List NM1Loop { + get; + set; + } + } + + /// + /// Loop for Code Source Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(LM))] + public class Loop_LM_821 { + + /// + /// Code Source Information + /// + [DataMember] + [Required] + [Pos(1)] + public LM LM { + get; + set; + } + /// + /// Loop for Industry Code + /// + [DataMember] + [Required] + [ListCount(100)] + [Pos(2)] + public List LQLoop { + get; + set; + } + } + + /// + /// Loop for Industry Code + /// + [Serializable()] + [DataContract()] + [Group(typeof(LQ))] + public class Loop_LQ_821 { + + /// + /// Industry Code + /// + [DataMember] + [Required] + [Pos(1)] + public LQ LQ { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(3)] + [Pos(2)] + public List DTM { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_821 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [Pos(2)] + public List N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [Pos(5)] + public List PER { + get; + set; + } + } + + /// + /// Loop for Individual or Organizational Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(NM1))] + public class Loop_NM1_821 { + + /// + /// Individual or Organizational Name + /// + [DataMember] + [Required] + [Pos(1)] + public NM1 NM1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [Pos(2)] + public List N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(5)] + public DTM DTM { + get; + set; + } + } + + /// + /// Loop for Rate Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(RTE))] + public class Loop_RTE_821 { + + /// + /// Rate Information + /// + [DataMember] + [Required] + [Pos(1)] + public RTE RTE { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(2)] + public DTM DTM { + get; + set; + } + } + + /// + /// Loop for Transaction Summary + /// + [Serializable()] + [DataContract()] + [Group(typeof(TSU))] + public class Loop_TSU_821 { + + /// + /// Transaction Summary + /// + [DataMember] + [Required] + [Pos(1)] + public TSU TSU { + get; + set; + } + /// + /// Funds Availability + /// + [DataMember] + [Pos(2)] + public List AVA { + get; + set; + } + } + + /// + /// Financial Information Reporting + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "821")] + public class TS821 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Set Purpose + /// + [DataMember] + [Required] + [Pos(2)] + public B2A B2A { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Required] + [ListCount(4)] + [Pos(3)] + public List DTM { + get; + set; + } + /// + /// Trace + /// + [DataMember] + [Required] + [ListCount(2)] + [Pos(4)] + public List TRN { + get; + set; + } + /// + /// Name + /// + [DataMember] + [ListCount(2)] + [Pos(5)] + public List N1 { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [Pos(6)] + public List PER { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Pos(7)] + public List REF { + get; + set; + } + /// + /// Loop for Code Source Information + /// + [DataMember] + [ListCount(10)] + [Pos(8)] + public List LMLoop { + get; + set; + } + /// + /// Loop for Type of Financial Accounting Data + /// + [DataMember] + [Pos(9)] + public List FA1Loop { + get; + set; + } + /// + /// Loop for Entity + /// + [DataMember] + [Required] + [Pos(10)] + public List ENTLoop { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(11)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_849.cs b/protocol/X12_004010_849.cs new file mode 100644 index 0000000..a937b81 --- /dev/null +++ b/protocol/X12_004010_849.cs @@ -0,0 +1,430 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Loop for Contract Number Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(CON))] + public class Loop_CON_849 { + + /// + /// Contract Number Detail + /// + [DataMember] + [Required] + [Pos(1)] + public CON CON { + get; + set; + } + /// + /// Request Validation + /// + [DataMember] + [ListCount(10)] + [Pos(2)] + public List AAA { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(3)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(4)] + public List PER { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(5)] + public List DTM { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(50)] + [Pos(6)] + public List N1Loop { + get; + set; + } + /// + /// Loop for Product Adjustment Detail + /// + [DataMember] + [ListCount(1000)] + [Pos(7)] + public List PADLoop { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_849 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [ListCount(2)] + [Pos(2)] + public List N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(5)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(6)] + public List PER { + get; + set; + } + } + + /// + /// Loop for Product Adjustment Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(PAD))] + public class Loop_PAD_849 { + + /// + /// Product Adjustment Detail + /// + [DataMember] + [Required] + [Pos(1)] + public PAD PAD { + get; + set; + } + /// + /// Item Identification + /// + [DataMember] + [Pos(2)] + public LIN LIN { + get; + set; + } + /// + /// Request Validation + /// + [DataMember] + [ListCount(10)] + [Pos(3)] + public List AAA { + get; + set; + } + /// + /// Product/Item Description + /// + [DataMember] + [ListCount(200)] + [Pos(4)] + public List PID { + get; + set; + } + /// + /// Measurements + /// + [DataMember] + [ListCount(40)] + [Pos(5)] + public List MEA { + get; + set; + } + /// + /// Unit Detail + /// + [DataMember] + [ListCount(5)] + [Pos(6)] + public List UIT { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [ListCount(5)] + [Pos(7)] + public List QTY { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [ListCount(2)] + [Pos(8)] + public List AMT { + get; + set; + } + /// + /// Receiving Conditions + /// + [DataMember] + [Pos(9)] + public RCD RCD { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(10)] + public List REF { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(11)] + public List DTM { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(12)] + public CUR CUR { + get; + set; + } + /// + /// Special Services + /// + [DataMember] + [Pos(13)] + public SSS SSS { + get; + set; + } + } + + /// + /// Response to Product Transfer Account Adjustment + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "849")] + public class TS849 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Beginning Segment for Response to Product Transfer Account Adjustment + /// + [DataMember] + [Required] + [Pos(2)] + public BRC BRC { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(3)] + public CUR CUR { + get; + set; + } + /// + /// Request Validation + /// + [DataMember] + [ListCount(10)] + [Pos(4)] + public List AAA { + get; + set; + } + /// + /// Note/Special Instruction + /// + [DataMember] + [ListCount(10)] + [Pos(5)] + public List NTE { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(6)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(7)] + public List PER { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(8)] + public List DTM { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(50)] + [Pos(9)] + public List N1Loop { + get; + set; + } + /// + /// Loop for Contract Number Detail + /// + [DataMember] + [ListCount(10000)] + [Pos(10)] + public List CONLoop { + get; + set; + } + /// + /// Transaction Totals + /// + [DataMember] + [Required] + [Pos(11)] + public CTT CTT { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [ListCount(5)] + [Pos(12)] + public List AMT { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(13)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_855.cs b/protocol/X12_004010_855.cs new file mode 100644 index 0000000..10825b3 --- /dev/null +++ b/protocol/X12_004010_855.cs @@ -0,0 +1,1676 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Loop for Line Item Acknowledgment + /// + [Serializable()] + [DataContract()] + [Group(typeof(ACK))] + public class Loop_ACK_855 { + + /// + /// Line Item Acknowledgment + /// + [DataMember] + [Required] + [Pos(1)] + public ACK ACK { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(2)] + public DTM DTM { + get; + set; + } + } + + /// + /// Loop for Advertising Demographic Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(ADV))] + public class Loop_ADV_855 { + + /// + /// Advertising Demographic Information + /// + [DataMember] + [Required] + [Pos(1)] + public ADV ADV { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(2)] + public List DTM { + get; + set; + } + /// + /// Text + /// + [DataMember] + [Pos(3)] + public List MTX { + get; + set; + } + } + + /// + /// Loop for Transaction Totals + /// + [Serializable()] + [DataContract()] + [Group(typeof(CTT))] + public class Loop_CTT_855 { + + /// + /// Transaction Totals + /// + [DataMember] + [Required] + [Pos(1)] + public CTT CTT { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Pos(2)] + public AMT AMT { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_855 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [ListCount(2)] + [Pos(2)] + public List N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Location ID Component + /// + [DataMember] + [Pos(5)] + public List NX2 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(6)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [Pos(7)] + public List PER { + get; + set; + } + /// + /// Service Characteristic Identification + /// + [DataMember] + [Pos(8)] + public List SI { + get; + set; + } + /// + /// F.O.B. Related Instructions + /// + [DataMember] + [Pos(9)] + public FOB FOB { + get; + set; + } + /// + /// Carrier Details (Quantity and Weight) + /// + [DataMember] + [ListCount(2)] + [Pos(10)] + public List TD1 { + get; + set; + } + /// + /// Carrier Details (Routing Sequence/Transit Time) + /// + [DataMember] + [ListCount(12)] + [Pos(11)] + public List TD5 { + get; + set; + } + /// + /// Carrier Details (Equipment) + /// + [DataMember] + [ListCount(12)] + [Pos(12)] + public List TD3 { + get; + set; + } + /// + /// Carrier Details (Special Handling, or Hazardous Materials, or Both) + /// + [DataMember] + [ListCount(5)] + [Pos(13)] + public List TD4 { + get; + set; + } + /// + /// Marking, Packaging, Loading + /// + [DataMember] + [ListCount(25)] + [Pos(14)] + public List PKG { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [Pos(15)] + public List MSG { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_855_2 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [ListCount(2)] + [Pos(2)] + public List N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Location ID Component + /// + [DataMember] + [Pos(5)] + public List NX2 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(6)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(7)] + public List PER { + get; + set; + } + /// + /// Service Characteristic Identification + /// + [DataMember] + [Pos(8)] + public List SI { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(9)] + public DTM DTM { + get; + set; + } + /// + /// F.O.B. Related Instructions + /// + [DataMember] + [Pos(10)] + public FOB FOB { + get; + set; + } + /// + /// Line Item Schedule + /// + [DataMember] + [ListCount(200)] + [Pos(11)] + public List SCH { + get; + set; + } + /// + /// Carrier Details (Quantity and Weight) + /// + [DataMember] + [ListCount(2)] + [Pos(12)] + public List TD1 { + get; + set; + } + /// + /// Carrier Details (Routing Sequence/Transit Time) + /// + [DataMember] + [ListCount(12)] + [Pos(13)] + public List TD5 { + get; + set; + } + /// + /// Carrier Details (Equipment) + /// + [DataMember] + [ListCount(12)] + [Pos(14)] + public List TD3 { + get; + set; + } + /// + /// Carrier Details (Special Handling, or Hazardous Materials, or Both) + /// + [DataMember] + [ListCount(5)] + [Pos(15)] + public List TD4 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Pos(16)] + public List QTY { + get; + set; + } + /// + /// Marking, Packaging, Loading + /// + [DataMember] + [ListCount(25)] + [Pos(17)] + public List PKG { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_855_3 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [ListCount(2)] + [Pos(2)] + public List N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Location ID Component + /// + [DataMember] + [Pos(5)] + public List NX2 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(6)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(7)] + public List PER { + get; + set; + } + /// + /// Service Characteristic Identification + /// + [DataMember] + [Pos(8)] + public List SI { + get; + set; + } + } + + /// + /// Loop for Reference Identification + /// + [Serializable()] + [DataContract()] + [Group(typeof(N9))] + public class Loop_N9_855 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [Pos(1)] + public N9 N9 { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(2)] + public List DTM { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [ListCount(1000)] + [Pos(3)] + public List MSG { + get; + set; + } + } + + /// + /// Loop for Reference Identification + /// + [Serializable()] + [DataContract()] + [Group(typeof(N9))] + public class Loop_N9_855_2 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [Pos(1)] + public N9 N9 { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(2)] + public List DTM { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [Pos(3)] + public List MSG { + get; + set; + } + } + + /// + /// Loop for Product/Item Description + /// + [Serializable()] + [DataContract()] + [Group(typeof(PID))] + public class Loop_PID_855 { + + /// + /// Product/Item Description + /// + [DataMember] + [Required] + [Pos(1)] + public PID PID { + get; + set; + } + /// + /// Measurements + /// + [DataMember] + [ListCount(10)] + [Pos(2)] + public List MEA { + get; + set; + } + } + + /// + /// Loop for Marking, Packaging, Loading + /// + [Serializable()] + [DataContract()] + [Group(typeof(PKG))] + public class Loop_PKG_855 { + + /// + /// Marking, Packaging, Loading + /// + [DataMember] + [Required] + [Pos(1)] + public PKG PKG { + get; + set; + } + /// + /// Measurements + /// + [DataMember] + [Pos(2)] + public List MEA { + get; + set; + } + } + + /// + /// Loop for Baseline Item Data + /// + [Serializable()] + [DataContract()] + [Group(typeof(PO1))] + public class Loop_PO1_855 { + + /// + /// Baseline Item Data + /// + [DataMember] + [Required] + [Pos(1)] + public PO1 PO1 { + get; + set; + } + /// + /// Item Identification + /// + [DataMember] + [Pos(2)] + public List LIN { + get; + set; + } + /// + /// Service Characteristic Identification + /// + [DataMember] + [Pos(3)] + public List SI { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(4)] + public CUR CUR { + get; + set; + } + /// + /// Additional Item Detail + /// + [DataMember] + [ListCount(25)] + [Pos(5)] + public List PO3 { + get; + set; + } + /// + /// Pricing Information + /// + [DataMember] + [Pos(6)] + public List CTP { + get; + set; + } + /// + /// Period Amount + /// + [DataMember] + [ListCount(10)] + [Pos(7)] + public List PAM { + get; + set; + } + /// + /// Measurements + /// + [DataMember] + [ListCount(40)] + [Pos(8)] + public List MEA { + get; + set; + } + /// + /// Loop for Product/Item Description + /// + [DataMember] + [ListCount(1000)] + [Pos(9)] + public List PIDLoop { + get; + set; + } + /// + /// Paperwork + /// + [DataMember] + [ListCount(25)] + [Pos(10)] + public List PWK { + get; + set; + } + /// + /// Item Physical Details + /// + [DataMember] + [Pos(11)] + public List PO4 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Pos(12)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(13)] + public List PER { + get; + set; + } + /// + /// Loop for Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [ListCount(25)] + [Pos(14)] + public List SACLoop { + get; + set; + } + /// + /// Conditions of Sale + /// + [DataMember] + [Pos(15)] + public IT8 IT8 { + get; + set; + } + /// + /// Sales Requirements + /// + [DataMember] + [Pos(16)] + public List CSH { + get; + set; + } + /// + /// Terms of Sale/Deferred Terms of Sale + /// + [DataMember] + [ListCount(2)] + [Pos(17)] + public List ITD { + get; + set; + } + /// + /// Discount Detail + /// + [DataMember] + [ListCount(20)] + [Pos(18)] + public List DIS { + get; + set; + } + /// + /// Installment Information + /// + [DataMember] + [Pos(19)] + public INC INC { + get; + set; + } + /// + /// Tax Reference + /// + [DataMember] + [Pos(20)] + public List TAX { + get; + set; + } + /// + /// F.O.B. Related Instructions + /// + [DataMember] + [Pos(21)] + public List FOB { + get; + set; + } + /// + /// Destination Quantity + /// + [DataMember] + [ListCount(500)] + [Pos(22)] + public List SDQ { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(23)] + public List DTM { + get; + set; + } + /// + /// Lead Time + /// + [DataMember] + [ListCount(12)] + [Pos(24)] + public List LDT { + get; + set; + } + /// + /// Carrier Details (Quantity and Weight) + /// + [DataMember] + [Pos(25)] + public TD1 TD1 { + get; + set; + } + /// + /// Carrier Details (Routing Sequence/Transit Time) + /// + [DataMember] + [ListCount(12)] + [Pos(26)] + public List TD5 { + get; + set; + } + /// + /// Carrier Details (Equipment) + /// + [DataMember] + [ListCount(12)] + [Pos(27)] + public List TD3 { + get; + set; + } + /// + /// Carrier Details (Special Handling, or Hazardous Materials, or Both) + /// + [DataMember] + [ListCount(5)] + [Pos(28)] + public List TD4 { + get; + set; + } + /// + /// Loop for Line Item Acknowledgment + /// + [DataMember] + [ListCount(104)] + [Pos(29)] + public List ACKLoop { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [ListCount(10)] + [Pos(30)] + public List MAN { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Pos(31)] + public AMT AMT { + get; + set; + } + /// + /// Restrictions/Conditions + /// + [DataMember] + [Pos(32)] + public List CTB { + get; + set; + } + /// + /// Tax Information + /// + [DataMember] + [Pos(33)] + public List TXI { + get; + set; + } + /// + /// Loop for Quantity + /// + [DataMember] + [Pos(34)] + public List QTYLoop { + get; + set; + } + /// + /// Loop for Marking, Packaging, Loading + /// + [DataMember] + [ListCount(200)] + [Pos(35)] + public List PKGLoop { + get; + set; + } + /// + /// Loop for Line Item Schedule + /// + [DataMember] + [ListCount(200)] + [Pos(36)] + public List SCHLoop { + get; + set; + } + /// + /// Loop for Reference Identification + /// + [DataMember] + [ListCount(1000)] + [Pos(37)] + public List N9Loop { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(200)] + [Pos(38)] + public List N1Loop { + get; + set; + } + /// + /// Loop for Subline Item Detail + /// + [DataMember] + [ListCount(1000)] + [Pos(39)] + public List SLNLoop { + get; + set; + } + } + + /// + /// Loop for Quantity + /// + [Serializable()] + [DataContract()] + [Group(typeof(QTY))] + public class Loop_QTY_855 { + + /// + /// Quantity + /// + [DataMember] + [Required] + [Pos(1)] + public QTY QTY { + get; + set; + } + /// + /// Service Characteristic Identification + /// + [DataMember] + [Pos(2)] + public List SI { + get; + set; + } + } + + /// + /// Loop for Service, Promotion, Allowance, or Charge Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(SAC))] + public class Loop_SAC_855 { + + /// + /// Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [Required] + [Pos(1)] + public SAC SAC { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(2)] + public CUR CUR { + get; + set; + } + } + + /// + /// Loop for Line Item Schedule + /// + [Serializable()] + [DataContract()] + [Group(typeof(SCH))] + public class Loop_SCH_855 { + + /// + /// Line Item Schedule + /// + [DataMember] + [Required] + [Pos(1)] + public SCH SCH { + get; + set; + } + /// + /// Carrier Details (Quantity and Weight) + /// + [DataMember] + [ListCount(2)] + [Pos(2)] + public List TD1 { + get; + set; + } + /// + /// Carrier Details (Routing Sequence/Transit Time) + /// + [DataMember] + [ListCount(12)] + [Pos(3)] + public List TD5 { + get; + set; + } + /// + /// Carrier Details (Equipment) + /// + [DataMember] + [ListCount(12)] + [Pos(4)] + public List TD3 { + get; + set; + } + /// + /// Carrier Details (Special Handling, or Hazardous Materials, or Both) + /// + [DataMember] + [ListCount(5)] + [Pos(5)] + public List TD4 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Pos(6)] + public List REF { + get; + set; + } + } + + /// + /// Loop for Subline Item Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(SLN))] + public class Loop_SLN_855 { + + /// + /// Subline Item Detail + /// + [DataMember] + [Required] + [Pos(1)] + public SLN SLN { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [Pos(2)] + public List MSG { + get; + set; + } + /// + /// Service Characteristic Identification + /// + [DataMember] + [Pos(3)] + public List SI { + get; + set; + } + /// + /// Product/Item Description + /// + [DataMember] + [ListCount(1000)] + [Pos(4)] + public List PID { + get; + set; + } + /// + /// Additional Item Detail + /// + [DataMember] + [ListCount(25)] + [Pos(5)] + public List PO3 { + get; + set; + } + /// + /// Pricing Information + /// + [DataMember] + [ListCount(25)] + [Pos(6)] + public List CTP { + get; + set; + } + /// + /// Period Amount + /// + [DataMember] + [ListCount(10)] + [Pos(7)] + public List PAM { + get; + set; + } + /// + /// Line Item Acknowledgment + /// + [DataMember] + [ListCount(104)] + [Pos(8)] + public List ACK { + get; + set; + } + /// + /// Loop for Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [ListCount(10)] + [Pos(9)] + public List SACLoop { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(10)] + public List DTM { + get; + set; + } + /// + /// Item Physical Details + /// + [DataMember] + [Pos(11)] + public PO4 PO4 { + get; + set; + } + /// + /// Tax Reference + /// + [DataMember] + [ListCount(3)] + [Pos(12)] + public List TAX { + get; + set; + } + /// + /// Advertising Demographic Information + /// + [DataMember] + [Pos(13)] + public List ADV { + get; + set; + } + /// + /// Loop for Quantity + /// + [DataMember] + [Pos(14)] + public List QTYLoop { + get; + set; + } + /// + /// Loop for Reference Identification + /// + [DataMember] + [Pos(15)] + public List N9Loop { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(10)] + [Pos(16)] + public List N1Loop { + get; + set; + } + } + + /// + /// Purchase Order Acknowledgment + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "855")] + public class TS855 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Beginning Segment for Purchase Order Acknowledgment + /// + [DataMember] + [Required] + [Pos(2)] + public BAK BAK { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(3)] + public CUR CUR { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Pos(4)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(5)] + public List PER { + get; + set; + } + /// + /// Tax Reference + /// + [DataMember] + [Pos(6)] + public List TAX { + get; + set; + } + /// + /// F.O.B. Related Instructions + /// + [DataMember] + [Pos(7)] + public List FOB { + get; + set; + } + /// + /// Pricing Information + /// + [DataMember] + [Pos(8)] + public List CTP { + get; + set; + } + /// + /// Period Amount + /// + [DataMember] + [ListCount(10)] + [Pos(9)] + public List PAM { + get; + set; + } + /// + /// Sales Requirements + /// + [DataMember] + [Pos(10)] + public CSH CSH { + get; + set; + } + /// + /// Loop for Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [ListCount(25)] + [Pos(11)] + public List SACLoop { + get; + set; + } + /// + /// Terms of Sale/Deferred Terms of Sale + /// + [DataMember] + [ListCount(5)] + [Pos(12)] + public List ITD { + get; + set; + } + /// + /// Discount Detail + /// + [DataMember] + [ListCount(20)] + [Pos(13)] + public List DIS { + get; + set; + } + /// + /// Installment Information + /// + [DataMember] + [Pos(14)] + public INC INC { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(15)] + public List DTM { + get; + set; + } + /// + /// Lead Time + /// + [DataMember] + [ListCount(12)] + [Pos(16)] + public List LDT { + get; + set; + } + /// + /// Item Identification + /// + [DataMember] + [ListCount(5)] + [Pos(17)] + public List LIN { + get; + set; + } + /// + /// Service Characteristic Identification + /// + [DataMember] + [Pos(18)] + public List SI { + get; + set; + } + /// + /// Product/Item Description + /// + [DataMember] + [ListCount(200)] + [Pos(19)] + public List PID { + get; + set; + } + /// + /// Measurements + /// + [DataMember] + [ListCount(40)] + [Pos(20)] + public List MEA { + get; + set; + } + /// + /// Paperwork + /// + [DataMember] + [ListCount(25)] + [Pos(21)] + public List PWK { + get; + set; + } + /// + /// Marking, Packaging, Loading + /// + [DataMember] + [ListCount(25)] + [Pos(22)] + public List PKG { + get; + set; + } + /// + /// Carrier Details (Quantity and Weight) + /// + [DataMember] + [ListCount(2)] + [Pos(23)] + public List TD1 { + get; + set; + } + /// + /// Carrier Details (Routing Sequence/Transit Time) + /// + [DataMember] + [ListCount(12)] + [Pos(24)] + public List TD5 { + get; + set; + } + /// + /// Carrier Details (Equipment) + /// + [DataMember] + [ListCount(12)] + [Pos(25)] + public List TD3 { + get; + set; + } + /// + /// Carrier Details (Special Handling, or Hazardous Materials, or Both) + /// + [DataMember] + [ListCount(5)] + [Pos(26)] + public List TD4 { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [ListCount(10)] + [Pos(27)] + public List MAN { + get; + set; + } + /// + /// Tax Information + /// + [DataMember] + [Pos(28)] + public List TXI { + get; + set; + } + /// + /// Restrictions/Conditions + /// + [DataMember] + [Pos(29)] + public List CTB { + get; + set; + } + /// + /// Loop for Reference Identification + /// + [DataMember] + [ListCount(1000)] + [Pos(30)] + public List N9Loop { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(200)] + [Pos(31)] + public List N1Loop { + get; + set; + } + /// + /// Loop for Advertising Demographic Information + /// + [DataMember] + [Pos(32)] + public List ADVLoop { + get; + set; + } + /// + /// Loop for Baseline Item Data + /// + [DataMember] + [ListCount(100000)] + [Pos(33)] + public List PO1Loop { + get; + set; + } + /// + /// Loop for Transaction Totals + /// + [DataMember] + [Pos(34)] + public Loop_CTT_855 CTTLoop { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(35)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_856.cs b/protocol/X12_004010_856.cs new file mode 100644 index 0000000..2274829 --- /dev/null +++ b/protocol/X12_004010_856.cs @@ -0,0 +1,714 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Loop for Load Detail + /// + [Serializable()] + [DataContract()] + [Group(typeof(CLD))] + public class Loop_CLD_856 { + + /// + /// Load Detail + /// + [DataMember] + [Required] + [Pos(1)] + public CLD CLD { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(200)] + [Pos(2)] + public List REF { + get; + set; + } + /// + /// Date or Time or Period + /// + [DataMember] + [Pos(3)] + public DTP DTP { + get; + set; + } + } + + /// + /// Loop for Hierarchical Level + /// + [Serializable()] + [DataContract()] + [Group(typeof(HL))] + public class Loop_HL_856 { + + /// + /// Hierarchical Level + /// + [DataMember] + [Required] + [Pos(1)] + public HL HL { + get; + set; + } + /// + /// Item Identification + /// + [DataMember] + [Pos(2)] + public LIN LIN { + get; + set; + } + /// + /// Item Detail (Shipment) + /// + [DataMember] + [Pos(3)] + public SN1 SN1 { + get; + set; + } + /// + /// Subline Item Detail + /// + [DataMember] + [ListCount(1000)] + [Pos(4)] + public List SLN { + get; + set; + } + /// + /// Purchase Order Reference + /// + [DataMember] + [Pos(5)] + public PRF PRF { + get; + set; + } + /// + /// Item Physical Details + /// + [DataMember] + [Pos(6)] + public PO4 PO4 { + get; + set; + } + /// + /// Product/Item Description + /// + [DataMember] + [ListCount(200)] + [Pos(7)] + public List PID { + get; + set; + } + /// + /// Measurements + /// + [DataMember] + [ListCount(40)] + [Pos(8)] + public List MEA { + get; + set; + } + /// + /// Paperwork + /// + [DataMember] + [ListCount(25)] + [Pos(9)] + public List PWK { + get; + set; + } + /// + /// Marking, Packaging, Loading + /// + [DataMember] + [ListCount(25)] + [Pos(10)] + public List PKG { + get; + set; + } + /// + /// Carrier Details (Quantity and Weight) + /// + [DataMember] + [ListCount(20)] + [Pos(11)] + public List TD1 { + get; + set; + } + /// + /// Carrier Details (Routing Sequence/Transit Time) + /// + [DataMember] + [ListCount(12)] + [Pos(12)] + public List TD5 { + get; + set; + } + /// + /// Carrier Details (Equipment) + /// + [DataMember] + [ListCount(12)] + [Pos(13)] + public List TD3 { + get; + set; + } + /// + /// Carrier Details (Special Handling, or Hazardous Materials, or Both) + /// + [DataMember] + [ListCount(5)] + [Pos(14)] + public List TD4 { + get; + set; + } + /// + /// Trailer Shipment Details + /// + [DataMember] + [Pos(15)] + public TSD TSD { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Pos(16)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(17)] + public List PER { + get; + set; + } + /// + /// Loop for Hazardous Identification Information + /// + [DataMember] + [ListCount(100)] + [Pos(18)] + public List LH1Loop { + get; + set; + } + /// + /// Loop for Load Detail + /// + [DataMember] + [ListCount(200)] + [Pos(19)] + public List CLDLoop { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [Pos(20)] + public List MAN { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(21)] + public List DTM { + get; + set; + } + /// + /// F.O.B. Related Instructions + /// + [DataMember] + [Pos(22)] + public FOB FOB { + get; + set; + } + /// + /// Pallet Information + /// + [DataMember] + [Pos(23)] + public PAL PAL { + get; + set; + } + /// + /// Loop for Name + /// + [DataMember] + [ListCount(200)] + [Pos(24)] + public List N1Loop { + get; + set; + } + /// + /// Destination Quantity + /// + [DataMember] + [ListCount(50)] + [Pos(25)] + public List SDQ { + get; + set; + } + /// + /// Excess Transportation Detail + /// + [DataMember] + [Pos(26)] + public ETD ETD { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(27)] + public CUR CUR { + get; + set; + } + /// + /// Loop for Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [Pos(28)] + public List SACLoop { + get; + set; + } + /// + /// Furnished Goods and Services + /// + [DataMember] + [Pos(29)] + public GF GF { + get; + set; + } + /// + /// Yes/No Question + /// + [DataMember] + [ListCount(10)] + [Pos(30)] + public List YNQ { + get; + set; + } + /// + /// Loop for Code Source Information + /// + [DataMember] + [ListCount(10)] + [Pos(31)] + public List LMLoop { + get; + set; + } + /// + /// Loop for Vessel Identification + /// + [DataMember] + [Pos(32)] + public List V1Loop { + get; + set; + } + } + + /// + /// Loop for Hazardous Identification Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(LH1))] + public class Loop_LH1_856 { + + /// + /// Hazardous Identification Information + /// + [DataMember] + [Required] + [Pos(1)] + public LH1 LH1 { + get; + set; + } + /// + /// Hazardous Classification Information + /// + [DataMember] + [ListCount(4)] + [Pos(2)] + public List LH2 { + get; + set; + } + /// + /// Hazardous Material Shipping Name + /// + [DataMember] + [ListCount(12)] + [Pos(3)] + public List LH3 { + get; + set; + } + /// + /// Freeform Hazardous Material Information + /// + [DataMember] + [ListCount(20)] + [Pos(4)] + public List LFH { + get; + set; + } + /// + /// EPA Required Data + /// + [DataMember] + [Pos(5)] + public List LEP { + get; + set; + } + /// + /// Canadian Dangerous Requirements + /// + [DataMember] + [Pos(6)] + public LH4 LH4 { + get; + set; + } + /// + /// Transborder Hazardous Requirements + /// + [DataMember] + [ListCount(3)] + [Pos(7)] + public List LHT { + get; + set; + } + /// + /// Hazardous Material Identifying Reference Numbers + /// + [DataMember] + [ListCount(10)] + [Pos(8)] + public List LHR { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(5)] + [Pos(9)] + public List PER { + get; + set; + } + /// + /// Empty Equipment Hazardous Material Information + /// + [DataMember] + [Pos(10)] + public LHE LHE { + get; + set; + } + } + + /// + /// Loop for Code Source Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(LM))] + public class Loop_LM_856 { + + /// + /// Code Source Information + /// + [DataMember] + [Required] + [Pos(1)] + public LM LM { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [Required] + [ListCount(100)] + [Pos(2)] + public List LQ { + get; + set; + } + } + + /// + /// Loop for Name + /// + [Serializable()] + [DataContract()] + [Group(typeof(N1))] + public class Loop_N1_856 { + + /// + /// Name + /// + [DataMember] + [Required] + [Pos(1)] + public N1 N1 { + get; + set; + } + /// + /// Additional Name Information + /// + [DataMember] + [ListCount(2)] + [Pos(2)] + public List N2 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [ListCount(2)] + [Pos(3)] + public List N3 { + get; + set; + } + /// + /// Geographic Location + /// + [DataMember] + [Pos(4)] + public N4 N4 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [ListCount(12)] + [Pos(5)] + public List REF { + get; + set; + } + /// + /// Administrative Communications Contact + /// + [DataMember] + [ListCount(3)] + [Pos(6)] + public List PER { + get; + set; + } + /// + /// F.O.B. Related Instructions + /// + [DataMember] + [Pos(7)] + public FOB FOB { + get; + set; + } + } + + /// + /// Loop for Service, Promotion, Allowance, or Charge Information + /// + [Serializable()] + [DataContract()] + [Group(typeof(SAC))] + public class Loop_SAC_856 { + + /// + /// Service, Promotion, Allowance, or Charge Information + /// + [DataMember] + [Required] + [Pos(1)] + public SAC SAC { + get; + set; + } + /// + /// Currency + /// + [DataMember] + [Pos(2)] + public CUR CUR { + get; + set; + } + } + + /// + /// Loop for Vessel Identification + /// + [Serializable()] + [DataContract()] + [Group(typeof(V1))] + public class Loop_V1_856 { + + /// + /// Vessel Identification + /// + [DataMember] + [Required] + [Pos(1)] + public V1 V1 { + get; + set; + } + /// + /// Port or Terminal + /// + [DataMember] + [Pos(2)] + public List R4 { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [Pos(3)] + public List DTM { + get; + set; + } + } + + /// + /// Ship Notice/Manifest + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "856")] + public class TS856 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Beginning Segment for Ship Notice + /// + [DataMember] + [Required] + [Pos(2)] + public BSN BSN { + get; + set; + } + /// + /// Date/Time Reference + /// + [DataMember] + [ListCount(10)] + [Pos(3)] + public List DTM { + get; + set; + } + /// + /// Loop for Hierarchical Level + /// + [DataMember] + [Required] + [ListCount(200000)] + [Pos(4)] + public List HLLoop { + get; + set; + } + /// + /// Transaction Totals + /// + [DataMember] + [Pos(5)] + public CTT CTT { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(6)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_997.cs b/protocol/X12_004010_997.cs new file mode 100644 index 0000000..70f5ff2 --- /dev/null +++ b/protocol/X12_004010_997.cs @@ -0,0 +1,136 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Loop for Transaction Set Response Header + /// + [Serializable()] + [DataContract()] + [Group(typeof(AK2))] + public class Loop_AK2_997 { + + /// + /// Transaction Set Response Header + /// + [DataMember] + [Required] + [Pos(1)] + public AK2 AK2 { + get; + set; + } + /// + /// Loop for Data Segment Note + /// + [DataMember] + [ListCount(999999)] + [Pos(2)] + public List AK3Loop { + get; + set; + } + /// + /// Transaction Set Response Trailer + /// + [DataMember] + [Required] + [Pos(3)] + public AK5 AK5 { + get; + set; + } + } + + /// + /// Loop for Data Segment Note + /// + [Serializable()] + [DataContract()] + [Group(typeof(AK3))] + public class Loop_AK3_997 { + + /// + /// Data Segment Note + /// + [DataMember] + [Required] + [Pos(1)] + public AK3 AK3 { + get; + set; + } + /// + /// Data Element Note + /// + [DataMember] + [ListCount(99)] + [Pos(2)] + public List AK4 { + get; + set; + } + } + + /// + /// Functional Acknowledgment + /// + [Serializable()] + [DataContract()] + [Message("X12", "004010", "997")] + public class TS997 : EdiMessage { + + /// + /// Transaction Set Header + /// + [DataMember] + [Pos(1)] + public ST ST { + get; + set; + } + /// + /// Functional Group Response Header + /// + [DataMember] + [Required] + [Pos(2)] + public AK1 AK1 { + get; + set; + } + /// + /// Loop for Transaction Set Response Header + /// + [DataMember] + [ListCount(999999)] + [Pos(3)] + public List AK2Loop { + get; + set; + } + /// + /// Functional Group Response Trailer + /// + [DataMember] + [Required] + [Pos(4)] + public AK9 AK9 { + get; + set; + } + /// + /// Transaction Set Trailer + /// + [DataMember] + [Pos(5)] + public SE SE { + get; + set; + } + } +} diff --git a/protocol/X12_004010_Codes.cs b/protocol/X12_004010_Codes.cs new file mode 100644 index 0000000..529cfd6 --- /dev/null +++ b/protocol/X12_004010_Codes.cs @@ -0,0 +1,6813 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + [Serializable()] + [DataContract()] + public class X12_AN {} + + [Serializable()] + [DataContract()] + public class X12_DT {} + + /// + /// Car Hire Detail/Summary Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,9,")] + public class X12_ID_1002 {} + + /// + /// Percent Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,05,06,07,08,09,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,3,30,31,32,33,34,35,36,37,38,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99,A,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AP,AR,AT,B,BA,BB,BC,BD,BE,BF,BG,BH,BP,BS,BU,C,CA,CB,CH,CJ,CN,CO,CP,CR,CS,CU,D,DF,DY,E,EA,EF,EP,F,FT,FV,GA,IA,IN,KA,KB,LM,M,MA,MN,MS,MX,N,NA,NH,O,OC,OF,OH,OP,P,PA,PC,PD,PF,PH,PM,PN,PP,PR,PT,PV,R,RA,RB,RC,RD,RF,RG,RI,RL,RO,RP,RQ,RR,RS,S,SA,SC,SD,SE,SF,SG,T,TP,W,WI,WK,X,X1,XT,")] + public class X12_ID_1004 {} + + /// + /// Hierarchical Structure Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",0001,0002,0003,0004,0010,0011,0012,0013,0014,0015,0016,0017,0018,0019,0020,0021,0022,0023,0035,0036,0055,0056,0057,0058,0059,0060,0061,0062,0063,0064,0065,0066,0067,0068,0069,0070,0071,0072,0073,0074,0075,0076,0077,0078,0079,0080,0081,0082,0083,0200,0201,0202,0203,0204,0205,0206,0207,0208,0209,0210,ZZZZ,")] + public class X12_ID_1005 {} + + /// + /// Account Description Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,6,7,8,9,AA,")] + public class X12_ID_1006 {} + + /// + /// Rate Source + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,T,U,")] + public class X12_ID_1007 {} + + /// + /// Case Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",11,12,13,30,6,7,9,AA,AG,AP,AR,CR,CV,DO,FB,JV,LC,MS,NT,OT,PC,SR,SV,TR,XX,ZZ,")] + public class X12_ID_1008 {} + + /// + /// Administration of Justice Organization Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A,AB,AD,AG,AJ,AL,AM,AS,B,C,CA,CB,CH,CI,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CV,CY,D,DA,DI," + + "DJ,DM,DO,DS,F,FC,GS,HO,HP,HU,I,IC,J,JC,JP,JU,LA,LE,M,M1,M2,M3,MA,MC,MP,MU,MY,OR," + + "OT,P,PC,PK,PL,PO,PP,PR,PS,S,SA,SB,SC,SD,SH,SJ,SO,SP,SR,SS,ST,SU,T,TA,TB,TJ,TO,TR" + + ",U,V,WA,X,ZZ,")] + public class X12_ID_1009 {} + + /// + /// Administration of Justice Event Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A,AC,AS,C,CL,D,DO,H,I,M,N,O,OP,OR,OT,P,PA,PD,PE,PY,S,SJ,SU,TR,W,ZZZ,")] + public class X12_ID_1012 {} + + /// + /// Notice Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1,101,11B,11I,12B,12I,12N,12Y,13B,13I,13N,13P,13Y,18J,18O,2,23A,23B,24B,25,26,27,28,3,305,306,308,309,310,311,315,4,417,5,603,610,611,612,616,619,621,623,625,628,629,630,631,638,642,70,700,701,7BA,7IA,9A,9B,9C,9D,9E,9F,9G,9H,9I,AB,CJ,CP,DEF,DIS,DJ,DOT,FAM,FCL,FFS,FJ,ITB,JC,JN,NOA,OCP,ODC,OFR,POC,SCH,SJ,YJ,ZZZ,")] + public class X12_ID_1013 {} + + /// + /// Mileage Settlement Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,7,9,")] + public class X12_ID_1015 {} + + /// + /// Penalty Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,4,5,")] + public class X12_ID_1016 {} + + /// + /// Claim Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A,AL,AR,BG,BM,BO,BP,BR,BS,BT,BW,C,CH,CM,DA,DB,EB,EU,GC,HL,I,JL,MG,ML,NF,OL,OP,P," + + "PA,PB,PC,PD,PE,PF,PK,PO,PP,PT,PW,PZ,R,SM,SO,SR,SS,T,TC,TL,TR,TX,U,VT,WP,")] + public class X12_ID_1017 {} + + /// + /// Invoice Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",IBM,IEL,INR,")] + public class X12_ID_1019 {} + + /// + /// Ownership Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",L,N,R,S,T,")] + public class X12_ID_102 {} + + /// + /// Sampling Sequence Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",GC,SU,UP,")] + public class X12_ID_1020 {} + + /// + /// Hazard Zone Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,")] + public class X12_ID_1023 {} + + /// + /// Loading or Discharge Location Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,C,R,")] + public class X12_ID_1025 {} + + /// + /// Vessel Material Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",999,ALU,CST,FBG,NIK,SST,TCA,")] + public class X12_ID_1026 {} + + /// + /// Claim Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,4,5,6,7,8,9" + + ",AD,AP,CC,CL,CP,I,RA,RB,RC,RD,RO,")] + public class X12_ID_1029 {} + + /// + /// Gasket Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",999,ASB,BUN,BUT,EPD,FDA,HYP,KAL,LEA,NAT,NEO,SAN,TEF,VIT,")] + public class X12_ID_1030 {} + + /// + /// Trailer Lining Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",999,BUT,CER,CHL,DER,HAL,HER,KYN,NAT,NIC,POL,TEF,VIT,")] + public class X12_ID_1031 {} + + /// + /// Claim Filing Indicator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,AM,BL,CH,CI,CN" + + ",DS,FI,HM,LI,LM,MA,MB,MC,MH,OF,SA,TV,VA,WB,WC,WD,WE,ZZ,")] + public class X12_ID_1032 {} + + /// + /// Claim Adjustment Group Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CO,CR,DE,MA,NC,OA,PI,PR,")] + public class X12_ID_1033 {} + + /// + /// Type of Bankruptcy Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,")] + public class X12_ID_104 {} + + /// + /// Load or Device Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AC,BL,BS,PS,PU,")] + public class X12_ID_1042 {} + + /// + /// Hose Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AAM,ACD,CEM,CRO,FDA,GAL,HOT,LIQ,NIR,NIT,PUR,SST,TEF,VIT,")] + public class X12_ID_1044 {} + + /// + /// Inlet or Outlet Material Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AL,BR,IR,NS,SS,")] + public class X12_ID_1045 {} + + /// + /// Inlet or Outlet Fitting Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AC,DF,DM,QF,QM,TH,TM,")] + public class X12_ID_1046 {} + + /// + /// Miscellaneous Equipment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AD,AF,AI,CY,DB,DR,ME,ND,NO,PR,SC,SE,VI,")] + public class X12_ID_1047 {} + + /// + /// Business Function Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",COL,CON,DBT,PCS,PEN,PRL,TAX,VEN,")] + public class X12_ID_1048 {} + + /// + /// Market Exchange Identifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",LX1,LX2,")] + public class X12_ID_1053 {} + + /// + /// Commodity Identification + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AG,AU,PT,")] + public class X12_ID_1054 {} + + /// + /// Vehicle Service Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AF,BK,CB,CC,CL,CS,DP,LD,LS,MM,PH,PL,RL,RP,RS,SH,SW,UL,WH,WW,")] + public class X12_ID_1062 {} + + /// + /// Entity Type Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,C,D,E,G,L,")] + public class X12_ID_1065 {} + + /// + /// Citizenship Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,")] + public class X12_ID_1066 {} + + /// + /// Marital Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,I,K,M,R,S,U,W,X,")] + public class X12_ID_1067 {} + + /// + /// Gender Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,F,M,N,U,X,")] + public class X12_ID_1068 {} + + /// + /// Individual Relationship Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36,37,38,39,40,41,43,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,78,79,80,81,82,83,84,86,87,88,90,91,92,93,94,95,96,97,98,99,A1,A2,A3,A4,A5,A6,A7,A8,A9,B1,B2,B3,B4,B5,B6,B7,B8,B9,C1,C2,C3,C4,C5,C8,C9,D1,D2,D3,D4,D5,D6,D7,D8,D9,E1,E2,E3,E4,E5,E6,E7,E8,E9,F1,F2,F3,F6,F7,F8,F9,G2,G3,G4,G5,G6,G7,G8,G9,H1,H4,N1,OT,ZZ,")] + public class X12_ID_1069 {} + + /// + /// Payment Method Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,2,3,4,8,A,AA,AB,AC,AD,AE,AF,AG,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y" + + ",")] + public class X12_ID_107 {} + + /// + /// Type of Residence Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,9,A,B,C,D,F,H,I,L,N,")] + public class X12_ID_1070 {} + + /// + /// General Expense Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,5" + + "4,55,56,57,58,59,60,61,62,63,64,65,66,67,91,92,93,94,95,96,97,98,")] + public class X12_ID_1071 {} + + /// + /// Rounding System Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",5,D,T,U,")] + public class X12_ID_1072 {} + + /// + /// Yes/No Condition or Response Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,U,W,Y,")] + public class X12_ID_1073 {} + + /// + /// Type of Real Estate Asset Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28" + + ",29,30,31,32,33,34,35,36,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,5" + + "7,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,UN,ZZ,")] + public class X12_ID_1074 {} + + /// + /// Status of Plans for Real Estate Asset Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,J,P,R,S,T,")] + public class X12_ID_1075 {} + + /// + /// Real Estate Loan Security Instrument Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,D,L,M,")] + public class X12_ID_1076 {} + + /// + /// Property Value Estimate Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,R,")] + public class X12_ID_1077 {} + + /// + /// Property Ownership Rights Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,F,G,H,L,O,R,S,T,U,X,")] + public class X12_ID_1078 {} + + /// + /// Contact Method Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",E,F,M,T,")] + public class X12_ID_1079 {} + + /// + /// Pick-up or Delivery Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AT,BC,CA,CB,CC,CP,CR,CS,CT,DB,DT,H,IB,IR,J,LD,LL,M,O,OC,OT,P,PB,RB,RC,RD,RG,RR,S" + + ",SD,U,V,")] + public class X12_ID_108 {} + + /// + /// Assumption Terms Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",2,3,4,5,")] + public class X12_ID_1080 {} + + /// + /// Loan Purpose Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,30,31,AL,AR,AU,BO,CC,CO,CT,FM,MH,PE,RE,RV,SL,SM,SO,")] + public class X12_ID_1081 {} + + /// + /// Use of Proceeds Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,04,05,06,07,08,09,11,12,13,14,16,17,18,20,21,22,23,24,25,ZZ,")] + public class X12_ID_1082 {} + + /// + /// Type of Downpayment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,09,10,11,12,13,14,27,28,29,30,31,32,33,34,35,36,37,38,41,42" + + ",43,44,ZZ,")] + public class X12_ID_1083 {} + + /// + /// Loan Buydown Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",P,T,")] + public class X12_ID_1084 {} + + /// + /// Loan Payment Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,")] + public class X12_ID_1085 {} + + /// + /// Loan Rate Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,")] + public class X12_ID_1086 {} + + /// + /// Negative Amortization Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,P,S,")] + public class X12_ID_1087 {} + + /// + /// Rate Life Cap Source Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1088 {} + + /// + /// Index Identity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,5" + + "4,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,ZZ,")] + public class X12_ID_1089 {} + + /// + /// Improvement Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,I,P,")] + public class X12_ID_1090 {} + + /// + /// Buydown Source Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,")] + public class X12_ID_1091 {} + + /// + /// Negative Amortization Cap Source Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1092 {} + + /// + /// Real Estate Loan Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,C,D,F,G,I,J,Z,")] + public class X12_ID_1093 {} + + /// + /// Mortgage Insurance Application Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,")] + public class X12_ID_1097 {} + + /// + /// Mortgage Insurance Premium Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,F,")] + public class X12_ID_1098 {} + + /// + /// Mortgage Insurance Certificate Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,N,O,P,")] + public class X12_ID_1099 {} + + /// + /// Billing Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,J,M,P,Q,R,S,T,U,V,W,X,Y,")] + public class X12_ID_11 {} + + /// + /// Application Acknowledgment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BA,BC,BE,BP,BR,GA,GC,GE,GP,GR,IA,IC,IE,IP,IR,TA,TC,TE,TP,TR,")] + public class X12_ID_110 {} + + /// + /// Mortgage Insurance Coverage Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,Z,")] + public class X12_ID_1100 {} + + /// + /// Lien Priority Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,W,Z,")] + public class X12_ID_1101 {} + + /// + /// Mortgage Insurance Renewal Option Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,N,")] + public class X12_ID_1102 {} + + /// + /// Loan Documentation Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,F,R,")] + public class X12_ID_1103 {} + + /// + /// Name Component Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,")] + public class X12_ID_1104 {} + + /// + /// Mortgage Insurance Duration Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,")] + public class X12_ID_1105 {} + + /// + /// Address Component Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,34,35,36,37,38,39,40,41,51,52,53,54,56,57,58,59,60,61,62,63,6" + + "4,65,66,67,68,69,71,74,79,80,90,91,92,93,94,96,97,")] + public class X12_ID_1106 {} + + /// + /// Name Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,11,12,13,17,18,19,20,21,")] + public class X12_ID_1107 {} + + /// + /// Month of the Year Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,")] + public class X12_ID_1108 {} + + /// + /// Race or Ethnicity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",7,8,A,B,C,D,E,F,G,H,I,J,N,O,P,Z,")] + public class X12_ID_1109 {} + + /// + /// Coupon Distribution Media Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BB,DH,DM,EC,FS,HO,HS,IL,IP,MO,MR,NC,OP,RI,SP,TM,")] + public class X12_ID_1113 {} + + /// + /// Vent Setting Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,Z,")] + public class X12_ID_1122 {} + + /// + /// Offer Basis Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,AA,AB,AC,AD,AE,AF,AG,EX,FE,MA,NS,NT,PF,SD,SM,TO,TR,ZZ,")] + public class X12_ID_1123 {} + + /// + /// Interline Settlement System Status Action or Dispute Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",CA,CC,CD,CH,CO,CP,CT,DA,DG,DO,DR,DT,GD,LT,NP,NR,OP,OR,PS,PT,RT,SA,SC,SF,SN,SS,ST" + + ",T1,TD,TR,UT,")] + public class X12_ID_1127 {} + + /// + /// Adjustment Reason Code Characteristic + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1,10,11,12,13,14,15,16,17,18,19,2,22,23,24,25,26,27,28,29,3,30,31,32,34,35,36,37,38,39,4,40,41,42,43,44,45,46,5,57,58,6,60,61,62,63,64,65,66,67,69,7,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99,A1,A2,A3,A4,A5,A6,A7,A8,A9,B1,B2,B3,B4,B5,B6,B7,B8,B9,C1,C2,C3,C4,C5,C6,C7,C8,C9,D1,D2,D3,D4,D5,D6,D7,D8,D9,E1,E2,E3,E4,E5,E6,E7,F1,F2,F3,F4,F5,F6,F7,F8,F9,G2,G3,G4,G5,G6,G7,G8,G9,H2,H3,")] + public class X12_ID_1129 {} + + /// + /// Primary or Contingent Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,P,")] + public class X12_ID_1130 {} + + /// + /// Level of Individual, Test, or Course Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,0K,10,11,12,20,21,22,23,24,25,26,27,28,29,30,31,32,33" + + ",AD,AS,BD,C2,DD,EL,EM,HG,HS,IF,IN,MD,MS,NO,P0,P1,P2,P3,P4,P5,PC,PD,PF,PK,PS,SS,U" + + "N,VR,VS,")] + public class X12_ID_1131 {} + + /// + /// Instructional Setting Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,4,5,6,7,8,9" + + ",")] + public class X12_ID_1132 {} + + /// + /// Program Participation and Services Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34" + + ",35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59," + + "6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,8,9,")] + public class X12_ID_1133 {} + + /// + /// Program and Services Funding Source Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,")] + public class X12_ID_1134 {} + + /// + /// Placement Criteria Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,")] + public class X12_ID_1135 {} + + /// + /// Code Category + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,A1,A2,A3,A4,A5,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DP,DR,DV,E1,E2,E3,E4,E5,EB,EC,ED,EE,EF,EG,EH,EI,EJ,FA,FC,FH,FI,FP,FR,FT,GD,GS,GU,HA,HB,HC,HD,HE,HF,HG,HH,HI,HJ,HK,HL,HM,HN,HO,HP,HQ,HR,HS,HT,HY,HZ,IC,ID,IH,IM,IN,LA,LE,LL,LR,LS,LT,LZ,MA,MI,MN,MO,MP,MS,MT,NC,NS,NW,OA,OC,OF,ON,OP,OT,OU,PA,PB,PC,PD,PE,PF,PG,PI,PN,PO,PR,PS,PT,R1,R2,R3,R4,R5,RC,RE,RI,RL,RM,RN,RR,RS,RT,RU,RV,SA,SD,SE,SI,SJ,SL,SN,SP,SR,SS,ST,SU,SW,SZ,TB,TE,TF,TH,TI,TM,CA,TP,TR,TW,UP,VA,VC,VD,VO,WA,WM,ZZ,")] + public class X12_ID_1136 {} + + /// + /// Payer Responsibility Sequence Number Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,O,P,S,T,U,")] + public class X12_ID_1138 {} + + /// + /// Session Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,")] + public class X12_ID_1139 {} + + /// + /// Floor Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,F,S,W,")] + public class X12_ID_1140 {} + + /// + /// Academic Credit Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,G,N,Q,S,U,V,X,")] + public class X12_ID_1141 {} + + /// + /// Academic Grade or Course Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,16,17,18,19,2,3,4,5,6,7,8,9,A,AR,B,D,DL,E,F,G,H,I,L,M,P,R,T," + + "U,V,")] + public class X12_ID_1142 {} + + /// + /// Coordination of Benefits Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,")] + public class X12_ID_1143 {} + + /// + /// Disability Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,Z,")] + public class X12_ID_1146 {} + + /// + /// Basis for Academic Credit Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,M,N,P,R,T,V,W,X,Z,")] + public class X12_ID_1147 {} + + /// + /// Port or Terminal Function Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,V,W,Y,")] + public class X12_ID_115 {} + + /// + /// Course Repeat or No Count Indicator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,R,X,")] + public class X12_ID_1150 {} + + /// + /// Override Academic Course Source Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",IA,MC,TC,")] + public class X12_ID_1152 {} + + /// + /// Academic Field of Study Level or Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,E,G,L,M,N,S,T,V,W,X,Z,")] + public class X12_ID_1153 {} + + /// + /// Work Intensity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",H,L,M,R,")] + public class X12_ID_1154 {} + + /// + /// Test Norm Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,Z,")] + public class X12_ID_1156 {} + + /// + /// Test Norming Period Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,")] + public class X12_ID_1157 {} + + /// + /// Test Score Interpretation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,H,I,J,K,L,M,N,O,P,Q,R,S,T,")] + public class X12_ID_1159 {} + + /// + /// Test Score Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,Z,")] + public class X12_ID_1160 {} + + /// + /// Product Option Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,2,28,29,3,30,31,4,5,6,7,8,9,A,B,BA,C,D,GA,N,NC,O,PD,S,")] + public class X12_ID_1161 {} + + /// + /// Show Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",EV,FS,LA,LN,LS,MA,NR,SP,")] + public class X12_ID_1162 {} + + /// + /// Ticket Category Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AD,CH,EX,GR,NR,RR,SP,ST,")] + public class X12_ID_1163 {} + + /// + /// Network or Schedule Data Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,ZZ,")] + public class X12_ID_1164 {} + + /// + /// Confidentiality Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",O,R,U,")] + public class X12_ID_1165 {} + + /// + /// Contract Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,09,AB,AC,AD,AE,AF,AG,AH,AI,AJ,CA,CB,CH,CP,CS,CW,CX,CY,DI,EA,ER" + + ",FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM,FR,FX,LA,LE,LH,OC,PR,SP,TM,ZZ,")] + public class X12_ID_1166 {} + + /// + /// Door Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A1,A2,A3,A4,A5,A6,A7,AO,B1,B2,B3,B4,B5,B6,B7,BO,")] + public class X12_ID_1168 {} + + /// + /// Claim Response Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",CDR,CMP,DC,ELH,ELR,EPC,EW,FRS,FWC,IIS,IRS,IWS,MAP,NCR,NEW,NOP,NRI,NSB,NWR,PNP,PW" + + "A,RDP,SUB,UPR,UR,URF,WBS,")] + public class X12_ID_1172 {} + + /// + /// Task ID Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,20,21,22,PI,PM,SM,ZZ,")] + public class X12_ID_1173 {} + + /// + /// Employment Class Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,5" + + "5,56,57,58,ZZ,")] + public class X12_ID_1176 {} + + /// + /// Customs Entry Type Group Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,W,")] + public class X12_ID_1179 {} + + /// + /// Resource Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,EA,EF,EP,EU,FR,LA,LD,LE,LO,LP,LS,MA,MC,MN,OT,SC,")] + public class X12_ID_1181 {} + + /// + /// Public Record or Obligation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,ZZ,")] + public class X12_ID_1185 {} + + /// + /// Type of Income Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,91,92,93,94,AI,BG,EI,HR,K1,PD,PS,SA,SB,SC,SP,VP,ZZ,")] + public class X12_ID_1186 {} + + /// + /// Type of Account Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,")] + public class X12_ID_1187 {} + + /// + /// Type of Personal or Business Asset Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,AA,AB,ZZ,")] + public class X12_ID_1188 {} + + /// + /// Type of Credit Account Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,I,M,O,R,")] + public class X12_ID_1189 {} + + /// + /// Program Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,11,13,14,15,20,21,22,23,24,25,AQ,AR,AZ,BD,CL,CS,GA,GD,GP" + + ",GT,MH,PL,PN,SF,SN,SP,")] + public class X12_ID_1193 {} + + /// + /// Breakdown Structure Detail Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,70,71,72,73,74,75,77,78,79,80,81,82,83,84,85,86,87,88,A1,A2,A3,A4,A5,A6,A7,A8,A9,AT,B1,B2,B3,B4,B5,BL,BY,C1,C2,C3,C4,CM,CY,D1,D2,D3,D4,D5,D6,D7,E1,E2,E3,E4,EH,ES,EX,F1,F2,F3,F4,FE,FP,FR,G1,G2,G3,G4,G5,H1,H2,H3,H4,H5,I1,IN,J1,J2,K6,L1,LM,M1,MD,MR,N1,NP,P1,P2,P3,P4,P5,P6,RL,SC,TA,TC,TD,TR,TU,UB,ZZ,")] + public class X12_ID_1196 {} + + /// + /// Financial Transaction Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AD,AV,BA,BM,BP,BV,C,D,M,NA,O,P,R,RD,RE,RI,RN,S,TR,")] + public class X12_ID_1197 {} + + /// + /// Contracting Funding Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,")] + public class X12_ID_1198 {} + + /// + /// Appropriation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,ZZ,")] + public class X12_ID_1199 {} + + /// + /// Information Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,L,O,P,S,T,")] + public class X12_ID_1201 {} + + /// + /// Flexible Spending Account Selection Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",D,E,H,L,Z,")] + public class X12_ID_1202 {} + + /// + /// Maintenance Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,XB,XI,XL,XM,XN,XT,ZZ,")] + public class X12_ID_1203 {} + + /// + /// Insurance Line Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",403,AC,ADD,AF,AG,AH,AI,AJ,AK,AP,AR,BC,BE,BH,BK,CHU,CLF,CV,DCP,DEN,EMP,EPO,FAC,FS" + + "A,GDC,HE,HLT,HMO,IRA,IRC,LL,LTC,LTD,MM,MOD,NGD,NQ,PDG,POS,PPO,PRA,PSP,QDA,QDC,ST" + + "D,UL,UR,VIS,ZZZ,")] + public class X12_ID_1205 {} + + /// + /// Coverage Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",CHD,DEP,E1D,E2D,E3D,E5D,E6D,E7D,E8D,E9D,ECH,EMP,ESP,FAM,IND,SPC,SPO,TWO,")] + public class X12_ID_1207 {} + + /// + /// Underwriting Decision Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,I,N,S,")] + public class X12_ID_1209 {} + + /// + /// Rate Class Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A,BHR,C,CTR,DMA,DMB,DMC,E,ECR,F,H,I,L,M,N,O,Q,QUO,R,S,T,U,V,X,Y,")] + public class X12_ID_121 {} + + /// + /// Drug House Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AM,BAX,FLR,HCS,NP,PCS,THR,ZZ,")] + public class X12_ID_1211 {} + + /// + /// Health-Related Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,S,T,U,X,")] + public class X12_ID_1212 {} + + /// + /// Current Health Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,E,F,G,P,")] + public class X12_ID_1213 {} + + /// + /// Identification Card Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",D,H,P,")] + public class X12_ID_1215 {} + + /// + /// Benefit Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,I,S,T,V,")] + public class X12_ID_1216 {} + + /// + /// Medicare Plan Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,")] + public class X12_ID_1218 {} + + /// + /// Consolidated Omnibus Budget Reconciliation Act (COBRA) Qualifying Event + /// Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,ZZ,")] + public class X12_ID_1219 {} + + /// + /// Rate/Value Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",AA,AB,AC,AD,AE,AF,AV,B0,B1,BF,BL,BR,C5,CE,CF,CM,CO,CP,CS,CT,CW,DD,DE,DI,DP,DR,DS,DV,EI,ER,FA,FB,FC,FF,FI,FL,FN,FR,FT,FV,GT,HD,HM,HN,HX,HY,IA,IM,IN,KG,KL,KP,KT,LA,LB,LF,LI,LL,LP,LR,LS,LT,LV,MA,MB,MC,MD,ME,MF,MG,MH,MI,MM,MN,MO,MP,MR,MS,MT,MU,MV,MW,MX,NA,NB,ND,NE,NM,NP,NV,OP,OS,OT,P0,P1,P8,P9,PA,PB,PC,PD,PE,PF,PG,PH,PI,PJ,PK,PL,PM,PN,PO,PP,PQ,PR,PS,PT,PU,PV,PW,PX,PY,PZ,QY,RA,RB,RC,RL,RP,RT,S0,S1,SA,SB,SC,SD,SE,SF,SG,SH,SP,ST,SU,SY,TB,TC,TD,CA,TP,TR,VA,VH,VM,VP,VR,VS,VT,VU,VV,WK,WM,XP,YR,")] + public class X12_ID_122 {} + + /// + /// Student Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",F,N,P,")] + public class X12_ID_1220 {} + + /// + /// Provider Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AD,AS,AT,BI,BS,CO,CV,H,HH,LA,ON,OP,OR,OT,P1,P2,PC,PE,PT,PU,R,RF,RP,SB,SK,SU,")] + public class X12_ID_1221 {} + + /// + /// Provider Organization Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",001,002,003,004,005,006,007,008,")] + public class X12_ID_1223 {} + + /// + /// Contribution Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AC,EA,EB,EC,ED,EI,EM,EP,ER,ES,ET,EU,IC,MB,MS,MT,MU,NC,NQ,PB,PS,PT,QC,QE,QM,QP,RA" + + ",RK,RO,RP,RS,RT,SD,SP,ZZ,")] + public class X12_ID_1224 {} + + /// + /// Type of Product Service Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AF,CA,CB,CC,CG,CP,CR,CS,CW,DD,DW,EC,ED,EE,EF,EM,EW,FC,FW,GC,GM,GR,IO,LF,LL,LO,LP" + + ",LW,MB,MC,MG,MI,MR,MS,NE,OW,PD,PG,PL,PO,PW,QP,RC,RD,RN,RP,RR,RS,RT,SB,SC,SD,SP,S" + + "S,ST,SW,TC,TP,UE,WC,")] + public class X12_ID_1230 {} + + /// + /// Purchase Category + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AE,CN,DR,ER,HW,IR,MD,OV,RD,RE,SB,SP,SU,SV,TE,UT,")] + public class X12_ID_1232 {} + + /// + /// Payment Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",6A,9A,9B,9C,")] + public class X12_ID_1236 {} + + /// + /// Move Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",F,J,P,R,T,")] + public class X12_ID_1237 {} + + /// + /// Bay Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1238 {} + + /// + /// Capacity Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,AA,")] + public class X12_ID_1239 {} + + /// + /// Facility Characteristic Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1G,2G,A,AX,BC,BW,C,CL,CX,D,DA,FX,G,GA,GX,J,K,L,LK,M,N,NF,NH,OF,RH,RR,TP,TR,U,Y,")] + public class X12_ID_1240 {} + + /// + /// Facility Characteristic Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,F,H,L,P,S,X,")] + public class X12_ID_1241 {} + + /// + /// Special Rate Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BH,RT,TA,")] + public class X12_ID_1246 {} + + /// + /// Date Time Period Format Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",CC,CD,CM,CQ,CY,D6,D8,DA,DB,DD,DT,DTS,EH,KA,MD,MM,RD,RD2,RD4,RD5,RD6,RD8,RDM,RDT," + + "RMD,RMY,RTM,RTS,TC,TM,TQ,TR,TS,TT,TU,UN,YM,YMM,YY,")] + public class X12_ID_1250 {} + + /// + /// Immunization Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,11,12,13,14,2,3,4,5,6,7,8,9,")] + public class X12_ID_1254 {} + + /// + /// Special Program Category Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,27,28,3,4,5,6,7,8,9,99,")] + public class X12_ID_1257 {} + + /// + /// Loan Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34" + + ",35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59," + + "6,60,61,62,63,64,65,66,67,7,8,9,90,91,92,93,")] + public class X12_ID_1262 {} + + /// + /// Delayed Repayment Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,11,12,13,14,15,16,17,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37" + + ",4,5,6,9,")] + public class X12_ID_1264 {} + + /// + /// Interest Payment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,")] + public class X12_ID_1265 {} + + /// + /// Major Course of Study + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,11,12,13,14,15,16,2,3,4,5,6,7,8,9,")] + public class X12_ID_1266 {} + + /// + /// Dependency Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,")] + public class X12_ID_1267 {} + + /// + /// Applicant Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1268 {} + + /// + /// Code List Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",0,1,10,100,101,102,103,104,105,106,107,108,109,11,12,13,14,16,17,19,2,20,21,22,2" + + "3,24,25,26,27,28,29,3,30,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49" + + ",5,52,53,54,55,56,57,58,59,6,60,61,62,63,66,67,69,7,71,74,75,78,79,8,80,81,82,83" + + ",84,85,87,88,89,9,90,91,92,93,94,95,96,97,98,99,A,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA," + + "AAA,AB,ABR,ABS,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,ALP,AM,AN,AO,AP,APE,AQ,AR,AS,AT,AU," + + "AW,AX,B,BA,BB,BC,BCC,BCR,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BPL,BQ,BR,BRL,BS" + + ",BSL,BU,BV,BY,BZ,C,C1,C2,C3,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CLP,CM,CML,CN,CO" + + ",COG,CPS,CRC,CS,CSF,CT,CU,CV,CW,CZ,D,D1,D2,D3,D4,D5,DA,DB,DBS,DC,DD,DE,DF,DG,DGO" + + ",DH,DI,DJ,DK,DL,DLO,DLP,DM,DN,DO,DPE,DPL,DQ,DR,DS,DT,DU,DW,DX,DY,DZ,E,EA,EB,EC,E" + + "D,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EQ,ER,ES,ESL,ET,ETL,EU,EV,EW,EWC,EWR,EX,EY,EZ" + + ",F,FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM,FN,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FZ,G," + + "G1,GA,GB,GC,GD,GE,GF,GG,GI,GJ,GK,GQ,GR,GS,GT,GU,GV,GW,H,HA,HB,HD,HE,HI,HRC,HS,HZ" + + "R,I,IC,ID,IF,IMC,IMP,IPA,IQ,IT,J,J0,J1,J2,J3,J4,J5,J6,J7,J8,J9,JA,JB,JC,JCL,JD,J" + + "E,JF,JG,JH,JI,JK,JL,JM,JN,JO,JOL,JP,K,KA,KB,KC,KD,KE,KF,KG,KH,KI,KJ,KK,KL,KM,KO," + + "KP,KQ,KS,KT,KU,KW,KYL,KZ,L,LA,LB,LC,LD,LE,LF,LG,LH,LIN,LJ,LK,LM,LN,LO,LOI,LP,LQ," + + "LR,LS,LSC,LT,LZ,M,MB,MC,MCC,MCD,ME,MI,MJ,MK,ML,MN,MOC,N,NA,NAC,NAF,NAS,NB,NC,ND," + + "NDC,NE,NF,NH,NI,NJ,NK,NL,NP,NR,NS,NT,O,O1,O2,O3,O4,OC,P,PB,PC,PD,PGS,PI,PIT,PL,P" + + "LC,PLS,PPD,PPP,PPS,PPV,PRA,PRC,PRR,PRT,PS,PWA,PWI,PWR,PWS,PWT,Q,QA,QB,QC,QE,QF,Q" + + "G,QH,QI,QJ,QK,QS,R,RA,RC,RCA,RD,RE,REN,RF,RI,RQ,RR,RT,RTC,RUM,RX,S,SA,SB,SBA,SC," + + "SD,SE,SEC,SF,SG,SH,SHL,SI,SJ,SL,SM,SMI,SO,SP,SPE,SR,SRL,SS,ST,STC,T,T00,T01,T02," + + "T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,TB,T" + + "C,TCL,TD,TE,TF,TG,TOL,TR,TTL,TX,TY,U,UP,UR,US,UU,V,W,WDL,X,Y,Z,ZZ,")] + public class X12_ID_1270 {} + + /// + /// Direction Facing + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,F,U,")] + public class X12_ID_1273 {} + + /// + /// Fumigated/Cleaned Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,C,F,N,")] + public class X12_ID_1275 {} + + /// + /// Canadian Wheat Board (CWB) Marketing Class Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,4,5,")] + public class X12_ID_1277 {} + + /// + /// Canadian Wheat Board (CWB) Marketing Class Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,S,")] + public class X12_ID_1278 {} + + /// + /// Reference Identification Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,0A,0B,0D,0E,0F,0G,0H,0I,0J,0K,0L,0M,0N,0P,10,11,12,13" + + ",14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,1G,1H,1I,1J,1K,1L,1M,1N,1O,1P,1Q,1R,1S,1T,1" + + "U,1V,1W,1X,1Y,1Z,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,2G,2H,2I,2J,2K," + + "2L,2M,2N,2O,2P,2Q,2R,2S,2T,2U,2V,2W,2X,2Y,2Z,30,31,32,33,34,35,36,37,38,39,3A,3B" + + ",3C,3D,3E,3F,3G,3H,3I,3J,3K,3L,3M,3N,3O,3P,3Q,3R,3S,3T,3U,3V,3W,3X,3Y,3Z,40,41,4" + + "2,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,4G,4H,4I,4J,4K,4L,4M,4N,4O,4P,4Q,4R,4S," + + "4T,4U,4V,4W,4X,4Y,4Z,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,5G,5H,5I,5J" + + ",5K,5L,5M,5N,5O,5P,5Q,5R,5S,5T,5U,5V,5W,5X,5Y,5Z,60,61,63,64,65,66,67,68,69,6A,6" + + "B,6C,6D,6E,6F,6G,6H,6I,6J,6K,6L,6M,6N,6O,6P,6Q,6R,6S,6T,6U,6V,6W,6X,6Y,6Z,70,71," + + "72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,7G,7H,7I,7J,7K,7L,7M,7N,7O,7P,7Q,7R,7S" + + ",7T,7U,7W,7X,7Y,7Z,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,8G,8H,8I,8J,8" + + "K,8L,8M,8N,8O,8P,8Q,8R,8S,8U,8V,8W,8X,8Y,8Z,90,91,92,93,94,95,96,97,98,99,9A,9B," + + "9C,9D,9E,9F,9G,9H,9I,9J,9K,9L,9M,9N,9P,9Q,9R,9S,9T,9U,9V,9W,9X,9Y,9Z,A0,A1,A2,A3" + + ",A4,A5,A6,A7,A8,A9,AA,AAA,AAB,AAC,AAD,AAE,AAF,AAG,AAH,AAI,AAJ,AAK,AAL,AAM,AAN,AA" + + "O,AAP,AAQ,AAR,AAS,AAT,AAU,AAV,AAW,AAX,AAY,AAZ,AB,ABA,ABB,ABC,ABD,ABE,ABF,ABG,ABH" + + ",ABJ,ABK,ABL,ABM,ABN,ABO,ABP,ABQ,ABR,ABS,ABT,ABU,ABV,ABY,AC,ACA,ACB,ACC,ACD,ACE," + + "ACF,ACG,ACH,ACI,ACJ,ACK,ACR,ACS,ACT,AD,ADA,ADB,ADC,ADD,ADE,ADF,ADG,ADH,ADI,ADM,A" + + "E,AEA,AEB,AEC,AED,AEE,AEF,AEG,AEH,AEI,AEJ,AEK,AEL,AEM,AF,AG,AH,AHC,AI,AJ,AK,AL,A" + + "LC,ALG,ALH,ALI,ALJ,ALT,AM,AN,AO,AP,API,AQ,AR,AS,ASL,ASP,AST,AT,ATC,AU,AV,AW,AX,A" + + "Y,AZ,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BAA,BAB,BAC,BAD,BAE,BAF,BAG,BAH,BAI,BB,BC,BCI" + + ",BD,BE,BF,BG,BH,BI,BJ,BK,BKT,BL,BLT,BM,BMM,BN,BO,BOI,BP,BQ,BR,BS,BT,BU,BV,BW,BX," + + "BY,BZ,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CBG,CC,CD,CDN,CE,CF,CG,CH,CI,CIR,CIT,C" + + "J,CK,CL,CM,CMN,CMP,CMT,CN,CNO,CO,COL,COT,CP,CPA,CPT,CQ,CR,CRN,CRS,CS,CSC,CSG,CST" + + ",CT,CTS,CU,CV,CW,CX,CY,CYC,CZ,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,DG" + + ",DH,DHH,DI,DIS,DJ,DK,DL,DM,DN,DNR,DNS,DO,DOA,DOC,DOE,DOI,DOJ,DOL,DON,DOS,DOT,DP," + + "DQ,DR,DRN,DS,DSC,DSI,DST,DT,DTS,DU,DUN,DV,DW,DX,DY,DZ,E1,E2,E3,E4,E5,E6,E7,E8,E9" + + ",EA,EB,EC,ED,EDA,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EMM,EN,END,EO,EP,EPA,EPB,EQ,ER,ES,ES" + + "N,ET,EU,EV,EW,EX,EY,EZ,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FCN,FD,FE,FF,FG,FH,FI" + + ",FJ,FK,FL,FLZ,FM,FMP,FN,FND,FO,FP,FQ,FR,FS,FSN,FT,FCA,FU,FV,FW,FWC,FX,FY,FZ,G1,G" + + "2,G3,G4,G5,G6,G7,G8,G9,GA,GB,GC,GD,GE,GF,GG,GH,GI,GJ,GK,GL,GM,GN,GO,GP,GQ,GR,GS," + + "GT,GU,GV,GW,GWS,GX,GY,GZ,H1,H2,H3,H4,H5,H6,H7,H8,H9,HA,HB,HC,HD,HE,HF,HG,HH,HHT," + + "HI,HJ,HK,HL,HM,HMB,HN,HO,HP,HPI,HQ,HR,HS,HT,HU,HUD,HV,HW,HX,HY,HZ,I1,I2,I3,I4,I5" + + ",I7,I8,I9,IA,IB,IC,ICD,ID,IE,IF,IFT,IG,IH,II,IID,IJ,IK,IL,IM,IMP,IMS,IN,IND,IO,I" + + "P,IQ,IR,IRN,IRP,IS,ISC,ISN,ISS,IT,IU,IV,IW,IX,IZ,J0,J1,J2,J3,J4,J5,J6,J7,J8,J9,J" + + "A,JB,JC,JD,JE,JF,JH,JI,JK,JL,JM,JN,JO,JP,JQ,JR,JS,JT,JU,JV,JW,JX,JY,JZ,K0,K1,K2," + + "K3,K4,K5,K6,K7,K8,K9,KA,KB,KC,KD,KE,KG,KH,KI,KJ,KK,KL,KM,KN,KO,KP,KQ,KR,KS,KT,KU" + + ",KV,KW,KX,KY,KZ,L1,L2,L3,L4,L5,L6,L7,L8,L9,LA,LB,LC,LD,LE,LEN,LF,LG,LH,LI,LIC,LJ" + + ",LK,LL,LM,LN,LO,LOI,LP,LQ,LR,LS,LSD,LT,LU,LV,LVO,LW,LX,LY,LZ,M1,M2,M3,M5,M6,M7,M" + + "8,M9,MA,MB,MBX,MC,MCI,MD,MDN,ME,MF,MG,MH,MI,MJ,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MSL,MT" + + ",MU,MV,MW,MX,MY,MZ,MZO,N0,N1,N2,N3,N4,N5,N6,N7,N8,N9,NA,NAS,NB,NC,ND,NDA,NDB,NE," + + "NF,NFC,NFD,NFM,NFN,NFS,NG,NH,NI,NJ,NK,NL,NM,NN,NO,NP,NQ,NR,NS,NT,NU,NW,NX,NY,NZ," + + "O1,O2,O5,O7,O8,O9,OA,OB,OC,OD,OE,OF,OG,OH,OI,OJ,OK,OL,OM,ON,OP,OQ,OR,OS,OT,OU,OV" + + ",OW,OX,OZ,P1,P2,P3,P4,P5,P6,P7,P8,P9,PA,PAC,PAN,PAP,PB,PC,PCC,PCN,PD,PDL,PE,PF,P" + + "G,PGC,PGN,PGS,PH,PHC,PI,PID,PIN,PJ,PK,PL,PLA,PLN,PM,PMN,PN,PNN,PO,POL,PP,PQ,PR,P" + + "RS,PRT,PS,PSI,PSL,PSM,PSN,PT,PTC,PU,PV,PW,PWC,PWS,PX,PY,PZ,Q1,Q2,Q3,Q4,Q5,Q6,Q7," + + "Q8,Q9,QA,QB,QC,QD,QE,QF,QG,QH,QI,QJ,QK,QL,QM,QN,QO,QP,QQ,QR,QS,QT,QU,QV,QW,QX,QY" + + ",QZ,R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,RA,RAA,RAN,RB,RC,RD,RE,REC,RF,RG,RGI,RH,RI,RIG" + + ",RJ,RK,RL,RM,RN,RO,RP,RPP,RPT,RQ,RR,RRS,RS,RSN,RT,RU,RV,RW,RX,RY,RZ,S0,S1,S2,S3," + + "S4,S5,S6,S7,S8,S9,SA,SB,SBN,SC,SCA,SD,SE,SEK,SES,SF,SG,SH,SHL,SI,SJ,SK,SL,SM,SN," + + "SNH,SNV,SO,SP,SPL,SPN,SQ,SR,SS,ST,STB,STR,SU,SUB,SUO,SV,SW,SX,SY,SZ,T0,T1,T2,T3," + + "T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TDT,TE,TF,TG,TH,TI,TIP,TJ,TK,TL,TM,CA,TO,TOC,TP,TP" + + "N,TQ,TR,TS,TSN,TT,TU,TV,TW,TX,TY,TZ,U0,U1,U2,U3,U4,U5,U6,U8,U9,UA,UB,UC,UD,UE,UF" + + ",UG,UH,UI,UJ,UK,UL,UM,UN,UO,UP,UQ,UR,URL,US,UT,UU,UV,UW,UX,UY,UZ,V0,V1,V2,V3,V4," + + "V5,V6,V7,V8,V9,VA,VB,VC,VD,VE,VF,VG,VH,VI,VJ,VK,VL,VM,VN,VO,VP,VQ,VR,VS,VT,VU,VV" + + ",VW,VX,VY,VZ,W1,W2,W3,W4,W5,W6,W7,W8,W9,WA,WB,WC,WCS,WD,WDR,WE,WF,WG,WH,WI,WJ,WK" + + ",WL,WM,WN,WO,WP,WQ,WR,WS,WT,WU,WV,WW,WX,WY,WZ,X0,X1,X2,X3,X4,X5,X6,X7,X8,X9,XA,X" + + "B,XC,XD,XE,XF,XG,XH,XI,XJ,XK,XL,XM,XN,XO,XP,XQ,XR,XS,XT,XU,XV,XW,XX,XY,XZ,Y0,Y1," + + "Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,YA,YB,YC,YD,YE,YF,YH,YI,YJ,YK,YL,YM,YN,YO,YP,YQ,YR,YS,YT" + + ",YV,YW,YX,YY,YZ,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,ZA,ZB,ZC,ZD,ZE,ZF,ZG,ZH,ZI,ZJ,ZK,ZL,Z" + + "M,ZN,ZO,ZP,ZQ,ZR,ZS,ZT,ZU,ZV,ZW,ZX,ZY,ZZ,")] + public class X12_ID_128 {} + + /// + /// Direction Identifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,M,N,S,W,")] + public class X12_ID_1280 {} + + /// + /// Returns Disposition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CR,DI,KA,KR,MW,PA,RA,RD,RF,RN,RP,RT,SC,SD,")] + public class X12_ID_1292 {} + + /// + /// Return Request Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",BC,CO,CV,DA,DI,DM,DP,DR,DT,EI,EO,EW,LP,MD,NA,OP,PE,PF,PR,PS,PW,RE,SD,SM,SP,SR,ST" + + ",TE,WG,")] + public class X12_ID_1293 {} + + /// + /// Return Response Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",EW,FR,IN,IO,MI,NR,OS,PC,PR,QD,RR,RT,SR,UI,")] + public class X12_ID_1294 {} + + /// + /// Participant Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A,AN,AV,C,CD,D,DB,DN,DP,DR,DV,EL,GA,KP,N,PD,PF,R,RT,S,S1,S2,TD,CA,TR,TS,TV,US,")] + public class X12_ID_1295 {} + + /// + /// Work Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CL,CO,NS,RE,ST,VO,")] + public class X12_ID_1297 {} + + /// + /// Service, Promotion, Allowance, or Charge Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A010,A020,A030,A040,A050,A060,A070,A080,A090,A100,A110,A112,A120,A121,A122,A130," + + "A140,A150,A160,A170,A172,A180,A190,A200,A210,A220,A230,A240,A250,A260,A270,A280," + + "A290,A300,A310,A320,A330,A340,A350,A360,A370,A380,A390,A400,A410,A420,A430,A440," + + "A445,A450,A460,A470,A480,A485,A490,A500,A510,A520,A530,A540,A550,A555,A560,A570," + + "A580,A590,A600,A610,A620,A630,A640,A650,A658,A660,A670,A680,A690,A691,A700,A710," + + "A720,A721,A730,A740,A750,A760,A770,A780,A790,A800,A810,A820,A830,A840,A850,A860," + + "A870,A880,A890,A900,A910,A920,A930,A940,A950,A960,A970,A980,A990,ADOW,ADRW,AFEE," + + "ALPT,B000,B010,B015,B020,B030,B040,B050,B060,B070,B080,B090,B091,B100,B110,B120," + + "B130,B140,B150,B160,B170,B180,B190,B200,B210,B220,B230,B240,B250,B260,B270,B280," + + "B290,B300,B310,B320,B330,B340,B350,B360,B370,B380,B390,B400,B500,B510,B520,B530," + + "B540,B550,B551,B560,B570,B580,B581,B590,B600,B610,B620,B630,B650,B660,B670,B680," + + "B690,B700,B720,B730,B740,B742,B750,B760,B770,B775,B780,B785,B787,B790,B791,B800," + + "B810,B820,B830,B840,B850,B860,B870,B872,B880,B881,B890,B900,B910,B911,B920,B930," + + "B940,B950,B960,B970,B980,B990,B992,B994,B996,B998,BU2T,BU4T,BUAT,BURD,C000,C010," + + "C020,C030,C040,C050,C060,C070,C080,C090,C100,C110,C120,C130,C140,C150,C160,C170," + + "C180,C190,C200,C210,C220,C230,C231,C240,C250,C260,C270,C280,C290,C300,C310,C320," + + "C330,C340,C350,C360,C370,C380,C390,C400,C401,C402,C410,C420,C430,C440,C450,C460," + + "C470,C480,C490,C500,C510,C520,C530,C531,C540,C550,C560,C570,C580,C590,C600,C610," + + "C630,C640,C650,C660,C670,C675,C680,C690,C700,C710,C720,C730,C740,C750,C760,C770," + + "C780,C790,C800,C810,C820,C830,C840,C850,C860,C870,C880,C890,C900,C910,C920,C930," + + "C940,C950,C960,C970,C980,C990,CA2T,CA4T,CFCT,CFLT,CGTT,CLDT,COMM,CRLT,CTLT,CUFT," + + "D000,D010,D015,D020,D025,D030,D040,D050,D060,D070,D080,D100,D101,D103,D110,D120," + + "D130,D140,D141,D142,D143,D144,D150,D160,D170,D180,D190,D200,D210,D220,D230,D240," + + "D242,D244,D246,D250,D260,D270,D280,D290,D292,D300,D301,D310,D320,D330,D340,D350," + + "D360,D370,D380,D390,D400,D410,D420,D430,D440,D450,D460,D470,D480,D490,D500,D501," + + "D502,D510,D520,D530,D540,D550,D560,D570,D580,D590,D600,D610,D620,D630,D640,D650," + + "D655,D660,D670,D680,D690,D700,D701,D710,D711,D720,D730,D740,D750,D760,D770,D780," + + "D790,D800,D810,D820,D830,D840,D850,D860,D870,D880,D890,D900,D910,D920,D930,D940," + + "D950,D960,D970,D980,D990,D995,DCET,DCVT,DDZT,DEZT,DFDT,DGET,DOVT,DPDT,DPET,E000," + + "E010,E020,E022,E030,E040,E050,E060,E063,E065,E067,E068,E069,E070,E080,E090,E100," + + "E110,E120,E130,E140,E150,E160,E170,E180,E190,E191,E192,E193,E200,E210,E220,E230," + + "E240,E250,E260,E270,E280,E290,E300,E310,E320,E330,E340,E350,E360,E370,E380,E381," + + "E382,E384,E386,E388,E389,E390,E400,E410,E420,E430,E440,E450,E460,E470,E480,E485," + + "E490,E500,E510,E520,E530,E540,E550,E560,E570,E580,E585,E590,E600,E610,E620,E630," + + "E640,E650,E660,E670,E680,E690,E695,E700,E710,E720,E730,E740,E750,E760,E770,E780," + + "E790,E800,E805,E810,E820,E830,E840,E850,E860,E870,E880,E890,E900,E910,E920,E930," + + "E940,E950,E960,E970,E980,E990,ENGA,EXLT,F000,F010,F020,F030,F040,F050,F060,F061," + + "F062,F063,F065,F067,F070,F080,F090,F100,F110,F120,F130,F140,F150,F155,F160,F170," + + "F180,F190,F200,F210,F220,F225,F230,F240,F250,F260,F270,F271,F272,F280,F290,F300," + + "F310,F320,F330,F340,F350,F360,F370,F380,F390,F400,F401,F410,F420,F430,F440,F445," + + "F450,F460,F465,F470,F480,F490,F500,F510,F520,F530,F540,F550,F560,F570,F580,F590," + + "F600,F610,F620,F630,F640,F650,F660,F670,F680,F690,F700,F710,F720,F730,F740,F750," + + "F760,F770,F780,F790,F800,F810,F820,F830,F840,F850,F860,F870,F880,F890,F900,F910," + + "F920,F930,F940,F950,F960,F970,F980,F990,F991,FAKT,FLST,G000,G010,G020,G025,G030," + + "G040,G050,G060,G070,G080,G090,G100,G110,G120,G130,G140,G150,G160,G170,G180,G190," + + "G200,G210,G220,G230,G240,G250,G260,G270,G280,G290,G300,G310,G320,G322,G324,G326," + + "G328,G329,G330,G340,G350,G360,G370,G380,G390,G400,G410,G420,G430,G440,G450,G460," + + "G470,G480,G490,G500,G510,G520,G530,G540,G550,G560,G570,G580,G590,G600,G610,G620," + + "G630,G640,G650,G660,G670,G680,G690,G700,G710,G720,G730,G740,G750,G760,G770,G775," + + "G780,G790,G800,G810,G820,G821,G830,G840,G850,G860,G870,G880,G890,G900,G910,G920," + + "G930,G940,G950,G960,G970,G980,G990,GMST,H000,H010,H020,H030,H040,H050,H060,H070," + + "H080,H090,H100,H110,H120,H130,H140,H150,H151,H160,H170,H180,H190,H200,H210,H215," + + "H220,H230,H240,H250,H260,H270,H280,H290,H300,H310,H320,H330,H340,H350,H360,H370," + + "H380,H390,H400,H410,H420,H430,H440,H450,H460,H470,H480,H490,H500,H505,H507,H510," + + "H520,H530,H535,H540,H550,H551,H560,H570,H580,H590,H600,H605,H610,H620,H625,H630," + + "H640,H650,H660,H670,H680,H690,H700,H710,H720,H730,H740,H750,H760,H770,H780,H790," + + "H800,H806,H810,H820,H830,H840,H850,H855,H860,H870,H880,H890,H900,H910,H920,H930," + + "H935,H940,H950,H960,H970,H980,H990,HZDT,I000,I010,I020,I030,I040,I050,I060,I070," + + "I080,I090,I100,I110,I120,I130,I131,I132,I133,I134,I136,I138,I140,I150,I160,I170," + + "I180,I190,I200,I210,I220,I230,I240,I250,I260,I270,I280,I290,I300,I310,I320,I330," + + "I340,I350,I360,I370,I380,I390,I400,I410,I411,I420,I430,I431,I432,I440,I450,I460," + + "I470,I480,I490,I495,I500,I510,I520,I530,I540,I550,I560,I570,I580,I590,I595,I600," + + "I610,I620,I630,I640,I650,I660,I670,I680,I690,I700,I710,I720,I730,I740,I750,I760," + + "IDCT,LC2T,LC4T,LCLT,LECT,LFDT,LMDT,LNDT,LPDT,LQDT,LTET,MATT,OCNT,OFFA,OODT,OTHR," + + "OWCT,PRST,PTAX,PVPT,R020,R030,R040,R060,R080,RDHT,RFMT,RPDT,RSTT,SFBT,SFDT,SFET," + + "SSCT,SSUT,STDT,STFT,STOT,TERT,VCLT,WBBT,WCFT,WFTT,WRBT,WRIT,ZZZZ,")] + public class X12_ID_1300 {} + + /// + /// Use of Language Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,")] + public class X12_ID_1303 {} + + /// + /// Mark Code Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,2,3,4,5,6,7,8,9,")] + public class X12_ID_1304 {} + + /// + /// Loan Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,1G,1H,1J,1K,1L,1M,1N,1P,1Q,1R,1S,1T,1U,1V,1W,1X,1Y,1Z,2,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,2G,2H,2I,2J,2K,2L,2M,2N,2P,2Q,2R,2S,2U,2V,2W,2X,2Y,2Z,3,30,31,32,33,34,35,36,37,38,39,3A,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99,AA,ZA,ZZ,")] + public class X12_ID_1307 {} + + /// + /// Contract Action Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CO,KA,KB,KC,KD,KE,KF,KG,PE,RP,ZZ,")] + public class X12_ID_1308 {} + + /// + /// Acquisition Data Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,K1,K2,K3,K4,K5,K6,KH,KI,KJ,KK,KL,KM,KN,KO,KP,KQ,KR,KS,KT,KU,KV,KW,KX,KY,KZ,L2,")] + public class X12_ID_1309 {} + + /// + /// Financing Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,G,P,")] + public class X12_ID_1310 {} + + /// + /// Calculation Operation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,D,E,F,M,N,Q,R,S,")] + public class X12_ID_1311 {} + + /// + /// Test Period or Interval Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",TF,TI,TO,")] + public class X12_ID_1312 {} + + /// + /// Ambulance Transport Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",I,R,T,X,")] + public class X12_ID_1316 {} + + /// + /// Ambulance Transport Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,")] + public class X12_ID_1317 {} + + /// + /// Basis of Cost Determination Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,4,5,6,7,8,9,")] + public class X12_ID_1319 {} + + /// + /// Release Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,H,R,S,T,U,")] + public class X12_ID_132 {} + + /// + /// Basis of Days Supply Determination Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,")] + public class X12_ID_1320 {} + + /// + /// Condition Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,1G,1H" + + ",1I,1J,1K,1L,1M,1N,1O,1P,1Q,1R,1S,1T,1U,1V,1W,1X,1Y,1Z,20,21,22,23,24,25,26,27,2" + + "8,29,2A,2B,2C,2D,2E,2F,2G,2H,2I,2J,2K,2L,2M,2N,2O,2P,2Q,2R,2S,2T,2U,2V,2W,2X,2Y," + + "2Z,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,3G,3H,3I,3J,3K,3L,3M,3N,3O,3P" + + ",3Q,3R,3S,3T,3U,3V,3W,3X,3Y,3Z,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,4" + + "G,4H,4I,4J,4K,4L,4M,4N,4O,4P,4Q,4R,4S,4T,4U,4V,4W,4X,4Y,4Z,50,51,52,53,54,55,56," + + "57,58,59,5A,5B,5C,5D,5E,5F,5G,5H,5I,5J,5K,5L,5M,5N,5O,5P,5Q,5R,5S,5T,5U,5V,5W,5X" + + ",5Y,5Z,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,6G,6H,6I,6J,6K,6L,6M,6N,6" + + "O,6P,6Q,6R,6S,6T,6U,6V,6W,6X,6Y,6Z,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E," + + "7F,7G,7H,7I,7J,7K,7L,7M,7N,7O,7P,7Q,7R,7S,7T,7U,7V,7W,7X,7Y,7Z,80,81,82,83,84,85" + + ",86,87,88,89,8A,8B,8C,8D,8E,8F,8G,8H,8I,8J,8K,8L,8M,8N,8O,8P,8Q,8R,8S,8T,8U,8V,8" + + "W,8X,8Y,8Z,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,9G,9H,9I,9J,9K,9L,9M," + + "9N,9O,9P,9Q,9R,9S,9T,9U,9V,9W,9X,9Y,9Z,A1,A2,A3,A4,A5,A7,A8,A9,AA,AB,AC,AD,AE,AF" + + ",AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,B1,B2,B3,B4,B5,B6,B" + + "7,B8,B9,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX," + + "BY,BZ,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP" + + ",CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,DG,D" + + "H,DI,DJ,DK,DL,DM,DN,DO,DP,DQ,DR,DS,DT,DU,DV,DW,DX,DY,DZ,E0,E1,E2,E3,E4,E5,E6,E7," + + "E8,E9,EA,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW,EX,EY" + + ",EZ,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM,FN,FO,F" + + "P,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,G0,G1,G2,G3,G4,G5,G6,G7,G8,G9,GA,GB,GC,GD,GE,GF," + + "GG,GH,GI,GJ,GK,GL,GM,GN,GO,GP,GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,H0,H1,H2,H3,H4,H5,H6" + + ",H7,H8,H9,HA,HB,HC,HD,HE,HF,HG,HH,HI,HJ,HK,HL,HM,HN,HO,HP,HQ,HR,HS,HT,HU,HV,HW,H" + + "X,HY,HZ,I1,I2,I3,I4,I5,I6,I7,I8,IA,IB,IC,ID,IE,IF,IG,IH,II,IJ,IK,IM,IN,IO,IP,IQ," + + "IR,IS,IT,IU,IV,IW,IX,IY,IZ,J1,J2,J3,J4,J5,J6,J7,J8,J9,JA,JB,JC,JD,JE,JF,JH,JI,JJ" + + ",JK,JL,JM,JN,JO,JP,JQ,JR,JS,JT,JU,JV,JW,JX,JY,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9,KA,K" + + "B,KC,KD,KE,KF,KG,KH,KI,KJ,KK,KL,KM,KN,KO,KP,KQ,KR,KS,KT,KU,KV,KW,KX,KY,KZ,L1,L2," + + "L3,L4,L5,L6,L7,LA,LB,LC,LD,LE,LF,LG,LH,LI,LJ,LK,LL,LM,LO,LP,LR,LS,LT,LU,LV,LW,M1" + + ",M2,MA,MB,MC,MD,MF,MG,MH,MI,MJ,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,N" + + "A,NB,NC,ND,NE,NF,NG,NH,NI,NJ,NK,NL,NN,NP,NR,NU,OL,OO,OP,OR,OT,OV,P1,P2,P3,P4,P5," + + "P6,P9,PA,PB,PC,PD,PE,PF,PG,PH,PI,PK,PM,PO,PP,PR,PS,PT,PV,PW,PY,PZ,Q1,Q2,Q3,Q4,Q5" + + ",Q6,Q7,Q8,Q9,QA,QB,QC,QD,QE,QF,QG,QH,QI,QJ,QK,QL,QM,QN,QO,QP,QQ,QR,QS,QT,QU,R1,R" + + "2,R3,R4,R5,R6,R7,R8,R9,RA,RB,RC,RD,RE,RF,RG,RH,RI,RJ,RK,RL,RM,RN,RO,RP,RQ,RR,RS," + + "RT,RU,RV,RW,RX,RY,RZ,S1,S2,S3,S5,SA,SB,SC,SD,SE,SF,SG,SH,SL,SM,SN,SO,SP,SQ,SR,ST" + + ",SU,SV,SW,SX,SY,SZ,T1,T2,T3,T4,T5,T6,TA,TB,TC,TD,TE,TF,TM,TP,TR,TV,U1,U2,U3,U4,U" + + "5,U6,U7,U8,U9,UA,UB,UC,UD,UE,UF,UG,UH,UI,UJ,UK,UL,UM,UN,UO,UP,UQ,UR,US,UT,UU,UV," + + "UW,UX,UY,UZ,V1,V2,V3,V4,V5,V6,V7,VA,VB,VC,VD,VE,VF,VG,VH,VI,VJ,VK,VL,VM,VN,VO,VT" + + ",VU,W1,W2,W3,W4,W5,W6,W7,W8,W9,WA,WB,WC,WD,WE,WF,WG,WH,WI,WK,WL,WM,WN,WO,WP,WR,W" + + "S,WT,WU,WV,WW,WX,WY,WZ,XA,XB,XC,XD,XE,XF,XG,XH,XI,XJ,XK,XL,XM,XN,XO,XP,XQ,XR,XS," + + "XT,XU,XV,XW,XX,XY,XZ,YA,YB,YC,YD,YE,YF,YG,YH,YJ,ZA,ZB,ZC,ZD,ZE,ZF,ZG,ZH,ZI,ZK,ZL" + + ",ZM,ZN,ZO,ZP,ZQ,ZR,ZS,ZT,ZU,ZW,ZY,ZZ,")] + public class X12_ID_1321 {} + + /// + /// Certification Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,A,B,C,D,E,I,R,S,")] + public class X12_ID_1322 {} + + /// + /// Copay Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,")] + public class X12_ID_1327 {} + + /// + /// Dispense as Written Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,4,5,6,7,8,9,")] + public class X12_ID_1329 {} + + /// + /// Routing Sequence Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,D,H,I,JD,JO,M,O,R,S,V,X,Z,")] + public class X12_ID_133 {} + + /// + /// Dosage Form Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,10,11,12,13,14,15,16,20,21,22,23,24,25,30,31,32,33,34,40,41" + + ",42,43,50,51,52,53,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,8" + + "0,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,")] + public class X12_ID_1330 {} + + /// + /// Facility Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,")] + public class X12_ID_1332 {} + + /// + /// Record Format Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,E,F,P,S,")] + public class X12_ID_1333 {} + + /// + /// Insulin Dependent Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,N,")] + public class X12_ID_1335 {} + + /// + /// Insurance Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",12,13,14,15,16,41,42,43,47,AP,C1,CO,CP,D,DB,EP,FF,GP,HM,HN,HS,IN,IP,LC,LD,LI,LT," + + "MA,MB,MC,MH,MI,MP,OT,PE,PL,PP,PR,PS,QM,RP,SP,TF,WC,WU,")] + public class X12_ID_1336 {} + + /// + /// Level of Care Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,")] + public class X12_ID_1337 {} + + /// + /// Level of Service Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",00,01,02,03,04,05,06,09,10,11,F1,F2,I,L,NBC,R,U,")] + public class X12_ID_1338 {} + + /// + /// Multiple Procedure Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,P,S,")] + public class X12_ID_1340 {} + + /// + /// Nature of Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,D,E,F,G,M,")] + public class X12_ID_1342 {} + + /// + /// Non-Institutional Claim Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A,AA,AM,AN,CF,CH,CS,DA,DD,DM,DN,ER,HH,HS,IF,IL,L,LT,MD,MF,MH,MI,MO,MS,NM,NP,NS,O" + + ",OC,OP,OT,OX,P,PA,PD,PE,PF,PS,PT,RX,S,SC,SN,ST,T,TX,V,")] + public class X12_ID_1343 {} + + /// + /// Non-Visit Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",L,N,O,")] + public class X12_ID_1344 {} + + /// + /// Nursing Home Residential Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,")] + public class X12_ID_1345 {} + + /// + /// Nutrient Administration Method Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",G,P,S,")] + public class X12_ID_1346 {} + + /// + /// Nutrient Administration Technique Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",G,J,N,O,")] + public class X12_ID_1347 {} + + /// + /// Oxygen Equipment Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,O,")] + public class X12_ID_1348 {} + + /// + /// Oxygen Test Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",E,N,O,R,S,W,X,")] + public class X12_ID_1349 {} + + /// + /// Oxygen Test Findings Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1350 {} + + /// + /// Patient Signature Source Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,C,M,P,S,")] + public class X12_ID_1351 {} + + /// + /// Prescription Denial Override Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",00,01,02,03,04,05,06,07,")] + public class X12_ID_1355 {} + + /// + /// Prescription Origin Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,")] + public class X12_ID_1356 {} + + /// + /// Prior Authorization Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,4,5,6,7,")] + public class X12_ID_1357 {} + + /// + /// Prosthesis, Crown or Inlay Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",I,R,")] + public class X12_ID_1358 {} + + /// + /// Provider Accept Assignment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,P,")] + public class X12_ID_1359 {} + + /// + /// Provider Agreement Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",D,E,H,I,N,P,Y,")] + public class X12_ID_1360 {} + + /// + /// Oral Cavity Designation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",00,01,02,03,04,05,06,07,08,09,10,20,30,40,L,R,")] + public class X12_ID_1361 {} + + /// + /// Related-Causes Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AB,AP,EM,OA,ZZ,")] + public class X12_ID_1362 {} + + /// + /// Release of Information Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,I,M,N,O,Y,")] + public class X12_ID_1363 {} + + /// + /// Review Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,L,N,")] + public class X12_ID_1364 {} + + /// + /// Service Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AQ,AR,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BP,BQ,BR,BS,")] + public class X12_ID_1365 {} + + /// + /// Special Program Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,")] + public class X12_ID_1366 {} + + /// + /// Subluxation Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",C1,C2,C3,C4,C5,C6,C7,CO,IL,L1,L2,L3,L4,L5,OC,SA,T1,T10,T11,T12,T2,T3,T4,T5,T6,T7" + + ",T8,T9,")] + public class X12_ID_1367 {} + + /// + /// Tooth Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",E,I,M,X,")] + public class X12_ID_1368 {} + + /// + /// Tooth Surface Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,D,F,I,L,M,O,")] + public class X12_ID_1369 {} + + /// + /// Unit Dose Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,4,5,6,7,8,Z,")] + public class X12_ID_1370 {} + + /// + /// Measurement Method or Device + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BM,BO,DM,FT,MA,MM,OM,PT,TM,VA,VB,VC,")] + public class X12_ID_1373 {} + + /// + /// Payment Adjustment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1374 {} + + /// + /// Investor Reporting Action Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,1A,1B,1C,1D,1E,1F,1G,1H,1J,1K,IL,")] + public class X12_ID_1376 {} + + /// + /// Waybill Cross-Reference Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",W1,W2,W3,W4,W5,W6,W7,W8,W9,")] + public class X12_ID_1378 {} + + /// + /// Loan Verification Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,3,4,5,6,7,8,9,")] + public class X12_ID_1379 {} + + /// + /// Oxygen Delivery System Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,")] + public class X12_ID_1382 {} + + /// + /// Claim Submission Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",00,01,02,03,05,07,08,09,15,16,17,18,20,22,27,28,29,PB,")] + public class X12_ID_1383 {} + + /// + /// Patient Location Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,L,M,O,P,R,S,T,")] + public class X12_ID_1384 {} + + /// + /// Rate Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,2,2A,3,4,5,6,7,8,9,BA,CF,CM,CR,CX,DA,DI,DR,DS,IR,NB,NC,PB,PF" + + ",RR,SR,ST,UF,")] + public class X12_ID_1387 {} + + /// + /// Sales Terms Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CH,DD,GA,IF,LC,MB,NC,OA,SA,SB,SD,ST,ZZ,")] + public class X12_ID_139 {} + + /// + /// Eligibility or Benefit Information + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,2,3,4,5,6,7,8,A,B,C,CB,D,E,F,G,H,I,J,K,L,M,MC,N,O,P,Q,R,S,T,U,V,W,X,Y,")] + public class X12_ID_1390 {} + + /// + /// Media Type Identifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",MI,NE,RD,TV,")] + public class X12_ID_1393 {} + + /// + /// Configuration Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,B,C,S,")] + public class X12_ID_1395 {} + + /// + /// Equipment Use Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,G,R,")] + public class X12_ID_1396 {} + + /// + /// Inquiry Selection Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,")] + public class X12_ID_1398 {} + + /// + /// Proposal Data Detail Identifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,")] + public class X12_ID_1401 {} + + /// + /// Equipment Attribute Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",ATM,C02,CLE,DHT,DWI,FAP,GEN,LIN,MCP,MOI,N2,NDO,NOI,ODF,PCO,PRE,PSE,RAD,RUS,SLI,S" + + "MO,STE,SUB,SUR,TBT,TEC,VOD,VOS,YEA,")] + public class X12_ID_1402 {} + + /// + /// Implant Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1403 {} + + /// + /// Implant Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,")] + public class X12_ID_1404 {} + + /// + /// Investor Ownership Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,")] + public class X12_ID_1407 {} + + /// + /// Remittance Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,")] + public class X12_ID_1408 {} + + /// + /// Usage Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,P,R,")] + public class X12_ID_1413 {} + + /// + /// Title Insurance Services Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AP,CL,CP,ES,MP,PP,SE,SP,SV,TC,TD,TI,TP,ZZ,")] + public class X12_ID_1420 {} + + /// + /// Damage Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",NW,PE,RP,UK,ZZ,")] + public class X12_ID_1422 {} + + /// + /// License Plate Type + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AM,AP,AQ,AR,AT,BU,CC,CI,CO,CU,DA,DB,DD,DL,DP,DU,DV,DX,EX,FD,FG,FM,IP,IT,JJ,LE,LF" + + ",LS,MC,MD,MF,ML,MP,MV,NG,OB,OL,PC,PE,PH,PX,RE,RI,RP,RV,S1,SC,SN,ST,SV,TK,TL,TM,T" + + "P,TR,TX,US,UV,VF,VN,")] + public class X12_ID_1423 {} + + /// + /// Recovery Classification Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,")] + public class X12_ID_1425 {} + + /// + /// Recovery Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,2,3,4,5,6,7,8,9,A,B,C,D,E,F,Z,")] + public class X12_ID_1426 {} + + /// + /// Master In-bond Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,P,")] + public class X12_ID_1428 {} + + /// + /// Construction Type + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",0,1,2,3,4,5,6,7,8,9,A,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,B,C,D,E,F,G,H,I,J,K,L,M,N" + + ",O,P,Q,R,S,T,U,V,W,X,Y,Z,")] + public class X12_ID_1429 {} + + /// + /// Transaction Set Identifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",100,101,104,105,106,107,108,109,110,112,120,121,124,125,126,127,128,129,130,131,135,138,139,140,141,142,143,144,146,147,148,149,150,151,152,153,154,155,157,159,160,161,163,170,175,176,180,185,186,188,189,190,191,194,195,196,197,198,199,200,201,202,203,204,205,206,210,211,212,213,214,215,216,217,218,219,220,222,223,224,225,242,244,248,249,250,251,252,255,256,260,261,262,263,264,265,266,267,268,270,271,272,273,275,276,277,278,280,285,286,288,290,300,301,303,304,306,309,310,311,312,313,315,317,319,321,322,323,324,325,326,350,352,353,354,355,356,357,358,361,362,404,410,411,414,417,418,419,420,421,422,423,425,426,429,431,432,433,434,435,436,437,440,451,452,453,455,456,460,463,466,468,470,475,485,486,490,492,494,500,501,503,504,511,517,521,527,536,540,561,567,568,601,602,620,622,625,650,715,805,806,810,811,812,813,814,815,816,818,819,820,821,822,823,824,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,891,893,894,895,896,920,924,925,926,928,940,943,944,945,947,980,990,994,996,997,998,")] + public class X12_ID_143 {} + + /// + /// Preference + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,D,N,O,")] + public class X12_ID_1431 {} + + /// + /// Shipment Method of Payment + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",11,BP,CA,CC,CD,CF,DE,DF,FO,HP,MX,NC,NR,PA,PB,PC,PD,PE,PL,PO,PP,PS,PU,RC,RF,RS,TP" + + ",WC,")] + public class X12_ID_146 {} + + /// + /// Proximity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AB,BL,BO,EB,EO,FO,IN,LO,NB,NE,NL,NO,NW,RO,SB,SE,SO,SW,WB,WO,ZZ,")] + public class X12_ID_1465 {} + + /// + /// Location Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AB,AC,AD,AE,AF,AL,AT,FC,LL,PL,RC,RL,TT,VL,WB,WE,WK,WL,WS,WX,ZZ,")] + public class X12_ID_1466 {} + + /// + /// Reason Stopped Work Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",10,11,12,13,14,15,16,17,18,19,D1,D2,F1,F2,L1,L2,L3,L4,M1,M2,M3,M4,M5,O1,O2,O3,O4" + + ",O5,O6,O7,Q1,R1,V1,V2,V3,V4,V5,")] + public class X12_ID_1468 {} + + /// + /// Affected Area or Section Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,")] + public class X12_ID_1469 {} + + /// + /// Shipment Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,")] + public class X12_ID_147 {} + + /// + /// Pricing Methodology + /// + [Serializable()] + [DataContract()] + [EdiCodes(",00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,")] + public class X12_ID_1473 {} + + /// + /// Language Proficiency Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,A,B,C,D,E,")] + public class X12_ID_1476 {} + + /// + /// Problem Log Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",ES,MC,ME,MP,PE,RP,SH,SP,TC,TD,")] + public class X12_ID_1484 {} + + /// + /// Service Commitment Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,R,")] + public class X12_ID_1485 {} + + /// + /// Retrip Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",BO,CI,CU,DE,ET,HL,HR,HW,ID,MS,MV,OK,OP,RR,SI,SK,SL,SO,TA,TC,TD,TM,TR,WA,WC,WD,WE" + + ",WI,WT,")] + public class X12_ID_1487 {} + + /// + /// Bad Order Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,")] + public class X12_ID_1488 {} + + /// + /// Hold Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CC,CW,DE,EM,HI,LI,MI,MS,NB,OC,OI,WG,")] + public class X12_ID_1489 {} + + /// + /// Parameter Trace Registration Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1491 {} + + /// + /// Parameter Trace Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,3,4,6,8,A,B,C,P,R,")] + public class X12_ID_1492 {} + + /// + /// Output Event Selection Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,E,F,G,H,L,P,")] + public class X12_ID_1493 {} + + /// + /// Property Description Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,26,27,28,29" + + ",30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,5" + + "6,")] + public class X12_ID_1496 {} + + /// + /// Rate Application Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",DE,OR,")] + public class X12_ID_1499 {} + + /// + /// Special Charge or Allowance Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",002,003,004,005,006,007,008,009,010,011,012,015,016,017,020,025,026,027,028,029," + + "030,031,032,035,040,045,050,055,060,065,070,075,080,085,090,095,100,105,110,115," + + "120,135,140,145,150,155,160,165,170,175,180,185,186,190,205,210,215,220,225,230," + + "235,240,245,250,255,260,265,270,275,280,285,290,295,297,300,310,315,320,325,335," + + "340,345,350,355,360,365,370,375,380,385,390,392,393,395,400,405,410,415,416,420," + + "425,426,430,435,440,445,450,455,460,462,465,470,475,480,485,490,495,500,505,510," + + "515,520,525,535,540,545,550,555,560,565,570,580,585,586,590,593,595,600,605,610," + + "615,620,625,635,640,641,645,650,665,670,675,680,685,690,695,696,697,700,705,706," + + "720,725,730,731,732,735,736,740,745,750,760,761,762,999,AAA,AAJ,AAM,AAN,AAO,AAS," + + "AAT,ABC,ABL,ACD,ACF,ACH,ACL,ACS,ADH,ADL,ADV,AFB,AFC,AGS,AIB,AIC,AIR,ALC,ALP,AMB," + + "AMC,AMP,ANB,ANC,ANS,APL,APT,ARB,ARC,ARG,ARR,ASC,AUX,AVA,BAA,BAB,BAC,BAD,BAF,BAP," + + "BAS,BBK,BDX,BEY,BFD,BKA,BLA,BLC,BLD,BLK,BLW,BND,BOB,BOP,BRA,BRD,BRG,BSC,BSS,BTC," + + "BU2,BU4,BUA,BUR,BYD,CA1,CA2,CA4,CAA,CAC,CAD,CAE,CAF,CAG,CAH,CAJ,CAK,CAL,CAO,CAP," + + "CAQ,CAR,CAS,CAV,CAW,CAZ,CBL,CBO,CBP,CBR,CBW,CBX,CCA,CCH,CCP,CCR,CCS,CDA,CDD,CDF," + + "CDR,CER,CFC,CFL,CGC,CGL,CGR,CGT,CHE,CHG,CHN,CIR,CIS,CLC,CLD,CLN,CLS,CMC,CMF,CMI," + + "CMP,CNS,CNV,COA,COC,COD,COF,COL,COM,CON,COP,COR,COU,CPA,CPC,CPE,CPP,CRA,CRF,CRP," + + "CRR,CRS,CSA,CSC,CSE,CSF,CSP,CSR,CST,CTA,CTC,CTD,CTE,CTF,CTG,CTL,CTO,CTR,CTX,CUA," + + "CUD,CUF,CUP,CUS,DAA,DAB,DAC,DAD,DAM,DBD,DBL,DBP,DCE,DCS,DCT,DCV,DDA,DDC,DDD,DDF," + + "DDN,DDP,DDS,DDZ,DEA,DED,DEL,DEM,DEP,DER,DES,DET,DEV,DEW,DEZ,DFD,DFM,DFS,DFW,DGE," + + "DGS,DIC,DIR,DIS,DIV,DLH,DLP,DMC,DMD,DNA,DOC,DON,DOV,DPB,DPD,DPE,DPL,DPR,DPT,DPU," + + "DRC,DRP,DRV,DRY,DSC,DSF,DSM,DSR,DST,DTA,DTB,DTC,DTD,DTF,DTL,DTP,DTU,DTV,DWC,DWP," + + "EAC,EAX,EBD,EBP,ECC,ECR,ECS,EDD,EDO,EEA,EEB,EEC,EEF,EEG,EEH,EEP,EEX,EIC,ELS,EMR," + + "EMS,EMT,ENC,ENS,EPC,EPS,ERS,ERT,ESA,ESC,ESD,ESE,ETR,EUC,EVC,EXC,EXD,EXL,EXM,EXP," + + "EXS,EXW,EXZ,FAB,FAC,FAD,FAE,FAF,FAG,FAH,FAK,FBD,FCB,FCD,FCI,FCS,FDL,FDS,FFC,FFI," + + "FFL,FFN,FFP,FFR,FFS,FIR,FLS,FLT,FMR,FMS,FRC,FTC,FTR,FUE,FWA,FWC,FXE,GAR,GAT,GDR," + + "GGA,GGF,GKT,GMS,GOC,GPD,GRD,GRS,GSP,GSS,GST,HAN,HAZ,HBD,HDF,HDG,HDH,HDW,HET,HFA," + + "HHA,HHB,HHG,HIC,HLF,HMA,HMI,HOC,HOL,HOS,HOX,HRS,HSC,HUL,HZC,HZD,HZS,IAA,IAB,IAC," + + "ICE,IDC,IDD,IDL,IDP,IFC,IHT,IIA,IIH,IIP,IIU,ILD,ILF,ILP,IMP,IMS,INC,INP,INR,INS," + + "INT,IPC,IPU,IRA,ISD,ISO,IST,ITC,ITS,JST,KIT,LAA,LAB,LAC,LAD,LAE,LAL,LAT,LAY,LBR," + + "LC2,LC4,LCG,LCL,LCR,LDA,LDG,LDL,LDS,LEC,LFC,LFD,LFT,LGD,LHS,LID,LIE,LLB,LLC,LLD," + + "LLF,LLS,LMC,LMD,LME,LNT,LOA,LOC,LPC,LPD,LPF,LQD,LSC,LSH,LSS,LTC,LTE,LUB,LUP,LUS," + + "LYC,MAA,MAB,MAC,MAD,MAE,MAR,MAT,MCC,MDG,MDM,MEA,MEN,MES,MET,MFC,MFG,MGA,MGC,MIC," + + "MIL,MIN,MKU,MLB,MLS,MMC,MMF,MMS,MMT,MNC,MNS,MPC,MRK,MRP,MSC,MSG,MTR,MUS,MVR,MVS," + + "MVT,NAA,NAB,NAL,NCH,NDS,NFY,NHB,NSD,NWD,NYD,NYP,OAA,OAB,OAC,OCH,OCN,ODF,OFR,OFU," + + "ONC,OOC,OOD,OOF,OPC,ORC,ORM,OSC,OSO,OSS,OUT,OVR,OWC,PAA,PAC,PAD,PAE,PAF,PAG,PAH," + + "PAI,PAJ,PAK,PAL,PAR,PAT,PAV,PBA,PBE,PBL,PCH,PCT,PDB,PDC,PDS,PDY,PEC,PEN,PER,PFA," + + "PHC,PHG,PIR,PKS,PLC,PLT,PMC,PMR,PMS,PMT,PMU,PMX,PNA,POC,POD,POL,POS,PPC,PPD,PPH," + + "PPI,PPM,PPN,PPO,PPR,PPS,PPT,PPU,PRB,PRC,PRE,PRK,PRL,PRM,PRP,PRS,PRV,PSC,PSD,PSG," + + "PSH,PSS,PST,PTC,PTS,PUC,PUD,PUK,PVB,PVD,PVI,PVL,PVP,PVS,PVT,PWH,PWT,PYS,QAA,QQD," + + "RAA,RAB,RAC,RAD,RAE,RAF,RAG,RAH,RAI,RAJ,RAK,RAL,RAM,RCA,RCB,RCC,RCD,RCE,RCG,RCL," + + "RCP,RCS,RDC,RDF,RDH,REC,REE,REF,REG,REL,REP,REQ,RES,RET,RFD,RFM,RGA,RGC,RHM,RID," + + "RIE,RLA,RLC,RLQ,RLS,RMB,RMC,RMD,RMP,RMS,ROC,RPC,RPD,RRC,RRD,RRF,RRN,RRP,RRR,RSM," + + "RSP,RSS,RST,RSV,RTC,SAA,SAB,SAC,SAD,SAE,SAF,SAG,SAH,SAI,SAJ,SAK,SAM,SAN,SAP,SAS," + + "SAT,SBC,SBL,SCC,SCD,SCG,SCL,SCU,SDC,SDL,SDS,SEC,SEE,SEG,SEL,SEQ,SER,SEV,SFB,SFC," + + "SFD,SFE,SFT,SGL,SHH,SHL,SHS,SHW,SKT,SLC,SLP,SMS,SNS,SNT,SOC,SOP,SPA,SPB,SPC,SPD," + + "SPL,SPP,SPS,SPT,SPU,SRG,SRS,SSA,SSB,SSC,SSF,SSL,SSO,SSP,SSS,SST,SSU,SSX,STA,STC," + + "STD,STF,STL,STM,STO,STP,STQ,STR,STW,SUC,SUF,SUP,SUR,SVA,SVL,SVS,SWC,TAA,TAB,TAC," + + "TAD,TAE,TAF,TAG,TAH,TAI,TAJ,TAK,TAL,TAR,TAX,TAY,TCB,TCM,TDT,TER,TLC,TMS,TMV,TOA," + + "TOC,TPA,TPC,TPS,TRA,TRC,TRE,TRF,TRM,TRN,TRP,TRS,TRU,TSC,TSS,TST,TTA,TTB,TTD,TTL," + + "TTM,TTP,TTR,TTS,TTT,TTU,TTV,TUR,TWO,UFC,UND,UNL,UPD,UPK,URC,USF,USV,USW,UTL,UTP," + + "UUC,UUM,UUT,VAA,VAB,VCL,VCR,VEX,VFN,VIS,VIT,VOR,VSO,VTS,VVL,VVP,WAR,WAT,WBB,WCT," + + "WDS,WEA,WEI,WFG,WFH,WFT,WHC,WRB,WRC,WRE,WRI,WSA,WTG,WTM,WTV,WWC,Z01,Z02,Z03,Z04," + + "Z05,Z06,Z07,Z08,Z09,Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24," + + "Z25,Z26,Z27,Z28,Z29,Z30,Z31,Z32,Z33,Z34,Z35,ZFF,ZZZ,")] + public class X12_ID_150 {} + + /// + /// Type of Deduction + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CS,II,IO,IT,RI,RO,RT,")] + public class X12_ID_1511 {} + + /// + /// Delay Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,11,15,16,17,2,3,4,5,6,7,8,9,")] + public class X12_ID_1514 {} + + /// + /// Special Handling Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",045,15,170,25,35,45,510,520,550,555,565,570,585,665,670,675,761,A1M,A3M,A5M,AAS," + + "AB,ADL,AFN,AGG,AGS,AIB,AK,ALP,ALT,AMM,ANC,APD,APL,ARC,ARG,ARR,ART,ASY,AT,AUX,AV," + + "AW,BA,BCP,BKA,BL,BLK,BLS,BN,BNS,BOX,BU2,BU4,BUA,BW,CA2,CA4,CAR,CC,CCB,CCH,CCS,CD" + + ",CDD,CE,CF,CFC,CFL,CGC,CGR,CGT,CH,CHN,CI,CIP,CIS,CLN,CLS,CM,CMD,CNL,CNS,CO,CON,C" + + "OR,COU,COV,CPC,CPM,CR,CRL,CSD,CSP,CTL,CTM,CTR,CUF,CW,CX,CY,DA,DBL,DBP,DCS,DDN,DD" + + "P,DDS,DDZ,DE,DEL,DEP,DET,DEZ,DFD,DFM,DFS,DIS,DLP,DLR,DM,DN,DNC,DNF,DNT,DOC,DOV,D" + + "PB,DPD,DPE,DPL,DPT,DPU,DR,DRO,DRU,DS,DSK,DSM,DSR,DSV,DT,DTB,DTP,DTV,DU,DV,DW,DWP" + + ",EAX,ECR,ECS,ED,EDD,EDO,EE,EED,EL,ELS,EMR,EMT,END,EP,ER,ERS,ERT,EV,EW,EX,EXC,EXD" + + ",EXL,EXO,EXP,EXQ,EXT,EXU,EXZ,EZE,FA,FAK,FAS,FB,FC,FCS,FD,FFC,FFS,FG,FL,FLS,FP,FP" + + "T,FR,FRZ,FS,FST,FTR,GI,GMS,GOC,GSP,GSS,HAL,HAN,HBR,HDH,HDW,HE,HEA,HES,HET,HH,HM," + + "HMA,HMI,HO,HOL,HOR,HOS,HOX,HP,HQT,HR,HRS,HT,HTI,HV,HW,HZC,HZD,IB,IC,ID,IDC,IDL,I" + + "IH,IM,IMP,IMS,INT,IP,IPU,IR,IS,ITS,JIT,JLX,JS,KEG,KMD,LAB,LAY,LB,LBL,LBR,LBT,LC," + + "LC2,LC4,LCL,LD,LEC,LF,LFD,LHS,LIE,LMD,LME,LN,LP,LPD,LR,LS,LT,LTE,LTT,LYC,MAT,MC," + + "MEN,MES,MET,MF,MIN,MNS,MOT,MP,MR,MRF,MSS,MTE,MVS,NC,ND,NE,NH,NHC,NHL,NI,NP,NPR,N" + + "S,NSV,NT,NW,NX,OAH,OBL,OCA,OCL,OCN,OCS,OCV,ODI,OEH,OFH,OFU,OHC,OIL,ONC,ONS,OOB,O" + + "OD,OOL,OPR,OPT,OS,OSB,OST,OTC,OTD,OTH,OTO,OTS,OUC,OUW,OV,OVR,OWC,OWR,PAJ,PAV,PB," + + "PD,PDS,PDY,PER,PFH,PG,PHR,PI,PIR,PMM,PMR,PMS,PMT,POC,PPD,PRL,PRT,PS,PSG,PSS,PTS," + + "PUC,PUD,PUK,PUP,PVB,PVD,PVI,PVL,PVP,PVS,PVT,PW,PYS,RA,RB,RC,RCC,RCL,RDH,RDR,REP," + + "RES,RFM,RIE,RLS,RM,RMC,RMP,RMS,RO,RPD,RR,RRR,RS,RSP,RSS,RSV,RT,RWR,SAS,SAT,SB,SC" + + ",SCC,SCL,SD,SDL,SDS,SE,SEC,SED,SEE,SER,SEV,SFB,SFD,SFE,SFT,SGL,SH,SHH,SHL,SHW,SI" + + ",SK,SKT,SLC,SM,SMP,SMS,SNM,SNS,SNT,SOC,SOL,SP,SPC,SPR,SPT,SPU,SR,SRG,SRS,SSC,SSN" + + ",SSU,ST,STA,STD,STO,STP,STR,SUA,SUB,SUP,SVS,SW,TA,TC,TDC,TDP,TER,TF,TLS,TMS,TMV," + + "CA,TOF,TPS,TRA,TRK,TRL,TRM,TRN,TRP,TRS,TRT,TS,TSC,TSP,TSS,TT,TV,UB,UFC,UI,UL,UN," + + "UP,UPK,UR,URC,US,UTL,VAC,VAN,VCL,VFN,VIS,VN,VSO,VT,VTS,WB,WBB,WCT,WD,WDS,WE,WFG," + + "WH,WI,WM,WO,WRB,WRI,WTV,WW,XP,XT,ZZZ,")] + public class X12_ID_152 {} + + /// + /// Display Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,")] + public class X12_ID_1520 {} + + /// + /// Marketing Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,")] + public class X12_ID_1521 {} + + /// + /// Coupon Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AB,AC,AD,AE,AF,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,")] + public class X12_ID_1522 {} + + /// + /// Labor Activity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AB,AC,AD,AE,AF,AG,AH,")] + public class X12_ID_1523 {} + + /// + /// Request Category Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AR,BA,HS,IN,PR,RE,SC,")] + public class X12_ID_1525 {} + + /// + /// Policy Compliance Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,")] + public class X12_ID_1526 {} + + /// + /// Exception Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,")] + public class X12_ID_1527 {} + + /// + /// Net Cost Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,")] + public class X12_ID_1540 {} + + /// + /// Equipment Orientation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,")] + public class X12_ID_1543 {} + + /// + /// Preferential Duty Criteria Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,")] + public class X12_ID_1546 {} + + /// + /// Convertibility Rate Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,ZZ,")] + public class X12_ID_1549 {} + + /// + /// Index Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,")] + public class X12_ID_1550 {} + + /// + /// Option Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,11,12,13,2,3,4,5,6,7,8,9,ZZ,")] + public class X12_ID_1552 {} + + /// + /// License Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A1,A2,C1,C2,C3,F1,MV,P1,R1,S1,U1,U2,U3,U4,")] + public class X12_ID_1553 {} + + /// + /// Tag Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,R,S,U,W,")] + public class X12_ID_1554 {} + + /// + /// Automatic Equipment Identification Consist Confidence Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,D,G,M,")] + public class X12_ID_1555 {} + + /// + /// Train Termination Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,O,T,")] + public class X12_ID_1556 {} + + /// + /// Movement Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,")] + public class X12_ID_1557 {} + + /// + /// Academic Summary Source + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,")] + public class X12_ID_1558 {} + + /// + /// Automatic Equipment Identification Site Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,M,O,Q,R,S,T,U,V,X,Y,Z,")] + public class X12_ID_1559 {} + + /// + /// Interchange Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,E,I,N,O,P,R,S,T,V,W,")] + public class X12_ID_1560 {} + + /// + /// Rail Junction Settlement Role Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",L,S,")] + public class X12_ID_1561 {} + + /// + /// Shipment Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",2,3,A,A1,A2,A3,A4,AA,AC,AD,AE,AF,AG,AH,AI,AJ,AL,AM,AN,AO,AP,AR,AV,AW,B,BA,BC,BD,BE,BF,BR,C,C1,C2,CA,CB,CC,CD,CI,CO,CR,CS,CT,CU,CV,D,DA,DC,DN,DP,DR,DS,DT,E,EA,ED,EE,EI,EP,ER,F,FP,FT,G,GI,GO,H,HA,HE,HF,HG,HH,HI,HR,I,IB,IR,J,K,L,LD,LP,MT,N,NC,ND,NF,NH,NO,NP,NR,NS,NT,NU,O,OA,OB,OF,OH,ON,P,PA,PB,PC,PD,PE,PF,PG,PH,PI,PJ,PK,PL,PM,PN,PO,PP,PQ,PR,PS,PT,PU,PV,PW,PX,R,RA,RB,RC,RD,RI,RL,RN,S,SA,SB,SC,SD,SI,SN,T,TC,TM,TO,U,UA,UB,UC,UD,UE,UP,UR,UV,UW,V,VA,VD,W,WH,WR,X,X1,X2,X3,X4,X5,X6,X7,X8,X9,XA,XB,Y,Z,ZZ,")] + public class X12_ID_157 {} + + /// + /// Filter ID Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",ASB,ASC,HDC,R64,UUE,ZZZ,")] + public class X12_ID_1570 {} + + /// + /// Security Value Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",ASV,CRT,PUB,")] + public class X12_ID_1572 {} + + /// + /// Inspected/Weighed Indicator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",IB,II,IW,")] + public class X12_ID_1576 {} + + /// + /// Hazardous Material Regulations Exception Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1577 {} + + /// + /// Export Exception Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CN,DP,GS,HH,HR,MS,PP,UP,UR,")] + public class X12_ID_1578 {} + + /// + /// Accrual Rate Method Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",S,W,X,")] + public class X12_ID_1579 {} + + /// + /// Shape Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CN,CY,OV,RL,SQ,TR,")] + public class X12_ID_1585 {} + + /// + /// Political Party Affiliation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AM,CM,CN,DM,FR,GN,GR,IN,LL,LR,LT,NP,OT,PF,RL,RP,SC,SL,TX,ZZ,")] + public class X12_ID_1588 {} + + /// + /// Asset Liability Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",A1,A2,A3,A4,A5,A6,A7,A8,B1,B2,B3,B4,B5,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D1,D2,D3,D4,D5,D6,E1,E2,E3,E4,E5,E6,F1,G1,G2,G3,G4,G5,G6,H1,H2,H3,I1,I2,I3,I4,I5,I6,I7,J1,L1,L2,L3,L4,M1,M2,M3,M4,M5,M6,N1,N2,N3,N4,N5,O1,O2,O3,P1,P2,P3,P4,P5,P6,P7,P8,P9,PA,R1,R2,R3,R4,R5,S1,S2,S3,S4,S5,S6,S7,S8,S9,SA,SB,SC,SD,SE,SF,SG,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,U1,U2,U3,W1,ZZ,")] + public class X12_ID_1590 {} + + /// + /// Type of Activity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",24,A1,A2,A3,A4,A5,A7,A8,A9,AA,AB,AC,AD,AE,AF,AH,AI,B1,B2,B3,B4,B5,B6,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,D1,D2,DR,E1,E2,F1,F2,F3,F4,F5,G1,G2,G3,H1,H2,H3,H4,I1,I2,I3,I4,I5,I6,J1,J2,K1,K2,M1,M2,M3,M4,M5,M6,M7,M8,M9,MA,MB,MC,MD,ME,MF,MG,MH,MI,MJ,MK,ML,N1,O1,O2,O3,O4,O5,O6,P1,P2,P3,P4,P5,P6,P7,P8,P9,PA,PB,PC,R1,R2,R3,S1,S2,S3,S4,S5,S6,S7,S8,S9,SA,SB,SC,SD,SE,SF,SG,T1,T2,U1,U2,U3,U4,W1,W2,W3,W4,")] + public class X12_ID_1591 {} + + /// + /// Type of Rating Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A1,A2,A3,A4,A5,B1,D1,D2,D3,D4,D5,F1,F2,F3,G1,I1,I2,I3,I4,I5,L1,M1,M2,N1,N2,P1,R1" + + ",S1,S2,S3,S4,U1,V1,")] + public class X12_ID_1592 {} + + /// + /// Controlled Substance Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A1,A2,B1,B2,B3,C1,C2,C3,C4,C5,C6,C7,C8,D1,H1,H2,H3,H4,H5,L1,M1,M2,M3,N1,N2,N3,O1" + + ",O2,P1,P2,P3,P4,P5,S1,S2,S3,S4,S5,S6,T1,T2,W1,")] + public class X12_ID_1594 {} + + /// + /// Government Service Affiliation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,")] + public class X12_ID_1595 {} + + /// + /// Military Service Rank Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A1,A2,A3,B1,B2,C1,C2,C3,C4,C5,C6,C7,C8,C9,E1,F1,F2,F3,F4,G1,G4,L1,L2,L3,L4,L5,L6" + + ",M1,M2,M3,M4,M5,M6,P1,P2,P3,P4,P5,R1,R2,S1,S2,S3,S4,S5,S6,S7,S8,S9,SA,SB,SC,T1,V" + + "1,W1,")] + public class X12_ID_1596 {} + + /// + /// Hazardous Vehicle Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,B1,B2,B3,B4,B5,B6,C1,C2,C3,C4,C5,C6,C7,C8,C9,D1,D2,D3,D4,D5,D6,D7,D8,E1,E2,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,G1,G2,G3,G4,G5,H1,H2,H3,H4,H5,H6,I1,I2,I3,J1,J2,J3,J4,K1,L1,L2,L3,L4,M1,M2,M3,M4,M5,M6,M7,M8,M9,MA,MB,MC,MD,O1,O2,O3,O4,P1,P2,P3,P4,P5,P6,R1,R2,R3,S1,S2,S3,S4,S5,S6,S7,S8,S9,SA,SB,SC,SD,SE,SF,SG,T1,T2,T3,T4,U1,U2,U3,U4,V1,V2,V3,W1,")] + public class X12_ID_1599 {} + + /// + /// Charge Method of Payment + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,P,")] + public class X12_ID_16 {} + + /// + /// Status Report Request Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,P,R,S,")] + public class X12_ID_160 {} + + /// + /// Freight Rate Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CW,FR,PE,PF,PG,PM,PR,PT,SY,")] + public class X12_ID_1600 {} + + /// + /// Rated-as Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AS,BW,CF,DW,FR,GA,HR,HW,MI,SY,TR,UN,")] + public class X12_ID_1601 {} + + /// + /// Bill of Lading Charge Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",ADF,ADV,BLK,COD,COL,DEL,DEP,DET,DIB,DSC,EIC,EXC,FLT,FSC,IDL,IPU,LDA,LDL,MIL,MIN," + + "MRK,MSG,ONC,PLA,PWH,REP,RES,SOC,SPU,SRG,SUF,ZZZ,")] + public class X12_ID_1602 {} + + /// + /// Animal Disposition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,ZY,ZZ,")] + public class X12_ID_1606 {} + + /// + /// Test Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,ZZ,")] + public class X12_ID_1607 {} + + /// + /// Related Data Identification Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AI,AN,DFI,DT,EI,ES,IN,LI,MA,MV,PO,PR,PS,QY,RP,RS,RT,TT,TX,UP,")] + public class X12_ID_1609 {} + + /// + /// International Dutiable Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",DO,LT,ND,ZZ,")] + public class X12_ID_1610 {} + + /// + /// Observation Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,ZZ,")] + public class X12_ID_1611 {} + + /// + /// Tissue or Specimen Disposition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,I,M,N,U,")] + public class X12_ID_1612 {} + + /// + /// Neoplasm Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,M,S,U,")] + public class X12_ID_1617 {} + + /// + /// Parturition Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,D,I,")] + public class X12_ID_1619 {} + + /// + /// Offspring Count Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,ZZ,")] + public class X12_ID_1620 {} + + /// + /// Offspring/Fetus Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,ZY,ZZ,")] + public class X12_ID_1622 {} + + /// + /// Interest Rate Calculation Method Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_1626 {} + + /// + /// Underwriting Method Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,T,")] + public class X12_ID_1627 {} + + /// + /// Information Request Result Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,Z,")] + public class X12_ID_1629 {} + + /// + /// Stop Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AL,CL,CN,CU,DR,DT,HT,IN,LD,LE,PA,PL,PU,RT,SL,SU,TL,UL,WL,")] + public class X12_ID_163 {} + + /// + /// Thoroughfare Type Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,A,B,C,D,E,F,G,H,I,J,M,S,V,W,Z,")] + public class X12_ID_1630 {} + + /// + /// Thoroughfare Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,H,L,R,S,Z,")] + public class X12_ID_1631 {} + + /// + /// General Territory Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,2,3,4,5,6,7,8,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,")] + public class X12_ID_1632 {} + + /// + /// Financial Statement Format Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,E,G,H,Z,")] + public class X12_ID_1633 {} + + /// + /// Business Professional Title Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,1A,1B,1C,1D,1E,1F,1G,1H,1J,1K,1L,1M,1N,1O,1P,1Q,1R,1S,1T,1U,1V,1W,1X,1Y,1Z,2,2" + + "A,2B,2C,2D,2E,2F,2G,2H,2I,2J,2K,2L,2M,2N,2O,2P,2Q,2R,2S,2T,2U,2V,2W,2X,3,4,5,6,7" + + ",8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,")] + public class X12_ID_1634 {} + + /// + /// General Property Ownership Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,J,L,M,S,U,Z,")] + public class X12_ID_1635 {} + + /// + /// Account Relationship Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,A,B,C,D,E,F,G,H,I,J,L,M,N,O,P,Q,R,S,T,U,Z,")] + public class X12_ID_1636 {} + + /// + /// Net/Gross Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",G,N,")] + public class X12_ID_1637 {} + + /// + /// Value Detail Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,C,Z,")] + public class X12_ID_1638 {} + + /// + /// Cryptographic Management Purpose + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CCP,CER,CEX,CRQ,CRT,CRV,CSR,PUB,")] + public class X12_ID_1642 {} + + /// + /// Service Request Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CO,CS,CT,FA,FP,RE,ST,")] + public class X12_ID_1644 {} + + /// + /// Shipment Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A3,A7,A9,AF,AG,AH,AI,AJ,AM,AN,AP,AR,AV,B6,BA,BC,C1,CA,CD,CL,CP,D1,I1,J1,K1,L1,OA" + + ",OO,P1,PR,R1,RL,S1,SD,X1,X2,X3,X4,X5,X6,X8,XB,")] + public class X12_ID_1650 {} + + /// + /// Shipment Status or Appointment Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",A1,A2,A3,A5,A6,AA,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,B1,B2,B4,B5,B8,B9,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,D1,D2,F1,F2,HB,NA,NS,P1,P2,P3,P4,RC,S1,T1,T2,T3,T4,T5,T6,T7,")] + public class X12_ID_1651 {} + + /// + /// Shipment Appointment Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AB,AC,ED,EP,LD,LP,X9,XA,")] + public class X12_ID_1652 {} + + /// + /// Premium Rate Pattern Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,")] + public class X12_ID_1656 {} + + /// + /// Premium Source Entity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,")] + public class X12_ID_1657 {} + + /// + /// Shipment or Work Assignment Decline Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CPT,CPU,EQT,EQU,LNH,PRM,WGT,")] + public class X12_ID_1658 {} + + /// + /// Look-up Value Protocol Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AB,AC,ZZ,")] + public class X12_ID_1675 {} + + /// + /// Insurer Guarantor Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,F,N,P,S,Z,")] + public class X12_ID_1678 {} + + /// + /// Insurer Coverage Indicator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,L,")] + public class X12_ID_1679 {} + + /// + /// Refinance Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AB,AC,")] + public class X12_ID_1680 {} + + /// + /// Primary Source of Index Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,")] + public class X12_ID_1681 {} + + /// + /// Tax Treatment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,N,")] + public class X12_ID_1685 {} + + /// + /// Time Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",0,1,2,3,4,5,6,7,8,9,A,B,C,CB,CE,D,E,ED,EP,F,G,H,I,J,K,L,LD,LP,M,N,O,P,Q,R,S,T,U," + + "V,W,X,Y,Z,")] + public class X12_ID_176 {} + + /// + /// Quantity or Status Adjustment Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",03,04,05,06,07,51,52,53,54,55,56,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AN,AP,AR,AS" + + ",AT,AU,AV,AW,AX,AY,BA,BD,BK,BM,BN,BR,BS,BT,CD,CO,CR,CS,PC,TC,UD,")] + public class X12_ID_181 {} + + /// + /// Volume Unit Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,C,D,E,F,G,H,L,M,N,R,S,T,U,V,X,")] + public class X12_ID_184 {} + + /// + /// Weight Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A,A1,A2,A3,A4,B,C,CD,CE,D,DR,E,F,FR,G,H,I,J,K,L,LC,M,N,ND,NI,NR,NT,O,P,PA,Q,R,RG" + + ",RN,RT,S,SF,SI,SK,SO,T,U,V,W,WA,WB,WG,WJ,X,Y,Z,")] + public class X12_ID_187 {} + + /// + /// Weight Unit Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",E,G,K,L,M,O,S,T,")] + public class X12_ID_188 {} + + /// + /// Accomplish Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,P,")] + public class X12_ID_190 {} + + /// + /// Agent/Shipper Routing Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,R,S,")] + public class X12_ID_192 {} + + /// + /// Capacity Load Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,F,G,M,T,V,")] + public class X12_ID_195 {} + + /// + /// Mortgagee Information Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AH,AS,BH,BS,NC,NH,NS,")] + public class X12_ID_197 {} + + /// + /// Confidential Billing Request Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,M,N,R,")] + public class X12_ID_199 {} + + /// + /// Business Transaction Status + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BNR,DCP,DNP,DPP,FCP,FNP,FPP,LGR,OBR,TCR,CAR,TPR,")] + public class X12_ID_201 {} + + /// + /// Correction Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AD,AI,AR,B1,BA,BD,BE,BO,CA,CM,CO,CP,CS,CT,CU,D1,DC,DE,DP,DS,EM,MB,MD,MR,NC,ND,PD" + + ",RB,RC,RD,RE,RL,SC,SP,TL,WC,")] + public class X12_ID_202 {} + + /// + /// Hazardous Material Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",4,6,9,A,C,D,E,F,I,R,T,U,X,")] + public class X12_ID_208 {} + + /// + /// International/Domestic Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",D,I,")] + public class X12_ID_210 {} + + /// + /// Packaging Form Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",AMM,BAG,BAL,BBL,BDL,BEM,BIC,BIN,BKG,BLK,BOB,BOT,BOX,BRG,BSK,BXI,BXT,CAB,CAG,CAN,CAR,CAS,CBC,CBY,CCS,CHE,CHS,CLD,CNA,CNB,CNC,CND,CNE,CNF,CNT,CNX,COL,CON,COR,CRD,CRT,CSK,CCA,CUB,CYL,DBK,DRK,DRM,DSK,DTB,DUF,ENV,FIR,FLO,FLX,FRM,FSK,FWR,GOH,HED,HGH,HPR,HPT,HRB,HRK,HTB,JAR,JUG,KEG,KIT,KRK,KTB,LBK,LIF,LOG,LSE,LUG,LVN,MLV,MRP,MSV,MXD,NOL,OVW,PAL,PCK,PCS,PIR,PKG,PLF,PLN,PLT,POV,PRK,QTR,RAL,RCK,REL,ROL,RVR,SAK,SBC,SCS,SHK,SHT,SID,SKD,SKE,SLP,SLV,SPI,SPL,SVN,TBE,TBN,TKR,TKT,TLD,CAK,TRC,TRI,TRK,TRU,TRY,TSS,TTC,TUB,UNP,UNT,VEH,VPK,WHE,WLC,WRP,")] + public class X12_ID_211 {} + + /// + /// Waybill Request Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,E,H,P,")] + public class X12_ID_214 {} + + /// + /// Metric Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",M,")] + public class X12_ID_216 {} + + /// + /// Billed/Rated-as Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AR,BA,BX,CC,CF,CM,DK,DM,DR,EA,FR,FT,GC,GL,KG,LB,LC,LH,LR,MR,MT,MV,NB,NC,ND,NG,NL" + + ",NN,NP,NR,NT,NU,NV,OR,PK,PR,RV,SP,ST,SY,TD,TH,CA,TR,VA,VC,VM,")] + public class X12_ID_221 {} + + /// + /// Section Seven Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,S,")] + public class X12_ID_226 {} + + /// + /// Commodity Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",2,3,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,Q,S,T,U,V,Z,")] + public class X12_ID_23 {} + + /// + /// Cross Reference Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,F,G,H,K,L,M,N,R,S,T,X,")] + public class X12_ID_231 {} + + /// + /// Product/Service ID Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,D1,D2,D3,D4,D5,DD,DE,DF,DG,DI,DL,DM,DN,DO,DP,DQ,DR,DS,DT,DU,DV,DW,DX,DY,DZ,E1,E2,E3,E4,E5,E6,EA,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EP,EQ,ER,ES,EU,EX,EZ,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE,FF,FG,FI,FL,FM,FN,FP,FS,FT,FW,GA,GC,GD,GE,GI,GK,GN,GQ,GR,GS,GU,HC,HD,HI,HN,IA,IB,IC,ID,IE,IF,IG,IM,IN,IP,IQ,IR,IS,IT,IV,IW,IZ,JA,JB,JC,JD,JN,JP,JS,KA,KB,KD,KE,KF,KG,KI,KJ,KK,KL,KM,KN,KP,L1,L2,L3,L4,L5,LA,LB,LC,LD,LG,LP,LR,LS,LT,LU,MA,MB,MC,MD,ME,MF,MG,MH,MI,MJ,MK,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,N1,N2,N3,N4,N5,N6,NC,ND,NE,NH,NM,NR,NU,NW,NZ,OA,OB,OC,OD,OE,OF,OG,OH,OI,OL,ON,OO,OP,OR,OT,P1,P2,P3,P4,P5,P7,P8,P9,PA,PB,PC,PD,PE,PF,PG,PH,PI,PJ,PK,PL,PM,PN,PO,PP,PQ,PR,PS,PT,PU,PV,PW,PX,PY,PZ,R1,R2,RA,RB,RC,RD,RE,RF,RG,RH,RI,RJ,RK,RL,RM,RN,RO,RP,RR,RS,RT,RU,RV,RW,RY,RZ,S2,S3,S4,S5,S6,S7,S8,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SP,SQ,SR,SS,ST,SU,SV,SW,SX,SY,SZ,T2,T3,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TM,CA,TP,TR,TS,TT,TU,TV,TW,TX,TY,TZ,U2,U3,U5,U6,UA,UB,UC,UD,UE,UF,UG,UH,UI,UJ,UK,UL,UM,UN,UO,UP,UQ,UR,US,UT,UV,UX,VA,VB,VC,VE,VI,VM,VN,VO,VP,VS,VT,VU,VV,VX,W1,W2,W5,W6,W7,WA,WC,WL,WR,WS,XA,XC,XP,XQ,XZ,YP,ZB,ZR,ZZ,")] + public class X12_ID_235 {} + + /// + /// Price Identifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",ACT,AGC,ALT,AWP,BBP,BCH,C01,C02,C03,C04,C05,C06,C07,C08,C09,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,CAN,CAT,CDF,CDV,CHG,CON,CUP,CUS,D01,D02,D03,DAP,DIS,DPR,DSC,DSD,DSP,EDM,EDP,EDS,EDW,ELC,EST,EUP,FCH,FCP,FDS,FET,FGP,FSP,FUL,FUP,GAP,GDP,GOV,GSP,GTP,ICL,IND,INS,INV,LAR,LPP,LPR,MAP,MAS,MAX,MIN,MNC,MNR,MOD,MPR,MSR,MXR,N01,N02,N03,N04,N05,N06,N07,N08,N09,N10,N11,N12,N13,N14,N15,N16,N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N27,N28,N29,N30,N31,NET,OAP,OPP,PAP,PAQ,PBQ,PBR,PHS,PIE,PLT,PPA,PPD,PRF,PRO,PRP,PUR,QTE,REG,RES,RPA,RPM,RPP,RSH,RTL,SAC,SDP,SFP,SHD,SLP,SPC,SPE,STA,SUM,SWP,THP,TOT,TRF,UCP,ULC,WAR,WHL,WSP,ZNP,")] + public class X12_ID_236 {} + + /// + /// Car Service Order Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",145,145A,145S,145X,150,150X,155,155A,155S,34617,34618,34619,435,435A,435S,439,CM" + + "D1A,CMD1S,CSR5,")] + public class X12_ID_240 {} + + /// + /// Protective Service Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,BC,D,HDN,HDNC,HSC,M,MN,MNU,")] + public class X12_ID_241 {} + + /// + /// Vent Instruction Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",V40,VC,VD40,VDOI,VO,VOI,VS,VS10,")] + public class X12_ID_242 {} + + /// + /// Certification/Clause Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,AM,CB,CC,CP,DC,DV,EE,E" + + "R,GS,HD,HN,IS,NF,")] + public class X12_ID_246 {} + + /// + /// Allowance or Charge Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,N,P,Q,R,S,")] + public class X12_ID_248 {} + + /// + /// Vessel Requirement Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",F,M,O,R,S,")] + public class X12_ID_249 {} + + /// + /// Automobile Ramp Facility Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,F,N,P,T,")] + public class X12_ID_253 {} + + /// + /// Manifest Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,M,P,S,T,V,W,X,Y,Z,")] + public class X12_ID_256 {} + + /// + /// Tariff Application Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,I,N,R,S,")] + public class X12_ID_257 {} + + /// + /// Change Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,T,W,X,")] + public class X12_ID_259 {} + + /// + /// Source of Disclosure Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,")] + public class X12_ID_261 {} + + /// + /// Geography Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,D,F,I,L,O,P,T,U,")] + public class X12_ID_262 {} + + /// + /// Rating Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",00,01,02,03,04,05,07,08,09,10,11,12,13,14,15,16,17,18,19,20,")] + public class X12_ID_263 {} + + /// + /// Subsidiary Risk Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",I,")] + public class X12_ID_271 {} + + /// + /// Hazardous Certification Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,")] + public class X12_ID_272 {} + + /// + /// Terms Due Date Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,")] + public class X12_ID_283 {} + + /// + /// Service Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,09,3D,9A,AC,AE,AM,BC,CB,CE,CG,CX,D1,D2,D3,DC,DF,DR,DS,DT,ES,ET,FC,G2,GP,GT,IA" + + ",IE,IX,ME,MW,ND,NF,NH,NM,NS,ON,PA,PB,PC,PI,PM,PN,PO,PR,PS,R1,R2,R3,R4,R5,R6,R7,R" + + "8,RS,SA,SC,SD,SE,SG,SH,SI,SM,SP,ST,ZZ,")] + public class X12_ID_284 {} + + /// + /// Product/Service Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,ZZ,")] + public class X12_ID_286 {} + + /// + /// Authorize/ De-Authorize Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,D,")] + public class X12_ID_287 {} + + /// + /// Prepriced Option Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,F,N,Y,Z,")] + public class X12_ID_288 {} + + /// + /// Price Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,")] + public class X12_ID_290 {} + + /// + /// Price Condition Applies Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",001,002,003,")] + public class X12_ID_291 {} + + /// + /// Quantity Basis + /// + [Serializable()] + [DataContract()] + [EdiCodes(",001,002,")] + public class X12_ID_292 {} + + /// + /// Promotion Condition Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,99,")] + public class X12_ID_293 {} + + /// + /// Distance Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,D,F,K,L,M,T,X,")] + public class X12_ID_295 {} + + /// + /// Event Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",AAD,ACA,ACC,ADR,ALR,ALV,ANO,APU,ARD,ARI,ARR,ASO,BAD,BFR,BHV,BLG,BOH,CCT,CG1,COC,CRD,CSL,CTU,DDL,DEC,DEL,DEP,DFL,DRM,DSI,EAD,EDD,EFT,ERD,ETA,EWI,EWL,FOL,FTE,HAR,HMI,HRE,IBD,ICH,ICR,IGT,INC,INV,IRD,IRI,ITS,MAL,MWY,NOB,NOT,OCA,OGT,OID,OIR,ORI,OSI,OTS,PAC,PCO,PEN,PFP,POS,PRB,RAM,REC,REJ,REP,RET,RLO,RMT,RYD,SAD,SAT,SDD,SLD,SPD,SPT,STA,STI,SCA,STP,STS,STU,SUS,TDL,TMA,TMD,TOD,TPL,TRN,TRP,UNS,WAI,WGH,WIT,WYB,ZZX,ZZY,ZZZ,")] + public class X12_ID_304 {} + + /// + /// Transaction Handling Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,X,Z,")] + public class X12_ID_305 {} + + /// + /// Action Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,A,A1,A2,A3,A4,A5,A6,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AL,AP,AQ,AR,AS,AT,AV,AW,AX,B,BD,BI,BO,C,C1,C2,CA,CB,CC,CD,CE,CF,CG,CL,CM,CN,CO,CP,CS,CT,CU,CV,CX,D,D1,D2,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,DL,DP,DR,DS,DT,DX,E,EA,EB,EC,ED,EE,EN,EP,ER,EV,EX,F,F1,FA,FC,FI,FO,FR,G,GR,H,HR,I,I1,IA,IM,IN,IS,IT,J,JA,JO,JU,K,KA,L,LC,LQ,M,ME,MO,N,NA,ND,NP,NS,O,OD,OP,OR,OT,P,P1,PA,PB,PC,PD,PF,PI,PJ,PO,PP,PR,PS,PT,PU,PV,Q,R,R1,R2,R3,R4,R5,R6,R7,R8,R9,RA,RB,RC,RD,RE,RF,RG,RH,RI,RJ,RK,RL,RM,RN,RO,RP,RQ,RR,RS,RT,RU,RV,RW,RX,S,S1,S2,SA,SB,SC,SD,SE,SL,SR,SS,SU,SV,SZ,T,TD,TE,TG,CA,TP,TR,TS,TU,U,V,VA,W,W1,WD,WI,WQ,WV,X,Y,Z,")] + public class X12_ID_306 {} + + /// + /// Damage Exception Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",Y,")] + public class X12_ID_308 {} + + /// + /// Location Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",10,11,12,13,14,18,19,20,21,22,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,52,53,54,55,57,58,59,60,93,94,A,A1,AA,AC,AP,AR,B,B1,BE,BL,BS,C,C2,CA,CB,CC,CD,CE,CI,CL,CO,CR,CS,CY,D,DC,DE,DL,DO,DP,DR,DT,E,EA,EL,F,FA,FE,FF,FI,FR,FS,FT,FV,GL,H,I,IA,IB,IM,IP,IS,IT,K,KE,KL,KP,L,LO,M,MI,MS,MZ,NS,O,OA,OF,OL,OP,OR,OV,P,PA,PB,PC,PD,PE,PF,PG,PH,PL,PO,PP,PQ,PR,PS,PT,PU,RA,RC,RE,RG,RJ,RL,RS,RT,SA,SB,SC,SD,SE,SG,SH,SL,SN,SP,SS,ST,SW,TA,TC,TL,TM,CA,TP,TR,TX,UN,UR,UT,VA,VI,VS,W,WF,WH,WI,ZN,ZZ,")] + public class X12_ID_309 {} + + /// + /// Shipment Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AD,AM,CS,RJ,ST,")] + public class X12_ID_311 {} + + /// + /// Special Indicator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",I,L,N,O,T,")] + public class X12_ID_312 {} + + /// + /// Authority Identifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BC,CA,FN,LO,NR,PP,RC,RV,SH,SO,")] + public class X12_ID_313 {} + + /// + /// Intermodal Facility Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,4,5,6,7,")] + public class X12_ID_321 {} + + /// + /// Load/Empty Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",E,L,T,")] + public class X12_ID_322 {} + + /// + /// Lading Exception Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,D,E,O,P,W,")] + public class X12_ID_33 {} + + /// + /// Allowance or Charge Method of Handling Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,15,18,20,21,25,CA,CC,PP,ZZ,")] + public class X12_ID_331 {} + + /// + /// Terms Basis Date Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",09,1,10,11,12,13,14,15,16,2,3,4,5,6,7,8,ZZ,")] + public class X12_ID_333 {} + + /// + /// Transportation Terms Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,ZZ,")] + public class X12_ID_334 {} + + /// + /// Transportation Terms Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",CAF,CFR,CIF,CIP,CPT,DAF,DDP,DDU,DEQ,DES,DOM,DUP,EXQ,EXS,EXW,FAS,FCA,FCI,FCP,FOB," + + "FOR,FOT,NPF,PPF,ZZZ,")] + public class X12_ID_335 {} + + /// + /// Terms Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,52,54,55,5" + + "6,57,58,61,63,64,65,CA,CO,NC,PP,ZZ,")] + public class X12_ID_336 {} + + /// + /// Allowance or Charge Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1,10,100,101,105,106,107,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,4,40,41,42,43,44,45,46,47,48,490,491,499,5,50,501,502,503,504,505,506,507,508,509,51,510,511,512,513,514,515,516,517,518,519,52,520,521,522,523,524,525,526,527,53,537,54,55,550,560,561,562,565,566,57,58,6,60,61,62,63,64,65,66,67,68,70,80,81,88,90,91,92,93,94,95,96,97,990,999,")] + public class X12_ID_340 {} + + /// + /// Unit of Time Period or Interval + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AD,AM,AN,AP,AY,BD,BM,BW,CC,CY,DA,DW,DY,EL,F1,F2,FY,HR,ID,KK,KL,LN,LT,MD,MI,MO" + + ",MS,MT,NX,PA,PD,PM,PR,Q1,Q2,Q3,Q4,QY,SA,SD,SH,SM,SP,TY,WK,WW,WY,YD,ZZ,")] + public class X12_ID_344 {} + + /// + /// Lead Time Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AP,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD" + + ",BE,BF,BG,")] + public class X12_ID_345 {} + + /// + /// Application Type + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47" + + ",48,AN,AT,BD,BG,BH,BL,BN,BR,BT,CD,CF,CI,CL,CO,DL,DO,DT,EP,FA,FR,HR,IS,LB,LS,LT,M" + + "F,PC,PI,PL,PP,PS,R1,R2,R3,R4,RD,RO,RP,RQ,RR,RS,S1,S2,SI,SL,SP,SS,T1,T2,T3,T4,TF," + + "TG,TM,TQ,ZZ,")] + public class X12_ID_346 {} + + /// + /// Item Description Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",F,S,X,")] + public class X12_ID_349 {} + + /// + /// Transaction Set Purpose Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",00,01,02,03,04,05,06,07,08,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28" + + ",30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,5" + + "6,5C,77,CN,CO,EX,GR,PR,RH,RV,SU,ZZ,")] + public class X12_ID_353 {} + + /// + /// Unit or Basis for Measurement Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,1G,1H" + + ",1I,1J,1K,1L,1M,1N,1O,1P,1Q,1R,1X,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2F,2G,2" + + "H,2I,2J,2K,2L,2M,2N,2P,2Q,2R,2U,2V,2W,2X,2Y,2Z,30,31,32,33,34,35,36,37,38,39,3B," + + "3C,3E,3F,3G,3H,3I,40,41,43,44,45,46,47,48,4A,4B,4C,4D,4E,4F,4G,4H,4I,4J,4K,4L,4M" + + ",4N,4O,4P,4Q,4R,4S,4T,4U,4V,4W,4X,50,51,52,53,54,56,57,58,59,5A,5B,5C,5E,5F,5G,5" + + "H,5I,5J,5K,5P,5Q,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,76,77,78,79,80,81," + + "82,83,84,85,86,87,89,8C,8D,8P,8R,8S,8U,90,91,92,93,94,95,96,97,98,99,A8,AA,AB,AC" + + ",AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,B0,B1,B2,B" + + "3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT," + + "BU,BV,BW,BX,BY,BZ,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK" + + ",CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,D2,D3,D5,D8,D9,DA,DB,DC,DD,DE,DF,D" + + "G,DH,DI,DJ,DK,DL,DM,DN,DO,DP,DQ,DR,DS,DT,DU,DW,DX,DY,DZ,E1,E3,E4,E5,E7,E8,E9,EA," + + "EB,EC,ED,EE,EF,EG,EH,EJ,EM,EP,EQ,EV,EX,EY,EZ,F1,F2,F3,F4,F5,F6,F9,FA,FB,FC,FD,FE" + + ",FF,FG,FH,FJ,FK,FL,FM,FO,FP,FR,FS,FT,FZ,G2,G3,G4,G5,G7,GA,GB,GC,GD,GE,GF,GG,GH,G" + + "I,GJ,GK,GL,GM,GN,GO,GP,GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,H1,H2,H4,HA,HB,HC,HD,HE,HF," + + "HG,HH,HI,HJ,HK,HL,HM,HN,HO,HP,HQ,HR,HS,HT,HU,HV,HW,HY,HZ,IA,IB,IC,IE,IF,IH,II,IK" + + ",IL,IM,IN,IP,IT,IU,IV,IW,J2,JA,JB,JE,JG,JK,JM,JO,JR,JU,K1,K2,K3,K4,K5,K6,K7,K9,K" + + "A,KB,KC,KD,KE,KF,KG,KH,KI,KJ,KK,KL,KM,KO,KP,KQ,KR,KS,KT,KU,KV,KW,KX,L2,LA,LB,LC," + + "LE,LF,LG,LH,LI,LJ,LK,LL,LM,LN,LO,LP,LQ,LR,LS,LT,LX,LY,M0,M1,M2,M3,M4,M5,M6,M7,M8" + + ",M9,MA,MB,MC,MD,ME,MF,MG,MH,MI,MJ,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,M" + + "Z,N1,N2,N3,N4,N6,N7,N9,NA,NB,NC,ND,NE,NF,NG,NH,NI,NJ,NL,NM,NN,NQ,NR,NS,NT,NU,NV," + + "NW,NX,NY,OA,OC,ON,OP,OT,OZ,P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,PA,PB,PC,PD,PE,PF,PG,PH" + + ",PI,PJ,PK,PL,PM,PN,PO,PP,PQ,PR,PS,PT,PU,PV,PW,PX,PY,PZ,Q1,Q2,Q3,Q4,Q5,Q6,Q7,QA,Q" + + "B,QC,QD,QE,QH,QK,QR,QS,QT,QU,R1,R2,R3,R4,R5,R6,R7,R8,R9,RA,RB,RC,RD,RE,RG,RH,RK," + + "RL,RM,RN,RO,RP,RS,RT,RU,S1,S2,S3,S4,S5,S6,S7,S8,S9,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ" + + ",SK,SL,SM,SN,SO,SP,SQ,SR,SS,ST,SV,SW,SX,SY,SZ,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,T" + + "B,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,CA,TO,TP,TQ,TR,TS,TT,TU,TV,TW,TX,TY,TZ,U1,U2," + + "U3,U5,UA,UB,UC,UD,UE,UF,UH,UL,UM,UN,UP,UQ,UR,US,UT,UU,UV,UW,UX,UY,UZ,V1,V2,VA,VC" + + ",VI,VP,VR,VS,W2,WA,WB,WD,WE,WG,WH,WI,WK,WM,WP,WR,WW,X1,X2,X3,X4,X5,X6,X7,X8,X9,X" + + "P,Y1,Y2,Y3,Y4,YD,YL,YR,YT,Z1,Z2,Z3,Z4,Z5,Z6,Z8,ZA,ZB,ZC,ZP,ZZ,")] + public class X12_ID_355 {} + + /// + /// Note Reference Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",AAA,AAB,AAC,AAD,AAE,AAF,ABN,ACC,ACI,ACN,ACS,ACT,ADD,AES,AET,ALG,ALL,ALT,AMN,AOO,APN,APS,BBD,BBF,BBH,BBN,BBO,BBT,BFD,BOL,BUR,CAA,CAB,CAC,CAD,CAE,CAF,CAG,CAH,CAI,CAJ,CAK,CAL,CAM,CAN,CAO,CAP,CAQ,CAR,CAS,CAT,CAU,CAV,CAW,CAX,CAZ,CBA,CBB,CBC,CBH,CBI,CCA,CCB,CCC,CCD,CCE,CCF,CCG,CCN,CDD,CER,CHG,CIG,CLN,CLR,CMP,CMT,COD,COM,CON,CRA,CRK,CRN,CUS,DCP,DEE,DEL,DEP,DFR,DFS,DGN,DME,DOD,DOI,ECD,ECM,ECN,ECT,EED,EFD,ELE,EMC,EMD,ENR,ERN,EVL,EXE,EXR,EXT,FEE,FUT,GEN,GPI,GSI,HHI,ICN,IDT,IID,IIE,IIR,IMP,INS,INT,INV,IVC,JVD,LAB,LBD,LBS,LEN,LIN,LIQ,LLA,LLB,LLC,LOC,LOI,LSD,MCD,MDO,MED,MFG,MKN,MMD,MSD,NCD,NPD,NTR,OBI,OBL,OCA,OCC,OCL,OCP,OCR,ODT,OLS,OPO,ORA,ORE,ORI,OTH,OCA,OTS,PAY,PCS,PDS,PED,PEN,PES,PID,PKG,PMT,POB,POC,POL,PPC,PRI,PRN,PRO,PRR,PSY,PUR,QUL,QUT,RDI,REC,REG,REP,REV,RFL,RHB,RLA,RLH,RNH,RNI,ROU,RPT,RST,RVC,SAN,SCN,SDD,SET,SFM,SMD,SOB,SOW,SPH,SPT,SPV,SSA,SSC,SSD,SSE,SSG,SSH,SSI,SSS,SST,TAF,TCF,TDA,TES,TIL,TLF,TLR,TPO,TRA,TRE,TRF,TRS,TSD,TSF,TST,UPI,VEC,VNN,WHI,WRP,ZZZ,")] + public class X12_ID_363 {} + + /// + /// Communication Number Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AB,AC,AD,AP,AS,AU,BN,BT,CA,CP,DN,ED,EM,EX,FT,FU,FX,HF,HP,IT,MN,NP,OF,OT,PA,PC" + + ",PP,PS,SP,TE,TL,TM,CA,TX,UR,VM,WC,WF,WP,")] + public class X12_ID_365 {} + + /// + /// Contact Function Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1A,1B,1C,1D,1E,1F,1G,1H,3A,A1,A2,A3,A4,A5,AA,AB,AC,AD,AE,AF,AG,AH,AI,AL,AM,AN,AP,AR,AS,AT,AU,AV,BA,BB,BC,BD,BI,BJ,BK,BL,BM,BP,BS,BU,C2,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CR,CS,CT,CU,CV,CW,CX,CY,CZ,DA,DC,DD,DE,DF,DI,DM,DN,DV,E1,E2,EA,EB,EC,ED,EF,EG,EM,EN,EO,EP,ES,EV,EX,FA,FB,FC,FD,FF,FL,FM,FN,FO,FP,FQ,FR,GA,GB,GC,GE,GR,HM,HR,IC,IO,IP,IS,KA,KB,KC,KP,KT,LD,MA,MB,MC,MD,ME,MG,MK,ML,MM,NA,NC,NP,NT,OA,OC,OD,OS,OW,PA,PB,PC,PD,PE,PF,PG,PH,PI,PJ,PK,PL,PM,PN,PO,PP,PQ,PR,PS,PT,PU,PV,PW,PX,PY,PZ,QA,QC,QI,QM,QP,QR,QY,RA,RB,RC,RD,RE,RF,RG,RP,RQ,RS,RZ,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SP,SQ,SR,SS,ST,SU,SV,SW,SY,TA,TB,TC,TD,TE,TH,TM,CA,TP,TR,TY,UG,UP,UQ,UR,VM,VP,WH,WI,WR,ZZ,")] + public class X12_ID_366 {} + + /// + /// Shipment/Order Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",AA,AB,AN,AP,AS,AU,AV,BK,BM,BO,BP,BT,BW,CA,CB,CC,CD,CE,CF,CI,CK,CL,CM,CN,CO,CP,CS,CT,CU,DA,DD,DE,DI,DO,DP,DR,DS,EC,ED,EW,EX,FS,HQ,IC,ID,IN,IP,IS,LM,LS,LW,MC,NF,NN,NS,NY,OB,OF,OP,OR,PA,PC,PD,PH,PI,PK,PL,PN,PO,PP,PR,PS,PT,QN,QP,RC,RD,RI,RT,RW,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL,SP,SQ,SS,ST,SU,UB,UN,UR,WS,ZZ,")] + public class X12_ID_368 {} + + /// + /// Change Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AQ,BB,BD,C1,C2,C3,C4,C5,C6,DC,EV,FE,GU,GW,LD,MC,MP,PC,PQ,PS,QH,QO,QP,QT,SC,UM,UP" + + ",WD,WO,ZZ,")] + public class X12_ID_371 {} + + /// + /// Lading Liability Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",F,L,")] + public class X12_ID_372 {} + + /// + /// Date/Time Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",001,002,003,004,005,006,007,008,009,010,011,012,013,014,015,016,017,018,019,020," + + "021,022,023,024,025,026,027,028,029,030,031,032,033,034,035,036,037,038,039,040," + + "041,042,043,044,045,046,047,048,049,050,051,052,053,054,055,056,057,058,059,060," + + "061,062,063,064,065,066,067,068,069,070,071,072,073,074,075,076,077,078,079,080," + + "081,082,083,084,085,086,087,088,089,090,091,092,093,094,095,096,097,098,099,100," + + "101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,118,119,120,121," + + "122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142," + + "143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162," + + "163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182," + + "183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202," + + "203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222," + + "223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242," + + "243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262," + + "263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282," + + "283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302," + + "303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322," + + "323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342," + + "343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362," + + "363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382," + + "383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402," + + "403,404,405,406,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423," + + "424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443," + + "444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463," + + "464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483," + + "484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503," + + "504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523," + + "524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543," + + "544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563," + + "564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583," + + "584,585,586,587,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604," + + "606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625," + + "626,627,629,630,631,632,633,634,635,636,637,638,640,641,642,643,644,646,647,648," + + "649,650,651,652,653,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669," + + "670,671,672,673,674,675,681,682,683,684,685,686,687,688,689,690,691,692,693,694," + + "695,696,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715," + + "716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,736," + + "737,738,739,740,741,742,743,744,745,746,750,751,752,753,754,755,756,757,758,760," + + "770,771,773,774,776,778,779,780,781,782,783,784,785,786,789,800,801,802,803,804," + + "805,806,807,808,809,810,811,812,813,814,815,816,817,818,820,821,822,823,824,825," + + "826,827,828,830,831,832,840,841,842,843,844,845,846,847,848,849,850,851,853,854," + + "855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874," + + "875,876,877,878,879,880,881,882,883,884,885,900,901,903,904,905,906,907,908,909," + + "910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929," + + "930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949," + + "950,951,952,953,954,955,956,957,960,961,962,963,964,965,966,967,968,969,970,971," + + "972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,992,993," + + "994,995,996,997,998,999,AA1,AA2,AA3,AA4,AA5,AA6,AA7,AA8,AA9,AAA,AAB,AAD,AAE,AAF," + + "AAG,AAH,AAI,AAJ,AAK,AAL,AAM,AAN,AAO,AAP,AAQ,AAR,AAS,AAT,AAU,AAV,AAW,AAX,AAY,AAZ," + + "AB1,AB2,AB3,AB4,AB5,AB6,AB7,AB8,AB9,ABA,ABB,ABC,ABD,ABE,ABG,ABH,ABI,ABK,ABL,ABM," + + "ABN,ABO,ABP,ABQ,ABR,ABS,ABT,ABU,ABV,ABW,ABX,ABY,ACA,ACB,ACK,ADB,ADC,ADD,ADL,ADM," + + "ADR,ARD,CAD,CCR,CDT,CEA,CEB,CEC,CED,CEE,CEF,CEH,CEJ,CEK,CEL,CEM,CEN,CEO,CLO,CLU," + + "COM,CON,CUR,DDO,DEE,DET,DFF,DFS,DIS,DOI,DSP,ECD,ECF,ECS,ECT,EPP,ESC,ESF,ESS,EST," + + "ETP,EXO,EXP,FFI,GRD,ICF,IDG,III,IMP,INC,INT,KEV,KEW,LAS,LCC,LEA,LEL,LIQ,LLP,LOG," + + "LPC,LSC,LTP,MRR,MSD,NAM,NFD,NRG,NSD,ORG,PBC,PDV,PLS,PPP,PRD,PRR,PTD,RAP,RES,RFD," + + "RFF,RFO,RNT,RRM,RRT,RSD,RSS,RTO,SCV,SDD,SCA,TSR,TSS,TST,VAT,VLU,W01,W02,W03,W05," + + "W06,W07,W08,W09,W10,W11,W12,W13,WAY,YXX,YXY,ZZZ,")] + public class X12_ID_374 {} + + /// + /// Tariff Service Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1A,1B,2A,2B,B1,B2,B3,B4,B5,BA,BB,BC,BD,BE,BF,BG,BH,BK,BL,BM,BN,BO,BP,BR,BW,BX,BY" + + ",DB,DD,DM,DO,DP,DR,EC,H1,H2,HA,HB,HC,HD,HE,HF,HG,HH,HK,HL,HM,HN,HP,HR,HW,HX,HY,M" + + "B,MD,ML,MM,MO,MP,MR,ND,OC,OD,OM,OR,OT,OV,PB,PD,PH,PM,PP,PR,RB,RD,RM,RO,RP,RR,")] + public class X12_ID_375 {} + + /// + /// Rounding Rule Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,M,N,")] + public class X12_ID_377 {} + + /// + /// Allowance/Charge Percent Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,Z,")] + public class X12_ID_378 {} + + /// + /// Bid Type Response Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AB,BF,BI,BW,DQ,OM,RE,RT,UQ,")] + public class X12_ID_379 {} + + /// + /// Price Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,P,Q,S,T,X,")] + public class X12_ID_381 {} + + /// + /// Entitlement Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,I,S,Z,")] + public class X12_ID_39 {} + + /// + /// Bill of Lading Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_392 {} + + /// + /// Amendment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,")] + public class X12_ID_393 {} + + /// + /// Pallet Exchange Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,")] + public class X12_ID_399 {} + + /// + /// Equipment Description Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",20,2B,2D,2E,2F,2G,40,4B,AC,AF,AL,AP,AT,BC,BE,BF,BG,BH,BJ,BK,BO,BR,BX,CA,CB,CC,CD,CG,CH,CI,CJ,CK,CL,CM,CN,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CZ,DD,DF,DT,DX,ET,FF,FH,FN,FP,FR,FS,FT,FX,GS,HB,HC,HO,HP,HT,HV,HY,ID,IX,LO,LS,LU,NX,OB,OT,OV,PL,PP,PT,PU,RA,RC,RD,RE,RF,RG,RI,RO,RR,RS,RT,SA,SC,SD,SK,SL,SR,SS,ST,SV,TA,TB,TC,TF,TG,TH,TI,TJ,TK,TL,TM,CA,TO,TP,TQ,TR,TT,TU,TV,TW,UA,UB,UC,UD,UE,UL,UP,VA,VE,VL,VR,VS,VT,WR,WY,")] + public class X12_ID_40 {} + + /// + /// Unit Load Option Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,ZZ,")] + public class X12_ID_400 {} + + /// + /// Seal Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,")] + public class X12_ID_407 {} + + /// + /// Receiving Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,16,")] + public class X12_ID_412 {} + + /// + /// Promotion Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,28,32,33,34" + + ",35,36,37,39,40,41,42,44,45,46,49,51,59,60,61,62,63,64,69,70,71,72,79,81,82,83,8" + + "4,88,99,A1,A2,A3,A4,A5,B1,B2,B3,C1,C2,C3,C4,WR,ZZ,")] + public class X12_ID_422 {} + + /// + /// Promotion Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,")] + public class X12_ID_423 {} + + /// + /// Adjustment Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AE,AF,AG,AH,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BR,BS,C1,C2,C3,C4,C5,C6,C7,C8,C9,CB,CE,CK,CM,CO,CP,CQ,CR,CS,CT,CU,CV,CW,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,DL,DM,DO,DP,DR,DS,DT,DV,DW,DX,E1,E2,E3,E4,E5,E6,E7,E8,E9,EE,ER,EX,F1,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FI,FR,FT,G1,G2,G3,G4,G5,G6,G7,G8,G9,GA,GB,GC,GD,GE,GF,GG,GH,GJ,GK,GL,GM,GN,GO,GR,H1,H2,H3,H4,H5,H6,H7,H8,H9,HA,HB,HC,HD,HE,HF,HG,HI,IA,IC,IE,IF,IL,IP,IR,IS,J1,J2,J3,J4,J5,J6,J7,J8,J9,JE,K1,K2,K3,L1,L2,L3,L4,L5,L6,L7,L8,L9,LA,LE,LF,LO,LP,LS,M1,M2,M3,M4,MA,MC,ML,NA,NB,NC,ND,NR,OA,OB,OL,PA,PD,PF,PI,PL,PM,PO,PP,PR,PT,R1,R2,R3,RA,RD,RE,RM,SC,SD,SF,SL,SP,TA,TD,TL,UB,UL,VC,VD,VO,W6,W8,W9,WA,WB,WC,WH,WO,WR,WS,WT,WU,WW,ZZ,")] + public class X12_ID_426 {} + + /// + /// Date Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,67,68,69,70,71,72,73,74,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,AA,AB,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CE,CL,EP,KA,LA,LC,LD,LP,PE,SE,TA,TR,")] + public class X12_ID_432 {} + + /// + /// F.O.B. Point Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,")] + public class X12_ID_433 {} + + /// + /// Primary Publication Authority Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BR,DR,GR,OP,RR,TP,")] + public class X12_ID_436 {} + + /// + /// Rate Maintenance Authority Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",M,")] + public class X12_ID_437 {} + + /// + /// Tax Exempt Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,")] + public class X12_ID_441 {} + + /// + /// Purchase Order Instruction Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AQ,BO,BX,NS,SA,SX,")] + public class X12_ID_444 {} + + /// + /// Terms Exception Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",DF,DG,DN,EB,GS,IP,NI,PS,SP,ZZ,")] + public class X12_ID_445 {} + + /// + /// Property Damage Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,")] + public class X12_ID_448 {} + + /// + /// Responsible Agency Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",T,X,")] + public class X12_ID_455 {} + + /// + /// Temperature Probe Location Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,")] + public class X12_ID_456 {} + + /// + /// Shipment Weight Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,D,E,F,G,H,M,N,O,R,S,T,")] + public class X12_ID_460 {} + + /// + /// Transit Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",X,XX,XXX,")] + public class X12_ID_461 {} + + /// + /// Container Terms Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",I,")] + public class X12_ID_465 {} + + /// + /// Export Filing Key Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,M,")] + public class X12_ID_47 {} + + /// + /// Order Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,C,D,E,F,G,L,N,R,S,T,X,")] + public class X12_ID_473 {} + + /// + /// Credit/Debit Flag Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,")] + public class X12_ID_478 {} + + /// + /// Functional Identifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",AA,AB,AD,AF,AG,AH,AI,AK,AL,AN,AO,AR,AS,AT,AW,BC,BE,BF,BL,BS,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CM,CN,CO,CP,CR,CS,CT,CV,D3,D4,D5,DA,DD,DF,DI,DM,DS,DX,EC,ED,EI,ER,ES,EV,EX,FA,FB,FC,FG,FH,FR,FT,GB,GC,GE,GF,GL,GP,GR,GT,HB,HC,HI,HN,HP,HR,HS,IA,IB,IC,ID,IE,IG,II,IJ,IM,IN,IO,IP,IR,IS,KM,LA,LB,LI,LN,LR,LS,LT,MA,MC,MD,ME,MF,MG,MH,MI,MJ,MK,MM,MN,MO,MP,MQ,MR,MS,MT,MV,MW,MX,MY,NC,NL,NP,NT,OC,OG,OR,OW,PA,PB,PC,PD,PE,PF,PG,PH,PI,PJ,PK,PL,PN,PO,PQ,PR,PS,PT,PU,PV,PY,QG,QM,QO,RA,RB,RC,RD,RE,RH,RI,RJ,RK,RL,RM,RN,RO,RP,RQ,RR,RS,RT,RU,RV,RW,RX,RY,RZ,SA,SB,SC,SD,SE,SG,SH,SI,SJ,SL,SM,SN,SO,SP,SQ,SR,SS,ST,SU,SV,SW,TA,TC,TD,TF,TI,TM,CA,TO,TP,TR,TS,TT,TX,UA,UB,UC,UD,UI,UP,UW,VA,VB,VC,VD,VE,VH,VI,VS,WA,WB,WG,WI,WL,WR,WT,")] + public class X12_ID_479 {} + + /// + /// Export License Control Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,")] + public class X12_ID_48 {} + + /// + /// Trace Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_481 {} + + /// + /// Payment Action Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AJ,ER,FL,NS,PA,PI,PO,PP,PR,")] + public class X12_ID_482 {} + + /// + /// Counseling Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",I,S,T,U,V,")] + public class X12_ID_483 {} + + /// + /// Evaluation Rating Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,N,P,")] + public class X12_ID_484 {} + + /// + /// Results Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,11,2,3,4,5,6,7,8,9,")] + public class X12_ID_485 {} + + /// + /// Product Transfer Movement Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AI,AO,CD,DC,DM,MD,TI,TO,")] + public class X12_ID_486 {} + + /// + /// Maintenance Operation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,D,F,I,R,")] + public class X12_ID_487 {} + + /// + /// Data Element Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,C,S,")] + public class X12_ID_491 {} + + /// + /// Customs Documentation Handling Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",10,14,15,16,17,20,24,25,26,27,30,34,35,36,37,90,")] + public class X12_ID_501 {} + + /// + /// Block 20 Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_503 {} + + /// + /// (DFI) ID Number Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,ZZ,")] + public class X12_ID_506 {} + + /// + /// Export License Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,P,")] + public class X12_ID_51 {} + + /// + /// Rail Car Plate Size Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,C,D,E,F,G,H,I,X,")] + public class X12_ID_511 {} + + /// + /// Import/Export Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,E,I,N,")] + public class X12_ID_512 {} + + /// + /// Reporting Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,F,J,K,N,O,P,R,S,X,Y,")] + public class X12_ID_514 {} + + /// + /// Total Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,")] + public class X12_ID_516 {} + + /// + /// Time Period Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,A,D,H,O,")] + public class X12_ID_519 {} + + /// + /// Export License Symbol Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,11,12,13,14,15,16,17,2,3,4,5,6,7,8,9,G,V,")] + public class X12_ID_52 {} + + /// + /// Product Transfer Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,CC,CO,CS,DL,DS,FG,GD,GP,GR" + + ",IA,IB,OF,ON,OT,PA,PB,PL,PM,PO,PP,RA,RB,RC,RP,RT,RU,RV,SA,SC,SD,SH,SM,SS,SU,TD,W" + + "L,")] + public class X12_ID_521 {} + + /// + /// Amount Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,0G,0H,0I,0J,0K,0L,0M,0N,0P,0Q,0R,0S" + + ",0T,0U,1,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,1G,1H,1J,1K,1L,1M,1N,1P" + + ",1Q,1R,1S,1T,1U,1V,1W,1X,1Y,1Z,2,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F" + + ",2G,2H,2I,2J,2K,2L,2M,2N,2P,2Q,2R,2S,2T,2U,2V,2W,2X,2Y,2Z,3,30,31,32,33,34,35,36" + + ",37,38,39,3A,3B,3C,3D,3E,3F,3G,3H,3I,3J,3K,3L,3M,3N,3O,3P,3Q,3R,3S,3T,3U,3V,3W,3" + + "X,3Y,3Z,4,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,4G,4H,4I,4J,4K,4L,4M,4" + + "N,4O,4P,4Q,4R,4S,4T,4U,4V,4W,4X,4Y,4Z,5,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5" + + "D,5E,5F,5G,5H,5I,5J,5K,5L,5M,5N,5O,5P,5Q,5R,5S,5T,5U,5V,5W,5X,5Y,5Z,6,60,61,62,6" + + "3,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,6G,6H,6I,6J,6K,6L,6M,6N,6O,6P,6Q,6R,6S,6T," + + "6U,6V,6W,6X,6Y,6Z,7,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,7G,7H,7I,7J," + + "7K,7L,7M,7N,7O,7P,7Q,7R,7S,7T,7U,7V,7W,7X,7Y,7Z,8,80,81,82,83,84,85,86,87,88,89," + + "8A,8B,8C,8D,8E,8F,8G,8H,8I,8J,8K,8L,8M,8N,8O,8P,8Q,8R,8S,8T,8U,8V,8W,8X,8Y,8Z,9," + + "90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,9G,9H,9I,9J,9K,9L,9M,9N,9O,9P,9Q" + + ",9R,9S,9T,9U,9V,9W,9X,9Y,9Z,A,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AAA,AAB,AAC,AAD,A" + + "AE,AAF,AAG,AAH,AAI,AAJ,AAK,AAL,AAM,AAN,AAO,AAP,AAQ,AAR,AAS,AAT,AAU,AAV,AAW,AAX,A" + + "AY,AAZ,AB,ABA,ABB,ABC,ABD,ABE,ABF,ABG,ABH,ABI,ABJ,ABK,ABL,ABM,ABN,ABO,ABP,ABQ,AB" + + "R,ABS,ABT,ABU,ABV,ABW,ABX,ABY,ABZ,AC,ACA,ACB,ACC,ACD,ACE,ACF,ACG,ACH,ACI,ACJ,ACK" + + ",ACL,ACM,ACN,ACO,ACP,ACQ,ACR,ACS,ACT,ACU,ACV,ACW,ACX,ACY,ACZ,AD,ADA,ADB,ADC,ADD," + + "ADE,ADF,ADG,ADH,ADI,ADJ,ADK,ADL,ADM,ADN,ADO,ADP,ADQ,ADR,ADS,ADT,ADW,ADX,ADY,ADZ," + + "AE,AEB,AEC,AED,AEE,AEF,AEG,AEH,AEI,AEJ,AEK,AEL,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP," + + "AQ,AR,AS,AT,AU,AV,AVE,AW,AX,AY,AZ,B,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BAA,BAB,BAC" + + ",BAD,BAE,BAF,BAG,BAH,BAI,BAJ,BAK,BAL,BAM,BAN,BAO,BAP,BAQ,BAR,BAS,BAT,BAU,BAV,BAW" + + ",BAX,BAY,BAZ,BB,BBA,BBB,BBC,BBD,BBE,BBF,BBG,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN," + + "BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,C,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD," + + "CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,D,D0,D1,D2,D3," + + "D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,DL,DM,DN,DO,DP,DQ,DR,DS,DT,DU" + + ",DV,DW,DX,DY,DZ,E,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK" + + ",EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW,EX,EY,EZ,F,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA" + + ",FB,FBA,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM,FN,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ," + + "G,G0,G1,G2,G3,G4,G5,G6,G7,G8,G9,GA,GB,GC,GD,GE,GF,GG,GH,GI,GJ,GK,GL,GM,GN,GO,GP," + + "GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,H,H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,HA,HB,HC,HD,HE,HF," + + "HG,HH,HI,HJ,HK,HL,HM,HN,HO,HP,HQ,HR,HS,HT,HU,HV,HW,HX,HY,HZ,I,I0,I1,I2,I3,I4,I5," + + "I6,I7,I8,I9,IA,IB,IC,ID,IE,IF,IG,IH,II,IJ,IK,IL,IM,IN,IO,IP,IQ,IR,IS,IT,IU,IV,IW" + + ",IX,IY,IZ,J,J0,J1,J2,J3,J4,J5,J6,J7,J8,J9,JA,JB,JC,JD,JE,JF,JG,JH,JI,JJ,JK,JL,JM" + + ",JN,JO,JP,JQ,JR,JS,JT,JU,JV,JW,JX,JY,JZ,K,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9,KA,KB,KC" + + ",KD,KE,KF,KG,KH,KI,KJ,KK,KL,KM,KN,KO,KP,KQ,KR,KS,KT,KU,KV,KW,KX,KY,KZ,L,L0,L1,L2" + + ",L3,L4,L5,L6,L7,L8,L9,LA,LB,LC,LD,LE,LF,LG,LH,LI,LJ,LK,LL,LM,LN,LO,LOW,LP,LQ,LR," + + "LS,LT,LU,LV,LW,LX,LY,LZ,M,M0,M1,M2,M3,M4,M5,M6,M7,M8,M9,MA,MB,MC,MD,ME,MF,MG,MH," + + "MI,MJ,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,N,N0,N1,N2,N3,N4,N5,N6,N7," + + "N8,N9,NA,NB,NC,ND,NE,NF,NG,NH,NI,NJ,NK,NL,NM,NN,NO,NP,NQ,NR,NS,NT,NU,NV,NW,NX,NY" + + ",NZ,O,O0,O1,O2,O3,O4,O5,O6,O7,O8,O9,OA,OB,OC,OD,OE,OF,OG,OH,OI,OJ,OK,OL,OM,ON,OO" + + ",OP,OQ,OR,OS,OT,OU,OV,OW,OX,OY,OZ,P,P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,PA,PB,PC,PCC,P" + + "CS,PCV,PD,PE,PF,PG,PH,PI,PJ,PK,PL,PM,PN,PO,PP,PQ,PR,PS,PT,PU,PV,PW,PX,PY,PZ,Q,Q0" + + ",Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,QA,QB,QC,QD,QE,QF,QG,QH,QI,QJ,QK,QL,QM,QN,QO,QP,QQ,Q" + + "R,QS,QT,QU,QV,QW,QX,QY,QZ,R,R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,RA,RB,RC,RD,RE,RF,RG,R" + + "H,RI,RJ,RK,RL,RM,RN,RO,RP,RQ,RR,RS,RT,RU,RV,RW,RX,RY,RZ,S,S0,S1,S2,S3,S4,S5,S6,S" + + "7,S8,S9,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SOF,SP,SQ,SR,SS,ST,SU,SV,SW" + + ",SX,SY,SZ,T,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM" + + ",CA,TO,TP,TQ,TR,TS,TT,TU,TW,TX,TY,TZ,U,U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,UA,UB,UC,UD" + + ",UE,UF,UG,UH,UI,UJ,UK,UL,UM,UN,UO,UP,UPF,UQ,UR,US,UT,UU,UV,UW,UX,UY,UZ,V,V0,V1,V" + + "2,V3,V4,V5,V6,V7,V8,V9,VA,VB,VC,VD,VE,VES,VF,VG,VH,VI,VJ,VK,VL,VM,VN,VO,VP,VQ,VR" + + ",VS,VT,VU,VV,VW,VX,VY,VZ,W,W0,W1,W2,W3,W4,W5,W6,W7,W8,W9,WA,WB,WC,WD,WE,WF,WG,WH" + + ",WI,WJ,WK,WL,WM,WN,WO,WP,WQ,WR,WS,WT,WU,WV,WW,WX,WY,WZ,X,X0,X1,X2,X3,X4,X5,X6,X7" + + ",X8,X9,XA,XB,XC,XD,XE,XF,XG,XH,XI,XJ,XK,XL,XM,XN,XO,XP,XQ,XR,XS,XT,XU,XV,XW,XX,X" + + "Y,XZ,Y,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,YA,YB,YC,YD,YE,YF,YG,YH,YI,YJ,YK,YL,YM,YN,YO,Y" + + "Q,YR,YS,YT,YU,YV,YW,YX,YY,YZ,Z,Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,ZA,ZB,ZC,ZD,ZE,ZF,Z" + + "G,ZH,ZI,ZJ,ZK,ZL,ZM,ZN,ZO,ZP,ZQ,ZR,ZS,ZT,ZU,ZV,ZW,ZX,ZY,ZZ,")] + public class X12_ID_522 {} + + /// + /// Inventory Transaction Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AD,AJ,BO,CM,DM,DP,DU,IT,PA,QU,RC,RD,RE,RT,SA,WH,")] + public class X12_ID_529 {} + + /// + /// Water Movement Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,N,P,S,")] + public class X12_ID_533 {} + + /// + /// Inland Transportation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CO,IC,IP,ML,RO,SD,SU,")] + public class X12_ID_534 {} + + /// + /// Rail Retirement Activity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,S,T,")] + public class X12_ID_535 {} + + /// + /// Nature of Claim Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",99,CA,CN,DE,FR,HT,PO,RD,RO,SH,TH,VS,WA,")] + public class X12_ID_536 {} + + /// + /// Employment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,R,")] + public class X12_ID_537 {} + + /// + /// Charge/Allowance Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",DS,LA,MA,PR,RC,RE,RL,SA,TR,")] + public class X12_ID_538 {} + + /// + /// Risk of Loss Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BY,FE,IM,IR,LR,PP,SE,SR,ZZ,")] + public class X12_ID_54 {} + + /// + /// Supporting Evidence Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",D,N,")] + public class X12_ID_544 {} + + /// + /// Unemployed Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,")] + public class X12_ID_545 {} + + /// + /// Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,44,45,46,47,48,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,AA,AB,AC,AD,AR,C1,C2,C3,CC,CD,CE,CF,CH,CI,CL,CO,CR,CT,DC,DN,DS,EF,ES,EW,EX,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FL,FP,FT,FX,IA,LA,MT,NA,NP,NR,NT,OF,OH,PD,PF,PM,PP,PR,PW,RA,RC,RE,RQ,RS,RV,SP,SR,SS,SU,UT,WD,WI,WP,")] + public class X12_ID_546 {} + + /// + /// Interest Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,S,W,X,")] + public class X12_ID_547 {} + + /// + /// Decline/Amend Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AOG,CAC,CCD,CDC,CDI,CFO,CFT,CIB,CIC,CNG,CNL,CSD,CSO,CSR,CTA,DAM,DDO,DMN,DNH,DNI," + + "DNR,DNS,DOA,DPS,DSA,DUP,FIS,GSA,GWL,IAW,ICC,INC,INF,MAN,MDD,NCA,NCR,NDI,NFT,NLI," + + "NNI,NRC,OCC,OTH,RAC,RAD,RUC,RUD,SMA,SNA,SRD,SRE,VDC,VDD,VDI,VDQ,VDS,VIS,VRP,")] + public class X12_ID_548 {} + + /// + /// Reservation Action Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,N,R,U,")] + public class X12_ID_558 {} + + /// + /// Agency Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,93,94,A1,A2,A3,A4,AA,AB,AC,AD,AE,AG,AH,AI,AJ,AL,AM,AP,AQ,AS,AT,AW,AX,AY,BE,BF,BI,CA,CB,CC,CE,CI,CL,CM,CO,CR,CS,CU,CX,DA,DD,DE,DF,DI,DL,DN,DO,DR,DS,DX,DY,DZ,EI,EP,ES,ET,EU,EX,FA,FC,FD,FG,FH,FI,GC,GS,GU,HC,HI,HS,HU,IA,IB,IC,IM,IN,IS,JA,LA,LB,LI,MA,MB,MC,ME,MI,MP,MS,MV,NA,NB,NC,NE,NF,NG,NI,NR,NS,NT,NU,NW,OI,OP,OS,PA,PC,SA,SE,SL,SP,ST,TA,TB,TC,TD,TI,TM,TP,TR,TX,UC,UN,VI,WH,ZZ,")] + public class X12_ID_559 {} + + /// + /// Type of Service Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AI,BB,CS,CY,DD,DR,HA,HH,HL,HP,MC,MD,NC,PH,PP,RD,RE,RR,")] + public class X12_ID_56 {} + + /// + /// Special Services Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",A0010,A0020,A0030,AC,AD,AF,AG,AM,AO,B0020,B0040,BH,BI,BOP,C0012,C0032,C0036,C0038,C1,C2,CA,CC,CD,CH,CI,CM,CN,CO,CS,CT,CU,CY,CZ,D0020,D0024,D0031,D0032,D1,D2,DA,DE,DH,DI,DL,DS,DV,E0030,EG,EM,EN,ER,EU,EX,F1,FG,FS,G0010,G0052,GI,GP,GU,H1,HC,HH,HS,I0012,I0013,I0021,I0022,IC,ID,IG,IK,IL,IM,IN,IO,IP,IQ,IR,IS,IT,KO,L1,LA,LL,LS,M0010,M0042,MI,ML,MNTAN,MNTMN,MNTON,N0020,N0021,N0032,NC,OA,ON,OP,P0012,P0014,P0016,P0018,P0022,PA,PB,PC,PE,PF,PL,PLI,PM,PO,PP,PSF,R0072,R0076,R0077,R0110,RD,RE,RM,RP,S0014,S0016,S0022,S0024,S0050,S0052,S0054,S0056,S0080,S1,S2,S3,SD,SG,SH,SJ,SLP,SPI,SR,SS,ST,SU,SV,SW,T0070,T1,TC,TE,TH,TM,TO,UN,US,V1,V2,W0010,WC,WH,X0010,XP,XX,YY,ZZ,")] + public class X12_ID_560 {} + + /// + /// Rate or Value Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,2,3,4,5,6,7,8,9,AB,AC,AD,AE,AR,B,BL,BO,CB,CR,D,DR,DT,E,ES,F,G,I,IN,O,OI,OT,P,P" + + "A,PO,RF,RR,RS,SA,SP,SR,T,TR,UA,UT,VA,W,")] + public class X12_ID_562 {} + + /// + /// Sales Requirement Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",8A,AI,AS,B,BC,BK,C,D,E,EI,F,FT,GS,IP,IS,K,LS,MY,N,NS,O,P,P2,P3,P4,Q,QB,QE,QI,QM," + + "QP,R,S,SC,SE,SF,SG,SI,SP,SQ,SS,ST,SU,SV,SW,T,UC,UL,UP,W,WY,Y,YI,Z,")] + public class X12_ID_563 {} + + /// + /// Product/Service Substitution Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B0,B1,B2,B3,B4,X,Y,ZZ,")] + public class X12_ID_566 {} + + /// + /// Electronic Form Note Reference Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",ABS,DMR,IND,NON,PUR,SCP,STD,")] + public class X12_ID_568 {} + + /// + /// Account Number Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,03,05,06,07,08,1,10,11,12,13,14,2,3,AG,ALC,ANN,AP,BA,CB,CC,CDM,CDS,CM,CRU,DA," + + "DC,EC,EPC,LTD,MUT,PRI,RD,REL,RS,SG,SKA,Z,ZB1,ZB2,")] + public class X12_ID_569 {} + + /// + /// Scale Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",P,R,")] + public class X12_ID_570 {} + + /// + /// Tare Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,M,")] + public class X12_ID_571 {} + + /// + /// Weight Allowance Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",D,F,I,S,W,")] + public class X12_ID_572 {} + + /// + /// City Name Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",S,")] + public class X12_ID_575 {} + + /// + /// Equipment Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AB,AC,AG,AH,AI,AJ,AK,AL,D,E,L,O,W,")] + public class X12_ID_578 {} + + /// + /// Type of Consist Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,J,L,P,R,S,T,Y,")] + public class X12_ID_579 {} + + /// + /// Amendment Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,D,N,R,S,")] + public class X12_ID_580 {} + + /// + /// Bill of Lading Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",00,01,10,11,12,13,14,15,16,17,18,19,20,")] + public class X12_ID_582 {} + + /// + /// Employment Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AB,AC,AD,AE,AF,AG,AH,AO,AP,AU,CA,CO,CT,DC,DD,DI,DQ,DR,DS,FA,FB,FC,FO,FT,HD,IA" + + ",IR,L1,LA,LE,LF,LM,LS,LU,LW,LX,NE,OS,OT,PA,PE,PT,PV,PW,RA,RB,RC,RD,RE,RI,RM,RP,R" + + "T,RU,RW,SA,SB,SE,SL,SU,TE,TF,TM,TP,TR,UK,VO,ZZ,")] + public class X12_ID_584 {} + + /// + /// Payroll Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AB,AL,CL,DH,GU,HO,JD,LO,MC,ML,MO,OP,PD,RD,RF,SD,SU,VC,WK,")] + public class X12_ID_585 {} + + /// + /// Acknowledgment Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AC,AD,AE,AH,AK,AP,AT,NA,RD,RF,RJ,RN,RO,RV,ZZ,")] + public class X12_ID_587 {} + + /// + /// Wages Paid Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,")] + public class X12_ID_590 {} + + /// + /// Payment Method Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",ACH,BKW,BOP,CAS,CCC,CCF,CCH,CDA,CHK,CLH,CPC,CWT,DCC,DCD,DDP,DEB,DLC,DLD,DPC,DPD," + + "DXC,DXD,DYC,DYD,DZC,DZD,EBX,EXC,FEW,FWT,NON,PAC,PBD,PDC,PDD,PDE,PRO,REV,SCC,SCD," + + "SDC,SDD,SPC,SPD,SWT,SXC,SXD,SYC,SZC,SZD,TRA,VIS,X12,ZZZ,")] + public class X12_ID_591 {} + + /// + /// Lading Description Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,C,D,E,I,L,P,")] + public class X12_ID_592 {} + + /// + /// Frequency Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,B,C,H,Q,S,U,Z,")] + public class X12_ID_594 {} + + /// + /// Compartment ID Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,")] + public class X12_ID_595 {} + + /// + /// Manifest Unit Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",BAG,BBL,BDL,BIC,BIN,BKT,BLE,BOX,BSK,CAN,CAR,CAS,CBC,CBY,CCS,CHS,CNT,COL,COR,CRT," + + "CSK,CCA,CYL,DBK,DRM,GAL,HED,HMP,KEG,LBK,LOG,LUG,LVN,PAL,PCL,PCS,PKG,PLT,POV,QTR," + + "REL,ROL,SAK,SHT,SID,SKD,TBE,TBN,TIN,CAK,UNT,VPK,WDC,")] + public class X12_ID_599 {} + + /// + /// Consolidation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,N,W,")] + public class X12_ID_604 {} + + /// + /// Deficiency Judgment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,")] + public class X12_ID_605 {} + + /// + /// Credit File Variation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,ZZ,")] + public class X12_ID_608 {} + + /// + /// Disposition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,18,19,20,21,22,23,24,25,26,ZZ,")] + public class X12_ID_611 {} + + /// + /// Credit Report Merge Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,Z,")] + public class X12_ID_612 {} + + /// + /// Time Period Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34" + + ",35,36,4,5,6,7,8,Z,")] + public class X12_ID_615 {} + + /// + /// Switch Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AI,BE,BO,CR,DC,HF,HT,IP,NO,NU,OS,PL,PU,RE,SB,TR,TS,WG,")] + public class X12_ID_617 {} + + /// + /// Time Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,AD,AS,AT" + + ",CD,CS,CT,ED,ES,ET,GM,HD,HS,HT,LT,MD,MS,MT,ND,NS,NT,PD,PS,PT,TD,TS,TT,UT,")] + public class X12_ID_623 {} + + /// + /// COD Method of Payment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,")] + public class X12_ID_625 {} + + /// + /// Excess Transportation Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,R,T,U,V,W,X,Y,ZZ,")] + public class X12_ID_626 {} + + /// + /// Excess Transportation Responsibility Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,S,X,Z,")] + public class X12_ID_627 {} + + /// + /// Alternation Precedence Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,L,N,P,S,")] + public class X12_ID_629 {} + + /// + /// Rate Application Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,E,F,L,M,N,P,R,S,T,")] + public class X12_ID_632 {} + + /// + /// Rate Request/Response Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,4,5,6,9,A,C,D,F,G,H,I,P,Q,S,T,W,")] + public class X12_ID_635 {} + + /// + /// Basis of Unit Price Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",AA,AB,AP,AW,BD,BR,BW,CA,CP,CR,CT,DI,DP,DR,DS,EC,EH,ES,FB,FO,FX,HF,HP,HT,KA,KP,KR,LC,LD,LE,LM,LR,ME,ML,NC,NE,NQ,NS,NT,PA,PB,PD,PE,PF,PG,PK,PL,PM,PN,PO,PP,PQ,PR,PS,PT,PU,PV,PY,QE,QH,QR,QS,QT,RC,RD,RE,RM,RS,RT,SA,SC,SM,SR,ST,SW,TB,TC,TD,TE,TF,TM,TP,TT,UM,VQ,WC,WD,WE,WH,WI,WM,")] + public class X12_ID_639 {} + + /// + /// Transaction Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,33,34,35,36,37,38,39,3M,40,41,60,62,63,64,65,66,67,68,69,6A,6C,6N,6R,6S,70,71,72,73,74,75,76,77,78,79,80,81,82,83,85,87,88,91,94,95,97,98,99,A0,A1,A3,A4,A5,A6,A7,AA,AB,AC,AD,AE,AF,AG,AI,AM,AN,AP,AQ,AR,AS,AT,AV,AW,AZ,BA,BB,BD,BF,BH,BJ,BK,BL,BM,BN,BO,BP,BR,BS,BT,BU,BV,BW,C0,C1,C2,C3,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CR,CS,CT,CU,CV,CW,CX,CY,CZ,D1,D4,DA,DB,DC,DD,DE,DF,DG,DH,DI,DK,DL,DN,DO,DP,DQ,DR,DS,DT,DU,EA,EB,EF,EI,EM,EP,ER,EX,FA,FB,FC,FD,FE,FF,FG,FI,FL,FM,FN,FP,FR,FS,FT,GA,GI,GR,HP,I1,IA,IB,IC,ID,IE,IF,II,IM,IN,IO,IR,IU,IW,IX,IZ,JM,JO,JR,JS,JU,JX,KB,KC,KD,KE,KF,KG,KH,KI,KJ,KK,KL,KM,KN,KS,KT,LC,LD,LE,LF,LN,LO,LP,LR,LV,M1,MA,MB,MC,MD,ME,MF,MI,ML,MM,MP,MR,MS,MU,N1,N2,N3,N4,N5,N6,N7,N8,NA,NB,NC,ND,NE,NF,NG,NH,NI,NJ,NK,NL,NM,NO,NP,NQ,NR,NT,NU,OC,OF,OP,OR,P1,PA,PB,PC,PD,PE,PF,PG,PI,PL,PM,PO,PP,PR,PS,PT,PU,PV,PW,PX,PZ,QA,QB,QC,QD,QE,QF,QG,QH,QJ,QK,QL,QP,QR,R1,R2,R3,R4,R5,R6,R7,R8,RA,RB,RC,RD,RE,RF,RG,RH,RK,RM,RP,RQ,RS,RT,RU,RZ,S1,S2,S3,S4,SA,SB,SC,SD,SE,SF,SG,SH,SL,SM,SO,SP,SQ,SR,SS,ST,SU,SV,TD,TG,TH,TI,TJ,TK,TP,TR,TS,TT,TX,U1,U2,U4,U5,U9,UA,UC,UD,UF,UI,UM,UO,UP,UR,UT,V1,VH,VJ,VL,VM,VN,VO,VP,VQ,VR,W1,W4,W5,WA,WC,WD,WH,WO,WS,WT,X1,XA,XB,XC,XD,XX,XY,XZ,YI,YR,ZA,ZB,ZC,ZD,ZE,ZF,ZG,ZH,ZI,ZJ,ZK,ZL,ZM,ZN,ZO,ZP,ZQ,ZR,ZS,ZT,ZU,ZW,ZZ,")] + public class X12_ID_640 {} + + /// + /// Status Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",001,002,003,004,005,006,007,008,009,010,011,012,013,014,015,016,017,018,019,020," + + "021,022,023,024,025,026,027,028,029,030,031,035,036,037,038,039,040,041,042,043," + + "044,045,046,047,048,049,050,051,052,053,054,055,056,057,058,059,060,061,062,063," + + "064,A01,A02,A03,A04,A05,A06,A07,A08,A09,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19," + + "A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,A32,A33,A34,A36,A37,A38,A39,A40," + + "A41,A42,A43,A45,A46,A49,A50,A51,A52,A53,A55,A58,A59,A61,A63,A64,A65,A73,A74,A75," + + "A76,A77,A78,A79,A80,A81,A82,A83,A84,A85,A91,A95,A96,A98,A99,ABN,ACC,ACD,AFR,AGC," + + "AGD,ANA,ANL,API,B01,B02,B03,B04,B05,B06,B07,B08,B09,B10,B11,B12,B13,B14,B15,B16," + + "B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31,B32,B33,B34,B35,B36," + + "B37,B38,B39,B40,B41,B42,B43,B44,B45,B46,B47,B48,B49,B50,B51,B52,B53,B54,B55,B56," + + "B57,BPR,BW2,BWL,BWT,BWW,C01,C02,C03,C04,C05,C06,C07,C08,C09,C10,C11,C12,C13,C14," + + "C15,C16,C17,C18,C19,C20,CBD,CDE,CHA,CIE,CIM,CLA,CLP,CLR,COS,D01,D02,D03,D04,D05," + + "D06,D07,D08,D09,D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D20,D21,D22,D23,D24,D25," + + "D26,D27,D28,D29,D30,D31,D32,D33,D34,D50,D51,D52,D53,D54,D55,D56,D57,D58,D59,D60," + + "D61,D62,D63,DEF,EB1,EB2,EB3,EB4,EB5,EB6,EB7,EB8,EB9,EBA,ENR,ERR,EXD,F73,F74,FCS," + + "FRB,FZD,HIT,HZM,IBF,INC,INF,INP,INS,IOC,IRS,IV1,IV2,JOW,JVP,LIQ,LSH,MAS,MIN,MP2," + + "MPL,MPT,MPW,MTC,NGP,NNM,NOR,NWD,P01,P02,P03,P04,P05,P06,P07,PAA,PAL,POA,REJ,RFM," + + "RFR,RUN,S01,SCH,SFR,SGR,SOW,STM,T01,T02,T03,T04,T05,T06,T07,TDR,THT,TIL,TP2,TPL," + + "TPT,TPW,UCD,UND,VAN,W01,W02,W03,W04,W05,W06,W07,W08,W09,W10,W11,W12,W13,W14,W15," + + "W16,WAD,WLC,WLT,WLW,WTP,ZZZ,")] + public class X12_ID_641 {} + + /// + /// Lading Percent Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,M,O,S,")] + public class X12_ID_644 {} + + /// + /// Related Company Indication Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",N,Y,")] + public class X12_ID_645 {} + + /// + /// Application Error Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",001,002,003,004,005,006,007,008,009,010,011,012,024,026,027,028,029,036,500,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,847,848,849,A,ASA,ASV,AVE,B,C,CAL,CHK,COV,CUR,D,DBL,DDT,DRC,DTE,DUP,E,F,G,H,HUG,HUL,I,ICA,ICG,IDC,IDN,IID,IMD,INC,INF,IPR,IQT,IWT,J,K,L,LOC,M,MA,MB,MBL,MC,MD,MDN,ME,MF,MG,MH,MI,MID,MJ,MK,ML,MM,MN,MP,MQ,MQT,MWT,N,NAU,NCL,NCR,NDP,NDT,NIF,NOC,NOD,NRA,O,OTH,P,PND,POI,PPD,PRM,Q,QTY,R,RAT,RTE,RCA,RU,S,SCA,SCD,SEV,SPL,STA,STP,STR,T,TRN,TYP,U,UAU,UCN,UKN,UNP,UNV,V,VIN,VND,VOS,ZDS,ZZZ,")] + public class X12_ID_647 {} + + /// + /// Price Multiplier Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CSD,CSR,DIS,ILP,PSP,SEL,")] + public class X12_ID_648 {} + + /// + /// Rating Remarks Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,33" + + ",35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,6" + + "1,62,63,64,65,66,67,68,69,70,71,72,ZZ,")] + public class X12_ID_650 {} + + /// + /// Discount Terms Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AMT,CSH,DOR,DPU,DSH,DSV,POR,PPU,PSH,PSV,UNT,ZZZ,")] + public class X12_ID_653 {} + + /// + /// Discount Base Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CA,PC,UN,ZZ,")] + public class X12_ID_654 {} + + /// + /// Discount Control Limit Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",DAT,DOF,")] + public class X12_ID_656 {} + + /// + /// Basis of Verification Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,")] + public class X12_ID_659 {} + + /// + /// Identification Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,53,54,55,56,57,58,59,6,61,62,63,64,7,71,72,73,74,75,76,77,78,8,81,82,9,90,91,92,93,94,95,96,97,98,99,A,A1,A2,A3,A4,A5,A6,AA,AB,AC,AD,AE,AL,AP,BC,BD,BE,BG,BP,BS,C,C1,C2,C5,CA,CB,CC,CD,CE,CF,CI,CL,CM,CP,CR,CS,CT,D,DG,DL,DN,DP,DS,E,EC,EH,EI,EP,EQ,ER,ES,F,FA,FB,FC,FD,FI,FJ,FN,G,GA,GC,HC,HN,I,J,K,L,LC,LD,LE,LI,LN,M3,M4,M5,M6,MA,MB,MC,MD,MI,MK,ML,MN,MP,MR,N,NA,ND,NI,NO,OC,OP,PA,PB,PC,PI,PP,PR,RA,RB,RC,RD,RE,RT,S,SA,SB,SD,SF,SI,SJ,SL,SP,ST,SV,SW,TA,TC,TZ,UC,UL,UM,UP,UR,US,WR,XV,XX,ZC,ZN,ZY,ZZ,")] + public class X12_ID_66 {} + + /// + /// Relationship Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,D,I,O,S,")] + public class X12_ID_662 {} + + /// + /// Residue Indicator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",P,R,")] + public class X12_ID_665 {} + + /// + /// Division Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,H,M,N,P,R,")] + public class X12_ID_666 {} + + /// + /// Line Item Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AC,AR,BP,DR,IA,IB,IC,ID,IE,IF,IH,IP,IQ,IR,IS,IW,R1,R2,R3,R4,R5,R6,R7,R8,SP,")] + public class X12_ID_668 {} + + /// + /// Currency Market/Exchange Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",IMF,LNF,LNS,NYC,PHI,ZUR,")] + public class X12_ID_669 {} + + /// + /// Change or Response Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AI,CA,CB,CC,CE,CF,CG,CH,CI,CT,DI,MU,NC,OA,OC,PC,PQ,PR,QD,QI,RA,RB,RC,RE,RM,RQ,RS" + + ",RZ,TI,")] + public class X12_ID_670 {} + + /// + /// Resource Authorization Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",FI,GS,LB,LM,MT,PQ,PR,ZZ,")] + public class X12_ID_672 {} + + /// + /// Quantity Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,1G,1H" + + ",1I,1J,1K,1L,1M,1N,1O,1P,1Q,1R,1S,1T,1U,1V,1W,1X,1Y,1Z,20,21,22,23,24,25,26,27,2" + + "8,29,2A,2B,2C,2D,2E,2F,2G,2H,2I,2J,2K,2L,2M,2N,2O,2P,2Q,2R,2S,2T,2U,2V,2W,2X,2Y," + + "2Z,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,3G,3H,3I,3J,3K,3L,3M,3N,3P,3Q" + + ",3R,3S,3T,3U,3V,3W,3X,3Y,40,41,42,43,45,46,47,48,49,4A,4B,4C,4D,4E,4F,4G,4H,4I,4" + + "J,4K,4L,4M,4N,4O,4P,4Q,4R,4S,4T,4U,50,51,52,53,54,55,56,57,58,5A,5B,5C,5D,5E,5F," + + "5G,5H,5I,5J,5K,5L,5M,5N,5O,5P,5Q,5R,5S,5T,5U,5V,5W,5X,5Y,5Z,60,61,62,63,64,65,66" + + ",67,68,69,6A,6B,6C,6D,6E,6F,6G,6H,6I,6J,6K,6L,6M,6N,6O,6P,6Q,6R,6S,6T,6U,6V,6W,6" + + "X,6Z,70,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,7G,7H,7I,7J,7K,7L,7M,7N,7O,7P," + + "7Q,7R,7S,7T,7U,7V,7W,7X,7Y,7Z,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,8G" + + ",8H,8I,8J,8K,8L,8M,8N,8O,8P,8Q,8R,8S,90,91,92,93,94,95,96,97,98,99,9A,9C,9D,9E,9" + + "F,9H,9J,9K,9L,9M,9N,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK," + + "AL,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,B1,B2,B3,B4,B5,B6,B7,B8,BA,BB,BC,BD,BE" + + ",BF,BG,BH,BI,BJ,BK,BQ,BR,BW,C0,CA,CB,CC,CD,CE,CF,CG,CH,CI,CL,CN,CO,CP,CR,CS,CW,C" + + "Y,CZ,D1,D3,DA,DB,DC,DD,DE,DF,DG,DI,DN,DO,DP,DR,DS,DT,DY,E1,E2,E3,E4,E5,EA,EB,EC," + + "ED,EE,EM,EP,EQ,ER,ES,ET,EW,F1,FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM,FR,FS,FT,GA" + + ",GB,GC,GE,GF,GI,GL,GP,GQ,GR,GS,GT,GU,GV,GW,GX,GZ,HA,HB,HC,HD,HE,HF,HG,HH,HI,HJ,H" + + "K,HL,HM,HN,HO,HP,HR,HS,II,IN,IP,IQ,IS,IT,JA,JB,JC,JD,JE,JF,JG,JH,JI,JJ,JK,JL,JM," + + "JN,JO,JP,JQ,JR,JS,JT,K6,KA,KB,KC,KD,KE,KF,KG,KH,KI,KJ,KK,KL,KM,KN,KO,KP,KQ,KR,KS" + + ",KU,KV,KW,KX,KY,KZ,L2,L3,L4,L5,L6,L7,LA,LB,LC,LE,LG,LH,LI,LK,LL,LM,LN,LO,LP,LQ,L" + + "R,LS,LT,LV,LW,LX,LY,M1,M2,MA,MD,ME,MF,MI,MM,MN,MO,MQ,MX,N1,N2,N3,N4,N5,N6,NA,NB," + + "NC,ND,NE,NF,NG,NL,NN,NO,NP,NQ,NR,NS,NT,NU,NV,NW,OC,OD,OF,OG,OH,OI,OL,ON,OO,OR,OT" + + ",OU,OV,OW,P1,P3,P4,P5,P6,P7,P8,P9,PA,PB,PC,PD,PE,PF,PG,PK,PL,PO,PP,PQ,PR,PS,PT,P" + + "W,PX,Q1,Q2,Q3,Q4,QA,QB,QC,QD,QE,QF,QH,QI,QJ,QL,QM,QN,QO,QP,QQ,QR,QS,QU,QV,QW,QX," + + "R3,R5,R6,R9,RA,RB,RC,RD,RE,RF,RG,RH,RJ,RL,RM,RN,RQ,RS,RT,RW,RY,S1,S2,S3,S4,S5,S6" + + ",S7,S8,S9,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SP,SQ,SR,SS,ST,SU,SV,SW,S" + + "X,SY,T1,T2,T3,T4,T5,T6,T7,TA,TB,TC,TD,TE,TG,TH,TI,TJ,TK,TM,CA,TO,TP,TR,TS,TT,TU," + + "TV,TW,TX,TY,UA,UG,UL,UO,US,UU,V1,V2,V3,V4,V5,VA,VB,VC,VD,VE,VF,VG,VH,VI,VJ,VK,VL" + + ",VM,VN,VP,VR,VS,VT,VV,VY,WA,WB,WC,WD,WE,WG,WL,WO,WP,WR,WT,WV,WW,WX,WY,X1,XA,XB,X" + + "C,XD,XE,XG,XI,XJ,XL,XN,XO,XT,XU,XV,XX,XY,XZ,YA,YB,YC,YD,YE,YF,YG,YH,YJ,YK,YL,YM," + + "YN,YP,YQ,YR,YS,YT,YW,YX,YY,Z1,Z2,Z3,Z4,Z6,ZA,ZB,ZC,ZD,ZE,ZF,ZG,ZH,ZI,ZJ,ZK,ZL,ZM" + + ",ZN,ZO,ZP,ZR,ZS,")] + public class X12_ID_673 {} + + /// + /// Reciprocal Switch Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,L,O,P,Y,")] + public class X12_ID_674 {} + + /// + /// Schedule Type Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AD,AS,BB,DL,JS,KB,PD,PR,PS,SH,ZZ,")] + public class X12_ID_675 {} + + /// + /// Schedule Quantity Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,D,R,")] + public class X12_ID_676 {} + + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,O,P,Q,R,S,SA,SB,SC,SD,SG,SL,SP,SX,SY" + + ",SZ,T,U,V,W,X,Y,Z,")] + public class X12_ID_678 {} + + /// + /// Ship/Delivery Pattern Time Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,Y,Z,")] + public class X12_ID_679 {} + + /// + /// Forecast Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S,T,U,V,W,X,Z,")] + public class X12_ID_680 {} + + /// + /// Forecast Timing Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,D,F,M,Q,S,T,W,X,Z,")] + public class X12_ID_681 {} + + /// + /// Part Release Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,D,E,F,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,W,X,Y,")] + public class X12_ID_682 {} + + /// + /// Catalog Purpose Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CP,PC,PS,RC,SC,")] + public class X12_ID_683 {} + + /// + /// Class of Trade Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AB,AC,AD,AG,AI,AP,AS,BG,BR,CB,CN,CO,CR,CX,CY,DE,DF,DI,DR,EX,FS,GA,GM,GR,GV,HS" + + ",ID,IN,IR,JB,LC,MC,MF,ML,OE,OF,ON,PF,PH,PT,PY,RS,SA,SB,SE,ST,TR,WA,WC,WH,WS,")] + public class X12_ID_687 {} + + /// + /// Restrictions/Conditions Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,DO,DW,NR,NS,OR,SP,SR,WO,")] + public class X12_ID_688 {} + + /// + /// Occupancy Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,")] + public class X12_ID_689 {} + + /// + /// Conveyance Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,Z,")] + public class X12_ID_692 {} + + /// + /// Docket Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,G,M,P,S,T,")] + public class X12_ID_693 {} + + /// + /// Independence Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,I,L,M,N,")] + public class X12_ID_695 {} + + /// + /// Rate Distribution Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",P,S,U,")] + public class X12_ID_698 {} + + /// + /// Commodity/Geographic Logical Connector Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",M,P,")] + public class X12_ID_699 {} + + /// + /// Information Type + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,5" + + "4,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80," + + "81,82,83,")] + public class X12_ID_701 {} + + /// + /// Financial Information Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,")] + public class X12_ID_703 {} + + /// + /// Paperwork/Report Action Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,CH,CO,DM,NT,ON,OR,PV,SG,")] + public class X12_ID_704 {} + + /// + /// Trade Union Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,")] + public class X12_ID_705 {} + + /// + /// Entity Relationship Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,")] + public class X12_ID_706 {} + + /// + /// Rating Category Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",A1,A2,A3,A4,A5,A6,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AS,BA,BC,BE,C2,CH,CL,CO" + + ",CP,CR,CT,DP,DQ,DS,EA,EC,EE,EI,FA,IF,IN,LT,PA,PC,PD,PF,PK,PR,PS,PT,PU,PY,RC,RO,R" + + "S,RT,SD,SE,SF,SN,SP,SS,ST,TC,TR,TS,TT,UT,WR,WT,")] + public class X12_ID_707 {} + + /// + /// Rating Summary Value Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,2" + + "6,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50," + + "6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,")] + public class X12_ID_708 {} + + /// + /// Communications Environment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",PP,SC,")] + public class X12_ID_709 {} + + /// + /// Goods and Services Tax Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_714 {} + + /// + /// Functional Group Acknowledge Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,E,M,P,R,W,X,")] + public class X12_ID_715 {} + + /// + /// Functional Group Syntax Error Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,3,4,5,6,")] + public class X12_ID_716 {} + + /// + /// Transaction Set Acknowledgment Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,E,M,R,W,X,")] + public class X12_ID_717 {} + + /// + /// Transaction Set Syntax Error Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,15,16,17,19,2,20,21,22,23,24,25,26,27,3,4,5,6,7,8,9,")] + public class X12_ID_718 {} + + /// + /// Type of Service Offered Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",D,I,N,")] + public class X12_ID_72 {} + + /// + /// Segment Syntax Error Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,")] + public class X12_ID_720 {} + + /// + /// Data Element Syntax Error Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,2,3,4,5,6,7,8,9,")] + public class X12_ID_723 {} + + /// + /// Real Estate Property Condition Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,20,")] + public class X12_ID_726 {} + + /// + /// Returnable Container Load Make-Up Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,D,E,L,M,O,P,R,S,U,ZZ,")] + public class X12_ID_728 {} + + /// + /// Compensation Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,F,")] + public class X12_ID_73 {} + + /// + /// Transit Direction Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BS,SB,SC,SD,SF,SS,ZZ,")] + public class X12_ID_731 {} + + /// + /// Transit Time Direction Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AD,CD,CW,HO,SD,SH,WD,WW,ZZ,")] + public class X12_ID_732 {} + + /// + /// Hierarchical Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1,19,2,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,2G,2H,2I,2J,2K,2L,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,7,8,9,A,AD,AG,AL,AP,AS,B,BD,BE,BP,C,CB,CC,CE,CH,CI,CL,CN,CO,CT,D,DG,DP,E,ED,EL,EM,EV,EX,F,FC,FG,FI,FL,FR,G,GC,GP,GW,H,I,IA,IB,IC,IN,J,JU,K,L,M,ML,NI,NS,O,OS,P,PA,PB,PC,PD,PH,PL,PP,PR,PS,PT,PY,Q,R,RA,RB,RC,RD,RE,RF,RM,RP,S,SA,SB,SC,SD,SE,SH,SI,SL,SP,SR,SS,SY,T,TI,TS,U,UT,V,W,WB,WC,WL,WP,WR,X,Y,ZZ,")] + public class X12_ID_735 {} + + /// + /// Hierarchical Child Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,")] + public class X12_ID_736 {} + + /// + /// Measurement Reference ID Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",9L,AA,AB,AC,AE,AF,AG,AH,AI,AJ,AK,AM,AN,AO,AP,AQ,AR,AV,BA,BB,BC,BD,BL,BM,BN,BO,BP,BR,BT,BZ,C1,CA,CB,CC,CF,CG,CH,CJ,CK,CL,CM,CN,CO,CP,CQ,CS,CT,CU,CV,CW,CY,DE,DN,DT,EA,EE,EF,EL,EN,FC,FD,FH,FJ,FV,FZ,GC,GL,GO,GP,HC,HR,ID,IN,IR,LC,LD,LG,LL,LM,LP,LS,LT,MP,MR,NC,NE,NX,OD,OG,OL,OP,P1,PA,PB,PC,PD,PI,PJ,PK,PL,PM,PO,PR,PS,PT,PU,PY,QR,QV,R1,R2,RA,RG,RL,RN,RO,RP,RQ,RS,RT,SA,SB,SC,SD,SE,SF,SH,SJ,SK,SL,SM,SP,SR,ST,SU,SZ,TA,TD,TE,TI,TL,TO,TP,TR,TS,TT,VT,WA,WR,WT,ZA,ZP,")] + public class X12_ID_737 {} + + /// + /// Measurement Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,10,11,12,13,14,15,16,18,19,1F,2,20,21,22,23,24,25,26,27,28,29,2F,3,30,31,32,33" + + ",34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,3G,3H,3I,3J,4,40,41,42,43,44,4F,5,5F,6,6F,7" + + ",8,8F,A,A1,A2,A3,A4,A5,A6,A7,A9,AA,AAP,AB,ABO,ABR,ABS,AC,ACN,AD,ADH,ADM,AE,AF,AG" + + ",AGE,AGI,AH,AI,AJ,AK,AL,ALK,ALN,ALP,AM,AMI,AMW,AN,AOX,AP,API,APP,AS,ASH,ASY,AT,A" + + "U,AV,AVT,AW,AX,AY,AZ,B,B1,B2,B3,B4,B5,B6,BA,BB,BC,BD,BDP,BE,BF,BG,BH,BHF,BHS,BIC" + + ",BJ,BK,BL,BN,BND,BO,BOR,BP,BQ,BR,BRS,BSW,BT,BU,BUD,BW,BX,C,C0,C1,C2,C3,C4,CA,CAU" + + ",CC,CCF,CCG,CD,CE,CF,CG,CGR,CH,CHA,CHC,CHG,CHL,CI,CIV,CJ,CK,CL,CLA,CLB,CLN,CM,CN" + + ",CO,COH,COL,CON,COR,COS,COT,CP,CPF,CPS,CQ,CR,CRF,CRL,CRN,CRT,CS,CSC,CSR,CST,CT,C" + + "TG,CTT,CU,CUT,CW,CWT,CX,CY,CYB,D,D1,D2,D3,D4,D5,D7,DA,DAT,DB,DC,DCT,DD,DE,DEM,DF" + + ",DG,DH,DI,DIR,DIS,DJ,DL,DM,DME,DMF,DN,DP,DPM,DR,DRY,DS,DT,DU,DW,DWP,DY,E,E0,E1,E" + + "A,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EL,ELC,ELE,ELI,ELL,ELO,ELP,ELS,ELT,ELV,ELW,ELX,EM,E" + + "N,EP,EPL,ES,EVL,EVR,EW,EX,EXH,EXT,F,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FBP,FC,FD,F" + + "E,FF,FG,FH,FI,FIL,FIN,FIT,FJ,FK,FL,FLD,FLN,FLP,FLV,FML,FMZ,FN,FNL,FNS,FOA,FOH,FO" + + "I,FOR,FP,FPV,FQ,FR,FS,FSI,FT,FU,FUD,FV,FW,FX,FY,FZ,G,G1,G2,G3,G4,GA,GB,GC,GD,GE," + + "GEL,GF,GG,GGR,GH,GI,GIR,GJ,GK,GL,GLE,GM,GN,GO,GOR,GP,GQ,GR,GRA,GRI,GS,GT,GW,H1,H" + + "2O,H8,H9,HA,HAR,HAZ,HB,HC,HCG,HD,HE,HF,HG,HH,HHW,HI,HIB,HJ,HK,HL,HM,HO,HOC,HP,HR" + + ",HT,HTE,HVM,HWS,HYD,HZ,HZC,I,IA,IB,IC,ID,IDE,IE,IF,IG,IGA,IGR,IH,IHV,II,IJ,IK,IL" + + ",IM,IMP,IN,IND,INS,IO,IP,IPI,IQ,IR,IRA,IS,IT,IU,IV,IW,IX,IY,IZ,JA,JOM,KA,KB,KN,L" + + ",L0,L1,LA,LAI,LB,LC,LC5,LCG,LD,LD5,LDH,LE,LEF,LF,LG,LIR,LIV,LL,LLD,LM,LN,LO,LOI," + + "LOS,LOW,LP,LPG,LPL,LPR,LS,LSK,LSS,LT,LTD,LW,M,M1,M2,M3,M4,M5,M6,MA,MAT,MB,MC,MCN" + + ",MD,ME,MEF,MEL,MER,MF,MG,MH,MHI,MI,MIC,MJ,MK,MM,MN,MO,MOI,MOR,MP,MPR,MQ,MR,MS,MT" + + ",MTD,MU,MUL,MV,MW,MX,MY,N,NA,NB,NC,ND,NEU,NF,NG,NH,NI,NIL,NJ,NK,NL,NM,NNW,NO,NOC" + + ",NON,NOR,NOX,NP,NS,NU,NV,O,O1,OA,OAP,OB,OBT,OC,OCG,OCR,OD,ODR,OE,OF,OG,OH,OI,OIL" + + ",OJ,OK,OL,OLE,OM,ON,OO,OP,OQ,OR,ORC,OS,OT,OTE,OTH,OTT,OV,OW,OX,OXI,OXS,OY,P1,PA," + + "PAR,PB,PBD,PC,PD,PDE,PDG,PE,PER,PF,PFO,PG,PH,PHA,PHW,PI,PIC,PJ,PK,PL,PM,PN,PO,PO" + + "C,POD,POP,PP,PPS,PQ,PR,PRE,PRF,PRI,PRL,PRO,PRQ,PRY,PS,PSA,PSP,PSW,PT,PU,PV,PW,PW" + + "A,PWE,PWF,PX,PY,PZ,Q,QA,QB,QC,QD,QE,QF,QL,QUR,R,R1,R10,R18,R2,R3,R4,R7,R8,RA,RAD" + + ",RAF,RB,RC,RD,RE,REA,RED,REF,REI,REL,RES,RF,RG,RH,RI,RJ,RK,RL,RM,RN,RO,ROH,ROX,R" + + "P,RQ,RR,RS,RSZ,RT,RTB,RU,RUD,RV,RVP,RW,RX,RY,S,S1,S10,S12,S18,S2,S3,S4,S5,S6,S7," + + "S8,S9,SA,SAP,SB,SC,SCH,SD,SE,SEV,SF,SG,SH,SHA,SI,SIL,SJ,SK,SL,SLD,SLI,SM,SMB,SMD" + + ",SN,SO,SOD,SOF,SP,SPG,SPR,SQ,SR,SS,ST,STA,STL,STP,SU,SUM,SUR,SUT,SV,SVL,SW,SX,SX" + + "X,SY,SZ,T,T1,T2,T3,T4,T5,T50,T90,TA,TAS,TB,TC,TCL,TD,TDP,TE,TEE,TES,TEX,TF,TG,TH" + + ",TI,TJ,TK,TL,TM,CA,TO,TOA,TOR,TOX,TP,TPF,TPL,TPQ,TPS,TQ,TR,TRA,TRC,TRD,TRN,TS,TS" + + "Z,TT,TTL,TU,TUR,TV,TVD,TW,TWD,TX,TY,U,UA,UCB,UG,UNI,UNK,VAD,VAP,VCG,VH,VIN,VIS,V" + + "O,VOC,VOL,VOT,VOV,VOW,VSO,VW,VWT,WA,WB,WC,WD,WDE,WE,WEL,WF,WH,WI,WL,WM,WOD,WPF,W" + + "PL,WPS,WR,WRA,WSK,WT,WTB,WU,WX,X,XA,XH,XP,XQ,XZ,YA,YB,YC,YD,ZA,ZAL,ZAS,ZB,ZBI,ZB" + + "T,ZBZ,ZC,ZCA,ZCB,ZCD,ZCE,ZCO,ZCR,ZCU,ZD,ZET,ZF,ZFE,ZFL,ZFS,ZG,ZGE,ZH,ZHP,ZHS,ZHX" + + ",ZIB,ZIP,ZMG,ZMN,ZMO,ZMT,ZN,ZNB,ZNI,ZNP,ZO,ZOC,ZP,ZPB,ZPP,ZPT,ZR,ZS,ZSB,ZSE,ZSI," + + "ZSN,ZTA,ZTB,ZTE,ZTI,ZV,ZW,ZZN,ZZR,ZZZ,")] + public class X12_ID_738 {} + + /// + /// Returnable Container Freight Payment Responsibility Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,F,S,Z,")] + public class X12_ID_743 {} + + /// + /// Print Option Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CN,DI,EN,MV,PN,RN,SN,CA,UF,VN,WN,XY,")] + public class X12_ID_744 {} + + /// + /// Pre-Cooled (Rule 710) Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",Y,")] + public class X12_ID_745 {} + + /// + /// Rebill Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",RB,RC,RD,")] + public class X12_ID_747 {} + + /// + /// Movement Authority Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,DS,E,G,HM,I,L,M,N,NC,NU,O,OA,OS,P,R,RB,S,T,W,X,")] + public class X12_ID_748 {} + + /// + /// Supplementary Information Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",BLC,CIR,COA,COM,CON,CTP,CUS,DOM,EXP,FUM,INS,IPI,LOC,MSD,OBV,ONR,ORI,PAK,QAL,SAN," + + "SED,SPI,SWB,")] + public class X12_ID_749 {} + + /// + /// Product/Process Characteristic Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,28,29,30,32,33,34,35,36,37,38,39,40,41,42,43,54,55,56,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,99,9A,9B,9C,9D,AF,AG,AGE,AT,B8,BC,BCC,BES,BEV,BLM,BND,BPI,BRG,BW,C2,C3,C4,C5,C6,CCN,CD,CFC,CH,CHF,CL,CLT,CM,CMS,CO,CP,CS,CU,CW,DAC,DAF,DE,DF,DIR,DM,EC,EN,FA,FC,FCD,FDD,FL,FLV,FMR,FQ,GD,GEN,GM,GS,HB,HY,HZ,HZR,ING,INJ,KI,LC,LO,MA,MAC,MB,MBU,MS,MSG,NH,OC,OD,ODR,OR,OT,P6,PD,PF,PFA,PFC,PFG,PFI,PFK,PFL,PFM,PFN,PFP,PFS,PFT,PG,PP,PR,PRI,PRO,PSC,PUB,PUR,QAS,R3,RA,RCC,RM,RR,RSD,RSE,RX,SC,SE,SEC,SF,SIZ,SLM,SOL,ST,STL,SYN,TC,TE,TF,THR,TIF,TIR,TP,TR,TRN,TWF,TZ,VA,VC,VI,WD,WF,WLC,WT,WTT,ZZ,")] + public class X12_ID_750 {} + + /// + /// Surface/Layer/Position Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",1S,2S,A1,AL,AO,AS,B1,BC,BI,BK,BL,BR,BS,BT,CH,CT,DO,DT,DU,EX,FR,FS,GF,IN,IT,KB,LC,LO,LT,M1,MC,MD,NS,NT,OA,OS,OT,R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,RA,RB,RC,RD,RE,RF,RG,RH,RI,RJ,RK,RL,RM,RN,RO,RP,RQ,RR,RS,RT,RU,RV,RW,RX,RY,RZ,S1,S2,S3,S4,S5,S6,S7,S8,S9,SA,SB,SC,SD,SE,SF,SN,SP,SS,ST,SU,TB,TP,TS,UC,UN,UP,UT,WF,")] + public class X12_ID_752 {} + + /// + /// Packaging Characteristic Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,10,11,12,13,34,35,36,37,38,39,40,42,43,44,45,60,61,62,63,65,66,67,68,CB,CC,CD" + + ",CS,CT,CUD,HM,IC,IP,LP,OPI,PK,PM,PML,PN,SMK,UC,UCL,UP,WM,")] + public class X12_ID_753 {} + + /// + /// Report Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,5" + + "4,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80," + + "81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,A1,A2,A3,A4,AA,AB,AC,AD,AE,AF" + + ",AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,B1,B2,B3,B4,BA,BB,B" + + "C,BE,BF,BL,BM,BN,BO,BR,BS,BT,BW,BY,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF," + + "CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CW,CX,CY,CZ,D2,DA,DB,DC,DD,DE,DF,DG" + + ",DH,DI,DJ,DK,DL,DM,DN,DQ,DR,DS,DT,DU,DV,DW,E1,EA,EB,EC,ED,EL,EP,ER,EX,EY,F1,F2,F" + + "3,F4,F5,F6,F7,F8,F9,FB,FC,FD,FE,FH,FI,FM,FS,GP,GT,HC,HR,HW,I2,I3,I4,I5,I6,IA,IC," + + "IM,IN,IP,IR,IS,IT,IU,IV,JA,JB,JC,JD,JE,JF,JG,JH,JI,JK,JL,JM,JN,JO,JP,JQ,JR,JS,JT" + + ",JV,JW,JX,JY,JZ,KA,KC,KD,KE,KF,KG,KH,KI,KJ,KY,KZ,LA,LB,LC,LD,LE,LG,LI,LO,LP,LR,L" + + "S,LT,LW,M1,MA,MB,MC,MD,ME,MF,MG,MH,MI,MJ,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MV,MZ,NA," + + "NC,ND,NI,NL,NM,NN,NO,NQ,NR,NT,OB,OC,OD,OE,OL,OP,OR,OS,OT,OX,OZ,P1,P2,P3,P4,P5,P6" + + ",P7,P8,PA,PB,PC,PD,PE,PF,PG,PH,PI,PJ,PK,PL,PM,PN,PO,PP,PQ,PR,PS,PT,PV,PW,PX,PY,P" + + "Z,QC,QD,QE,QM,QR,QS,QT,R1,R2,R3,R4,R5,R6,RA,RB,RC,RD,RE,RF,RG,RM,RN,RO,RR,RT,RV," + + "RX,S1,S2,S3,S4,S5,S6,S7,S8,S9,SA,SB,SC,SD,SE,SF,SG,SH,SI,SL,SM,SN,SO,SP,SQ,SR,SS" + + ",ST,SU,SV,SW,SX,SY,T1,T2,T3,T4,T5,T6,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,CA,T" + + "O,TP,TQ,TR,TS,TT,TX,U1,UA,UB,UD,UE,UF,UG,UH,UI,UJ,UK,UL,UM,UN,UO,UP,UQ,UR,US,UT," + + "UU,UV,UX,UY,UZ,V1,V2,V3,V4,V5,V6,V7,VA,VC,VD,VM,W1,W2,WA,WB,WC,WD,WE,WF,WG,WH,WI" + + ",WP,WT,X1,X2,X3,X4,X5,XE,XP,Y1,Y2,Y3,ZA,ZB,ZZ,")] + public class X12_ID_755 {} + + /// + /// Report Transmission Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",1,2,3,4,5,6,7,8,9,AA,AC,AE,AM,AS,AT,AU,BE,BM,BW,CD,CF,CP,CT,DA,EL,EM,FT,FX,GS,HL" + + ",IA,IE,IM,MB,MD,MN,MP,MT,NS,OL,PO,SE,SM,SN,SW,TA,TE,TM,TX,VO,WS,")] + public class X12_ID_756 {} + + /// + /// Reportable Quantity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",RQ,")] + public class X12_ID_759 {} + + /// + /// Limited Quantity Indication Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",Y,")] + public class X12_ID_760 {} + + /// + /// Waybill Response Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,D,E,H,M,N,O,R,S,T,U,W,")] + public class X12_ID_762 {} + + /// + /// Market Area Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",001,002,003,004,005,006,007,008,009,010,011,012,")] + public class X12_ID_771 {} + + /// + /// Interchange Agreement Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",E,H,N,")] + public class X12_ID_772 {} + + /// + /// Container Type Request Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,R,S,W,")] + public class X12_ID_78 {} + + /// + /// Planning Schedule Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,MM,MN,MP,OS,OT,PM,PS,SO,ST,TO,TS,TT,XA,XF,")] + public class X12_ID_783 {} + + /// + /// Security Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",00,01,02,03,04,05,06,09,11,20,21,90,92,93,94,99,ZZ,")] + public class X12_ID_786 {} + + /// + /// Entity Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,J,K,L,M,N,P,Z,")] + public class X12_ID_792 {} + + /// + /// Revision Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,H,Z,")] + public class X12_ID_795 {} + + /// + /// Security Technique Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",9A,9E,9N,OC,ZZ,")] + public class X12_ID_797 {} + + /// + /// Bank Client Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",E,R,")] + public class X12_ID_8 {} + + /// + /// Hazardous Material Shipment Information Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",ADI,CAO,D13,DRC,DWW,EMS,HOT,HZC,INH,LQY,MFA,MOS,MPI,PIH,POI,RAM,TEC,CAM,WST,")] + public class X12_ID_808 {} + + /// + /// Obligation Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AI,AL,AY,BL,CC,ED,FC,FD,FR,HR,ML,OO,PI,RC,RX,SL,UT,ZZ,")] + public class X12_ID_811 {} + + /// + /// Payment Format Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BPT,CBC,CCD,CCP,CTP,CTX,PBC,PPD,PPP,PRD,")] + public class X12_ID_812 {} + + /// + /// Station Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,H,I,J,L,M,N,O,R,S,T,W,")] + public class X12_ID_813 {} + + /// + /// Nesting Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,T,")] + public class X12_ID_814 {} + + /// + /// Property Inspection Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",DE,DR,EX,GR,HT,IN,LO,NB,PL,SH,SP,WI,ZZ,")] + public class X12_ID_815 {} + + /// + /// Occupancy Verification Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",DI,JU,NB,NM,OM,RE,TE,CA,VI,ZZ,")] + public class X12_ID_816 {} + + /// + /// Report Section Name Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AM,AP,CA,CI,CM,CO,DI,DM,DS,EI,EN,EO,EP,FA,FE,HH,HI,IA,KY,MI,MS,PD,PM,PR,RE,RG,SH" + + ",SL,ST,TS,TX,")] + public class X12_ID_820 {} + + /// + /// Safety Characteristic/Hazard Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",ACT,AM2,AP2,CAR,CI2,CO2,CON,CTD,DCL,DEC,DEH,DI2,DIS,DM2,EDD,EFA,EFB,EFX,EIM,EN2,ENA,ENB,ENG,ENO,ENS,EO2,EP2,EPA,ESD,EVP,EXC,EXG,EXI,EXL,EYA,EYC,EYF,EYZ,FA2,FAA,FAL,FAS,FAT,FAZ,FE2,FEH,FEZ,FLC,FLP,GCA,GMA,GPI,HAI,HCA,HCP,HH2,HHA,HI2,HZC,HZR,IA2,IGA,IGC,IGZ,IHA,IHC,IHZ,INC,INS,INX,IRR,KY2,LAB,LKI,MAT,MCE,MUT,NOT,NTE,NTR,NTS,NTZ,OPH,OPR,ORC,PD2,PM2,POL,PPA,PPB,PPC,PPD,PPE,PPF,PPG,PPR,PPS,PPZ,PR2,PRE,PRF,PRG,PRH,PRI,PRJ,PRK,PRL,PRM,PRO,PRQ,PRS,PRT,PRU,PRZ,RE2,REA,REC,REP,RG2,RLI,RTK,SAP,SBY,SCE,SGW,SH2,SHI,SKA,SKC,SKS,SKT,SKZ,SL2,SNS,SPF,SPI,SPJ,SPL,SPP,ST2,STA,SUB,SYP,SYS,TER,TOC,TOG,TRH,TS2,TX2,VRZ,WAR,WDI,")] + public class X12_ID_821 {} + + /// + /// Fuel Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,G,K,L,N,O,P,S,Z,")] + public class X12_ID_829 {} + + /// + /// Licensing Agency Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,E,F,G,I,J,M,N,P,S,T,")] + public class X12_ID_83 {} + + /// + /// Inspection Location Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,90,96,97,98,99,")] + public class X12_ID_831 {} + + /// + /// Supplemental Inspection Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",Y,")] + public class X12_ID_835 {} + + /// + /// Vehicle Deck Position Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A1,A2,A3,A4,A5,A6,A7,B1,B2,B3,B4,B5,B6,B7,C1,C2,C3,C4,C5,C6,C7,")] + public class X12_ID_836 {} + + /// + /// Vehicle Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,C,I,M,T,V,X,")] + public class X12_ID_837 {} + + /// + /// Inbound Condition Hold Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,")] + public class X12_ID_844 {} + + /// + /// Chassis Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",8P,DF,FB,GN,SF,SL,TX,")] + public class X12_ID_845 {} + + /// + /// Contract Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AC,AN,AW,CA,CB,CC,CL,CM,CR,CX,DA,DE,DL,EX,FL,GS,HO,IA,IE,IN,MA,NB,NT,OC,PA,PB,PC" + + ",PD,PP,PR,RA,RB,RC,RO,SC,SU,TA,TR,VA,")] + public class X12_ID_846 {} + + /// + /// Order/Item Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AO,CA,CI,CO,PA,PI,PO,PP,")] + public class X12_ID_847 {} + + /// + /// Product/Date Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",PD,SD,SP,")] + public class X12_ID_848 {} + + /// + /// Location Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",SB,SL,SS,")] + public class X12_ID_849 {} + + /// + /// Status Report Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,10,11,12,2,3,4,5,6,7,8,9,")] + public class X12_ID_850 {} + + /// + /// Address Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,C,M,T,")] + public class X12_ID_852 {} + + /// + /// Damage Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BD,CC,CD,DL,DP,FL,HD,ID,IL,IU,LD,LS,NO,NR,PP,PS,SF,TE,UE,VI,WC,")] + public class X12_ID_853 {} + + /// + /// Vessel Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",BC,BD,BI,BK,BL,BO,CB,CT,DG,DP,FH,GC,GT,MT,PC,PS,RR,SP,TG,VH,")] + public class X12_ID_854 {} + + /// + /// Peg Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,T,")] + public class X12_ID_855 {} + + /// + /// Rate Level Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,E,I,Z,")] + public class X12_ID_856 {} + + /// + /// Activity Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",BS,BT,DG,HL,LS,MS,OF,OH,OP,OQ,PA,PO,Q1,Q2,Q3,QA,QB,QC,QD,QE,QF,QH,QI,QK,QL,QM,QN" + + ",QO,QP,QR,QS,QT,QU,QW,QX,QZ,RE,TS,WQ,")] + public class X12_ID_859 {} + + /// + /// Initiator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",R,S,")] + public class X12_ID_868 {} + + /// + /// Maintenance Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",001,002,003,004,005,006,007,008,009,010,012,013,014,015,016,017,018,019,020,021,022,023,024,025,026,028,029,030,031,032,033,050,051,052,053,054,055,056,057,058,059,060,061,062,063,064,065,066,067,068,069,070,071,072,073,074,075,076,077,078,079,080,081,082,083,100,101,102,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,CEP,PRI,ZZZ,")] + public class X12_ID_875 {} + + /// + /// Marks and Numbers Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AI,CA,CP,DZ,GM,L,MC,PB,R,S,SI,SM,SR,SS,UC,UP,W,X,ZZ,")] + public class X12_ID_88 {} + + /// + /// Pallet Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,")] + public class X12_ID_883 {} + + /// + /// Nonconformance Report Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CL,FI,OC,OD,OI,OS,OT,RE,RV,")] + public class X12_ID_886 {} + + /// + /// Nonconformance Resultant Response Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CA,FR,HE,IN,P,RE,RJ,RP,RQ,RS,RT,RW,SC,UA,UC,")] + public class X12_ID_887 {} + + /// + /// Nonconformance Determination Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,N,Y,")] + public class X12_ID_888 {} + + /// + /// Follow-up Action Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,E,N,P,R,S,W,X,Y,")] + public class X12_ID_889 {} + + /// + /// Carrier/Route Change Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,ZZ,")] + public class X12_ID_890 {} + + /// + /// Shipping Date Change Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,ZZ,")] + public class X12_ID_891 {} + + /// + /// Line Item Change Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,20,21,22,23,24,25,26,ZZ,")] + public class X12_ID_892 {} + + /// + /// Warehouse Detail Adjustment Identifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,")] + public class X12_ID_893 {} + + /// + /// Batch Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,09,10,11,12,13,")] + public class X12_ID_894 {} + + /// + /// Vessel Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",B,C,L,Z,")] + public class X12_ID_897 {} + + /// + /// Late Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",C1,D1,D2,D3,D4,D5,D6,E1,E2,E3,E4,E5,E6,L1,L2,L3,L4,L5,L6,L7,L8,L9,LA,")] + public class X12_ID_9 {} + + /// + /// Measurement Unit Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,E,N,X,")] + public class X12_ID_90 {} + + /// + /// Reject Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,95,96,97,98,AB,AD,AR,BA,BC,BD,BG,BL,BP,BR,BS,BV,BW,CA,CB,CL,CM,CP,CS,CT,CU,DD,DG,DM,DP,DR,DV,E1,E2,E3,E4,E5,E6,E7,E8,EA,ER,ET,FR,GS,HB,HH,HX,ID,II,IN,KR,LK,LS,LW,MO,OG,OI,OR,OV,PF,PM,PN,RB,RD,RF,RH,RK,RL,RN,RP,RS,RT,SC,ST,SU,SW,T1,T2,T3,T4,T5,T6,TC,TD,TH,TL,TR,UC,UF,UG,WA,WK,ZZ,")] + public class X12_ID_901 {} + + /// + /// Section Designator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",D,H,N,S,")] + public class X12_ID_902 {} + + /// + /// Envelope Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",H,N,T,")] + public class X12_ID_903 {} + + /// + /// Requirement Designator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,F,M,N,O,R,")] + public class X12_ID_904 {} + + /// + /// Level Number + /// + [Serializable()] + [DataContract()] + [EdiCodes(",0,1,2,3,")] + public class X12_ID_906 {} + + /// + /// Transportation Method/Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",6,7,A,AC,AE,AF,AH,AR,B,BP,BU,C,CE,D,DA,DW,E,ED,F,FA,FL,GG,GR,GS,H,HH,I,J,K,L,LA," + + "LT,M,MB,MP,N,O,P,PA,PG,PL,PP,PR,PT,Q,R,RC,RR,S,SB,SC,SD,SE,SR,SS,ST,T,TA,TC,TT,U" + + ",VA,VE,VL,W,WP,X,Y,Y1,Y2,ZZ,")] + public class X12_ID_91 {} + + /// + /// Relation Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,E,L,P,R,")] + public class X12_ID_912 {} + + /// + /// Data Element Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AN,B,DT,ID,N0,N1,N2,N3,N4,N5,N6,N7,N8,N9,R,TM,")] + public class X12_ID_913 {} + + /// + /// Purchase Order Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AB,AC,AO,BD,BE,BH,BK,BL,BQ,BY,CA,CC,CF,CN,CO,CP,CR,DR,DS,EO,FH,IN,JL,KA,KB,KC,KD" + + ",KE,KG,KI,KN,KO,KP,KQ,KR,KS,KT,LB,LS,NE,NO,NP,NS,OS,PR,RA,RC,RE,RL,RN,RO,RR,RT,R" + + "U,RW,SA,SO,SP,SS,ST,SW,TC,TM,TR,UD,UE,US,WO,ZZ,")] + public class X12_ID_92 {} + + /// + /// Discipline Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AI,MS,OT,PT,SN,ST,")] + public class X12_ID_921 {} + + /// + /// Electronic Form Standards Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",I,T,X,")] + public class X12_ID_922 {} + + /// + /// Prognosis Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,")] + public class X12_ID_923 {} + + /// + /// Full or Partial Indicator + /// + [Serializable()] + [DataContract()] + [EdiCodes(",F,P,")] + public class X12_ID_924 {} + + /// + /// Damage Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,")] + public class X12_ID_927 {} + + /// + /// Printer Carriage Control Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AA,AT,DS,LC,NP,NS,SS,")] + public class X12_ID_934 {} + + /// + /// Measurement Significance Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + @",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34,35,36,37,38,39,40,41,42,43,44,45,46,47,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,ZZ,")] + public class X12_ID_935 {} + + /// + /// Measurement Attribute Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,40,41,42,44,45,46,48,49,50,51,52,Q1,Q2,TA,TB,ZZ,")] + public class X12_ID_936 {} + + /// + /// Test Administration Method Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,11,12,AG,CT,FL,MA,ME,PC,PO,SB,SP,")] + public class X12_ID_937 {} + + /// + /// Test Medium Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,")] + public class X12_ID_938 {} + + /// + /// Sample Process Status Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,")] + public class X12_ID_939 {} + + /// + /// Sample Selection Method Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,")] + public class X12_ID_940 {} + + /// + /// Sample Description Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,")] + public class X12_ID_943 {} + + /// + /// Sample Direction Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,")] + public class X12_ID_944 {} + + /// + /// Position Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,30,31,32" + + ",33,34,")] + public class X12_ID_945 {} + + /// + /// Statistic Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27" + + ",28,29,30,31,32,33,34,40,41,42,43,44,53,AD,CF,CS,HG,KS,SK,SW,ZZ,")] + public class X12_ID_950 {} + + /// + /// Balance Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,AM,C,CD,M,N,P,Q,Y,")] + public class X12_ID_951 {} + + /// + /// Adjustment Application Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",F,L,S,")] + public class X12_ID_952 {} + + /// + /// Tax Jurisdiction Code Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CD,VD,VE,")] + public class X12_ID_955 {} + + /// + /// Payment Cancellation Type + /// + [Serializable()] + [DataContract()] + [EdiCodes(",CAN,IND,")] + public class X12_ID_959 {} + + /// + /// Request for Quote Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,02,03,04,05,06,07,08,09,10,11,BF,CB,")] + public class X12_ID_960 {} + + /// + /// Receiving Advice or Acceptance Certificate Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,7,8,9,A,R,")] + public class X12_ID_962 {} + + /// + /// Tax Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",AA,AB,AT,BP,CA,CB,CG,CI,CP,CR,CS,CT,CV,DL,EQ,ET,EV,F1,F2,F3,FD,FF,FI,FL,FR,FS,FT" + + ",GR,GS,HS,HT,HZ,LB,LO,LS,LT,LU,LV,MA,MN,MP,MS,MT,OH,OT,PG,PS,SA,SB,SC,SE,SF,SL,S" + + "P,SR,SS,ST,SU,SX,T1,T2,TD,TT,TX,UL,UT,VA,WS,ZA,ZB,ZC,ZD,ZE,ZZ,")] + public class X12_ID_963 {} + + /// + /// Cost Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",FNC,HAN,LAB,MTL,OCT,OTH,OVR,PKG,RMP,RMU,SET,TDI,TGA,TLN,TML,TMP,TOL,TPU,TTL,")] + public class X12_ID_964 {} + + /// + /// Rate Basis Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,F,H,M,T,X,Y,")] + public class X12_ID_969 {} + + /// + /// Tariff Reference Flag + /// + [Serializable()] + [DataContract()] + [EdiCodes(",R,")] + public class X12_ID_974 {} + + /// + /// Tariff Restriction ID Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",A,B,C,D,E,")] + public class X12_ID_976 {} + + /// + /// Entity Identifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",001,002,003,004,005,006,007,01,02,03,04,05,06,07,08,09,0A,0B,0D,0E,0F,0H,10,11,1" + + "2,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,1G,1H,1I,1J,1K,1L,1M,1N,1O,1P,1Q,1R,1S," + + "1T,1U,1V,1W,1X,1Y,1Z,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,2G,2H,2I,2J" + + ",2K,2L,2M,2N,2O,2P,2Q,2R,2S,2T,2U,2V,2W,2X,2Y,2Z,30,31,32,33,34,35,36,37,38,39,3" + + "A,3B,3C,3D,3E,3F,3G,3H,3I,3J,3K,3L,3M,3N,3O,3P,3Q,3R,3S,3T,3U,3V,3W,3X,3Y,3Z,40," + + "41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,4G,4H,4I,4J,4K,4L,4M,4N,4O,4P,4Q,4R" + + ",4S,4T,4U,4V,4W,4X,4Y,4Z,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,5G,5H,5" + + "I,5J,5K,5L,5M,5N,5O,5P,5Q,5R,5S,5T,5U,5V,5W,5X,5Y,5Z,60,61,62,63,64,65,66,67,68," + + "69,6A,6B,6C,6D,6E,6F,6G,6H,6I,6J,6K,6L,6M,6N,6O,6P,6Q,6R,6S,6T,6U,6V,6W,6X,6Y,6Z" + + ",70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,7G,7H,7I,7J,7K,7L,7M,7N,7O,7P,7" + + "Q,7R,7S,7T,7U,7V,7W,7X,7Y,7Z,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,8G," + + "8H,8I,8J,8K,8L,8M,8N,8O,8P,8Q,8R,8S,8T,8U,8V,8W,8X,8Y,8Z,90,91,92,93,94,95,96,97" + + ",98,99,9A,9B,9C,9D,9E,9F,9G,9H,9I,9J,9K,9L,9N,9O,9P,9Q,9R,9S,9T,9U,9V,9W,9X,9Y,9" + + "Z,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AAA,AAB,AAC,AAD,AAE,AAF,AAG,AAH,AAI,AAJ,AAK,AAL," + + "AAM,AAN,AAO,AAP,AAQ,AAS,AAT,AAU,AAV,AB,ABB,ABC,ABD,ABE,ABF,ABG,ABH,ABI,ABJ,ABK,A" + + "BL,ABM,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,ALA,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY," + + "AZ,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BAL,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BKR,BL,BM,BN," + + "BO,BP,BQ,BR,BRN,BS,BT,BU,BUS,BV,BW,BX,BY,BZ,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC," + + "CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CMW,CN,CO,COL,COR,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ" + + ",D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DCC,DD,DE,DF,DG,DH,DI,DIR,DJ,DK,DL,DM,DN,DO" + + ",DP,DQ,DR,DS,DT,DU,DV,DW,DX,DY,DZ,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,E" + + "G,EH,EI,EJ,EK,EL,EM,EN,ENR,EO,EP,EQ,ER,ES,ET,EU,EV,EW,EX,EXS,EY,EZ,F1,F2,F3,F4,F" + + "5,F6,F7,F8,F9,FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FL,FM,FN,FO,FP,FQ,FR,FRL,FS,FSR,FT,F" + + "U,FV,FW,FX,FY,FZ,G0,G1,G2,G3,G5,G6,G7,G8,G9,GA,GB,GC,GD,GE,GF,GG,GH,GI,GIR,GJ,GK" + + ",GL,GM,GN,GO,GP,GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,H1,H2,H3,H5,H6,H7,H8,H9,HA,HB,HC,H" + + "D,HE,HF,HG,HH,HI,HJ,HK,HL,HM,HMI,HN,HO,HOM,HP,HQ,HR,HS,HT,HU,HV,HW,HX,HY,HZ,I1,I" + + "3,I4,I9,IA,IAA,IAC,IAD,IAE,IAF,IAG,IAH,IAI,IAK,IAL,IAM,IAN,IAO,IAP,IAQ,IAR,IAS,I" + + "AT,IAU,IAV,IAW,IAY,IAZ,IB,IC,ID,IE,IF,II,IJ,IK,IL,IM,IN,INV,IO,IP,IQ,IR,IS,IT,IU" + + ",IV,J1,J2,J3,J4,J5,J6,J7,J8,J9,JA,JB,JC,JD,JE,JF,JG,JH,JI,JJ,JK,JL,JM,JN,JO,JP,J" + + "Q,JR,JS,JT,JU,JV,JW,JX,JY,JZ,K1,K2,K3,K4,K5,K6,K7,K8,K9,KA,KB,KC,KD,KE,KF,KG,KH," + + "KI,KJ,KK,KL,KM,KN,KO,KP,KQ,KR,KS,KT,KU,KV,KW,KX,KY,KZ,L1,L2,L3,L5,L8,L9,LA,LB,LC" + + ",LD,LE,LF,LG,LGS,LH,LI,LJ,LK,LL,LM,LN,LO,LP,LQ,LR,LS,LT,LU,LV,LW,LY,LYM,LYN,LYO," + + "LYP,LZ,M1,M2,M3,M4,M5,M6,M7,M8,M9,MA,MB,MC,MD,ME,MF,MG,MH,MI,MJ,MK,ML,MM,MN,MO,M" + + "P,MQ,MR,MS,MSC,MT,MU,MV,MW,MX,MY,MZ,N1,N2,N3,N4,N5,N6,N7,N8,N9,NB,NC,NCT,ND,NE,N" + + "F,NG,NH,NI,NJ,NK,NL,NM,NN,NP,NPC,NQ,NR,NS,NT,NU,NV,NW,NX,NY,NZ,O1,O2,O3,O4,O5,O6" + + ",O7,O8,OA,OB,OC,OD,OE,OF,OG,OH,OI,OK,OL,OM,ON,OO,OP,OR,ORI,OS,OT,OU,OV,OW,OX,OY," + + "OZ,P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,PA,PB,PC,PD,PE,PF,PG,PH,PI,PJ,PK,PL,PLR,PM,PMF," + + "PN,PO,PP,PPS,PQ,PR,PRE,PRP,PS,PT,PU,PUR,PV,PW,PX,PY,PZ,Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q" + + "9,QA,QB,QC,QD,QE,QF,QG,QH,QI,QJ,QK,QL,QM,QN,QO,QP,QQ,QR,QS,QT,QU,QV,QW,QX,QY,QZ," + + "R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,RA,RB,RC,RCR,RD,RE,REC,RF,RG,RGA,RH,RI,RJ,RK,RL,RM" + + ",RN,RO,RP,RQ,RR,RS,RT,RU,RV,RW,RX,RY,RZ,S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,SA,SB,SC,S" + + "D,SE,SEP,SF,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SP,SQ,SR,SS,ST,SU,SV,SW,SX,SY,SZ,T1,T2,T3" + + ",T4,T6,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,CA,TO,TP,TPM,TQ,TR,TS,TSE,TS" + + "R,TT,TTP,TU,TV,TW,TX,TY,TZ,U1,U2,U3,U4,U5,U6,U7,U8,U9,UA,UB,UC,UD,UE,UF,UG,UH,UI" + + ",UJ,UK,UL,UM,UN,UO,UP,UQ,UR,US,UT,UU,UW,UX,UY,UZ,V1,V2,V3,V4,V5,V6,V8,V9,VA,VB,V" + + "C,VD,VE,VF,VG,VH,VI,VJ,VK,VL,VM,VN,VO,VP,VQ,VR,VS,VT,VU,VV,VW,VX,VY,VZ,W1,W2,W3," + + "W4,W8,W9,WA,WB,WC,WD,WE,WF,WG,WH,WI,WJ,WL,WN,WO,WP,WR,WS,WT,WU,WV,WW,WX,WY,WZ,X1" + + ",X2,X3,X4,X5,X6,X7,X8,XA,XC,XD,XE,XF,XG,XH,XI,XJ,XK,XL,XM,XN,XO,XP,XQ,XR,XS,XT,X" + + "U,XV,XW,XX,XY,XZ,Y2,YA,YB,YC,YD,YE,YF,YG,YH,YI,YJ,YK,YL,YM,YN,YO,YP,YQ,YR,YS,YT," + + "YU,YV,YW,YX,YY,YZ,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,ZA,ZB,ZC,ZD,ZE,ZF,ZG,ZH,ZJ,ZK,ZL,ZM" + + ",ZN,ZO,ZP,ZQ,ZR,ZS,ZT,ZU,ZV,ZW,ZX,ZY,ZZ,")] + public class X12_ID_98 {} + + /// + /// Tariff Section ID Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AC,AT,BF,BS,CA,SR,ZA,ZB,")] + public class X12_ID_980 {} + + /// + /// Tariff Value Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AC,AM,CH,HA,HR,HU,II,MA,MH,MI,MN,NO,PA,RB,SE,SH,ST,CA,VE,")] + public class X12_ID_981 {} + + /// + /// Data Source Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",01,03,05,07,09,")] + public class X12_ID_982 {} + + /// + /// Hazardous Class Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",P,S,")] + public class X12_ID_983 {} + + /// + /// Hazardous Material Shipping Name Qualifier + /// + [Serializable()] + [DataContract()] + [EdiCodes(",C,D,I,")] + public class X12_ID_984 {} + + /// + /// N.O.S. Indicator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",NOS,")] + public class X12_ID_985 {} + + /// + /// Special Commodity Indicator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",S,")] + public class X12_ID_986 {} + + /// + /// Cryptographic Service Message (CSM) Message Class Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",DSM,ERS,ESM,KSM,PKS,RFS,RSI,RSM,RTR,")] + public class X12_ID_987 {} + + /// + /// Cryptographic Service Message (CSM) Field Tag + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",CTA,CTB,CTP,CTR,EDC,ERF,IDA,IDC,IDD,IDU,KD,KDU,KK,KKU,MAC,NOS,PKK,PKKU,SUBF,SVR," + + "TID,")] + public class X12_ID_988 {} + + /// + /// Delayed Repayment Qualifier Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_998 {} + + /// + /// Scope of Power of Attorney Identification Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AC,AL,AU,ES,FG,FN,TA,UC,UH,UT,WR,WW,")] + public class X12_ID_999 {} + + /// + /// Action Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",AK,BH,DL,PU,RD,RF,RJ,RT,TR,")] + public class X12_ID_I40 {} + + /// + /// Error Reason Code + /// + [Serializable()] + [DataContract()] + [EdiCodes( + ",000,001,002,003,004,005,006,007,008,009,010,011,012,013,014,015,016,017,018,019," + + "020,021,022,023,024,025,026,027,028,029,030,031,032,033,")] + public class X12_ID_I43 {} + + /// + /// Report Type Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,Z,")] + public class X12_ID_I58 {} + + /// + /// Report Incremental Indicator Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,")] + public class X12_ID_I60 {} + + /// + /// Message Direction Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,")] + public class X12_ID_I61 {} + + /// + /// Report Status Level Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,Z,")] + public class X12_ID_I62 {} + + /// + /// Report Level of Detail Code + /// + [Serializable()] + [DataContract()] + [EdiCodes(",1,2,3,4,5,6,")] + public class X12_ID_I63 {} + + [Serializable()] + [DataContract()] + public class X12_N {} + + [Serializable()] + [DataContract()] + public class X12_N0 {} + + [Serializable()] + [DataContract()] + public class X12_N1 {} + + [Serializable()] + [DataContract()] + public class X12_N2 {} + + [Serializable()] + [DataContract()] + public class X12_N4 {} + + [Serializable()] + [DataContract()] + public class X12_N6 {} + + [Serializable()] + [DataContract()] + public class X12_R {} + + [Serializable()] + [DataContract()] + public class X12_TM {} +} diff --git a/protocol/X12_004010_ComplexElements.cs b/protocol/X12_004010_ComplexElements.cs new file mode 100644 index 0000000..973b433 --- /dev/null +++ b/protocol/X12_004010_ComplexElements.cs @@ -0,0 +1,1509 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Composite Unit of Measure + /// + [Serializable()] + [DataContract()] + [Composite("C001")] + public class C001 { + + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(1)] + public string UnitorBasisforMeasurementCode_01 { + get; + set; + } + /// + /// Exponent + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1018", typeof(X12_R))] + [Pos(2)] + public string Exponent_02 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(3)] + public string Multiplier_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Exponent + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1018", typeof(X12_R))] + [Pos(5)] + public string Exponent_05 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(6)] + public string Multiplier_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Exponent + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1018", typeof(X12_R))] + [Pos(8)] + public string Exponent_08 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(9)] + public string Multiplier_09 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(10)] + public string UnitorBasisforMeasurementCode_10 { + get; + set; + } + /// + /// Exponent + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1018", typeof(X12_R))] + [Pos(11)] + public string Exponent_11 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(12)] + public string Multiplier_12 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(13)] + public string UnitorBasisforMeasurementCode_13 { + get; + set; + } + /// + /// Exponent + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1018", typeof(X12_R))] + [Pos(14)] + public string Exponent_14 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(15)] + public string Multiplier_15 { + get; + set; + } + } + + /// + /// Actions Indicated + /// + [Serializable()] + [DataContract()] + [Composite("C002")] + public class C002 { + + /// + /// Paperwork/Report Action Code + /// + [DataMember] + [Required] + [DataElement("704", typeof(X12_ID_704))] + [Pos(1)] + public string PaperworkReportActionCode_01 { + get; + set; + } + /// + /// Paperwork/Report Action Code + /// + [DataMember] + [DataElement("704", typeof(X12_ID_704))] + [Pos(2)] + public string PaperworkReportActionCode_02 { + get; + set; + } + /// + /// Paperwork/Report Action Code + /// + [DataMember] + [DataElement("704", typeof(X12_ID_704))] + [Pos(3)] + public string PaperworkReportActionCode_03 { + get; + set; + } + /// + /// Paperwork/Report Action Code + /// + [DataMember] + [DataElement("704", typeof(X12_ID_704))] + [Pos(4)] + public string PaperworkReportActionCode_04 { + get; + set; + } + /// + /// Paperwork/Report Action Code + /// + [DataMember] + [DataElement("704", typeof(X12_ID_704))] + [Pos(5)] + public string PaperworkReportActionCode_05 { + get; + set; + } + } + + /// + /// Composite Medical Procedure Identifier + /// + [Serializable()] + [DataContract()] + [Composite("C003")] + public class C003 { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Procedure Modifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1339", typeof(X12_AN))] + [Pos(3)] + public string ProcedureModifier_03 { + get; + set; + } + /// + /// Procedure Modifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1339", typeof(X12_AN))] + [Pos(4)] + public string ProcedureModifier_04 { + get; + set; + } + /// + /// Procedure Modifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1339", typeof(X12_AN))] + [Pos(5)] + public string ProcedureModifier_05 { + get; + set; + } + /// + /// Procedure Modifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1339", typeof(X12_AN))] + [Pos(6)] + public string ProcedureModifier_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + } + + /// + /// Composite Diagnosis Code Pointer + /// + [Serializable()] + [DataContract()] + [Composite("C004")] + public class C004 { + + /// + /// Diagnosis Code Pointer + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("1328", typeof(X12_N0))] + [Pos(1)] + public string DiagnosisCodePointer_01 { + get; + set; + } + /// + /// Diagnosis Code Pointer + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1328", typeof(X12_N0))] + [Pos(2)] + public string DiagnosisCodePointer_02 { + get; + set; + } + /// + /// Diagnosis Code Pointer + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1328", typeof(X12_N0))] + [Pos(3)] + public string DiagnosisCodePointer_03 { + get; + set; + } + /// + /// Diagnosis Code Pointer + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1328", typeof(X12_N0))] + [Pos(4)] + public string DiagnosisCodePointer_04 { + get; + set; + } + } + + /// + /// Tooth Surface + /// + [Serializable()] + [DataContract()] + [Composite("C005")] + public class C005 { + + /// + /// Tooth Surface Code + /// + [DataMember] + [Required] + [DataElement("1369", typeof(X12_ID_1369))] + [Pos(1)] + public string ToothSurfaceCode_01 { + get; + set; + } + /// + /// Tooth Surface Code + /// + [DataMember] + [DataElement("1369", typeof(X12_ID_1369))] + [Pos(2)] + public string ToothSurfaceCode_02 { + get; + set; + } + /// + /// Tooth Surface Code + /// + [DataMember] + [DataElement("1369", typeof(X12_ID_1369))] + [Pos(3)] + public string ToothSurfaceCode_03 { + get; + set; + } + /// + /// Tooth Surface Code + /// + [DataMember] + [DataElement("1369", typeof(X12_ID_1369))] + [Pos(4)] + public string ToothSurfaceCode_04 { + get; + set; + } + /// + /// Tooth Surface Code + /// + [DataMember] + [DataElement("1369", typeof(X12_ID_1369))] + [Pos(5)] + public string ToothSurfaceCode_05 { + get; + set; + } + } + + /// + /// Oral Cavity Designation + /// + [Serializable()] + [DataContract()] + [Composite("C006")] + public class C006 { + + /// + /// Oral Cavity Designation Code + /// + [DataMember] + [Required] + [DataElement("1361", typeof(X12_ID_1361))] + [Pos(1)] + public string OralCavityDesignationCode_01 { + get; + set; + } + /// + /// Oral Cavity Designation Code + /// + [DataMember] + [DataElement("1361", typeof(X12_ID_1361))] + [Pos(2)] + public string OralCavityDesignationCode_02 { + get; + set; + } + /// + /// Oral Cavity Designation Code + /// + [DataMember] + [DataElement("1361", typeof(X12_ID_1361))] + [Pos(3)] + public string OralCavityDesignationCode_03 { + get; + set; + } + /// + /// Oral Cavity Designation Code + /// + [DataMember] + [DataElement("1361", typeof(X12_ID_1361))] + [Pos(4)] + public string OralCavityDesignationCode_04 { + get; + set; + } + /// + /// Oral Cavity Designation Code + /// + [DataMember] + [DataElement("1361", typeof(X12_ID_1361))] + [Pos(5)] + public string OralCavityDesignationCode_05 { + get; + set; + } + } + + /// + /// Amount Qualifying Description + /// + [Serializable()] + [DataContract()] + [Composite("C007")] + public class C007 { + + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(1)] + public string AmountQualifierCode_01 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(2)] + public string AmountQualifierCode_02 { + get; + set; + } + /// + /// Value Detail Code + /// + [DataMember] + [DataElement("1638", typeof(X12_ID_1638))] + [Pos(3)] + public string ValueDetailCode_03 { + get; + set; + } + /// + /// Measurement Significance Code + /// + [DataMember] + [DataElement("935", typeof(X12_ID_935))] + [Pos(4)] + public string MeasurementSignificanceCode_04 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(5)] + public string UnitofTimePeriodorInterval_05 { + get; + set; + } + /// + /// Net/Gross Code + /// + [DataMember] + [DataElement("1637", typeof(X12_ID_1637))] + [Pos(6)] + public string NetGrossCode_06 { + get; + set; + } + /// + /// Measurement Significance Code + /// + [DataMember] + [DataElement("935", typeof(X12_ID_935))] + [Pos(7)] + public string MeasurementSignificanceCode_07 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(8)] + public string Description_08 { + get; + set; + } + } + + /// + /// Health Care Code Information + /// + [Serializable()] + [DataContract()] + [Composite("C022")] + public class C022 { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [Required] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(7)] + public string VersionIdentifier_07 { + get; + set; + } + } + + /// + /// Health Care Service Location Information + /// + [Serializable()] + [DataContract()] + [Composite("C023")] + public class C023 { + + /// + /// Facility Code Value + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("1331", typeof(X12_AN))] + [Pos(1)] + public string FacilityCodeValue_01 { + get; + set; + } + /// + /// Facility Code Qualifier + /// + [DataMember] + [DataElement("1332", typeof(X12_ID_1332))] + [Pos(2)] + public string FacilityCodeQualifier_02 { + get; + set; + } + /// + /// Claim Frequency Type Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1325", typeof(X12_AN))] + [Pos(3)] + public string ClaimFrequencyTypeCode_03 { + get; + set; + } + } + + /// + /// Related Causes Information + /// + [Serializable()] + [DataContract()] + [Composite("C024")] + public class C024 { + + /// + /// Related-Causes Code + /// + [DataMember] + [Required] + [DataElement("1362", typeof(X12_ID_1362))] + [Pos(1)] + public string RelatedCausesCode_01 { + get; + set; + } + /// + /// Related-Causes Code + /// + [DataMember] + [DataElement("1362", typeof(X12_ID_1362))] + [Pos(2)] + public string RelatedCausesCode_02 { + get; + set; + } + /// + /// Related-Causes Code + /// + [DataMember] + [DataElement("1362", typeof(X12_ID_1362))] + [Pos(3)] + public string RelatedCausesCode_03 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(4)] + public string StateorProvinceCode_04 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(5)] + public string CountryCode_05 { + get; + set; + } + } + + /// + /// Position in Segment + /// + [Serializable()] + [DataContract()] + [Composite("C030")] + public class C030 { + + /// + /// Element Position in Segment + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("722", typeof(X12_N0))] + [Pos(1)] + public string ElementPositioninSegment_01 { + get; + set; + } + /// + /// Component Data Element Position in Composite + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1528", typeof(X12_N0))] + [Pos(2)] + public string ComponentDataElementPositioninComposite_02 { + get; + set; + } + } + + /// + /// Security Value + /// + [Serializable()] + [DataContract()] + [Composite("C033")] + public class C033 { + + /// + /// Security Value Qualifier + /// + [DataMember] + [Required] + [DataElement("1572", typeof(X12_ID_1572))] + [Pos(1)] + public string SecurityValueQualifier_01 { + get; + set; + } + /// + /// Encoded Security Value + /// + [DataMember] + [Required] + [StringLength(1, 1000000)] + [DataElement("1573", typeof(X12_AN))] + [Pos(2)] + public string EncodedSecurityValue_02 { + get; + set; + } + } + + /// + /// Provider Specialty Information + /// + [Serializable()] + [DataContract()] + [Composite("C035")] + public class C035 { + + /// + /// Provider Specialty Code + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("1222", typeof(X12_AN))] + [Pos(1)] + public string ProviderSpecialtyCode_01 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(2)] + public string AgencyQualifierCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + } + + /// + /// Index Identification + /// + [Serializable()] + [DataContract()] + [Composite("C036")] + public class C036 { + + /// + /// Configuration Type Code + /// + [DataMember] + [DataElement("1395", typeof(X12_ID_1395))] + [Pos(1)] + public string ConfigurationTypeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// X-Peg + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("863", typeof(X12_R))] + [Pos(4)] + public string XPeg_04 { + get; + set; + } + /// + /// Y-Peg + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("864", typeof(X12_R))] + [Pos(5)] + public string YPeg_05 { + get; + set; + } + } + + /// + /// Tax Field Identification + /// + [Serializable()] + [DataContract()] + [Composite("C037")] + public class C037 { + + /// + /// Tax Information Identification Number + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("817", typeof(X12_AN))] + [Pos(1)] + public string TaxInformationIdentificationNumber_01 { + get; + set; + } + /// + /// Application Error Condition Code + /// + [DataMember] + [DataElement("647", typeof(X12_ID_647))] + [Pos(2)] + public string ApplicationErrorConditionCode_02 { + get; + set; + } + } + + /// + /// Reference Identifier + /// + [Serializable()] + [DataContract()] + [Composite("C040")] + public class C040 { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(5)] + public string ReferenceIdentificationQualifier_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + } + + /// + /// Adjustment Identifier + /// + [Serializable()] + [DataContract()] + [Composite("C042")] + public class C042 { + + /// + /// Adjustment Reason Code + /// + [DataMember] + [Required] + [DataElement("426", typeof(X12_ID_426))] + [Pos(1)] + public string AdjustmentReasonCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + } + + /// + /// Health Care Claim Status + /// + [Serializable()] + [DataContract()] + [Composite("C043")] + public class C043 { + + /// + /// Industry Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(1)] + public string IndustryCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(3)] + public string EntityIdentifierCode_03 { + get; + set; + } + } + + /// + /// Conditions Indicated + /// + [Serializable()] + [DataContract()] + [Composite("C045")] + public class C045 { + + /// + /// Condition Indicator + /// + [DataMember] + [Required] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(1)] + public string ConditionIndicator_01 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(2)] + public string ConditionIndicator_02 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(3)] + public string ConditionIndicator_03 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(4)] + public string ConditionIndicator_04 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(5)] + public string ConditionIndicator_05 { + get; + set; + } + } + + /// + /// Composite Qualifier Identifier + /// + [Serializable()] + [DataContract()] + [Composite("C046")] + public class C046 { + + /// + /// Rate/Value Qualifier + /// + [DataMember] + [Required] + [DataElement("122", typeof(X12_ID_122))] + [Pos(1)] + public string RateValueQualifier_01 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(2)] + public string RateValueQualifier_02 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(3)] + public string RateValueQualifier_03 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(4)] + public string RateValueQualifier_04 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(5)] + public string RateValueQualifier_05 { + get; + set; + } + } + + /// + /// Composite Type of Real Estate Asset Code + /// + [Serializable()] + [DataContract()] + [Composite("C047")] + public class C047 { + + /// + /// Type of Real Estate Asset Code + /// + [DataMember] + [Required] + [DataElement("1074", typeof(X12_ID_1074))] + [Pos(1)] + public string TypeofRealEstateAssetCode_01 { + get; + set; + } + /// + /// Type of Real Estate Asset Code + /// + [DataMember] + [DataElement("1074", typeof(X12_ID_1074))] + [Pos(2)] + public string TypeofRealEstateAssetCode_02 { + get; + set; + } + /// + /// Type of Real Estate Asset Code + /// + [DataMember] + [DataElement("1074", typeof(X12_ID_1074))] + [Pos(3)] + public string TypeofRealEstateAssetCode_03 { + get; + set; + } + /// + /// Type of Real Estate Asset Code + /// + [DataMember] + [DataElement("1074", typeof(X12_ID_1074))] + [Pos(4)] + public string TypeofRealEstateAssetCode_04 { + get; + set; + } + /// + /// Type of Real Estate Asset Code + /// + [DataMember] + [DataElement("1074", typeof(X12_ID_1074))] + [Pos(5)] + public string TypeofRealEstateAssetCode_05 { + get; + set; + } + } + + /// + /// Composite Use of Proceeds + /// + [Serializable()] + [DataContract()] + [Composite("C048")] + public class C048 { + + /// + /// Use of Proceeds Code + /// + [DataMember] + [Required] + [DataElement("1082", typeof(X12_ID_1082))] + [Pos(1)] + public string UseofProceedsCode_01 { + get; + set; + } + /// + /// Refinance Type Code + /// + [DataMember] + [DataElement("1680", typeof(X12_ID_1680))] + [Pos(2)] + public string RefinanceTypeCode_02 { + get; + set; + } + /// + /// Use of Proceeds Code + /// + [DataMember] + [DataElement("1082", typeof(X12_ID_1082))] + [Pos(3)] + public string UseofProceedsCode_03 { + get; + set; + } + } + + /// + /// Certificate Look-up Information + /// + [Serializable()] + [DataContract()] + [Composite("C050")] + public class C050 { + + /// + /// Look-up Value Protocol Code + /// + [DataMember] + [Required] + [DataElement("1675", typeof(X12_ID_1675))] + [Pos(1)] + public string LookupValueProtocolCode_01 { + get; + set; + } + /// + /// Filter ID Code + /// + [DataMember] + [Required] + [DataElement("1570", typeof(X12_ID_1570))] + [Pos(2)] + public string FilterIDCode_02 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(3)] + public string VersionIdentifier_03 { + get; + set; + } + /// + /// Look-up Value + /// + [DataMember] + [Required] + [StringLength(1, 4096)] + [DataElement("1565", typeof(X12_AN))] + [Pos(4)] + public string LookupValue_04 { + get; + set; + } + /// + /// Look-up Value Protocol Code + /// + [DataMember] + [DataElement("1675", typeof(X12_ID_1675))] + [Pos(5)] + public string LookupValueProtocolCode_05 { + get; + set; + } + /// + /// Filter ID Code + /// + [DataMember] + [DataElement("1570", typeof(X12_ID_1570))] + [Pos(6)] + public string FilterIDCode_06 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(7)] + public string VersionIdentifier_07 { + get; + set; + } + /// + /// Look-up Value + /// + [DataMember] + [StringLength(1, 4096)] + [DataElement("1565", typeof(X12_AN))] + [Pos(8)] + public string LookupValue_08 { + get; + set; + } + /// + /// Look-up Value Protocol Code + /// + [DataMember] + [DataElement("1675", typeof(X12_ID_1675))] + [Pos(9)] + public string LookupValueProtocolCode_09 { + get; + set; + } + /// + /// Filter ID Code + /// + [DataMember] + [DataElement("1570", typeof(X12_ID_1570))] + [Pos(10)] + public string FilterIDCode_10 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(11)] + public string VersionIdentifier_11 { + get; + set; + } + /// + /// Look-up Value + /// + [DataMember] + [StringLength(1, 4096)] + [DataElement("1565", typeof(X12_AN))] + [Pos(12)] + public string LookupValue_12 { + get; + set; + } + } +} diff --git a/protocol/X12_004010_Segments.cs b/protocol/X12_004010_Segments.cs new file mode 100644 index 0000000..1554cca --- /dev/null +++ b/protocol/X12_004010_Segments.cs @@ -0,0 +1,94299 @@ +/* (C) 2020 - FreightTrust and Clearing Corporation + * SPDX: MPL-2.0 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +namespace FreightTrust.EDI.X12004010 { + + /// + /// Request Validation + /// + [Serializable()] + [DataContract()] + [Segment("AAA")] + public class AAA { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(2)] + public string AgencyQualifierCode_02 { + get; + set; + } + /// + /// Reject Reason Code + /// + [DataMember] + [DataElement("901", typeof(X12_ID_901))] + [Pos(3)] + public string RejectReasonCode_03 { + get; + set; + } + /// + /// Follow-up Action Code + /// + [DataMember] + [DataElement("889", typeof(X12_ID_889))] + [Pos(4)] + public string FollowupActionCode_04 { + get; + set; + } + } + + /// + /// Account Description + /// + [Serializable()] + [DataContract()] + [Segment("ACD")] + public class ACD { + + /// + /// Account Relationship Code + /// + [DataMember] + [DataElement("1636", typeof(X12_ID_1636))] + [Pos(1)] + public string AccountRelationshipCode_01 { + get; + set; + } + /// + /// Rating Remarks Code + /// + [DataMember] + [DataElement("650", typeof(X12_ID_650))] + [Pos(2)] + public string RatingRemarksCode_02 { + get; + set; + } + /// + /// Loan Type Code + /// + [DataMember] + [DataElement("1262", typeof(X12_ID_1262))] + [Pos(3)] + public string LoanTypeCode_03 { + get; + set; + } + } + + /// + /// Line Item Acknowledgment + /// + [Serializable()] + [DataContract()] + [Segment("ACK")] + public class ACK { + + /// + /// Line Item Status Code + /// + [DataMember] + [Required] + [DataElement("668", typeof(X12_ID_668))] + [Pos(1)] + public string LineItemStatusCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(4)] + public string DateTimeQualifier_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Request Reference Number + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("326", typeof(X12_AN))] + [Pos(6)] + public string RequestReferenceNumber_06 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(7)] + public string ProductServiceIDQualifier_07 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(8)] + public string ProductServiceID_08 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(9)] + public string ProductServiceIDQualifier_09 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(10)] + public string ProductServiceID_10 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(11)] + public string ProductServiceIDQualifier_11 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(12)] + public string ProductServiceID_12 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(13)] + public string ProductServiceIDQualifier_13 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(14)] + public string ProductServiceID_14 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(15)] + public string ProductServiceIDQualifier_15 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(16)] + public string ProductServiceID_16 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(17)] + public string ProductServiceIDQualifier_17 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(18)] + public string ProductServiceID_18 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(19)] + public string ProductServiceIDQualifier_19 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(20)] + public string ProductServiceID_20 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(21)] + public string ProductServiceIDQualifier_21 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(22)] + public string ProductServiceID_22 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(23)] + public string ProductServiceIDQualifier_23 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(24)] + public string ProductServiceID_24 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(25)] + public string ProductServiceIDQualifier_25 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(26)] + public string ProductServiceID_26 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(27)] + public string AgencyQualifierCode_27 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(28)] + public string SourceSubqualifier_28 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(29)] + public string IndustryCode_29 { + get; + set; + } + } + + /// + /// Ancillary Charges + /// + [Serializable()] + [DataContract()] + [Segment("ACS")] + public class ACS { + + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(1)] + public string Amount_01 { + get; + set; + } + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [Required] + [DataElement("150", typeof(X12_ID_150))] + [Pos(2)] + public string SpecialChargeorAllowanceCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [DataElement("146", typeof(X12_ID_146))] + [Pos(4)] + public string ShipmentMethodofPayment_04 { + get; + set; + } + } + + /// + /// Account Identification + /// + [Serializable()] + [DataContract()] + [Segment("ACT")] + public class ACT { + + /// + /// Account Number + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(1)] + public string AccounCAumber_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(3)] + public string IdentificationCodeQualifier_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(5)] + public string AccounCAumberQualifier_05 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(6)] + public string AccounCAumber_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("107", typeof(X12_ID_107))] + [Pos(8)] + public string PaymentMethodCode_08 { + get; + set; + } + /// + /// Benefit Status Code + /// + [DataMember] + [DataElement("1216", typeof(X12_ID_1216))] + [Pos(9)] + public string BenefitStatusCode_09 { + get; + set; + } + } + + /// + /// Adjustment Amount + /// + [Serializable()] + [DataContract()] + [Segment("AD1")] + public class AD1 { + + /// + /// Adjustment Reason Code + /// + [DataMember] + [Required] + [DataElement("426", typeof(X12_ID_426))] + [Pos(1)] + public string AdjustmentReasonCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Adjustment Reason Code Characteristic + /// + [DataMember] + [DataElement("1129", typeof(X12_ID_1129))] + [Pos(3)] + public string AdjustmentReasonCodeCharacteristic_03 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(4)] + public string FrequencyCode_04 { + get; + set; + } + /// + /// Late Reason Code + /// + [DataMember] + [DataElement("9", typeof(X12_ID_9))] + [Pos(5)] + public string LateReasonCode_05 { + get; + set; + } + } + + /// + /// Animal Disposition + /// + [Serializable()] + [DataContract()] + [Segment("ADI")] + public class ADI { + + /// + /// Animal Disposition Code + /// + [DataMember] + [Required] + [DataElement("1606", typeof(X12_ID_1606))] + [Pos(1)] + public string AnimalDispositionCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(3)] + public string TestPeriodorIntervalValue_03 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(4)] + public string UnitofTimePeriodorInterval_04 { + get; + set; + } + } + + /// + /// Adjustments to Balances or Services + /// + [Serializable()] + [DataContract()] + [Segment("ADJ")] + public class ADJ { + + /// + /// Adjustment Application Code + /// + [DataMember] + [Required] + [DataElement("952", typeof(X12_ID_952))] + [Pos(1)] + public string AdjustmentApplicationCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(6)] + public string Number_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(8)] + public string ProductServiceIDQualifier_08 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(9)] + public string ProductServiceID_09 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(10)] + public string Amount_10 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(11)] + public string Amount_11 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(12)] + public string Amount_12 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(13)] + public string Quantity_13 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(14)] + public string Quantity_14 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(15)] + public string Quantity_15 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(16)] + public string ReferenceIdentificationQualifier_16 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(17)] + public string ReferenceIdentification_17 { + get; + set; + } + } + + /// + /// Animal Parturition Status + /// + [Serializable()] + [DataContract()] + [Segment("ADT")] + public class ADT { + + /// + /// Parturition Status Code + /// + [DataMember] + [Required] + [DataElement("1619", typeof(X12_ID_1619))] + [Pos(1)] + public string ParturitionStatusCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(3)] + public string TestPeriodorIntervalValue_03 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(4)] + public string UnitofTimePeriodorInterval_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(6)] + public string TestPeriodorIntervalValue_06 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(7)] + public string UnitofTimePeriodorInterval_07 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(8)] + public string Time_08 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(9)] + public string TestPeriodorIntervalValue_09 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(10)] + public string UnitofTimePeriodorInterval_10 { + get; + set; + } + } + + /// + /// Advertising Demographic Information + /// + [Serializable()] + [DataContract()] + [Segment("ADV")] + public class ADV { + + /// + /// Agency Qualifier Code + /// + [DataMember] + [Required] + [DataElement("559", typeof(X12_ID_559))] + [Pos(1)] + public string AgencyQualifierCode_01 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(2)] + public string ServiceCharacteristicsQualifier_02 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(3)] + public string RangeMinimum_03 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(4)] + public string RangeMaximum_04 { + get; + set; + } + /// + /// Category + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("729", typeof(X12_AN))] + [Pos(5)] + public string Category_05 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(6)] + public string ServiceCharacteristicsQualifier_06 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(7)] + public string MeasurementValue_07 { + get; + set; + } + } + + /// + /// Adjustment + /// + [Serializable()] + [DataContract()] + [Segment("ADX")] + public class ADX { + + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(1)] + public string MonetaryAmount_01 { + get; + set; + } + /// + /// Adjustment Reason Code + /// + [DataMember] + [Required] + [DataElement("426", typeof(X12_ID_426))] + [Pos(2)] + public string AdjustmentReasonCode_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + } + + /// + /// Equipment Information Summary + /// + [Serializable()] + [DataContract()] + [Segment("AEI")] + public class AEI { + + /// + /// Equipment Description Code + /// + [DataMember] + [Required] + [DataElement("40", typeof(X12_ID_40))] + [Pos(1)] + public string EquipmentDescriptionCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + } + + /// + /// Automatic Equipment Identification Site Information + /// + [Serializable()] + [DataContract()] + [Segment("AES")] + public class AES { + + /// + /// Automatic Equipment Identification Site Status Code + /// + [DataMember] + [Required] + [DataElement("1559", typeof(X12_ID_1559))] + [Pos(1)] + public string AutomaticEquipmentIdentificationSiteStatusCode_01 { + get; + set; + } + /// + /// Movement Type Code + /// + [DataMember] + [Required] + [DataElement("1557", typeof(X12_ID_1557))] + [Pos(2)] + public string MovementTypeCode_02 { + get; + set; + } + /// + /// Train Termination Status Code + /// + [DataMember] + [Required] + [DataElement("1556", typeof(X12_ID_1556))] + [Pos(3)] + public string TrainTerminationStatusCode_03 { + get; + set; + } + /// + /// Automatic Equipment Identification Consist Confidence Level Code + /// + [DataMember] + [Required] + [DataElement("1555", typeof(X12_ID_1555))] + [Pos(4)] + public string + AutomaticEquipmentIdentificationConsistConfidenceLevelCode_04 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(5)] + public string IndustryCode_05 { + get; + set; + } + } + + /// + /// Income + /// + [Serializable()] + [DataContract()] + [Segment("AIN")] + public class AIN { + + /// + /// Type of Income Code + /// + [DataMember] + [Required] + [DataElement("1186", typeof(X12_ID_1186))] + [Pos(1)] + public string TypeofIncomeCode_01 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [Required] + [DataElement("594", typeof(X12_ID_594))] + [Pos(2)] + public string FrequencyCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(7)] + public string AmountQualifierCode_07 { + get; + set; + } + /// + /// Tax Treatment Code + /// + [DataMember] + [DataElement("1685", typeof(X12_ID_1685))] + [Pos(8)] + public string TaxTreatmentCode_08 { + get; + set; + } + /// + /// Earnings Rate of Pay + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1687", typeof(X12_R))] + [Pos(9)] + public string EarningsRateofPay_09 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(10)] + public string UnitorBasisforMeasurementCode_10 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(11)] + public string Quantity_11 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(12)] + public string IndustryCode_12 { + get; + set; + } + } + + /// + /// Functional Group Response Header + /// + [Serializable()] + [DataContract()] + [Segment("AK1")] + public class AK1 { + + /// + /// Functional Identifier Code + /// + [DataMember] + [Required] + [DataElement("479", typeof(X12_ID_479))] + [Pos(1)] + public string FunctionalIdentifierCode_01 { + get; + set; + } + /// + /// Group Control Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("28", typeof(X12_N0))] + [Pos(2)] + public string GroupControlNumber_02 { + get; + set; + } + } + + /// + /// Transaction Set Response Header + /// + [Serializable()] + [DataContract()] + [Segment("AK2")] + public class AK2 { + + /// + /// Transaction Set Identifier Code + /// + [DataMember] + [Required] + [DataElement("143", typeof(X12_ID_143))] + [Pos(1)] + public string TransactionSetIdentifierCode_01 { + get; + set; + } + /// + /// Transaction Set Control Number + /// + [DataMember] + [Required] + [StringLength(4, 9)] + [DataElement("329", typeof(X12_AN))] + [Pos(2)] + public string TransactionSetControlNumber_02 { + get; + set; + } + } + + /// + /// Data Segment Note + /// + [Serializable()] + [DataContract()] + [Segment("AK3")] + public class AK3 { + + /// + /// Segment ID Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("721", typeof(X12_AN))] + [Pos(1)] + public string SegmentIDCode_01 { + get; + set; + } + /// + /// Segment Position in Transaction Set + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("719", typeof(X12_N0))] + [Pos(2)] + public string SegmentPositioninTransactionSet_02 { + get; + set; + } + /// + /// Loop Identifier Code + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("447", typeof(X12_AN))] + [Pos(3)] + public string LoopIdentifierCode_03 { + get; + set; + } + /// + /// Segment Syntax Error Code + /// + [DataMember] + [DataElement("720", typeof(X12_ID_720))] + [Pos(4)] + public string SegmentSyntaxErrorCode_04 { + get; + set; + } + } + + /// + /// Data Element Note + /// + [Serializable()] + [DataContract()] + [Segment("AK4")] + public class AK4 { + + /// + /// Position in Segment + /// + [DataMember] + [Required] + [Pos(1)] + public C030 PositioninSegment_01 { + get; + set; + } + /// + /// Data Element Reference Number + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("725", typeof(X12_N0))] + [Pos(2)] + public string DataElementReferenceNumber_02 { + get; + set; + } + /// + /// Data Element Syntax Error Code + /// + [DataMember] + [Required] + [DataElement("723", typeof(X12_ID_723))] + [Pos(3)] + public string DataElementSyntaxErrorCode_03 { + get; + set; + } + /// + /// Copy of Bad Data Element + /// + [DataMember] + [StringLength(1, 99)] + [DataElement("724", typeof(X12_AN))] + [Pos(4)] + public string CopyofBadDataElement_04 { + get; + set; + } + } + + /// + /// Transaction Set Response Trailer + /// + [Serializable()] + [DataContract()] + [Segment("AK5")] + public class AK5 { + + /// + /// Transaction Set Acknowledgment Code + /// + [DataMember] + [Required] + [DataElement("717", typeof(X12_ID_717))] + [Pos(1)] + public string TransactionSetAcknowledgmentCode_01 { + get; + set; + } + /// + /// Transaction Set Syntax Error Code + /// + [DataMember] + [DataElement("718", typeof(X12_ID_718))] + [Pos(2)] + public string TransactionSetSyntaxErrorCode_02 { + get; + set; + } + /// + /// Transaction Set Syntax Error Code + /// + [DataMember] + [DataElement("718", typeof(X12_ID_718))] + [Pos(3)] + public string TransactionSetSyntaxErrorCode_03 { + get; + set; + } + /// + /// Transaction Set Syntax Error Code + /// + [DataMember] + [DataElement("718", typeof(X12_ID_718))] + [Pos(4)] + public string TransactionSetSyntaxErrorCode_04 { + get; + set; + } + /// + /// Transaction Set Syntax Error Code + /// + [DataMember] + [DataElement("718", typeof(X12_ID_718))] + [Pos(5)] + public string TransactionSetSyntaxErrorCode_05 { + get; + set; + } + /// + /// Transaction Set Syntax Error Code + /// + [DataMember] + [DataElement("718", typeof(X12_ID_718))] + [Pos(6)] + public string TransactionSetSyntaxErrorCode_06 { + get; + set; + } + } + + /// + /// Functional Group Response Trailer + /// + [Serializable()] + [DataContract()] + [Segment("AK9")] + public class AK9 { + + /// + /// Functional Group Acknowledge Code + /// + [DataMember] + [Required] + [DataElement("715", typeof(X12_ID_715))] + [Pos(1)] + public string FunctionalGroupAcknowledgeCode_01 { + get; + set; + } + /// + /// Number of Transaction Sets Included + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("97", typeof(X12_N0))] + [Pos(2)] + public string NumberofTransactionSetsIncluded_02 { + get; + set; + } + /// + /// Number of Received Transaction Sets + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("123", typeof(X12_N0))] + [Pos(3)] + public string NumberofReceivedTransactionSets_03 { + get; + set; + } + /// + /// Number of Accepted Transaction Sets + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("2", typeof(X12_N0))] + [Pos(4)] + public string NumberofAcceptedTransactionSets_04 { + get; + set; + } + /// + /// Functional Group Syntax Error Code + /// + [DataMember] + [DataElement("716", typeof(X12_ID_716))] + [Pos(5)] + public string FunctionalGroupSyntaxErrorCode_05 { + get; + set; + } + /// + /// Functional Group Syntax Error Code + /// + [DataMember] + [DataElement("716", typeof(X12_ID_716))] + [Pos(6)] + public string FunctionalGroupSyntaxErrorCode_06 { + get; + set; + } + /// + /// Functional Group Syntax Error Code + /// + [DataMember] + [DataElement("716", typeof(X12_ID_716))] + [Pos(7)] + public string FunctionalGroupSyntaxErrorCode_07 { + get; + set; + } + /// + /// Functional Group Syntax Error Code + /// + [DataMember] + [DataElement("716", typeof(X12_ID_716))] + [Pos(8)] + public string FunctionalGroupSyntaxErrorCode_08 { + get; + set; + } + /// + /// Functional Group Syntax Error Code + /// + [DataMember] + [DataElement("716", typeof(X12_ID_716))] + [Pos(9)] + public string FunctionalGroupSyntaxErrorCode_09 { + get; + set; + } + } + + /// + /// Informational Values + /// + [Serializable()] + [DataContract()] + [Segment("AM1")] + public class AM1 { + + /// + /// Code Category + /// + [DataMember] + [Required] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(6)] + public string Percent_06 { + get; + set; + } + } + + /// + /// Monetary Amount + /// + [Serializable()] + [DataContract()] + [Segment("AMT")] + public class AMT { + + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(1)] + public string AmountQualifierCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [DataElement("478", typeof(X12_ID_478))] + [Pos(3)] + public string CreditDebitFlagCode_03 { + get; + set; + } + } + + /// + /// Animal Identification + /// + [Serializable()] + [DataContract()] + [Segment("ANI")] + public class ANI { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(4)] + public string TestPeriodorIntervalValue_04 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(5)] + public string UnitofTimePeriodorInterval_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + } + + /// + /// Animal Offspring Counts + /// + [Serializable()] + [DataContract()] + [Segment("AOC")] + public class AOC { + + /// + /// Offspring Count Code + /// + [DataMember] + [Required] + [DataElement("1620", typeof(X12_ID_1620))] + [Pos(1)] + public string OffspringCountCode_01 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(2)] + public string Count_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(4)] + public string TestPeriodorIntervalValue_04 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(5)] + public string UnitofTimePeriodorInterval_05 { + get; + set; + } + } + + /// + /// Animal Offspring/Fetus Identification + /// + [Serializable()] + [DataContract()] + [Segment("AOI")] + public class AOI { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Gender Code + /// + [DataMember] + [Required] + [DataElement("1068", typeof(X12_ID_1068))] + [Pos(3)] + public string GenderCode_03 { + get; + set; + } + /// + /// Offspring/Fetus Status Code + /// + [DataMember] + [DataElement("1622", typeof(X12_ID_1622))] + [Pos(4)] + public string OffspringFetusStatusCode_04 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(5)] + public string TestPeriodorIntervalValue_05 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(6)] + public string UnitofTimePeriodorInterval_06 { + get; + set; + } + /// + /// Animal Disposition Code + /// + [DataMember] + [DataElement("1606", typeof(X12_ID_1606))] + [Pos(7)] + public string AnimalDispositionCode_07 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(8)] + public string TestPeriodorIntervalValue_08 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(9)] + public string UnitofTimePeriodorInterval_09 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(10)] + public string ReferenceIdentification_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(12)] + public string TestPeriodorIntervalValue_12 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(13)] + public string UnitofTimePeriodorInterval_13 { + get; + set; + } + } + + /// + /// Animal Observation Location + /// + [Serializable()] + [DataContract()] + [Segment("AOL")] + public class AOL { + + /// + /// Observation Type Code + /// + [DataMember] + [Required] + [DataElement("1611", typeof(X12_ID_1611))] + [Pos(1)] + public string ObservationTypeCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Tissue or Specimen Disposition Code + /// + [DataMember] + [DataElement("1612", typeof(X12_ID_1612))] + [Pos(3)] + public string TissueorSpecimenDispositionCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Sub-Location + /// + [DataMember] + [StringLength(1, 24)] + [DataElement("1614", typeof(X12_AN))] + [Pos(5)] + public string SubLocation_05 { + get; + set; + } + /// + /// Sub-Location + /// + [DataMember] + [StringLength(1, 24)] + [DataElement("1614", typeof(X12_AN))] + [Pos(6)] + public string SubLocation_06 { + get; + set; + } + /// + /// Sub-Location + /// + [DataMember] + [StringLength(1, 24)] + [DataElement("1614", typeof(X12_AN))] + [Pos(7)] + public string SubLocation_07 { + get; + set; + } + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(8)] + public string SurfaceLayerPositionCode_08 { + get; + set; + } + } + + /// + /// Animal Observation Result + /// + [Serializable()] + [DataContract()] + [Segment("AOR")] + public class AOR { + + /// + /// Observation Distribution + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("1615", typeof(X12_AN))] + [Pos(1)] + public string ObservationDistribution_01 { + get; + set; + } + /// + /// Observation Severity + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("1616", typeof(X12_AN))] + [Pos(2)] + public string ObservationSeverity_02 { + get; + set; + } + /// + /// Neoplasm Code + /// + [DataMember] + [DataElement("1617", typeof(X12_ID_1617))] + [Pos(3)] + public string NeoplasmCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Linkage Identifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1618", typeof(X12_AN))] + [Pos(5)] + public string LinkageIdentifier_05 { + get; + set; + } + /// + /// Linkage Identifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1618", typeof(X12_AN))] + [Pos(6)] + public string LinkageIdentifier_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(8)] + public string TestPeriodorIntervalValue_08 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(9)] + public string UnitofTimePeriodorInterval_09 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(10)] + public string TestPeriodorIntervalValue_10 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(11)] + public string UnitofTimePeriodorInterval_11 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(12)] + public string TestPeriodorIntervalValue_12 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(13)] + public string UnitofTimePeriodorInterval_13 { + get; + set; + } + } + + /// + /// Alternate Parts + /// + [Serializable()] + [DataContract()] + [Segment("AP1")] + public class AP1 { + + /// + /// Condition Indicator + /// + [DataMember] + [Required] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(1)] + public string ConditionIndicator_01 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(2)] + public string StateorProvinceCode_02 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(3)] + public string PriceIdentifierCode_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(6)] + public string PostalCode_06 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(7)] + public string PostalCode_07 { + get; + set; + } + /// + /// Print Option Code + /// + [DataMember] + [DataElement("744", typeof(X12_ID_744))] + [Pos(8)] + public string PrintOptionCode_08 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(9)] + public string Number_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(11)] + public string FreeFormMessage_11 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(12)] + public string ProductServiceID_12 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(13)] + public string Description_13 { + get; + set; + } + } + + /// + /// Activity or Process Information + /// + [Serializable()] + [DataContract()] + [Segment("API")] + public class API { + + /// + /// Code Category + /// + [DataMember] + [Required] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(2)] + public string ActionCode_02 { + get; + set; + } + /// + /// Maintenance Type Code + /// + [DataMember] + [DataElement("875", typeof(X12_ID_875))] + [Pos(3)] + public string MaintenanceTypeCode_03 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(4)] + public string StatusReasonCode_04 { + get; + set; + } + /// + /// Affected Area or Section Code + /// + [DataMember] + [DataElement("1469", typeof(X12_ID_1469))] + [Pos(5)] + public string AffectedAreaorSectionCode_05 { + get; + set; + } + /// + /// Insurance Type Code + /// + [DataMember] + [DataElement("1336", typeof(X12_ID_1336))] + [Pos(6)] + public string InsuranceTypeCode_06 { + get; + set; + } + /// + /// Loan Type Code + /// + [DataMember] + [DataElement("1262", typeof(X12_ID_1262))] + [Pos(7)] + public string LoanTypeCode_07 { + get; + set; + } + /// + /// Information Status Code + /// + [DataMember] + [DataElement("1201", typeof(X12_ID_1201))] + [Pos(8)] + public string InformationStatusCode_08 { + get; + set; + } + } + + /// + /// Association of American Railroads Pool Code Restrictions + /// + [Serializable()] + [DataContract()] + [Segment("APR")] + public class APR { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Association of American Railroads (AAR) Pool Code + /// + [DataMember] + [Required] + [StringLength(7, 7)] + [DataElement("1011", typeof(X12_AN))] + [Pos(2)] + public string AssociationofAmericanRailroadsAARPoolCode_02 { + get; + set; + } + /// + /// Association of American Railroads (AAR) Pool Code + /// + [DataMember] + [StringLength(7, 7)] + [DataElement("1011", typeof(X12_AN))] + [Pos(3)] + public string AssociationofAmericanRailroadsAARPoolCode_03 { + get; + set; + } + } + + /// + /// Animal Results Counts + /// + [Serializable()] + [DataContract()] + [Segment("ARC")] + public class ARC { + + /// + /// Count + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(1)] + public string Count_01 { + get; + set; + } + /// + /// Test Type Code + /// + [DataMember] + [DataElement("1607", typeof(X12_ID_1607))] + [Pos(2)] + public string TestTypeCode_02 { + get; + set; + } + /// + /// Observation Type Code + /// + [DataMember] + [DataElement("1611", typeof(X12_ID_1611))] + [Pos(3)] + public string ObservationTypeCode_03 { + get; + set; + } + } + + /// + /// Applicant Residence Specifics + /// + [Serializable()] + [DataContract()] + [Segment("ARS")] + public class ARS { + + /// + /// Type of Residence Code + /// + [DataMember] + [Required] + [DataElement("1070", typeof(X12_ID_1070))] + [Pos(1)] + public string TypeofResidenceCode_01 { + get; + set; + } + /// + /// Property Ownership Rights Code + /// + [DataMember] + [Required] + [DataElement("1078", typeof(X12_ID_1078))] + [Pos(2)] + public string PropertyOwnershipRightsCode_02 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(3)] + public string RateValueQualifier_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + } + + /// + /// Action or Status Indicator + /// + [Serializable()] + [DataContract()] + [Segment("ASI")] + public class ASI { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Maintenance Type Code + /// + [DataMember] + [Required] + [DataElement("875", typeof(X12_ID_875))] + [Pos(2)] + public string MaintenanceTypeCode_02 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(3)] + public string StatusReasonCode_03 { + get; + set; + } + } + + /// + /// Asset Liability + /// + [Serializable()] + [DataContract()] + [Segment("ASL")] + public class ASL { + + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(1)] + public string AmountQualifierCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Asset Liability Type Code + /// + [DataMember] + [DataElement("1590", typeof(X12_ID_1590))] + [Pos(3)] + public string AssetLiabilityTypeCode_03 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(4)] + public string FrequencyCode_04 { + get; + set; + } + } + + /// + /// Amount and Settlement Method + /// + [Serializable()] + [DataContract()] + [Segment("ASM")] + public class ASM { + + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(1)] + public string Amount_01 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("107", typeof(X12_ID_107))] + [Pos(2)] + public string PaymentMethodCode_02 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(3)] + public string AmountQualifierCode_03 { + get; + set; + } + } + + /// + /// Asset Ownership + /// + [Serializable()] + [DataContract()] + [Segment("ASO")] + public class ASO { + + /// + /// Property Ownership Rights Code + /// + [DataMember] + [Required] + [DataElement("1078", typeof(X12_ID_1078))] + [Pos(1)] + public string PropertyOwnershipRightsCode_01 { + get; + set; + } + /// + /// Type of Personal or Business Asset Code + /// + [DataMember] + [Required] + [DataElement("1188", typeof(X12_ID_1188))] + [Pos(2)] + public string TypeofPersonalorBusinessAssetCode_02 { + get; + set; + } + /// + /// Type of Personal or Business Asset Code + /// + [DataMember] + [DataElement("1188", typeof(X12_ID_1188))] + [Pos(3)] + public string TypeofPersonalorBusinessAssetCode_03 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(4)] + public string FreeFormMessageText_04 { + get; + set; + } + /// + /// General Property Ownership Code + /// + [DataMember] + [DataElement("1635", typeof(X12_ID_1635))] + [Pos(5)] + public string GeneralPropertyOwnershipCode_05 { + get; + set; + } + /// + /// Amount Qualifying Description + /// + [DataMember] + [Pos(6)] + public C007 AmountQualifyingDescription_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(8)] + public string Percent_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(10)] + public string ReferenceIdentificationQualifier_10 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(11)] + public string ReferenceIdentification_11 { + get; + set; + } + } + + /// + /// Animal Reproductive Status + /// + [Serializable()] + [DataContract()] + [Segment("AST")] + public class AST { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(4)] + public string TestPeriodorIntervalValue_04 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(5)] + public string UnitofTimePeriodorInterval_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(7)] + public string TestPeriodorIntervalValue_07 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(8)] + public string UnitofTimePeriodorInterval_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(10)] + public string TestPeriodorIntervalValue_10 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(11)] + public string UnitofTimePeriodorInterval_11 { + get; + set; + } + } + + /// + /// Bill of Lading Line Item Number + /// + [Serializable()] + [DataContract()] + [Segment("AT1")] + public class AT1 { + + /// + /// Lading Line Item Number + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("213", typeof(X12_N0))] + [Pos(1)] + public string LadingLineItemNumber_01 { + get; + set; + } + } + + /// + /// Bill of Lading Line Item Detail + /// + [Serializable()] + [DataContract()] + [Segment("AT2")] + public class AT2 { + + /// + /// Lading Quantity + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(1)] + public string LadingQuantity_01 { + get; + set; + } + /// + /// Packaging Form Code + /// + [DataMember] + [Required] + [DataElement("211", typeof(X12_ID_211))] + [Pos(2)] + public string PackagingFormCode_02 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [Required] + [DataElement("187", typeof(X12_ID_187))] + [Pos(3)] + public string WeightQualifier_03 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [Required] + [DataElement("188", typeof(X12_ID_188))] + [Pos(4)] + public string WeightUnitCode_04 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(5)] + public string Weight_05 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(6)] + public string LadingQuantity_06 { + get; + set; + } + /// + /// Packaging Form Code + /// + [DataMember] + [DataElement("211", typeof(X12_ID_211))] + [Pos(7)] + public string PackagingFormCode_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(9)] + public string CommodityCode_09 { + get; + set; + } + /// + /// Freight Class Code + /// + [DataMember] + [StringLength(2, 5)] + [DataElement("59", typeof(X12_AN))] + [Pos(10)] + public string FreightClassCode_10 { + get; + set; + } + } + + /// + /// Bill of Lading Rates and Charges + /// + [Serializable()] + [DataContract()] + [Segment("AT3")] + public class AT3 { + + /// + /// Charge + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("58", typeof(X12_N2))] + [Pos(1)] + public string Charge_01 { + get; + set; + } + /// + /// Freight Rate Qualifier + /// + [DataMember] + [DataElement("1600", typeof(X12_ID_1600))] + [Pos(2)] + public string FreightRateQualifier_02 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(3)] + public string FreightRate_03 { + get; + set; + } + /// + /// Rated-as Qualifier + /// + [DataMember] + [DataElement("1601", typeof(X12_ID_1601))] + [Pos(4)] + public string RatedasQualifier_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Bill of Lading Charge Code + /// + [DataMember] + [DataElement("1602", typeof(X12_ID_1602))] + [Pos(6)] + public string BillofLadingChargeCode_06 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(7)] + public string Percent_07 { + get; + set; + } + } + + /// + /// Bill of Lading Description + /// + [Serializable()] + [DataContract()] + [Segment("AT4")] + public class AT4 { + + /// + /// Lading Description + /// + [DataMember] + [Required] + [StringLength(1, 50)] + [DataElement("79", typeof(X12_AN))] + [Pos(1)] + public string LadingDescription_01 { + get; + set; + } + } + + /// + /// Bill of Lading Handling Requirements + /// + [Serializable()] + [DataContract()] + [Segment("AT5")] + public class AT5 { + + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(1)] + public string SpecialHandlingCode_01 { + get; + set; + } + /// + /// Special Services Code + /// + [DataMember] + [DataElement("560", typeof(X12_ID_560))] + [Pos(2)] + public string SpecialServicesCode_02 { + get; + set; + } + /// + /// Special Handling Description + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("153", typeof(X12_AN))] + [Pos(3)] + public string SpecialHandlingDescription_03 { + get; + set; + } + } + + /// + /// International Manifest Information + /// + [Serializable()] + [DataContract()] + [Segment("AT6")] + public class AT6 { + + /// + /// International Dutiable Status Code + /// + [DataMember] + [Required] + [DataElement("1610", typeof(X12_ID_1610))] + [Pos(1)] + public string InternationalDutiableStatusCode_01 { + get; + set; + } + /// + /// Import/Export Code + /// + [DataMember] + [Required] + [DataElement("512", typeof(X12_ID_512))] + [Pos(2)] + public string ImportExportCode_02 { + get; + set; + } + /// + /// Transportation Terms Code + /// + [DataMember] + [DataElement("335", typeof(X12_ID_335))] + [Pos(3)] + public string TransportationTermsCode_03 { + get; + set; + } + } + + /// + /// Shipment Status Details + /// + [Serializable()] + [DataContract()] + [Segment("AT7")] + public class AT7 { + + /// + /// Shipment Status Code + /// + [DataMember] + [DataElement("1650", typeof(X12_ID_1650))] + [Pos(1)] + public string ShipmentStatusCode_01 { + get; + set; + } + /// + /// Shipment Status or Appointment Reason Code + /// + [DataMember] + [DataElement("1651", typeof(X12_ID_1651))] + [Pos(2)] + public string ShipmentStatusorAppointmentReasonCode_02 { + get; + set; + } + /// + /// Shipment Appointment Status Code + /// + [DataMember] + [DataElement("1652", typeof(X12_ID_1652))] + [Pos(3)] + public string ShipmentAppointmentStatusCode_03 { + get; + set; + } + /// + /// Shipment Status or Appointment Reason Code + /// + [DataMember] + [DataElement("1651", typeof(X12_ID_1651))] + [Pos(4)] + public string ShipmentStatusorAppointmentReasonCode_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(6)] + public string Time_06 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(7)] + public string TimeCode_07 { + get; + set; + } + } + + /// + /// Shipment Weight, Packaging and Quantity Data + /// + [Serializable()] + [DataContract()] + [Segment("AT8")] + public class AT8 { + + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(1)] + public string WeightQualifier_01 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(2)] + public string WeightUnitCode_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(4)] + public string LadingQuantity_04 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(5)] + public string LadingQuantity_05 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(6)] + public string VolumeUnitQualifier_06 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(7)] + public string Volume_07 { + get; + set; + } + } + + /// + /// Trailer or Container Dimension and Weight + /// + [Serializable()] + [DataContract()] + [Segment("AT9")] + public class AT9 { + + /// + /// Equipment Length + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("567", typeof(X12_N0))] + [Pos(1)] + public string EquipmentLength_01 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(2)] + public string Height_02 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(3)] + public string Width_03 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(4)] + public string WeightQualifier_04 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(5)] + public string WeightUnitCode_05 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(6)] + public string Weight_06 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(7)] + public string VolumeUnitQualifier_07 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(8)] + public string Volume_08 { + get; + set; + } + } + + /// + /// Beginning Segment for Motor Carrier Delivery Trailer Manifest + /// + [Serializable()] + [DataContract()] + [Segment("ATA")] + public class ATA { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + } + + /// + /// Resource Authorization + /// + [Serializable()] + [DataContract()] + [Segment("ATH")] + public class ATH { + + /// + /// Resource Authorization Code + /// + [DataMember] + [Required] + [DataElement("672", typeof(X12_ID_672))] + [Pos(1)] + public string ResourceAuthorizationCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + } + + /// + /// Attendance + /// + [Serializable()] + [DataContract()] + [Segment("ACA")] + public class ACA { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(3)] + public string QuantityQualifier_03 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(4)] + public string FrequencyCode_04 { + get; + set; + } + /// + /// Attendance Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1684", typeof(X12_AN))] + [Pos(5)] + public string AttendanceTypeCode_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + } + + /// + /// Animal Test Result + /// + [Serializable()] + [DataContract()] + [Segment("ATR")] + public class ATR { + + /// + /// Test Type Code + /// + [DataMember] + [Required] + [DataElement("1607", typeof(X12_ID_1607))] + [Pos(1)] + public string TestTypeCode_01 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(2)] + public string TestPeriodorIntervalValue_02 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [Required] + [DataElement("344", typeof(X12_ID_344))] + [Pos(3)] + public string UnitofTimePeriodorInterval_03 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(4)] + public string MeasurementValue_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + /// + /// Non-Numeric Test Value + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1608", typeof(X12_AN))] + [Pos(6)] + public string NonNumericTestValue_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(9)] + public string SurfaceLayerPositionCode_09 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(10)] + public string Time_10 { + get; + set; + } + } + + /// + /// Student Activities and Awards + /// + [Serializable()] + [DataContract()] + [Segment("ATV")] + public class ATV { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Entity Title + /// + [DataMember] + [StringLength(1, 132)] + [DataElement("790", typeof(X12_AN))] + [Pos(3)] + public string EntityTitle_03 { + get; + set; + } + /// + /// Entity Title + /// + [DataMember] + [StringLength(1, 132)] + [DataElement("790", typeof(X12_AN))] + [Pos(4)] + public string EntityTitle_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(6)] + public C001 CompositeUnitofMeasure_06 { + get; + set; + } + /// + /// Level of Individual, Test, or Course Code + /// + [DataMember] + [DataElement("1131", typeof(X12_ID_1131))] + [Pos(7)] + public string LevelofIndividualTestorCourseCode_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + } + + /// + /// Funds Availability + /// + [Serializable()] + [DataContract()] + [Segment("AVA")] + public class AVA { + + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(1)] + public string MonetaryAmount_01 { + get; + set; + } + /// + /// Availability + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("895", typeof(X12_R))] + [Pos(2)] + public string Availability_02 { + get; + set; + } + } + + /// + /// Amount with Description + /// + [Serializable()] + [DataContract()] + [Segment("AWD")] + public class AWD { + + /// + /// Amount Qualifying Description + /// + [DataMember] + [Required] + [Pos(1)] + public C007 AmountQualifyingDescription_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(3)] + public string FreeFormMessage_03 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(4)] + public string CurrencyCode_04 { + get; + set; + } + } + + /// + /// Vehicle Axle Measurements + /// + [Serializable()] + [DataContract()] + [Segment("AXL")] + public class AXL { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Measurement Unit Qualifier + /// + [DataMember] + [DataElement("90", typeof(X12_ID_90))] + [Pos(3)] + public string MeasurementUnitQualifier_03 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(4)] + public string Length_04 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(5)] + public string Width_05 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(6)] + public string WeightQualifier_06 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(7)] + public string Weight_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + } + + /// + /// Beginning Segment for Booking or Pick-up/Delivery + /// + [Serializable()] + [DataContract()] + [Segment("B1")] + public class B1 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(2)] + public string ShipmentIdentificationNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Reservation Action Code + /// + [DataMember] + [DataElement("558", typeof(X12_ID_558))] + [Pos(4)] + public string ReservationActionCode_04 { + get; + set; + } + } + + /// + /// Beginning Segment for Transportation Carrier Shipment Status Message + /// + [Serializable()] + [DataContract()] + [Segment("B10")] + public class B10 { + + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(2)] + public string ShipmentIdentificationNumber_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Inquiry Request Number + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("71", typeof(X12_N0))] + [Pos(4)] + public string InquiryRequesCAumber_04 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(5)] + public string ReferenceIdentificationQualifier_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + } + + /// + /// Beginning Segment for Shipment Status Inquiry + /// + [Serializable()] + [DataContract()] + [Segment("B11")] + public class B11 { + + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(1)] + public string IdentificationCodeQualifier_01 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(2)] + public string IdentificationCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(6)] + public string AmountQualifierCode_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Item Description Type + /// + [DataMember] + [DataElement("349", typeof(X12_ID_349))] + [Pos(8)] + public string ItemDescriptionType_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(10)] + public string ServiceLevelCode_10 { + get; + set; + } + /// + /// Report Transmission Code + /// + [DataMember] + [DataElement("756", typeof(X12_ID_756))] + [Pos(11)] + public string ReportTransmissionCode_11 { + get; + set; + } + } + + /// + /// Beginning Segment for Consolidation of Goods In Container + /// + [Serializable()] + [DataContract()] + [Segment("B12")] + public class B12 { + + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Equipment Type + /// + [DataMember] + [Required] + [StringLength(4, 4)] + [DataElement("24", typeof(X12_AN))] + [Pos(3)] + public string EquipmentType_03 { + get; + set; + } + } + + /// + /// Beginning Segment for Appointment Schedule + /// + [Serializable()] + [DataContract()] + [Segment("B13")] + public class B13 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + } + + /// + /// Beginning Segment for Shipment Information Transaction + /// + [Serializable()] + [DataContract()] + [Segment("B2")] + public class B2 { + + /// + /// Tariff Service Code + /// + [DataMember] + [DataElement("375", typeof(X12_ID_375))] + [Pos(1)] + public string TariffServiceCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(3)] + public string StandardPointLocationCode_03 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(4)] + public string ShipmentIdentificationNumber_04 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(5)] + public string WeightUnitCode_05 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(6)] + public string ShipmentMethodofPayment_06 { + get; + set; + } + /// + /// Shipment Qualifier + /// + [DataMember] + [DataElement("147", typeof(X12_ID_147))] + [Pos(7)] + public string ShipmentQualifier_07 { + get; + set; + } + /// + /// Total Equipment + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("86", typeof(X12_N0))] + [Pos(8)] + public string TotalEquipment_08 { + get; + set; + } + /// + /// Shipment Weight Code + /// + [DataMember] + [DataElement("460", typeof(X12_ID_460))] + [Pos(9)] + public string ShipmentWeightCode_09 { + get; + set; + } + /// + /// Customs Documentation Handling Code + /// + [DataMember] + [DataElement("501", typeof(X12_ID_501))] + [Pos(10)] + public string CustomsDocumentationHandlingCode_10 { + get; + set; + } + /// + /// Transportation Terms Code + /// + [DataMember] + [DataElement("335", typeof(X12_ID_335))] + [Pos(11)] + public string TransportationTermsCode_11 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("591", typeof(X12_ID_591))] + [Pos(12)] + public string PaymentMethodCode_12 { + get; + set; + } + } + + /// + /// Set Purpose + /// + [Serializable()] + [DataContract()] + [Segment("B2A")] + public class B2A { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Application Type + /// + [DataMember] + [DataElement("346", typeof(X12_ID_346))] + [Pos(2)] + public string ApplicationType_02 { + get; + set; + } + } + + /// + /// Beginning Segment for Carrier's Invoice + /// + [Serializable()] + [DataContract()] + [Segment("B3")] + public class B3 { + + /// + /// Shipment Qualifier + /// + [DataMember] + [DataElement("147", typeof(X12_ID_147))] + [Pos(1)] + public string ShipmentQualifier_01 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(2)] + public string InvoiceNumber_02 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(3)] + public string ShipmentIdentificationNumber_03 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(4)] + public string ShipmentMethodofPayment_04 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(5)] + public string WeightUnitCode_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Net Amount Due + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("193", typeof(X12_N2))] + [Pos(7)] + public string NetAmountDue_07 { + get; + set; + } + /// + /// Correction Indicator + /// + [DataMember] + [DataElement("202", typeof(X12_ID_202))] + [Pos(8)] + public string CorrectionIndicator_08 { + get; + set; + } + /// + /// Delivery Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("32", typeof(X12_DT))] + [Pos(9)] + public string DeliveryDate_09 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(10)] + public string DateTimeQualifier_10 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(11)] + public string StandardCarrierAlphaCode_11 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(12)] + public string Date_12 { + get; + set; + } + /// + /// Tariff Service Code + /// + [DataMember] + [DataElement("375", typeof(X12_ID_375))] + [Pos(13)] + public string TariffServiceCode_13 { + get; + set; + } + /// + /// Transportation Terms Code + /// + [DataMember] + [DataElement("335", typeof(X12_ID_335))] + [Pos(14)] + public string TransportationTermsCode_14 { + get; + set; + } + } + + /// + /// Invoice Type + /// + [Serializable()] + [DataContract()] + [Segment("B3A")] + public class B3A { + + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(1)] + public string TransactionTypeCode_01 { + get; + set; + } + /// + /// Number of Shipments + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("21", typeof(X12_N0))] + [Pos(2)] + public string NumberofShipments_02 { + get; + set; + } + } + + /// + /// Beginning Segment for Carrier's Invoice + /// + [Serializable()] + [DataContract()] + [Segment("B3B")] + public class B3B { + + /// + /// Invoice Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(1)] + public string InvoiceNumber_01 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(2)] + public string ShipmentMethodofPayment_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Net Amount Due + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("193", typeof(X12_N2))] + [Pos(4)] + public string NetAmountDue_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(6)] + public string StandardCarrierAlphaCode_06 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(7)] + public string TransportationMethodTypeCode_07 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(8)] + public string ShipmentIdentificationNumber_08 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(9)] + public string WeightUnitCode_09 { + get; + set; + } + /// + /// Correction Indicator + /// + [DataMember] + [DataElement("202", typeof(X12_ID_202))] + [Pos(10)] + public string CorrectionIndicator_10 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(11)] + public string CurrencyCode_11 { + get; + set; + } + } + + /// + /// Beginning Segment for Inquiry or Reply + /// + [Serializable()] + [DataContract()] + [Segment("B4")] + public class B4 { + + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(1)] + public string SpecialHandlingCode_01 { + get; + set; + } + /// + /// Inquiry Request Number + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("71", typeof(X12_N0))] + [Pos(2)] + public string InquiryRequesCAumber_02 { + get; + set; + } + /// + /// Shipment Status Code + /// + [DataMember] + [DataElement("157", typeof(X12_ID_157))] + [Pos(3)] + public string ShipmentStatusCode_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Status Time + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("161", typeof(X12_TM))] + [Pos(5)] + public string StatusTime_05 { + get; + set; + } + /// + /// Status Location + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("159", typeof(X12_AN))] + [Pos(6)] + public string StatusLocation_06 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(7)] + public string EquipmentInitial_07 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(8)] + public string EquipmenCAumber_08 { + get; + set; + } + /// + /// Equipment Status Code + /// + [DataMember] + [DataElement("578", typeof(X12_ID_578))] + [Pos(9)] + public string EquipmentStatusCode_09 { + get; + set; + } + /// + /// Equipment Type + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("24", typeof(X12_AN))] + [Pos(10)] + public string EquipmentType_10 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(11)] + public string LocationIdentifier_11 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(12)] + public string LocationQualifier_12 { + get; + set; + } + /// + /// Equipment Number Check Digit + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("761", typeof(X12_N0))] + [Pos(13)] + public string EquipmenCAumberCheckDigit_13 { + get; + set; + } + } + + /// + /// Beginning Segment for Logistics Services + /// + [Serializable()] + [DataContract()] + [Segment("B9")] + public class B9 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(2)] + public string TransactionSetPurposeCode_02 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [DataElement("146", typeof(X12_ID_146))] + [Pos(3)] + public string ShipmentMethodofPayment_03 { + get; + set; + } + } + + /// + /// Service Request + /// + [Serializable()] + [DataContract()] + [Segment("B9A")] + public class B9A { + + /// + /// Service Request Code + /// + [DataMember] + [Required] + [DataElement("1644", typeof(X12_ID_1644))] + [Pos(1)] + public string ServiceRequestCode_01 { + get; + set; + } + } + + /// + /// Export Shipment Identifying Information + /// + [Serializable()] + [DataContract()] + [Segment("BA1")] + public class BA1 { + + /// + /// Related Company Indication Code + /// + [DataMember] + [Required] + [DataElement("645", typeof(X12_ID_645))] + [Pos(1)] + public string RelatedCompanyIndicationCode_01 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(2)] + public string ActionCode_02 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(3)] + public string TransportationMethodTypeCode_03 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(4)] + public string CountryCode_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(6)] + public string PostalCode_06 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(7)] + public string CountryCode_07 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(8)] + public string StateorProvinceCode_08 { + get; + set; + } + /// + /// Authority + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("151", typeof(X12_AN))] + [Pos(9)] + public string Authority_09 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(10)] + public string StandardCarrierAlphaCode_10 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(11)] + public string LocationIdentifier_11 { + get; + set; + } + /// + /// Vessel Name + /// + [DataMember] + [StringLength(2, 28)] + [DataElement("182", typeof(X12_AN))] + [Pos(12)] + public string VesselName_12 { + get; + set; + } + } + + /// + /// Beginning Segment for Cargo Terminal Information + /// + [Serializable()] + [DataContract()] + [Segment("BA2")] + public class BA2 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Vessel Code + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("597", typeof(X12_AN))] + [Pos(2)] + public string VesselCode_02 { + get; + set; + } + /// + /// Flight/Voyage Number + /// + [DataMember] + [Required] + [StringLength(2, 10)] + [DataElement("55", typeof(X12_AN))] + [Pos(3)] + public string FlightVoyageNumber_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Pier Number + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("113", typeof(X12_AN))] + [Pos(6)] + public string PierNumber_06 { + get; + set; + } + /// + /// Pier Name + /// + [DataMember] + [Required] + [StringLength(2, 14)] + [DataElement("112", typeof(X12_AN))] + [Pos(7)] + public string PierName_07 { + get; + set; + } + /// + /// Port or Terminal Function Code + /// + [DataMember] + [DataElement("115", typeof(X12_ID_115))] + [Pos(8)] + public string PortorTerminalFunctionCode_08 { + get; + set; + } + /// + /// Port Name + /// + [DataMember] + [StringLength(2, 24)] + [DataElement("114", typeof(X12_AN))] + [Pos(9)] + public string PorCAame_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Vessel Code Qualifier + /// + [DataMember] + [DataElement("897", typeof(X12_ID_897))] + [Pos(11)] + public string VesselCodeQualifier_11 { + get; + set; + } + } + + /// + /// Beginning Segment for Product Transfer Account Adjustment + /// + [Serializable()] + [DataContract()] + [Segment("BAA")] + public class BAA { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(2)] + public string TransactionTypeCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(6)] + public string Time_06 { + get; + set; + } + } + + /// + /// Beginning Segment for Purchase Order Acknowledgment + /// + [Serializable()] + [DataContract()] + [Segment("BAK")] + public class BAK { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Acknowledgment Type + /// + [DataMember] + [Required] + [DataElement("587", typeof(X12_ID_587))] + [Pos(2)] + public string AcknowledgmentType_02 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(3)] + public string PurchaseOrderNumber_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(5)] + public string ReleaseNumber_05 { + get; + set; + } + /// + /// Request Reference Number + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("326", typeof(X12_AN))] + [Pos(6)] + public string RequestReferenceNumber_06 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(7)] + public string ContracCAumber_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(10)] + public string TransactionTypeCode_10 { + get; + set; + } + } + + /// + /// Balance Detail + /// + [Serializable()] + [DataContract()] + [Segment("BAL")] + public class BAL { + + /// + /// Balance Type Code + /// + [DataMember] + [Required] + [DataElement("951", typeof(X12_ID_951))] + [Pos(1)] + public string BalanceTypeCode_01 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(2)] + public string AmountQualifierCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + } + + /// + /// Batch + /// + [Serializable()] + [DataContract()] + [Segment("BAT")] + public class BAT { + + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(2)] + public string Time_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Batch Type Code + /// + [DataMember] + [DataElement("894", typeof(X12_ID_894))] + [Pos(4)] + public string BatchTypeCode_04 { + get; + set; + } + } + + /// + /// Beginning Segment for the Debit Authorization + /// + [Serializable()] + [DataContract()] + [Segment("BAU")] + public class BAU { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [Required] + [DataElement("591", typeof(X12_ID_591))] + [Pos(2)] + public string PaymentMethodCode_02 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [Required] + [DataElement("506", typeof(X12_ID_506))] + [Pos(3)] + public string DFIIDNumberQualifier_03 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [Required] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(4)] + public string DFIIdentificationNumber_04 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(5)] + public string AccounCAumber_05 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(6)] + public string Name_06 { + get; + set; + } + } + + /// + /// Beginning Segment for Advance Consist and Transportation Automatic + /// Equipment ID + /// + [Serializable()] + [DataContract()] + [Segment("BAX")] + public class BAX { + + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(1)] + public string StandardPointLocationCode_01 { + get; + set; + } + /// + /// Type of Consist Code + /// + [DataMember] + [Required] + [DataElement("579", typeof(X12_ID_579))] + [Pos(2)] + public string TypeofConsistCode_02 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [Required] + [DataElement("374", typeof(X12_ID_374))] + [Pos(3)] + public string DateTimeQualifier_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Interchange Train Identification + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(6)] + public string InterchangeTrainIdentification_06 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(7)] + public string StandardPointLocationCode_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Direction Identifier Code + /// + [DataMember] + [DataElement("1280", typeof(X12_ID_1280))] + [Pos(9)] + public string DirectionIdentifierCode_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(11)] + public string Time_11 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(12)] + public string TimeCode_12 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(13)] + public string TransactionSetPurposeCode_13 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(14)] + public string ServiceLevelCode_14 { + get; + set; + } + } + + /// + /// Legal Claims + /// + [Serializable()] + [DataContract()] + [Segment("BBC")] + public class BBC { + + /// + /// Claim Type Code + /// + [DataMember] + [Required] + [DataElement("1017", typeof(X12_ID_1017))] + [Pos(1)] + public string ClaimTypeCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + } + + /// + /// Beginning Segment for Contract Completion Status + /// + [Serializable()] + [DataContract()] + [Segment("BC")] + public class BC { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(6)] + public string TransactionTypeCode_06 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(7)] + public string ActionCode_07 { + get; + set; + } + } + + /// + /// Beginning Segment for Purchase Order Change Acknowledgment + /// + [Serializable()] + [DataContract()] + [Segment("BCA")] + public class BCA { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Acknowledgment Type + /// + [DataMember] + [DataElement("587", typeof(X12_ID_587))] + [Pos(2)] + public string AcknowledgmentType_02 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(3)] + public string PurchaseOrderNumber_03 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(4)] + public string ReleaseNumber_04 { + get; + set; + } + /// + /// Change Order Sequence Number + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("327", typeof(X12_AN))] + [Pos(5)] + public string ChangeOrderSequenceNumber_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Request Reference Number + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("326", typeof(X12_AN))] + [Pos(7)] + public string RequestReferenceNumber_07 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(8)] + public string ContracCAumber_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(12)] + public string Date_12 { + get; + set; + } + /// + /// Purchase Order Type Code + /// + [DataMember] + [DataElement("92", typeof(X12_ID_92))] + [Pos(13)] + public string PurchaseOrderTypeCode_13 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(14)] + public string SecurityLevelCode_14 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(15)] + public string TransactionTypeCode_15 { + get; + set; + } + } + + /// + /// Beginning Credit/Debit Adjustment + /// + [Serializable()] + [DataContract()] + [Segment("BCD")] + public class BCD { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Credit/Debit Adjustment Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("475", typeof(X12_AN))] + [Pos(2)] + public string CreditDebitAdjustmenCAumber_02 { + get; + set; + } + /// + /// Transaction Handling Code + /// + [DataMember] + [Required] + [DataElement("305", typeof(X12_ID_305))] + [Pos(3)] + public string TransactionHandlingCode_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [Required] + [DataElement("478", typeof(X12_ID_478))] + [Pos(5)] + public string CreditDebitFlagCode_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(7)] + public string InvoiceNumber_07 { + get; + set; + } + /// + /// Vendor Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("424", typeof(X12_AN))] + [Pos(8)] + public string VendorOrderNumber_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(10)] + public string PurchaseOrderNumber_10 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(11)] + public string TransactionSetPurposeCode_11 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(12)] + public string TransactionTypeCode_12 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(13)] + public string ReferenceIdentificationQualifier_13 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(14)] + public string ReferenceIdentification_14 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(15)] + public string ActionCode_15 { + get; + set; + } + } + + /// + /// Beginning Segment for Purchase Order Change + /// + [Serializable()] + [DataContract()] + [Segment("BCH")] + public class BCH { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Purchase Order Type Code + /// + [DataMember] + [Required] + [DataElement("92", typeof(X12_ID_92))] + [Pos(2)] + public string PurchaseOrderTypeCode_02 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(3)] + public string PurchaseOrderNumber_03 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(4)] + public string ReleaseNumber_04 { + get; + set; + } + /// + /// Change Order Sequence Number + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("327", typeof(X12_AN))] + [Pos(5)] + public string ChangeOrderSequenceNumber_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Request Reference Number + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("326", typeof(X12_AN))] + [Pos(7)] + public string RequestReferenceNumber_07 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(8)] + public string ContracCAumber_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + /// + /// Contract Type Code + /// + [DataMember] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(12)] + public string ContractTypeCode_12 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(13)] + public string SecurityLevelCode_13 { + get; + set; + } + /// + /// Acknowledgment Type + /// + [DataMember] + [DataElement("587", typeof(X12_ID_587))] + [Pos(14)] + public string AcknowledgmentType_14 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(15)] + public string TransactionTypeCode_15 { + get; + set; + } + /// + /// Purchase Category + /// + [DataMember] + [DataElement("1232", typeof(X12_ID_1232))] + [Pos(16)] + public string PurchaseCategory_16 { + get; + set; + } + } + + /// + /// Basic Claim Information + /// + [Serializable()] + [DataContract()] + [Segment("BCI")] + public class BCI { + + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(1)] + public string IndustryCode_01 { + get; + set; + } + /// + /// Insurance Type Code + /// + [DataMember] + [DataElement("1336", typeof(X12_ID_1336))] + [Pos(2)] + public string InsuranceTypeCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(4)] + public string StateorProvinceCode_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Report Type Code + /// + [DataMember] + [DataElement("755", typeof(X12_ID_755))] + [Pos(7)] + public string ReportTypeCode_07 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(8)] + public string CurrencyCode_08 { + get; + set; + } + } + + /// + /// Beginning Segment for Contractor Cost Data Reporting + /// + [Serializable()] + [DataContract()] + [Segment("BCM")] + public class BCM { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(4)] + public string ContracCAumber_04 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(5)] + public string FreeformDescription_05 { + get; + set; + } + /// + /// Contract Action Code + /// + [DataMember] + [DataElement("1308", typeof(X12_ID_1308))] + [Pos(6)] + public string ContractActionCode_06 { + get; + set; + } + /// + /// Program Type Code + /// + [DataMember] + [DataElement("1193", typeof(X12_ID_1193))] + [Pos(7)] + public string ProgramTypeCode_07 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(8)] + public string FreeformDescription_08 { + get; + set; + } + /// + /// Contracting Funding Code + /// + [DataMember] + [DataElement("1198", typeof(X12_ID_1198))] + [Pos(9)] + public string ContractingFundingCode_09 { + get; + set; + } + /// + /// Contract Type Code + /// + [DataMember] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(10)] + public string ContractTypeCode_10 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(11)] + public string SecurityLevelCode_11 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(12)] + public string CurrencyCode_12 { + get; + set; + } + } + + /// + /// Beginning Segment for Procurement Notices + /// + [Serializable()] + [DataContract()] + [Segment("BCO")] + public class BCO { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Request for Quote Reference Number + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("586", typeof(X12_AN))] + [Pos(2)] + public string RequestforQuoteReferenceNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Contract Status Code + /// + [DataMember] + [DataElement("846", typeof(X12_ID_846))] + [Pos(5)] + public string ContractStatusCode_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Acknowledgment Type + /// + [DataMember] + [DataElement("587", typeof(X12_ID_587))] + [Pos(8)] + public string AcknowledgmentType_08 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(9)] + public string ReferenceIdentificationQualifier_09 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(10)] + public string ReferenceIdentification_10 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(11)] + public string TransactionTypeCode_11 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(12)] + public string ActionCode_12 { + get; + set; + } + } + + /// + /// Beginning Segment for Contract Pricing Proposal + /// + [Serializable()] + [DataContract()] + [Segment("BCP")] + public class BCP { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Contract Action Code + /// + [DataMember] + [DataElement("1308", typeof(X12_ID_1308))] + [Pos(5)] + public string ContractActionCode_05 { + get; + set; + } + /// + /// Contract Type Code + /// + [DataMember] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(6)] + public string ContractTypeCode_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(8)] + public string Time_08 { + get; + set; + } + /// + /// Change Order Sequence Number + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("327", typeof(X12_AN))] + [Pos(9)] + public string ChangeOrderSequenceNumber_09 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(10)] + public string ReferenceIdentification_10 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(11)] + public string ReferenceIdentification_11 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(12)] + public string Description_12 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(13)] + public string Description_13 { + get; + set; + } + } + + /// + /// Beginning Segment for Shipper's Car Order + /// + [Serializable()] + [DataContract()] + [Segment("BCQ")] + public class BCQ { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(6)] + public string StandardCarrierAlphaCode_06 { + get; + set; + } + } + + /// + /// Beginning Segment for Project Cost Reporting + /// + [Serializable()] + [DataContract()] + [Segment("BCS")] + public class BCS { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(3)] + public string ContracCAumber_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Contract Type Code + /// + [DataMember] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(5)] + public string ContractTypeCode_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Program Type Code + /// + [DataMember] + [DataElement("1193", typeof(X12_ID_1193))] + [Pos(8)] + public string ProgramTypeCode_08 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(9)] + public string SecurityLevelCode_09 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(10)] + public string Percent_10 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(11)] + public string Percent_11 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(12)] + public C001 CompositeUnitofMeasure_12 { + get; + set; + } + } + + /// + /// Beginning Segment for Price/Sales Catalog + /// + [Serializable()] + [DataContract()] + [Segment("BCT")] + public class BCT { + + /// + /// Catalog Purpose Code + /// + [DataMember] + [Required] + [DataElement("683", typeof(X12_ID_683))] + [Pos(1)] + public string CatalogPurposeCode_01 { + get; + set; + } + /// + /// Catalog Number + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("684", typeof(X12_AN))] + [Pos(2)] + public string CatalogNumber_02 { + get; + set; + } + /// + /// Catalog Version Number + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("685", typeof(X12_AN))] + [Pos(3)] + public string CatalogVersionNumber_03 { + get; + set; + } + /// + /// Catalog Revision Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("686", typeof(X12_AN))] + [Pos(4)] + public string CatalogRevisionNumber_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Catalog Number + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("684", typeof(X12_AN))] + [Pos(6)] + public string CatalogNumber_06 { + get; + set; + } + /// + /// Catalog Version Number + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("685", typeof(X12_AN))] + [Pos(7)] + public string CatalogVersionNumber_07 { + get; + set; + } + /// + /// Catalog Revision Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("686", typeof(X12_AN))] + [Pos(8)] + public string CatalogRevisionNumber_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(10)] + public string TransactionSetPurposeCode_10 { + get; + set; + } + } + + /// + /// Legal Claim Updates + /// + [Serializable()] + [DataContract()] + [Segment("BCU")] + public class BCU { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(5)] + public string ActionCode_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + } + + /// + /// Beginning Segment for Shipment Delivery Discrepancy Information + /// + [Serializable()] + [DataContract()] + [Segment("BDD")] + public class BDD { + + /// + /// Invoice Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(1)] + public string InvoiceNumber_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(3)] + public string ShipmentIdentificationNumber_03 { + get; + set; + } + } + + /// + /// Beginning Segment for Purchase Order + /// + [Serializable()] + [DataContract()] + [Segment("BEG")] + public class BEG { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Purchase Order Type Code + /// + [DataMember] + [Required] + [DataElement("92", typeof(X12_ID_92))] + [Pos(2)] + public string PurchaseOrderTypeCode_02 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(3)] + public string PurchaseOrderNumber_03 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(4)] + public string ReleaseNumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(6)] + public string ContracCAumber_06 { + get; + set; + } + /// + /// Acknowledgment Type + /// + [DataMember] + [DataElement("587", typeof(X12_ID_587))] + [Pos(7)] + public string AcknowledgmentType_07 { + get; + set; + } + /// + /// Invoice Type Code + /// + [DataMember] + [DataElement("1019", typeof(X12_ID_1019))] + [Pos(8)] + public string InvoiceTypeCode_08 { + get; + set; + } + /// + /// Contract Type Code + /// + [DataMember] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(9)] + public string ContractTypeCode_09 { + get; + set; + } + /// + /// Purchase Category + /// + [DataMember] + [DataElement("1232", typeof(X12_ID_1232))] + [Pos(10)] + public string PurchaseCategory_10 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(11)] + public string SecurityLevelCode_11 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(12)] + public string TransactionTypeCode_12 { + get; + set; + } + } + + /// + /// Beneficiary or Owner Information + /// + [Serializable()] + [DataContract()] + [Segment("BEN")] + public class BEN { + + /// + /// Primary or Contingent Code + /// + [DataMember] + [DataElement("1130", typeof(X12_ID_1130))] + [Pos(1)] + public string PrimaryorContingentCode_01 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(2)] + public string Percent_02 { + get; + set; + } + /// + /// Individual Relationship Code + /// + [DataMember] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(3)] + public string IndividualRelationshipCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + /// + /// Type of Account Code + /// + [DataMember] + [DataElement("1187", typeof(X12_ID_1187))] + [Pos(6)] + public string TypeofAccountCode_06 { + get; + set; + } + } + + /// + /// Borrower Education Program + /// + [Serializable()] + [DataContract()] + [Segment("BEP")] + public class BEP { + + /// + /// Program Participation and Services Code + /// + [DataMember] + [Required] + [DataElement("1133", typeof(X12_ID_1133))] + [Pos(1)] + public string ProgramParticipationandServicesCode_01 { + get; + set; + } + /// + /// Instructional Setting Code + /// + [DataMember] + [Required] + [DataElement("1132", typeof(X12_ID_1132))] + [Pos(2)] + public string InstructionalSettingCode_02 { + get; + set; + } + } + + /// + /// Beginning Segment for Planning Schedule + /// + [Serializable()] + [DataContract()] + [Segment("BFR")] + public class BFR { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(3)] + public string ReleaseNumber_03 { + get; + set; + } + /// + /// Schedule Type Qualifier + /// + [DataMember] + [Required] + [DataElement("675", typeof(X12_ID_675))] + [Pos(4)] + public string ScheduleTypeQualifier_04 { + get; + set; + } + /// + /// Schedule Quantity Qualifier + /// + [DataMember] + [Required] + [DataElement("676", typeof(X12_ID_676))] + [Pos(5)] + public string ScheduleQuantityQualifier_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(10)] + public string ContracCAumber_10 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(11)] + public string PurchaseOrderNumber_11 { + get; + set; + } + /// + /// Planning Schedule Type Code + /// + [DataMember] + [DataElement("783", typeof(X12_ID_783))] + [Pos(12)] + public string PlanningScheduleTypeCode_12 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(13)] + public string ActionCode_13 { + get; + set; + } + } + + /// + /// Borrower Financial Summary + /// + [Serializable()] + [DataContract()] + [Segment("BFS")] + public class BFS { + + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(1)] + public string RateValueQualifier_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(3)] + public string RateValueQualifier_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Type of Income Code + /// + [DataMember] + [DataElement("1186", typeof(X12_ID_1186))] + [Pos(9)] + public string TypeofIncomeCode_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + } + + /// + /// Beginning Segment for File Transfer Information + /// + [Serializable()] + [DataContract()] + [Segment("BGF")] + public class BGF { + + /// + /// Transaction Set Identifier Code + /// + [DataMember] + [DataElement("143", typeof(X12_ID_143))] + [Pos(1)] + public string TransactionSetIdentifierCode_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + } + + /// + /// Beginning Segment + /// + [Serializable()] + [DataContract()] + [Segment("BGN")] + public class BGN { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(5)] + public string TimeCode_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(7)] + public string TransactionTypeCode_07 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(8)] + public string ActionCode_08 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(9)] + public string SecurityLevelCode_09 { + get; + set; + } + } + + /// + /// Beginning Segment for Problem Log Inquiry or Advice + /// + [Serializable()] + [DataContract()] + [Segment("BGP")] + public class BGP { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Problem Log Reason Code + /// + [DataMember] + [DataElement("1484", typeof(X12_ID_1484))] + [Pos(2)] + public string ProblemLogReasonCode_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(5)] + public string EquipmentInitial_05 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(6)] + public string EquipmenCAumber_06 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(7)] + public string DateTimePeriod_07 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(8)] + public string StandardPointLocationCode_08 { + get; + set; + } + /// + /// Interchange Train Identification + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(9)] + public string InterchangeTrainIdentification_09 { + get; + set; + } + } + + /// + /// Beginning of Hierarchical Transaction + /// + [Serializable()] + [DataContract()] + [Segment("BHT")] + public class BHT { + + /// + /// Hierarchical Structure Code + /// + [DataMember] + [Required] + [DataElement("1005", typeof(X12_ID_1005))] + [Pos(1)] + public string HierarchicalStructureCode_01 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(2)] + public string TransactionSetPurposeCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(6)] + public string TransactionTypeCode_06 { + get; + set; + } + } + + /// + /// Beginning Segment for Inventory Inquiry/Advice + /// + [Serializable()] + [DataContract()] + [Segment("BIA")] + public class BIA { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Report Type Code + /// + [DataMember] + [Required] + [DataElement("755", typeof(X12_ID_755))] + [Pos(2)] + public string ReportTypeCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(6)] + public string ActionCode_06 { + get; + set; + } + } + + /// + /// Beginning Segment for Invoice + /// + [Serializable()] + [DataContract()] + [Segment("BIG")] + public class BIG { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(2)] + public string InvoiceNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(4)] + public string PurchaseOrderNumber_04 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(5)] + public string ReleaseNumber_05 { + get; + set; + } + /// + /// Change Order Sequence Number + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("327", typeof(X12_AN))] + [Pos(6)] + public string ChangeOrderSequenceNumber_06 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(7)] + public string TransactionTypeCode_07 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(8)] + public string TransactionSetPurposeCode_08 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(9)] + public string ActionCode_09 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(10)] + public string InvoiceNumber_10 { + get; + set; + } + } + + /// + /// Binary Data + /// + [Serializable()] + [DataContract()] + [Segment("BIN")] + public class BIN { + + /// + /// Length of Binary Data + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("784", typeof(X12_N0))] + [Pos(1)] + public string LengthofBinaryData_01 { + get; + set; + } + /// + /// Binary Data + /// + [DataMember] + [Required] + [StringLength(1, 1000000)] + [DataElement("785", typeof(X12_AN))] + [Pos(2)] + public string BinaryData_02 { + get; + set; + } + } + + /// + /// Beginning Segment for Automotive Inspection + /// + [Serializable()] + [DataContract()] + [Segment("BIX")] + public class BIX { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Inspection Location Type Code + /// + [DataMember] + [Required] + [DataElement("831", typeof(X12_ID_831))] + [Pos(4)] + public string InspectionLocationTypeCode_04 { + get; + set; + } + /// + /// Ramp Identification + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("832", typeof(X12_AN))] + [Pos(5)] + public string RampIdentification_05 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(6)] + public string CityName_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Inspector Identity Code + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("834", typeof(X12_AN))] + [Pos(8)] + public string InspectorIdentityCode_08 { + get; + set; + } + /// + /// Damage Code Qualifier + /// + [DataMember] + [DataElement("927", typeof(X12_ID_927))] + [Pos(9)] + public string DamageCodeQualifier_09 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(10)] + public string IdentificationCodeQualifier_10 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(11)] + public string IdentificationCode_11 { + get; + set; + } + } + + /// + /// Beginning Segment Railroad Junctions and Interchanges Update Activity + /// + [Serializable()] + [DataContract()] + [Segment("BJF")] + public class BJF { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(2)] + public string TransactionTypeCode_02 { + get; + set; + } + /// + /// Rule 260 Junction Code + /// + [DataMember] + [Required] + [StringLength(1, 5)] + [DataElement("638", typeof(X12_AN))] + [Pos(3)] + public string RuleJunctionCode_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(5)] + public string CityName_05 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(6)] + public string StateorProvinceCode_06 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(7)] + public string CountryCode_07 { + get; + set; + } + } + + /// + /// Billing Information + /// + [Serializable()] + [DataContract()] + [Segment("BL")] + public class BL { + + /// + /// Rebill Reason Code + /// + [DataMember] + [Required] + [DataElement("747", typeof(X12_ID_747))] + [Pos(1)] + public string RebillReasonCode_01 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [Required] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(2)] + public string FreightStationAccountingCode_02 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [Required] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(3)] + public string FreightStationAccountingCode_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(5)] + public string CityName_05 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(6)] + public string StateorProvinceCode_06 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(7)] + public string CountryCode_07 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(8)] + public string StandardPointLocationCode_08 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(9)] + public string CityName_09 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(10)] + public string StateorProvinceCode_10 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(11)] + public string CountryCode_11 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(12)] + public string StandardCarrierAlphaCode_12 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(13)] + public string StandardCarrierAlphaCode_13 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(14)] + public string StandardCarrierAlphaCode_14 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(15)] + public string StandardCarrierAlphaCode_15 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(16)] + public string StandardCarrierAlphaCode_16 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(17)] + public string StandardCarrierAlphaCode_17 { + get; + set; + } + } + + /// + /// Baseline Item Data + /// + [Serializable()] + [DataContract()] + [Segment("BLI")] + public class BLI { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(5)] + public string PriceIdentifierCode_05 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(6)] + public string UnitPrice_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(8)] + public string ProductServiceIDQualifier_08 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(9)] + public string ProductServiceID_09 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(10)] + public string ProductServiceIDQualifier_10 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(11)] + public string ProductServiceID_11 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(12)] + public string ProductServiceIDQualifier_12 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(13)] + public string ProductServiceID_13 { + get; + set; + } + /// + /// Product Option Code + /// + [DataMember] + [DataElement("1161", typeof(X12_ID_1161))] + [Pos(14)] + public string ProductOptionCode_14 { + get; + set; + } + /// + /// Product Option Code + /// + [DataMember] + [DataElement("1161", typeof(X12_ID_1161))] + [Pos(15)] + public string ProductOptionCode_15 { + get; + set; + } + /// + /// Product Option Code + /// + [DataMember] + [DataElement("1161", typeof(X12_ID_1161))] + [Pos(16)] + public string ProductOptionCode_16 { + get; + set; + } + /// + /// Product Option Code + /// + [DataMember] + [DataElement("1161", typeof(X12_ID_1161))] + [Pos(17)] + public string ProductOptionCode_17 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(18)] + public string FrequencyCode_18 { + get; + set; + } + } + + /// + /// Balance Information + /// + [Serializable()] + [DataContract()] + [Segment("BLN")] + public class BLN { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [Required] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(6)] + public string TimeCode_06 { + get; + set; + } + } + + /// + /// Transportation Carrier Identification + /// + [Serializable()] + [DataContract()] + [Segment("BLR")] + public class BLR { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + } + + /// + /// Beginning Segment for Asset Schedule + /// + [Serializable()] + [DataContract()] + [Segment("BLS")] + public class BLS { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(2)] + public string TransactionTypeCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Acknowledgment Type + /// + [DataMember] + [DataElement("587", typeof(X12_ID_587))] + [Pos(6)] + public string AcknowledgmentType_06 { + get; + set; + } + } + + /// + /// Beginning Segment for Market Development Fund Allocation + /// + [Serializable()] + [DataContract()] + [Segment("BMA")] + public class BMA { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Allowance or Charge Method of Handling Code + /// + [DataMember] + [Required] + [DataElement("331", typeof(X12_ID_331))] + [Pos(3)] + public string AllowanceorChargeMethodofHandlingCode_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(6)] + public string TransactionTypeCode_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(8)] + public string Description_08 { + get; + set; + } + } + + /// + /// Beginning Segment For Text Message + /// + [Serializable()] + [DataContract()] + [Segment("BMG")] + public class BMG { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(3)] + public string TransactionTypeCode_03 { + get; + set; + } + } + + /// + /// Beginning Segment for Multilevel Railcar Load Details Transaction + /// + [Serializable()] + [DataContract()] + [Segment("BMM")] + public class BMM { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(2)] + public string StandardPointLocationCode_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(4)] + public string WaybillNumber_04 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(5)] + public string StandardPointLocationCode_05 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(6)] + public string ShipmentIdentificationNumber_06 { + get; + set; + } + /// + /// Vehicle Status + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1094", typeof(X12_AN))] + [Pos(7)] + public string VehicleStatus_07 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(8)] + public string AccounCAumber_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(10)] + public string TransactionSetPurposeCode_10 { + get; + set; + } + } + + /// + /// Beginning Segment for Market Development Fund Settlement + /// + [Serializable()] + [DataContract()] + [Segment("BMP")] + public class BMP { + + /// + /// Transaction Handling Code + /// + [DataMember] + [Required] + [DataElement("305", typeof(X12_ID_305))] + [Pos(1)] + public string TransactionHandlingCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("591", typeof(X12_ID_591))] + [Pos(3)] + public string PaymentMethodCode_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + } + + /// + /// Beginning Segment For Material Safety Data Sheet + /// + [Serializable()] + [DataContract()] + [Segment("BMS")] + public class BMS { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Language Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("819", typeof(X12_AN))] + [Pos(3)] + public string LanguageCode_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Revision Value + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("796", typeof(X12_AN))] + [Pos(5)] + public string RevisionValue_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Revision Value + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("796", typeof(X12_AN))] + [Pos(7)] + public string RevisionValue_07 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(8)] + public string StateorProvinceCode_08 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(9)] + public string CountryCode_09 { + get; + set; + } + } + + /// + /// Beginning Segment For Nonconformance Report + /// + [Serializable()] + [DataContract()] + [Segment("BNR")] + public class BNR { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// Nonconformance Report Status Code + /// + [DataMember] + [DataElement("886", typeof(X12_ID_886))] + [Pos(5)] + public string NonconformanceReportStatusCode_05 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(6)] + public string TransactionTypeCode_06 { + get; + set; + } + } + + /// + /// Rail Shipment Information + /// + [Serializable()] + [DataContract()] + [Segment("BNX")] + public class BNX { + + /// + /// Shipment Weight Code + /// + [DataMember] + [DataElement("460", typeof(X12_ID_460))] + [Pos(1)] + public string ShipmentWeightCode_01 { + get; + set; + } + /// + /// Referenced Pattern Identifier + /// + [DataMember] + [StringLength(1, 13)] + [DataElement("129", typeof(X12_AN))] + [Pos(2)] + public string ReferencedPatternIdentifier_02 { + get; + set; + } + /// + /// Billing Code + /// + [DataMember] + [DataElement("11", typeof(X12_ID_11))] + [Pos(3)] + public string BillingCode_03 { + get; + set; + } + /// + /// Repetitive Pattern Number + /// + [DataMember] + [StringLength(5, 5)] + [DataElement("223", typeof(X12_N0))] + [Pos(4)] + public string RepetitivePatternNumber_04 { + get; + set; + } + } + + /// + /// Beginning Segment for the Motor Carrier Bill of Lading + /// + [Serializable()] + [DataContract()] + [Segment("BOL")] + public class BOL { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(2)] + public string ShipmentMethodofPayment_02 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(3)] + public string ShipmentIdentificationNumber_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Status Report Request Code + /// + [DataMember] + [DataElement("160", typeof(X12_ID_160))] + [Pos(7)] + public string StatusReportRequestCode_07 { + get; + set; + } + /// + /// Section Seven Code + /// + [DataMember] + [DataElement("226", typeof(X12_ID_226))] + [Pos(8)] + public string SectionSevenCode_08 { + get; + set; + } + /// + /// Customs Documentation Handling Code + /// + [DataMember] + [DataElement("501", typeof(X12_ID_501))] + [Pos(9)] + public string CustomsDocumentationHandlingCode_09 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [DataElement("146", typeof(X12_ID_146))] + [Pos(10)] + public string ShipmentMethodofPayment_10 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(11)] + public string CurrencyCode_11 { + get; + set; + } + } + + /// + /// Beginning of Report + /// + [Serializable()] + [DataContract()] + [Segment("BOR")] + public class BOR { + + /// + /// Report Type Code + /// + [DataMember] + [Required] + [DataElement("755", typeof(X12_ID_755))] + [Pos(1)] + public string ReportTypeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(7)] + public string TransportationMethodTypeCode_07 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(8)] + public string ActionCode_08 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(9)] + public string StatusReasonCode_09 { + get; + set; + } + /// + /// Language Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("819", typeof(X12_AN))] + [Pos(10)] + public string LanguageCode_10 { + get; + set; + } + } + + /// + /// Beginning Segment for the Operating Expense Statement + /// + [Serializable()] + [DataContract()] + [Segment("BOS")] + public class BOS { + + /// + /// Statement Number + /// + [DataMember] + [Required] + [StringLength(1, 16)] + [DataElement("613", typeof(X12_AN))] + [Pos(1)] + public string StatemenCAumber_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(3)] + public string AgencyQualifierCode_03 { + get; + set; + } + /// + /// Statement Format Code + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("781", typeof(X12_AN))] + [Pos(4)] + public string StatementFormatCode_04 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(5)] + public string TransactionTypeCode_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + } + + /// + /// Box Office Detail + /// + [Serializable()] + [DataContract()] + [Segment("BOX")] + public class BOX { + + /// + /// Frequency Code + /// + [DataMember] + [Required] + [DataElement("594", typeof(X12_ID_594))] + [Pos(1)] + public string FrequencyCode_01 { + get; + set; + } + /// + /// Show Code + /// + [DataMember] + [Required] + [DataElement("1162", typeof(X12_ID_1162))] + [Pos(2)] + public string ShowCode_02 { + get; + set; + } + /// + /// Ticket Category Code + /// + [DataMember] + [Required] + [DataElement("1163", typeof(X12_ID_1163))] + [Pos(3)] + public string TicketCategoryCode_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(5)] + public string CurrencyCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(11)] + public string MonetaryAmount_11 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(12)] + public string UnitPrice_12 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(13)] + public string MonetaryAmount_13 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(14)] + public string ReferenceIdentification_14 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(15)] + public string ReferenceIdentification_15 { + get; + set; + } + } + + /// + /// Beginning Segment for Price Authorization Acknowledgment/Status + /// + [Serializable()] + [DataContract()] + [Segment("BPA")] + public class BPA { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + } + + /// + /// Beginning Segment for Project Schedule Reporting + /// + [Serializable()] + [DataContract()] + [Segment("BPP")] + public class BPP { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Network or Schedule Data Type + /// + [DataMember] + [Required] + [DataElement("1164", typeof(X12_ID_1164))] + [Pos(3)] + public string NetworkorScheduleDataType_03 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(4)] + public string ContracCAumber_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Report Type Code + /// + [DataMember] + [DataElement("755", typeof(X12_ID_755))] + [Pos(8)] + public string ReportTypeCode_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(10)] + public string Description_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(12)] + public string ReferenceIdentification_12 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(13)] + public string SecurityLevelCode_13 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(14)] + public string VersionIdentifier_14 { + get; + set; + } + } + + /// + /// Beginning Segment for Payment Order/Remittance Advice + /// + [Serializable()] + [DataContract()] + [Segment("BPR")] + public class BPR { + + /// + /// Transaction Handling Code + /// + [DataMember] + [Required] + [DataElement("305", typeof(X12_ID_305))] + [Pos(1)] + public string TransactionHandlingCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [Required] + [DataElement("478", typeof(X12_ID_478))] + [Pos(3)] + public string CreditDebitFlagCode_03 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [Required] + [DataElement("591", typeof(X12_ID_591))] + [Pos(4)] + public string PaymentMethodCode_04 { + get; + set; + } + /// + /// Payment Format Code + /// + [DataMember] + [DataElement("812", typeof(X12_ID_812))] + [Pos(5)] + public string PaymentFormatCode_05 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [DataElement("506", typeof(X12_ID_506))] + [Pos(6)] + public string DFIIDNumberQualifier_06 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(7)] + public string DFIIdentificationNumber_07 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(8)] + public string AccounCAumberQualifier_08 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(9)] + public string AccounCAumber_09 { + get; + set; + } + /// + /// Originating Company Identifier + /// + [DataMember] + [StringLength(10, 10)] + [DataElement("509", typeof(X12_AN))] + [Pos(10)] + public string OriginatingCompanyIdentifier_10 { + get; + set; + } + /// + /// Originating Company Supplemental Code + /// + [DataMember] + [StringLength(9, 9)] + [DataElement("510", typeof(X12_AN))] + [Pos(11)] + public string OriginatingCompanySupplementalCode_11 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [DataElement("506", typeof(X12_ID_506))] + [Pos(12)] + public string DFIIDNumberQualifier_12 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(13)] + public string DFIIdentificationNumber_13 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(14)] + public string AccounCAumberQualifier_14 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(15)] + public string AccounCAumber_15 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(16)] + public string Date_16 { + get; + set; + } + /// + /// Business Function Code + /// + [DataMember] + [DataElement("1048", typeof(X12_ID_1048))] + [Pos(17)] + public string BusinessFunctionCode_17 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [DataElement("506", typeof(X12_ID_506))] + [Pos(18)] + public string DFIIDNumberQualifier_18 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(19)] + public string DFIIdentificationNumber_19 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(20)] + public string AccounCAumberQualifier_20 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(21)] + public string AccounCAumber_21 { + get; + set; + } + } + + /// + /// Beginning Segment for Product Transfer and Resale + /// + [Serializable()] + [DataContract()] + [Segment("BPT")] + public class BPT { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Report Type Code + /// + [DataMember] + [DataElement("755", typeof(X12_ID_755))] + [Pos(4)] + public string ReportTypeCode_04 { + get; + set; + } + /// + /// Price Multiplier Qualifier + /// + [DataMember] + [DataElement("648", typeof(X12_ID_648))] + [Pos(5)] + public string PriceMultiplierQualifier_05 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(6)] + public string Multiplier_06 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(7)] + public string ActionCode_07 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(8)] + public string Time_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(10)] + public string SecurityLevelCode_10 { + get; + set; + } + } + + /// + /// Beginning Segment for Response to Request for Quotation + /// + [Serializable()] + [DataContract()] + [Segment("BQR")] + public class BQR { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Request for Quote Reference Number + /// + [DataMember] + [Required] + [StringLength(1, 45)] + [DataElement("586", typeof(X12_AN))] + [Pos(2)] + public string RequestforQuoteReferenceNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(4)] + public string DateTimeQualifier_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Bid Type Response Code + /// + [DataMember] + [DataElement("379", typeof(X12_ID_379))] + [Pos(6)] + public string BidTypeResponseCode_06 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(7)] + public string SecurityLevelCode_07 { + get; + set; + } + /// + /// Change Order Sequence Number + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("327", typeof(X12_AN))] + [Pos(8)] + public string ChangeOrderSequenceNumber_08 { + get; + set; + } + } + + /// + /// Beginning Segment for Request for Quotation + /// + [Serializable()] + [DataContract()] + [Segment("BQT")] + public class BQT { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Request for Quote Reference Number + /// + [DataMember] + [Required] + [StringLength(1, 45)] + [DataElement("586", typeof(X12_AN))] + [Pos(2)] + public string RequestforQuoteReferenceNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(4)] + public string DateTimeQualifier_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Purchase Order Type Code + /// + [DataMember] + [DataElement("92", typeof(X12_ID_92))] + [Pos(6)] + public string PurchaseOrderTypeCode_06 { + get; + set; + } + /// + /// Request for Quote Type Code + /// + [DataMember] + [DataElement("960", typeof(X12_ID_960))] + [Pos(7)] + public string RequestforQuoteTypeCode_07 { + get; + set; + } + /// + /// Contract Type Code + /// + [DataMember] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(8)] + public string ContractTypeCode_08 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(9)] + public string SecurityLevelCode_09 { + get; + set; + } + /// + /// Purchase Category + /// + [DataMember] + [DataElement("1232", typeof(X12_ID_1232))] + [Pos(10)] + public string PurchaseCategory_10 { + get; + set; + } + /// + /// Change Order Sequence Number + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("327", typeof(X12_AN))] + [Pos(11)] + public string ChangeOrderSequenceNumber_11 { + get; + set; + } + } + + /// + /// Beginning Segment for Material Management + /// + [Serializable()] + [DataContract()] + [Segment("BR")] + public class BR { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(2)] + public string TransactionTypeCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(5)] + public string IdentificationCodeQualifier_05 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(6)] + public string ActionCode_06 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(7)] + public string ReferenceIdentificationQualifier_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(9)] + public string Time_09 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(10)] + public string ReferenceIdentificationQualifier_10 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(11)] + public string ReferenceIdentification_11 { + get; + set; + } + } + + /// + /// Beginning Segment for Receiving Advice or Acceptance Certificate + /// + [Serializable()] + [DataContract()] + [Segment("BRA")] + public class BRA { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(3)] + public string TransactionSetPurposeCode_03 { + get; + set; + } + /// + /// Receiving Advice or Acceptance Certificate Type Code + /// + [DataMember] + [Required] + [DataElement("962", typeof(X12_ID_962))] + [Pos(4)] + public string ReceivingAdviceorAcceptanceCertificateTypeCode_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Receiving Condition Code + /// + [DataMember] + [DataElement("412", typeof(X12_ID_412))] + [Pos(6)] + public string ReceivingConditionCode_06 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(7)] + public string ActionCode_07 { + get; + set; + } + } + + /// + /// Beginning Segment for Response to Product Transfer Account Adjustment + /// + [Serializable()] + [DataContract()] + [Segment("BRC")] + public class BRC { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + } + + /// + /// Beginning Segment for Railroad Mark Register Update Activity + /// + [Serializable()] + [DataContract()] + [Segment("BRR")] + public class BRR { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + } + + /// + /// Beginning Segment for Commission Sales Report + /// + [Serializable()] + [DataContract()] + [Segment("BSC")] + public class BSC { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + } + + /// + /// Breakdown Structure Description + /// + [Serializable()] + [DataContract()] + [Segment("BSD")] + public class BSD { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Level + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1178", typeof(X12_AN))] + [Pos(4)] + public string Level_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Breakdown Structure Detail Code + /// + [DataMember] + [DataElement("1196", typeof(X12_ID_1196))] + [Pos(6)] + public string BreakdownStructureDetailCode_06 { + get; + set; + } + /// + /// Level + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1178", typeof(X12_AN))] + [Pos(7)] + public string Level_07 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(8)] + public string SecurityLevelCode_08 { + get; + set; + } + } + + /// + /// Business Function + /// + [Serializable()] + [DataContract()] + [Segment("BSF")] + public class BSF { + + /// + /// Class of Trade Code + /// + [DataMember] + [DataElement("687", typeof(X12_ID_687))] + [Pos(1)] + public string ClassofTradeCode_01 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(2)] + public string CodeListQualifierCode_02 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(3)] + public string IndustryCode_03 { + get; + set; + } + } + + /// + /// Beginning Segment for Order Status Inquiry + /// + [Serializable()] + [DataContract()] + [Segment("BSI")] + public class BSI { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Order/Item Code + /// + [DataMember] + [Required] + [DataElement("847", typeof(X12_ID_847))] + [Pos(3)] + public string OrderItemCode_03 { + get; + set; + } + /// + /// Product/Date Code + /// + [DataMember] + [DataElement("848", typeof(X12_ID_848))] + [Pos(4)] + public string ProductDateCode_04 { + get; + set; + } + /// + /// Location Code + /// + [DataMember] + [DataElement("849", typeof(X12_ID_849))] + [Pos(5)] + public string LocationCode_05 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(6)] + public string Time_06 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(7)] + public string TransactionSetPurposeCode_07 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(8)] + public string TransactionTypeCode_08 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(9)] + public string ActionCode_09 { + get; + set; + } + } + + /// + /// Beginning Segment for Ship Notice + /// + [Serializable()] + [DataContract()] + [Segment("BSN")] + public class BSN { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Shipment Identification + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("396", typeof(X12_AN))] + [Pos(2)] + public string ShipmentIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// Hierarchical Structure Code + /// + [DataMember] + [DataElement("1005", typeof(X12_ID_1005))] + [Pos(5)] + public string HierarchicalStructureCode_05 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(6)] + public string TransactionTypeCode_06 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(7)] + public string StatusReasonCode_07 { + get; + set; + } + } + + /// + /// Beginning Segment for Order Status Report + /// + [Serializable()] + [DataContract()] + [Segment("BSR")] + public class BSR { + + /// + /// Status Report Code + /// + [DataMember] + [Required] + [DataElement("850", typeof(X12_ID_850))] + [Pos(1)] + public string StatusReportCode_01 { + get; + set; + } + /// + /// Order/Item Code + /// + [DataMember] + [Required] + [DataElement("847", typeof(X12_ID_847))] + [Pos(2)] + public string OrderItemCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Product/Date Code + /// + [DataMember] + [DataElement("848", typeof(X12_ID_848))] + [Pos(5)] + public string ProductDateCode_05 { + get; + set; + } + /// + /// Location Code + /// + [DataMember] + [DataElement("849", typeof(X12_ID_849))] + [Pos(6)] + public string LocationCode_06 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(7)] + public string Time_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(10)] + public string Time_10 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(11)] + public string TransactionSetPurposeCode_11 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(12)] + public string ActionCode_12 { + get; + set; + } + } + + /// + /// Beginning Segment for Shipping Schedule/Production Sequence + /// + [Serializable()] + [DataContract()] + [Segment("BSS")] + public class BSS { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Schedule Type Qualifier + /// + [DataMember] + [Required] + [DataElement("675", typeof(X12_ID_675))] + [Pos(4)] + public string ScheduleTypeQualifier_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(7)] + public string ReleaseNumber_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(9)] + public string ContracCAumber_09 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(10)] + public string PurchaseOrderNumber_10 { + get; + set; + } + /// + /// Schedule Quantity Qualifier + /// + [DataMember] + [DataElement("676", typeof(X12_ID_676))] + [Pos(11)] + public string ScheduleQuantityQualifier_11 { + get; + set; + } + } + + /// + /// Batch Totals + /// + [Serializable()] + [DataContract()] + [Segment("BT1")] + public class BT1 { + + /// + /// Transaction Set Identifier Code + /// + [DataMember] + [Required] + [DataElement("143", typeof(X12_ID_143))] + [Pos(1)] + public string TransactionSetIdentifierCode_01 { + get; + set; + } + /// + /// Number of Transaction Sets Totaled + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("515", typeof(X12_N0))] + [Pos(2)] + public string NumberofTransactionSetsTotaled_02 { + get; + set; + } + /// + /// Total Qualifier + /// + [DataMember] + [Required] + [DataElement("516", typeof(X12_ID_516))] + [Pos(3)] + public string TotalQualifier_03 { + get; + set; + } + /// + /// Data Element Totaled + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("517", typeof(X12_AN))] + [Pos(4)] + public string DataElementTotaled_04 { + get; + set; + } + /// + /// Total + /// + [DataMember] + [Required] + [StringLength(1, 11)] + [DataElement("518", typeof(X12_R))] + [Pos(5)] + public string Total_05 { + get; + set; + } + /// + /// Total Qualifier + /// + [DataMember] + [DataElement("516", typeof(X12_ID_516))] + [Pos(6)] + public string TotalQualifier_06 { + get; + set; + } + /// + /// Data Element Totaled + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("517", typeof(X12_AN))] + [Pos(7)] + public string DataElementTotaled_07 { + get; + set; + } + /// + /// Total + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("518", typeof(X12_R))] + [Pos(8)] + public string Total_08 { + get; + set; + } + /// + /// Total Qualifier + /// + [DataMember] + [DataElement("516", typeof(X12_ID_516))] + [Pos(9)] + public string TotalQualifier_09 { + get; + set; + } + /// + /// Data Element Totaled + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("517", typeof(X12_AN))] + [Pos(10)] + public string DataElementTotaled_10 { + get; + set; + } + /// + /// Total + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("518", typeof(X12_R))] + [Pos(11)] + public string Total_11 { + get; + set; + } + } + + /// + /// Beginning Tax Acknowledgment + /// + [Serializable()] + [DataContract()] + [Segment("BTA")] + public class BTA { + + /// + /// Acknowledgment Type + /// + [DataMember] + [Required] + [DataElement("587", typeof(X12_ID_587))] + [Pos(1)] + public string AcknowledgmentType_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(3)] + public string AmountQualifierCode_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + } + + /// + /// Beginning Segment for Parameter Trace Registration + /// + [Serializable()] + [DataContract()] + [Segment("BTC")] + public class BTC { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Parameter Trace Registration Type Code + /// + [DataMember] + [Required] + [DataElement("1491", typeof(X12_ID_1491))] + [Pos(2)] + public string ParameterTraceRegistrationTypeCode_02 { + get; + set; + } + /// + /// Parameter Trace Type Code + /// + [DataMember] + [Required] + [DataElement("1492", typeof(X12_ID_1492))] + [Pos(3)] + public string ParameterTraceTypeCode_03 { + get; + set; + } + /// + /// Output Event Selection Code + /// + [DataMember] + [Required] + [DataElement("1493", typeof(X12_ID_1493))] + [Pos(4)] + public string OutputEventSelectionCode_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(9)] + public string Count_09 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(10)] + public string IdentificationCode_10 { + get; + set; + } + /// + /// Association of American Railroads (AAR) Pool Code + /// + [DataMember] + [StringLength(7, 7)] + [DataElement("1011", typeof(X12_AN))] + [Pos(11)] + public string AssociationofAmericanRailroadsAARPoolCode_11 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(12)] + public string IndustryCode_12 { + get; + set; + } + } + + /// + /// Beginning Tax Information + /// + [Serializable()] + [DataContract()] + [Segment("BTI")] + public class BTI { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(3)] + public string IdentificationCodeQualifier_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Name Control Identifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("818", typeof(X12_AN))] + [Pos(6)] + public string NameControlIdentifier_06 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(7)] + public string IdentificationCodeQualifier_07 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(8)] + public string IdentificationCode_08 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(9)] + public string IdentificationCodeQualifier_09 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(10)] + public string IdentificationCode_10 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(11)] + public string IdentificationCodeQualifier_11 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(12)] + public string IdentificationCode_12 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(13)] + public string TransactionSetPurposeCode_13 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(14)] + public string TransactionTypeCode_14 { + get; + set; + } + } + + /// + /// Beginning Segment For Trading ParCAer Profile + /// + [Serializable()] + [DataContract()] + [Segment("BTP")] + public class BTP { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(5)] + public string TransactionTypeCode_05 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(6)] + public string TransactionSetPurposeCode_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(9)] + public string Time_09 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("591", typeof(X12_ID_591))] + [Pos(10)] + public string PaymentMethodCode_10 { + get; + set; + } + } + + /// + /// Beginning Segment for Test Results + /// + [Serializable()] + [DataContract()] + [Segment("BTR")] + public class BTR { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Report Type Code + /// + [DataMember] + [DataElement("755", typeof(X12_ID_755))] + [Pos(4)] + public string ReportTypeCode_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(7)] + public string SecurityLevelCode_07 { + get; + set; + } + } + + /// + /// Beginning Segment for Train Sheets + /// + [Serializable()] + [DataContract()] + [Segment("BTS")] + public class BTS { + + /// + /// Interchange Train Identification + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(1)] + public string InterchangeTrainIdentification_01 { + get; + set; + } + /// + /// Total Equipment + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("86", typeof(X12_N0))] + [Pos(2)] + public string TotalEquipment_02 { + get; + set; + } + /// + /// Equipment Status Code + /// + [DataMember] + [Required] + [DataElement("578", typeof(X12_ID_578))] + [Pos(3)] + public string EquipmentStatusCode_03 { + get; + set; + } + /// + /// Total Equipment + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("86", typeof(X12_N0))] + [Pos(4)] + public string TotalEquipment_04 { + get; + set; + } + /// + /// Equipment Status Code + /// + [DataMember] + [Required] + [DataElement("578", typeof(X12_ID_578))] + [Pos(5)] + public string EquipmentStatusCode_05 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(6)] + public string Weight_06 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(7)] + public string Length_07 { + get; + set; + } + /// + /// Horsepower + /// + [DataMember] + [Required] + [StringLength(1, 16)] + [DataElement("1272", typeof(X12_N0))] + [Pos(8)] + public string Horsepower_08 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(9)] + public string StandardCarrierAlphaCode_09 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(10)] + public string TransactionSetPurposeCode_10 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(11)] + public string ServiceLevelCode_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + } + + /// + /// Loan Buydown + /// + [Serializable()] + [DataContract()] + [Segment("BUY")] + public class BUY { + + /// + /// Loan Buydown Type Code + /// + [DataMember] + [Required] + [DataElement("1084", typeof(X12_ID_1084))] + [Pos(1)] + public string LoanBuydownTypeCode_01 { + get; + set; + } + /// + /// Buydown Source Code + /// + [DataMember] + [Required] + [DataElement("1091", typeof(X12_ID_1091))] + [Pos(2)] + public string BuydownSourceCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + } + + /// + /// Beginning Vehicle Advice + /// + [Serializable()] + [DataContract()] + [Segment("BVA")] + public class BVA { + + /// + /// Payment Type Code + /// + [DataMember] + [Required] + [DataElement("1236", typeof(X12_ID_1236))] + [Pos(1)] + public string PaymentTypeCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(3)] + public string IdentificationCodeQualifier_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(6)] + public string InvoiceNumber_06 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(7)] + public string IdentificationCodeQualifier_07 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(8)] + public string IdentificationCode_08 { + get; + set; + } + /// + /// Vehicle Service Code + /// + [DataMember] + [DataElement("1062", typeof(X12_ID_1062))] + [Pos(9)] + public string VehicleServiceCode_09 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(10)] + public string IdentificationCodeQualifier_10 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(11)] + public string IdentificationCode_11 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(12)] + public string CurrencyCode_12 { + get; + set; + } + /// + /// Lading Description Qualifier + /// + [DataMember] + [DataElement("592", typeof(X12_ID_592))] + [Pos(13)] + public string LadingDescriptionQualifier_13 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(14)] + public string Date_14 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(15)] + public string ReferenceIdentification_15 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(16)] + public string Date_16 { + get; + set; + } + /// + /// Check Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("429", typeof(X12_AN))] + [Pos(17)] + public string CheckNumber_17 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(18)] + public string EquipmentInitial_18 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(19)] + public string EquipmenCAumber_19 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(20)] + public string EquipmentDescriptionCode_20 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(21)] + public string Quantity_21 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(22)] + public string ShipmentIdentificationNumber_22 { + get; + set; + } + /// + /// Flight/Voyage Number + /// + [DataMember] + [StringLength(2, 10)] + [DataElement("55", typeof(X12_AN))] + [Pos(23)] + public string FlightVoyageNumber_23 { + get; + set; + } + /// + /// Vehicle Status + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1094", typeof(X12_AN))] + [Pos(24)] + public string VehicleStatus_24 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(25)] + public string TransactionSetPurposeCode_25 { + get; + set; + } + } + + /// + /// Beginning Segment for Vehicle Baying Order + /// + [Serializable()] + [DataContract()] + [Segment("BVB")] + public class BVB { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + /// + /// Bay Type Code + /// + [DataMember] + [DataElement("1238", typeof(X12_ID_1238))] + [Pos(4)] + public string BayTypeCode_04 { + get; + set; + } + /// + /// Capacity Qualifier + /// + [DataMember] + [DataElement("1239", typeof(X12_ID_1239))] + [Pos(5)] + public string CapacityQualifier_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(7)] + public string TransactionSetPurposeCode_07 { + get; + set; + } + } + + /// + /// Beginning Segment for Vehicle Shipping Order + /// + [Serializable()] + [DataContract()] + [Segment("BVP")] + public class BVP { + + /// + /// Vehicle Production Status + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("1056", typeof(X12_AN))] + [Pos(1)] + public string VehicleProductionStatus_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(4)] + public string IdentificationCodeQualifier_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + /// + /// Vehicle Service Code + /// + [DataMember] + [DataElement("1062", typeof(X12_ID_1062))] + [Pos(6)] + public string VehicleServiceCode_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Vehicle Status + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1094", typeof(X12_AN))] + [Pos(8)] + public string VehicleStatus_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(11)] + public string TransactionSetPurposeCode_11 { + get; + set; + } + } + + /// + /// Beginning Segment for Vehicle Service + /// + [Serializable()] + [DataContract()] + [Segment("BVS")] + public class BVS { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Vehicle Service Code + /// + [DataMember] + [DataElement("1062", typeof(X12_ID_1062))] + [Pos(5)] + public string VehicleServiceCode_05 { + get; + set; + } + /// + /// Vehicle Status + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1094", typeof(X12_AN))] + [Pos(6)] + public string VehicleStatus_06 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(7)] + public string InvoiceNumber_07 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(8)] + public string IdentificationCodeQualifier_08 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(9)] + public string IdentificationCode_09 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(10)] + public string BillofLadingWaybillNumber_10 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(11)] + public string AccounCAumber_11 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(12)] + public string ReferenceIdentification_12 { + get; + set; + } + } + + /// + /// Beginning Segment for Weight Message Set + /// + [Serializable()] + [DataContract()] + [Segment("BW")] + public class BW { + + /// + /// Origin EDI Carrier Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("298", typeof(X12_AN))] + [Pos(1)] + public string OriginEDICarrierCode_01 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(2)] + public string ShipmentIdentificationNumber_02 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [Required] + [DataElement("188", typeof(X12_ID_188))] + [Pos(3)] + public string WeightUnitCode_03 { + get; + set; + } + } + + /// + /// General Shipment Information + /// + [Serializable()] + [DataContract()] + [Segment("BX")] + public class BX { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(2)] + public string TransportationMethodTypeCode_02 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(3)] + public string ShipmentMethodofPayment_03 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(4)] + public string ShipmentIdentificationNumber_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(6)] + public string WeightUnitCode_06 { + get; + set; + } + /// + /// Shipment Qualifier + /// + [DataMember] + [DataElement("147", typeof(X12_ID_147))] + [Pos(7)] + public string ShipmentQualifier_07 { + get; + set; + } + /// + /// Section Seven Code + /// + [DataMember] + [DataElement("226", typeof(X12_ID_226))] + [Pos(8)] + public string SectionSevenCode_08 { + get; + set; + } + /// + /// Capacity Load Code + /// + [DataMember] + [DataElement("195", typeof(X12_ID_195))] + [Pos(9)] + public string CapacityLoadCode_09 { + get; + set; + } + /// + /// Status Report Request Code + /// + [DataMember] + [DataElement("160", typeof(X12_ID_160))] + [Pos(10)] + public string StatusReportRequestCode_10 { + get; + set; + } + /// + /// Customs Documentation Handling Code + /// + [DataMember] + [DataElement("501", typeof(X12_ID_501))] + [Pos(11)] + public string CustomsDocumentationHandlingCode_11 { + get; + set; + } + /// + /// Confidential Billing Request Code + /// + [DataMember] + [DataElement("199", typeof(X12_ID_199))] + [Pos(12)] + public string ConfidentialBillingRequestCode_12 { + get; + set; + } + /// + /// Goods and Services Tax Reason Code + /// + [DataMember] + [DataElement("714", typeof(X12_ID_714))] + [Pos(13)] + public string GoodsandServicesTaxReasonCode_13 { + get; + set; + } + /// + /// Application Type + /// + [DataMember] + [DataElement("346", typeof(X12_ID_346))] + [Pos(14)] + public string ApplicationType_14 { + get; + set; + } + } + + /// + /// Bank ID + /// + [Serializable()] + [DataContract()] + [Segment("C2")] + public class C2 { + + /// + /// Bank Client Code + /// + [DataMember] + [Required] + [DataElement("8", typeof(X12_ID_8))] + [Pos(1)] + public string BankClientCode_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + /// + /// Client Bank Number + /// + [DataMember] + [StringLength(3, 9)] + [DataElement("20", typeof(X12_AN))] + [Pos(4)] + public string ClientBankNumber_04 { + get; + set; + } + /// + /// Bank Account Number + /// + [DataMember] + [StringLength(6, 17)] + [DataElement("7", typeof(X12_AN))] + [Pos(5)] + public string BankAccounCAumber_05 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("107", typeof(X12_ID_107))] + [Pos(6)] + public string PaymentMethodCode_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + } + + /// + /// Currency + /// + [Serializable()] + [DataContract()] + [Segment("C3")] + public class C3 { + + /// + /// Currency Code + /// + [DataMember] + [Required] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(1)] + public string CurrencyCode_01 { + get; + set; + } + /// + /// Exchange Rate + /// + [DataMember] + [StringLength(4, 10)] + [DataElement("280", typeof(X12_R))] + [Pos(2)] + public string ExchangeRate_02 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(3)] + public string CurrencyCode_03 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(4)] + public string CurrencyCode_04 { + get; + set; + } + } + + /// + /// Alternate Amount Due + /// + [Serializable()] + [DataContract()] + [Segment("C4")] + public class C4 { + + /// + /// Currency Code + /// + [DataMember] + [Required] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(1)] + public string CurrencyCode_01 { + get; + set; + } + /// + /// Net Amount Due + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("193", typeof(X12_N2))] + [Pos(2)] + public string NetAmountDue_02 { + get; + set; + } + } + + /// + /// Certifications and Clauses + /// + [Serializable()] + [DataContract()] + [Segment("C8")] + public class C8 { + + /// + /// Lading Line Item Number + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("213", typeof(X12_N0))] + [Pos(1)] + public string LadingLineItemNumber_01 { + get; + set; + } + /// + /// Certification/Clause Code + /// + [DataMember] + [DataElement("246", typeof(X12_ID_246))] + [Pos(2)] + public string CertificationClauseCode_02 { + get; + set; + } + /// + /// Certification/Clause Text + /// + [DataMember] + [StringLength(2, 60)] + [DataElement("247", typeof(X12_AN))] + [Pos(3)] + public string CertificationClauseText_03 { + get; + set; + } + /// + /// Shipper's Export Declaration Requirements + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1302", typeof(X12_AN))] + [Pos(4)] + public string ShippersExportDeclarationRequirements_04 { + get; + set; + } + } + + /// + /// Certifications Clauses Continuation + /// + [Serializable()] + [DataContract()] + [Segment("C8C")] + public class C8C { + + /// + /// Certification/Clause Text + /// + [DataMember] + [Required] + [StringLength(2, 60)] + [DataElement("247", typeof(X12_AN))] + [Pos(1)] + public string CertificationClauseText_01 { + get; + set; + } + /// + /// Certification/Clause Text + /// + [DataMember] + [StringLength(2, 60)] + [DataElement("247", typeof(X12_AN))] + [Pos(2)] + public string CertificationClauseText_02 { + get; + set; + } + /// + /// Certification/Clause Text + /// + [DataMember] + [StringLength(2, 60)] + [DataElement("247", typeof(X12_AN))] + [Pos(3)] + public string CertificationClauseText_03 { + get; + set; + } + } + + /// + /// Rate Request Identifier + /// + [Serializable()] + [DataContract()] + [Segment("CA1")] + public class CA1 { + + /// + /// Rate Request ID + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1662", typeof(X12_N0))] + [Pos(1)] + public string RateRequestID_01 { + get; + set; + } + /// + /// Rate Response Suffix + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1663", typeof(X12_N0))] + [Pos(2)] + public string RateResponseSuffix_02 { + get; + set; + } + } + + /// + /// Carrier Detail + /// + [Serializable()] + [DataContract()] + [Segment("CAD")] + public class CAD { + + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(1)] + public string TransportationMethodTypeCode_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(4)] + public string StandardCarrierAlphaCode_04 { + get; + set; + } + /// + /// Routing + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("387", typeof(X12_AN))] + [Pos(5)] + public string Routing_05 { + get; + set; + } + /// + /// Shipment/Order Status Code + /// + [DataMember] + [DataElement("368", typeof(X12_ID_368))] + [Pos(6)] + public string ShipmentOrderStatusCode_06 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(7)] + public string ReferenceIdentificationQualifier_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(9)] + public string ServiceLevelCode_09 { + get; + set; + } + } + + /// + /// Civil Action Income + /// + [Serializable()] + [DataContract()] + [Segment("CAI")] + public class CAI { + + /// + /// Public Record or Obligation Code + /// + [DataMember] + [Required] + [DataElement("1185", typeof(X12_ID_1185))] + [Pos(1)] + public string PublicRecordorObligationCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(4)] + public string AmountQualifierCode_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(6)] + public string RateValueQualifier_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + } + + /// + /// Calendar + /// + [Serializable()] + [DataContract()] + [Segment("CAL")] + public class CAL { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(3)] + public string UnitofTimePeriodorInterval_03 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(4)] + public string DateTimeQualifier_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(6)] + public string Time_06 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(7)] + public string TimeCode_07 { + get; + set; + } + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [DataElement("678", typeof(X12_ID_678))] + [Pos(8)] + public string ShipDeliveryorCalendarPatternCode_08 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(9)] + public string DateTimeQualifier_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(11)] + public string Time_11 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(12)] + public string TimeCode_12 { + get; + set; + } + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [DataElement("678", typeof(X12_ID_678))] + [Pos(13)] + public string ShipDeliveryorCalendarPatternCode_13 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(14)] + public string QuantityQualifier_14 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(15)] + public string Quantity_15 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(16)] + public string FreeformDescription_16 { + get; + set; + } + } + + /// + /// Claims Adjustment + /// + [Serializable()] + [DataContract()] + [Segment("CAS")] + public class CAS { + + /// + /// Claim Adjustment Group Code + /// + [DataMember] + [Required] + [DataElement("1033", typeof(X12_ID_1033))] + [Pos(1)] + public string ClaimAdjustmentGroupCode_01 { + get; + set; + } + /// + /// Claim Adjustment Reason Code + /// + [DataMember] + [Required] + [StringLength(1, 5)] + [DataElement("1034", typeof(X12_AN))] + [Pos(2)] + public string ClaimAdjustmentReasonCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Claim Adjustment Reason Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("1034", typeof(X12_AN))] + [Pos(5)] + public string ClaimAdjustmentReasonCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Claim Adjustment Reason Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("1034", typeof(X12_AN))] + [Pos(8)] + public string ClaimAdjustmentReasonCode_08 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(9)] + public string MonetaryAmount_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Claim Adjustment Reason Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("1034", typeof(X12_AN))] + [Pos(11)] + public string ClaimAdjustmentReasonCode_11 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(12)] + public string MonetaryAmount_12 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(13)] + public string Quantity_13 { + get; + set; + } + /// + /// Claim Adjustment Reason Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("1034", typeof(X12_AN))] + [Pos(14)] + public string ClaimAdjustmentReasonCode_14 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(15)] + public string MonetaryAmount_15 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(16)] + public string Quantity_16 { + get; + set; + } + /// + /// Claim Adjustment Reason Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("1034", typeof(X12_AN))] + [Pos(17)] + public string ClaimAdjustmentReasonCode_17 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(18)] + public string MonetaryAmount_18 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(19)] + public string Quantity_19 { + get; + set; + } + } + + /// + /// Category of Patient Information Service + /// + [Serializable()] + [DataContract()] + [Segment("CAT")] + public class CAT { + + /// + /// Report Type Code + /// + [DataMember] + [DataElement("755", typeof(X12_ID_755))] + [Pos(1)] + public string ReportTypeCode_01 { + get; + set; + } + /// + /// Report Transmission Code + /// + [DataMember] + [DataElement("756", typeof(X12_ID_756))] + [Pos(2)] + public string ReportTransmissionCode_02 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(3)] + public string VersionIdentifier_03 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(4)] + public string CodeListQualifierCode_04 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(5)] + public string IndustryCode_05 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(6)] + public string IndustryCode_06 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(7)] + public string VersionIdentifier_07 { + get; + set; + } + } + + /// + /// Contract and Cost Accounting Standards Data + /// + [Serializable()] + [DataContract()] + [Segment("CB1")] + public class CB1 { + + /// + /// Acquisition Data Code + /// + [DataMember] + [Required] + [DataElement("1309", typeof(X12_ID_1309))] + [Pos(1)] + public string AcquisitionDataCode_01 { + get; + set; + } + /// + /// Financing Type Code + /// + [DataMember] + [DataElement("1310", typeof(X12_ID_1310))] + [Pos(2)] + public string FinancingTypeCode_02 { + get; + set; + } + } + + /// + /// Cost Breakdown Structure + /// + [Serializable()] + [DataContract()] + [Segment("CBS")] + public class CBS { + + /// + /// Assigned Identification + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + } + + /// + /// Credit Counseling Information + /// + [Serializable()] + [DataContract()] + [Segment("CCI")] + public class CCI { + + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(1)] + public string IdentificationCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(7)] + public string DateTimePeriod_07 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(8)] + public string DateTimePeriod_08 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(9)] + public string MonetaryAmount_09 { + get; + set; + } + /// + /// Counseling Status Code + /// + [DataMember] + [DataElement("483", typeof(X12_ID_483))] + [Pos(10)] + public string CounselingStatusCode_10 { + get; + set; + } + } + + /// + /// Shipment Conditions + /// + [Serializable()] + [DataContract()] + [Segment("CD")] + public class CD { + + /// + /// Condition Segment Logical Connector + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("495", typeof(X12_AN))] + [Pos(1)] + public string ConditionSegmentLogicalConnector_01 { + get; + set; + } + /// + /// Condition Code + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("498", typeof(X12_AN))] + [Pos(2)] + public string ConditionCode_02 { + get; + set; + } + /// + /// Condition Value + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("499", typeof(X12_AN))] + [Pos(3)] + public string ConditionValue_03 { + get; + set; + } + /// + /// Condition Value + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("499", typeof(X12_AN))] + [Pos(4)] + public string ConditionValue_04 { + get; + set; + } + /// + /// Condition Value + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("499", typeof(X12_AN))] + [Pos(5)] + public string ConditionValue_05 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(6)] + public string AssignedNumber_06 { + get; + set; + } + /// + /// Change Type Code + /// + [DataMember] + [DataElement("259", typeof(X12_ID_259))] + [Pos(7)] + public string ChangeTypeCode_07 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(8)] + public string StandardCarrierAlphaCode_08 { + get; + set; + } + /// + /// Docket Control Number + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("697", typeof(X12_AN))] + [Pos(9)] + public string DocketControlNumber_09 { + get; + set; + } + /// + /// Docket Identification + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("690", typeof(X12_AN))] + [Pos(10)] + public string DocketIdentification_10 { + get; + set; + } + /// + /// Group Title + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("260", typeof(X12_AN))] + [Pos(11)] + public string GroupTitle_11 { + get; + set; + } + } + + /// + /// Cargo Detail + /// + [Serializable()] + [DataContract()] + [Segment("CD1")] + public class CD1 { + + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Equipment Type + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("24", typeof(X12_AN))] + [Pos(3)] + public string EquipmentType_03 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(4)] + public string BillofLadingWaybillNumber_04 { + get; + set; + } + /// + /// Type of Service Code + /// + [DataMember] + [Required] + [DataElement("56", typeof(X12_ID_56))] + [Pos(5)] + public string TypeofServiceCode_05 { + get; + set; + } + /// + /// Hazardous Material Code Qualifier + /// + [DataMember] + [DataElement("208", typeof(X12_ID_208))] + [Pos(6)] + public string HazardousMaterialCodeQualifier_06 { + get; + set; + } + /// + /// Hazardous Material Class Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("209", typeof(X12_AN))] + [Pos(7)] + public string HazardousMaterialClassCode_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(9)] + public string LocationIdentifier_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Packaging Code + /// + [DataMember] + [Required] + [StringLength(3, 5)] + [DataElement("103", typeof(X12_AN))] + [Pos(11)] + public string PackagingCode_11 { + get; + set; + } + /// + /// Disposition Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("35", typeof(X12_AN))] + [Pos(12)] + public string DispositionCode_12 { + get; + set; + } + /// + /// Disposition Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("35", typeof(X12_AN))] + [Pos(13)] + public string DispositionCode_13 { + get; + set; + } + /// + /// Disposition Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("35", typeof(X12_AN))] + [Pos(14)] + public string DispositionCode_14 { + get; + set; + } + /// + /// Rate Class Code + /// + [DataMember] + [DataElement("121", typeof(X12_ID_121))] + [Pos(15)] + public string RateClassCode_15 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(16)] + public string RateValueQualifier_16 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(17)] + public string Rate_17 { + get; + set; + } + /// + /// Rate Class Code + /// + [DataMember] + [DataElement("121", typeof(X12_ID_121))] + [Pos(18)] + public string RateClassCode_18 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(19)] + public string RateValueQualifier_19 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(20)] + public string Rate_20 { + get; + set; + } + /// + /// Rate Class Code + /// + [DataMember] + [DataElement("121", typeof(X12_ID_121))] + [Pos(21)] + public string RateClassCode_21 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(22)] + public string RateValueQualifier_22 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(23)] + public string Rate_23 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(24)] + public string DateTimeQualifier_24 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(25)] + public string Date_25 { + get; + set; + } + /// + /// Shipment Status Code + /// + [DataMember] + [DataElement("157", typeof(X12_ID_157))] + [Pos(26)] + public string ShipmentStatusCode_26 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(27)] + public string StandardCarrierAlphaCode_27 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(28)] + public string ReferenceIdentificationQualifier_28 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(29)] + public string ReferenceIdentification_29 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(30)] + public string ReferenceIdentificationQualifier_30 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(31)] + public string ReferenceIdentification_31 { + get; + set; + } + } + + /// + /// Multi-Valued Characteristics + /// + [Serializable()] + [DataContract()] + [Segment("CD2")] + public class CD2 { + + /// + /// Code Category + /// + [DataMember] + [Required] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Medical Code Value + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("1137", typeof(X12_AN))] + [Pos(3)] + public string MedicalCodeValue_03 { + get; + set; + } + /// + /// Medical Code Value + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1137", typeof(X12_AN))] + [Pos(4)] + public string MedicalCodeValue_04 { + get; + set; + } + /// + /// Medical Code Value + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1137", typeof(X12_AN))] + [Pos(5)] + public string MedicalCodeValue_05 { + get; + set; + } + /// + /// Medical Code Value + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1137", typeof(X12_AN))] + [Pos(6)] + public string MedicalCodeValue_06 { + get; + set; + } + /// + /// Medical Code Value + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1137", typeof(X12_AN))] + [Pos(7)] + public string MedicalCodeValue_07 { + get; + set; + } + /// + /// Medical Code Value + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1137", typeof(X12_AN))] + [Pos(8)] + public string MedicalCodeValue_08 { + get; + set; + } + } + + /// + /// Carton (Package) Detail + /// + [Serializable()] + [DataContract()] + [Segment("CD3")] + public class CD3 { + + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(1)] + public string WeightQualifier_01 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(2)] + public string Weight_02 { + get; + set; + } + /// + /// Zone + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("619", typeof(X12_AN))] + [Pos(3)] + public string Zone_03 { + get; + set; + } + /// + /// Service Standard + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("34", typeof(X12_N1))] + [Pos(4)] + public string ServiceStandard_04 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(5)] + public string ServiceLevelCode_05 { + get; + set; + } + /// + /// Pick-up or Delivery Code + /// + [DataMember] + [DataElement("108", typeof(X12_ID_108))] + [Pos(6)] + public string PickuporDeliveryCode_06 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(7)] + public string RateValueQualifier_07 { + get; + set; + } + /// + /// Charge + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("58", typeof(X12_N2))] + [Pos(8)] + public string Charge_08 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(9)] + public string RateValueQualifier_09 { + get; + set; + } + /// + /// Charge + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("58", typeof(X12_N2))] + [Pos(10)] + public string Charge_10 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(11)] + public string ServiceLevelCode_11 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(12)] + public string ServiceLevelCode_12 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("591", typeof(X12_ID_591))] + [Pos(13)] + public string PaymentMethodCode_13 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(14)] + public string CountryCode_14 { + get; + set; + } + } + + /// + /// Consumer Credit Account + /// + [Serializable()] + [DataContract()] + [Segment("CDA")] + public class CDA { + + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(1)] + public string AccounCAumber_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Type of Account Code + /// + [DataMember] + [DataElement("1187", typeof(X12_ID_1187))] + [Pos(6)] + public string TypeofAccountCode_06 { + get; + set; + } + /// + /// Type of Credit Account Code + /// + [DataMember] + [DataElement("1189", typeof(X12_ID_1189))] + [Pos(7)] + public string TypeofCreditAccountCode_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(10)] + public string DateTimePeriodFormatQualifier_10 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(11)] + public string DateTimePeriod_11 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(12)] + public string DateTimePeriod_12 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(13)] + public string DateTimePeriod_13 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(14)] + public string DateTimePeriod_14 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(15)] + public string DateTimePeriod_15 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(16)] + public string Description_16 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(17)] + public string ReferenceIdentification_17 { + get; + set; + } + /// + /// Loan Type Code + /// + [DataMember] + [DataElement("1262", typeof(X12_ID_1262))] + [Pos(18)] + public string LoanTypeCode_18 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(19)] + public string FrequencyCode_19 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(20)] + public string ReferenceIdentification_20 { + get; + set; + } + } + + /// + /// Credit/Debit Adjustment Detail + /// + [Serializable()] + [DataContract()] + [Segment("CDD")] + public class CDD { + + /// + /// Adjustment Reason Code + /// + [DataMember] + [Required] + [DataElement("426", typeof(X12_ID_426))] + [Pos(1)] + public string AdjustmentReasonCode_01 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [Required] + [DataElement("478", typeof(X12_ID_478))] + [Pos(2)] + public string CreditDebitFlagCode_02 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(3)] + public string AssignedIdentification_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + /// + /// Price Bracket Identifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("417", typeof(X12_AN))] + [Pos(6)] + public string PriceBracketIdentifier_06 { + get; + set; + } + /// + /// Credit/Debit Quantity + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("477", typeof(X12_R))] + [Pos(7)] + public string CreditDebitQuantity_07 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(8)] + public string UnitorBasisforMeasurementCode_08 { + get; + set; + } + /// + /// Unit Price Difference + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("427", typeof(X12_R))] + [Pos(9)] + public string UnitPriceDifference_09 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(10)] + public string PriceIdentifierCode_10 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(11)] + public string UnitPrice_11 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(12)] + public string PriceIdentifierCode_12 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(13)] + public string UnitPrice_13 { + get; + set; + } + } + + /// + /// Change Detail Information + /// + [Serializable()] + [DataContract()] + [Segment("CDI")] + public class CDI { + + /// + /// Option Type Code + /// + [DataMember] + [DataElement("1552", typeof(X12_ID_1552))] + [Pos(1)] + public string OptionTypeCode_01 { + get; + set; + } + /// + /// Conditions Indicated + /// + [DataMember] + [Pos(2)] + public C045 ConditionsIndicated_02 { + get; + set; + } + /// + /// Convertibility Rate Type Code + /// + [DataMember] + [DataElement("1549", typeof(X12_ID_1549))] + [Pos(3)] + public string ConvertibilityRateTypeCode_03 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(4)] + public string StatusReasonCode_04 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(5)] + public string RateValueQualifier_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(8)] + public string Number_08 { + get; + set; + } + /// + /// Index Identity Code + /// + [DataMember] + [DataElement("1089", typeof(X12_ID_1089))] + [Pos(9)] + public string IndexIdentityCode_09 { + get; + set; + } + /// + /// Primary Source of Index Code + /// + [DataMember] + [DataElement("1681", typeof(X12_ID_1681))] + [Pos(10)] + public string PrimarySourceofIndexCode_10 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(11)] + public string Description_11 { + get; + set; + } + } + + /// + /// Case Description + /// + [Serializable()] + [DataContract()] + [Segment("CDS")] + public class CDS { + + /// + /// Case Type Code + /// + [DataMember] + [Required] + [DataElement("1008", typeof(X12_ID_1008))] + [Pos(1)] + public string CaseTypeCode_01 { + get; + set; + } + /// + /// Administration of Justice Organization Type Code + /// + [DataMember] + [Required] + [DataElement("1009", typeof(X12_ID_1009))] + [Pos(2)] + public string AdministrationofJusticeOrganizationTypeCode_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(6)] + public string IdentificationCodeQualifier_06 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(7)] + public string IdentificationCode_07 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(8)] + public string IdentificationCodeQualifier_08 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(9)] + public string IdentificationCode_09 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(10)] + public string IdentificationCodeQualifier_10 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(11)] + public string IdentificationCode_11 { + get; + set; + } + } + + /// + /// Administration of Justice Event Description + /// + [Serializable()] + [DataContract()] + [Segment("CED")] + public class CED { + + /// + /// Administration of Justice Event Type Code + /// + [DataMember] + [Required] + [DataElement("1012", typeof(X12_ID_1012))] + [Pos(1)] + public string AdministrationofJusticeEventTypeCode_01 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(2)] + public string ActionCode_02 { + get; + set; + } + /// + /// Notice Type Code + /// + [DataMember] + [DataElement("1013", typeof(X12_ID_1013))] + [Pos(3)] + public string NoticeTypeCode_03 { + get; + set; + } + /// + /// Case Type Code + /// + [DataMember] + [DataElement("1008", typeof(X12_ID_1008))] + [Pos(4)] + public string CaseTypeCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + } + + /// + /// Beginning Segment for Summary Freight Bill Manifest + /// + [Serializable()] + [DataContract()] + [Segment("CF1")] + public class CF1 { + + /// + /// Master Reference (Link) Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("474", typeof(X12_AN))] + [Pos(1)] + public string MasterReferenceLinkNumber_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(4)] + public string Count_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + } + + /// + /// Summary Freight Bill Detail + /// + [Serializable()] + [DataContract()] + [Segment("CF2")] + public class CF2 { + + /// + /// Invoice Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(1)] + public string InvoiceNumber_01 { + get; + set; + } + /// + /// Net Amount Due + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("193", typeof(X12_N2))] + [Pos(2)] + public string NetAmountDue_02 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(3)] + public string ShipmentIdentificationNumber_03 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [DataElement("146", typeof(X12_ID_146))] + [Pos(4)] + public string ShipmentMethodofPayment_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(7)] + public string WeightQualifier_07 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(8)] + public string WeightUnitCode_08 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(9)] + public string Weight_09 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(10)] + public string TransactionTypeCode_10 { + get; + set; + } + } + + /// + /// Cost Reporting Format Type + /// + [Serializable()] + [DataContract()] + [Segment("CFT")] + public class CFT { + + /// + /// Report Type Code + /// + [DataMember] + [Required] + [DataElement("755", typeof(X12_ID_755))] + [Pos(1)] + public string ReportTypeCode_01 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(2)] + public C001 CompositeUnitofMeasure_02 { + get; + set; + } + /// + /// Contracting Funding Code + /// + [DataMember] + [DataElement("1198", typeof(X12_ID_1198))] + [Pos(3)] + public string ContractingFundingCode_03 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(4)] + public string DateTimeQualifier_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(6)] + public string DateTimeQualifier_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Appropriation Code + /// + [DataMember] + [DataElement("1199", typeof(X12_ID_1199))] + [Pos(8)] + public string AppropriationCode_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + } + + /// + /// Charge + /// + [Serializable()] + [DataContract()] + [Segment("CGS")] + public class CGS { + + /// + /// Charge + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("58", typeof(X12_N2))] + [Pos(1)] + public string Charge_01 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(2)] + public string CurrencyCode_02 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(3)] + public string DateTimeQualifier_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [DataElement("150", typeof(X12_ID_150))] + [Pos(5)] + public string SpecialChargeorAllowanceCode_05 { + get; + set; + } + } + + /// + /// Chargeback Information + /// + [Serializable()] + [DataContract()] + [Segment("CHB")] + public class CHB { + + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(1)] + public string LocationQualifier_01 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(2)] + public string LocationIdentifier_02 { + get; + set; + } + /// + /// Reason Stopped Work Code + /// + [DataMember] + [DataElement("1468", typeof(X12_ID_1468))] + [Pos(3)] + public string ReasonStoppedWorkCode_03 { + get; + set; + } + /// + /// Claim Type Code + /// + [DataMember] + [DataElement("1017", typeof(X12_ID_1017))] + [Pos(4)] + public string ClaimTypeCode_04 { + get; + set; + } + /// + /// Claim Status Code + /// + [DataMember] + [DataElement("1029", typeof(X12_ID_1029))] + [Pos(5)] + public string ClaimStatusCode_05 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(6)] + public string EntityIdentifierCode_06 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [DataElement("478", typeof(X12_ID_478))] + [Pos(7)] + public string CreditDebitFlagCode_07 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(8)] + public string IndustryCode_08 { + get; + set; + } + /// + /// Allowance or Charge Indicator + /// + [DataMember] + [DataElement("248", typeof(X12_ID_248))] + [Pos(9)] + public string AllowanceorChargeIndicator_09 { + get; + set; + } + } + + /// + /// Car Hire Rates + /// + [Serializable()] + [DataContract()] + [Segment("CHR")] + public class CHR { + + /// + /// Rate Source + /// + [DataMember] + [Required] + [DataElement("1007", typeof(X12_ID_1007))] + [Pos(1)] + public string RateSource_01 { + get; + set; + } + /// + /// Billed/Rated-as Qualifier + /// + [DataMember] + [Required] + [DataElement("221", typeof(X12_ID_221))] + [Pos(2)] + public string BilledRatedasQualifier_02 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(3)] + public string Multiplier_03 { + get; + set; + } + } + + /// + /// Carrier Interchange Agreement + /// + [Serializable()] + [DataContract()] + [Segment("CI")] + public class CI { + + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(1)] + public string Name_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(3)] + public string IdentificationCodeQualifier_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(5)] + public string IdentificationCodeQualifier_05 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(6)] + public string IdentificationCode_06 { + get; + set; + } + /// + /// Interchange Agreement Status Code + /// + [DataMember] + [DataElement("772", typeof(X12_ID_772))] + [Pos(7)] + public string InterchangeAgreementStatusCode_07 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(8)] + public string DateTimeQualifier_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(10)] + public string DateTimeQualifier_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(12)] + public string Name_12 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(13)] + public string ReferenceIdentificationQualifier_13 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(14)] + public string ReferenceIdentification_14 { + get; + set; + } + } + + /// + /// Car Information Control + /// + [Serializable()] + [DataContract()] + [Segment("CIC")] + public class CIC { + + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(3)] + public string CarTypeCode_03 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(4)] + public string EquipmenCAumber_04 { + get; + set; + } + /// + /// Mechanical Car Code + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("1482", typeof(X12_AN))] + [Pos(5)] + public string MechanicalCarCode_05 { + get; + set; + } + } + + /// + /// Characteristic/Class ID + /// + [Serializable()] + [DataContract()] + [Segment("CID")] + public class CID { + + /// + /// Measurement Qualifier + /// + [DataMember] + [DataElement("738", typeof(X12_ID_738))] + [Pos(1)] + public string MeasurementQualifier_01 { + get; + set; + } + /// + /// Product/Process Characteristic Code + /// + [DataMember] + [DataElement("750", typeof(X12_ID_750))] + [Pos(2)] + public string ProductProcessCharacteristicCode_02 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(3)] + public string AgencyQualifierCode_03 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(4)] + public string ProductDescriptionCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(6)] + public string SourceSubqualifier_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + } + + /// + /// Civil Action Liability + /// + [Serializable()] + [DataContract()] + [Segment("CIV")] + public class CIV { + + /// + /// Public Record or Obligation Code + /// + [DataMember] + [Required] + [DataElement("1185", typeof(X12_ID_1185))] + [Pos(1)] + public string PublicRecordorObligationCode_01 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(2)] + public string AmountQualifierCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(4)] + public string RateValueQualifier_04 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(5)] + public string Name_05 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(6)] + public string Name_06 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(7)] + public string ReferenceIdentificationQualifier_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(9)] + public string CityName_09 { + get; + set; + } + /// + /// County Designator + /// + [DataMember] + [StringLength(5, 5)] + [DataElement("1096", typeof(X12_AN))] + [Pos(10)] + public string CountyDesignator_10 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(11)] + public string StateorProvinceCode_11 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(12)] + public string DateTimePeriodFormatQualifier_12 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(13)] + public string DateTimePeriod_13 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(14)] + public string DateTimeQualifier_14 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(15)] + public string DateTimePeriodFormatQualifier_15 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(16)] + public string DateTimePeriod_16 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(17)] + public string Description_17 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(18)] + public string ReferenceIdentification_18 { + get; + set; + } + } + + /// + /// Class + /// + [Serializable()] + [DataContract()] + [Segment("CL")] + public class CL { + + /// + /// Freight Class Code + /// + [DataMember] + [Required] + [StringLength(2, 5)] + [DataElement("59", typeof(X12_AN))] + [Pos(1)] + public string FreightClassCode_01 { + get; + set; + } + } + + /// + /// Claim Codes + /// + [Serializable()] + [DataContract()] + [Segment("CL1")] + public class CL1 { + + /// + /// Admission Type Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1315", typeof(X12_AN))] + [Pos(1)] + public string AdmissionTypeCode_01 { + get; + set; + } + /// + /// Admission Source Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1314", typeof(X12_AN))] + [Pos(2)] + public string AdmissionSourceCode_02 { + get; + set; + } + /// + /// Patient Status Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1352", typeof(X12_AN))] + [Pos(3)] + public string PatientStatusCode_03 { + get; + set; + } + /// + /// Nursing Home Residential Status Code + /// + [DataMember] + [DataElement("1345", typeof(X12_ID_1345))] + [Pos(4)] + public string NursingHomeResidentialStatusCode_04 { + get; + set; + } + } + + /// + /// Load Detail + /// + [Serializable()] + [DataContract()] + [Segment("CLD")] + public class CLD { + + /// + /// Number of Loads + /// + [DataMember] + [Required] + [StringLength(1, 5)] + [DataElement("622", typeof(X12_N0))] + [Pos(1)] + public string NumberofLoads_01 { + get; + set; + } + /// + /// Number of Units Shipped + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(2)] + public string NumberofUnitsShipped_02 { + get; + set; + } + /// + /// Packaging Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("103", typeof(X12_AN))] + [Pos(3)] + public string PackagingCode_03 { + get; + set; + } + /// + /// Size + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("357", typeof(X12_R))] + [Pos(4)] + public string Size_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + } + + /// + /// Cost Line Item + /// + [Serializable()] + [DataContract()] + [Segment("CLI")] + public class CLI { + + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(1)] + public string EntityIdentifierCode_01 { + get; + set; + } + /// + /// Breakdown Structure Detail Code + /// + [DataMember] + [DataElement("1196", typeof(X12_ID_1196))] + [Pos(2)] + public string BreakdownStructureDetailCode_02 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(3)] + public string AssignedIdentification_03 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(4)] + public string FreeformDescription_04 { + get; + set; + } + /// + /// Rate or Value Type Code + /// + [DataMember] + [DataElement("562", typeof(X12_ID_562))] + [Pos(5)] + public string RateorValueTypeCode_05 { + get; + set; + } + /// + /// Contract Type Code + /// + [DataMember] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(6)] + public string ContractTypeCode_06 { + get; + set; + } + } + + /// + /// Health Claim + /// + [Serializable()] + [DataContract()] + [Segment("CLM")] + public class CLM { + + /// + /// Claim Submitter's Identifier + /// + [DataMember] + [Required] + [StringLength(1, 38)] + [DataElement("1028", typeof(X12_AN))] + [Pos(1)] + public string ClaimSubmittersIdentifier_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Claim Filing Indicator Code + /// + [DataMember] + [DataElement("1032", typeof(X12_ID_1032))] + [Pos(3)] + public string ClaimFilingIndicatorCode_03 { + get; + set; + } + /// + /// Non-Institutional Claim Type Code + /// + [DataMember] + [DataElement("1343", typeof(X12_ID_1343))] + [Pos(4)] + public string NonInstitutionalClaimTypeCode_04 { + get; + set; + } + /// + /// Health Care Service Location Information + /// + [DataMember] + [Pos(5)] + public C023 HealthCareServiceLocationInformation_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Provider Accept Assignment Code + /// + [DataMember] + [DataElement("1359", typeof(X12_ID_1359))] + [Pos(7)] + public string ProviderAcceptAssignmentCode_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Release of Information Code + /// + [DataMember] + [DataElement("1363", typeof(X12_ID_1363))] + [Pos(9)] + public string ReleaseofInformationCode_09 { + get; + set; + } + /// + /// Patient Signature Source Code + /// + [DataMember] + [DataElement("1351", typeof(X12_ID_1351))] + [Pos(10)] + public string PatientSignatureSourceCode_10 { + get; + set; + } + /// + /// Related Causes Information + /// + [DataMember] + [Pos(11)] + public C024 RelatedCausesInformation_11 { + get; + set; + } + /// + /// Special Program Code + /// + [DataMember] + [DataElement("1366", typeof(X12_ID_1366))] + [Pos(12)] + public string SpecialProgramCode_12 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(13)] + public string YesNoConditionorResponseCode_13 { + get; + set; + } + /// + /// Level of Service Code + /// + [DataMember] + [DataElement("1338", typeof(X12_ID_1338))] + [Pos(14)] + public string LevelofServiceCode_14 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(15)] + public string YesNoConditionorResponseCode_15 { + get; + set; + } + /// + /// Provider Agreement Code + /// + [DataMember] + [DataElement("1360", typeof(X12_ID_1360))] + [Pos(16)] + public string ProviderAgreementCode_16 { + get; + set; + } + /// + /// Claim Status Code + /// + [DataMember] + [DataElement("1029", typeof(X12_ID_1029))] + [Pos(17)] + public string ClaimStatusCode_17 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(18)] + public string YesNoConditionorResponseCode_18 { + get; + set; + } + /// + /// Claim Submission Reason Code + /// + [DataMember] + [DataElement("1383", typeof(X12_ID_1383))] + [Pos(19)] + public string ClaimSubmissionReasonCode_19 { + get; + set; + } + /// + /// Delay Reason Code + /// + [DataMember] + [DataElement("1514", typeof(X12_ID_1514))] + [Pos(20)] + public string DelayReasonCode_20 { + get; + set; + } + } + + /// + /// Claim Level Data + /// + [Serializable()] + [DataContract()] + [Segment("CLP")] + public class CLP { + + /// + /// Claim Submitter's Identifier + /// + [DataMember] + [Required] + [StringLength(1, 38)] + [DataElement("1028", typeof(X12_AN))] + [Pos(1)] + public string ClaimSubmittersIdentifier_01 { + get; + set; + } + /// + /// Claim Status Code + /// + [DataMember] + [Required] + [DataElement("1029", typeof(X12_ID_1029))] + [Pos(2)] + public string ClaimStatusCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Claim Filing Indicator Code + /// + [DataMember] + [DataElement("1032", typeof(X12_ID_1032))] + [Pos(6)] + public string ClaimFilingIndicatorCode_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Facility Code Value + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1331", typeof(X12_AN))] + [Pos(8)] + public string FacilityCodeValue_08 { + get; + set; + } + /// + /// Claim Frequency Type Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1325", typeof(X12_AN))] + [Pos(9)] + public string ClaimFrequencyTypeCode_09 { + get; + set; + } + /// + /// Patient Status Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1352", typeof(X12_AN))] + [Pos(10)] + public string PatientStatusCode_10 { + get; + set; + } + /// + /// Diagnosis Related Group (DRG) Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1354", typeof(X12_AN))] + [Pos(11)] + public string DiagnosisRelatedGroupDRGCode_11 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(12)] + public string Quantity_12 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(13)] + public string Percent_13 { + get; + set; + } + } + + /// + /// Car Location Routing Request + /// + [Serializable()] + [DataContract()] + [Segment("CLR")] + public class CLR { + + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(1)] + public string IdentificationCodeQualifier_01 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(2)] + public string IdentificationCode_02 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(3)] + public string IndustryCode_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + } + + /// + /// Cargo Manifest + /// + [Serializable()] + [DataContract()] + [Segment("CM")] + public class CM { + + /// + /// Flight/Voyage Number + /// + [DataMember] + [StringLength(2, 10)] + [DataElement("55", typeof(X12_AN))] + [Pos(1)] + public string FlightVoyageNumber_01 { + get; + set; + } + /// + /// Port or Terminal Function Code + /// + [DataMember] + [DataElement("115", typeof(X12_ID_115))] + [Pos(2)] + public string PortorTerminalFunctionCode_02 { + get; + set; + } + /// + /// Port Name + /// + [DataMember] + [StringLength(2, 24)] + [DataElement("114", typeof(X12_AN))] + [Pos(3)] + public string PorCAame_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Booking Number + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("13", typeof(X12_AN))] + [Pos(5)] + public string BookingNumber_05 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(6)] + public string StandardCarrierAlphaCode_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Vessel Name + /// + [DataMember] + [StringLength(2, 28)] + [DataElement("182", typeof(X12_AN))] + [Pos(9)] + public string VesselName_09 { + get; + set; + } + /// + /// Pier Number + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("113", typeof(X12_AN))] + [Pos(10)] + public string PierNumber_10 { + get; + set; + } + /// + /// Pier Name + /// + [DataMember] + [StringLength(2, 14)] + [DataElement("112", typeof(X12_AN))] + [Pos(11)] + public string PierName_11 { + get; + set; + } + /// + /// Terminal Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("174", typeof(X12_AN))] + [Pos(12)] + public string TerminalName_12 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(13)] + public string StateorProvinceCode_13 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(14)] + public string CountryCode_14 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(15)] + public string ReferenceIdentification_15 { + get; + set; + } + /// + /// Correction Indicator + /// + [DataMember] + [DataElement("202", typeof(X12_ID_202))] + [Pos(16)] + public string CorrectionIndicator_16 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(17)] + public string TransportationMethodTypeCode_17 { + get; + set; + } + } + + /// + /// Cooperative Market Agreement + /// + [Serializable()] + [DataContract()] + [Segment("CMA")] + public class CMA { + + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(1)] + public string TransactionTypeCode_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Week + /// + [DataMember] + [Required] + [StringLength(4, 4)] + [DataElement("642", typeof(X12_N0))] + [Pos(5)] + public string Week_05 { + get; + set; + } + /// + /// Market Area Code Qualifier + /// + [DataMember] + [DataElement("771", typeof(X12_ID_771))] + [Pos(6)] + public string MarketAreaCodeQualifier_06 { + get; + set; + } + /// + /// Market Area Code Identifier + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("767", typeof(X12_AN))] + [Pos(7)] + public string MarketAreaCodeIdentifier_07 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(8)] + public string CurrencyCode_08 { + get; + set; + } + /// + /// Market Profile + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("1392", typeof(X12_AN))] + [Pos(9)] + public string MarketProfile_09 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(10)] + public string ContracCAumber_10 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(11)] + public string TransactionSetPurposeCode_11 { + get; + set; + } + } + + /// + /// Contract Information + /// + [Serializable()] + [DataContract()] + [Segment("CN1")] + public class CN1 { + + /// + /// Contract Type Code + /// + [DataMember] + [Required] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(1)] + public string ContractTypeCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("332", typeof(X12_R))] + [Pos(3)] + public string Percent_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Terms Discount Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("338", typeof(X12_R))] + [Pos(5)] + public string TermsDiscountPercent_05 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(6)] + public string VersionIdentifier_06 { + get; + set; + } + } + + /// + /// Coordination of Benefits + /// + [Serializable()] + [DataContract()] + [Segment("COB")] + public class COB { + + /// + /// Payer Responsibility Sequence Number Code + /// + [DataMember] + [DataElement("1138", typeof(X12_ID_1138))] + [Pos(1)] + public string PayerResponsibilitySequenceNumberCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Coordination of Benefits Code + /// + [DataMember] + [DataElement("1143", typeof(X12_ID_1143))] + [Pos(3)] + public string CoordinationofBenefitsCode_03 { + get; + set; + } + } + + /// + /// Communication Contact Information + /// + [Serializable()] + [DataContract()] + [Segment("COM")] + public class COM { + + /// + /// Communication Number Qualifier + /// + [DataMember] + [Required] + [DataElement("365", typeof(X12_ID_365))] + [Pos(1)] + public string CommunicationNumberQualifier_01 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(2)] + public string CommunicationNumber_02 { + get; + set; + } + } + + /// + /// Contract Number Detail + /// + [Serializable()] + [DataContract()] + [Segment("CON")] + public class CON { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Contract Status Code + /// + [DataMember] + [Required] + [DataElement("846", typeof(X12_ID_846))] + [Pos(3)] + public string ContractStatusCode_03 { + get; + set; + } + } + + /// + /// Commodity Price Reference + /// + [Serializable()] + [DataContract()] + [Segment("CPR")] + public class CPR { + + /// + /// Market Exchange Identifier + /// + [DataMember] + [Required] + [DataElement("1053", typeof(X12_ID_1053))] + [Pos(1)] + public string MarketExchangeIdentifier_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [Required] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(3)] + public string UnitPrice_03 { + get; + set; + } + /// + /// Commodity Identification + /// + [DataMember] + [Required] + [DataElement("1054", typeof(X12_ID_1054))] + [Pos(4)] + public string CommodityIdentification_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + } + + /// + /// Ambulance Certification + /// + [Serializable()] + [DataContract()] + [Segment("CR1")] + public class CR1 { + + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(1)] + public string UnitorBasisforMeasurementCode_01 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(2)] + public string Weight_02 { + get; + set; + } + /// + /// Ambulance Transport Code + /// + [DataMember] + [DataElement("1316", typeof(X12_ID_1316))] + [Pos(3)] + public string AmbulanceTransportCode_03 { + get; + set; + } + /// + /// Ambulance Transport Reason Code + /// + [DataMember] + [DataElement("1317", typeof(X12_ID_1317))] + [Pos(4)] + public string AmbulanceTransportReasonCode_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(7)] + public string AddressInformation_07 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(8)] + public string AddressInformation_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(10)] + public string Description_10 { + get; + set; + } + } + + /// + /// Chiropractic Certification + /// + [Serializable()] + [DataContract()] + [Segment("CR2")] + public class CR2 { + + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(1)] + public string Count_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Subluxation Level Code + /// + [DataMember] + [DataElement("1367", typeof(X12_ID_1367))] + [Pos(3)] + public string SubluxationLevelCode_03 { + get; + set; + } + /// + /// Subluxation Level Code + /// + [DataMember] + [DataElement("1367", typeof(X12_ID_1367))] + [Pos(4)] + public string SubluxationLevelCode_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Nature of Condition Code + /// + [DataMember] + [DataElement("1342", typeof(X12_ID_1342))] + [Pos(8)] + public string NatureofConditionCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(10)] + public string Description_10 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(11)] + public string Description_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + } + + /// + /// Durable Medical Equipment Certification + /// + [Serializable()] + [DataContract()] + [Segment("CR3")] + public class CR3 { + + /// + /// Certification Type Code + /// + [DataMember] + [DataElement("1322", typeof(X12_ID_1322))] + [Pos(1)] + public string CertificationTypeCode_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Insulin Dependent Code + /// + [DataMember] + [DataElement("1335", typeof(X12_ID_1335))] + [Pos(4)] + public string InsulinDependentCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + } + + /// + /// Enteral or Parenteral Therapy Certification + /// + [Serializable()] + [DataContract()] + [Segment("CR4")] + public class CR4 { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Certification Type Code + /// + [DataMember] + [DataElement("1322", typeof(X12_ID_1322))] + [Pos(2)] + public string CertificationTypeCode_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Non-Visit Code + /// + [DataMember] + [DataElement("1344", typeof(X12_ID_1344))] + [Pos(7)] + public string NonVisitCode_07 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(8)] + public string UnitorBasisforMeasurementCode_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(10)] + public string UnitorBasisforMeasurementCode_10 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(11)] + public string Height_11 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(12)] + public string UnitorBasisforMeasurementCode_12 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(13)] + public string Weight_13 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(14)] + public string Quantity_14 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(15)] + public string Description_15 { + get; + set; + } + /// + /// Nutrient Administration Method Code + /// + [DataMember] + [DataElement("1346", typeof(X12_ID_1346))] + [Pos(16)] + public string NutrientAdministrationMethodCode_16 { + get; + set; + } + /// + /// Nutrient Administration Technique Code + /// + [DataMember] + [DataElement("1347", typeof(X12_ID_1347))] + [Pos(17)] + public string NutrientAdministrationTechniqueCode_17 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(18)] + public string Quantity_18 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(19)] + public string Quantity_19 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(20)] + public string Description_20 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(21)] + public string Quantity_21 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(22)] + public string Percent_22 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(23)] + public string Quantity_23 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(24)] + public string Quantity_24 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(25)] + public string Percent_25 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(26)] + public string Quantity_26 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(27)] + public string Percent_27 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(28)] + public string Quantity_28 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(29)] + public string Description_29 { + get; + set; + } + } + + /// + /// Oxygen Therapy Certification + /// + [Serializable()] + [DataContract()] + [Segment("CR5")] + public class CR5 { + + /// + /// Certification Type Code + /// + [DataMember] + [DataElement("1322", typeof(X12_ID_1322))] + [Pos(1)] + public string CertificationTypeCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Oxygen Equipment Type Code + /// + [DataMember] + [DataElement("1348", typeof(X12_ID_1348))] + [Pos(3)] + public string OxygenEquipmentTypeCode_03 { + get; + set; + } + /// + /// Oxygen Equipment Type Code + /// + [DataMember] + [DataElement("1348", typeof(X12_ID_1348))] + [Pos(4)] + public string OxygenEquipmentTypeCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(11)] + public string Quantity_11 { + get; + set; + } + /// + /// Oxygen Test Condition Code + /// + [DataMember] + [DataElement("1349", typeof(X12_ID_1349))] + [Pos(12)] + public string OxygenTestConditionCode_12 { + get; + set; + } + /// + /// Oxygen Test Findings Code + /// + [DataMember] + [DataElement("1350", typeof(X12_ID_1350))] + [Pos(13)] + public string OxygenTestFindingsCode_13 { + get; + set; + } + /// + /// Oxygen Test Findings Code + /// + [DataMember] + [DataElement("1350", typeof(X12_ID_1350))] + [Pos(14)] + public string OxygenTestFindingsCode_14 { + get; + set; + } + /// + /// Oxygen Test Findings Code + /// + [DataMember] + [DataElement("1350", typeof(X12_ID_1350))] + [Pos(15)] + public string OxygenTestFindingsCode_15 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(16)] + public string Quantity_16 { + get; + set; + } + /// + /// Oxygen Delivery System Code + /// + [DataMember] + [DataElement("1382", typeof(X12_ID_1382))] + [Pos(17)] + public string OxygenDeliverySystemCode_17 { + get; + set; + } + /// + /// Oxygen Equipment Type Code + /// + [DataMember] + [DataElement("1348", typeof(X12_ID_1348))] + [Pos(18)] + public string OxygenEquipmentTypeCode_18 { + get; + set; + } + } + + /// + /// Home Health Care Certification + /// + [Serializable()] + [DataContract()] + [Segment("CR6")] + public class CR6 { + + /// + /// Prognosis Code + /// + [DataMember] + [Required] + [DataElement("923", typeof(X12_ID_923))] + [Pos(1)] + public string PrognosisCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Certification Type Code + /// + [DataMember] + [Required] + [DataElement("1322", typeof(X12_ID_1322))] + [Pos(8)] + public string CertificationTypeCode_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(10)] + public string ProductServiceIDQualifier_10 { + get; + set; + } + /// + /// Medical Code Value + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1137", typeof(X12_AN))] + [Pos(11)] + public string MedicalCodeValue_11 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(12)] + public string Date_12 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(13)] + public string Date_13 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(14)] + public string Date_14 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(15)] + public string DateTimePeriodFormatQualifier_15 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(16)] + public string DateTimePeriod_16 { + get; + set; + } + /// + /// Patient Location Code + /// + [DataMember] + [DataElement("1384", typeof(X12_ID_1384))] + [Pos(17)] + public string PatientLocationCode_17 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(18)] + public string Date_18 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(19)] + public string Date_19 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(20)] + public string Date_20 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(21)] + public string Date_21 { + get; + set; + } + } + + /// + /// Home Health Treatment Plan Certification + /// + [Serializable()] + [DataContract()] + [Segment("CR7")] + public class CR7 { + + /// + /// Discipline Type Code + /// + [DataMember] + [Required] + [DataElement("921", typeof(X12_ID_921))] + [Pos(1)] + public string DisciplineTypeCode_01 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(2)] + public string Number_02 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(3)] + public string Number_03 { + get; + set; + } + } + + /// + /// Pacemaker Certification + /// + [Serializable()] + [DataContract()] + [Segment("CR8")] + public class CR8 { + + /// + /// Implant Type Code + /// + [DataMember] + [Required] + [DataElement("1403", typeof(X12_ID_1403))] + [Pos(1)] + public string ImplantTypeCode_01 { + get; + set; + } + /// + /// Implant Status Code + /// + [DataMember] + [Required] + [DataElement("1404", typeof(X12_ID_1404))] + [Pos(2)] + public string ImplantStatusCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + } + + /// + /// Conditions Indicator + /// + [Serializable()] + [DataContract()] + [Segment("CRC")] + public class CRC { + + /// + /// Code Category + /// + [DataMember] + [Required] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [Required] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(3)] + public string ConditionIndicator_03 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(4)] + public string ConditionIndicator_04 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(5)] + public string ConditionIndicator_05 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(6)] + public string ConditionIndicator_06 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(7)] + public string ConditionIndicator_07 { + get; + set; + } + } + + /// + /// Content Reporting Detail + /// + [Serializable()] + [DataContract()] + [Segment("CRD")] + public class CRD { + + /// + /// Country Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(1)] + public string CountryCode_01 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(2)] + public string AmountQualifierCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("488", typeof(X12_N0))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + } + + /// + /// Claim Report Information + /// + [Serializable()] + [DataContract()] + [Segment("CRI")] + public class CRI { + + /// + /// Maintenance Type Code + /// + [DataMember] + [DataElement("875", typeof(X12_ID_875))] + [Pos(1)] + public string MaintenanceTypeCode_01 { + get; + set; + } + /// + /// Claim Status Code + /// + [DataMember] + [DataElement("1029", typeof(X12_ID_1029))] + [Pos(2)] + public string ClaimStatusCode_02 { + get; + set; + } + /// + /// Maintenance Reason Code + /// + [DataMember] + [DataElement("1203", typeof(X12_ID_1203))] + [Pos(3)] + public string MaintenanceReasonCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(5)] + public string FrequencyCode_05 { + get; + set; + } + /// + /// Claim Filing Indicator Code + /// + [DataMember] + [Required] + [DataElement("1032", typeof(X12_ID_1032))] + [Pos(6)] + public string ClaimFilingIndicatorCode_06 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(7)] + public string DateTimePeriodFormatQualifier_07 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(8)] + public string DateTimePeriod_08 { + get; + set; + } + /// + /// Adjustment Reason Code Characteristic + /// + [DataMember] + [DataElement("1129", typeof(X12_ID_1129))] + [Pos(9)] + public string AdjustmentReasonCodeCharacteristic_09 { + get; + set; + } + /// + /// Late Reason Code + /// + [DataMember] + [DataElement("9", typeof(X12_ID_9))] + [Pos(10)] + public string LateReasonCode_10 { + get; + set; + } + } + + /// + /// Credit Report Order Details + /// + [Serializable()] + [DataContract()] + [Segment("CRO")] + public class CRO { + + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(1)] + public string DateTimePeriodFormatQualifier_01 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(2)] + public string DateTimePeriod_02 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(3)] + public string ProductServiceIDQualifier_03 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(4)] + public string ProductServiceID_04 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(5)] + public string ActionCode_05 { + get; + set; + } + /// + /// Credit Report Merge Type Code + /// + [DataMember] + [DataElement("612", typeof(X12_ID_612))] + [Pos(6)] + public string CreditReportMergeTypeCode_06 { + get; + set; + } + } + + /// + /// Course Record + /// + [Serializable()] + [DataContract()] + [Segment("CRS")] + public class CRS { + + /// + /// Basis for Academic Credit Code + /// + [DataMember] + [Required] + [DataElement("1147", typeof(X12_ID_1147))] + [Pos(1)] + public string BasisforAcademicCreditCode_01 { + get; + set; + } + /// + /// Academic Credit Type Code + /// + [DataMember] + [DataElement("1141", typeof(X12_ID_1141))] + [Pos(2)] + public string AcademicCreditTypeCode_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Academic Grade Qualifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1148", typeof(X12_AN))] + [Pos(5)] + public string AcademicGradeQualifier_05 { + get; + set; + } + /// + /// Academic Grade + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1258", typeof(X12_AN))] + [Pos(6)] + public string AcademicGrade_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Academic Grade or Course Level Code + /// + [DataMember] + [DataElement("1142", typeof(X12_ID_1142))] + [Pos(8)] + public string AcademicGradeorCourseLevelCode_08 { + get; + set; + } + /// + /// Course Repeat or No Count Indicator Code + /// + [DataMember] + [DataElement("1150", typeof(X12_ID_1150))] + [Pos(9)] + public string CourseRepeatorNoCountIndicatorCode_09 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(10)] + public string IdentificationCodeQualifier_10 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(11)] + public string IdentificationCode_11 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(12)] + public string Quantity_12 { + get; + set; + } + /// + /// Level of Individual, Test, or Course Code + /// + [DataMember] + [DataElement("1131", typeof(X12_ID_1131))] + [Pos(13)] + public string LevelofIndividualTestorCourseCode_13 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(14)] + public string Name_14 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(15)] + public string ReferenceIdentification_15 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(16)] + public string Name_16 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(17)] + public string Quantity_17 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(18)] + public string Quantity_18 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(19)] + public string Date_19 { + get; + set; + } + /// + /// Override Academic Course Source Code + /// + [DataMember] + [DataElement("1152", typeof(X12_ID_1152))] + [Pos(20)] + public string OverrideAcademicCourseSourceCode_20 { + get; + set; + } + } + + /// + /// Contractor Report Type + /// + [Serializable()] + [DataContract()] + [Segment("CRT")] + public class CRT { + + /// + /// Report Type Code + /// + [DataMember] + [Required] + [DataElement("755", typeof(X12_ID_755))] + [Pos(1)] + public string ReportTypeCode_01 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(2)] + public C001 CompositeUnitofMeasure_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + /// + /// Breakdown Structure Detail Code + /// + [DataMember] + [DataElement("1196", typeof(X12_ID_1196))] + [Pos(4)] + public string BreakdownStructureDetailCode_04 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(5)] + public string ActionCode_05 { + get; + set; + } + /// + /// Rate or Value Type Code + /// + [DataMember] + [DataElement("562", typeof(X12_ID_562))] + [Pos(6)] + public string RateorValueTypeCode_06 { + get; + set; + } + /// + /// Contract Action Code + /// + [DataMember] + [DataElement("1308", typeof(X12_ID_1308))] + [Pos(7)] + public string ContractActionCode_07 { + get; + set; + } + /// + /// Program Type Code + /// + [DataMember] + [DataElement("1193", typeof(X12_ID_1193))] + [Pos(8)] + public string ProgramTypeCode_08 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(9)] + public string FreeformDescription_09 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(10)] + public string SecurityLevelCode_10 { + get; + set; + } + } + + /// + /// Product Origin Reference + /// + [Serializable()] + [DataContract()] + [Segment("CRV")] + public class CRV { + + /// + /// Net Cost Code + /// + [DataMember] + [DataElement("1540", typeof(X12_ID_1540))] + [Pos(1)] + public string NetCostCode_01 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(2)] + public string Amount_02 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(3)] + public string CountryCode_03 { + get; + set; + } + /// + /// Product/Process Characteristic Code + /// + [DataMember] + [DataElement("750", typeof(X12_ID_750))] + [Pos(4)] + public string ProductProcessCharacteristicCode_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("488", typeof(X12_N0))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + /// + /// Certification/Clause Code + /// + [DataMember] + [DataElement("246", typeof(X12_ID_246))] + [Pos(6)] + public string CertificationClauseCode_06 { + get; + set; + } + /// + /// Preferential Duty Criteria Code + /// + [DataMember] + [DataElement("1546", typeof(X12_ID_1546))] + [Pos(7)] + public string PreferentialDutyCriteriaCode_07 { + get; + set; + } + } + + /// + /// Contract Summary + /// + [Serializable()] + [DataContract()] + [Segment("CS")] + public class CS { + + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(1)] + public string ContracCAumber_01 { + get; + set; + } + /// + /// Change Order Sequence Number + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("327", typeof(X12_AN))] + [Pos(2)] + public string ChangeOrderSequenceNumber_02 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(3)] + public string ReleaseNumber_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(6)] + public string PurchaseOrderNumber_06 { + get; + set; + } + /// + /// Special Services Code + /// + [DataMember] + [DataElement("560", typeof(X12_ID_560))] + [Pos(7)] + public string SpecialServicesCode_07 { + get; + set; + } + /// + /// F.O.B. Point Code + /// + [DataMember] + [DataElement("433", typeof(X12_ID_433))] + [Pos(8)] + public string FOBPointCode_08 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(9)] + public string Percent_09 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(10)] + public string Percent_10 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(11)] + public string MonetaryAmount_11 { + get; + set; + } + /// + /// Terms Type Code + /// + [DataMember] + [DataElement("336", typeof(X12_ID_336))] + [Pos(12)] + public string TermsTypeCode_12 { + get; + set; + } + /// + /// Special Services Code + /// + [DataMember] + [DataElement("560", typeof(X12_ID_560))] + [Pos(13)] + public string SpecialServicesCode_13 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(14)] + public string UnitorBasisforMeasurementCode_14 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(15)] + public string UnitPrice_15 { + get; + set; + } + /// + /// Terms Type Code + /// + [DataMember] + [DataElement("336", typeof(X12_ID_336))] + [Pos(16)] + public string TermsTypeCode_16 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(17)] + public string YesNoConditionorResponseCode_17 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(18)] + public string YesNoConditionorResponseCode_18 { + get; + set; + } + } + + /// + /// Cryptographic Service Message Body + /// + [Serializable()] + [DataContract()] + [Segment("CSB")] + public class CSB { + + /// + /// Cryptographic Service Message (CSM) Field Tag + /// + [DataMember] + [Required] + [DataElement("988", typeof(X12_ID_988))] + [Pos(1)] + public string CryptographicServiceMessageCSMFieldTag_01 { + get; + set; + } + /// + /// Cryptographic Service Message (CSM) Field Contents + /// + [DataMember] + [StringLength(1, 32)] + [DataElement("989", typeof(X12_AN))] + [Pos(2)] + public string CryptographicServiceMessageCSMFieldContents_02 { + get; + set; + } + } + + /// + /// Cryptographic Service Message Certificates and Keys + /// + [Serializable()] + [DataContract()] + [Segment("CSC")] + public class CSC { + + /// + /// Cryptographic Management Purpose + /// + [DataMember] + [Required] + [DataElement("1642", typeof(X12_ID_1642))] + [Pos(1)] + public string CryptographicManagementPurpose_01 { + get; + set; + } + /// + /// Security Originator Name + /// + [DataMember] + [StringLength(1, 64)] + [DataElement("824", typeof(X12_AN))] + [Pos(2)] + public string SecurityOriginatorName_02 { + get; + set; + } + /// + /// Security Recipient Name + /// + [DataMember] + [StringLength(1, 64)] + [DataElement("825", typeof(X12_AN))] + [Pos(3)] + public string SecurityRecipienCAame_03 { + get; + set; + } + /// + /// Certificate Look-up Information + /// + [DataMember] + [Pos(4)] + public C050 CertificateLookupInformation_04 { + get; + set; + } + /// + /// Reference Identifier + /// + [DataMember] + [Pos(5)] + public C040 ReferenceIdentifier_05 { + get; + set; + } + /// + /// Filter ID Code + /// + [DataMember] + [DataElement("1570", typeof(X12_ID_1570))] + [Pos(6)] + public string FilterIDCode_06 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(7)] + public string VersionIdentifier_07 { + get; + set; + } + /// + /// Length of Data + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("995", typeof(X12_N))] + [Pos(8)] + public string LengthofData_08 { + get; + set; + } + /// + /// Security Value + /// + [DataMember] + [Pos(9)] + public C033 SecurityValue_09 { + get; + set; + } + } + + /// + /// Consolidated Shipment Invoice Data + /// + [Serializable()] + [DataContract()] + [Segment("CSD")] + public class CSD { + + /// + /// Special Handling Code + /// + [DataMember] + [Required] + [DataElement("152", typeof(X12_ID_152))] + [Pos(1)] + public string SpecialHandlingCode_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(4)] + public string ShipmentMethodofPayment_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Charge + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("58", typeof(X12_N2))] + [Pos(7)] + public string Charge_07 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(8)] + public string StandardCarrierAlphaCode_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + } + + /// + /// Educational Course Information + /// + [Serializable()] + [DataContract()] + [Segment("CSE")] + public class CSE { + + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(1)] + public string Name_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Academic Credit Type Code + /// + [DataMember] + [DataElement("1141", typeof(X12_ID_1141))] + [Pos(3)] + public string AcademicCreditTypeCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Academic Grade or Course Level Code + /// + [DataMember] + [DataElement("1142", typeof(X12_ID_1142))] + [Pos(7)] + public string AcademicGradeorCourseLevelCode_07 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(8)] + public string IdentificationCodeQualifier_08 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(9)] + public string IdentificationCode_09 { + get; + set; + } + /// + /// Entity Title + /// + [DataMember] + [StringLength(1, 132)] + [DataElement("790", typeof(X12_AN))] + [Pos(10)] + public string EntityTitle_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + } + + /// + /// Conditional Sampling Frequency + /// + [Serializable()] + [DataContract()] + [Segment("CSF")] + public class CSF { + + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(1)] + public C001 CompositeUnitofMeasure_01 { + get; + set; + } + /// + /// Sample Selection Modulus + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1167", typeof(X12_R))] + [Pos(2)] + public string SampleSelectionModulus_02 { + get; + set; + } + /// + /// Sample Frequency Value per Unit of Measurement Code + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("942", typeof(X12_N0))] + [Pos(3)] + public string SampleFrequencyValueperUnitofMeasurementCode_03 { + get; + set; + } + } + + /// + /// Sales Requirements + /// + [Serializable()] + [DataContract()] + [Segment("CSH")] + public class CSH { + + /// + /// Sales Requirement Code + /// + [DataMember] + [DataElement("563", typeof(X12_ID_563))] + [Pos(1)] + public string SalesRequirementCode_01 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(2)] + public string ActionCode_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(4)] + public string AccounCAumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(6)] + public string AgencyQualifierCode_06 { + get; + set; + } + /// + /// Special Services Code + /// + [DataMember] + [DataElement("560", typeof(X12_ID_560))] + [Pos(7)] + public string SpecialServicesCode_07 { + get; + set; + } + /// + /// Product/Service Substitution Code + /// + [DataMember] + [DataElement("566", typeof(X12_ID_566))] + [Pos(8)] + public string ProductServiceSubstitutionCode_08 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(9)] + public string Percent_09 { + get; + set; + } + /// + /// Percent Qualifier + /// + [DataMember] + [DataElement("1004", typeof(X12_ID_1004))] + [Pos(10)] + public string PercentQualifier_10 { + get; + set; + } + } + + /// + /// Claim Status Information + /// + [Serializable()] + [DataContract()] + [Segment("CSI")] + public class CSI { + + /// + /// Claim Submission Reason Code + /// + [DataMember] + [Required] + [DataElement("1383", typeof(X12_ID_1383))] + [Pos(1)] + public string ClaimSubmissionReasonCode_01 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [Required] + [DataElement("374", typeof(X12_ID_374))] + [Pos(2)] + public string DateTimeQualifier_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + } + + /// + /// Cryptographic Service Message Header + /// + [Serializable()] + [DataContract()] + [Segment("CSM")] + public class CSM { + + /// + /// Cryptographic Service Message (CSM) Message Class Code + /// + [DataMember] + [Required] + [DataElement("987", typeof(X12_ID_987))] + [Pos(1)] + public string CryptographicServiceMessageCSMMessageClassCode_01 { + get; + set; + } + /// + /// Security Originator Name + /// + [DataMember] + [StringLength(1, 64)] + [DataElement("824", typeof(X12_AN))] + [Pos(2)] + public string SecurityOriginatorName_02 { + get; + set; + } + /// + /// Security Recipient Name + /// + [DataMember] + [StringLength(1, 64)] + [DataElement("825", typeof(X12_AN))] + [Pos(3)] + public string SecurityRecipienCAame_03 { + get; + set; + } + } + + /// + /// Conditional Sampling Sequence + /// + [Serializable()] + [DataContract()] + [Segment("CSS")] + public class CSS { + + /// + /// Sampling Sequence Qualifier + /// + [DataMember] + [Required] + [DataElement("1020", typeof(X12_ID_1020))] + [Pos(1)] + public string SamplingSequenceQualifier_01 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(2)] + public C001 CompositeUnitofMeasure_02 { + get; + set; + } + /// + /// Sampling Sequence Value + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("1021", typeof(X12_N0))] + [Pos(3)] + public string SamplingSequenceValue_03 { + get; + set; + } + /// + /// Sampling Sequence Value + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1021", typeof(X12_N0))] + [Pos(4)] + public string SamplingSequenceValue_04 { + get; + set; + } + /// + /// Sampling Sequence Value + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1021", typeof(X12_N0))] + [Pos(5)] + public string SamplingSequenceValue_05 { + get; + set; + } + /// + /// Sampling Sequence Value + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1021", typeof(X12_N0))] + [Pos(6)] + public string SamplingSequenceValue_06 { + get; + set; + } + /// + /// Sampling Sequence Value + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1021", typeof(X12_N0))] + [Pos(7)] + public string SamplingSequenceValue_07 { + get; + set; + } + } + + /// + /// Cost Analysis + /// + [Serializable()] + [DataContract()] + [Segment("CST")] + public class CST { + + /// + /// Cost Code + /// + [DataMember] + [Required] + [DataElement("964", typeof(X12_ID_964))] + [Pos(1)] + public string CostCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + } + + /// + /// Supplemental Course Data + /// + [Serializable()] + [DataContract()] + [Segment("CSU")] + public class CSU { + + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(1)] + public string Name_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Instructional Setting Code + /// + [DataMember] + [DataElement("1132", typeof(X12_ID_1132))] + [Pos(7)] + public string InstructionalSettingCode_07 { + get; + set; + } + /// + /// Academic Credit Type Code + /// + [DataMember] + [DataElement("1141", typeof(X12_ID_1141))] + [Pos(8)] + public string AcademicCreditTypeCode_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(10)] + public C001 CompositeUnitofMeasure_10 { + get; + set; + } + } + + /// + /// Car Type + /// + [Serializable()] + [DataContract()] + [Segment("CT")] + public class CT { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(2)] + public string CarTypeCode_02 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(3)] + public string CarTypeCode_03 { + get; + set; + } + } + + /// + /// Restrictions/Conditions + /// + [Serializable()] + [DataContract()] + [Segment("CTB")] + public class CTB { + + /// + /// Restrictions/Conditions Qualifier + /// + [DataMember] + [Required] + [DataElement("688", typeof(X12_ID_688))] + [Pos(1)] + public string RestrictionsConditionsQualifier_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(3)] + public string QuantityQualifier_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(5)] + public string AmountQualifierCode_05 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(6)] + public string Amount_06 { + get; + set; + } + } + + /// + /// Car Hire Transaction Control + /// + [Serializable()] + [DataContract()] + [Segment("CTC")] + public class CTC { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Car Hire Detail/Summary Code + /// + [DataMember] + [Required] + [DataElement("1002", typeof(X12_ID_1002))] + [Pos(3)] + public string CarHireDetailSummaryCode_03 { + get; + set; + } + /// + /// Account Type Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("1003", typeof(X12_AN))] + [Pos(4)] + public string AccountTypeCode_04 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(5)] + public string TransactionSetPurposeCode_05 { + get; + set; + } + /// + /// Year + /// + [DataMember] + [Required] + [StringLength(4, 4)] + [DataElement("1095", typeof(X12_N0))] + [Pos(6)] + public string Year_06 { + get; + set; + } + /// + /// Month of the Year Code + /// + [DataMember] + [Required] + [DataElement("1108", typeof(X12_ID_1108))] + [Pos(7)] + public string MonthoftheYearCode_07 { + get; + set; + } + /// + /// Year + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("1095", typeof(X12_N0))] + [Pos(8)] + public string Year_08 { + get; + set; + } + /// + /// Month of the Year Code + /// + [DataMember] + [DataElement("1108", typeof(X12_ID_1108))] + [Pos(9)] + public string MonthoftheYearCode_09 { + get; + set; + } + /// + /// Account Description Code + /// + [DataMember] + [DataElement("1006", typeof(X12_ID_1006))] + [Pos(10)] + public string AccountDescriptionCode_10 { + get; + set; + } + } + + /// + /// Pricing Information + /// + [Serializable()] + [DataContract()] + [Segment("CTP")] + public class CTP { + + /// + /// Class of Trade Code + /// + [DataMember] + [DataElement("687", typeof(X12_ID_687))] + [Pos(1)] + public string ClassofTradeCode_01 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(2)] + public string PriceIdentifierCode_02 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(3)] + public string UnitPrice_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + /// + /// Price Multiplier Qualifier + /// + [DataMember] + [DataElement("648", typeof(X12_ID_648))] + [Pos(6)] + public string PriceMultiplierQualifier_06 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(7)] + public string Multiplier_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Basis of Unit Price Code + /// + [DataMember] + [DataElement("639", typeof(X12_ID_639))] + [Pos(9)] + public string BasisofUnitPriceCode_09 { + get; + set; + } + /// + /// Condition Value + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("499", typeof(X12_AN))] + [Pos(10)] + public string ConditionValue_10 { + get; + set; + } + /// + /// Multiple Price Quantity + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("289", typeof(X12_N0))] + [Pos(11)] + public string MultiplePriceQuantity_11 { + get; + set; + } + } + + /// + /// Transaction Totals + /// + [Serializable()] + [DataContract()] + [Segment("CTT")] + public class CTT { + + /// + /// Number of Line Items + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("354", typeof(X12_N0))] + [Pos(1)] + public string NumberofLineItems_01 { + get; + set; + } + /// + /// Hash Total + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("347", typeof(X12_R))] + [Pos(2)] + public string HashTotal_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(5)] + public string Volume_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + } + + /// + /// Currency + /// + [Serializable()] + [DataContract()] + [Segment("CUR")] + public class CUR { + + /// + /// Entity Identifier Code + /// + [DataMember] + [Required] + [DataElement("98", typeof(X12_ID_98))] + [Pos(1)] + public string EntityIdentifierCode_01 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [Required] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(2)] + public string CurrencyCode_02 { + get; + set; + } + /// + /// Exchange Rate + /// + [DataMember] + [StringLength(4, 10)] + [DataElement("280", typeof(X12_R))] + [Pos(3)] + public string ExchangeRate_03 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(4)] + public string EntityIdentifierCode_04 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(5)] + public string CurrencyCode_05 { + get; + set; + } + /// + /// Currency Market/Exchange Code + /// + [DataMember] + [DataElement("669", typeof(X12_ID_669))] + [Pos(6)] + public string CurrencyMarketExchangeCode_06 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(7)] + public string DateTimeQualifier_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(9)] + public string Time_09 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(10)] + public string DateTimeQualifier_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(12)] + public string Time_12 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(13)] + public string DateTimeQualifier_13 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(14)] + public string Date_14 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(15)] + public string Time_15 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(16)] + public string DateTimeQualifier_16 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(17)] + public string Date_17 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(18)] + public string Time_18 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(19)] + public string DateTimeQualifier_19 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(20)] + public string Date_20 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(21)] + public string Time_21 { + get; + set; + } + } + + /// + /// Cycle/Summary Value + /// + [Serializable()] + [DataContract()] + [Segment("CV")] + public class CV { + + /// + /// Load/Empty Status Code + /// + [DataMember] + [Required] + [DataElement("322", typeof(X12_ID_322))] + [Pos(1)] + public string LoadEmptyStatusCode_01 { + get; + set; + } + /// + /// Payment Action Code + /// + [DataMember] + [DataElement("482", typeof(X12_ID_482))] + [Pos(2)] + public string PaymentActionCode_02 { + get; + set; + } + /// + /// Car Type Group Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1014", typeof(X12_AN))] + [Pos(3)] + public string CarTypeGroupCode_03 { + get; + set; + } + /// + /// Time Period Qualifier + /// + [DataMember] + [DataElement("519", typeof(X12_ID_519))] + [Pos(4)] + public string TimePeriodQualifier_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Mileage Settlement Code + /// + [DataMember] + [DataElement("1015", typeof(X12_ID_1015))] + [Pos(6)] + public string MileageSettlementCode_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(9)] + public string MonetaryAmount_09 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(10)] + public string MonetaryAmount_10 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(11)] + public string MonetaryAmount_11 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(12)] + public string MonetaryAmount_12 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(13)] + public string MonetaryAmount_13 { + get; + set; + } + /// + /// Penalty Code + /// + [DataMember] + [DataElement("1016", typeof(X12_ID_1016))] + [Pos(14)] + public string PenaltyCode_14 { + get; + set; + } + } + + /// + /// Car Hire Cycle + /// + [Serializable()] + [DataContract()] + [Segment("CYC")] + public class CYC { + + /// + /// Year + /// + [DataMember] + [Required] + [StringLength(4, 4)] + [DataElement("1095", typeof(X12_N0))] + [Pos(1)] + public string Year_01 { + get; + set; + } + /// + /// Month of the Year Code + /// + [DataMember] + [Required] + [DataElement("1108", typeof(X12_ID_1108))] + [Pos(2)] + public string MonthoftheYearCode_02 { + get; + set; + } + /// + /// Cycle Month Hours + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("1010", typeof(X12_N0))] + [Pos(3)] + public string CycleMonthHours_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Association of American Railroads (AAR) Pool Code + /// + [DataMember] + [StringLength(7, 7)] + [DataElement("1011", typeof(X12_AN))] + [Pos(6)] + public string AssociationofAmericanRailroadsAARPoolCode_06 { + get; + set; + } + } + + /// + /// Destination Station + /// + [Serializable()] + [DataContract()] + [Segment("D9")] + public class D9 { + + /// + /// Freight Station Accounting Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(1)] + public string FreightStationAccountingCode_01 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(2)] + public string CityName_02 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(3)] + public string StateorProvinceCode_03 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(4)] + public string CountryCode_04 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(5)] + public string FreightStationAccountingCode_05 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(6)] + public string CityName_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(8)] + public string StandardPointLocationCode_08 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(9)] + public string PostalCode_09 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(10)] + public string StandardPointLocationCode_10 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(11)] + public string PostalCode_11 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(12)] + public string CountryCode_12 { + get; + set; + } + } + + /// + /// Debit Authorization Detail + /// + [Serializable()] + [DataContract()] + [Segment("DAD")] + public class DAD { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Transaction Handling Code + /// + [DataMember] + [Required] + [DataElement("305", typeof(X12_ID_305))] + [Pos(2)] + public string TransactionHandlingCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Originating Company Identifier + /// + [DataMember] + [StringLength(10, 10)] + [DataElement("509", typeof(X12_AN))] + [Pos(5)] + public string OriginatingCompanyIdentifier_05 { + get; + set; + } + /// + /// Originating Company Supplemental Code + /// + [DataMember] + [StringLength(9, 9)] + [DataElement("510", typeof(X12_AN))] + [Pos(6)] + public string OriginatingCompanySupplementalCode_06 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(7)] + public string AmountQualifierCode_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(10)] + public string ReferenceIdentification_10 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [DataElement("506", typeof(X12_ID_506))] + [Pos(11)] + public string DFIIDNumberQualifier_11 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(12)] + public string DFIIdentificationNumber_12 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(13)] + public string AccounCAumber_13 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(14)] + public string Number_14 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(15)] + public string FrequencyCode_15 { + get; + set; + } + } + + /// + /// Appendix Information + /// + [Serializable()] + [DataContract()] + [Segment("DAI")] + public class DAI { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Code List Reference + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("916", typeof(X12_AN))] + [Pos(2)] + public string CodeListReference_02 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(3)] + public string NoteIdentificationNumber_03 { + get; + set; + } + } + + /// + /// Damage Information + /// + [Serializable()] + [DataContract()] + [Segment("DAM")] + public class DAM { + + /// + /// Damage Status Code + /// + [DataMember] + [DataElement("1422", typeof(X12_ID_1422))] + [Pos(1)] + public string DamageStatusCode_01 { + get; + set; + } + /// + /// Damage Area Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("556", typeof(X12_AN))] + [Pos(2)] + public string DamageAreaCode_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(4)] + public string CurrencyCode_04 { + get; + set; + } + /// + /// Damage Status Code + /// + [DataMember] + [DataElement("1422", typeof(X12_ID_1422))] + [Pos(5)] + public string DamageStatusCode_05 { + get; + set; + } + /// + /// Damage Area Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("556", typeof(X12_AN))] + [Pos(6)] + public string DamageAreaCode_06 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(7)] + public string Amount_07 { + get; + set; + } + /// + /// Damage Status Code + /// + [DataMember] + [DataElement("1422", typeof(X12_ID_1422))] + [Pos(8)] + public string DamageStatusCode_08 { + get; + set; + } + /// + /// Damage Area Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("556", typeof(X12_AN))] + [Pos(9)] + public string DamageAreaCode_09 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(10)] + public string Amount_10 { + get; + set; + } + /// + /// Damage Status Code + /// + [DataMember] + [DataElement("1422", typeof(X12_ID_1422))] + [Pos(11)] + public string DamageStatusCode_11 { + get; + set; + } + /// + /// Damage Area Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("556", typeof(X12_AN))] + [Pos(12)] + public string DamageAreaCode_12 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(13)] + public string Amount_13 { + get; + set; + } + /// + /// Damage Status Code + /// + [DataMember] + [DataElement("1422", typeof(X12_ID_1422))] + [Pos(14)] + public string DamageStatusCode_14 { + get; + set; + } + /// + /// Damage Area Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("556", typeof(X12_AN))] + [Pos(15)] + public string DamageAreaCode_15 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(16)] + public string Amount_16 { + get; + set; + } + } + + /// + /// Disbursement Information + /// + [Serializable()] + [DataContract()] + [Segment("DB")] + public class DB { + + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(1)] + public string DateTimePeriodFormatQualifier_01 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(2)] + public string DateTimePeriod_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + } + + /// + /// Demand Detail + /// + [Serializable()] + [DataContract()] + [Segment("DD")] + public class DD { + + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(1)] + public string IndustryCode_01 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(2)] + public string CodeListQualifierCode_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(5)] + public string IndustryCode_05 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(6)] + public string CodeListQualifierCode_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(9)] + public string IndustryCode_09 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(10)] + public string CodeListQualifierCode_10 { + get; + set; + } + } + + /// + /// Description + /// + [Serializable()] + [DataContract()] + [Segment("DDI")] + public class DDI { + + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(1)] + public string Description_01 { + get; + set; + } + } + + /// + /// Deductions + /// + [Serializable()] + [DataContract()] + [Segment("DED")] + public class DED { + + /// + /// Type of Deduction + /// + [DataMember] + [Required] + [DataElement("1511", typeof(X12_ID_1511))] + [Pos(1)] + public string TypeofDeduction_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(7)] + public string Name_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + } + + /// + /// Delayed Repayment + /// + [Serializable()] + [DataContract()] + [Segment("DEF")] + public class DEF { + + /// + /// Delayed Repayment Qualifier Code + /// + [DataMember] + [Required] + [DataElement("998", typeof(X12_ID_998))] + [Pos(1)] + public string DelayedRepaymentQualifierCode_01 { + get; + set; + } + /// + /// Delayed Repayment Reason Code + /// + [DataMember] + [Required] + [DataElement("1264", typeof(X12_ID_1264))] + [Pos(2)] + public string DelayedRepaymentReasonCode_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Interest Payment Code + /// + [DataMember] + [DataElement("1265", typeof(X12_ID_1265))] + [Pos(5)] + public string InterestPaymentCode_05 { + get; + set; + } + } + + /// + /// Degree Record + /// + [Serializable()] + [DataContract()] + [Segment("DEG")] + public class DEG { + + /// + /// Academic Degree Code + /// + [DataMember] + [Required] + [StringLength(3, 3)] + [DataElement("1126", typeof(X12_AN))] + [Pos(1)] + public string AcademicDegreeCode_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(5)] + public string StatusReasonCode_05 { + get; + set; + } + } + + /// + /// Delivery + /// + [Serializable()] + [DataContract()] + [Segment("DEL")] + public class DEL { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(4)] + public string InvoiceNumber_04 { + get; + set; + } + /// + /// Move Type Code + /// + [DataMember] + [DataElement("1237", typeof(X12_ID_1237))] + [Pos(5)] + public string MoveTypeCode_05 { + get; + set; + } + } + + /// + /// Deposit + /// + [Serializable()] + [DataContract()] + [Segment("DEP")] + public class DEP { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [Required] + [DataElement("506", typeof(X12_ID_506))] + [Pos(5)] + public string DFIIDNumberQualifier_05 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [Required] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(6)] + public string DFIIdentificationNumber_06 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(7)] + public string AccounCAumberQualifier_07 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(8)] + public string AccounCAumber_08 { + get; + set; + } + } + + /// + /// Delivery Execution Information + /// + [Serializable()] + [DataContract()] + [Segment("DEX")] + public class DEX { + + /// + /// Sales Terms Code + /// + [DataMember] + [DataElement("139", typeof(X12_ID_139))] + [Pos(1)] + public string SalesTermsCode_01 { + get; + set; + } + /// + /// Remittance Type Code + /// + [DataMember] + [DataElement("1408", typeof(X12_ID_1408))] + [Pos(2)] + public string RemittanceTypeCode_02 { + get; + set; + } + /// + /// Investor Ownership Type Code + /// + [DataMember] + [DataElement("1407", typeof(X12_ID_1407))] + [Pos(3)] + public string InvestorOwnershipTypeCode_03 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(4)] + public string Number_04 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(5)] + public string CodeListQualifierCode_05 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(6)] + public string IndustryCode_06 { + get; + set; + } + } + + /// + /// Default Information + /// + [Serializable()] + [DataContract()] + [Segment("DFI")] + public class DFI { + + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(1)] + public string StatusReasonCode_01 { + get; + set; + } + /// + /// Claim Filing Indicator Code + /// + [DataMember] + [DataElement("1032", typeof(X12_ID_1032))] + [Pos(2)] + public string ClaimFilingIndicatorCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + } + + /// + /// Dealer Hours + /// + [Serializable()] + [DataContract()] + [Segment("DH")] + public class DH { + + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [Required] + [DataElement("678", typeof(X12_ID_678))] + [Pos(1)] + public string ShipDeliveryorCalendarPatternCode_01 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(2)] + public string Time_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + } + + /// + /// Discount Detail + /// + [Serializable()] + [DataContract()] + [Segment("DIS")] + public class DIS { + + /// + /// Discount Terms Type Code + /// + [DataMember] + [Required] + [DataElement("653", typeof(X12_ID_653))] + [Pos(1)] + public string DiscountTermsTypeCode_01 { + get; + set; + } + /// + /// Discount Base Qualifier + /// + [DataMember] + [Required] + [DataElement("654", typeof(X12_ID_654))] + [Pos(2)] + public string DiscountBaseQualifier_02 { + get; + set; + } + /// + /// Discount Base Value + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("655", typeof(X12_R))] + [Pos(3)] + public string DiscountBaseValue_03 { + get; + set; + } + /// + /// Discount Control Limit Qualifier + /// + [DataMember] + [Required] + [DataElement("656", typeof(X12_ID_656))] + [Pos(4)] + public string DiscountControlLimitQualifier_04 { + get; + set; + } + /// + /// Discount Control Limit + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("657", typeof(X12_N0))] + [Pos(5)] + public string DiscountControlLimit_05 { + get; + set; + } + /// + /// Discount Control Limit + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("657", typeof(X12_N0))] + [Pos(6)] + public string DiscountControlLimit_06 { + get; + set; + } + } + + /// + /// Docket Header + /// + [Serializable()] + [DataContract()] + [Segment("DK")] + public class DK { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Docket Control Number + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("697", typeof(X12_AN))] + [Pos(2)] + public string DocketControlNumber_02 { + get; + set; + } + /// + /// Docket Identification + /// + [DataMember] + [Required] + [StringLength(1, 11)] + [DataElement("690", typeof(X12_AN))] + [Pos(3)] + public string DocketIdentification_03 { + get; + set; + } + /// + /// Revision Number + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("691", typeof(X12_N0))] + [Pos(4)] + public string RevisionNumber_04 { + get; + set; + } + /// + /// Conveyance Code + /// + [DataMember] + [DataElement("692", typeof(X12_ID_692))] + [Pos(5)] + public string ConveyanceCode_05 { + get; + set; + } + /// + /// Docket Type Code + /// + [DataMember] + [DataElement("693", typeof(X12_ID_693))] + [Pos(6)] + public string DocketTypeCode_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Application Type + /// + [DataMember] + [DataElement("346", typeof(X12_ID_346))] + [Pos(9)] + public string ApplicationType_09 { + get; + set; + } + /// + /// Group Title + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("260", typeof(X12_AN))] + [Pos(10)] + public string GroupTitle_10 { + get; + set; + } + } + + /// + /// Auto Claim Detail - Labor + /// + [Serializable()] + [DataContract()] + [Segment("DL")] + public class DL { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Labor Hours + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("542", typeof(X12_N1))] + [Pos(2)] + public string LaborHours_02 { + get; + set; + } + /// + /// Labor Hours + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("542", typeof(X12_N1))] + [Pos(3)] + public string LaborHours_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(6)] + public string Number_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + } + + /// + /// Deliverable Information + /// + [Serializable()] + [DataContract()] + [Segment("DLV")] + public class DLV { + + /// + /// Quantity Ordered + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(1)] + public string QuantityOrdered_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Program Type Code + /// + [DataMember] + [DataElement("1193", typeof(X12_ID_1193))] + [Pos(4)] + public string ProgramTypeCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + } + + /// + /// Demurrage/Detention/ Storage Rate + /// + [Serializable()] + [DataContract()] + [Segment("DM")] + public class DM { + + /// + /// Geography Qualifier Code + /// + [DataMember] + [Required] + [DataElement("262", typeof(X12_ID_262))] + [Pos(1)] + public string GeographyQualifierCode_01 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [Required] + [DataElement("122", typeof(X12_ID_122))] + [Pos(2)] + public string RateValueQualifier_02 { + get; + set; + } + /// + /// Time Qualifier + /// + [DataMember] + [DataElement("176", typeof(X12_ID_176))] + [Pos(3)] + public string TimeQualifier_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(5)] + public string NumberofPeriods_05 { + get; + set; + } + /// + /// Time Period Qualifier + /// + [DataMember] + [Required] + [DataElement("615", typeof(X12_ID_615))] + [Pos(6)] + public string TimePeriodQualifier_06 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(7)] + public string NumberofPeriods_07 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(8)] + public string Rate_08 { + get; + set; + } + /// + /// Intermodal Service Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("177", typeof(X12_AN))] + [Pos(9)] + public string IntermodalServiceCode_09 { + get; + set; + } + /// + /// Tariff Application Code + /// + [DataMember] + [DataElement("257", typeof(X12_ID_257))] + [Pos(10)] + public string TariffApplicationCode_10 { + get; + set; + } + /// + /// Billing Code + /// + [DataMember] + [DataElement("11", typeof(X12_ID_11))] + [Pos(11)] + public string BillingCode_11 { + get; + set; + } + /// + /// Time Period Qualifier + /// + [DataMember] + [DataElement("615", typeof(X12_ID_615))] + [Pos(12)] + public string TimePeriodQualifier_12 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(13)] + public string NumberofPeriods_13 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(14)] + public string NumberofPeriods_14 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(15)] + public string Rate_15 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(16)] + public string NumberofPeriods_16 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(17)] + public string Rate_17 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(18)] + public string NumberofPeriods_18 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(19)] + public string Rate_19 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(20)] + public string NumberofPeriods_20 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(21)] + public string Rate_21 { + get; + set; + } + } + + /// + /// Additional Demographic Information + /// + [Serializable()] + [DataContract()] + [Segment("DMA")] + public class DMA { + + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(2)] + public string StateorProvinceCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(4)] + public string StateorProvinceCode_04 { + get; + set; + } + /// + /// Applicant Type Code + /// + [DataMember] + [DataElement("1268", typeof(X12_ID_1268))] + [Pos(5)] + public string ApplicantTypeCode_05 { + get; + set; + } + /// + /// Licensing Agency Code + /// + [DataMember] + [DataElement("83", typeof(X12_ID_83))] + [Pos(6)] + public string LicensingAgencyCode_06 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(7)] + public string CountryCode_07 { + get; + set; + } + /// + /// Language Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("819", typeof(X12_AN))] + [Pos(8)] + public string LanguageCode_08 { + get; + set; + } + /// + /// Status Code + /// + [DataMember] + [DataElement("546", typeof(X12_ID_546))] + [Pos(9)] + public string StatusCode_09 { + get; + set; + } + } + + /// + /// Demographic Information + /// + [Serializable()] + [DataContract()] + [Segment("DMG")] + public class DMG { + + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(1)] + public string DateTimePeriodFormatQualifier_01 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(2)] + public string DateTimePeriod_02 { + get; + set; + } + /// + /// Gender Code + /// + [DataMember] + [DataElement("1068", typeof(X12_ID_1068))] + [Pos(3)] + public string GenderCode_03 { + get; + set; + } + /// + /// Marital Status Code + /// + [DataMember] + [DataElement("1067", typeof(X12_ID_1067))] + [Pos(4)] + public string MaritalStatusCode_04 { + get; + set; + } + /// + /// Race or Ethnicity Code + /// + [DataMember] + [DataElement("1109", typeof(X12_ID_1109))] + [Pos(5)] + public string RaceorEthnicityCode_05 { + get; + set; + } + /// + /// Citizenship Status Code + /// + [DataMember] + [DataElement("1066", typeof(X12_ID_1066))] + [Pos(6)] + public string CitizenshipStatusCode_06 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(7)] + public string CountryCode_07 { + get; + set; + } + /// + /// Basis of Verification Code + /// + [DataMember] + [DataElement("659", typeof(X12_ID_659))] + [Pos(8)] + public string BasisofVerificationCode_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + } + + /// + /// Data Maintenance Information + /// + [Serializable()] + [DataContract()] + [Segment("DMI")] + public class DMI { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Data Maintenance Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("926", typeof(X12_AN))] + [Pos(2)] + public string DataMaintenanceNumber_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(4)] + public string AddressInformation_04 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(5)] + public string AddressInformation_05 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(6)] + public string CityName_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(8)] + public string PostalCode_08 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(9)] + public string CountryCode_09 { + get; + set; + } + /// + /// Communication Number Qualifier + /// + [DataMember] + [DataElement("365", typeof(X12_ID_365))] + [Pos(10)] + public string CommunicationNumberQualifier_10 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(11)] + public string CommunicationNumber_11 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(12)] + public string NoteIdentificationNumber_12 { + get; + set; + } + } + + /// + /// Dealer Effectivity + /// + [Serializable()] + [DataContract()] + [Segment("DN")] + public class DN { + + /// + /// Date Qualifier + /// + [DataMember] + [Required] + [DataElement("432", typeof(X12_ID_432))] + [Pos(1)] + public string DateQualifier_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Demand Area + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("1242", typeof(X12_AN))] + [Pos(3)] + public string DemandArea_03 { + get; + set; + } + /// + /// Financial Status + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("1243", typeof(X12_AN))] + [Pos(4)] + public string FinancialStatus_04 { + get; + set; + } + } + + /// + /// Orthodontic Information + /// + [Serializable()] + [DataContract()] + [Segment("DN1")] + public class DN1 { + + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + } + + /// + /// Tooth Summary + /// + [Serializable()] + [DataContract()] + [Segment("DN2")] + public class DN2 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Tooth Status Code + /// + [DataMember] + [Required] + [DataElement("1368", typeof(X12_ID_1368))] + [Pos(2)] + public string ToothStatusCode_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(4)] + public string DateTimePeriodFormatQualifier_04 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(5)] + public string DateTimePeriod_05 { + get; + set; + } + } + + /// + /// Definition of Share + /// + [Serializable()] + [DataContract()] + [Segment("DOS")] + public class DOS { + + /// + /// Contract Type Code + /// + [DataMember] + [Required] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(1)] + public string ContractTypeCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(3)] + public string Percent_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(6)] + public string EntityIdentifierCode_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + } + + /// + /// Auto Claim Detail - Parts + /// + [Serializable()] + [DataContract()] + [Segment("DP")] + public class DP { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(6)] + public string ConditionIndicator_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(11)] + public string Quantity_11 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(12)] + public string ProductServiceID_12 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(13)] + public string FreeformDescription_13 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("332", typeof(X12_R))] + [Pos(14)] + public string Percent_14 { + get; + set; + } + /// + /// Allowance or Charge Total Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("360", typeof(X12_N2))] + [Pos(15)] + public string AllowanceorChargeTotalAmount_15 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(16)] + public string YesNoConditionorResponseCode_16 { + get; + set; + } + } + + /// + /// Dependent Information + /// + [Serializable()] + [DataContract()] + [Segment("DPN")] + public class DPN { + + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(1)] + public string Number_01 { + get; + set; + } + /// + /// Marital Status Code + /// + [DataMember] + [DataElement("1067", typeof(X12_ID_1067))] + [Pos(2)] + public string MaritalStatusCode_02 { + get; + set; + } + /// + /// Employment Status Code + /// + [DataMember] + [DataElement("584", typeof(X12_ID_584))] + [Pos(3)] + public string EmploymentStatusCode_03 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(4)] + public string Number_04 { + get; + set; + } + } + + /// + /// Docket Range + /// + [Serializable()] + [DataContract()] + [Segment("DR")] + public class DR { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Docket Control Number + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("697", typeof(X12_AN))] + [Pos(3)] + public string DocketControlNumber_03 { + get; + set; + } + /// + /// Docket Identification + /// + [DataMember] + [Required] + [StringLength(1, 11)] + [DataElement("690", typeof(X12_AN))] + [Pos(4)] + public string DocketIdentification_04 { + get; + set; + } + /// + /// Revision Number + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("691", typeof(X12_N0))] + [Pos(5)] + public string RevisionNumber_05 { + get; + set; + } + /// + /// Docket Identification + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("690", typeof(X12_AN))] + [Pos(6)] + public string DocketIdentification_06 { + get; + set; + } + } + + /// + /// Deprescription Rate Detail + /// + [Serializable()] + [DataContract()] + [Segment("DRT")] + public class DRT { + + /// + /// Load/Empty Status Code + /// + [DataMember] + [DataElement("322", typeof(X12_ID_322))] + [Pos(1)] + public string LoadEmptyStatusCode_01 { + get; + set; + } + /// + /// Billed/Rated-as Qualifier + /// + [DataMember] + [DataElement("221", typeof(X12_ID_221))] + [Pos(2)] + public string BilledRatedasQualifier_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Change Type Code + /// + [DataMember] + [DataElement("259", typeof(X12_ID_259))] + [Pos(5)] + public string ChangeTypeCode_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + } + + /// + /// Disability Information + /// + [Serializable()] + [DataContract()] + [Segment("DSB")] + public class DSB { + + /// + /// Disability Type Code + /// + [DataMember] + [Required] + [DataElement("1146", typeof(X12_ID_1146))] + [Pos(1)] + public string DisabilityTypeCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Occupation Code + /// + [DataMember] + [StringLength(4, 6)] + [DataElement("1149", typeof(X12_AN))] + [Pos(3)] + public string OccupationCode_03 { + get; + set; + } + /// + /// Work Intensity Code + /// + [DataMember] + [DataElement("1154", typeof(X12_ID_1154))] + [Pos(4)] + public string WorkIntensityCode_04 { + get; + set; + } + /// + /// Product Option Code + /// + [DataMember] + [DataElement("1161", typeof(X12_ID_1161))] + [Pos(5)] + public string ProductOptionCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(7)] + public string ProductServiceIDQualifier_07 { + get; + set; + } + /// + /// Medical Code Value + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1137", typeof(X12_AN))] + [Pos(8)] + public string MedicalCodeValue_08 { + get; + set; + } + } + + /// + /// Date/Time Reference + /// + [Serializable()] + [DataContract()] + [Segment("DTM")] + public class DTM { + + /// + /// Date/Time Qualifier + /// + [DataMember] + [Required] + [DataElement("374", typeof(X12_ID_374))] + [Pos(1)] + public string DateTimeQualifier_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(4)] + public string TimeCode_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + } + + /// + /// Date or Time or Period + /// + [Serializable()] + [DataContract()] + [Segment("DTP")] + public class DTP { + + /// + /// Date/Time Qualifier + /// + [DataMember] + [Required] + [DataElement("374", typeof(X12_ID_374))] + [Pos(1)] + public string DateTimeQualifier_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + } + + /// + /// Dynamic Vehicle Information + /// + [Serializable()] + [DataContract()] + [Segment("DVI")] + public class DVI { + + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(1)] + public string PriceIdentifierCode_01 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(2)] + public string UnitPrice_02 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(3)] + public string CurrencyCode_03 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(4)] + public string DateTimePeriodFormatQualifier_04 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(5)] + public string DateTimePeriod_05 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(6)] + public string Name_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(9)] + public string StateorProvinceCode_09 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(10)] + public string DateTimePeriodFormatQualifier_10 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(11)] + public string DateTimePeriod_11 { + get; + set; + } + /// + /// License Plate Type + /// + [DataMember] + [DataElement("1423", typeof(X12_ID_1423))] + [Pos(12)] + public string LicensePlateType_12 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(13)] + public string YesNoConditionorResponseCode_13 { + get; + set; + } + } + + /// + /// Electronic Form Main Heading + /// + [Serializable()] + [DataContract()] + [Segment("E01")] + public class E01 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Electronic Form Standards Type Code + /// + [DataMember] + [Required] + [DataElement("922", typeof(X12_ID_922))] + [Pos(2)] + public string ElectronicFormStandardsTypeCode_02 { + get; + set; + } + /// + /// Version / Release / Industry Identifier Code + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("480", typeof(X12_AN))] + [Pos(3)] + public string VersionReleaseIndustryIdentifierCode_03 { + get; + set; + } + /// + /// Full or Partial Indicator + /// + [DataMember] + [Required] + [DataElement("924", typeof(X12_ID_924))] + [Pos(4)] + public string FullorPartialIndicator_04 { + get; + set; + } + } + + /// + /// Interchange Order of Segments + /// + [Serializable()] + [DataContract()] + [Segment("E03")] + public class E03 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Level Number + /// + [DataMember] + [Required] + [DataElement("906", typeof(X12_ID_906))] + [Pos(2)] + public string LevelNumber_02 { + get; + set; + } + /// + /// Segment ID Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("721", typeof(X12_AN))] + [Pos(3)] + public string SegmentIDCode_03 { + get; + set; + } + /// + /// Envelope Indicator + /// + [DataMember] + [Required] + [DataElement("903", typeof(X12_ID_903))] + [Pos(4)] + public string EnvelopeIndicator_04 { + get; + set; + } + /// + /// Requirement Designator + /// + [DataMember] + [Required] + [DataElement("904", typeof(X12_ID_904))] + [Pos(5)] + public string RequirementDesignator_05 { + get; + set; + } + /// + /// Maximum Use + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("905", typeof(X12_N0))] + [Pos(6)] + public string MaximumUse_06 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(7)] + public string NoteIdentificationNumber_07 { + get; + set; + } + } + + /// + /// Empty Car Disposition - Pended Destination Consignee + /// + [Serializable()] + [DataContract()] + [Segment("E1")] + public class E1 { + + /// + /// Name (30 Character Format) + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("459", typeof(X12_AN))] + [Pos(1)] + public string NameCharacterFormat_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + } + + /// + /// Transaction Set Grouping + /// + [Serializable()] + [DataContract()] + [Segment("E10")] + public class E10 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Transaction Set Identifier Code + /// + [DataMember] + [Required] + [DataElement("143", typeof(X12_ID_143))] + [Pos(2)] + public string TransactionSetIdentifierCode_02 { + get; + set; + } + /// + /// Functional Identifier Code + /// + [DataMember] + [Required] + [DataElement("479", typeof(X12_ID_479))] + [Pos(3)] + public string FunctionalIdentifierCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(5)] + public string NoteIdentificationNumber_05 { + get; + set; + } + } + + /// + /// Segment Order in Transaction Set + /// + [Serializable()] + [DataContract()] + [Segment("E13")] + public class E13 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Position in Set + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("589", typeof(X12_N0))] + [Pos(2)] + public string PositioninSet_02 { + get; + set; + } + /// + /// Section Designator + /// + [DataMember] + [DataElement("902", typeof(X12_ID_902))] + [Pos(3)] + public string SectionDesignator_03 { + get; + set; + } + /// + /// Segment ID Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("721", typeof(X12_AN))] + [Pos(4)] + public string SegmentIDCode_04 { + get; + set; + } + /// + /// Requirement Designator + /// + [DataMember] + [DataElement("904", typeof(X12_ID_904))] + [Pos(5)] + public string RequirementDesignator_05 { + get; + set; + } + /// + /// Maximum Use + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("905", typeof(X12_N0))] + [Pos(6)] + public string MaximumUse_06 { + get; + set; + } + /// + /// Loop Name + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("909", typeof(X12_AN))] + [Pos(7)] + public string LoopName_07 { + get; + set; + } + /// + /// Loop Repeat Count + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("910", typeof(X12_N0))] + [Pos(8)] + public string LoopRepeatCount_08 { + get; + set; + } + /// + /// Loop Level Number + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("489", typeof(X12_N0))] + [Pos(9)] + public string LoopLevelNumber_09 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(10)] + public string NoteIdentificationNumber_10 { + get; + set; + } + } + + /// + /// Segment Header Information + /// + [Serializable()] + [DataContract()] + [Segment("E20")] + public class E20 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Segment ID Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("721", typeof(X12_AN))] + [Pos(2)] + public string SegmentIDCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(4)] + public string NoteIdentificationNumber_04 { + get; + set; + } + } + + /// + /// Data Element Relationships in a Segment + /// + [Serializable()] + [DataContract()] + [Segment("E22")] + public class E22 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Relation Code + /// + [DataMember] + [Required] + [DataElement("912", typeof(X12_ID_912))] + [Pos(2)] + public string RelationCode_02 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(3)] + public string PositioninSegment_03 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(4)] + public string PositioninSegment_04 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(5)] + public string PositioninSegment_05 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(6)] + public string PositioninSegment_06 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(7)] + public string PositioninSegment_07 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(8)] + public string PositioninSegment_08 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(9)] + public string PositioninSegment_09 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(10)] + public string PositioninSegment_10 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(11)] + public string PositioninSegment_11 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(12)] + public string PositioninSegment_12 { + get; + set; + } + } + + /// + /// Data Element Sequence in a Segment + /// + [Serializable()] + [DataContract()] + [Segment("E24")] + public class E24 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Position in Segment + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("911", typeof(X12_N0))] + [Pos(2)] + public string PositioninSegment_02 { + get; + set; + } + /// + /// Data Element Reference Number + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("725", typeof(X12_N0))] + [Pos(3)] + public string DataElementReferenceNumber_03 { + get; + set; + } + /// + /// Requirement Designator + /// + [DataMember] + [Required] + [DataElement("904", typeof(X12_ID_904))] + [Pos(4)] + public string RequirementDesignator_04 { + get; + set; + } + /// + /// Data Element Type + /// + [DataMember] + [DataElement("491", typeof(X12_ID_491))] + [Pos(5)] + public string DataElementType_05 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(6)] + public string NoteIdentificationNumber_06 { + get; + set; + } + } + + /// + /// Element Sequence in Composite + /// + [Serializable()] + [DataContract()] + [Segment("E26")] + public class E26 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Position in Composite + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("492", typeof(X12_N0))] + [Pos(2)] + public string PositioninComposite_02 { + get; + set; + } + /// + /// Data Element Reference Number + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("725", typeof(X12_N0))] + [Pos(3)] + public string DataElementReferenceNumber_03 { + get; + set; + } + /// + /// Requirement Designator + /// + [DataMember] + [Required] + [DataElement("904", typeof(X12_ID_904))] + [Pos(4)] + public string RequirementDesignator_04 { + get; + set; + } + /// + /// Data Element Type + /// + [DataMember] + [DataElement("491", typeof(X12_ID_491))] + [Pos(5)] + public string DataElementType_05 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(6)] + public string NoteIdentificationNumber_06 { + get; + set; + } + } + + /// + /// Data Element Attributes + /// + [Serializable()] + [DataContract()] + [Segment("E30")] + public class E30 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Data Element Reference Number + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("725", typeof(X12_N0))] + [Pos(2)] + public string DataElementReferenceNumber_02 { + get; + set; + } + /// + /// Data Element Type + /// + [DataMember] + [Required] + [DataElement("913", typeof(X12_ID_913))] + [Pos(3)] + public string DataElementType_03 { + get; + set; + } + /// + /// Minimum Length + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("914", typeof(X12_N0))] + [Pos(4)] + public string MinimumLength_04 { + get; + set; + } + /// + /// Maximum Length + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("915", typeof(X12_N0))] + [Pos(5)] + public string MaximumLength_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(7)] + public string NoteIdentificationNumber_07 { + get; + set; + } + /// + /// Data Element Reference Number + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("725", typeof(X12_N0))] + [Pos(8)] + public string DataElementReferenceNumber_08 { + get; + set; + } + /// + /// Code List Reference + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("916", typeof(X12_AN))] + [Pos(9)] + public string CodeListReference_09 { + get; + set; + } + } + + /// + /// Code List Values for a Data Element + /// + [Serializable()] + [DataContract()] + [Segment("E34")] + public class E34 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Code Value + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("918", typeof(X12_AN))] + [Pos(2)] + public string CodeValue_02 { + get; + set; + } + /// + /// Partition Indicator + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("505", typeof(X12_AN))] + [Pos(3)] + public string PartitionIndicator_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + } + + /// + /// Empty Car Disposition - Pended Destination City + /// + [Serializable()] + [DataContract()] + [Segment("E4")] + public class E4 { + + /// + /// City Name + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(1)] + public string CityName_01 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(2)] + public string StateorProvinceCode_02 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(3)] + public string PostalCode_03 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(4)] + public string CountryCode_04 { + get; + set; + } + } + + /// + /// EDI Standards Note Reference + /// + [Serializable()] + [DataContract()] + [Segment("E40")] + public class E40 { + + /// + /// Maintenance Operation Code + /// + [DataMember] + [Required] + [DataElement("487", typeof(X12_ID_487))] + [Pos(1)] + public string MaintenanceOperationCode_01 { + get; + set; + } + /// + /// Note Identification Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("490", typeof(X12_N0))] + [Pos(2)] + public string NoteIdentificationNumber_02 { + get; + set; + } + /// + /// Electronic Form Note Reference Code + /// + [DataMember] + [Required] + [DataElement("568", typeof(X12_ID_568))] + [Pos(3)] + public string ElectronicFormNoteReferenceCode_03 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(4)] + public string AssignedIdentification_04 { + get; + set; + } + } + + /// + /// Empty Car Disposition - Pended Destination Route + /// + [Serializable()] + [DataContract()] + [Segment("E5")] + public class E5 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Routing Sequence Code + /// + [DataMember] + [Required] + [DataElement("133", typeof(X12_ID_133))] + [Pos(2)] + public string RoutingSequenceCode_02 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(3)] + public string CityName_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + } + + /// + /// Advance Car Disposition + /// + [Serializable()] + [DataContract()] + [Segment("E6")] + public class E6 { + + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(3)] + public string CityName_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Intermediate Switch Carrier + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("296", typeof(X12_AN))] + [Pos(6)] + public string IntermediateSwitchCarrier_06 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(7)] + public string CommodityCode_07 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(8)] + public string CarTypeCode_08 { + get; + set; + } + /// + /// Equipment Status Code + /// + [DataMember] + [Required] + [DataElement("578", typeof(X12_ID_578))] + [Pos(9)] + public string EquipmentStatusCode_09 { + get; + set; + } + } + + /// + /// Blocking and Response Information + /// + [Serializable()] + [DataContract()] + [Segment("E8")] + public class E8 { + + /// + /// Block Identification + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("42", typeof(X12_AN))] + [Pos(1)] + public string BlockIdentification_01 { + get; + set; + } + /// + /// Movement Authority Code + /// + [DataMember] + [DataElement("748", typeof(X12_ID_748))] + [Pos(2)] + public string MovementAuthorityCode_02 { + get; + set; + } + } + + /// + /// Equipment Attributes + /// + [Serializable()] + [DataContract()] + [Segment("EA")] + public class EA { + + /// + /// Equipment Attribute Code + /// + [DataMember] + [Required] + [DataElement("1402", typeof(X12_ID_1402))] + [Pos(1)] + public string EquipmentAttributeCode_01 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(2)] + public C001 CompositeUnitofMeasure_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + } + + /// + /// Eligibility or Benefit Information + /// + [Serializable()] + [DataContract()] + [Segment("EB")] + public class EB { + + /// + /// Eligibility or Benefit Information + /// + [DataMember] + [Required] + [DataElement("1390", typeof(X12_ID_1390))] + [Pos(1)] + public string EligibilityorBenefitInformation_01 { + get; + set; + } + /// + /// Coverage Level Code + /// + [DataMember] + [DataElement("1207", typeof(X12_ID_1207))] + [Pos(2)] + public string CoverageLevelCode_02 { + get; + set; + } + /// + /// Service Type Code + /// + [DataMember] + [DataElement("1365", typeof(X12_ID_1365))] + [Pos(3)] + public string ServiceTypeCode_03 { + get; + set; + } + /// + /// Insurance Type Code + /// + [DataMember] + [DataElement("1336", typeof(X12_ID_1336))] + [Pos(4)] + public string InsuranceTypeCode_04 { + get; + set; + } + /// + /// Plan Coverage Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("1204", typeof(X12_AN))] + [Pos(5)] + public string PlanCoverageDescription_05 { + get; + set; + } + /// + /// Time Period Qualifier + /// + [DataMember] + [DataElement("615", typeof(X12_ID_615))] + [Pos(6)] + public string TimePeriodQualifier_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(8)] + public string Percent_08 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(9)] + public string QuantityQualifier_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Pos(13)] + public C003 CompositeMedicalProcedureIdentifier_13 { + get; + set; + } + } + + /// + /// Employment Class + /// + [Serializable()] + [DataContract()] + [Segment("EC")] + public class EC { + + /// + /// Employment Class Code + /// + [DataMember] + [DataElement("1176", typeof(X12_ID_1176))] + [Pos(1)] + public string EmploymentClassCode_01 { + get; + set; + } + /// + /// Employment Class Code + /// + [DataMember] + [DataElement("1176", typeof(X12_ID_1176))] + [Pos(2)] + public string EmploymentClassCode_02 { + get; + set; + } + /// + /// Employment Class Code + /// + [DataMember] + [DataElement("1176", typeof(X12_ID_1176))] + [Pos(3)] + public string EmploymentClassCode_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Information Status Code + /// + [DataMember] + [DataElement("1201", typeof(X12_ID_1201))] + [Pos(5)] + public string InformationStatusCode_05 { + get; + set; + } + /// + /// Occupation Code + /// + [DataMember] + [StringLength(4, 6)] + [DataElement("1149", typeof(X12_AN))] + [Pos(6)] + public string OccupationCode_06 { + get; + set; + } + } + + /// + /// Equipment Description + /// + [Serializable()] + [DataContract()] + [Segment("ED")] + public class ED { + + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Load/Empty Status Code + /// + [DataMember] + [DataElement("322", typeof(X12_ID_322))] + [Pos(3)] + public string LoadEmptyStatusCode_03 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(4)] + public string CommodityCode_04 { + get; + set; + } + /// + /// Lading Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("79", typeof(X12_AN))] + [Pos(5)] + public string LadingDescription_05 { + get; + set; + } + /// + /// Waybill Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(6)] + public string WaybillNumber_06 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(7)] + public string EquipmenCAumber_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + } + + /// + /// Electronic Format Identification + /// + [Serializable()] + [DataContract()] + [Segment("EFI")] + public class EFI { + + /// + /// Security Level Code + /// + [DataMember] + [Required] + [DataElement("786", typeof(X12_ID_786))] + [Pos(1)] + public string SecurityLevelCode_01 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(2)] + public string FreeFormMessageText_02 { + get; + set; + } + /// + /// Security Technique Code + /// + [DataMember] + [DataElement("797", typeof(X12_ID_797))] + [Pos(3)] + public string SecurityTechniqueCode_03 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(4)] + public string VersionIdentifier_04 { + get; + set; + } + /// + /// Program Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("802", typeof(X12_AN))] + [Pos(5)] + public string ProgramIdentifier_05 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(6)] + public string VersionIdentifier_06 { + get; + set; + } + /// + /// Interchange Format + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("801", typeof(X12_AN))] + [Pos(7)] + public string InterchangeFormat_07 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(8)] + public string VersionIdentifier_08 { + get; + set; + } + /// + /// Compression Technique + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("800", typeof(X12_AN))] + [Pos(9)] + public string CompressionTechnique_09 { + get; + set; + } + /// + /// Drawing Sheet Size Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("789", typeof(X12_AN))] + [Pos(10)] + public string DrawingSheetSizeCode_10 { + get; + set; + } + /// + /// File Name + /// + [DataMember] + [StringLength(1, 64)] + [DataElement("803", typeof(X12_AN))] + [Pos(11)] + public string FileName_11 { + get; + set; + } + /// + /// Block Type + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("804", typeof(X12_AN))] + [Pos(12)] + public string BlockType_12 { + get; + set; + } + /// + /// Record Length + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("787", typeof(X12_N))] + [Pos(13)] + public string RecordLength_13 { + get; + set; + } + /// + /// Block Length + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("788", typeof(X12_N))] + [Pos(14)] + public string BlockLength_14 { + get; + set; + } + /// + /// Version Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("799", typeof(X12_AN))] + [Pos(15)] + public string VersionIdentifier_15 { + get; + set; + } + /// + /// Filter ID Code + /// + [DataMember] + [DataElement("1570", typeof(X12_ID_1570))] + [Pos(16)] + public string FilterIDCode_16 { + get; + set; + } + } + + /// + /// Automatic Equipment Identification + /// + [Serializable()] + [DataContract()] + [Segment("EI")] + public class EI { + + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(1)] + public string Count_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Equipment Orientation Code + /// + [DataMember] + [DataElement("1543", typeof(X12_ID_1543))] + [Pos(4)] + public string EquipmentOrientationCode_04 { + get; + set; + } + /// + /// Position + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("219", typeof(X12_AN))] + [Pos(5)] + public string Position_05 { + get; + set; + } + /// + /// Tag Status Code + /// + [DataMember] + [DataElement("1554", typeof(X12_ID_1554))] + [Pos(6)] + public string TagStatusCode_06 { + get; + set; + } + } + + /// + /// Beginning Segment for Equipment Inquiry or Advice + /// + [Serializable()] + [DataContract()] + [Segment("EIA")] + public class EIA { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(5)] + public string Count_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + } + + /// + /// Equipment Characteristics + /// + [Serializable()] + [DataContract()] + [Segment("EM")] + public class EM { + + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(1)] + public string WeightUnitCode_01 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(2)] + public string Weight_02 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(3)] + public string VolumeUnitQualifier_03 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(4)] + public string Volume_04 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(5)] + public string CountryCode_05 { + get; + set; + } + /// + /// Construction Type + /// + [DataMember] + [DataElement("1429", typeof(X12_ID_1429))] + [Pos(6)] + public string ConstructionType_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + } + + /// + /// Employer + /// + [Serializable()] + [DataContract()] + [Segment("EMP")] + public class EMP { + + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(1)] + public string Description_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(10)] + public string ReferenceIdentification_10 { + get; + set; + } + } + + /// + /// Employment Position + /// + [Serializable()] + [DataContract()] + [Segment("EMS")] + public class EMS { + + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(1)] + public string Description_01 { + get; + set; + } + /// + /// Employment Class Code + /// + [DataMember] + [DataElement("1176", typeof(X12_ID_1176))] + [Pos(2)] + public string EmploymentClassCode_02 { + get; + set; + } + /// + /// Occupation Code + /// + [DataMember] + [StringLength(4, 6)] + [DataElement("1149", typeof(X12_AN))] + [Pos(3)] + public string OccupationCode_03 { + get; + set; + } + /// + /// Employment Status Code + /// + [DataMember] + [DataElement("584", typeof(X12_ID_584))] + [Pos(4)] + public string EmploymentStatusCode_04 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(5)] + public string ReferenceIdentificationQualifier_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + } + + /// + /// Employment + /// + [Serializable()] + [DataContract()] + [Segment("EMT")] + public class EMT { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(3)] + public string StateorProvinceCode_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + } + + /// + /// Electronic Systems Environment + /// + [Serializable()] + [DataContract()] + [Segment("ENE")] + public class ENE { + + /// + /// Communications Environment Code + /// + [DataMember] + [Required] + [DataElement("709", typeof(X12_ID_709))] + [Pos(1)] + public string CommunicationsEnvironmentCode_01 { + get; + set; + } + /// + /// Communication Number Qualifier + /// + [DataMember] + [Required] + [DataElement("365", typeof(X12_ID_365))] + [Pos(2)] + public string CommunicationNumberQualifier_02 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(3)] + public string CommunicationNumber_03 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(4)] + public string IdentificationCodeQualifier_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + } + + /// + /// School Enrollment Information + /// + [Serializable()] + [DataContract()] + [Segment("ENR")] + public class ENR { + + /// + /// Status Reason Code + /// + [DataMember] + [Required] + [DataElement("641", typeof(X12_ID_641))] + [Pos(1)] + public string StatusReasonCode_01 { + get; + set; + } + /// + /// Level of Individual, Test, or Course Code + /// + [DataMember] + [DataElement("1131", typeof(X12_ID_1131))] + [Pos(2)] + public string LevelofIndividualTestorCourseCode_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Major Course of Study + /// + [DataMember] + [DataElement("1266", typeof(X12_ID_1266))] + [Pos(5)] + public string MajorCourseofStudy_05 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(6)] + public string RangeMinimum_06 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(7)] + public string RangeMaximum_07 { + get; + set; + } + /// + /// Academic Grade Point Average + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1144", typeof(X12_R))] + [Pos(8)] + public string AcademicGradePointAverage_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(12)] + public string DateTimePeriodFormatQualifier_12 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(13)] + public string DateTimePeriod_13 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(14)] + public string YesNoConditionorResponseCode_14 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(15)] + public string DateTimePeriodFormatQualifier_15 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(16)] + public string DateTimePeriod_16 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(17)] + public string DateTimePeriodFormatQualifier_17 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(18)] + public string DateTimePeriod_18 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(19)] + public string YesNoConditionorResponseCode_19 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(20)] + public string YesNoConditionorResponseCode_20 { + get; + set; + } + } + + /// + /// Entity + /// + [Serializable()] + [DataContract()] + [Segment("ENT")] + public class ENT { + + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(2)] + public string EntityIdentifierCode_02 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(3)] + public string IdentificationCodeQualifier_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(5)] + public string EntityIdentifierCode_05 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(6)] + public string IdentificationCodeQualifier_06 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(7)] + public string IdentificationCode_07 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(8)] + public string ReferenceIdentificationQualifier_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + } + + /// + /// Eligibility or Benefit Inquiry + /// + [Serializable()] + [DataContract()] + [Segment("EQ")] + public class EQ { + + /// + /// Service Type Code + /// + [DataMember] + [DataElement("1365", typeof(X12_ID_1365))] + [Pos(1)] + public string ServiceTypeCode_01 { + get; + set; + } + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Pos(2)] + public C003 CompositeMedicalProcedureIdentifier_02 { + get; + set; + } + /// + /// Coverage Level Code + /// + [DataMember] + [DataElement("1207", typeof(X12_ID_1207))] + [Pos(3)] + public string CoverageLevelCode_03 { + get; + set; + } + /// + /// Insurance Type Code + /// + [DataMember] + [DataElement("1336", typeof(X12_ID_1336))] + [Pos(4)] + public string InsuranceTypeCode_04 { + get; + set; + } + } + + /// + /// Rail Event Reporting + /// + [Serializable()] + [DataContract()] + [Segment("ER")] + public class ER { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Event Code + /// + [DataMember] + [Required] + [DataElement("304", typeof(X12_ID_304))] + [Pos(3)] + public string EventCode_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [Required] + [DataElement("374", typeof(X12_ID_374))] + [Pos(5)] + public string DateTimeQualifier_05 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(6)] + public string DateTimePeriodFormatQualifier_06 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(7)] + public string DateTimePeriod_07 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(8)] + public string StandardCarrierAlphaCode_08 { + get; + set; + } + /// + /// Interchange Train Identification + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(9)] + public string InterchangeTrainIdentification_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Load/Empty Status Code + /// + [DataMember] + [DataElement("322", typeof(X12_ID_322))] + [Pos(11)] + public string LoadEmptyStatusCode_11 { + get; + set; + } + } + + /// + /// Entity Relationship + /// + [Serializable()] + [DataContract()] + [Segment("ERI")] + public class ERI { + + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(1)] + public string IdentificationCodeQualifier_01 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(2)] + public string IdentificationCode_02 { + get; + set; + } + /// + /// Entity Relationship Code + /// + [DataMember] + [Required] + [DataElement("706", typeof(X12_ID_706))] + [Pos(3)] + public string EntityRelationshipCode_03 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(4)] + public string IdentificationCodeQualifier_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + /// + /// Entity Relationship Code + /// + [DataMember] + [Required] + [DataElement("706", typeof(X12_ID_706))] + [Pos(6)] + public string EntityRelationshipCode_06 { + get; + set; + } + /// + /// Entity Relationship Code + /// + [DataMember] + [DataElement("706", typeof(X12_ID_706))] + [Pos(7)] + public string EntityRelationshipCode_07 { + get; + set; + } + /// + /// Entity Relationship Code + /// + [DataMember] + [DataElement("706", typeof(X12_ID_706))] + [Pos(8)] + public string EntityRelationshipCode_08 { + get; + set; + } + /// + /// Hierarchy Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1400", typeof(X12_AN))] + [Pos(9)] + public string HierarchyCode_09 { + get; + set; + } + } + + /// + /// Educational Record Purpose + /// + [Serializable()] + [DataContract()] + [Segment("ERP")] + public class ERP { + + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(1)] + public string TransactionTypeCode_01 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(2)] + public string StatusReasonCode_02 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(3)] + public string ActionCode_03 { + get; + set; + } + } + + /// + /// Equipment Status + /// + [Serializable()] + [DataContract()] + [Segment("ES")] + public class ES { + + /// + /// Bad Order Reason Code + /// + [DataMember] + [DataElement("1488", typeof(X12_ID_1488))] + [Pos(1)] + public string BadOrderReasonCode_01 { + get; + set; + } + /// + /// Hold Reason Code + /// + [DataMember] + [DataElement("1489", typeof(X12_ID_1489))] + [Pos(2)] + public string HoldReasonCode_02 { + get; + set; + } + /// + /// Association of American Railroads Car Grade Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1490", typeof(X12_AN))] + [Pos(3)] + public string AssociationofAmericanRailroadsCarGradeCode_03 { + get; + set; + } + /// + /// Time Period Qualifier + /// + [DataMember] + [DataElement("519", typeof(X12_ID_519))] + [Pos(4)] + public string TimePeriodQualifier_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Switch Type Code + /// + [DataMember] + [DataElement("617", typeof(X12_ID_617))] + [Pos(6)] + public string SwitchTypeCode_06 { + get; + set; + } + } + + /// + /// Employment Status Information + /// + [Serializable()] + [DataContract()] + [Segment("ESI")] + public class ESI { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Employment Status Code + /// + [DataMember] + [DataElement("584", typeof(X12_ID_584))] + [Pos(6)] + public string EmploymentStatusCode_06 { + get; + set; + } + /// + /// Work Intensity Code + /// + [DataMember] + [DataElement("1154", typeof(X12_ID_1154))] + [Pos(7)] + public string WorkIntensityCode_07 { + get; + set; + } + /// + /// Reason Stopped Work Code + /// + [DataMember] + [DataElement("1468", typeof(X12_ID_1468))] + [Pos(8)] + public string ReasonStoppedWorkCode_08 { + get; + set; + } + } + + /// + /// Excess Transportation Detail + /// + [Serializable()] + [DataContract()] + [Segment("ETD")] + public class ETD { + + /// + /// Excess Transportation Reason Code + /// + [DataMember] + [Required] + [DataElement("626", typeof(X12_ID_626))] + [Pos(1)] + public string ExcessTransportationReasonCode_01 { + get; + set; + } + /// + /// Excess Transportation Responsibility Code + /// + [DataMember] + [Required] + [DataElement("627", typeof(X12_ID_627))] + [Pos(2)] + public string ExcessTransportationResponsibilityCode_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Returnable Container Freight Payment Responsibility Code + /// + [DataMember] + [DataElement("743", typeof(X12_ID_743))] + [Pos(5)] + public string ReturnableContainerFreightPaymentResponsibilityCode_05 { + get; + set; + } + } + + /// + /// Excavation Ticket Information + /// + [Serializable()] + [DataContract()] + [Segment("EXI")] + public class EXI { + + /// + /// Reference Identifier + /// + [DataMember] + [Required] + [Pos(1)] + public C040 ReferenceIdentifier_01 { + get; + set; + } + /// + /// Priority + /// + [DataMember] + [Required] + [StringLength(1, 1)] + [DataElement("467", typeof(X12_N0))] + [Pos(2)] + public string Priority_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Time Period Qualifier + /// + [DataMember] + [DataElement("519", typeof(X12_ID_519))] + [Pos(5)] + public string TimePeriodQualifier_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(8)] + public string ActionCode_08 { + get; + set; + } + } + + /// + /// Identification of Claim (Claimant Originated) + /// + [Serializable()] + [DataContract()] + [Segment("F01")] + public class F01 { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(4)] + public string StandardCarrierAlphaCode_04 { + get; + set; + } + /// + /// Supporting Evidence Code + /// + [DataMember] + [Required] + [DataElement("544", typeof(X12_ID_544))] + [Pos(5)] + public string SupportingEvidenceCode_05 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(6)] + public string CurrencyCode_06 { + get; + set; + } + /// + /// Exchange Rate + /// + [DataMember] + [StringLength(4, 10)] + [DataElement("280", typeof(X12_R))] + [Pos(7)] + public string ExchangeRate_07 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(8)] + public string IdentificationCodeQualifier_08 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(9)] + public string IdentificationCode_09 { + get; + set; + } + } + + /// + /// Identification of Shipment + /// + [Serializable()] + [DataContract()] + [Segment("F02")] + public class F02 { + + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(6)] + public string ReferenceIdentificationQualifier_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Vessel Code + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("597", typeof(X12_AN))] + [Pos(8)] + public string VesselCode_08 { + get; + set; + } + /// + /// Vessel Name + /// + [DataMember] + [StringLength(2, 28)] + [DataElement("182", typeof(X12_AN))] + [Pos(9)] + public string VesselName_09 { + get; + set; + } + } + + /// + /// Weight/Volume Loss + /// + [Serializable()] + [DataContract()] + [Segment("F04")] + public class F04 { + + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(1)] + public string Weight_01 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(2)] + public string WeightUnitCode_02 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(3)] + public string WeightQualifier_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(5)] + public string WeightUnitCode_05 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(6)] + public string WeightQualifier_06 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(7)] + public string Volume_07 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(8)] + public string VolumeUnitQualifier_08 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(9)] + public string Volume_09 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(10)] + public string VolumeUnitQualifier_10 { + get; + set; + } + } + + /// + /// Allowance/Charge (Claim) + /// + [Serializable()] + [DataContract()] + [Segment("F05")] + public class F05 { + + /// + /// Charge/Allowance Qualifier + /// + [DataMember] + [Required] + [DataElement("538", typeof(X12_ID_538))] + [Pos(1)] + public string ChargeAllowanceQualifier_01 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(2)] + public string Amount_02 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [Required] + [DataElement("478", typeof(X12_ID_478))] + [Pos(3)] + public string CreditDebitFlagCode_03 { + get; + set; + } + } + + /// + /// Auto Claim Detail + /// + [Serializable()] + [DataContract()] + [Segment("F07")] + public class F07 { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Part Name + /// + [DataMember] + [StringLength(3, 16)] + [DataElement("557", typeof(X12_AN))] + [Pos(4)] + public string ParCAame_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + /// + /// Damage Area Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("556", typeof(X12_AN))] + [Pos(6)] + public string DamageAreaCode_06 { + get; + set; + } + /// + /// Damage Type Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("540", typeof(X12_AN))] + [Pos(7)] + public string DamageTypeCode_07 { + get; + set; + } + /// + /// Damage Severity Code + /// + [DataMember] + [Required] + [StringLength(1, 1)] + [DataElement("541", typeof(X12_AN))] + [Pos(8)] + public string DamageSeverityCode_08 { + get; + set; + } + /// + /// Labor Operation Identifier + /// + [DataMember] + [StringLength(5, 6)] + [DataElement("555", typeof(X12_AN))] + [Pos(9)] + public string LaborOperationIdentifier_09 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(10)] + public string FreeformDescription_10 { + get; + set; + } + /// + /// Labor Hours + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("542", typeof(X12_N1))] + [Pos(11)] + public string LaborHours_11 { + get; + set; + } + /// + /// Labor Hours + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("542", typeof(X12_N1))] + [Pos(12)] + public string LaborHours_12 { + get; + set; + } + /// + /// Total Labor Cost + /// + [DataMember] + [StringLength(3, 6)] + [DataElement("550", typeof(X12_N2))] + [Pos(13)] + public string TotalLaborCost_13 { + get; + set; + } + /// + /// Total Miscellaneous Costs + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("551", typeof(X12_N2))] + [Pos(14)] + public string TotalMiscellaneousCosts_14 { + get; + set; + } + /// + /// Total Repair Cost + /// + [DataMember] + [Required] + [StringLength(3, 15)] + [DataElement("552", typeof(X12_N2))] + [Pos(15)] + public string TotalRepairCost_15 { + get; + set; + } + /// + /// Authorization Identification + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("553", typeof(X12_AN))] + [Pos(16)] + public string AuthorizationIdentification_16 { + get; + set; + } + /// + /// Inspection Location Type Code + /// + [DataMember] + [DataElement("831", typeof(X12_ID_831))] + [Pos(17)] + public string InspectionLocationTypeCode_17 { + get; + set; + } + /// + /// Damage Area Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("556", typeof(X12_AN))] + [Pos(18)] + public string DamageAreaCode_18 { + get; + set; + } + /// + /// Damage Type Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("540", typeof(X12_AN))] + [Pos(19)] + public string DamageTypeCode_19 { + get; + set; + } + /// + /// Damage Severity Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("541", typeof(X12_AN))] + [Pos(20)] + public string DamageSeverityCode_20 { + get; + set; + } + /// + /// Decline/Amend Reason Code + /// + [DataMember] + [DataElement("548", typeof(X12_ID_548))] + [Pos(21)] + public string DeclineAmendReasonCode_21 { + get; + set; + } + /// + /// Charge/Allowance Qualifier + /// + [DataMember] + [DataElement("538", typeof(X12_ID_538))] + [Pos(22)] + public string ChargeAllowanceQualifier_22 { + get; + set; + } + } + + /// + /// Detail - Supporting Evidence for Claim + /// + [Serializable()] + [DataContract()] + [Segment("F09")] + public class F09 { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Nature of Claim Code + /// + [DataMember] + [Required] + [DataElement("536", typeof(X12_ID_536))] + [Pos(3)] + public string NatureofClaimCode_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + /// + /// Lading Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("79", typeof(X12_AN))] + [Pos(7)] + public string LadingDescription_07 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(8)] + public string ReferenceIdentificationQualifier_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(10)] + public string ReferenceIdentificationQualifier_10 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(11)] + public string ReferenceIdentification_11 { + get; + set; + } + /// + /// Lading Line Item Number + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("213", typeof(X12_N0))] + [Pos(12)] + public string LadingLineItemNumber_12 { + get; + set; + } + } + + /// + /// Identification of Claim (Tracer) + /// + [Serializable()] + [DataContract()] + [Segment("F10")] + public class F10 { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + } + + /// + /// Status + /// + [Serializable()] + [DataContract()] + [Segment("F11")] + public class F11 { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + /// + /// Status Code + /// + [DataMember] + [Required] + [DataElement("546", typeof(X12_ID_546))] + [Pos(6)] + public string StatusCode_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Decline/Amend Reason Code + /// + [DataMember] + [DataElement("548", typeof(X12_ID_548))] + [Pos(8)] + public string DeclineAmendReasonCode_08 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(9)] + public string CurrencyCode_09 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(10)] + public string ReferenceIdentificationQualifier_10 { + get; + set; + } + } + + /// + /// Basic Claim Information - Automotive + /// + [Serializable()] + [DataContract()] + [Segment("F12")] + public class F12 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Credit/Debit Adjustment Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("475", typeof(X12_AN))] + [Pos(4)] + public string CreditDebitAdjustmenCAumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Labor Rate + /// + [DataMember] + [Required] + [StringLength(3, 6)] + [DataElement("543", typeof(X12_N2))] + [Pos(6)] + public string LaborRate_06 { + get; + set; + } + /// + /// Labor Rate + /// + [DataMember] + [Required] + [StringLength(3, 6)] + [DataElement("543", typeof(X12_N2))] + [Pos(7)] + public string LaborRate_07 { + get; + set; + } + /// + /// Damage Code Qualifier + /// + [DataMember] + [DataElement("927", typeof(X12_ID_927))] + [Pos(8)] + public string DamageCodeQualifier_08 { + get; + set; + } + } + + /// + /// Payment Information + /// + [Serializable()] + [DataContract()] + [Segment("F13")] + public class F13 { + + /// + /// Check Number + /// + [DataMember] + [Required] + [StringLength(1, 16)] + [DataElement("429", typeof(X12_AN))] + [Pos(1)] + public string CheckNumber_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + /// + /// MICR Number + /// + [DataMember] + [StringLength(16, 16)] + [DataElement("442", typeof(X12_AN))] + [Pos(4)] + public string MICRNumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [Required] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(6)] + public string CurrencyCode_06 { + get; + set; + } + } + + /// + /// Line Item Reject + /// + [Serializable()] + [DataContract()] + [Segment("F14")] + public class F14 { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Decline/Amend Reason Code + /// + [DataMember] + [Required] + [DataElement("548", typeof(X12_ID_548))] + [Pos(2)] + public string DeclineAmendReasonCode_02 { + get; + set; + } + } + + /// + /// Identification (Automotive) + /// + [Serializable()] + [DataContract()] + [Segment("F6X")] + public class F6X { + + /// + /// Vehicle Identification Number + /// + [DataMember] + [Required] + [StringLength(1, 25)] + [DataElement("539", typeof(X12_AN))] + [Pos(1)] + public string VehicleIdentificationNumber_01 { + get; + set; + } + /// + /// Automotive Manufacturers Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("833", typeof(X12_AN))] + [Pos(2)] + public string AutomotiveManufacturersCode_02 { + get; + set; + } + /// + /// Dealer Code + /// + [DataMember] + [Required] + [StringLength(2, 9)] + [DataElement("838", typeof(X12_AN))] + [Pos(3)] + public string DealerCode_03 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(4)] + public string IdentificationCodeQualifier_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(6)] + public string InvoiceNumber_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + } + + /// + /// Origin Station + /// + [Serializable()] + [DataContract()] + [Segment("F9")] + public class F9 { + + /// + /// Freight Station Accounting Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(1)] + public string FreightStationAccountingCode_01 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(2)] + public string CityName_02 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(3)] + public string StateorProvinceCode_03 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(4)] + public string CountryCode_04 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(5)] + public string FreightStationAccountingCode_05 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(6)] + public string CityName_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(8)] + public string StandardPointLocationCode_08 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(9)] + public string PostalCode_09 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(10)] + public string StandardPointLocationCode_10 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(11)] + public string PostalCode_11 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(12)] + public string CountryCode_12 { + get; + set; + } + } + + /// + /// Type of Financial Accounting Data + /// + [Serializable()] + [DataContract()] + [Segment("FA1")] + public class FA1 { + + /// + /// Agency Qualifier Code + /// + [DataMember] + [Required] + [DataElement("559", typeof(X12_ID_559))] + [Pos(1)] + public string AgencyQualifierCode_01 { + get; + set; + } + /// + /// Service, Promotion, Allowance, or Charge Code + /// + [DataMember] + [DataElement("1300", typeof(X12_ID_1300))] + [Pos(2)] + public string ServicePromotionAllowanceorChargeCode_02 { + get; + set; + } + /// + /// Allowance or Charge Indicator + /// + [DataMember] + [DataElement("248", typeof(X12_ID_248))] + [Pos(3)] + public string AllowanceorChargeIndicator_03 { + get; + set; + } + } + + /// + /// Accounting Data + /// + [Serializable()] + [DataContract()] + [Segment("FA2")] + public class FA2 { + + /// + /// Breakdown Structure Detail Code + /// + [DataMember] + [Required] + [DataElement("1196", typeof(X12_ID_1196))] + [Pos(1)] + public string BreakdownStructureDetailCode_01 { + get; + set; + } + /// + /// Financial Information Code + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("1195", typeof(X12_AN))] + [Pos(2)] + public string FinancialInformationCode_02 { + get; + set; + } + } + + /// + /// Financial Asset Account + /// + [Serializable()] + [DataContract()] + [Segment("FAA")] + public class FAA { + + /// + /// Account Number Qualifier + /// + [DataMember] + [Required] + [DataElement("569", typeof(X12_ID_569))] + [Pos(1)] + public string AccounCAumberQualifier_01 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(2)] + public string AccounCAumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Type of Account Code + /// + [DataMember] + [DataElement("1187", typeof(X12_ID_1187))] + [Pos(5)] + public string TypeofAccountCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(7)] + public C001 CompositeUnitofMeasure_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(9)] + public string DateTimeQualifier_09 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(10)] + public string DateTimePeriodFormatQualifier_10 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(11)] + public string DateTimePeriod_11 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(12)] + public string ReferenceIdentificationQualifier_12 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(13)] + public string ReferenceIdentification_13 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(14)] + public string ReferenceIdentification_14 { + get; + set; + } + } + + /// + /// Facing Direction + /// + [Serializable()] + [DataContract()] + [Segment("FAC")] + public class FAC { + + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(3)] + public string EquipmentDescriptionCode_03 { + get; + set; + } + /// + /// Direction Facing + /// + [DataMember] + [DataElement("1273", typeof(X12_ID_1273))] + [Pos(4)] + public string DirectionFacing_04 { + get; + set; + } + /// + /// Equipment Status Code + /// + [DataMember] + [DataElement("578", typeof(X12_ID_578))] + [Pos(5)] + public string EquipmentStatusCode_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + } + + /// + /// Foreign and Industry Business + /// + [Serializable()] + [DataContract()] + [Segment("FBB")] + public class FBB { + + /// + /// Country Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(1)] + public string CountryCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(3)] + public string Percent_03 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(4)] + public string IdentificationCodeQualifier_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(7)] + public string Percent_07 { + get; + set; + } + } + + /// + /// Financial Contribution + /// + [Serializable()] + [DataContract()] + [Segment("FC")] + public class FC { + + /// + /// Contribution Code + /// + [DataMember] + [Required] + [DataElement("1224", typeof(X12_ID_1224))] + [Pos(1)] + public string ContributionCode_01 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(2)] + public string Percent_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(4)] + public string Number_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + } + + /// + /// Foreclosure + /// + [Serializable()] + [DataContract()] + [Segment("FCL")] + public class FCL { + + /// + /// Deficiency Judgment Code + /// + [DataMember] + [DataElement("605", typeof(X12_ID_605))] + [Pos(1)] + public string DeficiencyJudgmentCode_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(3)] + public string AmountQualifierCode_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Adjustment Reason Code + /// + [DataMember] + [DataElement("426", typeof(X12_ID_426))] + [Pos(5)] + public string AdjustmentReasonCode_05 { + get; + set; + } + } + + /// + /// Facility Description + /// + [Serializable()] + [DataContract()] + [Segment("FDA")] + public class FDA { + + /// + /// Property Ownership Rights Code + /// + [DataMember] + [DataElement("1078", typeof(X12_ID_1078))] + [Pos(1)] + public string PropertyOwnershipRightsCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Type of Real Estate Asset Code + /// + [DataMember] + [DataElement("1074", typeof(X12_ID_1074))] + [Pos(3)] + public string TypeofRealEstateAssetCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(6)] + public string FreeFormMessage_06 { + get; + set; + } + /// + /// Construction Type + /// + [DataMember] + [DataElement("1429", typeof(X12_ID_1429))] + [Pos(7)] + public string ConstructionType_07 { + get; + set; + } + /// + /// Construction Type + /// + [DataMember] + [DataElement("1429", typeof(X12_ID_1429))] + [Pos(8)] + public string ConstructionType_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + } + + /// + /// Form Group + /// + [Serializable()] + [DataContract()] + [Segment("FGS")] + public class FGS { + + /// + /// Assigned Identification + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + } + + /// + /// Family History + /// + [Serializable()] + [DataContract()] + [Segment("FH")] + public class FH { + + /// + /// Individual Relationship Code + /// + [DataMember] + [Required] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(1)] + public string IndividualRelationshipCode_01 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(2)] + public string QuantityQualifier_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Current Health Condition Code + /// + [DataMember] + [DataElement("1213", typeof(X12_ID_1213))] + [Pos(4)] + public string CurrentHealthConditionCode_04 { + get; + set; + } + } + + /// + /// Financial Information + /// + [Serializable()] + [DataContract()] + [Segment("FIR")] + public class FIR { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [Required] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(6)] + public string TimeCode_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [DataElement("478", typeof(X12_ID_478))] + [Pos(9)] + public string CreditDebitFlagCode_09 { + get; + set; + } + /// + /// Financial Transaction Status Code + /// + [DataMember] + [DataElement("1197", typeof(X12_ID_1197))] + [Pos(10)] + public string FinancialTransactionStatusCode_10 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(11)] + public string CurrencyCode_11 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(12)] + public string MonetaryAmount_12 { + get; + set; + } + } + + /// + /// Mortgage Loan Fiscal Data + /// + [Serializable()] + [DataContract()] + [Segment("FIS")] + public class FIS { + + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(1)] + public string AmountQualifierCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + } + + /// + /// Factor + /// + [Serializable()] + [DataContract()] + [Segment("FK")] + public class FK { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(2)] + public string TransportationMethodTypeCode_02 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(3)] + public string StateorProvinceCode_03 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(4)] + public string CityName_04 { + get; + set; + } + /// + /// Rule 260 Junction Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("638", typeof(X12_AN))] + [Pos(5)] + public string RuleJunctionCode_05 { + get; + set; + } + /// + /// Percentage Division + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("694", typeof(X12_N2))] + [Pos(6)] + public string PercentageDivision_06 { + get; + set; + } + /// + /// Factor Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("634", typeof(X12_R))] + [Pos(7)] + public string FactorAmount_07 { + get; + set; + } + /// + /// Factor Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("634", typeof(X12_R))] + [Pos(8)] + public string FactorAmount_08 { + get; + set; + } + /// + /// Factor Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("634", typeof(X12_R))] + [Pos(9)] + public string FactorAmount_09 { + get; + set; + } + /// + /// Factor Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("634", typeof(X12_R))] + [Pos(10)] + public string FactorAmount_10 { + get; + set; + } + /// + /// Factor Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("634", typeof(X12_R))] + [Pos(11)] + public string FactorAmount_11 { + get; + set; + } + /// + /// Factor Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("634", typeof(X12_R))] + [Pos(12)] + public string FactorAmount_12 { + get; + set; + } + /// + /// Factor Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("634", typeof(X12_R))] + [Pos(13)] + public string FactorAmount_13 { + get; + set; + } + /// + /// Factor Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("634", typeof(X12_R))] + [Pos(14)] + public string FactorAmount_14 { + get; + set; + } + } + + /// + /// Financial Status Information + /// + [Serializable()] + [DataContract()] + [Segment("FNA")] + public class FNA { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Dependency Status Code + /// + [DataMember] + [DataElement("1267", typeof(X12_ID_1267))] + [Pos(4)] + public string DependencyStatusCode_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + } + + /// + /// F.O.B. Related Instructions + /// + [Serializable()] + [DataContract()] + [Segment("FOB")] + public class FOB { + + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(1)] + public string ShipmentMethodofPayment_01 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(2)] + public string LocationQualifier_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Transportation Terms Qualifier Code + /// + [DataMember] + [DataElement("334", typeof(X12_ID_334))] + [Pos(4)] + public string TransportationTermsQualifierCode_04 { + get; + set; + } + /// + /// Transportation Terms Code + /// + [DataMember] + [DataElement("335", typeof(X12_ID_335))] + [Pos(5)] + public string TransportationTermsCode_05 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(6)] + public string LocationQualifier_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Risk of Loss Code + /// + [DataMember] + [DataElement("54", typeof(X12_ID_54))] + [Pos(8)] + public string RiskofLossCode_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + } + + /// + /// Field of Study + /// + [Serializable()] + [DataContract()] + [Segment("FOS")] + public class FOS { + + /// + /// Academic Field of Study Level or Type Code + /// + [DataMember] + [Required] + [DataElement("1153", typeof(X12_ID_1153))] + [Pos(1)] + public string AcademicFieldofStudyLevelorTypeCode_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + } + + /// + /// Financial Participation + /// + [Serializable()] + [DataContract()] + [Segment("FPT")] + public class FPT { + + /// + /// Type of Account Code + /// + [DataMember] + [Required] + [DataElement("1187", typeof(X12_ID_1187))] + [Pos(1)] + public string TypeofAccountCode_01 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(2)] + public string Percent_02 { + get; + set; + } + } + + /// + /// Flexible Spending Account + /// + [Serializable()] + [DataContract()] + [Segment("FSA")] + public class FSA { + + /// + /// Maintenance Type Code + /// + [DataMember] + [Required] + [DataElement("875", typeof(X12_ID_875))] + [Pos(1)] + public string MaintenanceTypeCode_01 { + get; + set; + } + /// + /// Flexible Spending Account Selection Code + /// + [DataMember] + [DataElement("1202", typeof(X12_ID_1202))] + [Pos(2)] + public string FlexibleSpendingAccountSelectionCode_02 { + get; + set; + } + /// + /// Maintenance Reason Code + /// + [DataMember] + [DataElement("1203", typeof(X12_ID_1203))] + [Pos(3)] + public string MaintenanceReasonCode_03 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(4)] + public string AccounCAumber_04 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(5)] + public string FrequencyCode_05 { + get; + set; + } + /// + /// Plan Coverage Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("1204", typeof(X12_AN))] + [Pos(6)] + public string PlanCoverageDescription_06 { + get; + set; + } + /// + /// Product Option Code + /// + [DataMember] + [DataElement("1161", typeof(X12_ID_1161))] + [Pos(7)] + public string ProductOptionCode_07 { + get; + set; + } + /// + /// Product Option Code + /// + [DataMember] + [DataElement("1161", typeof(X12_ID_1161))] + [Pos(8)] + public string ProductOptionCode_08 { + get; + set; + } + /// + /// Product Option Code + /// + [DataMember] + [DataElement("1161", typeof(X12_ID_1161))] + [Pos(9)] + public string ProductOptionCode_09 { + get; + set; + } + } + + /// + /// Forecast Schedule + /// + [Serializable()] + [DataContract()] + [Segment("FST")] + public class FST { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Forecast Qualifier + /// + [DataMember] + [Required] + [DataElement("680", typeof(X12_ID_680))] + [Pos(2)] + public string ForecastQualifier_02 { + get; + set; + } + /// + /// Forecast Timing Qualifier + /// + [DataMember] + [Required] + [DataElement("681", typeof(X12_ID_681))] + [Pos(3)] + public string ForecastTimingQualifier_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(6)] + public string DateTimeQualifier_06 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(7)] + public string Time_07 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(8)] + public string ReferenceIdentificationQualifier_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Planning Schedule Type Code + /// + [DataMember] + [DataElement("783", typeof(X12_ID_783))] + [Pos(10)] + public string PlanningScheduleTypeCode_10 { + get; + set; + } + } + + /// + /// First Time Home Buyer + /// + [Serializable()] + [DataContract()] + [Segment("FTH")] + public class FTH { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Type of Residence Code + /// + [DataMember] + [DataElement("1070", typeof(X12_ID_1070))] + [Pos(3)] + public string TypeofResidenceCode_03 { + get; + set; + } + /// + /// Type of Account Code + /// + [DataMember] + [DataElement("1187", typeof(X12_ID_1187))] + [Pos(4)] + public string TypeofAccountCode_04 { + get; + set; + } + } + + /// + /// Invoice Identification + /// + [Serializable()] + [DataContract()] + [Segment("G01")] + public class G01 { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(2)] + public string InvoiceNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(4)] + public string PurchaseOrderNumber_04 { + get; + set; + } + /// + /// Vendor Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("424", typeof(X12_AN))] + [Pos(5)] + public string VendorOrderNumber_05 { + get; + set; + } + /// + /// Master Reference (Link) Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("474", typeof(X12_AN))] + [Pos(6)] + public string MasterReferenceLinkNumber_06 { + get; + set; + } + /// + /// Link Sequence Number + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("472", typeof(X12_N0))] + [Pos(7)] + public string LinkSequenceNumber_07 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(8)] + public string TransactionTypeCode_08 { + get; + set; + } + } + + /// + /// Total Shipment Information + /// + [Serializable()] + [DataContract()] + [Segment("G05")] + public class G05 { + + /// + /// Number of Units Shipped + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(1)] + public string NumberofUnitsShipped_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(5)] + public string Volume_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(7)] + public string LadingQuantity_07 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(8)] + public string UnitorBasisforMeasurementCode_08 { + get; + set; + } + } + + /// + /// Carrier Information + /// + [Serializable()] + [DataContract()] + [Segment("G07")] + public class G07 { + + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(3)] + public string SealNumber_03 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(4)] + public string SealNumber_04 { + get; + set; + } + /// + /// Seal Status Code + /// + [DataMember] + [DataElement("407", typeof(X12_ID_407))] + [Pos(5)] + public string SealStatusCode_05 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(6)] + public string Temperature_06 { + get; + set; + } + } + + /// + /// Pallet Information + /// + [Serializable()] + [DataContract()] + [Segment("G08")] + public class G08 { + + /// + /// Quantity of Pallets Received + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("409", typeof(X12_N0))] + [Pos(1)] + public string QuantityofPalletsReceived_01 { + get; + set; + } + /// + /// Quantity of Pallets Returned + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("410", typeof(X12_N0))] + [Pos(2)] + public string QuantityofPalletsReturned_02 { + get; + set; + } + /// + /// Quantity Contested + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("411", typeof(X12_R))] + [Pos(3)] + public string QuantityContested_03 { + get; + set; + } + /// + /// Receiving Condition Code + /// + [DataMember] + [DataElement("412", typeof(X12_ID_412))] + [Pos(4)] + public string ReceivingConditionCode_04 { + get; + set; + } + } + + /// + /// Shipment Type Information + /// + [Serializable()] + [DataContract()] + [Segment("G1")] + public class G1 { + + /// + /// Shipment Type Code + /// + [DataMember] + [Required] + [DataElement("311", typeof(X12_ID_311))] + [Pos(1)] + public string ShipmentTypeCode_01 { + get; + set; + } + /// + /// Special Indicator Code + /// + [DataMember] + [DataElement("312", typeof(X12_ID_312))] + [Pos(2)] + public string SpecialIndicatorCode_02 { + get; + set; + } + /// + /// Special Indicator Code + /// + [DataMember] + [DataElement("312", typeof(X12_ID_312))] + [Pos(3)] + public string SpecialIndicatorCode_03 { + get; + set; + } + } + + /// + /// Coupon Reporting Specifications + /// + [Serializable()] + [DataContract()] + [Segment("G11")] + public class G11 { + + /// + /// Level + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("1178", typeof(X12_AN))] + [Pos(1)] + public string Level_01 { + get; + set; + } + /// + /// Category + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("729", typeof(X12_AN))] + [Pos(2)] + public string Category_02 { + get; + set; + } + /// + /// Category + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("729", typeof(X12_AN))] + [Pos(3)] + public string Category_03 { + get; + set; + } + /// + /// Category + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("729", typeof(X12_AN))] + [Pos(4)] + public string Category_04 { + get; + set; + } + /// + /// Category + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("729", typeof(X12_AN))] + [Pos(5)] + public string Category_05 { + get; + set; + } + /// + /// Category + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("729", typeof(X12_AN))] + [Pos(6)] + public string Category_06 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(7)] + public string ReferenceIdentificationQualifier_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(10)] + public string FreeformDescription_10 { + get; + set; + } + } + + /// + /// Coupon Physical Characteristics + /// + [Serializable()] + [DataContract()] + [Segment("G12")] + public class G12 { + + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(1)] + public string Length_01 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(2)] + public string Width_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Promotion Condition Code + /// + [DataMember] + [DataElement("422", typeof(X12_ID_422))] + [Pos(5)] + public string PromotionConditionCode_05 { + get; + set; + } + /// + /// Position Code + /// + [DataMember] + [DataElement("945", typeof(X12_ID_945))] + [Pos(6)] + public string PositionCode_06 { + get; + set; + } + /// + /// Position Code + /// + [DataMember] + [DataElement("945", typeof(X12_ID_945))] + [Pos(7)] + public string PositionCode_07 { + get; + set; + } + } + + /// + /// Store Size Attributes + /// + [Serializable()] + [DataContract()] + [Segment("G13")] + public class G13 { + + /// + /// Class of Trade Code + /// + [DataMember] + [Required] + [DataElement("687", typeof(X12_ID_687))] + [Pos(1)] + public string ClassofTradeCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(4)] + public string Number_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(6)] + public string AmountQualifierCode_06 { + get; + set; + } + } + + /// + /// Coupon Special Processing + /// + [Serializable()] + [DataContract()] + [Segment("G14")] + public class G14 { + + /// + /// Service, Promotion, Allowance, or Charge Code + /// + [DataMember] + [Required] + [DataElement("1300", typeof(X12_ID_1300))] + [Pos(1)] + public string ServicePromotionAllowanceorChargeCode_01 { + get; + set; + } + /// + /// Service, Promotion, Allowance, or Charge Code + /// + [DataMember] + [DataElement("1300", typeof(X12_ID_1300))] + [Pos(2)] + public string ServicePromotionAllowanceorChargeCode_02 { + get; + set; + } + } + + /// + /// Coupon Distribution + /// + [Serializable()] + [DataContract()] + [Segment("G15")] + public class G15 { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Coupon Distribution Media Code + /// + [DataMember] + [Required] + [DataElement("1113", typeof(X12_ID_1113))] + [Pos(2)] + public string CouponDistributionMediaCode_02 { + get; + set; + } + /// + /// Coupon Type Code + /// + [DataMember] + [DataElement("1522", typeof(X12_ID_1522))] + [Pos(3)] + public string CouponTypeCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + } + + /// + /// Item Detail - Invoice + /// + [Serializable()] + [DataContract()] + [Segment("G17")] + public class G17 { + + /// + /// Quantity Invoiced + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("358", typeof(X12_R))] + [Pos(1)] + public string QuantityInvoiced_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Item List Cost + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("237", typeof(X12_R))] + [Pos(3)] + public string ItemListCost_03 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(4)] + public string UPCCaseCode_04 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(5)] + public string ProductServiceIDQualifier_05 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(6)] + public string ProductServiceID_06 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(7)] + public string ProductServiceIDQualifier_07 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(8)] + public string ProductServiceID_08 { + get; + set; + } + /// + /// Price Bracket Identifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("417", typeof(X12_AN))] + [Pos(9)] + public string PriceBracketIdentifier_09 { + get; + set; + } + /// + /// Number of Units Shipped + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(10)] + public string NumberofUnitsShipped_10 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(11)] + public string UnitorBasisforMeasurementCode_11 { + get; + set; + } + /// + /// Price List Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("439", typeof(X12_AN))] + [Pos(12)] + public string PriceLisCAumber_12 { + get; + set; + } + /// + /// Price List Issue Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("440", typeof(X12_AN))] + [Pos(13)] + public string PriceListIssueNumber_13 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(14)] + public string MonetaryAmount_14 { + get; + set; + } + } + + /// + /// Store Category Size + /// + [Serializable()] + [DataContract()] + [Segment("G18")] + public class G18 { + + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(1)] + public string EntityIdentifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(3)] + public string Length_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + } + + /// + /// Line Item Detail - Quantity/Unit of Measure/Price Differences + /// + [Serializable()] + [DataContract()] + [Segment("G19")] + public class G19 { + + /// + /// Number of Units Shipped + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(1)] + public string NumberofUnitsShipped_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Quantity Difference + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("383", typeof(X12_R))] + [Pos(3)] + public string QuantityDifference_03 { + get; + set; + } + /// + /// Shipment/Order Status Code + /// + [DataMember] + [DataElement("368", typeof(X12_ID_368))] + [Pos(4)] + public string ShipmentOrderStatusCode_04 { + get; + set; + } + /// + /// Price Reason Code + /// + [DataMember] + [DataElement("381", typeof(X12_ID_381))] + [Pos(5)] + public string PriceReasonCode_05 { + get; + set; + } + /// + /// Terms Exception Code + /// + [DataMember] + [DataElement("445", typeof(X12_ID_445))] + [Pos(6)] + public string TermsExceptionCode_06 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(7)] + public string UPCCaseCode_07 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(8)] + public string ProductServiceIDQualifier_08 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(9)] + public string ProductServiceID_09 { + get; + set; + } + } + + /// + /// Beyond Routing + /// + [Serializable()] + [DataContract()] + [Segment("G2")] + public class G2 { + + /// + /// Special Indicator Code + /// + [DataMember] + [Required] + [DataElement("312", typeof(X12_ID_312))] + [Pos(1)] + public string SpecialIndicatorCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + } + + /// + /// Item Packing Detail + /// + [Serializable()] + [DataContract()] + [Segment("G20")] + public class G20 { + + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(1)] + public string Pack_01 { + get; + set; + } + /// + /// Size + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("357", typeof(X12_R))] + [Pos(2)] + public string Size_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(6)] + public string Volume_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Color + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("397", typeof(X12_AN))] + [Pos(8)] + public string Color_08 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(9)] + public string InnerPack_09 { + get; + set; + } + } + + /// + /// Product Information + /// + [Serializable()] + [DataContract()] + [Segment("G21")] + public class G21 { + + /// + /// Authorize/ De-Authorize Code + /// + [DataMember] + [Required] + [DataElement("287", typeof(X12_ID_287))] + [Pos(1)] + public string AuthorizeDeAuthorizeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// U.P.C./EAN Consumer Package Code + /// + [DataMember] + [Required] + [StringLength(12, 12)] + [DataElement("766", typeof(X12_AN))] + [Pos(3)] + public string UPCEANConsumerPackageCode_03 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(4)] + public string UPCCaseCode_04 { + get; + set; + } + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(5)] + public string Pack_05 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(6)] + public string UnitPrice_06 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(7)] + public string ProductServiceIDQualifier_07 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(8)] + public string ProductServiceID_08 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(9)] + public string InnerPack_09 { + get; + set; + } + } + + /// + /// Pricing Information + /// + [Serializable()] + [DataContract()] + [Segment("G22")] + public class G22 { + + /// + /// Prepriced Option Code + /// + [DataMember] + [Required] + [DataElement("288", typeof(X12_ID_288))] + [Pos(1)] + public string PrepricedOptionCode_01 { + get; + set; + } + /// + /// Price New, Suggested Retail + /// + [DataMember] + [StringLength(2, 7)] + [DataElement("420", typeof(X12_N2))] + [Pos(2)] + public string PriceNewSuggestedRetail_02 { + get; + set; + } + /// + /// Multiple Price Quantity + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("289", typeof(X12_N0))] + [Pos(3)] + public string MultiplePriceQuantity_03 { + get; + set; + } + /// + /// Free Form Message + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("3", typeof(X12_AN))] + [Pos(4)] + public string FreeFormMessage_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + } + + /// + /// Terms of Sale + /// + [Serializable()] + [DataContract()] + [Segment("G23")] + public class G23 { + + /// + /// Terms Type Code + /// + [DataMember] + [Required] + [DataElement("336", typeof(X12_ID_336))] + [Pos(1)] + public string TermsTypeCode_01 { + get; + set; + } + /// + /// Terms Basis Date Code + /// + [DataMember] + [Required] + [DataElement("333", typeof(X12_ID_333))] + [Pos(2)] + public string TermsBasisDateCode_02 { + get; + set; + } + /// + /// Terms Start Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("282", typeof(X12_DT))] + [Pos(3)] + public string TermsStartDate_03 { + get; + set; + } + /// + /// Terms Due Date Qualifier + /// + [DataMember] + [DataElement("283", typeof(X12_ID_283))] + [Pos(4)] + public string TermsDueDateQualifier_04 { + get; + set; + } + /// + /// Terms Discount Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("338", typeof(X12_R))] + [Pos(5)] + public string TermsDiscountPercent_05 { + get; + set; + } + /// + /// Terms Discount Due Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("370", typeof(X12_DT))] + [Pos(6)] + public string TermsDiscountDueDate_06 { + get; + set; + } + /// + /// Terms Discount Days Due + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("351", typeof(X12_N0))] + [Pos(7)] + public string TermsDiscountDaysDue_07 { + get; + set; + } + /// + /// Terms Net Due Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("446", typeof(X12_DT))] + [Pos(8)] + public string TermsNetDueDate_08 { + get; + set; + } + /// + /// Terms Net Days + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("386", typeof(X12_N0))] + [Pos(9)] + public string TermsNetDays_09 { + get; + set; + } + /// + /// Terms Discount Amount + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("362", typeof(X12_N2))] + [Pos(10)] + public string TermsDiscountAmount_10 { + get; + set; + } + /// + /// Discounted Amount Due + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("391", typeof(X12_N2))] + [Pos(11)] + public string DiscountedAmountDue_11 { + get; + set; + } + /// + /// Amount Subject to Terms Discount + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("390", typeof(X12_N2))] + [Pos(12)] + public string AmountSubjecttoTermsDiscount_12 { + get; + set; + } + /// + /// Installment Total Invoice Amount Due + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("343", typeof(X12_N2))] + [Pos(13)] + public string InstallmentTotalInvoiceAmountDue_13 { + get; + set; + } + /// + /// Percent of Invoice Payable + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("342", typeof(X12_R))] + [Pos(14)] + public string PercentofInvoicePayable_14 { + get; + set; + } + /// + /// Free Form Message + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("3", typeof(X12_AN))] + [Pos(15)] + public string FreeFormMessage_15 { + get; + set; + } + /// + /// Installment Group Indicator + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("713", typeof(X12_N0))] + [Pos(16)] + public string InstallmentGroupIndicator_16 { + get; + set; + } + } + + /// + /// Promotion Reference + /// + [Serializable()] + [DataContract()] + [Segment("G24")] + public class G24 { + + /// + /// Allowance or Charge Number + /// + [DataMember] + [Required] + [StringLength(1, 16)] + [DataElement("341", typeof(X12_AN))] + [Pos(1)] + public string AllowanceorChargeNumber_01 { + get; + set; + } + } + + /// + /// F.O.B. Information + /// + [Serializable()] + [DataContract()] + [Segment("G25")] + public class G25 { + + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(1)] + public string ShipmentMethodofPayment_01 { + get; + set; + } + /// + /// F.O.B. Point Code + /// + [DataMember] + [Required] + [DataElement("433", typeof(X12_ID_433))] + [Pos(2)] + public string FOBPointCode_02 { + get; + set; + } + /// + /// F.O.B. Point + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("434", typeof(X12_AN))] + [Pos(3)] + public string FOBPoint_03 { + get; + set; + } + } + + /// + /// Pricing Conditions + /// + [Serializable()] + [DataContract()] + [Segment("G26")] + public class G26 { + + /// + /// Price Condition Code + /// + [DataMember] + [Required] + [DataElement("290", typeof(X12_ID_290))] + [Pos(1)] + public string PriceConditionCode_01 { + get; + set; + } + /// + /// Date Qualifier + /// + [DataMember] + [DataElement("432", typeof(X12_ID_432))] + [Pos(2)] + public string DateQualifier_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Quantity Basis + /// + [DataMember] + [DataElement("292", typeof(X12_ID_292))] + [Pos(4)] + public string QuantityBasis_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + } + + /// + /// Carrier Detail + /// + [Serializable()] + [DataContract()] + [Segment("G27")] + public class G27 { + + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(1)] + public string TransportationMethodTypeCode_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(4)] + public string StandardCarrierAlphaCode_04 { + get; + set; + } + /// + /// Routing + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("387", typeof(X12_AN))] + [Pos(5)] + public string Routing_05 { + get; + set; + } + /// + /// Shipment/Order Status Code + /// + [DataMember] + [DataElement("368", typeof(X12_ID_368))] + [Pos(6)] + public string ShipmentOrderStatusCode_06 { + get; + set; + } + } + + /// + /// Line Item Numbers + /// + [Serializable()] + [DataContract()] + [Segment("G28")] + public class G28 { + + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(1)] + public string UPCCaseCode_01 { + get; + set; + } + /// + /// U.P.C./EAN Consumer Package Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("766", typeof(X12_AN))] + [Pos(2)] + public string UPCEANConsumerPackageCode_02 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(3)] + public string ProductServiceIDQualifier_03 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(4)] + public string ProductServiceID_04 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(5)] + public string ProductServiceIDQualifier_05 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(6)] + public string ProductServiceID_06 { + get; + set; + } + } + + /// + /// Store Display Information + /// + [Serializable()] + [DataContract()] + [Segment("G29")] + public class G29 { + + /// + /// Display Type Code + /// + [DataMember] + [Required] + [DataElement("1520", typeof(X12_ID_1520))] + [Pos(1)] + public string DisplayTypeCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + } + + /// + /// Compensation Information + /// + [Serializable()] + [DataContract()] + [Segment("G3")] + public class G3 { + + /// + /// Compensation Paid + /// + [DataMember] + [StringLength(2, 5)] + [DataElement("315", typeof(X12_R))] + [Pos(1)] + public string CompensationPaid_01 { + get; + set; + } + /// + /// Total Compensation Amount + /// + [DataMember] + [Required] + [StringLength(3, 10)] + [DataElement("317", typeof(X12_N0))] + [Pos(2)] + public string TotalCompensationAmount_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + /// + /// Business Transaction Status + /// + [DataMember] + [DataElement("201", typeof(X12_ID_201))] + [Pos(4)] + public string BusinessTransactionStatus_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Compensation Qualifier + /// + [DataMember] + [DataElement("73", typeof(X12_ID_73))] + [Pos(6)] + public string CompensationQualifier_06 { + get; + set; + } + } + + /// + /// Retail Account Marketing Types + /// + [Serializable()] + [DataContract()] + [Segment("G30")] + public class G30 { + + /// + /// Marketing Type Code + /// + [DataMember] + [Required] + [DataElement("1521", typeof(X12_ID_1521))] + [Pos(1)] + public string MarketingTypeCode_01 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(2)] + public string Number_02 { + get; + set; + } + } + + /// + /// Total Invoice Quantity + /// + [Serializable()] + [DataContract()] + [Segment("G31")] + public class G31 { + + /// + /// Number of Units Shipped + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(1)] + public string NumberofUnitsShipped_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(5)] + public string Volume_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Order Sizing Factor + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("398", typeof(X12_R))] + [Pos(7)] + public string OrderSizingFactor_07 { + get; + set; + } + /// + /// Price Bracket Identifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("417", typeof(X12_AN))] + [Pos(8)] + public string PriceBracketIdentifier_08 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("107", typeof(X12_ID_107))] + [Pos(9)] + public string PaymentMethodCode_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(11)] + public string Weight_11 { + get; + set; + } + } + + /// + /// Survey Question Response + /// + [Serializable()] + [DataContract()] + [Segment("G32")] + public class G32 { + + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(1)] + public string Number_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + } + + /// + /// Total Dollars Summary + /// + [Serializable()] + [DataContract()] + [Segment("G33")] + public class G33 { + + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(1)] + public string Amount_01 { + get; + set; + } + } + + /// + /// Advertising Feature Information + /// + [Serializable()] + [DataContract()] + [Segment("G35")] + public class G35 { + + /// + /// Promotion Condition Code + /// + [DataMember] + [DataElement("422", typeof(X12_ID_422))] + [Pos(1)] + public string PromotionConditionCode_01 { + get; + set; + } + /// + /// Coupon Type Code + /// + [DataMember] + [DataElement("1522", typeof(X12_ID_1522))] + [Pos(2)] + public string CouponTypeCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + } + + /// + /// Price List Reference + /// + [Serializable()] + [DataContract()] + [Segment("G36")] + public class G36 { + + /// + /// Price List Number + /// + [DataMember] + [Required] + [StringLength(1, 16)] + [DataElement("439", typeof(X12_AN))] + [Pos(1)] + public string PriceLisCAumber_01 { + get; + set; + } + /// + /// Price List Issue Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("440", typeof(X12_AN))] + [Pos(2)] + public string PriceListIssueNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Price Condition Applies Code + /// + [DataMember] + [DataElement("291", typeof(X12_ID_291))] + [Pos(4)] + public string PriceConditionAppliesCode_04 { + get; + set; + } + } + + /// + /// Labor Activity + /// + [Serializable()] + [DataContract()] + [Segment("G37")] + public class G37 { + + /// + /// Labor Activity Code + /// + [DataMember] + [Required] + [DataElement("1523", typeof(X12_ID_1523))] + [Pos(1)] + public string LaborActivityCode_01 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(2)] + public string Time_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + } + + /// + /// Claim Payment Information + /// + [Serializable()] + [DataContract()] + [Segment("G38")] + public class G38 { + + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(1)] + public string MonetaryAmount_01 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("591", typeof(X12_ID_591))] + [Pos(2)] + public string PaymentMethodCode_02 { + get; + set; + } + /// + /// Returns Disposition Code + /// + [DataMember] + [DataElement("1292", typeof(X12_ID_1292))] + [Pos(3)] + public string ReturnsDispositionCode_03 { + get; + set; + } + } + + /// + /// Item Characteristics - Vendor's Selling Unit + /// + [Serializable()] + [DataContract()] + [Segment("G39")] + public class G39 { + + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(1)] + public string UPCCaseCode_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(4)] + public string SpecialHandlingCode_04 { + get; + set; + } + /// + /// Unit Weight + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("395", typeof(X12_R))] + [Pos(5)] + public string UnitWeight_05 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(6)] + public string WeightQualifier_06 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(7)] + public string WeightUnitCode_07 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(8)] + public string Height_08 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(9)] + public string UnitorBasisforMeasurementCode_09 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(10)] + public string Width_10 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(11)] + public string UnitorBasisforMeasurementCode_11 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(12)] + public string Length_12 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(13)] + public string UnitorBasisforMeasurementCode_13 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(14)] + public string Volume_14 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(15)] + public string UnitorBasisforMeasurementCode_15 { + get; + set; + } + /// + /// Pallet Block and Tiers + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("416", typeof(X12_N0))] + [Pos(16)] + public string PalletBlockandTiers_16 { + get; + set; + } + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(17)] + public string Pack_17 { + get; + set; + } + /// + /// Size + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("357", typeof(X12_R))] + [Pos(18)] + public string Size_18 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(19)] + public string UnitorBasisforMeasurementCode_19 { + get; + set; + } + /// + /// Color + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("397", typeof(X12_AN))] + [Pos(20)] + public string Color_20 { + get; + set; + } + /// + /// Order Sizing Factor + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("398", typeof(X12_R))] + [Pos(21)] + public string OrderSizingFactor_21 { + get; + set; + } + /// + /// Alternate Tiers per Pallet + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("876", typeof(X12_AN))] + [Pos(22)] + public string AlternateTiersperPallet_22 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(23)] + public string ProductServiceIDQualifier_23 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(24)] + public string ProductServiceID_24 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(25)] + public string WeightQualifier_25 { + get; + set; + } + /// + /// Unit Weight + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("395", typeof(X12_R))] + [Pos(26)] + public string UnitWeight_26 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(27)] + public string InnerPack_27 { + get; + set; + } + /// + /// Packaging Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("103", typeof(X12_AN))] + [Pos(28)] + public string PackagingCode_28 { + get; + set; + } + } + + /// + /// Scale Identification + /// + [Serializable()] + [DataContract()] + [Segment("G4")] + public class G4 { + + /// + /// City Name + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(1)] + public string CityName_01 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(2)] + public string StateorProvinceCode_02 { + get; + set; + } + /// + /// Name (30 Character Format) + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("459", typeof(X12_AN))] + [Pos(3)] + public string NameCharacterFormat_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Scale Type Code + /// + [DataMember] + [DataElement("570", typeof(X12_ID_570))] + [Pos(6)] + public string ScaleTypeCode_06 { + get; + set; + } + } + + /// + /// Bracket Price + /// + [Serializable()] + [DataContract()] + [Segment("G40")] + public class G40 { + + /// + /// Price Bracket Identifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("417", typeof(X12_AN))] + [Pos(1)] + public string PriceBracketIdentifier_01 { + get; + set; + } + /// + /// Item List Cost - New + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("418", typeof(X12_R))] + [Pos(2)] + public string ItemListCosCAew_02 { + get; + set; + } + /// + /// Item List Cost - Old + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("419", typeof(X12_R))] + [Pos(3)] + public string ItemListCostOld_03 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(4)] + public string FreeformDescription_04 { + get; + set; + } + /// + /// Price New, Suggested Retail + /// + [DataMember] + [StringLength(2, 7)] + [DataElement("420", typeof(X12_N2))] + [Pos(5)] + public string PriceNewSuggestedRetail_05 { + get; + set; + } + /// + /// Price Old, Suggested Retail + /// + [DataMember] + [StringLength(2, 7)] + [DataElement("421", typeof(X12_N2))] + [Pos(6)] + public string PriceOldSuggestedRetail_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(8)] + public string PriceIdentifierCode_08 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(9)] + public string Number_09 { + get; + set; + } + } + + /// + /// Promotion Announcement Identification + /// + [Serializable()] + [DataContract()] + [Segment("G42")] + public class G42 { + + /// + /// Promotion Status Code + /// + [DataMember] + [Required] + [DataElement("423", typeof(X12_ID_423))] + [Pos(1)] + public string PromotionStatusCode_01 { + get; + set; + } + /// + /// Allowance or Charge Number + /// + [DataMember] + [Required] + [StringLength(1, 16)] + [DataElement("341", typeof(X12_AN))] + [Pos(2)] + public string AllowanceorChargeNumber_02 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(3)] + public string TransactionTypeCode_03 { + get; + set; + } + } + + /// + /// Promotion/Price List Area + /// + [Serializable()] + [DataContract()] + [Segment("G43")] + public class G43 { + + /// + /// Market Area Code Qualifier + /// + [DataMember] + [Required] + [DataElement("771", typeof(X12_ID_771))] + [Pos(1)] + public string MarketAreaCodeQualifier_01 { + get; + set; + } + /// + /// Market Area Code Identifier + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("767", typeof(X12_AN))] + [Pos(2)] + public string MarketAreaCodeIdentifier_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Class of Trade Code + /// + [DataMember] + [DataElement("687", typeof(X12_ID_687))] + [Pos(4)] + public string ClassofTradeCode_04 { + get; + set; + } + } + + /// + /// Line Item Detail - Promotion + /// + [Serializable()] + [DataContract()] + [Segment("G45")] + public class G45 { + + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(1)] + public string UPCCaseCode_01 { + get; + set; + } + /// + /// U.P.C./EAN Consumer Package Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("766", typeof(X12_AN))] + [Pos(2)] + public string UPCEANConsumerPackageCode_02 { + get; + set; + } + /// + /// Allowance or Charge Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("341", typeof(X12_AN))] + [Pos(3)] + public string AllowanceorChargeNumber_03 { + get; + set; + } + /// + /// Exception Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("769", typeof(X12_AN))] + [Pos(4)] + public string ExceptionNumber_04 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(5)] + public string ProductServiceIDQualifier_05 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(6)] + public string ProductServiceID_06 { + get; + set; + } + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(7)] + public string Pack_07 { + get; + set; + } + /// + /// Size + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("357", typeof(X12_R))] + [Pos(8)] + public string Size_08 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(9)] + public string UnitorBasisforMeasurementCode_09 { + get; + set; + } + /// + /// Date Qualifier + /// + [DataMember] + [DataElement("432", typeof(X12_ID_432))] + [Pos(10)] + public string DateQualifier_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(12)] + public string InnerPack_12 { + get; + set; + } + /// + /// Allowance or Charge Rate + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("359", typeof(X12_R))] + [Pos(13)] + public string AllowanceorChargeRate_13 { + get; + set; + } + } + + /// + /// Promotion Allowance/Charge + /// + [Serializable()] + [DataContract()] + [Segment("G46")] + public class G46 { + + /// + /// Allowance or Charge Code + /// + [DataMember] + [Required] + [DataElement("340", typeof(X12_ID_340))] + [Pos(1)] + public string AllowanceorChargeCode_01 { + get; + set; + } + /// + /// Allowance or Charge Method of Handling Code + /// + [DataMember] + [Required] + [DataElement("331", typeof(X12_ID_331))] + [Pos(2)] + public string AllowanceorChargeMethodofHandlingCode_02 { + get; + set; + } + /// + /// Allowance or Charge Rate + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("359", typeof(X12_R))] + [Pos(3)] + public string AllowanceorChargeRate_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + /// + /// Allowance/Charge Percent Qualifier + /// + [DataMember] + [DataElement("378", typeof(X12_ID_378))] + [Pos(6)] + public string AllowanceChargePercentQualifier_06 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("332", typeof(X12_R))] + [Pos(7)] + public string Percent_07 { + get; + set; + } + /// + /// Exception Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("769", typeof(X12_AN))] + [Pos(8)] + public string ExceptionNumber_08 { + get; + set; + } + /// + /// Option Number + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("770", typeof(X12_AN))] + [Pos(9)] + public string OptionNumber_09 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(10)] + public string Description_10 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(11)] + public string PriceIdentifierCode_11 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(12)] + public string Number_12 { + get; + set; + } + } + + /// + /// Statement Identification + /// + [Serializable()] + [DataContract()] + [Segment("G47")] + public class G47 { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Statement Number + /// + [DataMember] + [Required] + [StringLength(1, 16)] + [DataElement("613", typeof(X12_AN))] + [Pos(2)] + public string StatemenCAumber_02 { + get; + set; + } + } + + /// + /// Statement/Invoice Identification + /// + [Serializable()] + [DataContract()] + [Segment("G48")] + public class G48 { + + /// + /// Invoice Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(1)] + public string InvoiceNumber_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Store Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("614", typeof(X12_AN))] + [Pos(3)] + public string StoreNumber_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(5)] + public string PurchaseOrderNumber_05 { + get; + set; + } + /// + /// Vendor Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("424", typeof(X12_AN))] + [Pos(6)] + public string VendorOrderNumber_06 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(7)] + public string ReferenceIdentificationQualifier_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + } + + /// + /// Statement Total + /// + [Serializable()] + [DataContract()] + [Segment("G49")] + public class G49 { + + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(1)] + public string Amount_01 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(2)] + public string Amount_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + } + + /// + /// Weight Information + /// + [Serializable()] + [DataContract()] + [Segment("G5")] + public class G5 { + + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Waybill Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(3)] + public string WaybillNumber_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(5)] + public string Weight_05 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [Required] + [DataElement("187", typeof(X12_ID_187))] + [Pos(6)] + public string WeightQualifier_06 { + get; + set; + } + /// + /// Tare Weight + /// + [DataMember] + [StringLength(3, 8)] + [DataElement("167", typeof(X12_N0))] + [Pos(7)] + public string TareWeight_07 { + get; + set; + } + /// + /// Tare Qualifier Code + /// + [DataMember] + [DataElement("571", typeof(X12_ID_571))] + [Pos(8)] + public string TareQualifierCode_08 { + get; + set; + } + /// + /// Weight Allowance + /// + [DataMember] + [StringLength(2, 6)] + [DataElement("232", typeof(X12_N0))] + [Pos(9)] + public string WeightAllowance_09 { + get; + set; + } + /// + /// Weight Allowance Type Code + /// + [DataMember] + [DataElement("572", typeof(X12_ID_572))] + [Pos(10)] + public string WeightAllowanceTypeCode_10 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(11)] + public string FreightRate_11 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(12)] + public string RateValueQualifier_12 { + get; + set; + } + /// + /// Interchange Train Identification + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(13)] + public string InterchangeTrainIdentification_13 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(14)] + public string CommodityCode_14 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(15)] + public string ReferenceIdentificationQualifier_15 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(16)] + public string ReferenceIdentification_16 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(17)] + public string Date_17 { + get; + set; + } + } + + /// + /// Purchase Order Identification + /// + [Serializable()] + [DataContract()] + [Segment("G50")] + public class G50 { + + /// + /// Order Status Code + /// + [DataMember] + [Required] + [DataElement("473", typeof(X12_ID_473))] + [Pos(1)] + public string OrderStatusCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(3)] + public string PurchaseOrderNumber_03 { + get; + set; + } + /// + /// Tax Exempt Code + /// + [DataMember] + [DataElement("441", typeof(X12_ID_441))] + [Pos(4)] + public string TaxExemptCode_04 { + get; + set; + } + /// + /// Master Reference (Link) Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("474", typeof(X12_AN))] + [Pos(5)] + public string MasterReferenceLinkNumber_05 { + get; + set; + } + /// + /// Link Sequence Number + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("472", typeof(X12_N0))] + [Pos(6)] + public string LinkSequenceNumber_06 { + get; + set; + } + /// + /// Purchase Order Type Code + /// + [DataMember] + [DataElement("92", typeof(X12_ID_92))] + [Pos(7)] + public string PurchaseOrderTypeCode_07 { + get; + set; + } + } + + /// + /// Free Goods/Product Condition + /// + [Serializable()] + [DataContract()] + [Segment("G51")] + public class G51 { + + /// + /// Quantity Free + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("773", typeof(X12_N0))] + [Pos(1)] + public string QuantityFree_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Quantity Must Purchase + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("768", typeof(X12_N0))] + [Pos(3)] + public string QuantityMustPurchase_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(5)] + public string UPCCaseCode_05 { + get; + set; + } + /// + /// U.P.C./EAN Consumer Package Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("766", typeof(X12_AN))] + [Pos(6)] + public string UPCEANConsumerPackageCode_06 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(7)] + public string ProductServiceIDQualifier_07 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(8)] + public string ProductServiceID_08 { + get; + set; + } + } + + /// + /// Maintenance Type + /// + [Serializable()] + [DataContract()] + [Segment("G53")] + public class G53 { + + /// + /// Maintenance Type Code + /// + [DataMember] + [Required] + [DataElement("875", typeof(X12_ID_875))] + [Pos(1)] + public string MaintenanceTypeCode_01 { + get; + set; + } + } + + /// + /// Module Description + /// + [Serializable()] + [DataContract()] + [Segment("G54")] + public class G54 { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(3)] + public string UPCCaseCode_03 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(4)] + public string ProductServiceIDQualifier_04 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(5)] + public string ProductServiceID_05 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(6)] + public string FreeformDescription_06 { + get; + set; + } + } + + /// + /// Item Characteristics - Consumer Unit + /// + [Serializable()] + [DataContract()] + [Segment("G55")] + public class G55 { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(3)] + public string ProductServiceIDQualifier_03 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(4)] + public string ProductServiceID_04 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(5)] + public string Height_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(7)] + public string Width_07 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(8)] + public string UnitorBasisforMeasurementCode_08 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(9)] + public string Length_09 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(10)] + public string UnitorBasisforMeasurementCode_10 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(11)] + public string Volume_11 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(12)] + public string UnitorBasisforMeasurementCode_12 { + get; + set; + } + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(13)] + public string Pack_13 { + get; + set; + } + /// + /// Size + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("357", typeof(X12_R))] + [Pos(14)] + public string Size_14 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(15)] + public string UnitorBasisforMeasurementCode_15 { + get; + set; + } + /// + /// Cash Register Item Description + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("878", typeof(X12_AN))] + [Pos(16)] + public string CashRegisterItemDescription_16 { + get; + set; + } + /// + /// Cash Register Item Description + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("878", typeof(X12_AN))] + [Pos(17)] + public string CashRegisterItemDescription_17 { + get; + set; + } + /// + /// Coupon Family Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("879", typeof(X12_AN))] + [Pos(18)] + public string CouponFamilyCode_18 { + get; + set; + } + /// + /// Dated Product Number of Days + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("880", typeof(X12_N0))] + [Pos(19)] + public string DatedProducCAumberofDays_19 { + get; + set; + } + /// + /// Deposit Value + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("881", typeof(X12_R))] + [Pos(20)] + public string DepositValue_20 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(21)] + public string YesNoConditionorResponseCode_21 { + get; + set; + } + /// + /// Color + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("397", typeof(X12_AN))] + [Pos(22)] + public string Color_22 { + get; + set; + } + /// + /// Unit Weight + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("395", typeof(X12_R))] + [Pos(23)] + public string UnitWeight_23 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(24)] + public string WeightQualifier_24 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(25)] + public string WeightUnitCode_25 { + get; + set; + } + /// + /// Unit Weight + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("395", typeof(X12_R))] + [Pos(26)] + public string UnitWeight_26 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(27)] + public string WeightQualifier_27 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(28)] + public string WeightUnitCode_28 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(29)] + public string ProductServiceIDQualifier_29 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(30)] + public string ProductServiceID_30 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(31)] + public string FreeformDescription_31 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(32)] + public string InnerPack_32 { + get; + set; + } + /// + /// Packaging Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("103", typeof(X12_AN))] + [Pos(33)] + public string PackagingCode_33 { + get; + set; + } + } + + /// + /// Contact + /// + [Serializable()] + [DataContract()] + [Segment("G61")] + public class G61 { + + /// + /// Contact Function Code + /// + [DataMember] + [Required] + [DataElement("366", typeof(X12_ID_366))] + [Pos(1)] + public string ContactFunctionCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Communication Number Qualifier + /// + [DataMember] + [DataElement("365", typeof(X12_ID_365))] + [Pos(3)] + public string CommunicationNumberQualifier_03 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(4)] + public string CommunicationNumber_04 { + get; + set; + } + /// + /// Contact Inquiry Reference + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("443", typeof(X12_AN))] + [Pos(5)] + public string ContactInquiryReference_05 { + get; + set; + } + } + + /// + /// Date/Time + /// + [Serializable()] + [DataContract()] + [Segment("G62")] + public class G62 { + + /// + /// Date Qualifier + /// + [DataMember] + [DataElement("432", typeof(X12_ID_432))] + [Pos(1)] + public string DateQualifier_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time Qualifier + /// + [DataMember] + [DataElement("176", typeof(X12_ID_176))] + [Pos(3)] + public string TimeQualifier_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(5)] + public string TimeCode_05 { + get; + set; + } + } + + /// + /// Period + /// + [Serializable()] + [DataContract()] + [Segment("G63")] + public class G63 { + + /// + /// Time Period Qualifier + /// + [DataMember] + [Required] + [DataElement("615", typeof(X12_ID_615))] + [Pos(1)] + public string TimePeriodQualifier_01 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(2)] + public string NumberofPeriods_02 { + get; + set; + } + /// + /// Tariff Application Code + /// + [DataMember] + [DataElement("257", typeof(X12_ID_257))] + [Pos(3)] + public string TariffApplicationCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + } + + /// + /// Transportation Instructions + /// + [Serializable()] + [DataContract()] + [Segment("G66")] + public class G66 { + + /// + /// Shipment Method of Payment + /// + [DataMember] + [DataElement("146", typeof(X12_ID_146))] + [Pos(1)] + public string ShipmentMethodofPayment_01 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(2)] + public string TransportationMethodTypeCode_02 { + get; + set; + } + /// + /// Pallet Exchange Code + /// + [DataMember] + [DataElement("399", typeof(X12_ID_399))] + [Pos(3)] + public string PalletExchangeCode_03 { + get; + set; + } + /// + /// Unit Load Option Code + /// + [DataMember] + [DataElement("400", typeof(X12_ID_400))] + [Pos(4)] + public string UnitLoadOptionCode_04 { + get; + set; + } + /// + /// Routing + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("387", typeof(X12_AN))] + [Pos(5)] + public string Routing_05 { + get; + set; + } + /// + /// F.O.B. Point Code + /// + [DataMember] + [DataElement("433", typeof(X12_ID_433))] + [Pos(6)] + public string FOBPointCode_06 { + get; + set; + } + /// + /// F.O.B. Point + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("434", typeof(X12_AN))] + [Pos(7)] + public string FOBPoint_07 { + get; + set; + } + } + + /// + /// Line Item Detail - Product + /// + [Serializable()] + [DataContract()] + [Segment("G68")] + public class G68 { + + /// + /// Quantity Ordered + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(1)] + public string QuantityOrdered_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Item List Cost + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("237", typeof(X12_R))] + [Pos(3)] + public string ItemListCost_03 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(4)] + public string UPCCaseCode_04 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(5)] + public string ProductServiceIDQualifier_05 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(6)] + public string ProductServiceID_06 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(7)] + public string ProductServiceIDQualifier_07 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(8)] + public string ProductServiceID_08 { + get; + set; + } + /// + /// Price Bracket Identifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("417", typeof(X12_AN))] + [Pos(9)] + public string PriceBracketIdentifier_09 { + get; + set; + } + /// + /// Quantity Cost + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("258", typeof(X12_N4))] + [Pos(10)] + public string QuantityCost_10 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(11)] + public string UnitorBasisforMeasurementCode_11 { + get; + set; + } + /// + /// Price List Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("439", typeof(X12_AN))] + [Pos(12)] + public string PriceLisCAumber_12 { + get; + set; + } + /// + /// Price List Issue Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("440", typeof(X12_AN))] + [Pos(13)] + public string PriceListIssueNumber_13 { + get; + set; + } + /// + /// Pre-Price Quantity Designator + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("857", typeof(X12_N6))] + [Pos(14)] + public string PrePriceQuantityDesignator_14 { + get; + set; + } + /// + /// Retail Pre-Price + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("858", typeof(X12_R))] + [Pos(15)] + public string RetailPrePrice_15 { + get; + set; + } + } + + /// + /// Line Item Detail - Description + /// + [Serializable()] + [DataContract()] + [Segment("G69")] + public class G69 { + + /// + /// Free-form Description + /// + [DataMember] + [Required] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(1)] + public string FreeformDescription_01 { + get; + set; + } + } + + /// + /// Line Item Detail - Miscellaneous + /// + [Serializable()] + [DataContract()] + [Segment("G70")] + public class G70 { + + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(1)] + public string Pack_01 { + get; + set; + } + /// + /// Size + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("357", typeof(X12_R))] + [Pos(2)] + public string Size_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Purchase Order Instruction Code + /// + [DataMember] + [DataElement("444", typeof(X12_ID_444))] + [Pos(4)] + public string PurchaseOrderInstructionCode_04 { + get; + set; + } + /// + /// Price Reason Code + /// + [DataMember] + [DataElement("381", typeof(X12_ID_381))] + [Pos(5)] + public string PriceReasonCode_05 { + get; + set; + } + /// + /// Terms Exception Code + /// + [DataMember] + [DataElement("445", typeof(X12_ID_445))] + [Pos(6)] + public string TermsExceptionCode_06 { + get; + set; + } + /// + /// Tax Exempt Code + /// + [DataMember] + [DataElement("441", typeof(X12_ID_441))] + [Pos(7)] + public string TaxExemptCode_07 { + get; + set; + } + /// + /// Color + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("397", typeof(X12_AN))] + [Pos(8)] + public string Color_08 { + get; + set; + } + /// + /// Pallet Block and Tiers + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("416", typeof(X12_N0))] + [Pos(9)] + public string PalletBlockandTiers_09 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(10)] + public string InnerPack_10 { + get; + set; + } + } + + /// + /// Allowance or Charge + /// + [Serializable()] + [DataContract()] + [Segment("G72")] + public class G72 { + + /// + /// Allowance or Charge Code + /// + [DataMember] + [Required] + [DataElement("340", typeof(X12_ID_340))] + [Pos(1)] + public string AllowanceorChargeCode_01 { + get; + set; + } + /// + /// Allowance or Charge Method of Handling Code + /// + [DataMember] + [Required] + [DataElement("331", typeof(X12_ID_331))] + [Pos(2)] + public string AllowanceorChargeMethodofHandlingCode_02 { + get; + set; + } + /// + /// Allowance or Charge Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("341", typeof(X12_AN))] + [Pos(3)] + public string AllowanceorChargeNumber_03 { + get; + set; + } + /// + /// Exception Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("769", typeof(X12_AN))] + [Pos(4)] + public string ExceptionNumber_04 { + get; + set; + } + /// + /// Allowance or Charge Rate + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("359", typeof(X12_R))] + [Pos(5)] + public string AllowanceorChargeRate_05 { + get; + set; + } + /// + /// Allowance or Charge Quantity + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("339", typeof(X12_R))] + [Pos(6)] + public string AllowanceorChargeQuantity_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Allowance or Charge Total Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("360", typeof(X12_N2))] + [Pos(8)] + public string AllowanceorChargeTotalAmount_08 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("332", typeof(X12_R))] + [Pos(9)] + public string Percent_09 { + get; + set; + } + /// + /// Dollar Basis For Percent + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("828", typeof(X12_R))] + [Pos(10)] + public string DollarBasisForPercent_10 { + get; + set; + } + /// + /// Option Number + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("770", typeof(X12_AN))] + [Pos(11)] + public string OptionNumber_11 { + get; + set; + } + } + + /// + /// Allowance or Charge Description + /// + [Serializable()] + [DataContract()] + [Segment("G73")] + public class G73 { + + /// + /// Free-form Description + /// + [DataMember] + [Required] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(1)] + public string FreeformDescription_01 { + get; + set; + } + } + + /// + /// Total Purchase Order + /// + [Serializable()] + [DataContract()] + [Segment("G76")] + public class G76 { + + /// + /// Quantity Ordered + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(1)] + public string QuantityOrdered_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(5)] + public string Volume_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Order Sizing Factor + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("398", typeof(X12_R))] + [Pos(7)] + public string OrderSizingFactor_07 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(8)] + public string Amount_08 { + get; + set; + } + /// + /// Price Bracket Identifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("417", typeof(X12_AN))] + [Pos(9)] + public string PriceBracketIdentifier_09 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("107", typeof(X12_ID_107))] + [Pos(10)] + public string PaymentMethodCode_10 { + get; + set; + } + } + + /// + /// Delivery/Return Base Record Identifier + /// + [Serializable()] + [DataContract()] + [Segment("G82")] + public class G82 { + + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [Required] + [DataElement("478", typeof(X12_ID_478))] + [Pos(1)] + public string CreditDebitFlagCode_01 { + get; + set; + } + /// + /// Supplier's Delivery/Return Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("861", typeof(X12_AN))] + [Pos(2)] + public string SuppliersDeliveryReturnNumber_02 { + get; + set; + } + /// + /// D-U-N-S Number + /// + [DataMember] + [Required] + [StringLength(9, 9)] + [DataElement("860", typeof(X12_AN))] + [Pos(3)] + public string DUNSNumber_03 { + get; + set; + } + /// + /// Receiver's Location Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("862", typeof(X12_AN))] + [Pos(4)] + public string ReceiversLocationNumber_04 { + get; + set; + } + /// + /// D-U-N-S Number + /// + [DataMember] + [Required] + [StringLength(9, 9)] + [DataElement("860", typeof(X12_AN))] + [Pos(5)] + public string DUNSNumber_05 { + get; + set; + } + /// + /// Supplier's Location Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("871", typeof(X12_AN))] + [Pos(6)] + public string SuppliersLocationNumber_06 { + get; + set; + } + /// + /// Physical Delivery or Return Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("872", typeof(X12_DT))] + [Pos(7)] + public string PhysicalDeliveryorReturnDate_07 { + get; + set; + } + /// + /// Product Ownership Transfer Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("873", typeof(X12_DT))] + [Pos(8)] + public string ProductOwnershipTransferDate_08 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(9)] + public string PurchaseOrderNumber_09 { + get; + set; + } + /// + /// Purchase Order Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("323", typeof(X12_DT))] + [Pos(10)] + public string PurchaseOrderDate_10 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [DataElement("146", typeof(X12_ID_146))] + [Pos(11)] + public string ShipmentMethodofPayment_11 { + get; + set; + } + /// + /// COD Method of Payment Code + /// + [DataMember] + [DataElement("625", typeof(X12_ID_625))] + [Pos(12)] + public string CODMethodofPaymentCode_12 { + get; + set; + } + } + + /// + /// Line Item Detail/Direct Store Delivery + /// + [Serializable()] + [DataContract()] + [Segment("G83")] + public class G83 { + + /// + /// Direct Store Delivery Sequence Number + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("204", typeof(X12_N0))] + [Pos(1)] + public string DirectStoreDeliverySequenceNumber_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// U.P.C./EAN Consumer Package Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("766", typeof(X12_AN))] + [Pos(4)] + public string UPCEANConsumerPackageCode_04 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(5)] + public string ProductServiceIDQualifier_05 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(6)] + public string ProductServiceID_06 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(7)] + public string UPCCaseCode_07 { + get; + set; + } + /// + /// Item List Cost + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("237", typeof(X12_R))] + [Pos(8)] + public string ItemListCost_08 { + get; + set; + } + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(9)] + public string Pack_09 { + get; + set; + } + /// + /// Cash Register Item Description + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("878", typeof(X12_AN))] + [Pos(10)] + public string CashRegisterItemDescription_10 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(11)] + public string ProductServiceIDQualifier_11 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(12)] + public string ProductServiceID_12 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(13)] + public string InnerPack_13 { + get; + set; + } + } + + /// + /// Delivery/Return Record of Totals + /// + [Serializable()] + [DataContract()] + [Segment("G84")] + public class G84 { + + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Total Invoice Amount + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("361", typeof(X12_N2))] + [Pos(2)] + public string TotalInvoiceAmount_02 { + get; + set; + } + /// + /// Total Deposit Dollar Amount + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("865", typeof(X12_N2))] + [Pos(3)] + public string TotalDepositDollarAmount_03 { + get; + set; + } + } + + /// + /// Record Integrity Check + /// + [Serializable()] + [DataContract()] + [Segment("G85")] + public class G85 { + + /// + /// Integrity Check Value + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("866", typeof(X12_AN))] + [Pos(1)] + public string IntegrityCheckValue_01 { + get; + set; + } + } + + /// + /// Signature + /// + [Serializable()] + [DataContract()] + [Segment("G86")] + public class G86 { + + /// + /// Signature + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("867", typeof(X12_AN))] + [Pos(1)] + public string Signature_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + } + + /// + /// Delivery/Return Adjustment Identification + /// + [Serializable()] + [DataContract()] + [Segment("G87")] + public class G87 { + + /// + /// Initiator Code + /// + [DataMember] + [Required] + [DataElement("868", typeof(X12_ID_868))] + [Pos(1)] + public string InitiatorCode_01 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [Required] + [DataElement("478", typeof(X12_ID_478))] + [Pos(2)] + public string CreditDebitFlagCode_02 { + get; + set; + } + /// + /// Supplier's Delivery/Return Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("861", typeof(X12_AN))] + [Pos(3)] + public string SuppliersDeliveryReturnNumber_03 { + get; + set; + } + /// + /// Integrity Check Value + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("866", typeof(X12_AN))] + [Pos(4)] + public string IntegrityCheckValue_04 { + get; + set; + } + /// + /// Adjustment Number + /// + [DataMember] + [Required] + [StringLength(1, 1)] + [DataElement("869", typeof(X12_N0))] + [Pos(5)] + public string AdjustmenCAumber_05 { + get; + set; + } + /// + /// Receiver Delivery/Return Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("870", typeof(X12_AN))] + [Pos(6)] + public string ReceiverDeliveryReturnNumber_06 { + get; + set; + } + } + + /// + /// Delivery/Return Identification Adjustment + /// + [Serializable()] + [DataContract()] + [Segment("G88")] + public class G88 { + + /// + /// Physical Delivery or Return Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("872", typeof(X12_DT))] + [Pos(1)] + public string PhysicalDeliveryorReturnDate_01 { + get; + set; + } + /// + /// Product Ownership Transfer Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("873", typeof(X12_DT))] + [Pos(2)] + public string ProductOwnershipTransferDate_02 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(3)] + public string PurchaseOrderNumber_03 { + get; + set; + } + /// + /// Purchase Order Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("323", typeof(X12_DT))] + [Pos(4)] + public string PurchaseOrderDate_04 { + get; + set; + } + /// + /// Receiver's Location Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("862", typeof(X12_AN))] + [Pos(5)] + public string ReceiversLocationNumber_05 { + get; + set; + } + } + + /// + /// Line-Item Detail Adjustment + /// + [Serializable()] + [DataContract()] + [Segment("G89")] + public class G89 { + + /// + /// Direct Store Delivery Sequence Number + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("204", typeof(X12_N0))] + [Pos(1)] + public string DirectStoreDeliverySequenceNumber_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// U.P.C./EAN Consumer Package Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("766", typeof(X12_AN))] + [Pos(4)] + public string UPCEANConsumerPackageCode_04 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(5)] + public string ProductServiceIDQualifier_05 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(6)] + public string ProductServiceID_06 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(7)] + public string UPCCaseCode_07 { + get; + set; + } + /// + /// Item List Cost + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("237", typeof(X12_R))] + [Pos(8)] + public string ItemListCost_08 { + get; + set; + } + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(9)] + public string Pack_09 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(10)] + public string InnerPack_10 { + get; + set; + } + } + + /// + /// Price Change Status + /// + [Serializable()] + [DataContract()] + [Segment("G91")] + public class G91 { + + /// + /// Change Type Code + /// + [DataMember] + [Required] + [DataElement("259", typeof(X12_ID_259))] + [Pos(1)] + public string ChangeTypeCode_01 { + get; + set; + } + } + + /// + /// Purchase Order Change Type + /// + [Serializable()] + [DataContract()] + [Segment("G92")] + public class G92 { + + /// + /// Change or Response Type Code + /// + [DataMember] + [Required] + [DataElement("670", typeof(X12_ID_670))] + [Pos(1)] + public string ChangeorResponseTypeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(3)] + public string PurchaseOrderNumber_03 { + get; + set; + } + } + + /// + /// Price Bracket Identification + /// + [Serializable()] + [DataContract()] + [Segment("G93")] + public class G93 { + + /// + /// Price Bracket Identifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("417", typeof(X12_AN))] + [Pos(1)] + public string PriceBracketIdentifier_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(4)] + public string FreeformDescription_04 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(5)] + public string TransportationMethodTypeCode_05 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(6)] + public string PriceIdentifierCode_06 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(7)] + public string ActionCode_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + } + + /// + /// Promotion Conditions + /// + [Serializable()] + [DataContract()] + [Segment("G94")] + public class G94 { + + /// + /// Promotion Condition Qualifier + /// + [DataMember] + [DataElement("293", typeof(X12_ID_293))] + [Pos(1)] + public string PromotionConditionQualifier_01 { + get; + set; + } + /// + /// Option Number + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("770", typeof(X12_AN))] + [Pos(2)] + public string OptionNumber_02 { + get; + set; + } + } + + /// + /// Performance Requirements + /// + [Serializable()] + [DataContract()] + [Segment("G95")] + public class G95 { + + /// + /// Promotion Condition Qualifier + /// + [DataMember] + [DataElement("293", typeof(X12_ID_293))] + [Pos(1)] + public string PromotionConditionQualifier_01 { + get; + set; + } + /// + /// Promotion Condition Code + /// + [DataMember] + [Required] + [DataElement("422", typeof(X12_ID_422))] + [Pos(2)] + public string PromotionConditionCode_02 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(3)] + public string AssignedNumber_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + } + + /// + /// Canadian Grain Information + /// + [Serializable()] + [DataContract()] + [Segment("GA")] + public class GA { + + /// + /// Fumigated/Cleaned Indicator + /// + [DataMember] + [DataElement("1275", typeof(X12_ID_1275))] + [Pos(1)] + public string FumigatedCleanedIndicator_01 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(2)] + public string CommodityCode_02 { + get; + set; + } + /// + /// Inspected/Weighed Indicator Code + /// + [DataMember] + [DataElement("1576", typeof(X12_ID_1576))] + [Pos(3)] + public string InspectedWeighedIndicatorCode_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Week + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("642", typeof(X12_N0))] + [Pos(6)] + public string Week_06 { + get; + set; + } + /// + /// Unload Terminal Elevator Code + /// + [DataMember] + [StringLength(3, 4)] + [DataElement("899", typeof(X12_AN))] + [Pos(7)] + public string UnloadTerminalElevatorCode_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(9)] + public string Number_09 { + get; + set; + } + /// + /// Machine Separable Indicator Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1276", typeof(X12_AN))] + [Pos(10)] + public string MachineSeparableIndicatorCode_10 { + get; + set; + } + /// + /// Canadian Wheat Board (CWB) Marketing Class Code + /// + [DataMember] + [DataElement("1277", typeof(X12_ID_1277))] + [Pos(11)] + public string CanadianWheatBoardCWBMarketingClassCode_11 { + get; + set; + } + /// + /// Canadian Wheat Board (CWB) Marketing Class Type Code + /// + [DataMember] + [DataElement("1278", typeof(X12_ID_1278))] + [Pos(12)] + public string CanadianWheatBoardCWBMarketingClassTypeCode_12 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(13)] + public string YesNoConditionorResponseCode_13 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(14)] + public string LocationIdentifier_14 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(15)] + public string StateorProvinceCode_15 { + get; + set; + } + /// + /// Percent Qualifier + /// + [DataMember] + [DataElement("1004", typeof(X12_ID_1004))] + [Pos(16)] + public string PercentQualifier_16 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(17)] + public string Percent_17 { + get; + set; + } + } + + /// + /// General Dosing Parameters + /// + [Serializable()] + [DataContract()] + [Segment("GDP")] + public class GDP { + + /// + /// Measurement Value + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(1)] + public string MeasurementValue_01 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(2)] + public C001 CompositeUnitofMeasure_02 { + get; + set; + } + /// + /// Route of Administration + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("1603", typeof(X12_AN))] + [Pos(3)] + public string RouteofAdministration_03 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(4)] + public string TestPeriodorIntervalValue_04 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(5)] + public string UnitofTimePeriodorInterval_05 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(6)] + public string TestPeriodorIntervalValue_06 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(7)] + public string UnitofTimePeriodorInterval_07 { + get; + set; + } + } + + /// + /// Furnished Goods and Services + /// + [Serializable()] + [DataContract()] + [Segment("GF")] + public class GF { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(3)] + public string ContracCAumber_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(5)] + public string ReferenceIdentificationQualifier_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(7)] + public string ReleaseNumber_07 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(8)] + public string ReferenceIdentificationQualifier_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + } + + /// + /// Group Header + /// + [Serializable()] + [DataContract()] + [Segment("GH")] + public class GH { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Number of Line Items + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("354", typeof(X12_N0))] + [Pos(3)] + public string NumberofLineItems_03 { + get; + set; + } + /// + /// Revision Number + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("691", typeof(X12_N0))] + [Pos(4)] + public string RevisionNumber_04 { + get; + set; + } + } + + /// + /// Group Identification + /// + [Serializable()] + [DataContract()] + [Segment("GID")] + public class GID { + + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(1)] + public string Name_01 { + get; + set; + } + /// + /// Gender Code + /// + [DataMember] + [Required] + [DataElement("1068", typeof(X12_ID_1068))] + [Pos(2)] + public string GenderCode_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + } + + /// + /// Guarantee Result Detail + /// + [Serializable()] + [DataContract()] + [Segment("GR")] + public class GR { + + /// + /// Loan Type Code + /// + [DataMember] + [Required] + [DataElement("1262", typeof(X12_ID_1262))] + [Pos(1)] + public string LoanTypeCode_01 { + get; + set; + } + /// + /// Loan Status Code + /// + [DataMember] + [Required] + [DataElement("1307", typeof(X12_ID_1307))] + [Pos(2)] + public string LoanStatusCode_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(7)] + public string DateTimePeriodFormatQualifier_07 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(8)] + public string DateTimePeriod_08 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(9)] + public string MonetaryAmount_09 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(10)] + public string InterestRate_10 { + get; + set; + } + /// + /// Loan Rate Type Code + /// + [DataMember] + [DataElement("1086", typeof(X12_ID_1086))] + [Pos(11)] + public string LoanRateTypeCode_11 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(12)] + public string InterestRate_12 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(13)] + public string YesNoConditionorResponseCode_13 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(14)] + public string ReferenceIdentification_14 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(15)] + public string DateTimePeriodFormatQualifier_15 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(16)] + public string DateTimePeriod_16 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(17)] + public string MonetaryAmount_17 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(18)] + public string ReferenceIdentification_18 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(19)] + public string YesNoConditionorResponseCode_19 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(20)] + public string Quantity_20 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(21)] + public string YesNoConditionorResponseCode_21 { + get; + set; + } + } + + /// + /// Train Data + /// + [Serializable()] + [DataContract()] + [Segment("GR2")] + public class GR2 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(2)] + public string LocationQualifier_02 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(3)] + public string LocationIdentifier_03 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(4)] + public string CityName_04 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(5)] + public string StateorProvinceCode_05 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(6)] + public string CountryCode_06 { + get; + set; + } + /// + /// Interchange Train Identification + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(7)] + public string InterchangeTrainIdentification_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(9)] + public string Time_09 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(10)] + public string StandardCarrierAlphaCode_10 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(11)] + public string StandardCarrierAlphaCode_11 { + get; + set; + } + /// + /// Interchange Train Identification + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(12)] + public string InterchangeTrainIdentification_12 { + get; + set; + } + } + + /// + /// Loading Cluster + /// + [Serializable()] + [DataContract()] + [Segment("GR4")] + public class GR4 { + + /// + /// Configuration Type Code + /// + [DataMember] + [Required] + [DataElement("1395", typeof(X12_ID_1395))] + [Pos(1)] + public string ConfigurationTypeCode_01 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [Required] + [DataElement("40", typeof(X12_ID_40))] + [Pos(2)] + public string EquipmentDescriptionCode_02 { + get; + set; + } + /// + /// Equipment Use Code + /// + [DataMember] + [Required] + [DataElement("1396", typeof(X12_ID_1396))] + [Pos(3)] + public string EquipmentUseCode_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(5)] + public string EquipmentInitial_05 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(6)] + public string EquipmenCAumber_06 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(7)] + public string LocationQualifier_07 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(8)] + public string LocationIdentifier_08 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(9)] + public string CityName_09 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(10)] + public string StateorProvinceCode_10 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(11)] + public string CountryCode_11 { + get; + set; + } + } + + /// + /// Loading Details + /// + [Serializable()] + [DataContract()] + [Segment("GR5")] + public class GR5 { + + /// + /// Special Handling Code + /// + [DataMember] + [Required] + [DataElement("152", typeof(X12_ID_152))] + [Pos(1)] + public string SpecialHandlingCode_01 { + get; + set; + } + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(2)] + public string SurfaceLayerPositionCode_02 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(3)] + public string MeasurementValue_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(5)] + public string StatusReasonCode_05 { + get; + set; + } + } + + /// + /// Statistical Government Information + /// + [Serializable()] + [DataContract()] + [Segment("GRI")] + public class GRI { + + /// + /// Reported Data ID Code + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("1260", typeof(X12_AN))] + [Pos(1)] + public string ReportedDataIDCode_01 { + get; + set; + } + /// + /// Reported Data Response + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("1261", typeof(X12_AN))] + [Pos(2)] + public string ReportedDataResponse_02 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(3)] + public string QuantityQualifier_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(5)] + public string AmountQualifierCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Percent Qualifier + /// + [DataMember] + [DataElement("1004", typeof(X12_ID_1004))] + [Pos(7)] + public string PercentQualifier_07 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("488", typeof(X12_N0))] + [Pos(8)] + public string Percent_08 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(9)] + public string DateTimeQualifier_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(11)] + public string Description_11 { + get; + set; + } + } + + /// + /// Group Dosage Parameters + /// + [Serializable()] + [DataContract()] + [Segment("GRP")] + public class GRP { + + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(1)] + public string Number_01 { + get; + set; + } + /// + /// Unit Dose Code + /// + [DataMember] + [Required] + [DataElement("1370", typeof(X12_ID_1370))] + [Pos(2)] + public string UnitDoseCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + } + + /// + /// Geography + /// + [Serializable()] + [DataContract()] + [Segment("GY")] + public class GY { + + /// + /// Geography Qualifier Code + /// + [DataMember] + [Required] + [DataElement("262", typeof(X12_ID_262))] + [Pos(1)] + public string GeographyQualifierCode_01 { + get; + set; + } + /// + /// Commodity/Geographic Logical Connector Code + /// + [DataMember] + [DataElement("699", typeof(X12_ID_699))] + [Pos(2)] + public string CommodityGeographicLogicalConnectorCode_02 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(3)] + public string LocationQualifier_03 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(4)] + public string StateorProvinceCode_04 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(5)] + public string LocationIdentifier_05 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(6)] + public string LocationIdentifier_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Change Type Code + /// + [DataMember] + [DataElement("259", typeof(X12_ID_259))] + [Pos(8)] + public string ChangeTypeCode_08 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(9)] + public string StandardCarrierAlphaCode_09 { + get; + set; + } + /// + /// Docket Control Number + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("697", typeof(X12_AN))] + [Pos(10)] + public string DocketControlNumber_10 { + get; + set; + } + /// + /// Docket Identification + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("690", typeof(X12_AN))] + [Pos(11)] + public string DocketIdentification_11 { + get; + set; + } + /// + /// Group Title + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("260", typeof(X12_AN))] + [Pos(12)] + public string GroupTitle_12 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(13)] + public string StateorProvinceCode_13 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(14)] + public string CityName_14 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(15)] + public string YesNoConditionorResponseCode_15 { + get; + set; + } + } + + /// + /// Hazardous Material + /// + [Serializable()] + [DataContract()] + [Segment("H1")] + public class H1 { + + /// + /// Hazardous Material Code + /// + [DataMember] + [Required] + [StringLength(4, 10)] + [DataElement("62", typeof(X12_AN))] + [Pos(1)] + public string HazardousMaterialCode_01 { + get; + set; + } + /// + /// Hazardous Material Class Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("209", typeof(X12_AN))] + [Pos(2)] + public string HazardousMaterialClassCode_02 { + get; + set; + } + /// + /// Hazardous Material Code Qualifier + /// + [DataMember] + [DataElement("208", typeof(X12_ID_208))] + [Pos(3)] + public string HazardousMaterialCodeQualifier_03 { + get; + set; + } + /// + /// Hazardous Material Description + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("64", typeof(X12_AN))] + [Pos(4)] + public string HazardousMaterialDescription_04 { + get; + set; + } + /// + /// Hazardous Material Contact + /// + [DataMember] + [StringLength(1, 24)] + [DataElement("63", typeof(X12_AN))] + [Pos(5)] + public string HazardousMaterialContact_05 { + get; + set; + } + /// + /// Hazardous Materials Page + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("200", typeof(X12_AN))] + [Pos(6)] + public string HazardousMaterialsPage_06 { + get; + set; + } + /// + /// Flashpoint Temperature + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("77", typeof(X12_N))] + [Pos(7)] + public string FlashpointTemperature_07 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(8)] + public string UnitorBasisforMeasurementCode_08 { + get; + set; + } + /// + /// Packing Group Code + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("254", typeof(X12_AN))] + [Pos(9)] + public string PackingGroupCode_09 { + get; + set; + } + } + + /// + /// Additional Hazardous Material Description + /// + [Serializable()] + [DataContract()] + [Segment("H2")] + public class H2 { + + /// + /// Hazardous Material Description + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("64", typeof(X12_AN))] + [Pos(1)] + public string HazardousMaterialDescription_01 { + get; + set; + } + /// + /// Hazardous Material Classification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("274", typeof(X12_AN))] + [Pos(2)] + public string HazardousMaterialClassification_02 { + get; + set; + } + } + + /// + /// Special Handling Instructions + /// + [Serializable()] + [DataContract()] + [Segment("H3")] + public class H3 { + + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(1)] + public string SpecialHandlingCode_01 { + get; + set; + } + /// + /// Special Handling Description + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("153", typeof(X12_AN))] + [Pos(2)] + public string SpecialHandlingDescription_02 { + get; + set; + } + /// + /// Protective Service Code + /// + [DataMember] + [DataElement("241", typeof(X12_ID_241))] + [Pos(3)] + public string ProtectiveServiceCode_03 { + get; + set; + } + /// + /// Vent Instruction Code + /// + [DataMember] + [DataElement("242", typeof(X12_ID_242))] + [Pos(4)] + public string VentInstructionCode_04 { + get; + set; + } + /// + /// Tariff Application Code + /// + [DataMember] + [DataElement("257", typeof(X12_ID_257))] + [Pos(5)] + public string TariffApplicationCode_05 { + get; + set; + } + } + + /// + /// Car Service Order + /// + [Serializable()] + [DataContract()] + [Segment("H5")] + public class H5 { + + /// + /// Car Service Order Code + /// + [DataMember] + [Required] + [DataElement("240", typeof(X12_ID_240))] + [Pos(1)] + public string CarServiceOrderCode_01 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(2)] + public string CityName_02 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(3)] + public string StateorProvinceCode_03 { + get; + set; + } + } + + /// + /// Special Services + /// + [Serializable()] + [DataContract()] + [Segment("H6")] + public class H6 { + + /// + /// Special Services Code + /// + [DataMember] + [DataElement("560", typeof(X12_ID_560))] + [Pos(1)] + public string SpecialServicesCode_01 { + get; + set; + } + /// + /// Special Services Code + /// + [DataMember] + [DataElement("560", typeof(X12_ID_560))] + [Pos(2)] + public string SpecialServicesCode_02 { + get; + set; + } + /// + /// Quantity of Pallets Shipped + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("406", typeof(X12_N0))] + [Pos(3)] + public string QuantityofPalletsShipped_03 { + get; + set; + } + /// + /// Pallet Exchange Code + /// + [DataMember] + [DataElement("399", typeof(X12_ID_399))] + [Pos(4)] + public string PalletExchangeCode_04 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(5)] + public string Weight_05 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(6)] + public string WeightUnitCode_06 { + get; + set; + } + /// + /// Pick-up or Delivery Code + /// + [DataMember] + [DataElement("108", typeof(X12_ID_108))] + [Pos(7)] + public string PickuporDeliveryCode_07 { + get; + set; + } + } + + /// + /// Health Condition + /// + [Serializable()] + [DataContract()] + [Segment("HC")] + public class HC { + + /// + /// Disease Condition Type Code + /// + [DataMember] + [Required] + [StringLength(3, 6)] + [DataElement("1255", typeof(X12_AN))] + [Pos(1)] + public string DiseaseConditionTypeCode_01 { + get; + set; + } + /// + /// Medical Treatment Type Code + /// + [DataMember] + [StringLength(5, 5)] + [DataElement("1256", typeof(X12_AN))] + [Pos(2)] + public string MedicalTreatmentTypeCode_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + } + + /// + /// Health Care Pricing + /// + [Serializable()] + [DataContract()] + [Segment("HCP")] + public class HCP { + + /// + /// Pricing Methodology + /// + [DataMember] + [DataElement("1473", typeof(X12_ID_1473))] + [Pos(1)] + public string PricingMethodology_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(5)] + public string Rate_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(8)] + public string ProductServiceID_08 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(9)] + public string ProductServiceIDQualifier_09 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(10)] + public string ProductServiceID_10 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(11)] + public string UnitorBasisforMeasurementCode_11 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(12)] + public string Quantity_12 { + get; + set; + } + /// + /// Reject Reason Code + /// + [DataMember] + [DataElement("901", typeof(X12_ID_901))] + [Pos(13)] + public string RejectReasonCode_13 { + get; + set; + } + /// + /// Policy Compliance Code + /// + [DataMember] + [DataElement("1526", typeof(X12_ID_1526))] + [Pos(14)] + public string PolicyComplianceCode_14 { + get; + set; + } + /// + /// Exception Code + /// + [DataMember] + [DataElement("1527", typeof(X12_ID_1527))] + [Pos(15)] + public string ExceptionCode_15 { + get; + set; + } + } + + /// + /// Health Care Services Review + /// + [Serializable()] + [DataContract()] + [Segment("HCR")] + public class HCR { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reject Reason Code + /// + [DataMember] + [DataElement("901", typeof(X12_ID_901))] + [Pos(3)] + public string RejectReasonCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + } + + /// + /// Health Coverage + /// + [Serializable()] + [DataContract()] + [Segment("HD")] + public class HD { + + /// + /// Maintenance Type Code + /// + [DataMember] + [Required] + [DataElement("875", typeof(X12_ID_875))] + [Pos(1)] + public string MaintenanceTypeCode_01 { + get; + set; + } + /// + /// Maintenance Reason Code + /// + [DataMember] + [DataElement("1203", typeof(X12_ID_1203))] + [Pos(2)] + public string MaintenanceReasonCode_02 { + get; + set; + } + /// + /// Insurance Line Code + /// + [DataMember] + [DataElement("1205", typeof(X12_ID_1205))] + [Pos(3)] + public string InsuranceLineCode_03 { + get; + set; + } + /// + /// Plan Coverage Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("1204", typeof(X12_AN))] + [Pos(4)] + public string PlanCoverageDescription_04 { + get; + set; + } + /// + /// Coverage Level Code + /// + [DataMember] + [DataElement("1207", typeof(X12_ID_1207))] + [Pos(5)] + public string CoverageLevelCode_05 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(6)] + public string Count_06 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(7)] + public string Count_07 { + get; + set; + } + /// + /// Underwriting Decision Code + /// + [DataMember] + [DataElement("1209", typeof(X12_ID_1209))] + [Pos(8)] + public string UnderwritingDecisionCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Drug House Code + /// + [DataMember] + [DataElement("1211", typeof(X12_ID_1211))] + [Pos(10)] + public string DrugHouseCode_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + } + + /// + /// Health Care Information Codes + /// + [Serializable()] + [DataContract()] + [Segment("HI")] + public class HI { + + /// + /// Health Care Code Information + /// + [DataMember] + [Required] + [Pos(1)] + public C022 HealthCareCodeInformation_01 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(2)] + public C022 HealthCareCodeInformation_02 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(3)] + public C022 HealthCareCodeInformation_03 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(4)] + public C022 HealthCareCodeInformation_04 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(5)] + public C022 HealthCareCodeInformation_05 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(6)] + public C022 HealthCareCodeInformation_06 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(7)] + public C022 HealthCareCodeInformation_07 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(8)] + public C022 HealthCareCodeInformation_08 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(9)] + public C022 HealthCareCodeInformation_09 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(10)] + public C022 HealthCareCodeInformation_10 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(11)] + public C022 HealthCareCodeInformation_11 { + get; + set; + } + /// + /// Health Care Code Information + /// + [DataMember] + [Pos(12)] + public C022 HealthCareCodeInformation_12 { + get; + set; + } + } + + /// + /// Hierarchical Level + /// + [Serializable()] + [DataContract()] + [Segment("HL")] + public class HL { + + /// + /// Hierarchical ID Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("628", typeof(X12_AN))] + [Pos(1)] + public string HierarchicalIDNumber_01 { + get; + set; + } + /// + /// Hierarchical Parent ID Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("734", typeof(X12_AN))] + [Pos(2)] + public string HierarchicalParentIDNumber_02 { + get; + set; + } + /// + /// Hierarchical Level Code + /// + [DataMember] + [Required] + [DataElement("735", typeof(X12_ID_735))] + [Pos(3)] + public string HierarchicalLevelCode_03 { + get; + set; + } + /// + /// Hierarchical Child Code + /// + [DataMember] + [DataElement("736", typeof(X12_ID_736))] + [Pos(4)] + public string HierarchicalChildCode_04 { + get; + set; + } + } + + /// + /// Health Information + /// + [Serializable()] + [DataContract()] + [Segment("HLH")] + public class HLH { + + /// + /// Health-Related Code + /// + [DataMember] + [DataElement("1212", typeof(X12_ID_1212))] + [Pos(1)] + public string HealthRelatedCode_01 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(2)] + public string Height_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Current Health Condition Code + /// + [DataMember] + [DataElement("1213", typeof(X12_ID_1213))] + [Pos(6)] + public string CurrentHealthConditionCode_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + } + + /// + /// Health Screening + /// + [Serializable()] + [DataContract()] + [Segment("HS")] + public class HS { + + /// + /// Health Screening Type Code + /// + [DataMember] + [Required] + [StringLength(3, 6)] + [DataElement("1252", typeof(X12_AN))] + [Pos(1)] + public string HealthScreeningTypeCode_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(4)] + public string StatusReasonCode_04 { + get; + set; + } + } + + /// + /// Health Care Services Delivery + /// + [Serializable()] + [DataContract()] + [Segment("HSD")] + public class HSD { + + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(1)] + public string QuantityQualifier_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Sample Selection Modulus + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1167", typeof(X12_R))] + [Pos(4)] + public string SampleSelectionModulus_04 { + get; + set; + } + /// + /// Time Period Qualifier + /// + [DataMember] + [DataElement("615", typeof(X12_ID_615))] + [Pos(5)] + public string TimePeriodQualifier_05 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(6)] + public string NumberofPeriods_06 { + get; + set; + } + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [DataElement("678", typeof(X12_ID_678))] + [Pos(7)] + public string ShipDeliveryorCalendarPatternCode_07 { + get; + set; + } + /// + /// Ship/Delivery Pattern Time Code + /// + [DataMember] + [DataElement("679", typeof(X12_ID_679))] + [Pos(8)] + public string ShipDeliveryPatternTimeCode_08 { + get; + set; + } + } + + /// + /// Intermodal Chassis Equipment + /// + [Serializable()] + [DataContract()] + [Segment("IC")] + public class IC { + + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Tare Weight + /// + [DataMember] + [StringLength(3, 8)] + [DataElement("167", typeof(X12_N0))] + [Pos(3)] + public string TareWeight_03 { + get; + set; + } + /// + /// Tare Qualifier Code + /// + [DataMember] + [DataElement("571", typeof(X12_ID_571))] + [Pos(4)] + public string TareQualifierCode_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Equipment Length + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("567", typeof(X12_N0))] + [Pos(6)] + public string EquipmentLength_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Chassis Type + /// + [DataMember] + [DataElement("845", typeof(X12_ID_845))] + [Pos(8)] + public string ChassisType_08 { + get; + set; + } + } + + /// + /// Individual Characteristics + /// + [Serializable()] + [DataContract()] + [Segment("ICH")] + public class ICH { + + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(1)] + public string Count_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Gender Code + /// + [DataMember] + [DataElement("1068", typeof(X12_ID_1068))] + [Pos(4)] + public string GenderCode_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Occupation Code + /// + [DataMember] + [StringLength(4, 6)] + [DataElement("1149", typeof(X12_AN))] + [Pos(8)] + public string OccupationCode_08 { + get; + set; + } + /// + /// Individual Relationship Code + /// + [DataMember] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(9)] + public string IndividualRelationshipCode_09 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(10)] + public string Description_10 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(11)] + public string Description_11 { + get; + set; + } + /// + /// Political Party Affiliation Code + /// + [DataMember] + [DataElement("1588", typeof(X12_ID_1588))] + [Pos(12)] + public string PoliticalPartyAffiliationCode_12 { + get; + set; + } + } + + /// + /// Individual Income + /// + [Serializable()] + [DataContract()] + [Segment("ICM")] + public class ICM { + + /// + /// Frequency Code + /// + [DataMember] + [Required] + [DataElement("594", typeof(X12_ID_594))] + [Pos(1)] + public string FrequencyCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(4)] + public string LocationIdentifier_04 { + get; + set; + } + /// + /// Salary Grade + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("1214", typeof(X12_AN))] + [Pos(5)] + public string SalaryGrade_05 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(6)] + public string CurrencyCode_06 { + get; + set; + } + } + + /// + /// Inspection Detail Segment + /// + [Serializable()] + [DataContract()] + [Segment("ID")] + public class ID { + + /// + /// Damage Area Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("556", typeof(X12_AN))] + [Pos(1)] + public string DamageAreaCode_01 { + get; + set; + } + /// + /// Damage Type Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("540", typeof(X12_AN))] + [Pos(2)] + public string DamageTypeCode_02 { + get; + set; + } + /// + /// Damage Severity Code + /// + [DataMember] + [Required] + [StringLength(1, 1)] + [DataElement("541", typeof(X12_AN))] + [Pos(3)] + public string DamageSeverityCode_03 { + get; + set; + } + } + + /// + /// Item Detail Dimensions + /// + [Serializable()] + [DataContract()] + [Segment("ID1")] + public class ID1 { + + /// + /// U.P.C./EAN Consumer Package Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("766", typeof(X12_AN))] + [Pos(1)] + public string UPCEANConsumerPackageCode_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [Required] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(4)] + public string FreeformDescription_04 { + get; + set; + } + /// + /// Size + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("357", typeof(X12_R))] + [Pos(5)] + public string Size_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(7)] + public string Height_07 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(8)] + public string Width_08 { + get; + set; + } + /// + /// Item Depth + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("677", typeof(X12_R))] + [Pos(9)] + public string ItemDepth_09 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(10)] + public string UnitorBasisforMeasurementCode_10 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(11)] + public string Weight_11 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(12)] + public string UnitorBasisforMeasurementCode_12 { + get; + set; + } + /// + /// Category Reference Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("712", typeof(X12_AN))] + [Pos(13)] + public string CategoryReferenceCode_13 { + get; + set; + } + /// + /// Category + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("729", typeof(X12_AN))] + [Pos(14)] + public string Category_14 { + get; + set; + } + /// + /// Subcategory + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("730", typeof(X12_AN))] + [Pos(15)] + public string Subcategory_15 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(16)] + public string UnitorBasisforMeasurementCode_16 { + get; + set; + } + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(17)] + public string Pack_17 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(18)] + public string InnerPack_18 { + get; + set; + } + /// + /// Date Qualifier + /// + [DataMember] + [DataElement("432", typeof(X12_ID_432))] + [Pos(19)] + public string DateQualifier_19 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(20)] + public string Date_20 { + get; + set; + } + /// + /// Nesting Code + /// + [DataMember] + [DataElement("814", typeof(X12_ID_814))] + [Pos(21)] + public string NestingCode_21 { + get; + set; + } + /// + /// Nesting + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("851", typeof(X12_R))] + [Pos(22)] + public string Nesting_22 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(23)] + public string UnitorBasisforMeasurementCode_23 { + get; + set; + } + /// + /// Peg Code + /// + [DataMember] + [DataElement("855", typeof(X12_ID_855))] + [Pos(24)] + public string PegCode_24 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(25)] + public string UnitorBasisforMeasurementCode_25 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(26)] + public string ReferenceIdentification_26 { + get; + set; + } + /// + /// X-Peg + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("863", typeof(X12_R))] + [Pos(27)] + public string XPeg_27 { + get; + set; + } + /// + /// Y-Peg + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("864", typeof(X12_R))] + [Pos(28)] + public string YPeg_28 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(29)] + public string ReferenceIdentification_29 { + get; + set; + } + /// + /// X-Peg + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("863", typeof(X12_R))] + [Pos(30)] + public string XPeg_30 { + get; + set; + } + /// + /// Y-Peg + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("864", typeof(X12_R))] + [Pos(31)] + public string YPeg_31 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(32)] + public string ReferenceIdentification_32 { + get; + set; + } + /// + /// X-Peg + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("863", typeof(X12_R))] + [Pos(33)] + public string XPeg_33 { + get; + set; + } + /// + /// Y-Peg + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("864", typeof(X12_R))] + [Pos(34)] + public string YPeg_34 { + get; + set; + } + } + + /// + /// Item Image Detail + /// + [Serializable()] + [DataContract()] + [Segment("ID2")] + public class ID2 { + + /// + /// Cash Register Item Description + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("878", typeof(X12_AN))] + [Pos(1)] + public string CashRegisterItemDescription_01 { + get; + set; + } + /// + /// Cash Register Item Description + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("878", typeof(X12_AN))] + [Pos(2)] + public string CashRegisterItemDescription_02 { + get; + set; + } + /// + /// Space Management Reference Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("874", typeof(X12_AN))] + [Pos(3)] + public string SpaceManagementReferenceCode_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(5)] + public string Name_05 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(6)] + public string Name_06 { + get; + set; + } + /// + /// Space Management Reference Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("874", typeof(X12_AN))] + [Pos(7)] + public string SpaceManagementReferenceCode_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + } + + /// + /// Dimensions Detail + /// + [Serializable()] + [DataContract()] + [Segment("ID3")] + public class ID3 { + + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(1)] + public string UPCCaseCode_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(4)] + public string Pack_04 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(5)] + public string InnerPack_05 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(6)] + public string Height_06 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(7)] + public string Width_07 { + get; + set; + } + /// + /// Item Depth + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("677", typeof(X12_R))] + [Pos(8)] + public string ItemDepth_08 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(9)] + public string UnitorBasisforMeasurementCode_09 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(10)] + public string Weight_10 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(11)] + public string UnitorBasisforMeasurementCode_11 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(12)] + public string Volume_12 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(13)] + public string UnitorBasisforMeasurementCode_13 { + get; + set; + } + /// + /// Tray Count + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("967", typeof(X12_N0))] + [Pos(14)] + public string TrayCount_14 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(15)] + public string Height_15 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(16)] + public string Width_16 { + get; + set; + } + /// + /// Item Depth + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("677", typeof(X12_R))] + [Pos(17)] + public string ItemDepth_17 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(18)] + public string UnitorBasisforMeasurementCode_18 { + get; + set; + } + /// + /// Nesting Code + /// + [DataMember] + [DataElement("814", typeof(X12_ID_814))] + [Pos(19)] + public string NestingCode_19 { + get; + set; + } + /// + /// Nesting + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("851", typeof(X12_R))] + [Pos(20)] + public string Nesting_20 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(21)] + public string UnitorBasisforMeasurementCode_21 { + get; + set; + } + } + + /// + /// Load Details + /// + [Serializable()] + [DataContract()] + [Segment("ID4")] + public class ID4 { + + /// + /// Declared Value + /// + [DataMember] + [StringLength(2, 12)] + [DataElement("74", typeof(X12_N2))] + [Pos(1)] + public string DeclaredValue_01 { + get; + set; + } + /// + /// Pick-up or Delivery Code + /// + [DataMember] + [DataElement("108", typeof(X12_ID_108))] + [Pos(2)] + public string PickuporDeliveryCode_02 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(3)] + public string WeightQualifier_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(5)] + public string VolumeUnitQualifier_05 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(6)] + public string Volume_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + } + + /// + /// Indebtedness for Student Loans + /// + [Serializable()] + [DataContract()] + [Segment("IDB")] + public class IDB { + + /// + /// Loan Type Code + /// + [DataMember] + [Required] + [DataElement("1262", typeof(X12_ID_1262))] + [Pos(1)] + public string LoanTypeCode_01 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(2)] + public string AmountQualifierCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(4)] + public string InterestRate_04 { + get; + set; + } + /// + /// Loan Rate Type Code + /// + [DataMember] + [DataElement("1086", typeof(X12_ID_1086))] + [Pos(5)] + public string LoanRateTypeCode_05 { + get; + set; + } + } + + /// + /// Identification Card + /// + [Serializable()] + [DataContract()] + [Segment("IDC")] + public class IDC { + + /// + /// Plan Coverage Description + /// + [DataMember] + [Required] + [StringLength(1, 50)] + [DataElement("1204", typeof(X12_AN))] + [Pos(1)] + public string PlanCoverageDescription_01 { + get; + set; + } + /// + /// Identification Card Type Code + /// + [DataMember] + [Required] + [DataElement("1215", typeof(X12_ID_1215))] + [Pos(2)] + public string IdentificationCardTypeCode_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(4)] + public string ActionCode_04 { + get; + set; + } + } + + /// + /// Insurer or Guarantor Information + /// + [Serializable()] + [DataContract()] + [Segment("IGI")] + public class IGI { + + /// + /// Insurer Guarantor Type Code + /// + [DataMember] + [Required] + [DataElement("1678", typeof(X12_ID_1678))] + [Pos(1)] + public string InsurerGuarantorTypeCode_01 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(2)] + public string CodeListQualifierCode_02 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(3)] + public string IndustryCode_03 { + get; + set; + } + /// + /// Mortgage Insurance Coverage Type Code + /// + [DataMember] + [DataElement("1100", typeof(X12_ID_1100))] + [Pos(4)] + public string MortgageInsuranceCoverageTypeCode_04 { + get; + set; + } + /// + /// Insurer Coverage Indicator Code + /// + [DataMember] + [DataElement("1679", typeof(X12_ID_1679))] + [Pos(5)] + public string InsurerCoverageIndicatorCode_05 { + get; + set; + } + /// + /// Payer Responsibility Sequence Number Code + /// + [DataMember] + [DataElement("1138", typeof(X12_ID_1138))] + [Pos(6)] + public string PayerResponsibilitySequenceNumberCode_06 { + get; + set; + } + } + + /// + /// Information + /// + [Serializable()] + [DataContract()] + [Segment("III")] + public class III { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Code Category + /// + [DataMember] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(3)] + public string CodeCategory_03 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(4)] + public string FreeFormMessageText_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(6)] + public C001 CompositeUnitofMeasure_06 { + get; + set; + } + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(7)] + public string SurfaceLayerPositionCode_07 { + get; + set; + } + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(8)] + public string SurfaceLayerPositionCode_08 { + get; + set; + } + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(9)] + public string SurfaceLayerPositionCode_09 { + get; + set; + } + } + + /// + /// Interchange Identification Segment + /// + [Serializable()] + [DataContract()] + [Segment("IIS")] + public class IIS { + + /// + /// Reported Start Segment ID + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("I44", typeof(X12_AN))] + [Pos(1)] + public string ReportedStartSegmentIDI_01 { + get; + set; + } + /// + /// Reported Control Number + /// + [DataMember] + [StringLength(1, 14)] + [DataElement("I45", typeof(X12_AN))] + [Pos(2)] + public string ReportedControlNumberI_02 { + get; + set; + } + /// + /// Reported Date + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("I46", typeof(X12_AN))] + [Pos(3)] + public string ReportedDateI_03 { + get; + set; + } + /// + /// Reported Time + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("I47", typeof(X12_AN))] + [Pos(4)] + public string ReportedTimeI_04 { + get; + set; + } + /// + /// Reported Interchange Sender ID Qualifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("I48", typeof(X12_AN))] + [Pos(5)] + public string ReportedInterchangeSenderIDQualifierI_05 { + get; + set; + } + /// + /// Reported Sender ID + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("I49", typeof(X12_AN))] + [Pos(6)] + public string ReportedSenderIDI_06 { + get; + set; + } + /// + /// Reported Interchange Receiver ID Qualifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("I50", typeof(X12_AN))] + [Pos(7)] + public string ReportedInterchangeReceiverIDQualifierI_07 { + get; + set; + } + /// + /// Reported Receiver ID + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("I51", typeof(X12_AN))] + [Pos(8)] + public string ReportedReceiverIDI_08 { + get; + set; + } + /// + /// First Reference ID Qualifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("I52", typeof(X12_AN))] + [Pos(9)] + public string FirstReferenceIDQualifierI_09 { + get; + set; + } + /// + /// First Reference ID + /// + [DataMember] + [StringLength(1, 14)] + [DataElement("I53", typeof(X12_AN))] + [Pos(10)] + public string FirstReferenceIDI_10 { + get; + set; + } + /// + /// Second Reference ID Qualifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("I54", typeof(X12_AN))] + [Pos(11)] + public string SecondReferenceIDQualifierI_11 { + get; + set; + } + /// + /// Second Reference ID + /// + [DataMember] + [StringLength(1, 14)] + [DataElement("I55", typeof(X12_AN))] + [Pos(12)] + public string SecondReferenceIDI_12 { + get; + set; + } + /// + /// Message Direction Code + /// + [DataMember] + [DataElement("I61", typeof(X12_ID_I61))] + [Pos(13)] + public string MessageDirectionCodeI_13 { + get; + set; + } + /// + /// Reported Group or Transaction Identifier + /// + [DataMember] + [StringLength(2, 6)] + [DataElement("I64", typeof(X12_AN))] + [Pos(14)] + public string ReportedGrouporTransactionIdentifierI_14 { + get; + set; + } + } + + /// + /// Intermodal Movement Information + /// + [Serializable()] + [DataContract()] + [Segment("IM")] + public class IM { + + /// + /// Water Movement Code + /// + [DataMember] + [DataElement("533", typeof(X12_ID_533))] + [Pos(1)] + public string WaterMovementCode_01 { + get; + set; + } + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(2)] + public string SpecialHandlingCode_02 { + get; + set; + } + /// + /// Inland Transportation Code + /// + [DataMember] + [DataElement("534", typeof(X12_ID_534))] + [Pos(3)] + public string InlandTransportationCode_03 { + get; + set; + } + } + + /// + /// Interchange Move Authority + /// + [Serializable()] + [DataContract()] + [Segment("IMA")] + public class IMA { + + /// + /// Movement Authority Code + /// + [DataMember] + [Required] + [DataElement("748", typeof(X12_ID_748))] + [Pos(1)] + public string MovementAuthorityCode_01 { + get; + set; + } + /// + /// Special Handling Description + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("153", typeof(X12_AN))] + [Pos(2)] + public string SpecialHandlingDescription_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Tariff Application Code + /// + [DataMember] + [DataElement("257", typeof(X12_ID_257))] + [Pos(4)] + public string TariffApplicationCode_04 { + get; + set; + } + /// + /// Tariff Application Code + /// + [DataMember] + [DataElement("257", typeof(X12_ID_257))] + [Pos(5)] + public string TariffApplicationCode_05 { + get; + set; + } + } + + /// + /// Immunization Status Code + /// + [Serializable()] + [DataContract()] + [Segment("IMM")] + public class IMM { + + /// + /// Immunization Type Code + /// + [DataMember] + [Required] + [StringLength(3, 6)] + [DataElement("1253", typeof(X12_AN))] + [Pos(1)] + public string ImmunizationTypeCode_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Immunization Status Code + /// + [DataMember] + [DataElement("1254", typeof(X12_ID_1254))] + [Pos(4)] + public string ImmunizationStatusCode_04 { + get; + set; + } + /// + /// Report Type Code + /// + [DataMember] + [DataElement("755", typeof(X12_ID_755))] + [Pos(5)] + public string ReportTypeCode_05 { + get; + set; + } + } + + /// + /// Impairment Detail + /// + [Serializable()] + [DataContract()] + [Segment("IMP")] + public class IMP { + + /// + /// Part of Body Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("1460", typeof(X12_AN))] + [Pos(1)] + public string PartofBodyCode_01 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(2)] + public string Percent_02 { + get; + set; + } + } + + /// + /// Individual Identification + /// + [Serializable()] + [DataContract()] + [Segment("IN1")] + public class IN1 { + + /// + /// Entity Type Qualifier + /// + [DataMember] + [Required] + [DataElement("1065", typeof(X12_ID_1065))] + [Pos(1)] + public string EntityTypeQualifier_01 { + get; + set; + } + /// + /// Name Type Code + /// + [DataMember] + [Required] + [DataElement("1107", typeof(X12_ID_1107))] + [Pos(2)] + public string NameTypeCode_02 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(3)] + public string EntityIdentifierCode_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Individual Relationship Code + /// + [DataMember] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(6)] + public string IndividualRelationshipCode_06 { + get; + set; + } + /// + /// Level of Individual, Test, or Course Code + /// + [DataMember] + [DataElement("1131", typeof(X12_ID_1131))] + [Pos(7)] + public string LevelofIndividualTestorCourseCode_07 { + get; + set; + } + } + + /// + /// Individual Name Structure Components + /// + [Serializable()] + [DataContract()] + [Segment("IN2")] + public class IN2 { + + /// + /// Name Component Qualifier + /// + [DataMember] + [Required] + [DataElement("1104", typeof(X12_ID_1104))] + [Pos(1)] + public string NameComponentQualifier_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + } + + /// + /// Installment Information + /// + [Serializable()] + [DataContract()] + [Segment("INC")] + public class INC { + + /// + /// Terms Type Code + /// + [DataMember] + [Required] + [DataElement("336", typeof(X12_ID_336))] + [Pos(1)] + public string TermsTypeCode_01 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(2)] + public C001 CompositeUnitofMeasure_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + } + + /// + /// Additional Individual Demographic Information + /// + [Serializable()] + [DataContract()] + [Segment("IND")] + public class IND { + + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(1)] + public string CountryCode_01 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(2)] + public string StateorProvinceCode_02 { + get; + set; + } + /// + /// County Designator + /// + [DataMember] + [StringLength(5, 5)] + [DataElement("1096", typeof(X12_AN))] + [Pos(3)] + public string CountyDesignator_03 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(4)] + public string CityName_04 { + get; + set; + } + /// + /// Language Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("819", typeof(X12_AN))] + [Pos(5)] + public string LanguageCode_05 { + get; + set; + } + /// + /// Language Proficiency Indicator + /// + [DataMember] + [DataElement("1476", typeof(X12_ID_1476))] + [Pos(6)] + public string LanguageProficiencyIndicator_06 { + get; + set; + } + /// + /// Language Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("819", typeof(X12_AN))] + [Pos(7)] + public string LanguageCode_07 { + get; + set; + } + /// + /// Language Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("819", typeof(X12_AN))] + [Pos(8)] + public string LanguageCode_08 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(9)] + public string IdentificationCodeQualifier_09 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(10)] + public string IdentificationCode_10 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(11)] + public string IdentificationCodeQualifier_11 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(12)] + public string IdentificationCode_12 { + get; + set; + } + } + + /// + /// Credit Inquiry Details + /// + [Serializable()] + [DataContract()] + [Segment("INQ")] + public class INQ { + + /// + /// Results Code + /// + [DataMember] + [Required] + [DataElement("485", typeof(X12_ID_485))] + [Pos(1)] + public string ResultsCode_01 { + get; + set; + } + /// + /// Type of Account Code + /// + [DataMember] + [DataElement("1187", typeof(X12_ID_1187))] + [Pos(2)] + public string TypeofAccountCode_02 { + get; + set; + } + } + + /// + /// Information Request + /// + [Serializable()] + [DataContract()] + [Segment("INR")] + public class INR { + + /// + /// Code Category + /// + [DataMember] + [Required] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Information Type + /// + [DataMember] + [Required] + [DataElement("701", typeof(X12_ID_701))] + [Pos(2)] + public string InformationType_02 { + get; + set; + } + /// + /// Information Status Code + /// + [DataMember] + [DataElement("1201", typeof(X12_ID_1201))] + [Pos(3)] + public string InformationStatusCode_03 { + get; + set; + } + } + + /// + /// Insured Benefit + /// + [Serializable()] + [DataContract()] + [Segment("INS")] + public class INS { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Individual Relationship Code + /// + [DataMember] + [Required] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(2)] + public string IndividualRelationshipCode_02 { + get; + set; + } + /// + /// Maintenance Type Code + /// + [DataMember] + [DataElement("875", typeof(X12_ID_875))] + [Pos(3)] + public string MaintenanceTypeCode_03 { + get; + set; + } + /// + /// Maintenance Reason Code + /// + [DataMember] + [DataElement("1203", typeof(X12_ID_1203))] + [Pos(4)] + public string MaintenanceReasonCode_04 { + get; + set; + } + /// + /// Benefit Status Code + /// + [DataMember] + [DataElement("1216", typeof(X12_ID_1216))] + [Pos(5)] + public string BenefitStatusCode_05 { + get; + set; + } + /// + /// Medicare Plan Code + /// + [DataMember] + [DataElement("1218", typeof(X12_ID_1218))] + [Pos(6)] + public string MedicarePlanCode_06 { + get; + set; + } + /// + /// Consolidated Omnibus Budget Reconciliation Act (COBRA) Qualifying Event + /// Code + /// + [DataMember] + [DataElement("1219", typeof(X12_ID_1219))] + [Pos(7)] + public string + ConsolidatedOmnibusBudgetReconciliationActCOBRAQualifyingEventCode_07 { + get; + set; + } + /// + /// Employment Status Code + /// + [DataMember] + [DataElement("584", typeof(X12_ID_584))] + [Pos(8)] + public string EmploymentStatusCode_08 { + get; + set; + } + /// + /// Student Status Code + /// + [DataMember] + [DataElement("1220", typeof(X12_ID_1220))] + [Pos(9)] + public string StudentStatusCode_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(11)] + public string DateTimePeriodFormatQualifier_11 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(12)] + public string DateTimePeriod_12 { + get; + set; + } + /// + /// Confidentiality Code + /// + [DataMember] + [DataElement("1165", typeof(X12_ID_1165))] + [Pos(13)] + public string ConfidentialityCode_13 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(14)] + public string CityName_14 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(15)] + public string StateorProvinceCode_15 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(16)] + public string CountryCode_16 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(17)] + public string Number_17 { + get; + set; + } + } + + /// + /// Interest + /// + [Serializable()] + [DataContract()] + [Segment("INT")] + public class INT { + + /// + /// Interest Type Code + /// + [DataMember] + [Required] + [DataElement("547", typeof(X12_ID_547))] + [Pos(1)] + public string InterestTypeCode_01 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(2)] + public string InterestRate_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + } + + /// + /// Investment Vehicle Selection + /// + [Serializable()] + [DataContract()] + [Segment("INV")] + public class INV { + + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(1)] + public string Description_01 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(2)] + public string Percent_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(5)] + public string StateorProvinceCode_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + } + + /// + /// Index Detail + /// + [Serializable()] + [DataContract()] + [Segment("INX")] + public class INX { + + /// + /// Index Qualifier + /// + [DataMember] + [Required] + [DataElement("1550", typeof(X12_ID_1550))] + [Pos(1)] + public string IndexQualifier_01 { + get; + set; + } + /// + /// Index Identification + /// + [DataMember] + [Required] + [Pos(2)] + public C036 IndexIdentification_02 { + get; + set; + } + } + + /// + /// Investor Reporting Action Code + /// + [Serializable()] + [DataContract()] + [Segment("IRA")] + public class IRA { + + /// + /// Investor Reporting Action Code + /// + [DataMember] + [Required] + [DataElement("1376", typeof(X12_ID_1376))] + [Pos(1)] + public string InvestorReportingActionCode_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + } + + /// + /// Report Selection Segment + /// + [Serializable()] + [DataContract()] + [Segment("IRP")] + public class IRP { + + /// + /// Report Type Code + /// + [DataMember] + [Required] + [DataElement("I58", typeof(X12_ID_I58))] + [Pos(1)] + public string ReportTypeCodeI_01 { + get; + set; + } + /// + /// Report Identifier + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("I59", typeof(X12_AN))] + [Pos(2)] + public string ReportIdentifierI_02 { + get; + set; + } + /// + /// Report Incremental Indicator Code + /// + [DataMember] + [DataElement("I60", typeof(X12_ID_I60))] + [Pos(3)] + public string ReportIncrementalIndicatorCodeI_03 { + get; + set; + } + /// + /// Message Direction Code + /// + [DataMember] + [DataElement("I61", typeof(X12_ID_I61))] + [Pos(4)] + public string MessageDirectionCodeI_04 { + get; + set; + } + /// + /// Report Status Level Code + /// + [DataMember] + [DataElement("I62", typeof(X12_ID_I62))] + [Pos(5)] + public string ReportStatusLevelCodeI_05 { + get; + set; + } + /// + /// Report Level of Detail Code + /// + [DataMember] + [DataElement("I63", typeof(X12_ID_I63))] + [Pos(6)] + public string ReportLevelofDetailCodeI_06 { + get; + set; + } + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [DataElement("678", typeof(X12_ID_678))] + [Pos(7)] + public string ShipDeliveryorCalendarPatternCode_07 { + get; + set; + } + } + + /// + /// Estimated Time of Arrival and Car Scheduling + /// + [Serializable()] + [DataContract()] + [Segment("IS1")] + public class IS1 { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Load/Empty Status Code + /// + [DataMember] + [Required] + [DataElement("322", typeof(X12_ID_322))] + [Pos(4)] + public string LoadEmptyStatusCode_04 { + get; + set; + } + /// + /// Retrip Reason Code + /// + [DataMember] + [DataElement("1487", typeof(X12_ID_1487))] + [Pos(5)] + public string RetripReasonCode_05 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(6)] + public string CarTypeCode_06 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(7)] + public string IndustryCode_07 { + get; + set; + } + } + + /// + /// Scheduled Events + /// + [Serializable()] + [DataContract()] + [Segment("IS2")] + public class IS2 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Event Code + /// + [DataMember] + [Required] + [DataElement("304", typeof(X12_ID_304))] + [Pos(2)] + public string EventCode_02 { + get; + set; + } + /// + /// Accomplish Code + /// + [DataMember] + [Required] + [DataElement("190", typeof(X12_ID_190))] + [Pos(3)] + public string AccomplishCode_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(6)] + public string Time_06 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(7)] + public string TimeCode_07 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(8)] + public string StandardCarrierAlphaCode_08 { + get; + set; + } + /// + /// Interchange Train Identification + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(9)] + public string InterchangeTrainIdentification_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Block Identification + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("42", typeof(X12_AN))] + [Pos(11)] + public string BlockIdentification_11 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(12)] + public string Date_12 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(13)] + public string Time_13 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(14)] + public string Date_14 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(15)] + public string Time_15 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(16)] + public string CityName_16 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(17)] + public string StateorProvinceCode_17 { + get; + set; + } + } + + /// + /// Interline Service Commitment Detail + /// + [Serializable()] + [DataContract()] + [Segment("ISC")] + public class ISC { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(2)] + public string StandardPointLocationCode_02 { + get; + set; + } + /// + /// Event Code + /// + [DataMember] + [Required] + [DataElement("304", typeof(X12_ID_304))] + [Pos(3)] + public string EventCode_03 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(4)] + public string DateTimePeriodFormatQualifier_04 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(5)] + public string DateTimePeriod_05 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(6)] + public string Time_06 { + get; + set; + } + /// + /// Number of Days + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("607", typeof(X12_N0))] + [Pos(7)] + public string NumberofDays_07 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(8)] + public string StandardCarrierAlphaCode_08 { + get; + set; + } + /// + /// Interchange Train Identification + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(9)] + public string InterchangeTrainIdentification_09 { + get; + set; + } + /// + /// Block Identification + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("42", typeof(X12_AN))] + [Pos(10)] + public string BlockIdentification_10 { + get; + set; + } + } + + /// + /// Railroad Interline Service Definition Detail + /// + [Serializable()] + [DataContract()] + [Segment("ISD")] + public class ISD { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(2)] + public string StandardPointLocationCode_02 { + get; + set; + } + /// + /// Event Code + /// + [DataMember] + [Required] + [DataElement("304", typeof(X12_ID_304))] + [Pos(3)] + public string EventCode_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + } + + /// + /// Item Status Report + /// + [Serializable()] + [DataContract()] + [Segment("ISR")] + public class ISR { + + /// + /// Shipment/Order Status Code + /// + [DataMember] + [Required] + [DataElement("368", typeof(X12_ID_368))] + [Pos(1)] + public string ShipmentOrderStatusCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(3)] + public string StatusReasonCode_03 { + get; + set; + } + } + + /// + /// Invoice Shipment Summary + /// + [Serializable()] + [DataContract()] + [Segment("ISS")] + public class ISS { + + /// + /// Number of Units Shipped + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(1)] + public string NumberofUnitsShipped_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(5)] + public string Volume_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(8)] + public string Weight_08 { + get; + set; + } + } + + /// + /// Baseline Item Data (Invoice) + /// + [Serializable()] + [DataContract()] + [Segment("IT1")] + public class IT1 { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Quantity Invoiced + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("358", typeof(X12_R))] + [Pos(2)] + public string QuantityInvoiced_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(4)] + public string UnitPrice_04 { + get; + set; + } + /// + /// Basis of Unit Price Code + /// + [DataMember] + [DataElement("639", typeof(X12_ID_639))] + [Pos(5)] + public string BasisofUnitPriceCode_05 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(6)] + public string ProductServiceIDQualifier_06 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(7)] + public string ProductServiceID_07 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(8)] + public string ProductServiceIDQualifier_08 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(9)] + public string ProductServiceID_09 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(10)] + public string ProductServiceIDQualifier_10 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(11)] + public string ProductServiceID_11 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(12)] + public string ProductServiceIDQualifier_12 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(13)] + public string ProductServiceID_13 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(14)] + public string ProductServiceIDQualifier_14 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(15)] + public string ProductServiceID_15 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(16)] + public string ProductServiceIDQualifier_16 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(17)] + public string ProductServiceID_17 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(18)] + public string ProductServiceIDQualifier_18 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(19)] + public string ProductServiceID_19 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(20)] + public string ProductServiceIDQualifier_20 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(21)] + public string ProductServiceID_21 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(22)] + public string ProductServiceIDQualifier_22 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(23)] + public string ProductServiceID_23 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(24)] + public string ProductServiceIDQualifier_24 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(25)] + public string ProductServiceID_25 { + get; + set; + } + } + + /// + /// Additional Item Data + /// + [Serializable()] + [DataContract()] + [Segment("IT3")] + public class IT3 { + + /// + /// Number of Units Shipped + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(1)] + public string NumberofUnitsShipped_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Shipment/Order Status Code + /// + [DataMember] + [DataElement("368", typeof(X12_ID_368))] + [Pos(3)] + public string ShipmentOrderStatusCode_03 { + get; + set; + } + /// + /// Quantity Difference + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("383", typeof(X12_R))] + [Pos(4)] + public string QuantityDifference_04 { + get; + set; + } + /// + /// Change Reason Code + /// + [DataMember] + [DataElement("371", typeof(X12_ID_371))] + [Pos(5)] + public string ChangeReasonCode_05 { + get; + set; + } + } + + /// + /// Conditions of Sale + /// + [Serializable()] + [DataContract()] + [Segment("IT8")] + public class IT8 { + + /// + /// Sales Requirement Code + /// + [DataMember] + [DataElement("563", typeof(X12_ID_563))] + [Pos(1)] + public string SalesRequirementCode_01 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(2)] + public string ActionCode_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(4)] + public string AccounCAumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(6)] + public string AgencyQualifierCode_06 { + get; + set; + } + /// + /// Product/Service Substitution Code + /// + [DataMember] + [DataElement("566", typeof(X12_ID_566))] + [Pos(7)] + public string ProductServiceSubstitutionCode_07 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(8)] + public string ProductServiceIDQualifier_08 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(9)] + public string ProductServiceID_09 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(10)] + public string ProductServiceIDQualifier_10 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(11)] + public string ProductServiceID_11 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(12)] + public string ProductServiceIDQualifier_12 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(13)] + public string ProductServiceID_13 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(14)] + public string ProductServiceIDQualifier_14 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(15)] + public string ProductServiceID_15 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(16)] + public string ProductServiceIDQualifier_16 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(17)] + public string ProductServiceID_17 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(18)] + public string ProductServiceIDQualifier_18 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(19)] + public string ProductServiceID_19 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(20)] + public string ProductServiceIDQualifier_20 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(21)] + public string ProductServiceID_21 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(22)] + public string ProductServiceIDQualifier_22 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(23)] + public string ProductServiceID_23 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(24)] + public string ProductServiceIDQualifier_24 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(25)] + public string ProductServiceID_25 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(26)] + public string ProductServiceIDQualifier_26 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(27)] + public string ProductServiceID_27 { + get; + set; + } + } + + /// + /// Allowance, Charge or Service + /// + [Serializable()] + [DataContract()] + [Segment("ITA")] + public class ITA { + + /// + /// Allowance or Charge Indicator + /// + [DataMember] + [Required] + [DataElement("248", typeof(X12_ID_248))] + [Pos(1)] + public string AllowanceorChargeIndicator_01 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(2)] + public string AgencyQualifierCode_02 { + get; + set; + } + /// + /// Special Services Code + /// + [DataMember] + [DataElement("560", typeof(X12_ID_560))] + [Pos(3)] + public string SpecialServicesCode_03 { + get; + set; + } + /// + /// Allowance or Charge Method of Handling Code + /// + [DataMember] + [Required] + [DataElement("331", typeof(X12_ID_331))] + [Pos(4)] + public string AllowanceorChargeMethodofHandlingCode_04 { + get; + set; + } + /// + /// Allowance or Charge Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("341", typeof(X12_AN))] + [Pos(5)] + public string AllowanceorChargeNumber_05 { + get; + set; + } + /// + /// Allowance or Charge Rate + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("359", typeof(X12_R))] + [Pos(6)] + public string AllowanceorChargeRate_06 { + get; + set; + } + /// + /// Allowance or Charge Total Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("360", typeof(X12_N2))] + [Pos(7)] + public string AllowanceorChargeTotalAmount_07 { + get; + set; + } + /// + /// Allowance/Charge Percent Qualifier + /// + [DataMember] + [DataElement("378", typeof(X12_ID_378))] + [Pos(8)] + public string AllowanceChargePercentQualifier_08 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("332", typeof(X12_R))] + [Pos(9)] + public string Percent_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(11)] + public string UnitorBasisforMeasurementCode_11 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(12)] + public string Quantity_12 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(13)] + public string Description_13 { + get; + set; + } + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [DataElement("150", typeof(X12_ID_150))] + [Pos(14)] + public string SpecialChargeorAllowanceCode_14 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(15)] + public string SourceSubqualifier_15 { + get; + set; + } + /// + /// Relationship Code + /// + [DataMember] + [DataElement("662", typeof(X12_ID_662))] + [Pos(16)] + public string RelationshipCode_16 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(17)] + public string UnitorBasisforMeasurementCode_17 { + get; + set; + } + } + + /// + /// Information Type and Comment Results + /// + [Serializable()] + [DataContract()] + [Segment("ITC")] + public class ITC { + + /// + /// Information Request Result Code + /// + [DataMember] + [Required] + [DataElement("1629", typeof(X12_ID_1629))] + [Pos(1)] + public string InformationRequestResultCode_01 { + get; + set; + } + /// + /// Information Type + /// + [DataMember] + [DataElement("701", typeof(X12_ID_701))] + [Pos(2)] + public string InformationType_02 { + get; + set; + } + /// + /// Information Status Code + /// + [DataMember] + [DataElement("1201", typeof(X12_ID_1201))] + [Pos(3)] + public string InformationStatusCode_03 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(4)] + public string ActionCode_04 { + get; + set; + } + /// + /// Financial Information Type Code + /// + [DataMember] + [DataElement("703", typeof(X12_ID_703))] + [Pos(5)] + public string FinancialInformationTypeCode_05 { + get; + set; + } + /// + /// Consolidation Code + /// + [DataMember] + [DataElement("604", typeof(X12_ID_604))] + [Pos(6)] + public string ConsolidationCode_06 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(7)] + public string ConditionIndicator_07 { + get; + set; + } + /// + /// Financial Statement Format Code + /// + [DataMember] + [DataElement("1633", typeof(X12_ID_1633))] + [Pos(8)] + public string FinancialStatementFormatCode_08 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(9)] + public string FreeFormMessage_09 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(10)] + public string UnitofTimePeriodorInterval_10 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(11)] + public string Description_11 { + get; + set; + } + /// + /// Source of Disclosure Code + /// + [DataMember] + [DataElement("261", typeof(X12_ID_261))] + [Pos(12)] + public string SourceofDisclosureCode_12 { + get; + set; + } + } + + /// + /// Terms of Sale/Deferred Terms of Sale + /// + [Serializable()] + [DataContract()] + [Segment("ITD")] + public class ITD { + + /// + /// Terms Type Code + /// + [DataMember] + [DataElement("336", typeof(X12_ID_336))] + [Pos(1)] + public string TermsTypeCode_01 { + get; + set; + } + /// + /// Terms Basis Date Code + /// + [DataMember] + [DataElement("333", typeof(X12_ID_333))] + [Pos(2)] + public string TermsBasisDateCode_02 { + get; + set; + } + /// + /// Terms Discount Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("338", typeof(X12_R))] + [Pos(3)] + public string TermsDiscountPercent_03 { + get; + set; + } + /// + /// Terms Discount Due Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("370", typeof(X12_DT))] + [Pos(4)] + public string TermsDiscountDueDate_04 { + get; + set; + } + /// + /// Terms Discount Days Due + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("351", typeof(X12_N0))] + [Pos(5)] + public string TermsDiscountDaysDue_05 { + get; + set; + } + /// + /// Terms Net Due Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("446", typeof(X12_DT))] + [Pos(6)] + public string TermsNetDueDate_06 { + get; + set; + } + /// + /// Terms Net Days + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("386", typeof(X12_N0))] + [Pos(7)] + public string TermsNetDays_07 { + get; + set; + } + /// + /// Terms Discount Amount + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("362", typeof(X12_N2))] + [Pos(8)] + public string TermsDiscountAmount_08 { + get; + set; + } + /// + /// Terms Deferred Due Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("388", typeof(X12_DT))] + [Pos(9)] + public string TermsDeferredDueDate_09 { + get; + set; + } + /// + /// Deferred Amount Due + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("389", typeof(X12_N2))] + [Pos(10)] + public string DeferredAmountDue_10 { + get; + set; + } + /// + /// Percent of Invoice Payable + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("342", typeof(X12_R))] + [Pos(11)] + public string PercentofInvoicePayable_11 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(12)] + public string Description_12 { + get; + set; + } + /// + /// Day of Month + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("765", typeof(X12_N0))] + [Pos(13)] + public string DayofMonth_13 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("107", typeof(X12_ID_107))] + [Pos(14)] + public string PaymentMethodCode_14 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(15)] + public string Percent_15 { + get; + set; + } + } + + /// + /// Lane Estimates + /// + [Serializable()] + [DataContract()] + [Segment("IV1")] + public class IV1 { + + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(1)] + public string VolumeUnitQualifier_01 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(2)] + public string Volume_02 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(3)] + public string Number_03 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(4)] + public string TransportationMethodTypeCode_04 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(5)] + public string UnitofTimePeriodorInterval_05 { + get; + set; + } + } + + /// + /// Railroad Junction Information + /// + [Serializable()] + [DataContract()] + [Segment("JCT")] + public class JCT { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [Required] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(3)] + public string FreightStationAccountingCode_03 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [Required] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(4)] + public string FreightStationAccountingCode_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(6)] + public string StandardCarrierAlphaCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Interchange Type Code + /// + [DataMember] + [Required] + [DataElement("1560", typeof(X12_ID_1560))] + [Pos(8)] + public string InterchangeTypeCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + } + + /// + /// Equipment Detail + /// + [Serializable()] + [DataContract()] + [Segment("JID")] + public class JID { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(4)] + public C001 CompositeUnitofMeasure_04 { + get; + set; + } + /// + /// Product/Service Condition Code + /// + [DataMember] + [DataElement("286", typeof(X12_ID_286))] + [Pos(5)] + public string ProductServiceConditionCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + } + + /// + /// Line Item Detail for the Operating Expense Statement + /// + [Serializable()] + [DataContract()] + [Segment("JIL")] + public class JIL { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(7)] + public string AmountQualifierCode_07 { + get; + set; + } + } + + /// + /// Just-In-Time Schedule + /// + [Serializable()] + [DataContract()] + [Segment("JIT")] + public class JIT { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(2)] + public string Time_02 { + get; + set; + } + } + + /// + /// Journal Identification + /// + [Serializable()] + [DataContract()] + [Segment("JL")] + public class JL { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Name (30 Character Format) + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("459", typeof(X12_AN))] + [Pos(4)] + public string NameCharacterFormat_04 { + get; + set; + } + } + + /// + /// Rail Junction Settlement Role Information + /// + [Serializable()] + [DataContract()] + [Segment("JS")] + public class JS { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Rail Junction Settlement Role Code + /// + [DataMember] + [Required] + [DataElement("1561", typeof(X12_ID_1561))] + [Pos(2)] + public string RailJunctionSettlementRoleCode_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Rail Junction Settlement Role Code + /// + [DataMember] + [Required] + [DataElement("1561", typeof(X12_ID_1561))] + [Pos(4)] + public string RailJunctionSettlementRoleCode_04 { + get; + set; + } + } + + /// + /// Remarks + /// + [Serializable()] + [DataContract()] + [Segment("K1")] + public class K1 { + + /// + /// Free-Form Message + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(1)] + public string FreeFormMessage_01 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(2)] + public string FreeFormMessage_02 { + get; + set; + } + } + + /// + /// Administrative Message + /// + [Serializable()] + [DataContract()] + [Segment("K2")] + public class K2 { + + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(1)] + public string Description_01 { + get; + set; + } + } + + /// + /// File Information + /// + [Serializable()] + [DataContract()] + [Segment("K3")] + public class K3 { + + /// + /// Fixed Format Information + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("449", typeof(X12_AN))] + [Pos(1)] + public string FixedFormatInformation_01 { + get; + set; + } + /// + /// Record Format Code + /// + [DataMember] + [DataElement("1333", typeof(X12_ID_1333))] + [Pos(2)] + public string RecordFormatCode_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + } + + /// + /// Line Item - Quantity and Weight + /// + [Serializable()] + [DataContract()] + [Segment("L0")] + public class L0 { + + /// + /// Lading Line Item Number + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("213", typeof(X12_N0))] + [Pos(1)] + public string LadingLineItemNumber_01 { + get; + set; + } + /// + /// Billed/Rated-as Quantity + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("220", typeof(X12_R))] + [Pos(2)] + public string BilledRatedasQuantity_02 { + get; + set; + } + /// + /// Billed/Rated-as Qualifier + /// + [DataMember] + [DataElement("221", typeof(X12_ID_221))] + [Pos(3)] + public string BilledRatedasQualifier_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(5)] + public string WeightQualifier_05 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(6)] + public string Volume_06 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(7)] + public string VolumeUnitQualifier_07 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(8)] + public string LadingQuantity_08 { + get; + set; + } + /// + /// Packaging Form Code + /// + [DataMember] + [DataElement("211", typeof(X12_ID_211))] + [Pos(9)] + public string PackagingFormCode_09 { + get; + set; + } + /// + /// Dunnage Description + /// + [DataMember] + [StringLength(2, 25)] + [DataElement("458", typeof(X12_AN))] + [Pos(10)] + public string DunnageDescription_10 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(11)] + public string WeightUnitCode_11 { + get; + set; + } + /// + /// Type of Service Code + /// + [DataMember] + [DataElement("56", typeof(X12_ID_56))] + [Pos(12)] + public string TypeofServiceCode_12 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(13)] + public string Quantity_13 { + get; + set; + } + /// + /// Packaging Form Code + /// + [DataMember] + [DataElement("211", typeof(X12_ID_211))] + [Pos(14)] + public string PackagingFormCode_14 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(15)] + public string YesNoConditionorResponseCode_15 { + get; + set; + } + } + + /// + /// Rate and Charges + /// + [Serializable()] + [DataContract()] + [Segment("L1")] + public class L1 { + + /// + /// Lading Line Item Number + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("213", typeof(X12_N0))] + [Pos(1)] + public string LadingLineItemNumber_01 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(2)] + public string FreightRate_02 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(3)] + public string RateValueQualifier_03 { + get; + set; + } + /// + /// Charge + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("58", typeof(X12_N2))] + [Pos(4)] + public string Charge_04 { + get; + set; + } + /// + /// Advances + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("191", typeof(X12_N2))] + [Pos(5)] + public string Advances_05 { + get; + set; + } + /// + /// Prepaid Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("117", typeof(X12_N2))] + [Pos(6)] + public string PrepaidAmount_06 { + get; + set; + } + /// + /// Rate Combination Point Code + /// + [DataMember] + [StringLength(3, 9)] + [DataElement("120", typeof(X12_AN))] + [Pos(7)] + public string RateCombinationPointCode_07 { + get; + set; + } + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [DataElement("150", typeof(X12_ID_150))] + [Pos(8)] + public string SpecialChargeorAllowanceCode_08 { + get; + set; + } + /// + /// Rate Class Code + /// + [DataMember] + [DataElement("121", typeof(X12_ID_121))] + [Pos(9)] + public string RateClassCode_09 { + get; + set; + } + /// + /// Entitlement Code + /// + [DataMember] + [DataElement("39", typeof(X12_ID_39))] + [Pos(10)] + public string EntitlementCode_10 { + get; + set; + } + /// + /// Charge Method of Payment + /// + [DataMember] + [DataElement("16", typeof(X12_ID_16))] + [Pos(11)] + public string ChargeMethodofPayment_11 { + get; + set; + } + /// + /// Special Charge Description + /// + [DataMember] + [StringLength(2, 25)] + [DataElement("276", typeof(X12_AN))] + [Pos(12)] + public string SpecialChargeDescription_12 { + get; + set; + } + /// + /// Tariff Application Code + /// + [DataMember] + [DataElement("257", typeof(X12_ID_257))] + [Pos(13)] + public string TariffApplicationCode_13 { + get; + set; + } + /// + /// Declared Value + /// + [DataMember] + [StringLength(2, 12)] + [DataElement("74", typeof(X12_N2))] + [Pos(14)] + public string DeclaredValue_14 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(15)] + public string RateValueQualifier_15 { + get; + set; + } + /// + /// Lading Liability Code + /// + [DataMember] + [DataElement("372", typeof(X12_ID_372))] + [Pos(16)] + public string LadingLiabilityCode_16 { + get; + set; + } + /// + /// Billed/Rated-as Quantity + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("220", typeof(X12_R))] + [Pos(17)] + public string BilledRatedasQuantity_17 { + get; + set; + } + /// + /// Billed/Rated-as Qualifier + /// + [DataMember] + [DataElement("221", typeof(X12_ID_221))] + [Pos(18)] + public string BilledRatedasQualifier_18 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(19)] + public string Percent_19 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(20)] + public string CurrencyCode_20 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(21)] + public string Amount_21 { + get; + set; + } + } + + /// + /// Weight + /// + [Serializable()] + [DataContract()] + [Segment("L10")] + public class L10 { + + /// + /// Weight + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(1)] + public string Weight_01 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [Required] + [DataElement("187", typeof(X12_ID_187))] + [Pos(2)] + public string WeightQualifier_02 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(3)] + public string WeightUnitCode_03 { + get; + set; + } + } + + /// + /// Business Instructions and Reference Number + /// + [Serializable()] + [DataContract()] + [Segment("L11")] + public class L11 { + + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + } + + /// + /// Alternate Lading Description + /// + [Serializable()] + [DataContract()] + [Segment("L12")] + public class L12 { + + /// + /// Lading Description Qualifier + /// + [DataMember] + [DataElement("592", typeof(X12_ID_592))] + [Pos(1)] + public string LadingDescriptionQualifier_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + } + + /// + /// Commodity Details + /// + [Serializable()] + [DataContract()] + [Segment("L13")] + public class L13 { + + /// + /// Commodity Code Qualifier + /// + [DataMember] + [Required] + [DataElement("23", typeof(X12_ID_23))] + [Pos(1)] + public string CommodityCodeQualifier_01 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(2)] + public string CommodityCode_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(5)] + public string AmountQualifierCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(7)] + public string AssignedNumber_07 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(8)] + public string UnitorBasisforMeasurementCode_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(10)] + public string WeightUnitCode_10 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(11)] + public string Weight_11 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(12)] + public string FreeformDescription_12 { + get; + set; + } + /// + /// Export Exception Code + /// + [DataMember] + [DataElement("1578", typeof(X12_ID_1578))] + [Pos(13)] + public string ExportExceptionCode_13 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(14)] + public string ActionCode_14 { + get; + set; + } + /// + /// Harbor Maintenance Fee (HMF) Exemption Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1589", typeof(X12_AN))] + [Pos(15)] + public string HarborMaintenanceFeeHMFExemptionCode_15 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(16)] + public string Amount_16 { + get; + set; + } + } + + /// + /// Billing Identification + /// + [Serializable()] + [DataContract()] + [Segment("L1A")] + public class L1A { + + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(1)] + public string Amount_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + } + + /// + /// Total Weight and Charges + /// + [Serializable()] + [DataContract()] + [Segment("L3")] + public class L3 { + + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(1)] + public string Weight_01 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(2)] + public string WeightQualifier_02 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(3)] + public string FreightRate_03 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(4)] + public string RateValueQualifier_04 { + get; + set; + } + /// + /// Charge + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("58", typeof(X12_N2))] + [Pos(5)] + public string Charge_05 { + get; + set; + } + /// + /// Advances + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("191", typeof(X12_N2))] + [Pos(6)] + public string Advances_06 { + get; + set; + } + /// + /// Prepaid Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("117", typeof(X12_N2))] + [Pos(7)] + public string PrepaidAmount_07 { + get; + set; + } + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [DataElement("150", typeof(X12_ID_150))] + [Pos(8)] + public string SpecialChargeorAllowanceCode_08 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(9)] + public string Volume_09 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(10)] + public string VolumeUnitQualifier_10 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(11)] + public string LadingQuantity_11 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(12)] + public string WeightUnitCode_12 { + get; + set; + } + /// + /// Tariff Number + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("171", typeof(X12_AN))] + [Pos(13)] + public string TariffNumber_13 { + get; + set; + } + /// + /// Declared Value + /// + [DataMember] + [StringLength(2, 12)] + [DataElement("74", typeof(X12_N2))] + [Pos(14)] + public string DeclaredValue_14 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(15)] + public string RateValueQualifier_15 { + get; + set; + } + } + + /// + /// Measurement + /// + [Serializable()] + [DataContract()] + [Segment("L4")] + public class L4 { + + /// + /// Length + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(1)] + public string Length_01 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(2)] + public string Width_02 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(3)] + public string Height_03 { + get; + set; + } + /// + /// Measurement Unit Qualifier + /// + [DataMember] + [Required] + [DataElement("90", typeof(X12_ID_90))] + [Pos(4)] + public string MeasurementUnitQualifier_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(6)] + public string IndustryCode_06 { + get; + set; + } + } + + /// + /// Description, Marks and Numbers + /// + [Serializable()] + [DataContract()] + [Segment("L5")] + public class L5 { + + /// + /// Lading Line Item Number + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("213", typeof(X12_N0))] + [Pos(1)] + public string LadingLineItemNumber_01 { + get; + set; + } + /// + /// Lading Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("79", typeof(X12_AN))] + [Pos(2)] + public string LadingDescription_02 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(3)] + public string CommodityCode_03 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [DataElement("23", typeof(X12_ID_23))] + [Pos(4)] + public string CommodityCodeQualifier_04 { + get; + set; + } + /// + /// Packaging Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("103", typeof(X12_AN))] + [Pos(5)] + public string PackagingCode_05 { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("87", typeof(X12_AN))] + [Pos(6)] + public string MarksandNumbers_06 { + get; + set; + } + /// + /// Marks and Numbers Qualifier + /// + [DataMember] + [DataElement("88", typeof(X12_ID_88))] + [Pos(7)] + public string MarksandNumbersQualifier_07 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [DataElement("23", typeof(X12_ID_23))] + [Pos(8)] + public string CommodityCodeQualifier_08 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(9)] + public string CommodityCode_09 { + get; + set; + } + /// + /// Compartment ID Code + /// + [DataMember] + [DataElement("595", typeof(X12_ID_595))] + [Pos(10)] + public string CompartmentIDCode_10 { + get; + set; + } + } + + /// + /// Tariff Reference + /// + [Serializable()] + [DataContract()] + [Segment("L7")] + public class L7 { + + /// + /// Lading Line Item Number + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("213", typeof(X12_N0))] + [Pos(1)] + public string LadingLineItemNumber_01 { + get; + set; + } + /// + /// Tariff Agency Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("168", typeof(X12_AN))] + [Pos(2)] + public string TariffAgencyCode_02 { + get; + set; + } + /// + /// Tariff Number + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("171", typeof(X12_AN))] + [Pos(3)] + public string TariffNumber_03 { + get; + set; + } + /// + /// Tariff Section + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("172", typeof(X12_AN))] + [Pos(4)] + public string TariffSection_04 { + get; + set; + } + /// + /// Tariff Item Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("169", typeof(X12_AN))] + [Pos(5)] + public string TariffItemNumber_05 { + get; + set; + } + /// + /// Tariff Item Part + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("170", typeof(X12_N0))] + [Pos(6)] + public string TariffItemPart_06 { + get; + set; + } + /// + /// Freight Class Code + /// + [DataMember] + [StringLength(2, 5)] + [DataElement("59", typeof(X12_AN))] + [Pos(7)] + public string FreightClassCode_07 { + get; + set; + } + /// + /// Tariff Supplement Identifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("173", typeof(X12_AN))] + [Pos(8)] + public string TariffSupplementIdentifier_08 { + get; + set; + } + /// + /// Ex Parte + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("46", typeof(X12_AN))] + [Pos(9)] + public string ExParte_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Rate Basis Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("119", typeof(X12_AN))] + [Pos(11)] + public string RateBasisNumber_11 { + get; + set; + } + /// + /// Tariff Column + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("227", typeof(X12_AN))] + [Pos(12)] + public string TariffColumn_12 { + get; + set; + } + /// + /// Tariff Distance + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("294", typeof(X12_N0))] + [Pos(13)] + public string TariffDistance_13 { + get; + set; + } + /// + /// Distance Qualifier + /// + [DataMember] + [DataElement("295", typeof(X12_ID_295))] + [Pos(14)] + public string DistanceQualifier_14 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(15)] + public string CityName_15 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(16)] + public string StateorProvinceCode_16 { + get; + set; + } + } + + /// + /// Contract Reference Identifier + /// + [Serializable()] + [DataContract()] + [Segment("L7A")] + public class L7A { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Regulatory Agency Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("930", typeof(X12_AN))] + [Pos(2)] + public string RegulatoryAgencyCode_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Issuing Carrier Identifier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("965", typeof(X12_AN))] + [Pos(4)] + public string IssuingCarrierIdentifier_04 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(5)] + public string ContracCAumber_05 { + get; + set; + } + /// + /// Contract Suffix + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("660", typeof(X12_AN))] + [Pos(6)] + public string ContractSuffix_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + } + + /// + /// Line Item Subtotal + /// + [Serializable()] + [DataContract()] + [Segment("L8")] + public class L8 { + + /// + /// Billed/Rated-as Quantity + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("220", typeof(X12_R))] + [Pos(1)] + public string BilledRatedasQuantity_01 { + get; + set; + } + /// + /// Billed/Rated-as Qualifier + /// + [DataMember] + [DataElement("221", typeof(X12_ID_221))] + [Pos(2)] + public string BilledRatedasQualifier_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(4)] + public string WeightUnitCode_04 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(5)] + public string WeightQualifier_05 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(6)] + public string FreightRate_06 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(7)] + public string RateValueQualifier_07 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(8)] + public string Amount_08 { + get; + set; + } + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [DataElement("150", typeof(X12_ID_150))] + [Pos(9)] + public string SpecialChargeorAllowanceCode_09 { + get; + set; + } + /// + /// Special Charge Description + /// + [DataMember] + [StringLength(2, 25)] + [DataElement("276", typeof(X12_AN))] + [Pos(10)] + public string SpecialChargeDescription_10 { + get; + set; + } + /// + /// Charge Method of Payment + /// + [DataMember] + [DataElement("16", typeof(X12_ID_16))] + [Pos(11)] + public string ChargeMethodofPayment_11 { + get; + set; + } + } + + /// + /// Charge Detail + /// + [Serializable()] + [DataContract()] + [Segment("L9")] + public class L9 { + + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [Required] + [DataElement("150", typeof(X12_ID_150))] + [Pos(1)] + public string SpecialChargeorAllowanceCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + } + + /// + /// Lading Detail + /// + [Serializable()] + [DataContract()] + [Segment("LAD")] + public class LAD { + + /// + /// Packaging Form Code + /// + [DataMember] + [DataElement("211", typeof(X12_ID_211))] + [Pos(1)] + public string PackagingFormCode_01 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(2)] + public string LadingQuantity_02 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(3)] + public string WeightUnitCode_03 { + get; + set; + } + /// + /// Unit Weight + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("395", typeof(X12_R))] + [Pos(4)] + public string UnitWeight_04 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(5)] + public string WeightUnitCode_05 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(6)] + public string Weight_06 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(7)] + public string ProductServiceIDQualifier_07 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(8)] + public string ProductServiceID_08 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(9)] + public string ProductServiceIDQualifier_09 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(10)] + public string ProductServiceID_10 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(11)] + public string ProductServiceIDQualifier_11 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(12)] + public string ProductServiceID_12 { + get; + set; + } + /// + /// Lading Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("79", typeof(X12_AN))] + [Pos(13)] + public string LadingDescription_13 { + get; + set; + } + } + + /// + /// Life Coverage + /// + [Serializable()] + [DataContract()] + [Segment("LC")] + public class LC { + + /// + /// Maintenance Type Code + /// + [DataMember] + [Required] + [DataElement("875", typeof(X12_ID_875))] + [Pos(1)] + public string MaintenanceTypeCode_01 { + get; + set; + } + /// + /// Maintenance Reason Code + /// + [DataMember] + [DataElement("1203", typeof(X12_ID_1203))] + [Pos(2)] + public string MaintenanceReasonCode_02 { + get; + set; + } + /// + /// Insurance Line Code + /// + [DataMember] + [DataElement("1205", typeof(X12_ID_1205))] + [Pos(3)] + public string InsuranceLineCode_03 { + get; + set; + } + /// + /// Plan Coverage Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("1204", typeof(X12_AN))] + [Pos(4)] + public string PlanCoverageDescription_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Product Option Code + /// + [DataMember] + [DataElement("1161", typeof(X12_ID_1161))] + [Pos(6)] + public string ProductOptionCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + } + + /// + /// Lane Commitments + /// + [Serializable()] + [DataContract()] + [Segment("LC1")] + public class LC1 { + + /// + /// Number of Shipments + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("21", typeof(X12_N0))] + [Pos(1)] + public string NumberofShipments_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(3)] + public string Number_03 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(4)] + public string TransportationMethodTypeCode_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Number of Shipments + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("21", typeof(X12_N0))] + [Pos(6)] + public string NumberofShipments_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Lane Ranking + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1664", typeof(X12_R))] + [Pos(8)] + public string LaneRanking_08 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(9)] + public string FreightRate_09 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(10)] + public string FreightRate_10 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(11)] + public string RateValueQualifier_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + } + + /// + /// Place/Location Description + /// + [Serializable()] + [DataContract()] + [Segment("LCD")] + public class LCD { + + /// + /// Assigned Identification + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(2)] + public string EntityIdentifierCode_02 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(3)] + public string ActionCode_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(5)] + public string IdentificationCodeQualifier_05 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(6)] + public string IdentificationCode_06 { + get; + set; + } + } + + /// + /// Logistics Container Tracking Information + /// + [Serializable()] + [DataContract()] + [Segment("LCT")] + public class LCT { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Packaging Form Code + /// + [DataMember] + [Required] + [DataElement("211", typeof(X12_ID_211))] + [Pos(2)] + public string PackagingFormCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(4)] + public string WeightUnitCode_04 { + get; + set; + } + /// + /// Unit Weight + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("395", typeof(X12_R))] + [Pos(5)] + public string UnitWeight_05 { + get; + set; + } + /// + /// Measurement Unit Qualifier + /// + [DataMember] + [DataElement("90", typeof(X12_ID_90))] + [Pos(6)] + public string MeasurementUnitQualifier_06 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(7)] + public string Length_07 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(8)] + public string Width_08 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(9)] + public string Height_09 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(10)] + public string VolumeUnitQualifier_10 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(11)] + public string Volume_11 { + get; + set; + } + /// + /// Pallet Exchange Code + /// + [DataMember] + [DataElement("399", typeof(X12_ID_399))] + [Pos(12)] + public string PalletExchangeCode_12 { + get; + set; + } + } + + /// + /// Lead Time + /// + [Serializable()] + [DataContract()] + [Segment("LDT")] + public class LDT { + + /// + /// Lead Time Code + /// + [DataMember] + [Required] + [DataElement("345", typeof(X12_ID_345))] + [Pos(1)] + public string LeadTimeCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [Required] + [DataElement("344", typeof(X12_ID_344))] + [Pos(3)] + public string UnitofTimePeriodorInterval_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + } + + /// + /// Loop Trailer + /// + [Serializable()] + [DataContract()] + [Segment("LE")] + public class LE { + + /// + /// Loop Identifier Code + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("447", typeof(X12_AN))] + [Pos(1)] + public string LoopIdentifierCode_01 { + get; + set; + } + } + + /// + /// EPA Required Data + /// + [Serializable()] + [DataContract()] + [Segment("LEP")] + public class LEP { + + /// + /// EPA Waste Stream Number Code + /// + [DataMember] + [StringLength(4, 6)] + [DataElement("806", typeof(X12_AN))] + [Pos(1)] + public string EPAWasteStreamNumberCode_01 { + get; + set; + } + /// + /// Waste Characteristics Code + /// + [DataMember] + [StringLength(12, 16)] + [DataElement("807", typeof(X12_AN))] + [Pos(2)] + public string WasteCharacteristicsCode_02 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(3)] + public string StateorProvinceCode_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + } + + /// + /// Leased Equipment Information + /// + [Serializable()] + [DataContract()] + [Segment("LEQ")] + public class LEQ { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Year + /// + [DataMember] + [Required] + [StringLength(4, 4)] + [DataElement("1095", typeof(X12_N0))] + [Pos(3)] + public string Year_03 { + get; + set; + } + /// + /// Month of the Year Code + /// + [DataMember] + [Required] + [DataElement("1108", typeof(X12_ID_1108))] + [Pos(4)] + public string MonthoftheYearCode_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Exchange Rate + /// + [DataMember] + [StringLength(4, 10)] + [DataElement("280", typeof(X12_R))] + [Pos(9)] + public string ExchangeRate_09 { + get; + set; + } + } + + /// + /// Load and Equipment Type + /// + [Serializable()] + [DataContract()] + [Segment("LET")] + public class LET { + + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(1)] + public string SurfaceLayerPositionCode_01 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(2)] + public string EquipmentDescriptionCode_02 { + get; + set; + } + /// + /// Shape Code + /// + [DataMember] + [DataElement("1585", typeof(X12_ID_1585))] + [Pos(3)] + public string ShapeCode_03 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(4)] + public string CarTypeCode_04 { + get; + set; + } + } + + /// + /// Hazardous Information, Finished Goods + /// + [Serializable()] + [DataContract()] + [Segment("LFG")] + public class LFG { + + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(1)] + public string Description_01 { + get; + set; + } + /// + /// Hazardous Classification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("215", typeof(X12_AN))] + [Pos(2)] + public string HazardousClassification_02 { + get; + set; + } + /// + /// UN/NA Identification Code + /// + [DataMember] + [Required] + [StringLength(6, 6)] + [DataElement("277", typeof(X12_AN))] + [Pos(3)] + public string UNNAIdentificationCode_03 { + get; + set; + } + /// + /// Hazardous Placard Notation + /// + [DataMember] + [Required] + [StringLength(14, 40)] + [DataElement("218", typeof(X12_AN))] + [Pos(4)] + public string HazardousPlacardNotation_04 { + get; + set; + } + /// + /// Packing Group Code + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("254", typeof(X12_AN))] + [Pos(5)] + public string PackingGroupCode_05 { + get; + set; + } + /// + /// Hazardous Material Regulations Exception Code + /// + [DataMember] + [DataElement("1577", typeof(X12_ID_1577))] + [Pos(6)] + public string HazardousMaterialRegulationsExceptionCode_06 { + get; + set; + } + } + + /// + /// Freeform Hazardous Material Information + /// + [Serializable()] + [DataContract()] + [Segment("LFH")] + public class LFH { + + /// + /// Hazardous Material Shipment Information Qualifier + /// + [DataMember] + [Required] + [DataElement("808", typeof(X12_ID_808))] + [Pos(1)] + public string HazardousMaterialShipmentInformationQualifier_01 { + get; + set; + } + /// + /// Hazardous Material Shipment Information + /// + [DataMember] + [Required] + [StringLength(1, 25)] + [DataElement("809", typeof(X12_AN))] + [Pos(2)] + public string HazardousMaterialShipmentInformation_02 { + get; + set; + } + /// + /// Hazardous Material Shipment Information + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("809", typeof(X12_AN))] + [Pos(3)] + public string HazardousMaterialShipmentInformation_03 { + get; + set; + } + /// + /// Hazard Zone Code + /// + [DataMember] + [DataElement("1023", typeof(X12_ID_1023))] + [Pos(4)] + public string HazardZoneCode_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + } + + /// + /// Beginning Segment for Locomotive Information + /// + [Serializable()] + [DataContract()] + [Segment("LFI")] + public class LFI { + + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(1)] + public string StandardPointLocationCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Equipment Status Code + /// + [DataMember] + [Required] + [DataElement("578", typeof(X12_ID_578))] + [Pos(4)] + public string EquipmentStatusCode_04 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(5)] + public string IndustryCode_05 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(6)] + public string IndustryCode_06 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(7)] + public string IndustryCode_07 { + get; + set; + } + /// + /// Interchange Train Identification + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("41", typeof(X12_AN))] + [Pos(8)] + public string InterchangeTrainIdentification_08 { + get; + set; + } + } + + /// + /// Mixed Hazardous Commodities + /// + [Serializable()] + [DataContract()] + [Segment("LH")] + public class LH { + + /// + /// Lading Line Item Number + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("213", typeof(X12_N0))] + [Pos(1)] + public string LadingLineItemNumber_01 { + get; + set; + } + /// + /// Hazardous Mnemonic Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("758", typeof(X12_AN))] + [Pos(2)] + public string HazardousMnemonicCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reportable Quantity Code + /// + [DataMember] + [DataElement("759", typeof(X12_ID_759))] + [Pos(5)] + public string ReportableQuantityCode_05 { + get; + set; + } + /// + /// Limited Quantity Indication Code + /// + [DataMember] + [DataElement("760", typeof(X12_ID_760))] + [Pos(6)] + public string LimitedQuantityIndicationCode_06 { + get; + set; + } + } + + /// + /// Hazardous Identification Information + /// + [Serializable()] + [DataContract()] + [Segment("LH1")] + public class LH1 { + + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(1)] + public string UnitorBasisforMeasurementCode_01 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(2)] + public string LadingQuantity_02 { + get; + set; + } + /// + /// UN/NA Identification Code + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("277", typeof(X12_AN))] + [Pos(3)] + public string UNNAIdentificationCode_03 { + get; + set; + } + /// + /// Hazardous Materials Page + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("200", typeof(X12_AN))] + [Pos(4)] + public string HazardousMaterialsPage_04 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(5)] + public string CommodityCode_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Compartment ID Code + /// + [DataMember] + [DataElement("595", typeof(X12_ID_595))] + [Pos(8)] + public string CompartmentIDCode_08 { + get; + set; + } + /// + /// Residue Indicator Code + /// + [DataMember] + [DataElement("665", typeof(X12_ID_665))] + [Pos(9)] + public string ResidueIndicatorCode_09 { + get; + set; + } + /// + /// Packing Group Code + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("254", typeof(X12_AN))] + [Pos(10)] + public string PackingGroupCode_10 { + get; + set; + } + /// + /// Interim Hazardous Material Regulatory Number + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("1375", typeof(X12_AN))] + [Pos(11)] + public string InterimHazardousMaterialRegulatoryNumber_11 { + get; + set; + } + } + + /// + /// Hazardous Classification Information + /// + [Serializable()] + [DataContract()] + [Segment("LH2")] + public class LH2 { + + /// + /// Hazardous Classification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("215", typeof(X12_AN))] + [Pos(1)] + public string HazardousClassification_01 { + get; + set; + } + /// + /// Hazardous Class Qualifier + /// + [DataMember] + [DataElement("983", typeof(X12_ID_983))] + [Pos(2)] + public string HazardousClassQualifier_02 { + get; + set; + } + /// + /// Hazardous Placard Notation + /// + [DataMember] + [StringLength(14, 40)] + [DataElement("218", typeof(X12_AN))] + [Pos(3)] + public string HazardousPlacardNotation_03 { + get; + set; + } + /// + /// Hazardous Endorsement + /// + [DataMember] + [StringLength(4, 25)] + [DataElement("222", typeof(X12_AN))] + [Pos(4)] + public string HazardousEndorsement_04 { + get; + set; + } + /// + /// Reportable Quantity Code + /// + [DataMember] + [DataElement("759", typeof(X12_ID_759))] + [Pos(5)] + public string ReportableQuantityCode_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(7)] + public string Temperature_07 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(8)] + public string UnitorBasisforMeasurementCode_08 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(9)] + public string Temperature_09 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(10)] + public string UnitorBasisforMeasurementCode_10 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(11)] + public string Temperature_11 { + get; + set; + } + } + + /// + /// Hazardous Material Shipping Name + /// + [Serializable()] + [DataContract()] + [Segment("LH3")] + public class LH3 { + + /// + /// Hazardous Material Shipping Name + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("224", typeof(X12_AN))] + [Pos(1)] + public string HazardousMaterialShippingName_01 { + get; + set; + } + /// + /// Hazardous Material Shipping Name Qualifier + /// + [DataMember] + [DataElement("984", typeof(X12_ID_984))] + [Pos(2)] + public string HazardousMaterialShippingNameQualifier_02 { + get; + set; + } + /// + /// N.O.S. Indicator Code + /// + [DataMember] + [DataElement("985", typeof(X12_ID_985))] + [Pos(3)] + public string NOSIndicatorCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + } + + /// + /// Canadian Dangerous Requirements + /// + [Serializable()] + [DataContract()] + [Segment("LH4")] + public class LH4 { + + /// + /// Emergency Response Plan Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("238", typeof(X12_AN))] + [Pos(1)] + public string EmergencyResponsePlanNumber_01 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(2)] + public string CommunicationNumber_02 { + get; + set; + } + /// + /// Packing Group Code + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("254", typeof(X12_AN))] + [Pos(3)] + public string PackingGroupCode_03 { + get; + set; + } + /// + /// Subsidiary Classification + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("230", typeof(X12_AN))] + [Pos(4)] + public string SubsidiaryClassification_04 { + get; + set; + } + /// + /// Subsidiary Classification + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("230", typeof(X12_AN))] + [Pos(5)] + public string SubsidiaryClassification_05 { + get; + set; + } + /// + /// Subsidiary Classification + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("230", typeof(X12_AN))] + [Pos(6)] + public string SubsidiaryClassification_06 { + get; + set; + } + /// + /// Subsidiary Risk Indicator + /// + [DataMember] + [DataElement("271", typeof(X12_ID_271))] + [Pos(7)] + public string SubsidiaryRiskIndicator_07 { + get; + set; + } + /// + /// Net Explosive Quantity + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("267", typeof(X12_N0))] + [Pos(8)] + public string NetExplosiveQuantity_08 { + get; + set; + } + /// + /// Canadian Hazardous Notation + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("805", typeof(X12_AN))] + [Pos(9)] + public string CanadianHazardousNotation_09 { + get; + set; + } + /// + /// Special Commodity Indicator Code + /// + [DataMember] + [DataElement("986", typeof(X12_ID_986))] + [Pos(10)] + public string SpecialCommodityIndicatorCode_10 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(11)] + public string CommunicationNumber_11 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(12)] + public string UnitorBasisforMeasurementCode_12 { + get; + set; + } + } + + /// + /// Hazardous Certification + /// + [Serializable()] + [DataContract()] + [Segment("LH6")] + public class LH6 { + + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(1)] + public string Name_01 { + get; + set; + } + /// + /// Hazardous Certification Code + /// + [DataMember] + [DataElement("272", typeof(X12_ID_272))] + [Pos(2)] + public string HazardousCertificationCode_02 { + get; + set; + } + /// + /// Hazardous Certification Declaration + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("273", typeof(X12_AN))] + [Pos(3)] + public string HazardousCertificationDeclaration_03 { + get; + set; + } + /// + /// Hazardous Certification Declaration + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("273", typeof(X12_AN))] + [Pos(4)] + public string HazardousCertificationDeclaration_04 { + get; + set; + } + } + + /// + /// Empty Equipment Hazardous Material Information + /// + [Serializable()] + [DataContract()] + [Segment("LHE")] + public class LHE { + + /// + /// Hazardous Material Shipping Name + /// + [DataMember] + [Required] + [StringLength(1, 25)] + [DataElement("224", typeof(X12_AN))] + [Pos(1)] + public string HazardousMaterialShippingName_01 { + get; + set; + } + /// + /// Hazardous Placard Notation + /// + [DataMember] + [Required] + [StringLength(14, 40)] + [DataElement("218", typeof(X12_AN))] + [Pos(2)] + public string HazardousPlacardNotation_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Reportable Quantity Code + /// + [DataMember] + [DataElement("759", typeof(X12_ID_759))] + [Pos(5)] + public string ReportableQuantityCode_05 { + get; + set; + } + } + + /// + /// Hazardous Material Identifying Reference Numbers + /// + [Serializable()] + [DataContract()] + [Segment("LHR")] + public class LHR { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + } + + /// + /// Transborder Hazardous Requirements + /// + [Serializable()] + [DataContract()] + [Segment("LHT")] + public class LHT { + + /// + /// Hazardous Classification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("215", typeof(X12_AN))] + [Pos(1)] + public string HazardousClassification_01 { + get; + set; + } + /// + /// Hazardous Placard Notation + /// + [DataMember] + [StringLength(14, 40)] + [DataElement("218", typeof(X12_AN))] + [Pos(2)] + public string HazardousPlacardNotation_02 { + get; + set; + } + /// + /// Hazardous Endorsement + /// + [DataMember] + [StringLength(4, 25)] + [DataElement("222", typeof(X12_AN))] + [Pos(3)] + public string HazardousEndorsement_03 { + get; + set; + } + } + + /// + /// License Information + /// + [Serializable()] + [DataContract()] + [Segment("LIC")] + public class LIC { + + /// + /// State or Province Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(1)] + public string StateorProvinceCode_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Status Code + /// + [DataMember] + [Required] + [DataElement("546", typeof(X12_ID_546))] + [Pos(5)] + public string StatusCode_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + } + + /// + /// Loss Information Description + /// + [Serializable()] + [DataContract()] + [Segment("LID")] + public class LID { + + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(1)] + public string DateTimePeriodFormatQualifier_01 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(2)] + public string DateTimePeriod_02 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(3)] + public string IndustryCode_03 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(4)] + public string IndustryCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(8)] + public string Description_08 { + get; + set; + } + } + + /// + /// Individual or Event Location + /// + [Serializable()] + [DataContract()] + [Segment("LIE")] + public class LIE { + + /// + /// Location Type Code + /// + [DataMember] + [Required] + [DataElement("1466", typeof(X12_ID_1466))] + [Pos(1)] + public string LocationTypeCode_01 { + get; + set; + } + /// + /// Proximity Code + /// + [DataMember] + [DataElement("1465", typeof(X12_ID_1465))] + [Pos(2)] + public string ProximityCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(4)] + public string EntityIdentifierCode_04 { + get; + set; + } + } + + /// + /// Item Identification + /// + [Serializable()] + [DataContract()] + [Segment("LIN")] + public class LIN { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(4)] + public string ProductServiceIDQualifier_04 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(5)] + public string ProductServiceID_05 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(6)] + public string ProductServiceIDQualifier_06 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(7)] + public string ProductServiceID_07 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(8)] + public string ProductServiceIDQualifier_08 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(9)] + public string ProductServiceID_09 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(10)] + public string ProductServiceIDQualifier_10 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(11)] + public string ProductServiceID_11 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(12)] + public string ProductServiceIDQualifier_12 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(13)] + public string ProductServiceID_13 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(14)] + public string ProductServiceIDQualifier_14 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(15)] + public string ProductServiceID_15 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(16)] + public string ProductServiceIDQualifier_16 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(17)] + public string ProductServiceID_17 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(18)] + public string ProductServiceIDQualifier_18 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(19)] + public string ProductServiceID_19 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(20)] + public string ProductServiceIDQualifier_20 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(21)] + public string ProductServiceID_21 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(22)] + public string ProductServiceIDQualifier_22 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(23)] + public string ProductServiceID_23 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(24)] + public string ProductServiceIDQualifier_24 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(25)] + public string ProductServiceID_25 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(26)] + public string ProductServiceIDQualifier_26 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(27)] + public string ProductServiceID_27 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(28)] + public string ProductServiceIDQualifier_28 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(29)] + public string ProductServiceID_29 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(30)] + public string ProductServiceIDQualifier_30 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(31)] + public string ProductServiceID_31 { + get; + set; + } + } + + /// + /// Code Source Information + /// + [Serializable()] + [DataContract()] + [Segment("LM")] + public class LM { + + /// + /// Agency Qualifier Code + /// + [DataMember] + [Required] + [DataElement("559", typeof(X12_ID_559))] + [Pos(1)] + public string AgencyQualifierCode_01 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(2)] + public string SourceSubqualifier_02 { + get; + set; + } + } + + /// + /// Loan Information + /// + [Serializable()] + [DataContract()] + [Segment("LN")] + public class LN { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(5)] + public string FrequencyCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(7)] + public string Percent_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Loan Purpose Code + /// + [DataMember] + [DataElement("1081", typeof(X12_ID_1081))] + [Pos(9)] + public string LoanPurposeCode_09 { + get; + set; + } + /// + /// Loan Payment Type Code + /// + [DataMember] + [DataElement("1085", typeof(X12_ID_1085))] + [Pos(10)] + public string LoanPaymentTypeCode_10 { + get; + set; + } + /// + /// Loan Rate Type Code + /// + [DataMember] + [DataElement("1086", typeof(X12_ID_1086))] + [Pos(11)] + public string LoanRateTypeCode_11 { + get; + set; + } + } + + /// + /// Loan Specific Data + /// + [Serializable()] + [DataContract()] + [Segment("LN1")] + public class LN1 { + + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(1)] + public string MonetaryAmount_01 { + get; + set; + } + /// + /// Lien Priority Code + /// + [DataMember] + [Required] + [DataElement("1101", typeof(X12_ID_1101))] + [Pos(2)] + public string LienPriorityCode_02 { + get; + set; + } + /// + /// Real Estate Loan Type Code + /// + [DataMember] + [Required] + [DataElement("1093", typeof(X12_ID_1093))] + [Pos(3)] + public string RealEstateLoanTypeCode_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(6)] + public string Percent_06 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(7)] + public string RateValueQualifier_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Real Estate Loan Security Instrument Code + /// + [DataMember] + [DataElement("1076", typeof(X12_ID_1076))] + [Pos(9)] + public string RealEstateLoanSecurityInstrumentCode_09 { + get; + set; + } + /// + /// Loan Documentation Type Code + /// + [DataMember] + [DataElement("1103", typeof(X12_ID_1103))] + [Pos(10)] + public string LoanDocumentationTypeCode_10 { + get; + set; + } + /// + /// Loan Rate Type Code + /// + [DataMember] + [DataElement("1086", typeof(X12_ID_1086))] + [Pos(11)] + public string LoanRateTypeCode_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(13)] + public string AccounCAumber_13 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(14)] + public string Percent_14 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(15)] + public string Percent_15 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(16)] + public string DateTimePeriodFormatQualifier_16 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(17)] + public string DateTimePeriod_17 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(18)] + public string DateTimePeriod_18 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(19)] + public string DateTimePeriod_19 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(20)] + public string DateTimePeriod_20 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(21)] + public string DateTimePeriod_21 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(22)] + public string MonetaryAmount_22 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(23)] + public string MonetaryAmount_23 { + get; + set; + } + } + + /// + /// Existing Real Estate Loan Specific Data + /// + [Serializable()] + [DataContract()] + [Segment("LN2")] + public class LN2 { + + /// + /// Lien Priority Code + /// + [DataMember] + [Required] + [DataElement("1101", typeof(X12_ID_1101))] + [Pos(1)] + public string LienPriorityCode_01 { + get; + set; + } + /// + /// Real Estate Loan Type Code + /// + [DataMember] + [Required] + [DataElement("1093", typeof(X12_ID_1093))] + [Pos(2)] + public string RealEstateLoanTypeCode_02 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(3)] + public string Percent_03 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(4)] + public string FrequencyCode_04 { + get; + set; + } + /// + /// Loan Payment Type Code + /// + [DataMember] + [DataElement("1085", typeof(X12_ID_1085))] + [Pos(5)] + public string LoanPaymentTypeCode_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Assumption Terms Code + /// + [DataMember] + [DataElement("1080", typeof(X12_ID_1080))] + [Pos(7)] + public string AssumptionTermsCode_07 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(8)] + public string Name_08 { + get; + set; + } + /// + /// Reference Identifier + /// + [DataMember] + [Pos(9)] + public C040 ReferenceIdentifier_09 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(10)] + public string QuantityQualifier_10 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(11)] + public string Quantity_11 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(12)] + public string Quantity_12 { + get; + set; + } + } + + /// + /// Location + /// + [Serializable()] + [DataContract()] + [Segment("LOC")] + public class LOC { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Category + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("729", typeof(X12_AN))] + [Pos(5)] + public string Category_05 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(6)] + public string ReferenceIdentificationQualifier_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(8)] + public string Description_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(10)] + public string MeasurementValue_10 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(11)] + public C001 CompositeUnitofMeasure_11 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(12)] + public string MeasurementValue_12 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(13)] + public C001 CompositeUnitofMeasure_13 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(14)] + public string MeasurementValue_14 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(15)] + public C001 CompositeUnitofMeasure_15 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(16)] + public string MeasurementValue_16 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(17)] + public C001 CompositeUnitofMeasure_17 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(18)] + public string MeasurementValue_18 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(19)] + public C001 CompositeUnitofMeasure_19 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(20)] + public string MeasurementValue_20 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(21)] + public C001 CompositeUnitofMeasure_21 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(22)] + public string ReferenceIdentificationQualifier_22 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(23)] + public string ReferenceIdentification_23 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(24)] + public string Description_24 { + get; + set; + } + } + + /// + /// Location Description + /// + [Serializable()] + [DataContract()] + [Segment("LOD")] + public class LOD { + + /// + /// General Territory Code + /// + [DataMember] + [DataElement("1632", typeof(X12_ID_1632))] + [Pos(1)] + public string GeneralTerritoryCode_01 { + get; + set; + } + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(2)] + public string ConditionIndicator_02 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(3)] + public string FreeFormMessage_03 { + get; + set; + } + /// + /// Thoroughfare Type Qualifier + /// + [DataMember] + [DataElement("1630", typeof(X12_ID_1630))] + [Pos(4)] + public string ThoroughfareTypeQualifier_04 { + get; + set; + } + /// + /// Thoroughfare Type Code + /// + [DataMember] + [DataElement("1631", typeof(X12_ID_1631))] + [Pos(5)] + public string ThoroughfareTypeCode_05 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(6)] + public string FreeFormMessage_06 { + get; + set; + } + } + + /// + /// Load Planning + /// + [Serializable()] + [DataContract()] + [Segment("LP")] + public class LP { + + /// + /// Equipment Type + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("24", typeof(X12_AN))] + [Pos(1)] + public string EquipmentType_01 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(2)] + public string ShipmentIdentificationNumber_02 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(3)] + public string ShipmentIdentificationNumber_03 { + get; + set; + } + /// + /// Vent Instruction Code + /// + [DataMember] + [DataElement("242", typeof(X12_ID_242))] + [Pos(4)] + public string VentInstructionCode_04 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(5)] + public string EquipmenCAumber_05 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(6)] + public string Number_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + } + + /// + /// Industry Code + /// + [Serializable()] + [DataContract()] + [Segment("LQ")] + public class LQ { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + } + + /// + /// Mortgage Characteristics Requested + /// + [Serializable()] + [DataContract()] + [Segment("LRQ")] + public class LRQ { + + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(1)] + public string MonetaryAmount_01 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(2)] + public string Percent_02 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(3)] + public string RateValueQualifier_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Type of Residence Code + /// + [DataMember] + [DataElement("1070", typeof(X12_ID_1070))] + [Pos(5)] + public string TypeofResidenceCode_05 { + get; + set; + } + /// + /// Contact Method Code + /// + [DataMember] + [DataElement("1079", typeof(X12_ID_1079))] + [Pos(6)] + public string ContactMethodCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Assumption Terms Code + /// + [DataMember] + [DataElement("1080", typeof(X12_ID_1080))] + [Pos(8)] + public string AssumptionTermsCode_08 { + get; + set; + } + /// + /// Loan Purpose Code + /// + [DataMember] + [DataElement("1081", typeof(X12_ID_1081))] + [Pos(9)] + public string LoanPurposeCode_09 { + get; + set; + } + /// + /// Composite Use of Proceeds + /// + [DataMember] + [Pos(10)] + public C048 CompositeUseofProceeds_10 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(11)] + public string MonetaryAmount_11 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(12)] + public string MonetaryAmount_12 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(13)] + public string Description_13 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(14)] + public string Description_14 { + get; + set; + } + /// + /// Real Estate Loan Type Code + /// + [DataMember] + [DataElement("1093", typeof(X12_ID_1093))] + [Pos(15)] + public string RealEstateLoanTypeCode_15 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(16)] + public string Description_16 { + get; + set; + } + /// + /// Loan Payment Type Code + /// + [DataMember] + [DataElement("1085", typeof(X12_ID_1085))] + [Pos(17)] + public string LoanPaymentTypeCode_17 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(18)] + public string Description_18 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(19)] + public string Number_19 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(20)] + public string Description_20 { + get; + set; + } + } + + /// + /// Loop Header + /// + [Serializable()] + [DataContract()] + [Segment("LS")] + public class LS { + + /// + /// Loop Identifier Code + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("447", typeof(X12_AN))] + [Pos(1)] + public string LoopIdentifierCode_01 { + get; + set; + } + } + + /// + /// Asset Item Identification + /// + [Serializable()] + [DataContract()] + [Segment("LS1")] + public class LS1 { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(2)] + public string AssignedIdentification_02 { + get; + set; + } + /// + /// Change or Response Type Code + /// + [DataMember] + [DataElement("670", typeof(X12_ID_670))] + [Pos(3)] + public string ChangeorResponseTypeCode_03 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(4)] + public string ProductServiceID_04 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(5)] + public string ProductServiceID_05 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(6)] + public string ProductServiceID_06 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(7)] + public string ProductServiceID_07 { + get; + set; + } + } + + /// + /// Letter of Recommendation + /// + [Serializable()] + [DataContract()] + [Segment("LT")] + public class LT { + + /// + /// Individual Relationship Code + /// + [DataMember] + [Required] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(1)] + public string IndividualRelationshipCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + } + + /// + /// Letter of Recommendation Evaluation + /// + [Serializable()] + [DataContract()] + [Segment("LTE")] + public class LTE { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Rating Summary Value Code + /// + [DataMember] + [DataElement("708", typeof(X12_ID_708))] + [Pos(4)] + public string RatingSummaryValueCode_04 { + get; + set; + } + } + + /// + /// Laboratory Test Results + /// + [Serializable()] + [DataContract()] + [Segment("LTR")] + public class LTR { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [Required] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(3)] + public string MeasurementValue_03 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(4)] + public C001 CompositeUnitofMeasure_04 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(5)] + public string CodeListQualifierCode_05 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(6)] + public string IndustryCode_06 { + get; + set; + } + /// + /// Shipment Status Code + /// + [DataMember] + [DataElement("157", typeof(X12_ID_157))] + [Pos(7)] + public string ShipmentStatusCode_07 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(8)] + public string RangeMinimum_08 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(9)] + public string RangeMaximum_09 { + get; + set; + } + /// + /// Gender Code + /// + [DataMember] + [DataElement("1068", typeof(X12_ID_1068))] + [Pos(10)] + public string GenderCode_10 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(11)] + public string RangeMinimum_11 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(12)] + public string RangeMaximum_12 { + get; + set; + } + } + + /// + /// Loan Underwriting + /// + [Serializable()] + [DataContract()] + [Segment("LUC")] + public class LUC { + + /// + /// Loan Documentation Type Code + /// + [DataMember] + [Required] + [DataElement("1103", typeof(X12_ID_1103))] + [Pos(1)] + public string LoanDocumentationTypeCode_01 { + get; + set; + } + /// + /// Loan Purpose Code + /// + [DataMember] + [Required] + [DataElement("1081", typeof(X12_ID_1081))] + [Pos(2)] + public string LoanPurposeCode_02 { + get; + set; + } + /// + /// Composite Use of Proceeds + /// + [DataMember] + [Pos(3)] + public C048 CompositeUseofProceeds_03 { + get; + set; + } + /// + /// Risk of Loss Code + /// + [DataMember] + [DataElement("54", typeof(X12_ID_54))] + [Pos(4)] + public string RiskofLossCode_04 { + get; + set; + } + } + + /// + /// Language Use + /// + [Serializable()] + [DataContract()] + [Segment("LUI")] + public class LUI { + + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(1)] + public string IdentificationCodeQualifier_01 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(2)] + public string IdentificationCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Use of Language Indicator + /// + [DataMember] + [DataElement("1303", typeof(X12_ID_1303))] + [Pos(4)] + public string UseofLanguageIndicator_04 { + get; + set; + } + /// + /// Language Proficiency Indicator + /// + [DataMember] + [DataElement("1476", typeof(X12_ID_1476))] + [Pos(5)] + public string LanguageProficiencyIndicator_05 { + get; + set; + } + } + + /// + /// Loan Verification + /// + [Serializable()] + [DataContract()] + [Segment("LV")] + public class LV { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Loan Verification Code + /// + [DataMember] + [Required] + [DataElement("1379", typeof(X12_ID_1379))] + [Pos(2)] + public string LoanVerificationCode_02 { + get; + set; + } + } + + /// + /// Assigned Number + /// + [Serializable()] + [DataContract()] + [Segment("LX")] + public class LX { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + } + + /// + /// Letter of Credit Reference + /// + [Serializable()] + [DataContract()] + [Segment("M0")] + public class M0 { + + /// + /// Letter of Credit Number + /// + [DataMember] + [Required] + [StringLength(2, 40)] + [DataElement("250", typeof(X12_AN))] + [Pos(1)] + public string LetterofCrediCAumber_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + } + + /// + /// Insurance + /// + [Serializable()] + [DataContract()] + [Segment("M1")] + public class M1 { + + /// + /// Country Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(1)] + public string CountryCode_01 { + get; + set; + } + /// + /// Carriage Value + /// + [DataMember] + [StringLength(2, 8)] + [DataElement("14", typeof(X12_N0))] + [Pos(2)] + public string CarriageValue_02 { + get; + set; + } + /// + /// Declared Value + /// + [DataMember] + [StringLength(2, 12)] + [DataElement("74", typeof(X12_N2))] + [Pos(3)] + public string DeclaredValue_03 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(4)] + public string RateValueQualifier_04 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(5)] + public string EntityIdentifierCode_05 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(6)] + public string FreeFormMessage_06 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(7)] + public string RateValueQualifier_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Percent Qualifier + /// + [DataMember] + [DataElement("1004", typeof(X12_ID_1004))] + [Pos(9)] + public string PercentQualifier_09 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(10)] + public string Percent_10 { + get; + set; + } + /// + /// Percent Qualifier + /// + [DataMember] + [DataElement("1004", typeof(X12_ID_1004))] + [Pos(11)] + public string PercentQualifier_11 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(12)] + public string Percent_12 { + get; + set; + } + } + + /// + /// Manifest Identifying Information + /// + [Serializable()] + [DataContract()] + [Segment("M10")] + public class M10 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(2)] + public string TransportationMethodTypeCode_02 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(3)] + public string CountryCode_03 { + get; + set; + } + /// + /// Vessel Code + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("597", typeof(X12_AN))] + [Pos(4)] + public string VesselCode_04 { + get; + set; + } + /// + /// Vessel Name + /// + [DataMember] + [StringLength(2, 28)] + [DataElement("182", typeof(X12_AN))] + [Pos(5)] + public string VesselName_05 { + get; + set; + } + /// + /// Flight/Voyage Number + /// + [DataMember] + [Required] + [StringLength(2, 10)] + [DataElement("55", typeof(X12_AN))] + [Pos(6)] + public string FlightVoyageNumber_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Manifest Type Code + /// + [DataMember] + [Required] + [DataElement("256", typeof(X12_ID_256))] + [Pos(9)] + public string ManifestTypeCode_09 { + get; + set; + } + /// + /// Vessel Code Qualifier + /// + [DataMember] + [DataElement("897", typeof(X12_ID_897))] + [Pos(10)] + public string VesselCodeQualifier_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(12)] + public string ReferenceIdentification_12 { + get; + set; + } + } + + /// + /// Manifest Bill of Lading Details + /// + [Serializable()] + [DataContract()] + [Segment("M11")] + public class M11 { + + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(1)] + public string BillofLadingWaybillNumber_01 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(2)] + public string LocationIdentifier_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Manifest Unit Code + /// + [DataMember] + [Required] + [DataElement("599", typeof(X12_ID_599))] + [Pos(4)] + public string ManifestUnitCode_04 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(5)] + public string Weight_05 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [Required] + [DataElement("188", typeof(X12_ID_188))] + [Pos(6)] + public string WeightUnitCode_06 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(7)] + public string Volume_07 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(8)] + public string VolumeUnitQualifier_08 { + get; + set; + } + /// + /// Bill of Lading Type Code + /// + [DataMember] + [DataElement("582", typeof(X12_ID_582))] + [Pos(9)] + public string BillofLadingTypeCode_09 { + get; + set; + } + /// + /// Place of Receipt by Pre-carrier + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("600", typeof(X12_AN))] + [Pos(10)] + public string PlaceofReceiptbyPrecarrier_10 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(11)] + public string BillofLadingWaybillNumber_11 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(12)] + public string StandardCarrierAlphaCode_12 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(13)] + public string StandardCarrierAlphaCode_13 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(14)] + public string StandardCarrierAlphaCode_14 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(15)] + public string StandardCarrierAlphaCode_15 { + get; + set; + } + /// + /// Shipper's Export Declaration Requirements + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1302", typeof(X12_AN))] + [Pos(16)] + public string ShippersExportDeclarationRequirements_16 { + get; + set; + } + /// + /// Export Exception Code + /// + [DataMember] + [DataElement("1578", typeof(X12_ID_1578))] + [Pos(17)] + public string ExportExceptionCode_17 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(18)] + public string StandardCarrierAlphaCode_18 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(19)] + public string StandardCarrierAlphaCode_19 { + get; + set; + } + } + + /// + /// In-bond Identifying Information + /// + [Serializable()] + [DataContract()] + [Segment("M12")] + public class M12 { + + /// + /// Customs Entry Type Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("581", typeof(X12_AN))] + [Pos(1)] + public string CustomsEntryTypeCode_01 { + get; + set; + } + /// + /// Customs Entry Number + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("601", typeof(X12_AN))] + [Pos(2)] + public string CustomsEntryNumber_02 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(3)] + public string LocationIdentifier_03 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(4)] + public string LocationIdentifier_04 { + get; + set; + } + /// + /// Customs Shipment Value + /// + [DataMember] + [StringLength(2, 8)] + [DataElement("602", typeof(X12_AN))] + [Pos(5)] + public string CustomsShipmentValue_05 { + get; + set; + } + /// + /// In-bond Control Number + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("603", typeof(X12_AN))] + [Pos(6)] + public string InbondControlNumber_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(8)] + public string ReferenceIdentificationQualifier_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(10)] + public string TransportationMethodTypeCode_10 { + get; + set; + } + /// + /// Vessel Name + /// + [DataMember] + [StringLength(2, 28)] + [DataElement("182", typeof(X12_AN))] + [Pos(11)] + public string VesselName_11 { + get; + set; + } + } + + /// + /// Manifest Amendment Details + /// + [Serializable()] + [DataContract()] + [Segment("M13")] + public class M13 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(2)] + public string LocationIdentifier_02 { + get; + set; + } + /// + /// Amendment Type Code + /// + [DataMember] + [DataElement("580", typeof(X12_ID_580))] + [Pos(3)] + public string AmendmentTypeCode_03 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(4)] + public string BillofLadingWaybillNumber_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Amendment Code + /// + [DataMember] + [DataElement("393", typeof(X12_ID_393))] + [Pos(6)] + public string AmendmentCode_06 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(7)] + public string ActionCode_07 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(8)] + public string BillofLadingWaybillNumber_08 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(9)] + public string StandardCarrierAlphaCode_09 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(10)] + public string StandardCarrierAlphaCode_10 { + get; + set; + } + } + + /// + /// General Order Status Information + /// + [Serializable()] + [DataContract()] + [Segment("M14")] + public class M14 { + + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(1)] + public string BillofLadingWaybillNumber_01 { + get; + set; + } + /// + /// Bill of Lading Status Code + /// + [DataMember] + [Required] + [DataElement("392", typeof(X12_ID_392))] + [Pos(2)] + public string BillofLadingStatusCode_02 { + get; + set; + } + /// + /// Customs Entry Number + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("601", typeof(X12_AN))] + [Pos(3)] + public string CustomsEntryNumber_03 { + get; + set; + } + /// + /// Customs Entry Type Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("581", typeof(X12_AN))] + [Pos(4)] + public string CustomsEntryTypeCode_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(6)] + public string BillofLadingWaybillNumber_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(8)] + public string StandardCarrierAlphaCode_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(10)] + public string ReferenceIdentification_10 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(11)] + public string LocationIdentifier_11 { + get; + set; + } + } + + /// + /// U.S. Customs Events Advisory Details + /// + [Serializable()] + [DataContract()] + [Segment("M15")] + public class M15 { + + /// + /// Notification Entity Qualifier + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("1497", typeof(X12_AN))] + [Pos(1)] + public string NotificationEntityQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(4)] + public string LocationIdentifier_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [Required] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(6)] + public string Time_06 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(7)] + public string SealNumber_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(9)] + public string StandardCarrierAlphaCode_09 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(10)] + public string CityName_10 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(11)] + public string StateorProvinceCode_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + } + + /// + /// Sales/Delivery Terms + /// + [Serializable()] + [DataContract()] + [Segment("M2")] + public class M2 { + + /// + /// Sales Terms Code + /// + [DataMember] + [Required] + [DataElement("139", typeof(X12_ID_139))] + [Pos(1)] + public string SalesTermsCode_01 { + get; + set; + } + /// + /// Sales Reference Number + /// + [DataMember] + [StringLength(4, 6)] + [DataElement("138", typeof(X12_AN))] + [Pos(2)] + public string SalesReferenceNumber_02 { + get; + set; + } + /// + /// Sales Reference Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("137", typeof(X12_DT))] + [Pos(3)] + public string SalesReferenceDate_03 { + get; + set; + } + /// + /// Transportation Terms Code + /// + [DataMember] + [DataElement("335", typeof(X12_ID_335))] + [Pos(4)] + public string TransportationTermsCode_04 { + get; + set; + } + /// + /// Sales Comment + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("136", typeof(X12_AN))] + [Pos(5)] + public string SalesComment_05 { + get; + set; + } + /// + /// Delivery Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("32", typeof(X12_DT))] + [Pos(6)] + public string DeliveryDate_06 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(7)] + public string LocationQualifier_07 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(8)] + public string LocationIdentifier_08 { + get; + set; + } + } + + /// + /// Permit to Transfer Request Details + /// + [Serializable()] + [DataContract()] + [Segment("M20")] + public class M20 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(2)] + public string BillofLadingWaybillNumber_02 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(3)] + public string EquipmentInitial_03 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(4)] + public string EquipmenCAumber_04 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [Required] + [DataElement("309", typeof(X12_ID_309))] + [Pos(5)] + public string LocationQualifier_05 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(6)] + public string LocationIdentifier_06 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(7)] + public string ReferenceIdentificationQualifier_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(9)] + public string FreeformDescription_09 { + get; + set; + } + } + + /// + /// Supplementary In-Bond Information + /// + [Serializable()] + [DataContract()] + [Segment("M21")] + public class M21 { + + /// + /// Customs Entry Type Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("581", typeof(X12_AN))] + [Pos(1)] + public string CustomsEntryTypeCode_01 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(2)] + public string LocationIdentifier_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(4)] + public string BillofLadingWaybillNumber_04 { + get; + set; + } + /// + /// Master In-bond Type Code + /// + [DataMember] + [DataElement("1428", typeof(X12_ID_1428))] + [Pos(5)] + public string MasterInbondTypeCode_05 { + get; + set; + } + /// + /// In-bond Control Number + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("603", typeof(X12_AN))] + [Pos(6)] + public string InbondControlNumber_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(8)] + public string BillofLadingWaybillNumber_08 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(9)] + public string StandardCarrierAlphaCode_09 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(10)] + public string BillofLadingWaybillNumber_10 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(11)] + public string StandardCarrierAlphaCode_11 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(12)] + public string StandardCarrierAlphaCode_12 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(13)] + public string Quantity_13 { + get; + set; + } + } + + /// + /// Release + /// + [Serializable()] + [DataContract()] + [Segment("M3")] + public class M3 { + + /// + /// Release Code + /// + [DataMember] + [Required] + [DataElement("132", typeof(X12_ID_132))] + [Pos(1)] + public string ReleaseCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(4)] + public string TimeCode_04 { + get; + set; + } + } + + /// + /// Seal Numbers + /// + [Serializable()] + [DataContract()] + [Segment("M7")] + public class M7 { + + /// + /// Seal Number + /// + [DataMember] + [Required] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(1)] + public string SealNumber_01 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(2)] + public string SealNumber_02 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(3)] + public string SealNumber_03 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(4)] + public string SealNumber_04 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(5)] + public string EntityIdentifierCode_05 { + get; + set; + } + } + + /// + /// Seal Number Replacement + /// + [Serializable()] + [DataContract()] + [Segment("M7A")] + public class M7A { + + /// + /// Seal Number + /// + [DataMember] + [Required] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(1)] + public string SealNumber_01 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [Required] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(2)] + public string SealNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(4)] + public string EntityIdentifierCode_04 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(5)] + public string Name_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + } + + /// + /// Marks and Numbers + /// + [Serializable()] + [DataContract()] + [Segment("MAN")] + public class MAN { + + /// + /// Marks and Numbers Qualifier + /// + [DataMember] + [Required] + [DataElement("88", typeof(X12_ID_88))] + [Pos(1)] + public string MarksandNumbersQualifier_01 { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("87", typeof(X12_AN))] + [Pos(2)] + public string MarksandNumbers_02 { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("87", typeof(X12_AN))] + [Pos(3)] + public string MarksandNumbers_03 { + get; + set; + } + /// + /// Marks and Numbers Qualifier + /// + [DataMember] + [DataElement("88", typeof(X12_ID_88))] + [Pos(4)] + public string MarksandNumbersQualifier_04 { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("87", typeof(X12_AN))] + [Pos(5)] + public string MarksandNumbers_05 { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("87", typeof(X12_AN))] + [Pos(6)] + public string MarksandNumbers_06 { + get; + set; + } + } + + /// + /// Bill of Lading + /// + [Serializable()] + [DataContract()] + [Segment("MBL")] + public class MBL { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(2)] + public string BillofLadingWaybillNumber_02 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(3)] + public string ActionCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Type of Service Code + /// + [DataMember] + [DataElement("56", typeof(X12_ID_56))] + [Pos(5)] + public string TypeofServiceCode_05 { + get; + set; + } + } + + /// + /// Miscellaneous and Accessorial Charges + /// + [Serializable()] + [DataContract()] + [Segment("MC")] + public class MC { + + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [Required] + [DataElement("150", typeof(X12_ID_150))] + [Pos(1)] + public string SpecialChargeorAllowanceCode_01 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [Required] + [DataElement("122", typeof(X12_ID_122))] + [Pos(2)] + public string RateValueQualifier_02 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(3)] + public string Rate_03 { + get; + set; + } + /// + /// Special Charge Description + /// + [DataMember] + [StringLength(2, 25)] + [DataElement("276", typeof(X12_AN))] + [Pos(4)] + public string SpecialChargeDescription_04 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(5)] + public string AssignedNumber_05 { + get; + set; + } + } + + /// + /// Mortgage Closing Data + /// + [Serializable()] + [DataContract()] + [Segment("MCD")] + public class MCD { + + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(1)] + public string MonetaryAmount_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(4)] + public string Name_04 { + get; + set; + } + } + + /// + /// Tariff Accessorial Charges + /// + [Serializable()] + [DataContract()] + [Segment("MCT")] + public class MCT { + + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [Required] + [DataElement("150", typeof(X12_ID_150))] + [Pos(1)] + public string SpecialChargeorAllowanceCode_01 { + get; + set; + } + /// + /// Tariff Value Code + /// + [DataMember] + [DataElement("981", typeof(X12_ID_981))] + [Pos(2)] + public string TariffValueCode_02 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(3)] + public string RangeMinimum_03 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(4)] + public string RangeMaximum_04 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(5)] + public string RateValueQualifier_05 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(6)] + public string Rate_06 { + get; + set; + } + /// + /// Tariff Reference Flag + /// + [DataMember] + [DataElement("974", typeof(X12_ID_974))] + [Pos(7)] + public string TariffReferenceFlag_07 { + get; + set; + } + /// + /// Special Charge Description + /// + [DataMember] + [StringLength(2, 25)] + [DataElement("276", typeof(X12_AN))] + [Pos(8)] + public string SpecialChargeDescription_08 { + get; + set; + } + } + + /// + /// Measurements + /// + [Serializable()] + [DataContract()] + [Segment("MEA")] + public class MEA { + + /// + /// Measurement Reference ID Code + /// + [DataMember] + [DataElement("737", typeof(X12_ID_737))] + [Pos(1)] + public string MeasurementReferenceIDCode_01 { + get; + set; + } + /// + /// Measurement Qualifier + /// + [DataMember] + [DataElement("738", typeof(X12_ID_738))] + [Pos(2)] + public string MeasurementQualifier_02 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(3)] + public string MeasurementValue_03 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(4)] + public C001 CompositeUnitofMeasure_04 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(5)] + public string RangeMinimum_05 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(6)] + public string RangeMaximum_06 { + get; + set; + } + /// + /// Measurement Significance Code + /// + [DataMember] + [DataElement("935", typeof(X12_ID_935))] + [Pos(7)] + public string MeasurementSignificanceCode_07 { + get; + set; + } + /// + /// Measurement Attribute Code + /// + [DataMember] + [DataElement("936", typeof(X12_ID_936))] + [Pos(8)] + public string MeasurementAttributeCode_08 { + get; + set; + } + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(9)] + public string SurfaceLayerPositionCode_09 { + get; + set; + } + /// + /// Measurement Method or Device + /// + [DataMember] + [DataElement("1373", typeof(X12_ID_1373))] + [Pos(10)] + public string MeasurementMethodorDevice_10 { + get; + set; + } + } + + /// + /// Media Information + /// + [Serializable()] + [DataContract()] + [Segment("MI")] + public class MI { + + /// + /// Media Type Identifier + /// + [DataMember] + [Required] + [DataElement("1393", typeof(X12_ID_1393))] + [Pos(1)] + public string MediaTypeIdentifier_01 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(2)] + public string Amount_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + } + + /// + /// Mileage Source + /// + [Serializable()] + [DataContract()] + [Segment("MI1")] + public class MI1 { + + /// + /// Source Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("1661", typeof(X12_AN))] + [Pos(1)] + public string SourceCode_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(3)] + public string Number_03 { + get; + set; + } + } + + /// + /// Medicare Inpatient Adjudication + /// + [Serializable()] + [DataContract()] + [Segment("MIA")] + public class MIA { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(9)] + public string MonetaryAmount_09 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(10)] + public string MonetaryAmount_10 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(11)] + public string MonetaryAmount_11 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(12)] + public string MonetaryAmount_12 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(13)] + public string MonetaryAmount_13 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(14)] + public string MonetaryAmount_14 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(15)] + public string Quantity_15 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(16)] + public string MonetaryAmount_16 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(17)] + public string MonetaryAmount_17 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(18)] + public string MonetaryAmount_18 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(19)] + public string MonetaryAmount_19 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(20)] + public string ReferenceIdentification_20 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(21)] + public string ReferenceIdentification_21 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(22)] + public string ReferenceIdentification_22 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(23)] + public string ReferenceIdentification_23 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(24)] + public string MonetaryAmount_24 { + get; + set; + } + } + + /// + /// Mortgage Insurance Coverage + /// + [Serializable()] + [DataContract()] + [Segment("MIC")] + public class MIC { + + /// + /// Mortgage Insurance Application Type + /// + [DataMember] + [Required] + [DataElement("1097", typeof(X12_ID_1097))] + [Pos(1)] + public string MortgageInsuranceApplicationType_01 { + get; + set; + } + /// + /// Mortgage Insurance Coverage Type Code + /// + [DataMember] + [DataElement("1100", typeof(X12_ID_1100))] + [Pos(2)] + public string MortgageInsuranceCoverageTypeCode_02 { + get; + set; + } + /// + /// Mortgage Insurance Certificate Type Code + /// + [DataMember] + [DataElement("1099", typeof(X12_ID_1099))] + [Pos(3)] + public string MortgageInsuranceCertificateTypeCode_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Premium Rate Pattern Code + /// + [DataMember] + [DataElement("1656", typeof(X12_ID_1656))] + [Pos(5)] + public string PremiumRatePatternCode_05 { + get; + set; + } + /// + /// Mortgage Insurance Duration Code + /// + [DataMember] + [DataElement("1105", typeof(X12_ID_1105))] + [Pos(6)] + public string MortgageInsuranceDurationCode_06 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(7)] + public C001 CompositeUnitofMeasure_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Mortgage Insurance Renewal Option Code + /// + [DataMember] + [DataElement("1102", typeof(X12_ID_1102))] + [Pos(9)] + public string MortgageInsuranceRenewalOptionCode_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + /// + /// Terms Type Code + /// + [DataMember] + [DataElement("336", typeof(X12_ID_336))] + [Pos(11)] + public string TermsTypeCode_11 { + get; + set; + } + /// + /// Mortgage Insurance Premium Type Code + /// + [DataMember] + [DataElement("1098", typeof(X12_ID_1098))] + [Pos(12)] + public string MortgageInsurancePremiumTypeCode_12 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(13)] + public string Amount_13 { + get; + set; + } + /// + /// Premium Source Entity Code + /// + [DataMember] + [DataElement("1657", typeof(X12_ID_1657))] + [Pos(14)] + public string PremiumSourceEntityCode_14 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(15)] + public string YesNoConditionorResponseCode_15 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(16)] + public string ProductServiceID_16 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(17)] + public string YesNoConditionorResponseCode_17 { + get; + set; + } + } + + /// + /// Minimum Detail + /// + [Serializable()] + [DataContract()] + [Segment("MIN")] + public class MIN { + + /// + /// Loading Restriction + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(1)] + public string LoadingRestriction_01 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(2)] + public string LoadingRestriction_02 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(3)] + public string LoadingRestriction_03 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(4)] + public string LoadingRestriction_04 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(5)] + public string LoadingRestriction_05 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(6)] + public string LoadingRestriction_06 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(7)] + public string LoadingRestriction_07 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(8)] + public string LoadingRestriction_08 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(9)] + public string LoadingRestriction_09 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(10)] + public string LoadingRestriction_10 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(11)] + public string LoadingRestriction_11 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(12)] + public string LoadingRestriction_12 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(13)] + public string LoadingRestriction_13 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(14)] + public string LoadingRestriction_14 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(15)] + public string LoadingRestriction_15 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(16)] + public string LoadingRestriction_16 { + get; + set; + } + } + + /// + /// Mortgage Insurance Response + /// + [Serializable()] + [DataContract()] + [Segment("MIR")] + public class MIR { + + /// + /// Mortgage Insurance Application Type + /// + [DataMember] + [Required] + [DataElement("1097", typeof(X12_ID_1097))] + [Pos(1)] + public string MortgageInsuranceApplicationType_01 { + get; + set; + } + /// + /// Underwriting Decision Code + /// + [DataMember] + [Required] + [DataElement("1209", typeof(X12_ID_1209))] + [Pos(2)] + public string UnderwritingDecisionCode_02 { + get; + set; + } + /// + /// Mortgage Insurance Certificate Type Code + /// + [DataMember] + [DataElement("1099", typeof(X12_ID_1099))] + [Pos(3)] + public string MortgageInsuranceCertificateTypeCode_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(6)] + public string Amount_06 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(7)] + public C001 CompositeUnitofMeasure_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(9)] + public string Percent_09 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(10)] + public string Percent_10 { + get; + set; + } + /// + /// Mortgage Insurance Renewal Option Code + /// + [DataMember] + [DataElement("1102", typeof(X12_ID_1102))] + [Pos(11)] + public string MortgageInsuranceRenewalOptionCode_11 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(12)] + public string Date_12 { + get; + set; + } + } + + /// + /// Mortgagee Information Status + /// + [Serializable()] + [DataContract()] + [Segment("MIS")] + public class MIS { + + /// + /// Mortgagee Information Status Code + /// + [DataMember] + [Required] + [DataElement("197", typeof(X12_ID_197))] + [Pos(1)] + public string MortgageeInformationStatusCode_01 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(2)] + public string DateTimeQualifier_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Jurisdiction Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("348", typeof(X12_AN))] + [Pos(5)] + public string JurisdictionCode_05 { + get; + set; + } + } + + /// + /// Message Identification + /// + [Serializable()] + [DataContract()] + [Segment("MIT")] + public class MIT { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Page Width + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("931", typeof(X12_N0))] + [Pos(3)] + public string PageWidth_03 { + get; + set; + } + /// + /// Page Length Lines + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("932", typeof(X12_N0))] + [Pos(4)] + public string PageLengthLines_04 { + get; + set; + } + } + + /// + /// Marks Awarded + /// + [Serializable()] + [DataContract()] + [Segment("MKS")] + public class MKS { + + /// + /// Mark Code Type + /// + [DataMember] + [DataElement("1304", typeof(X12_ID_1304))] + [Pos(1)] + public string MarkCodeType_01 { + get; + set; + } + /// + /// Academic Grade Qualifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1148", typeof(X12_AN))] + [Pos(2)] + public string AcademicGradeQualifier_02 { + get; + set; + } + /// + /// Academic Grade + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1258", typeof(X12_AN))] + [Pos(3)] + public string AcademicGrade_03 { + get; + set; + } + } + + /// + /// Milestone + /// + [Serializable()] + [DataContract()] + [Segment("MLS")] + public class MLS { + + /// + /// Milestone Number Identification + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("1171", typeof(X12_AN))] + [Pos(1)] + public string MilestoneNumberIdentification_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Work Status Code + /// + [DataMember] + [DataElement("1297", typeof(X12_ID_1297))] + [Pos(3)] + public string WorkStatusCode_03 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(4)] + public string ActionCode_04 { + get; + set; + } + } + + /// + /// Mortgage Note Characteristics + /// + [Serializable()] + [DataContract()] + [Segment("MNC")] + public class MNC { + + /// + /// Code Category + /// + [DataMember] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Real Estate Loan Type Code + /// + [DataMember] + [DataElement("1093", typeof(X12_ID_1093))] + [Pos(2)] + public string RealEstateLoanTypeCode_02 { + get; + set; + } + /// + /// Lien Priority Code + /// + [DataMember] + [DataElement("1101", typeof(X12_ID_1101))] + [Pos(3)] + public string LienPriorityCode_03 { + get; + set; + } + /// + /// Loan Payment Type Code + /// + [DataMember] + [DataElement("1085", typeof(X12_ID_1085))] + [Pos(4)] + public string LoanPaymentTypeCode_04 { + get; + set; + } + /// + /// Loan Rate Type Code + /// + [DataMember] + [DataElement("1086", typeof(X12_ID_1086))] + [Pos(5)] + public string LoanRateTypeCode_05 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(6)] + public string FrequencyCode_06 { + get; + set; + } + /// + /// Interest Rate Calculation Method Code + /// + [DataMember] + [DataElement("1626", typeof(X12_ID_1626))] + [Pos(7)] + public string InterestRateCalculationMethodCode_07 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(8)] + public string Number_08 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(9)] + public string Number_09 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("107", typeof(X12_ID_107))] + [Pos(10)] + public string PaymentMethodCode_10 { + get; + set; + } + /// + /// Interest Payment Code + /// + [DataMember] + [DataElement("1265", typeof(X12_ID_1265))] + [Pos(11)] + public string InterestPaymentCode_11 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(12)] + public string ProductServiceIDQualifier_12 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(13)] + public string ProductServiceID_13 { + get; + set; + } + /// + /// Product/Process Characteristic Code + /// + [DataMember] + [DataElement("750", typeof(X12_ID_750))] + [Pos(14)] + public string ProductProcessCharacteristicCode_14 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(15)] + public string ProductDescriptionCode_15 { + get; + set; + } + /// + /// Type of Real Estate Asset Code + /// + [DataMember] + [DataElement("1074", typeof(X12_ID_1074))] + [Pos(16)] + public string TypeofRealEstateAssetCode_16 { + get; + set; + } + /// + /// Real Estate Loan Security Instrument Code + /// + [DataMember] + [DataElement("1076", typeof(X12_ID_1076))] + [Pos(17)] + public string RealEstateLoanSecurityInstrumentCode_17 { + get; + set; + } + } + + /// + /// Medicare Outpatient Adjudication + /// + [Serializable()] + [DataContract()] + [Segment("MOA")] + public class MOA { + + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(1)] + public string Percent_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(9)] + public string MonetaryAmount_09 { + get; + set; + } + } + + /// + /// Military Personnel Information + /// + [Serializable()] + [DataContract()] + [Segment("MPI")] + public class MPI { + + /// + /// Information Status Code + /// + [DataMember] + [Required] + [DataElement("1201", typeof(X12_ID_1201))] + [Pos(1)] + public string InformationStatusCode_01 { + get; + set; + } + /// + /// Employment Status Code + /// + [DataMember] + [Required] + [DataElement("584", typeof(X12_ID_584))] + [Pos(2)] + public string EmploymentStatusCode_02 { + get; + set; + } + /// + /// Government Service Affiliation Code + /// + [DataMember] + [Required] + [DataElement("1595", typeof(X12_ID_1595))] + [Pos(3)] + public string GovernmentServiceAffiliationCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Military Service Rank Code + /// + [DataMember] + [DataElement("1596", typeof(X12_ID_1596))] + [Pos(5)] + public string MilitaryServiceRankCode_05 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(6)] + public string DateTimePeriodFormatQualifier_06 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(7)] + public string DateTimePeriod_07 { + get; + set; + } + } + + /// + /// Mortgage Pool Program + /// + [Serializable()] + [DataContract()] + [Segment("MPP")] + public class MPP { + + /// + /// Code Category + /// + [DataMember] + [Required] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Program Type Code + /// + [DataMember] + [Required] + [DataElement("1193", typeof(X12_ID_1193))] + [Pos(2)] + public string ProgramTypeCode_02 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(3)] + public string DateTimeQualifier_03 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(4)] + public string DateTimePeriodFormatQualifier_04 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(5)] + public string DateTimePeriod_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Accrual Rate Method Code + /// + [DataMember] + [DataElement("1579", typeof(X12_ID_1579))] + [Pos(7)] + public string AccrualRateMethodCode_07 { + get; + set; + } + /// + /// Certification Type Code + /// + [DataMember] + [DataElement("1322", typeof(X12_ID_1322))] + [Pos(8)] + public string CertificationTypeCode_08 { + get; + set; + } + } + + /// + /// Mortgagor Response Characteristics + /// + [Serializable()] + [DataContract()] + [Segment("MRC")] + public class MRC { + + /// + /// Entity Identifier Code + /// + [DataMember] + [Required] + [DataElement("98", typeof(X12_ID_98))] + [Pos(1)] + public string EntityIdentifierCode_01 { + get; + set; + } + /// + /// Mortgagor Response Code + /// + [DataMember] + [Required] + [StringLength(1, 1)] + [DataElement("196", typeof(X12_AN))] + [Pos(2)] + public string MortgagorResponseCode_02 { + get; + set; + } + /// + /// Contact Method Code + /// + [DataMember] + [Required] + [DataElement("1079", typeof(X12_ID_1079))] + [Pos(3)] + public string ContactMethodCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(5)] + public string DateTimePeriod_05 { + get; + set; + } + /// + /// Contact Method Code + /// + [DataMember] + [DataElement("1079", typeof(X12_ID_1079))] + [Pos(6)] + public string ContactMethodCode_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Contact Method Code + /// + [DataMember] + [DataElement("1079", typeof(X12_ID_1079))] + [Pos(8)] + public string ContactMethodCode_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + } + + /// + /// Miscellaneous Services + /// + [Serializable()] + [DataContract()] + [Segment("MS")] + public class MS { + + /// + /// Agency Qualifier Code + /// + [DataMember] + [Required] + [DataElement("559", typeof(X12_ID_559))] + [Pos(1)] + public string AgencyQualifierCode_01 { + get; + set; + } + /// + /// Special Services Code + /// + [DataMember] + [Required] + [DataElement("560", typeof(X12_ID_560))] + [Pos(2)] + public string SpecialServicesCode_02 { + get; + set; + } + /// + /// Charge + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("58", typeof(X12_N2))] + [Pos(3)] + public string Charge_03 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(4)] + public string RateValueQualifier_04 { + get; + set; + } + /// + /// Charge + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("58", typeof(X12_N2))] + [Pos(5)] + public string Charge_05 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(6)] + public string AssignedNumber_06 { + get; + set; + } + } + + /// + /// Equipment, Shipment, or Real Property Location + /// + [Serializable()] + [DataContract()] + [Segment("MS1")] + public class MS1 { + + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(1)] + public string CityName_01 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(2)] + public string StateorProvinceCode_02 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(3)] + public string CountryCode_03 { + get; + set; + } + /// + /// Longitude Code + /// + [DataMember] + [StringLength(7, 7)] + [DataElement("1654", typeof(X12_AN))] + [Pos(4)] + public string LongitudeCode_04 { + get; + set; + } + /// + /// Latitude Code + /// + [DataMember] + [StringLength(7, 7)] + [DataElement("1655", typeof(X12_AN))] + [Pos(5)] + public string LatitudeCode_05 { + get; + set; + } + /// + /// Direction Identifier Code + /// + [DataMember] + [DataElement("1280", typeof(X12_ID_1280))] + [Pos(6)] + public string DirectionIdentifierCode_06 { + get; + set; + } + /// + /// Direction Identifier Code + /// + [DataMember] + [DataElement("1280", typeof(X12_ID_1280))] + [Pos(7)] + public string DirectionIdentifierCode_07 { + get; + set; + } + } + + /// + /// Equipment or Container Owner and Type + /// + [Serializable()] + [DataContract()] + [Segment("MS2")] + public class MS2 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(3)] + public string EquipmentDescriptionCode_03 { + get; + set; + } + /// + /// Equipment Number Check Digit + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("761", typeof(X12_N0))] + [Pos(4)] + public string EquipmenCAumberCheckDigit_04 { + get; + set; + } + } + + /// + /// Interline Information + /// + [Serializable()] + [DataContract()] + [Segment("MS3")] + public class MS3 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Routing Sequence Code + /// + [DataMember] + [Required] + [DataElement("133", typeof(X12_ID_133))] + [Pos(2)] + public string RoutingSequenceCode_02 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(3)] + public string CityName_03 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(4)] + public string TransportationMethodTypeCode_04 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(5)] + public string StateorProvinceCode_05 { + get; + set; + } + } + + /// + /// Shipment or Package Dimensions + /// + [Serializable()] + [DataContract()] + [Segment("MS4")] + public class MS4 { + + /// + /// Measurement Unit Qualifier + /// + [DataMember] + [Required] + [DataElement("90", typeof(X12_ID_90))] + [Pos(1)] + public string MeasurementUnitQualifier_01 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(2)] + public string Length_02 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(3)] + public string Height_03 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(4)] + public string Width_04 { + get; + set; + } + } + + /// + /// Shipment Rates and Charges + /// + [Serializable()] + [DataContract()] + [Segment("MS5")] + public class MS5 { + + /// + /// Declared Value + /// + [DataMember] + [StringLength(2, 12)] + [DataElement("74", typeof(X12_N2))] + [Pos(1)] + public string DeclaredValue_01 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(2)] + public string RateValueQualifier_02 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(3)] + public string FreightRate_03 { + get; + set; + } + /// + /// Declared Value + /// + [DataMember] + [StringLength(2, 12)] + [DataElement("74", typeof(X12_N2))] + [Pos(4)] + public string DeclaredValue_04 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(5)] + public string CurrencyCode_05 { + get; + set; + } + } + + /// + /// Shipment Quantity and Weight + /// + [Serializable()] + [DataContract()] + [Segment("MS6")] + public class MS6 { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(2)] + public string WeightQualifier_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + } + + /// + /// Message Text + /// + [Serializable()] + [DataContract()] + [Segment("MSG")] + public class MSG { + + /// + /// Free-Form Message Text + /// + [DataMember] + [Required] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(1)] + public string FreeFormMessageText_01 { + get; + set; + } + /// + /// Printer Carriage Control Code + /// + [DataMember] + [DataElement("934", typeof(X12_ID_934))] + [Pos(2)] + public string PrinterCarriageControlCode_02 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(3)] + public string Number_03 { + get; + set; + } + } + + /// + /// Material Safety Data Sheet Section Information + /// + [Serializable()] + [DataContract()] + [Segment("MSS")] + public class MSS { + + /// + /// Report Section Name Code + /// + [DataMember] + [DataElement("820", typeof(X12_ID_820))] + [Pos(1)] + public string ReportSectionNameCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(3)] + public string StateorProvinceCode_03 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(4)] + public string CountryCode_04 { + get; + set; + } + /// + /// Change Type Code + /// + [DataMember] + [DataElement("259", typeof(X12_ID_259))] + [Pos(5)] + public string ChangeTypeCode_05 { + get; + set; + } + /// + /// Report Section Number + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("1472", typeof(X12_AN))] + [Pos(6)] + public string ReportSectionNumber_06 { + get; + set; + } + /// + /// Safety Characteristic/Hazard Code + /// + [DataMember] + [DataElement("821", typeof(X12_ID_821))] + [Pos(7)] + public string SafetyCharacteristicHazardCode_07 { + get; + set; + } + } + + /// + /// Text + /// + [Serializable()] + [DataContract()] + [Segment("MTX")] + public class MTX { + + /// + /// Note Reference Code + /// + [DataMember] + [DataElement("363", typeof(X12_ID_363))] + [Pos(1)] + public string NoteReferenceCode_01 { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [StringLength(1, 4096)] + [DataElement("1551", typeof(X12_AN))] + [Pos(2)] + public string MessageText_02 { + get; + set; + } + /// + /// Message Text + /// + [DataMember] + [StringLength(1, 4096)] + [DataElement("1551", typeof(X12_AN))] + [Pos(3)] + public string MessageText_03 { + get; + set; + } + /// + /// Printer Carriage Control Code + /// + [DataMember] + [DataElement("934", typeof(X12_ID_934))] + [Pos(4)] + public string PrinterCarriageControlCode_04 { + get; + set; + } + } + + /// + /// Name + /// + [Serializable()] + [DataContract()] + [Segment("N1")] + public class N1 { + + /// + /// Entity Identifier Code + /// + [DataMember] + [Required] + [DataElement("98", typeof(X12_ID_98))] + [Pos(1)] + public string EntityIdentifierCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(3)] + public string IdentificationCodeQualifier_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Entity Relationship Code + /// + [DataMember] + [DataElement("706", typeof(X12_ID_706))] + [Pos(5)] + public string EntityRelationshipCode_05 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(6)] + public string EntityIdentifierCode_06 { + get; + set; + } + } + + /// + /// Quantity and Description + /// + [Serializable()] + [DataContract()] + [Segment("N10")] + public class N10 { + + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(2)] + public string FreeformDescription_02 { + get; + set; + } + /// + /// Marks and Numbers + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("87", typeof(X12_AN))] + [Pos(3)] + public string MarksandNumbers_03 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [DataElement("23", typeof(X12_ID_23))] + [Pos(4)] + public string CommodityCodeQualifier_04 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(5)] + public string CommodityCode_05 { + get; + set; + } + /// + /// Customs Shipment Value + /// + [DataMember] + [StringLength(2, 8)] + [DataElement("602", typeof(X12_AN))] + [Pos(6)] + public string CustomsShipmentValue_06 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(7)] + public string WeightUnitCode_07 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(8)] + public string Weight_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Manifest Unit Code + /// + [DataMember] + [DataElement("599", typeof(X12_ID_599))] + [Pos(10)] + public string ManifestUnitCode_10 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(11)] + public string CountryCode_11 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(12)] + public string CountryCode_12 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(13)] + public string CurrencyCode_13 { + get; + set; + } + } + + /// + /// Store Number + /// + [Serializable()] + [DataContract()] + [Segment("N11")] + public class N11 { + + /// + /// Store Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("614", typeof(X12_AN))] + [Pos(1)] + public string StoreNumber_01 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(2)] + public string LocationIdentifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + } + + /// + /// Equipment Environment + /// + [Serializable()] + [DataContract()] + [Segment("N12")] + public class N12 { + + /// + /// Fuel Type + /// + [DataMember] + [Required] + [DataElement("829", typeof(X12_ID_829))] + [Pos(1)] + public string FuelType_01 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(2)] + public C001 CompositeUnitofMeasure_02 { + get; + set; + } + } + + /// + /// Additional Name Information + /// + [Serializable()] + [DataContract()] + [Segment("N2")] + public class N2 { + + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(1)] + public string Name_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + } + + /// + /// Address Information + /// + [Serializable()] + [DataContract()] + [Segment("N3")] + public class N3 { + + /// + /// Address Information + /// + [DataMember] + [Required] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(1)] + public string AddressInformation_01 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(2)] + public string AddressInformation_02 { + get; + set; + } + } + + /// + /// Geographic Location + /// + [Serializable()] + [DataContract()] + [Segment("N4")] + public class N4 { + + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(1)] + public string CityName_01 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(2)] + public string StateorProvinceCode_02 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(3)] + public string PostalCode_03 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(4)] + public string CountryCode_04 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(5)] + public string LocationQualifier_05 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(6)] + public string LocationIdentifier_06 { + get; + set; + } + } + + /// + /// Equipment Ordered + /// + [Serializable()] + [DataContract()] + [Segment("N5")] + public class N5 { + + /// + /// Equipment Length + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("567", typeof(X12_N0))] + [Pos(1)] + public string EquipmentLength_01 { + get; + set; + } + /// + /// Weight Capacity + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("233", typeof(X12_N0))] + [Pos(2)] + public string WeightCapacity_02 { + get; + set; + } + /// + /// Cubic Capacity + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("203", typeof(X12_N0))] + [Pos(3)] + public string CubicCapacity_03 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(4)] + public string CarTypeCode_04 { + get; + set; + } + /// + /// Metric Qualifier + /// + [DataMember] + [DataElement("216", typeof(X12_ID_216))] + [Pos(5)] + public string MetricQualifier_05 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(6)] + public string Height_06 { + get; + set; + } + /// + /// Lading Percentage + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("643", typeof(X12_N2))] + [Pos(7)] + public string LadingPercentage_07 { + get; + set; + } + /// + /// Lading Percent Qualifier + /// + [DataMember] + [DataElement("644", typeof(X12_ID_644))] + [Pos(8)] + public string LadingPercentQualifier_08 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(9)] + public string EquipmentDescriptionCode_09 { + get; + set; + } + } + + /// + /// Equipment Details + /// + [Serializable()] + [DataContract()] + [Segment("N7")] + public class N7 { + + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(4)] + public string WeightQualifier_04 { + get; + set; + } + /// + /// Tare Weight + /// + [DataMember] + [StringLength(3, 8)] + [DataElement("167", typeof(X12_N0))] + [Pos(5)] + public string TareWeight_05 { + get; + set; + } + /// + /// Weight Allowance + /// + [DataMember] + [StringLength(2, 6)] + [DataElement("232", typeof(X12_N0))] + [Pos(6)] + public string WeightAllowance_06 { + get; + set; + } + /// + /// Dunnage + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("205", typeof(X12_N0))] + [Pos(7)] + public string Dunnage_07 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(8)] + public string Volume_08 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(9)] + public string VolumeUnitQualifier_09 { + get; + set; + } + /// + /// Ownership Code + /// + [DataMember] + [DataElement("102", typeof(X12_ID_102))] + [Pos(10)] + public string OwnershipCode_10 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(11)] + public string EquipmentDescriptionCode_11 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(12)] + public string StandardCarrierAlphaCode_12 { + get; + set; + } + /// + /// Temperature Control + /// + [DataMember] + [StringLength(3, 6)] + [DataElement("319", typeof(X12_AN))] + [Pos(13)] + public string TemperatureControl_13 { + get; + set; + } + /// + /// Position + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("219", typeof(X12_AN))] + [Pos(14)] + public string Position_14 { + get; + set; + } + /// + /// Equipment Length + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("567", typeof(X12_N0))] + [Pos(15)] + public string EquipmentLength_15 { + get; + set; + } + /// + /// Tare Qualifier Code + /// + [DataMember] + [DataElement("571", typeof(X12_ID_571))] + [Pos(16)] + public string TareQualifierCode_16 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(17)] + public string WeightUnitCode_17 { + get; + set; + } + /// + /// Equipment Number Check Digit + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("761", typeof(X12_N0))] + [Pos(18)] + public string EquipmenCAumberCheckDigit_18 { + get; + set; + } + /// + /// Type of Service Code + /// + [DataMember] + [DataElement("56", typeof(X12_ID_56))] + [Pos(19)] + public string TypeofServiceCode_19 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(20)] + public string Height_20 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(21)] + public string Width_21 { + get; + set; + } + /// + /// Equipment Type + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("24", typeof(X12_AN))] + [Pos(22)] + public string EquipmentType_22 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(23)] + public string StandardCarrierAlphaCode_23 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(24)] + public string CarTypeCode_24 { + get; + set; + } + } + + /// + /// Accessorial Equipment Details + /// + [Serializable()] + [DataContract()] + [Segment("N7A")] + public class N7A { + + /// + /// Load or Device Code + /// + [DataMember] + [DataElement("1042", typeof(X12_ID_1042))] + [Pos(1)] + public string LoadorDeviceCode_01 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(2)] + public string Length_02 { + get; + set; + } + /// + /// Diameter + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1043", typeof(X12_R))] + [Pos(3)] + public string Diameter_03 { + get; + set; + } + /// + /// Hose Type Code + /// + [DataMember] + [DataElement("1044", typeof(X12_ID_1044))] + [Pos(4)] + public string HoseTypeCode_04 { + get; + set; + } + /// + /// Diameter + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1043", typeof(X12_R))] + [Pos(5)] + public string Diameter_05 { + get; + set; + } + /// + /// Diameter + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1043", typeof(X12_R))] + [Pos(6)] + public string Diameter_06 { + get; + set; + } + /// + /// Inlet or Outlet Material Type Code + /// + [DataMember] + [DataElement("1045", typeof(X12_ID_1045))] + [Pos(7)] + public string InletorOutletMaterialTypeCode_07 { + get; + set; + } + /// + /// Inlet or Outlet Fitting Type Code + /// + [DataMember] + [DataElement("1046", typeof(X12_ID_1046))] + [Pos(8)] + public string InletorOutletFittingTypeCode_08 { + get; + set; + } + /// + /// Miscellaneous Equipment Code + /// + [DataMember] + [DataElement("1047", typeof(X12_ID_1047))] + [Pos(9)] + public string MiscellaneousEquipmentCode_09 { + get; + set; + } + } + + /// + /// Additional Equipment Details + /// + [Serializable()] + [DataContract()] + [Segment("N7B")] + public class N7B { + + /// + /// Number of Tank Compartments + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1024", typeof(X12_N0))] + [Pos(1)] + public string NumberofTankCompartments_01 { + get; + set; + } + /// + /// Loading or Discharge Location Code + /// + [DataMember] + [DataElement("1025", typeof(X12_ID_1025))] + [Pos(2)] + public string LoadingorDischargeLocationCode_02 { + get; + set; + } + /// + /// Vessel Material Code + /// + [DataMember] + [DataElement("1026", typeof(X12_ID_1026))] + [Pos(3)] + public string VesselMaterialCode_03 { + get; + set; + } + /// + /// Gasket Type Code + /// + [DataMember] + [DataElement("1030", typeof(X12_ID_1030))] + [Pos(4)] + public string GasketTypeCode_04 { + get; + set; + } + /// + /// Trailer Lining Type Code + /// + [DataMember] + [DataElement("1031", typeof(X12_ID_1031))] + [Pos(5)] + public string TrailerLiningTypeCode_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + } + + /// + /// Waybill Reference + /// + [Serializable()] + [DataContract()] + [Segment("N8")] + public class N8 { + + /// + /// Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(1)] + public string WaybillNumber_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Cross Reference Type Code + /// + [DataMember] + [DataElement("231", typeof(X12_ID_231))] + [Pos(3)] + public string CrossReferenceTypeCode_03 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(4)] + public string EquipmentInitial_04 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(5)] + public string EquipmenCAumber_05 { + get; + set; + } + /// + /// Waybill Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(6)] + public string WaybillNumber_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(8)] + public string CityName_08 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(9)] + public string StateorProvinceCode_09 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(10)] + public string StandardCarrierAlphaCode_10 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(11)] + public string FreightStationAccountingCode_11 { + get; + set; + } + } + + /// + /// Additional Reference Information + /// + [Serializable()] + [DataContract()] + [Segment("N8A")] + public class N8A { + + /// + /// Waybill Cross-Reference Code + /// + [DataMember] + [DataElement("1378", typeof(X12_ID_1378))] + [Pos(1)] + public string WaybillCrossReferenceCode_01 { + get; + set; + } + /// + /// Waybill Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(2)] + public string WaybillNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(5)] + public string CityName_05 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(6)] + public string StateorProvinceCode_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(8)] + public string FreightStationAccountingCode_08 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(9)] + public string EquipmentInitial_09 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(10)] + public string EquipmenCAumber_10 { + get; + set; + } + } + + /// + /// Reference Identification + /// + [Serializable()] + [DataContract()] + [Segment("N9")] + public class N9 { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(3)] + public string FreeformDescription_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(6)] + public string TimeCode_06 { + get; + set; + } + /// + /// Reference Identifier + /// + [DataMember] + [Pos(7)] + public C040 ReferenceIdentifier_07 { + get; + set; + } + } + + /// + /// Cross-Reference Equipment + /// + [Serializable()] + [DataContract()] + [Segment("NA")] + public class NA { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(3)] + public string EquipmentInitial_03 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(4)] + public string EquipmenCAumber_04 { + get; + set; + } + /// + /// Cross Reference Type Code + /// + [DataMember] + [DataElement("231", typeof(X12_ID_231))] + [Pos(5)] + public string CrossReferenceTypeCode_05 { + get; + set; + } + /// + /// Position + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("219", typeof(X12_AN))] + [Pos(6)] + public string Position_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Equipment Length + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("567", typeof(X12_N0))] + [Pos(8)] + public string EquipmentLength_08 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(9)] + public string StandardCarrierAlphaCode_09 { + get; + set; + } + /// + /// Chassis Type + /// + [DataMember] + [DataElement("845", typeof(X12_ID_845))] + [Pos(10)] + public string ChassisType_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + } + + /// + /// Nonconformance Action + /// + [Serializable()] + [DataContract()] + [Segment("NCA")] + public class NCA { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Nonconformance Resultant Response Code + /// + [DataMember] + [DataElement("887", typeof(X12_ID_887))] + [Pos(2)] + public string NonconformanceResultantResponseCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + } + + /// + /// Nonconformance Description + /// + [Serializable()] + [DataContract()] + [Segment("NCD")] + public class NCD { + + /// + /// Measurement Attribute Code + /// + [DataMember] + [DataElement("936", typeof(X12_ID_936))] + [Pos(1)] + public string MeasurementAttributeCode_01 { + get; + set; + } + /// + /// Nonconformance Determination Code + /// + [DataMember] + [DataElement("888", typeof(X12_ID_888))] + [Pos(2)] + public string NonconformanceDeterminationCode_02 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(3)] + public string AssignedIdentification_03 { + get; + set; + } + /// + /// Product/Process Characteristic Code + /// + [DataMember] + [DataElement("750", typeof(X12_ID_750))] + [Pos(4)] + public string ProductProcessCharacteristicCode_04 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(5)] + public string AgencyQualifierCode_05 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(6)] + public string ProductDescriptionCode_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + } + + /// + /// Individual or Organizational Name + /// + [Serializable()] + [DataContract()] + [Segment("NM1")] + public class NM1 { + + /// + /// Entity Identifier Code + /// + [DataMember] + [Required] + [DataElement("98", typeof(X12_ID_98))] + [Pos(1)] + public string EntityIdentifierCode_01 { + get; + set; + } + /// + /// Entity Type Qualifier + /// + [DataMember] + [Required] + [DataElement("1065", typeof(X12_ID_1065))] + [Pos(2)] + public string EntityTypeQualifier_02 { + get; + set; + } + /// + /// Name Last or Organization Name + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1035", typeof(X12_AN))] + [Pos(3)] + public string NameLastorOrganizationName_03 { + get; + set; + } + /// + /// Name First + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("1036", typeof(X12_AN))] + [Pos(4)] + public string NameFirst_04 { + get; + set; + } + /// + /// Name Middle + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("1037", typeof(X12_AN))] + [Pos(5)] + public string NameMiddle_05 { + get; + set; + } + /// + /// Name Prefix + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("1038", typeof(X12_AN))] + [Pos(6)] + public string NamePrefix_06 { + get; + set; + } + /// + /// Name Suffix + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("1039", typeof(X12_AN))] + [Pos(7)] + public string NameSuffix_07 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(8)] + public string IdentificationCodeQualifier_08 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(9)] + public string IdentificationCode_09 { + get; + set; + } + /// + /// Entity Relationship Code + /// + [DataMember] + [DataElement("706", typeof(X12_ID_706))] + [Pos(10)] + public string EntityRelationshipCode_10 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(11)] + public string EntityIdentifierCode_11 { + get; + set; + } + } + + /// + /// Note/Special Instruction + /// + [Serializable()] + [DataContract()] + [Segment("NTE")] + public class NTE { + + /// + /// Note Reference Code + /// + [DataMember] + [DataElement("363", typeof(X12_ID_363))] + [Pos(1)] + public string NoteReferenceCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + } + + /// + /// Property or Entity Identification + /// + [Serializable()] + [DataContract()] + [Segment("NX1")] + public class NX1 { + + /// + /// Entity Identifier Code + /// + [DataMember] + [Required] + [DataElement("98", typeof(X12_ID_98))] + [Pos(1)] + public string EntityIdentifierCode_01 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(2)] + public string EntityIdentifierCode_02 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(3)] + public string EntityIdentifierCode_03 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(4)] + public string EntityIdentifierCode_04 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(5)] + public string EntityIdentifierCode_05 { + get; + set; + } + } + + /// + /// Location ID Component + /// + [Serializable()] + [DataContract()] + [Segment("NX2")] + public class NX2 { + + /// + /// Address Component Qualifier + /// + [DataMember] + [Required] + [DataElement("1106", typeof(X12_ID_1106))] + [Pos(1)] + public string AddressComponentQualifier_01 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [Required] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(2)] + public string AddressInformation_02 { + get; + set; + } + /// + /// County Designator + /// + [DataMember] + [StringLength(5, 5)] + [DataElement("1096", typeof(X12_AN))] + [Pos(3)] + public string CountyDesignator_03 { + get; + set; + } + } + + /// + /// Obligation Information + /// + [Serializable()] + [DataContract()] + [Segment("OBI")] + public class OBI { + + /// + /// Obligation Type Code + /// + [DataMember] + [Required] + [DataElement("811", typeof(X12_ID_811))] + [Pos(1)] + public string ObligationTypeCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(5)] + public string FrequencyCode_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + } + + /// + /// Origin and Destination + /// + [Serializable()] + [DataContract()] + [Segment("OD")] + public class OD { + + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(1)] + public string StandardPointLocationCode_01 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [Required] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(2)] + public string StandardPointLocationCode_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(4)] + public string StandardCarrierAlphaCode_04 { + get; + set; + } + } + + /// + /// Other Health Insurance Information + /// + [Serializable()] + [DataContract()] + [Segment("OI")] + public class OI { + + /// + /// Claim Filing Indicator Code + /// + [DataMember] + [DataElement("1032", typeof(X12_ID_1032))] + [Pos(1)] + public string ClaimFilingIndicatorCode_01 { + get; + set; + } + /// + /// Claim Submission Reason Code + /// + [DataMember] + [DataElement("1383", typeof(X12_ID_1383))] + [Pos(2)] + public string ClaimSubmissionReasonCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Patient Signature Source Code + /// + [DataMember] + [DataElement("1351", typeof(X12_ID_1351))] + [Pos(4)] + public string PatientSignatureSourceCode_04 { + get; + set; + } + /// + /// Provider Agreement Code + /// + [DataMember] + [DataElement("1360", typeof(X12_ID_1360))] + [Pos(5)] + public string ProviderAgreementCode_05 { + get; + set; + } + /// + /// Release of Information Code + /// + [DataMember] + [DataElement("1363", typeof(X12_ID_1363))] + [Pos(6)] + public string ReleaseofInformationCode_06 { + get; + set; + } + } + + /// + /// Order Identification Detail + /// + [Serializable()] + [DataContract()] + [Segment("OID")] + public class OID { + + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(2)] + public string PurchaseOrderNumber_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(6)] + public string WeightUnitCode_06 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(7)] + public string Weight_07 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(8)] + public string VolumeUnitQualifier_08 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(9)] + public string Volume_09 { + get; + set; + } + } + + /// + /// Program Subject Area and Eligibility + /// + [Serializable()] + [DataContract()] + [Segment("OPS")] + public class OPS { + + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(1)] + public string IdentificationCodeQualifier_01 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(2)] + public string IdentificationCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Instructional Setting Code + /// + [DataMember] + [DataElement("1132", typeof(X12_ID_1132))] + [Pos(4)] + public string InstructionalSettingCode_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + } + + /// + /// Placement Criteria + /// + [Serializable()] + [DataContract()] + [Segment("OPX")] + public class OPX { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Placement Criteria Code + /// + [DataMember] + [DataElement("1135", typeof(X12_ID_1135))] + [Pos(2)] + public string PlacementCriteriaCode_02 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(3)] + public string StatusReasonCode_03 { + get; + set; + } + } + + /// + /// Order Quantity Sequence + /// + [Serializable()] + [DataContract()] + [Segment("OQS")] + public class OQS { + + /// + /// Sequence Value + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1041", typeof(X12_R))] + [Pos(1)] + public string SequenceValue_01 { + get; + set; + } + /// + /// Quantity Ordered + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(2)] + public string QuantityOrdered_02 { + get; + set; + } + } + + /// + /// Original Transaction Identification + /// + [Serializable()] + [DataContract()] + [Segment("OTI")] + public class OTI { + + /// + /// Application Acknowledgment Code + /// + [DataMember] + [Required] + [DataElement("110", typeof(X12_ID_110))] + [Pos(1)] + public string ApplicationAcknowledgmentCode_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Application Sender's Code + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("142", typeof(X12_AN))] + [Pos(4)] + public string ApplicationSendersCode_04 { + get; + set; + } + /// + /// Application Receiver's Code + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("124", typeof(X12_AN))] + [Pos(5)] + public string ApplicationReceiversCode_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(7)] + public string Time_07 { + get; + set; + } + /// + /// Group Control Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("28", typeof(X12_N0))] + [Pos(8)] + public string GroupControlNumber_08 { + get; + set; + } + /// + /// Transaction Set Control Number + /// + [DataMember] + [StringLength(4, 9)] + [DataElement("329", typeof(X12_AN))] + [Pos(9)] + public string TransactionSetControlNumber_09 { + get; + set; + } + /// + /// Transaction Set Identifier Code + /// + [DataMember] + [DataElement("143", typeof(X12_ID_143))] + [Pos(10)] + public string TransactionSetIdentifierCode_10 { + get; + set; + } + /// + /// Version / Release / Industry Identifier Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("480", typeof(X12_AN))] + [Pos(11)] + public string VersionReleaseIndustryIdentifierCode_11 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(12)] + public string TransactionSetPurposeCode_12 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(13)] + public string TransactionTypeCode_13 { + get; + set; + } + /// + /// Application Type + /// + [DataMember] + [DataElement("346", typeof(X12_ID_346))] + [Pos(14)] + public string ApplicationType_14 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(15)] + public string ActionCode_15 { + get; + set; + } + /// + /// Transaction Handling Code + /// + [DataMember] + [DataElement("305", typeof(X12_ID_305))] + [Pos(16)] + public string TransactionHandlingCode_16 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(17)] + public string StatusReasonCode_17 { + get; + set; + } + } + + /// + /// Pick-up + /// + [Serializable()] + [DataContract()] + [Segment("P1")] + public class P1 { + + /// + /// Pick-up or Delivery Code + /// + [DataMember] + [DataElement("108", typeof(X12_ID_108))] + [Pos(1)] + public string PickuporDeliveryCode_01 { + get; + set; + } + /// + /// Pick-up Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("109", typeof(X12_DT))] + [Pos(2)] + public string PickupDate_02 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [Required] + [DataElement("374", typeof(X12_ID_374))] + [Pos(3)] + public string DateTimeQualifier_03 { + get; + set; + } + /// + /// Pick-up Time + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("111", typeof(X12_TM))] + [Pos(4)] + public string PickupTime_04 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(5)] + public string EquipmentInitial_05 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(6)] + public string EquipmenCAumber_06 { + get; + set; + } + /// + /// Number of Shipments + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("21", typeof(X12_N0))] + [Pos(7)] + public string NumberofShipments_07 { + get; + set; + } + } + + /// + /// Delivery + /// + [Serializable()] + [DataContract()] + [Segment("P2")] + public class P2 { + + /// + /// Pick-up or Delivery Code + /// + [DataMember] + [DataElement("108", typeof(X12_ID_108))] + [Pos(1)] + public string PickuporDeliveryCode_01 { + get; + set; + } + /// + /// Delivery Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("32", typeof(X12_DT))] + [Pos(2)] + public string DeliveryDate_02 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [Required] + [DataElement("374", typeof(X12_ID_374))] + [Pos(3)] + public string DateTimeQualifier_03 { + get; + set; + } + } + + /// + /// U.S. Port Information + /// + [Serializable()] + [DataContract()] + [Segment("P4")] + public class P4 { + + /// + /// Location Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(1)] + public string LocationIdentifier_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(4)] + public string LocationIdentifier_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + } + + /// + /// Port Information + /// + [Serializable()] + [DataContract()] + [Segment("P5")] + public class P5 { + + /// + /// Port or Terminal Function Code + /// + [DataMember] + [Required] + [DataElement("115", typeof(X12_ID_115))] + [Pos(1)] + public string PortorTerminalFunctionCode_01 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [Required] + [DataElement("309", typeof(X12_ID_309))] + [Pos(2)] + public string LocationQualifier_02 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(3)] + public string LocationIdentifier_03 { + get; + set; + } + } + + /// + /// Product Adjustment Detail + /// + [Serializable()] + [DataContract()] + [Segment("PAD")] + public class PAD { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Product Transfer Type Code + /// + [DataMember] + [DataElement("521", typeof(X12_ID_521))] + [Pos(2)] + public string ProductTransferTypeCode_02 { + get; + set; + } + /// + /// Change or Response Type Code + /// + [DataMember] + [DataElement("670", typeof(X12_ID_670))] + [Pos(3)] + public string ChangeorResponseTypeCode_03 { + get; + set; + } + /// + /// Price Multiplier Qualifier + /// + [DataMember] + [DataElement("648", typeof(X12_ID_648))] + [Pos(4)] + public string PriceMultiplierQualifier_04 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(5)] + public string Multiplier_05 { + get; + set; + } + } + + /// + /// Print Advertisement Information + /// + [Serializable()] + [DataContract()] + [Segment("PAI")] + public class PAI { + + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(2)] + public string MeasurementValue_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + } + + /// + /// Pallet Information + /// + [Serializable()] + [DataContract()] + [Segment("PAL")] + public class PAL { + + /// + /// Pallet Type Code + /// + [DataMember] + [DataElement("883", typeof(X12_ID_883))] + [Pos(1)] + public string PalletTypeCode_01 { + get; + set; + } + /// + /// Pallet Tiers + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("884", typeof(X12_N0))] + [Pos(2)] + public string PalletTiers_02 { + get; + set; + } + /// + /// Pallet Blocks + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("885", typeof(X12_N0))] + [Pos(3)] + public string PalletBlocks_03 { + get; + set; + } + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(4)] + public string Pack_04 { + get; + set; + } + /// + /// Unit Weight + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("395", typeof(X12_R))] + [Pos(5)] + public string UnitWeight_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(7)] + public string Length_07 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(8)] + public string Width_08 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(9)] + public string Height_09 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(10)] + public string UnitorBasisforMeasurementCode_10 { + get; + set; + } + /// + /// Gross Weight per Pack + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("384", typeof(X12_R))] + [Pos(11)] + public string GrossWeightperPack_11 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(12)] + public string UnitorBasisforMeasurementCode_12 { + get; + set; + } + /// + /// Gross Volume per Pack + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("385", typeof(X12_R))] + [Pos(13)] + public string GrossVolumeperPack_13 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(14)] + public string UnitorBasisforMeasurementCode_14 { + get; + set; + } + /// + /// Pallet Exchange Code + /// + [DataMember] + [DataElement("399", typeof(X12_ID_399))] + [Pos(15)] + public string PalletExchangeCode_15 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(16)] + public string InnerPack_16 { + get; + set; + } + } + + /// + /// Period Amount + /// + [Serializable()] + [DataContract()] + [Segment("PAM")] + public class PAM { + + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(1)] + public string QuantityQualifier_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(4)] + public string AmountQualifierCode_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(6)] + public string UnitofTimePeriodorInterval_06 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(7)] + public string DateTimeQualifier_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(9)] + public string Time_09 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(10)] + public string DateTimeQualifier_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(12)] + public string Time_12 { + get; + set; + } + /// + /// Percent Qualifier + /// + [DataMember] + [DataElement("1004", typeof(X12_ID_1004))] + [Pos(13)] + public string PercentQualifier_13 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(14)] + public string Percent_14 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(15)] + public string YesNoConditionorResponseCode_15 { + get; + set; + } + } + + /// + /// Property Appraisal Summary + /// + [Serializable()] + [DataContract()] + [Segment("PAS")] + public class PAS { + + /// + /// Property Value Estimate Type Code + /// + [DataMember] + [Required] + [DataElement("1077", typeof(X12_ID_1077))] + [Pos(1)] + public string PropertyValueEstimateTypeCode_01 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(2)] + public string AmountQualifierCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Improvement Status Code + /// + [DataMember] + [DataElement("1090", typeof(X12_ID_1090))] + [Pos(6)] + public string ImprovementStatusCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + } + + /// + /// Patient Information + /// + [Serializable()] + [DataContract()] + [Segment("PAT")] + public class PAT { + + /// + /// Individual Relationship Code + /// + [DataMember] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(1)] + public string IndividualRelationshipCode_01 { + get; + set; + } + /// + /// Patient Location Code + /// + [DataMember] + [DataElement("1384", typeof(X12_ID_1384))] + [Pos(2)] + public string PatientLocationCode_02 { + get; + set; + } + /// + /// Employment Status Code + /// + [DataMember] + [DataElement("584", typeof(X12_ID_584))] + [Pos(3)] + public string EmploymentStatusCode_03 { + get; + set; + } + /// + /// Student Status Code + /// + [DataMember] + [DataElement("1220", typeof(X12_ID_1220))] + [Pos(4)] + public string StudentStatusCode_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(8)] + public string Weight_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + } + + /// + /// Adjustable Payment Description + /// + [Serializable()] + [DataContract()] + [Segment("PAY")] + public class PAY { + + /// + /// Payment Adjustment Code + /// + [DataMember] + [Required] + [DataElement("1374", typeof(X12_ID_1374))] + [Pos(1)] + public string PaymentAdjustmentCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(3)] + public string Percent_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(7)] + public C001 CompositeUnitofMeasure_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(9)] + public C001 CompositeUnitofMeasure_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(11)] + public string Percent_11 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(12)] + public string Percent_12 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(13)] + public string MonetaryAmount_13 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(14)] + public string YesNoConditionorResponseCode_14 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(15)] + public string Quantity_15 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(16)] + public string Percent_16 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(17)] + public string MonetaryAmount_17 { + get; + set; + } + /// + /// Negative Amortization Qualifier + /// + [DataMember] + [DataElement("1087", typeof(X12_ID_1087))] + [Pos(18)] + public string NegativeAmortizationQualifier_18 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(19)] + public string Percent_19 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(20)] + public string MonetaryAmount_20 { + get; + set; + } + /// + /// Negative Amortization Cap Source Code + /// + [DataMember] + [DataElement("1092", typeof(X12_ID_1092))] + [Pos(21)] + public string NegativeAmortizationCapSourceCode_21 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(22)] + public string YesNoConditionorResponseCode_22 { + get; + set; + } + } + + /// + /// Problem Identification + /// + [Serializable()] + [DataContract()] + [Segment("PBI")] + public class PBI { + + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(2)] + public string ActionCode_02 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(3)] + public string FreeFormMessageText_03 { + get; + set; + } + /// + /// Tax Information Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("817", typeof(X12_AN))] + [Pos(4)] + public string TaxInformationIdentificationNumber_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Fixed Format Information + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("449", typeof(X12_AN))] + [Pos(6)] + public string FixedFormatInformation_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Fixed Format Information + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("449", typeof(X12_AN))] + [Pos(8)] + public string FixedFormatInformation_08 { + get; + set; + } + } + + /// + /// Previous College + /// + [Serializable()] + [DataContract()] + [Segment("PCL")] + public class PCL { + + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(1)] + public string IdentificationCodeQualifier_01 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(2)] + public string IdentificationCode_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Academic Degree Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("1126", typeof(X12_AN))] + [Pos(5)] + public string AcademicDegreeCode_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + } + + /// + /// Payment Cancellation Request + /// + [Serializable()] + [DataContract()] + [Segment("PCR")] + public class PCR { + + /// + /// Payment Cancellation Type + /// + [DataMember] + [Required] + [DataElement("959", typeof(X12_ID_959))] + [Pos(1)] + public string PaymentCancellationType_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + } + + /// + /// Product Claim Status + /// + [Serializable()] + [DataContract()] + [Segment("PCS")] + public class PCS { + + /// + /// Claim Status Code + /// + [DataMember] + [DataElement("1029", typeof(X12_ID_1029))] + [Pos(1)] + public string ClaimStatusCode_01 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(2)] + public string AgencyQualifierCode_02 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(3)] + public string SourceSubqualifier_03 { + get; + set; + } + /// + /// Claim Response Reason Code + /// + [DataMember] + [DataElement("1172", typeof(X12_ID_1172))] + [Pos(4)] + public string ClaimResponseReasonCode_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Follow-up Action Code + /// + [DataMember] + [DataElement("889", typeof(X12_ID_889))] + [Pos(6)] + public string FollowupActionCode_06 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(7)] + public string AgencyQualifierCode_07 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(8)] + public string SourceSubqualifier_08 { + get; + set; + } + /// + /// Disposition Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("1225", typeof(X12_AN))] + [Pos(9)] + public string DispositionCode_09 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(10)] + public string Description_10 { + get; + set; + } + /// + /// Authorization Identification + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("553", typeof(X12_AN))] + [Pos(11)] + public string AuthorizationIdentification_11 { + get; + set; + } + } + + /// + /// Percent Amounts + /// + [Serializable()] + [DataContract()] + [Segment("PCT")] + public class PCT { + + /// + /// Percent Qualifier + /// + [DataMember] + [Required] + [DataElement("1004", typeof(X12_ID_1004))] + [Pos(1)] + public string PercentQualifier_01 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(2)] + public string Percent_02 { + get; + set; + } + } + + /// + /// Pricing Data + /// + [Serializable()] + [DataContract()] + [Segment("PD")] + public class PD { + + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [Required] + [DataElement("344", typeof(X12_ID_344))] + [Pos(1)] + public string UnitofTimePeriodorInterval_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(5)] + public string Name_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + /// + /// Breakdown Structure Detail Code + /// + [DataMember] + [DataElement("1196", typeof(X12_ID_1196))] + [Pos(7)] + public string BreakdownStructureDetailCode_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + /// + /// Proposal Data Detail Identifier Code + /// + [DataMember] + [DataElement("1401", typeof(X12_ID_1401))] + [Pos(10)] + public string ProposalDataDetailIdentifierCode_10 { + get; + set; + } + } + + /// + /// Pricing Data Detail + /// + [Serializable()] + [DataContract()] + [Segment("PDD")] + public class PDD { + + /// + /// Assigned Identification + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Proposal Data Detail Identifier Code + /// + [DataMember] + [DataElement("1401", typeof(X12_ID_1401))] + [Pos(5)] + public string ProposalDataDetailIdentifierCode_05 { + get; + set; + } + } + + /// + /// Property Metes and Bounds Description + /// + [Serializable()] + [DataContract()] + [Segment("PDE")] + public class PDE { + + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(1)] + public string FreeFormMessageText_01 { + get; + set; + } + /// + /// Direction Identifier Code + /// + [DataMember] + [DataElement("1280", typeof(X12_ID_1280))] + [Pos(2)] + public string DirectionIdentifierCode_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(4)] + public string MeasurementValue_04 { + get; + set; + } + } + + /// + /// Payment Details + /// + [Serializable()] + [DataContract()] + [Segment("PDL")] + public class PDL { + + /// + /// Payment Method Code + /// + [DataMember] + [Required] + [DataElement("591", typeof(X12_ID_591))] + [Pos(1)] + public string PaymentMethodCode_01 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(2)] + public string AmountQualifierCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [DataElement("478", typeof(X12_ID_478))] + [Pos(5)] + public string CreditDebitFlagCode_05 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(6)] + public string FrequencyCode_06 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [DataElement("506", typeof(X12_ID_506))] + [Pos(7)] + public string DFIIDNumberQualifier_07 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(8)] + public string DFIIdentificationNumber_08 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(9)] + public string AccounCAumberQualifier_09 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(10)] + public string AccounCAumber_10 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(11)] + public string DateTimePeriodFormatQualifier_11 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(12)] + public string DateTimePeriod_12 { + get; + set; + } + } + + /// + /// Property Description - Personal + /// + [Serializable()] + [DataContract()] + [Segment("PDP")] + public class PDP { + + /// + /// Type of Personal or Business Asset Code + /// + [DataMember] + [Required] + [DataElement("1188", typeof(X12_ID_1188))] + [Pos(1)] + public string TypeofPersonalorBusinessAssetCode_01 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [DataElement("23", typeof(X12_ID_23))] + [Pos(2)] + public string CommodityCodeQualifier_02 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(3)] + public string CommodityCode_03 { + get; + set; + } + } + + /// + /// Property Description - Real + /// + [Serializable()] + [DataContract()] + [Segment("PDR")] + public class PDR { + + /// + /// Type of Real Estate Asset Code + /// + [DataMember] + [Required] + [DataElement("1074", typeof(X12_ID_1074))] + [Pos(1)] + public string TypeofRealEstateAssetCode_01 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(2)] + public string CodeListQualifierCode_02 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(3)] + public string IndustryCode_03 { + get; + set; + } + /// + /// Occupancy Code + /// + [DataMember] + [DataElement("689", typeof(X12_ID_689))] + [Pos(4)] + public string OccupancyCode_04 { + get; + set; + } + } + + /// + /// Property Description/Legal Description + /// + [Serializable()] + [DataContract()] + [Segment("PDS")] + public class PDS { + + /// + /// Property Description Qualifier + /// + [DataMember] + [Required] + [DataElement("1496", typeof(X12_ID_1496))] + [Pos(1)] + public string PropertyDescriptionQualifier_01 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(2)] + public string FreeFormMessageText_02 { + get; + set; + } + /// + /// Reference Identifier + /// + [DataMember] + [Pos(3)] + public C040 ReferenceIdentifier_03 { + get; + set; + } + } + + /// + /// Pension Information + /// + [Serializable()] + [DataContract()] + [Segment("PEN")] + public class PEN { + + /// + /// Transaction Type Code + /// + [DataMember] + [Required] + [DataElement("640", typeof(X12_ID_640))] + [Pos(1)] + public string TransactionTypeCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Contribution Code + /// + [DataMember] + [DataElement("1224", typeof(X12_ID_1224))] + [Pos(3)] + public string ContributionCode_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Special Processing Type + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1296", typeof(X12_AN))] + [Pos(5)] + public string SpecialProcessingType_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + /// + /// Loan Type Code + /// + [DataMember] + [DataElement("1262", typeof(X12_ID_1262))] + [Pos(8)] + public string LoanTypeCode_08 { + get; + set; + } + /// + /// Maintenance Type Code + /// + [DataMember] + [DataElement("875", typeof(X12_ID_875))] + [Pos(9)] + public string MaintenanceTypeCode_09 { + get; + set; + } + } + + /// + /// Administrative Communications Contact + /// + [Serializable()] + [DataContract()] + [Segment("PER")] + public class PER { + + /// + /// Contact Function Code + /// + [DataMember] + [Required] + [DataElement("366", typeof(X12_ID_366))] + [Pos(1)] + public string ContactFunctionCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Communication Number Qualifier + /// + [DataMember] + [DataElement("365", typeof(X12_ID_365))] + [Pos(3)] + public string CommunicationNumberQualifier_03 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(4)] + public string CommunicationNumber_04 { + get; + set; + } + /// + /// Communication Number Qualifier + /// + [DataMember] + [DataElement("365", typeof(X12_ID_365))] + [Pos(5)] + public string CommunicationNumberQualifier_05 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(6)] + public string CommunicationNumber_06 { + get; + set; + } + /// + /// Communication Number Qualifier + /// + [DataMember] + [DataElement("365", typeof(X12_ID_365))] + [Pos(7)] + public string CommunicationNumberQualifier_07 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(8)] + public string CommunicationNumber_08 { + get; + set; + } + /// + /// Contact Inquiry Reference + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("443", typeof(X12_AN))] + [Pos(9)] + public string ContactInquiryReference_09 { + get; + set; + } + } + + /// + /// Property or Housing Expense + /// + [Serializable()] + [DataContract()] + [Segment("PEX")] + public class PEX { + + /// + /// General Expense Qualifier + /// + [DataMember] + [Required] + [DataElement("1071", typeof(X12_ID_1071))] + [Pos(1)] + public string GeneralExpenseQualifier_01 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(2)] + public string RateValueQualifier_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Tax Type Code + /// + [DataMember] + [DataElement("963", typeof(X12_ID_963))] + [Pos(4)] + public string TaxTypeCode_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(6)] + public string EntityIdentifierCode_06 { + get; + set; + } + /// + /// Tax Exempt Code + /// + [DataMember] + [DataElement("441", typeof(X12_ID_441))] + [Pos(7)] + public string TaxExemptCode_07 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(8)] + public C001 CompositeUnitofMeasure_08 { + get; + set; + } + } + + /// + /// Price Authority Identification + /// + [Serializable()] + [DataContract()] + [Segment("PI")] + public class PI { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Primary Publication Authority Code + /// + [DataMember] + [DataElement("436", typeof(X12_ID_436))] + [Pos(3)] + public string PrimaryPublicationAuthorityCode_03 { + get; + set; + } + /// + /// Regulatory Agency Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("930", typeof(X12_AN))] + [Pos(4)] + public string RegulatoryAgencyCode_04 { + get; + set; + } + /// + /// Tariff Agency Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("168", typeof(X12_AN))] + [Pos(5)] + public string TariffAgencyCode_05 { + get; + set; + } + /// + /// Issuing Carrier Identifier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("965", typeof(X12_AN))] + [Pos(6)] + public string IssuingCarrierIdentifier_06 { + get; + set; + } + /// + /// Contract Suffix + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("660", typeof(X12_AN))] + [Pos(7)] + public string ContractSuffix_07 { + get; + set; + } + /// + /// Tariff Item Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("169", typeof(X12_AN))] + [Pos(8)] + public string TariffItemNumber_08 { + get; + set; + } + /// + /// Tariff Supplement Identifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("173", typeof(X12_AN))] + [Pos(9)] + public string TariffSupplementIdentifier_09 { + get; + set; + } + /// + /// Tariff Section + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("172", typeof(X12_AN))] + [Pos(10)] + public string TariffSection_10 { + get; + set; + } + /// + /// Contract Suffix + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("660", typeof(X12_AN))] + [Pos(11)] + public string ContractSuffix_11 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(12)] + public string Date_12 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(13)] + public string Date_13 { + get; + set; + } + /// + /// Alternation Precedence Code + /// + [DataMember] + [DataElement("629", typeof(X12_ID_629))] + [Pos(14)] + public string AlternationPrecedenceCode_14 { + get; + set; + } + /// + /// Alternation Precedence Code + /// + [DataMember] + [DataElement("629", typeof(X12_ID_629))] + [Pos(15)] + public string AlternationPrecedenceCode_15 { + get; + set; + } + } + + /// + /// Product/Item Description + /// + [Serializable()] + [DataContract()] + [Segment("PID")] + public class PID { + + /// + /// Item Description Type + /// + [DataMember] + [Required] + [DataElement("349", typeof(X12_ID_349))] + [Pos(1)] + public string ItemDescriptionType_01 { + get; + set; + } + /// + /// Product/Process Characteristic Code + /// + [DataMember] + [DataElement("750", typeof(X12_ID_750))] + [Pos(2)] + public string ProductProcessCharacteristicCode_02 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(3)] + public string AgencyQualifierCode_03 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(4)] + public string ProductDescriptionCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(6)] + public string SurfaceLayerPositionCode_06 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(7)] + public string SourceSubqualifier_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Language Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("819", typeof(X12_AN))] + [Pos(9)] + public string LanguageCode_09 { + get; + set; + } + } + + /// + /// Previous Incident + /// + [Serializable()] + [DataContract()] + [Segment("PIN")] + public class PIN { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(4)] + public string Name_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(7)] + public string IndustryCode_07 { + get; + set; + } + } + + /// + /// Packaging Description + /// + [Serializable()] + [DataContract()] + [Segment("PKD")] + public class PKD { + + /// + /// Packaging Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("103", typeof(X12_AN))] + [Pos(1)] + public string PackagingCode_01 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(2)] + public string SourceSubqualifier_02 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(3)] + public string AgencyQualifierCode_03 { + get; + set; + } + /// + /// Packaging Description Code + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("754", typeof(X12_AN))] + [Pos(4)] + public string PackagingDescriptionCode_04 { + get; + set; + } + /// + /// Ownership Code + /// + [DataMember] + [DataElement("102", typeof(X12_ID_102))] + [Pos(5)] + public string OwnershipCode_05 { + get; + set; + } + } + + /// + /// Marking, Packaging, Loading + /// + [Serializable()] + [DataContract()] + [Segment("PKG")] + public class PKG { + + /// + /// Item Description Type + /// + [DataMember] + [DataElement("349", typeof(X12_ID_349))] + [Pos(1)] + public string ItemDescriptionType_01 { + get; + set; + } + /// + /// Packaging Characteristic Code + /// + [DataMember] + [DataElement("753", typeof(X12_ID_753))] + [Pos(2)] + public string PackagingCharacteristicCode_02 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(3)] + public string AgencyQualifierCode_03 { + get; + set; + } + /// + /// Packaging Description Code + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("754", typeof(X12_AN))] + [Pos(4)] + public string PackagingDescriptionCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Unit Load Option Code + /// + [DataMember] + [DataElement("400", typeof(X12_ID_400))] + [Pos(6)] + public string UnitLoadOptionCode_06 { + get; + set; + } + } + + /// + /// Multi-Pack Configuration + /// + [Serializable()] + [DataContract()] + [Segment("PKL")] + public class PKL { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(5)] + public string Height_05 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(6)] + public string Width_06 { + get; + set; + } + /// + /// Item Depth + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("677", typeof(X12_R))] + [Pos(7)] + public string ItemDepth_07 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(8)] + public string UnitorBasisforMeasurementCode_08 { + get; + set; + } + /// + /// Gross Weight per Pack + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("384", typeof(X12_R))] + [Pos(9)] + public string GrossWeightperPack_09 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(10)] + public string UnitorBasisforMeasurementCode_10 { + get; + set; + } + /// + /// Gross Volume per Pack + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("385", typeof(X12_R))] + [Pos(11)] + public string GrossVolumeperPack_11 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(12)] + public string UnitorBasisforMeasurementCode_12 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(13)] + public string YesNoConditionorResponseCode_13 { + get; + set; + } + } + + /// + /// Proposal Cost Logic + /// + [Serializable()] + [DataContract()] + [Segment("PL")] + public class PL { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(2)] + public C001 CompositeUnitofMeasure_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + /// + /// Calculation Operation Code + /// + [DataMember] + [Required] + [DataElement("1311", typeof(X12_ID_1311))] + [Pos(4)] + public string CalculationOperationCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(6)] + public string Count_06 { + get; + set; + } + } + + /// + /// Place or Location + /// + [Serializable()] + [DataContract()] + [Segment("PLA")] + public class PLA { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [Required] + [DataElement("98", typeof(X12_ID_98))] + [Pos(2)] + public string EntityIdentifierCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// Maintenance Reason Code + /// + [DataMember] + [DataElement("1203", typeof(X12_ID_1203))] + [Pos(5)] + public string MaintenanceReasonCode_05 { + get; + set; + } + } + + /// + /// Provider Level Adjustment + /// + [Serializable()] + [DataContract()] + [Segment("PLB")] + public class PLB { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Adjustment Identifier + /// + [DataMember] + [Required] + [Pos(3)] + public C042 AdjustmentIdentifier_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Adjustment Identifier + /// + [DataMember] + [Pos(5)] + public C042 AdjustmentIdentifier_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Adjustment Identifier + /// + [DataMember] + [Pos(7)] + public C042 AdjustmentIdentifier_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Adjustment Identifier + /// + [DataMember] + [Pos(9)] + public C042 AdjustmentIdentifier_09 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(10)] + public string MonetaryAmount_10 { + get; + set; + } + /// + /// Adjustment Identifier + /// + [DataMember] + [Pos(11)] + public C042 AdjustmentIdentifier_11 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(12)] + public string MonetaryAmount_12 { + get; + set; + } + /// + /// Adjustment Identifier + /// + [DataMember] + [Pos(13)] + public C042 AdjustmentIdentifier_13 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(14)] + public string MonetaryAmount_14 { + get; + set; + } + } + + /// + /// Equipment Placement Information + /// + [Serializable()] + [DataContract()] + [Segment("PLC")] + public class PLC { + + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(1)] + public string Number_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + } + + /// + /// Pallet Information + /// + [Serializable()] + [DataContract()] + [Segment("PLD")] + public class PLD { + + /// + /// Quantity of Pallets Shipped + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("406", typeof(X12_N0))] + [Pos(1)] + public string QuantityofPalletsShipped_01 { + get; + set; + } + /// + /// Pallet Exchange Code + /// + [DataMember] + [DataElement("399", typeof(X12_ID_399))] + [Pos(2)] + public string PalletExchangeCode_02 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(3)] + public string WeightUnitCode_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + } + + /// + /// Previous Loan Information + /// + [Serializable()] + [DataContract()] + [Segment("PLI")] + public class PLI { + + /// + /// Loan Type Code + /// + [DataMember] + [Required] + [DataElement("1262", typeof(X12_ID_1262))] + [Pos(1)] + public string LoanTypeCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(3)] + public string InterestRate_03 { + get; + set; + } + /// + /// Level of Individual, Test, or Course Code + /// + [DataMember] + [DataElement("1131", typeof(X12_ID_1131))] + [Pos(4)] + public string LevelofIndividualTestorCourseCode_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Loan Rate Type Code + /// + [DataMember] + [DataElement("1086", typeof(X12_ID_1086))] + [Pos(9)] + public string LoanRateTypeCode_09 { + get; + set; + } + } + + /// + /// Electronic Funds Transfer Information + /// + [Serializable()] + [DataContract()] + [Segment("PM")] + public class PM { + + /// + /// (DFI) Identification Number + /// + [DataMember] + [Required] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(1)] + public string DFIIdentificationNumber_01 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(2)] + public string AccounCAumber_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(5)] + public string AccounCAumberQualifier_05 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [DataElement("506", typeof(X12_ID_506))] + [Pos(6)] + public string DFIIDNumberQualifier_06 { + get; + set; + } + } + + /// + /// Baseline Item Data + /// + [Serializable()] + [DataContract()] + [Segment("PO1")] + public class PO1 { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Quantity Ordered + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(2)] + public string QuantityOrdered_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(4)] + public string UnitPrice_04 { + get; + set; + } + /// + /// Basis of Unit Price Code + /// + [DataMember] + [DataElement("639", typeof(X12_ID_639))] + [Pos(5)] + public string BasisofUnitPriceCode_05 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(6)] + public string ProductServiceIDQualifier_06 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(7)] + public string ProductServiceID_07 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(8)] + public string ProductServiceIDQualifier_08 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(9)] + public string ProductServiceID_09 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(10)] + public string ProductServiceIDQualifier_10 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(11)] + public string ProductServiceID_11 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(12)] + public string ProductServiceIDQualifier_12 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(13)] + public string ProductServiceID_13 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(14)] + public string ProductServiceIDQualifier_14 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(15)] + public string ProductServiceID_15 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(16)] + public string ProductServiceIDQualifier_16 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(17)] + public string ProductServiceID_17 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(18)] + public string ProductServiceIDQualifier_18 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(19)] + public string ProductServiceID_19 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(20)] + public string ProductServiceIDQualifier_20 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(21)] + public string ProductServiceID_21 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(22)] + public string ProductServiceIDQualifier_22 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(23)] + public string ProductServiceID_23 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(24)] + public string ProductServiceIDQualifier_24 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(25)] + public string ProductServiceID_25 { + get; + set; + } + } + + /// + /// Additional Item Detail + /// + [Serializable()] + [DataContract()] + [Segment("PO3")] + public class PO3 { + + /// + /// Change Reason Code + /// + [DataMember] + [Required] + [DataElement("371", typeof(X12_ID_371))] + [Pos(1)] + public string ChangeReasonCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(3)] + public string PriceIdentifierCode_03 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(4)] + public string UnitPrice_04 { + get; + set; + } + /// + /// Basis of Unit Price Code + /// + [DataMember] + [DataElement("639", typeof(X12_ID_639))] + [Pos(5)] + public string BasisofUnitPriceCode_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(8)] + public string Description_08 { + get; + set; + } + } + + /// + /// Item Physical Details + /// + [Serializable()] + [DataContract()] + [Segment("PO4")] + public class PO4 { + + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(1)] + public string Pack_01 { + get; + set; + } + /// + /// Size + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("357", typeof(X12_R))] + [Pos(2)] + public string Size_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Packaging Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("103", typeof(X12_AN))] + [Pos(4)] + public string PackagingCode_04 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(5)] + public string WeightQualifier_05 { + get; + set; + } + /// + /// Gross Weight per Pack + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("384", typeof(X12_R))] + [Pos(6)] + public string GrossWeightperPack_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Gross Volume per Pack + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("385", typeof(X12_R))] + [Pos(8)] + public string GrossVolumeperPack_08 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(9)] + public string UnitorBasisforMeasurementCode_09 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(10)] + public string Length_10 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(11)] + public string Width_11 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(12)] + public string Height_12 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(13)] + public string UnitorBasisforMeasurementCode_13 { + get; + set; + } + /// + /// Inner Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("810", typeof(X12_N0))] + [Pos(14)] + public string InnerPack_14 { + get; + set; + } + /// + /// Surface/Layer/Position Code + /// + [DataMember] + [DataElement("752", typeof(X12_ID_752))] + [Pos(15)] + public string SurfaceLayerPositionCode_15 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(16)] + public string AssignedIdentification_16 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(17)] + public string AssignedIdentification_17 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(18)] + public string Number_18 { + get; + set; + } + } + + /// + /// Line Item Change + /// + [Serializable()] + [DataContract()] + [Segment("POC")] + public class POC { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Change or Response Type Code + /// + [DataMember] + [Required] + [DataElement("670", typeof(X12_ID_670))] + [Pos(2)] + public string ChangeorResponseTypeCode_02 { + get; + set; + } + /// + /// Quantity Ordered + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(3)] + public string QuantityOrdered_03 { + get; + set; + } + /// + /// Quantity Left to Receive + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("671", typeof(X12_R))] + [Pos(4)] + public string QuantityLefttoReceive_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(6)] + public string UnitPrice_06 { + get; + set; + } + /// + /// Basis of Unit Price Code + /// + [DataMember] + [DataElement("639", typeof(X12_ID_639))] + [Pos(7)] + public string BasisofUnitPriceCode_07 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(8)] + public string ProductServiceIDQualifier_08 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(9)] + public string ProductServiceID_09 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(10)] + public string ProductServiceIDQualifier_10 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(11)] + public string ProductServiceID_11 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(12)] + public string ProductServiceIDQualifier_12 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(13)] + public string ProductServiceID_13 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(14)] + public string ProductServiceIDQualifier_14 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(15)] + public string ProductServiceID_15 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(16)] + public string ProductServiceIDQualifier_16 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(17)] + public string ProductServiceID_17 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(18)] + public string ProductServiceIDQualifier_18 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(19)] + public string ProductServiceID_19 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(20)] + public string ProductServiceIDQualifier_20 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(21)] + public string ProductServiceID_21 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(22)] + public string ProductServiceIDQualifier_22 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(23)] + public string ProductServiceID_23 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(24)] + public string ProductServiceIDQualifier_24 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(25)] + public string ProductServiceID_25 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(26)] + public string ProductServiceIDQualifier_26 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(27)] + public string ProductServiceID_27 { + get; + set; + } + } + + /// + /// Proof of Delivery + /// + [Serializable()] + [DataContract()] + [Segment("POD")] + public class POD { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(2)] + public string Time_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + } + + /// + /// Property Location + /// + [Serializable()] + [DataContract()] + [Segment("PPA")] + public class PPA { + + /// + /// Location Qualifier + /// + [DataMember] + [Required] + [DataElement("309", typeof(X12_ID_309))] + [Pos(1)] + public string LocationQualifier_01 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(2)] + public string LocationIdentifier_02 { + get; + set; + } + /// + /// Longitude Code + /// + [DataMember] + [StringLength(7, 7)] + [DataElement("1654", typeof(X12_AN))] + [Pos(3)] + public string LongitudeCode_03 { + get; + set; + } + /// + /// Direction Identifier Code + /// + [DataMember] + [DataElement("1280", typeof(X12_ID_1280))] + [Pos(4)] + public string DirectionIdentifierCode_04 { + get; + set; + } + /// + /// Latitude Code + /// + [DataMember] + [StringLength(7, 7)] + [DataElement("1655", typeof(X12_AN))] + [Pos(5)] + public string LatitudeCode_05 { + get; + set; + } + /// + /// Direction Identifier Code + /// + [DataMember] + [DataElement("1280", typeof(X12_ID_1280))] + [Pos(6)] + public string DirectionIdentifierCode_06 { + get; + set; + } + } + + /// + /// Payment Pattern Details + /// + [Serializable()] + [DataContract()] + [Segment("PPD")] + public class PPD { + + /// + /// Payment Pattern + /// + [DataMember] + [StringLength(1, 84)] + [DataElement("12", typeof(X12_AN))] + [Pos(1)] + public string PaymentPattern_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Rating Code + /// + [DataMember] + [DataElement("263", typeof(X12_ID_263))] + [Pos(6)] + public string RatingCode_06 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(7)] + public string DateTimePeriod_07 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(8)] + public string Number_08 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(9)] + public string Number_09 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(10)] + public string Number_10 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(11)] + public string Number_11 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(12)] + public string Number_12 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(13)] + public string Number_13 { + get; + set; + } + } + + /// + /// Price Support Data + /// + [Serializable()] + [DataContract()] + [Segment("PPL")] + public class PPL { + + /// + /// Acquisition Data Code + /// + [DataMember] + [DataElement("1309", typeof(X12_ID_1309))] + [Pos(1)] + public string AcquisitionDataCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Proposal Data Detail Identifier Code + /// + [DataMember] + [DataElement("1401", typeof(X12_ID_1401))] + [Pos(5)] + public string ProposalDataDetailIdentifierCode_05 { + get; + set; + } + } + + /// + /// Personal Property Description + /// + [Serializable()] + [DataContract()] + [Segment("PPY")] + public class PPY { + + /// + /// Type of Personal or Business Asset Code + /// + [DataMember] + [Required] + [DataElement("1188", typeof(X12_ID_1188))] + [Pos(1)] + public string TypeofPersonalorBusinessAssetCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(6)] + public string DateTimePeriodFormatQualifier_06 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(7)] + public string DateTimePeriod_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + } + + /// + /// Product (Commodity) + /// + [Serializable()] + [DataContract()] + [Segment("PR")] + public class PR { + + /// + /// Commodity/Geographic Logical Connector Code + /// + [DataMember] + [Required] + [DataElement("699", typeof(X12_ID_699))] + [Pos(1)] + public string CommodityGeographicLogicalConnectorCode_01 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [DataElement("23", typeof(X12_ID_23))] + [Pos(2)] + public string CommodityCodeQualifier_02 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(3)] + public string CommodityCode_03 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(4)] + public string CommodityCode_04 { + get; + set; + } + /// + /// Change Type Code + /// + [DataMember] + [DataElement("259", typeof(X12_ID_259))] + [Pos(5)] + public string ChangeTypeCode_05 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(6)] + public string StandardCarrierAlphaCode_06 { + get; + set; + } + /// + /// Docket Control Number + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("697", typeof(X12_AN))] + [Pos(7)] + public string DocketControlNumber_07 { + get; + set; + } + /// + /// Docket Identification + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("690", typeof(X12_AN))] + [Pos(8)] + public string DocketIdentification_08 { + get; + set; + } + /// + /// Group Title + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("260", typeof(X12_AN))] + [Pos(9)] + public string GroupTitle_09 { + get; + set; + } + } + + /// + /// Price Request Parameter List 1 + /// + [Serializable()] + [DataContract()] + [Segment("PR1")] + public class PR1 { + + /// + /// Commodity Code Qualifier + /// + [DataMember] + [Required] + [DataElement("23", typeof(X12_ID_23))] + [Pos(1)] + public string CommodityCodeQualifier_01 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(2)] + public string CommodityCode_02 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(3)] + public string CommodityCode_03 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(4)] + public string LocationQualifier_04 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(5)] + public string LocationIdentifier_05 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(6)] + public string LocationIdentifier_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(8)] + public string StandardCarrierAlphaCode_08 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(9)] + public string LocationQualifier_09 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(10)] + public string LocationIdentifier_10 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(11)] + public string LocationIdentifier_11 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(12)] + public string StateorProvinceCode_12 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(13)] + public string StandardCarrierAlphaCode_13 { + get; + set; + } + } + + /// + /// Price Request Parameter List 2 + /// + [Serializable()] + [DataContract()] + [Segment("PR2")] + public class PR2 { + + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Route Code + /// + [DataMember] + [StringLength(1, 13)] + [DataElement("1", typeof(X12_AN))] + [Pos(3)] + public string RouteCode_03 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(4)] + public string CarTypeCode_04 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(5)] + public string IdentificationCodeQualifier_05 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(6)] + public string IdentificationCode_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Conveyance Code + /// + [DataMember] + [DataElement("692", typeof(X12_ID_692))] + [Pos(8)] + public string ConveyanceCode_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + } + + /// + /// Payment Rate Change + /// + [Serializable()] + [DataContract()] + [Segment("PRC")] + public class PRC { + + /// + /// Date/Time Qualifier + /// + [DataMember] + [Required] + [DataElement("374", typeof(X12_ID_374))] + [Pos(1)] + public string DateTimeQualifier_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(4)] + public string InterestRate_04 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(5)] + public string InterestRate_05 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(6)] + public string InterestRate_06 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(7)] + public string AmountQualifierCode_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(10)] + public string QuantityQualifier_10 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(11)] + public string Quantity_11 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(12)] + public C001 CompositeUnitofMeasure_12 { + get; + set; + } + } + + /// + /// Mortgage Loan Product Description + /// + [Serializable()] + [DataContract()] + [Segment("PRD")] + public class PRD { + + /// + /// Loan Payment Type Code + /// + [DataMember] + [Required] + [DataElement("1085", typeof(X12_ID_1085))] + [Pos(1)] + public string LoanPaymentTypeCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(3)] + public string RateValueQualifier_03 { + get; + set; + } + /// + /// Loan Rate Type Code + /// + [DataMember] + [DataElement("1086", typeof(X12_ID_1086))] + [Pos(4)] + public string LoanRateTypeCode_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(11)] + public string MonetaryAmount_11 { + get; + set; + } + } + + /// + /// Purchase Order Reference + /// + [Serializable()] + [DataContract()] + [Segment("PRF")] + public class PRF { + + /// + /// Purchase Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(1)] + public string PurchaseOrderNumber_01 { + get; + set; + } + /// + /// Release Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("328", typeof(X12_AN))] + [Pos(2)] + public string ReleaseNumber_02 { + get; + set; + } + /// + /// Change Order Sequence Number + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("327", typeof(X12_AN))] + [Pos(3)] + public string ChangeOrderSequenceNumber_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(5)] + public string AssignedIdentification_05 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(6)] + public string ContracCAumber_06 { + get; + set; + } + /// + /// Purchase Order Type Code + /// + [DataMember] + [DataElement("92", typeof(X12_ID_92))] + [Pos(7)] + public string PurchaseOrderTypeCode_07 { + get; + set; + } + } + + /// + /// External Reference Identifier + /// + [Serializable()] + [DataContract()] + [Segment("PRI")] + public class PRI { + + /// + /// Primary Publication Authority Code + /// + [DataMember] + [Required] + [DataElement("436", typeof(X12_ID_436))] + [Pos(1)] + public string PrimaryPublicationAuthorityCode_01 { + get; + set; + } + /// + /// Tariff Agency Code + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("168", typeof(X12_AN))] + [Pos(2)] + public string TariffAgencyCode_02 { + get; + set; + } + /// + /// Tariff Number + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("171", typeof(X12_AN))] + [Pos(3)] + public string TariffNumber_03 { + get; + set; + } + /// + /// Tariff Number Suffix + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("493", typeof(X12_AN))] + [Pos(4)] + public string TariffNumberSuffix_04 { + get; + set; + } + /// + /// Tariff Supplement Identifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("173", typeof(X12_AN))] + [Pos(5)] + public string TariffSupplementIdentifier_05 { + get; + set; + } + /// + /// Tariff Section + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("172", typeof(X12_AN))] + [Pos(6)] + public string TariffSection_06 { + get; + set; + } + /// + /// Tariff Item Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("169", typeof(X12_AN))] + [Pos(7)] + public string TariffItemNumber_07 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(8)] + public string ReferenceIdentificationQualifier_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(10)] + public string StandardCarrierAlphaCode_10 { + get; + set; + } + /// + /// Docket Control Number + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("697", typeof(X12_AN))] + [Pos(11)] + public string DocketControlNumber_11 { + get; + set; + } + /// + /// Docket Identification + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("690", typeof(X12_AN))] + [Pos(12)] + public string DocketIdentification_12 { + get; + set; + } + /// + /// Revision Number + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("691", typeof(X12_N0))] + [Pos(13)] + public string RevisionNumber_13 { + get; + set; + } + /// + /// Group Title + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("260", typeof(X12_AN))] + [Pos(14)] + public string GroupTitle_14 { + get; + set; + } + } + + /// + /// Multifamily Housing Project + /// + [Serializable()] + [DataContract()] + [Segment("PRJ")] + public class PRJ { + + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(1)] + public string Name_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + } + + /// + /// Basic Trace Parameters + /// + [Serializable()] + [DataContract()] + [Segment("PRM")] + public class PRM { + + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(1)] + public string CarTypeCode_01 { + get; + set; + } + /// + /// Load/Empty Status Code + /// + [DataMember] + [DataElement("322", typeof(X12_ID_322))] + [Pos(2)] + public string LoadEmptyStatusCode_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(5)] + public string StandardPointLocationCode_05 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(6)] + public string CommodityCode_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(8)] + public string StandardCarrierAlphaCode_08 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(9)] + public string StandardPointLocationCode_09 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(10)] + public string StandardCarrierAlphaCode_10 { + get; + set; + } + /// + /// Transportation Condition Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1494", typeof(X12_AN))] + [Pos(11)] + public string TransportationConditionCode_11 { + get; + set; + } + /// + /// Association of American Railroads Car Grade Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1490", typeof(X12_AN))] + [Pos(12)] + public string AssociationofAmericanRailroadsCarGradeCode_12 { + get; + set; + } + /// + /// Intermodal Service Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("177", typeof(X12_AN))] + [Pos(13)] + public string IntermodalServiceCode_13 { + get; + set; + } + } + + /// + /// Problem Report + /// + [Serializable()] + [DataContract()] + [Segment("PRR")] + public class PRR { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(2)] + public string AgencyQualifierCode_02 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(3)] + public string SourceSubqualifier_03 { + get; + set; + } + /// + /// Complaint Code + /// + [DataMember] + [StringLength(3, 6)] + [DataElement("1229", typeof(X12_AN))] + [Pos(4)] + public string ComplaintCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(6)] + public string AgencyQualifierCode_06 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(7)] + public string SourceSubqualifier_07 { + get; + set; + } + /// + /// Service Classification Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1233", typeof(X12_AN))] + [Pos(8)] + public string ServiceClassificationCode_08 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(9)] + public string AgencyQualifierCode_09 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(10)] + public string SourceSubqualifier_10 { + get; + set; + } + /// + /// Severity Condition Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1234", typeof(X12_AN))] + [Pos(11)] + public string SeverityConditionCode_11 { + get; + set; + } + } + + /// + /// Part Release Status + /// + [Serializable()] + [DataContract()] + [Segment("PRS")] + public class PRS { + + /// + /// Part Release Status Code + /// + [DataMember] + [Required] + [DataElement("682", typeof(X12_ID_682))] + [Pos(1)] + public string PartReleaseStatusCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + } + + /// + /// Part Disposition + /// + [Serializable()] + [DataContract()] + [Segment("PRT")] + public class PRT { + + /// + /// Disposition Code + /// + [DataMember] + [Required] + [StringLength(3, 3)] + [DataElement("1225", typeof(X12_AN))] + [Pos(1)] + public string DispositionCode_01 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(2)] + public string AgencyQualifierCode_02 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(3)] + public string SourceSubqualifier_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + } + + /// + /// Provider Information + /// + [Serializable()] + [DataContract()] + [Segment("PRV")] + public class PRV { + + /// + /// Provider Code + /// + [DataMember] + [Required] + [DataElement("1221", typeof(X12_ID_1221))] + [Pos(1)] + public string ProviderCode_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(4)] + public string StateorProvinceCode_04 { + get; + set; + } + /// + /// Provider Specialty Information + /// + [DataMember] + [Pos(5)] + public C035 ProviderSpecialtyInformation_05 { + get; + set; + } + /// + /// Provider Organization Code + /// + [DataMember] + [DataElement("1223", typeof(X12_ID_1223))] + [Pos(6)] + public string ProviderOrganizationCode_06 { + get; + set; + } + } + + /// + /// Protective Service Instructions + /// + [Serializable()] + [DataContract()] + [Segment("PS")] + public class PS { + + /// + /// Protective Service Rule Code + /// + [DataMember] + [Required] + [StringLength(3, 9)] + [DataElement("746", typeof(X12_AN))] + [Pos(1)] + public string ProtectiveServiceRuleCode_01 { + get; + set; + } + /// + /// Protective Service Code + /// + [DataMember] + [Required] + [DataElement("241", typeof(X12_ID_241))] + [Pos(2)] + public string ProtectiveServiceCode_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(4)] + public string Temperature_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(6)] + public string FreightStationAccountingCode_06 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(7)] + public string CityName_07 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(8)] + public string StateorProvinceCode_08 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(9)] + public string Weight_09 { + get; + set; + } + /// + /// Pre-Cooled (Rule 710) Code + /// + [DataMember] + [DataElement("745", typeof(X12_ID_745))] + [Pos(10)] + public string PreCooledRuleCode_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(13)] + public string YesNoConditionorResponseCode_13 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(14)] + public string Temperature_14 { + get; + set; + } + } + + /// + /// Purchase Service + /// + [Serializable()] + [DataContract()] + [Segment("PS1")] + public class PS1 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(3)] + public string StateorProvinceCode_03 { + get; + set; + } + } + + /// + /// ParCAer Share Accounting + /// + [Serializable()] + [DataContract()] + [Segment("PSA")] + public class PSA { + + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(1)] + public string IdentificationCodeQualifier_01 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(2)] + public string IdentificationCode_02 { + get; + set; + } + /// + /// Owners Share + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("826", typeof(X12_R))] + [Pos(3)] + public string OwnersShare_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(5)] + public string AmountQualifierCode_05 { + get; + set; + } + } + + /// + /// Product Service Contract + /// + [Serializable()] + [DataContract()] + [Segment("PSC")] + public class PSC { + + /// + /// Contract Status Code + /// + [DataMember] + [Required] + [DataElement("846", typeof(X12_ID_846))] + [Pos(1)] + public string ContractStatusCode_01 { + get; + set; + } + /// + /// Type of Product Service Code + /// + [DataMember] + [Required] + [DataElement("1230", typeof(X12_ID_1230))] + [Pos(2)] + public string TypeofProductServiceCode_02 { + get; + set; + } + /// + /// Type of Product Service Code + /// + [DataMember] + [DataElement("1230", typeof(X12_ID_1230))] + [Pos(3)] + public string TypeofProductServiceCode_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(5)] + public string EntityIdentifierCode_05 { + get; + set; + } + /// + /// Contract Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("367", typeof(X12_AN))] + [Pos(6)] + public string ContracCAumber_06 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(7)] + public C001 CompositeUnitofMeasure_07 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(8)] + public string Count_08 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(9)] + public string DateTimeQualifier_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(12)] + public C001 CompositeUnitofMeasure_12 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(13)] + public string RangeMaximum_13 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(14)] + public string RangeMinimum_14 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(15)] + public string MeasurementValue_15 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(16)] + public string ActionCode_16 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(17)] + public string Percent_17 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(18)] + public string AgencyQualifierCode_18 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(19)] + public string SourceSubqualifier_19 { + get; + set; + } + /// + /// Operation Environment Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("1231", typeof(X12_AN))] + [Pos(20)] + public string OperationEnvironmentCode_20 { + get; + set; + } + /// + /// Special Services Code + /// + [DataMember] + [DataElement("560", typeof(X12_ID_560))] + [Pos(21)] + public string SpecialServicesCode_21 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(22)] + public string Description_22 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(23)] + public string UnitPrice_23 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(24)] + public string YesNoConditionorResponseCode_24 { + get; + set; + } + /// + /// Contact Method Code + /// + [DataMember] + [DataElement("1079", typeof(X12_ID_1079))] + [Pos(25)] + public string ContactMethodCode_25 { + get; + set; + } + } + + /// + /// Physical Sample Description + /// + [Serializable()] + [DataContract()] + [Segment("PSD")] + public class PSD { + + /// + /// Sample Process Status Code + /// + [DataMember] + [DataElement("939", typeof(X12_ID_939))] + [Pos(1)] + public string SampleProcessStatusCode_01 { + get; + set; + } + /// + /// Sample Selection Method Code + /// + [DataMember] + [DataElement("940", typeof(X12_ID_940))] + [Pos(2)] + public string SampleSelectionMethodCode_02 { + get; + set; + } + /// + /// Sample Frequency Value per Unit of Measurement Code + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("942", typeof(X12_N0))] + [Pos(3)] + public string SampleFrequencyValueperUnitofMeasurementCode_03 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(4)] + public C001 CompositeUnitofMeasure_04 { + get; + set; + } + /// + /// Sample Description Code + /// + [DataMember] + [DataElement("943", typeof(X12_ID_943))] + [Pos(5)] + public string SampleDescriptionCode_05 { + get; + set; + } + /// + /// Sample Direction Code + /// + [DataMember] + [DataElement("944", typeof(X12_ID_944))] + [Pos(6)] + public string SampleDirectionCode_06 { + get; + set; + } + /// + /// Position Code + /// + [DataMember] + [DataElement("945", typeof(X12_ID_945))] + [Pos(7)] + public string PositionCode_07 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(8)] + public string Description_08 { + get; + set; + } + /// + /// Sample Selection Modulus + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1167", typeof(X12_R))] + [Pos(9)] + public string SampleSelectionModulus_09 { + get; + set; + } + } + + /// + /// Patron + /// + [Serializable()] + [DataContract()] + [Segment("PT")] + public class PT { + + /// + /// Condition Segment Logical Connector + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("495", typeof(X12_AN))] + [Pos(1)] + public string ConditionSegmentLogicalConnector_01 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(2)] + public string EntityIdentifierCode_02 { + get; + set; + } + /// + /// Name (30 Character Format) + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("459", typeof(X12_AN))] + [Pos(3)] + public string NameCharacterFormat_03 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(4)] + public string IdentificationCodeQualifier_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + /// + /// Change Type Code + /// + [DataMember] + [DataElement("259", typeof(X12_ID_259))] + [Pos(6)] + public string ChangeTypeCode_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Docket Control Number + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("697", typeof(X12_AN))] + [Pos(8)] + public string DocketControlNumber_08 { + get; + set; + } + /// + /// Docket Identification + /// + [DataMember] + [StringLength(1, 11)] + [DataElement("690", typeof(X12_AN))] + [Pos(9)] + public string DocketIdentification_09 { + get; + set; + } + /// + /// Group Title + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("260", typeof(X12_AN))] + [Pos(10)] + public string GroupTitle_10 { + get; + set; + } + /// + /// Entity Relationship Code + /// + [DataMember] + [DataElement("706", typeof(X12_ID_706))] + [Pos(11)] + public string EntityRelationshipCode_11 { + get; + set; + } + } + + /// + /// Product Transfer and Resale Detail + /// + [Serializable()] + [DataContract()] + [Segment("PTD")] + public class PTD { + + /// + /// Product Transfer Type Code + /// + [DataMember] + [Required] + [DataElement("521", typeof(X12_ID_521))] + [Pos(1)] + public string ProductTransferTypeCode_01 { + get; + set; + } + /// + /// Price Multiplier Qualifier + /// + [DataMember] + [DataElement("648", typeof(X12_ID_648))] + [Pos(2)] + public string PriceMultiplierQualifier_02 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(3)] + public string Multiplier_03 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(4)] + public string ReferenceIdentificationQualifier_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Product Transfer Movement Type Code + /// + [DataMember] + [DataElement("486", typeof(X12_ID_486))] + [Pos(6)] + public string ProductTransferMovementTypeCode_06 { + get; + set; + } + } + + /// + /// Property Transaction Financials + /// + [Serializable()] + [DataContract()] + [Segment("PTF")] + public class PTF { + + /// + /// Amount Qualifier Code + /// + [DataMember] + [Required] + [DataElement("522", typeof(X12_ID_522))] + [Pos(1)] + public string AmountQualifierCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(3)] + public string FrequencyCode_03 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(4)] + public C001 CompositeUnitofMeasure_04 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(5)] + public string EntityIdentifierCode_05 { + get; + set; + } + /// + /// Tax Type Code + /// + [DataMember] + [DataElement("963", typeof(X12_ID_963))] + [Pos(6)] + public string TaxTypeCode_06 { + get; + set; + } + /// + /// Tax Exempt Code + /// + [DataMember] + [DataElement("441", typeof(X12_ID_441))] + [Pos(7)] + public string TaxExemptCode_07 { + get; + set; + } + } + + /// + /// Beginning Segment for Motor Carrier Pick-up Notification + /// + [Serializable()] + [DataContract()] + [Segment("PUN")] + public class PUN { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + } + + /// + /// Paperwork + /// + [Serializable()] + [DataContract()] + [Segment("PWK")] + public class PWK { + + /// + /// Report Type Code + /// + [DataMember] + [Required] + [DataElement("755", typeof(X12_ID_755))] + [Pos(1)] + public string ReportTypeCode_01 { + get; + set; + } + /// + /// Report Transmission Code + /// + [DataMember] + [DataElement("756", typeof(X12_ID_756))] + [Pos(2)] + public string ReportTransmissionCode_02 { + get; + set; + } + /// + /// Report Copies Needed + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("757", typeof(X12_N0))] + [Pos(3)] + public string ReportCopiesNeeded_03 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(4)] + public string EntityIdentifierCode_04 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(5)] + public string IdentificationCodeQualifier_05 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(6)] + public string IdentificationCode_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Actions Indicated + /// + [DataMember] + [Pos(8)] + public C002 ActionsIndicated_08 { + get; + set; + } + /// + /// Request Category Code + /// + [DataMember] + [DataElement("1525", typeof(X12_ID_1525))] + [Pos(9)] + public string RequestCategoryCode_09 { + get; + set; + } + } + + /// + /// Payroll Deduction + /// + [Serializable()] + [DataContract()] + [Segment("PYD")] + public class PYD { + + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(1)] + public string MonetaryAmount_01 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(2)] + public string FrequencyCode_02 { + get; + set; + } + /// + /// Tax Treatment Code + /// + [DataMember] + [DataElement("1685", typeof(X12_ID_1685))] + [Pos(3)] + public string TaxTreatmentCode_03 { + get; + set; + } + /// + /// Deduction Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1688", typeof(X12_AN))] + [Pos(4)] + public string DeductionTypeCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + } + + /// + /// Payment Manner and Percentage + /// + [Serializable()] + [DataContract()] + [Segment("PYM")] + public class PYM { + + /// + /// Rating Code + /// + [DataMember] + [DataElement("263", typeof(X12_ID_263))] + [Pos(1)] + public string RatingCode_01 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(2)] + public string UnitofTimePeriodorInterval_02 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(3)] + public string NumberofPeriods_03 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(4)] + public string NumberofPeriods_04 { + get; + set; + } + /// + /// Time Period Qualifier + /// + [DataMember] + [DataElement("615", typeof(X12_ID_615))] + [Pos(5)] + public string TimePeriodQualifier_05 { + get; + set; + } + /// + /// Rating Remarks Code + /// + [DataMember] + [DataElement("650", typeof(X12_ID_650))] + [Pos(6)] + public string RatingRemarksCode_06 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(7)] + public string Percent_07 { + get; + set; + } + } + + /// + /// Historical Payment Terms + /// + [Serializable()] + [DataContract()] + [Segment("PYT")] + public class PYT { + + /// + /// Terms Net Days + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("386", typeof(X12_N0))] + [Pos(1)] + public string TermsNetDays_01 { + get; + set; + } + /// + /// Terms Type Code + /// + [DataMember] + [DataElement("336", typeof(X12_ID_336))] + [Pos(2)] + public string TermsTypeCode_02 { + get; + set; + } + /// + /// Day of Month + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("765", typeof(X12_N0))] + [Pos(3)] + public string DayofMonth_03 { + get; + set; + } + /// + /// Terms Discount Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("338", typeof(X12_R))] + [Pos(4)] + public string TermsDiscountPercent_04 { + get; + set; + } + /// + /// Terms Discount Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("338", typeof(X12_R))] + [Pos(5)] + public string TermsDiscountPercent_05 { + get; + set; + } + /// + /// Terms Type Code + /// + [DataMember] + [DataElement("336", typeof(X12_ID_336))] + [Pos(6)] + public string TermsTypeCode_06 { + get; + set; + } + /// + /// Terms Discount Days Due + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("351", typeof(X12_N0))] + [Pos(7)] + public string TermsDiscountDaysDue_07 { + get; + set; + } + /// + /// Terms Discount Days Due + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("351", typeof(X12_N0))] + [Pos(8)] + public string TermsDiscountDaysDue_08 { + get; + set; + } + } + + /// + /// Status Details (Ocean) + /// + [Serializable()] + [DataContract()] + [Segment("Q2")] + public class Q2 { + + /// + /// Vessel Code + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("597", typeof(X12_AN))] + [Pos(1)] + public string VesselCode_01 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(2)] + public string CountryCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(6)] + public string LadingQuantity_06 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(7)] + public string Weight_07 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(8)] + public string WeightQualifier_08 { + get; + set; + } + /// + /// Flight/Voyage Number + /// + [DataMember] + [StringLength(2, 10)] + [DataElement("55", typeof(X12_AN))] + [Pos(9)] + public string FlightVoyageNumber_09 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(10)] + public string ReferenceIdentificationQualifier_10 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(11)] + public string ReferenceIdentification_11 { + get; + set; + } + /// + /// Vessel Code Qualifier + /// + [DataMember] + [DataElement("897", typeof(X12_ID_897))] + [Pos(12)] + public string VesselCodeQualifier_12 { + get; + set; + } + /// + /// Vessel Name + /// + [DataMember] + [StringLength(2, 28)] + [DataElement("182", typeof(X12_AN))] + [Pos(13)] + public string VesselName_13 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(14)] + public string Volume_14 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(15)] + public string VolumeUnitQualifier_15 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(16)] + public string WeightUnitCode_16 { + get; + set; + } + } + + /// + /// Arrival Details + /// + [Serializable()] + [DataContract()] + [Segment("Q3")] + public class Q3 { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(2)] + public string ShipmentMethodofPayment_02 { + get; + set; + } + } + + /// + /// Status Details + /// + [Serializable()] + [DataContract()] + [Segment("Q5")] + public class Q5 { + + /// + /// Shipment Status Code + /// + [DataMember] + [DataElement("157", typeof(X12_ID_157))] + [Pos(1)] + public string ShipmentStatusCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(4)] + public string TimeCode_04 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(5)] + public string StatusReasonCode_05 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(6)] + public string CityName_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(8)] + public string CountryCode_08 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(9)] + public string EquipmentInitial_09 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(10)] + public string EquipmenCAumber_10 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(11)] + public string ReferenceIdentificationQualifier_11 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(12)] + public string ReferenceIdentification_12 { + get; + set; + } + /// + /// Direction Identifier Code + /// + [DataMember] + [DataElement("1280", typeof(X12_ID_1280))] + [Pos(13)] + public string DirectionIdentifierCode_13 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(14)] + public string ReferenceIdentificationQualifier_14 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(15)] + public string ReferenceIdentification_15 { + get; + set; + } + /// + /// Direction Identifier Code + /// + [DataMember] + [DataElement("1280", typeof(X12_ID_1280))] + [Pos(16)] + public string DirectionIdentifierCode_16 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(17)] + public string Percent_17 { + get; + set; + } + /// + /// Pick-up or Delivery Code + /// + [DataMember] + [DataElement("108", typeof(X12_ID_108))] + [Pos(18)] + public string PickuporDeliveryCode_18 { + get; + set; + } + } + + /// + /// Lading Exception Code + /// + [Serializable()] + [DataContract()] + [Segment("Q7")] + public class Q7 { + + /// + /// Lading Exception Code + /// + [DataMember] + [Required] + [DataElement("33", typeof(X12_ID_33))] + [Pos(1)] + public string LadingExceptionCode_01 { + get; + set; + } + /// + /// Packaging Form Code + /// + [DataMember] + [DataElement("211", typeof(X12_ID_211))] + [Pos(2)] + public string PackagingFormCode_02 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(3)] + public string LadingQuantity_03 { + get; + set; + } + } + + /// + /// Detail Delivery Exception Information + /// + [Serializable()] + [DataContract()] + [Segment("Q8")] + public class Q8 { + + /// + /// Lading Exception Code + /// + [DataMember] + [Required] + [DataElement("33", typeof(X12_ID_33))] + [Pos(1)] + public string LadingExceptionCode_01 { + get; + set; + } + /// + /// Packaging Form Code + /// + [DataMember] + [DataElement("211", typeof(X12_ID_211))] + [Pos(2)] + public string PackagingFormCode_02 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(3)] + public string LadingQuantity_03 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(4)] + public string ProductServiceIDQualifier_04 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(5)] + public string ProductServiceID_05 { + get; + set; + } + /// + /// Lading Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("79", typeof(X12_AN))] + [Pos(6)] + public string LadingDescription_06 { + get; + set; + } + /// + /// Damage Reason Code + /// + [DataMember] + [DataElement("853", typeof(X12_ID_853))] + [Pos(7)] + public string DamageReasonCode_07 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(8)] + public string ActionCode_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(10)] + public string Description_10 { + get; + set; + } + } + + /// + /// Quantity + /// + [Serializable()] + [DataContract()] + [Segment("QTY")] + public class QTY { + + /// + /// Quantity Qualifier + /// + [DataMember] + [Required] + [DataElement("673", typeof(X12_ID_673))] + [Pos(1)] + public string QuantityQualifier_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(4)] + public string FreeFormMessage_04 { + get; + set; + } + } + + /// + /// Route Information (Air) + /// + [Serializable()] + [DataContract()] + [Segment("R1")] + public class R1 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Airport Code + /// + [DataMember] + [Required] + [StringLength(3, 5)] + [DataElement("5", typeof(X12_AN))] + [Pos(3)] + public string AirportCode_03 { + get; + set; + } + /// + /// Air Carrier Code + /// + [DataMember] + [Required] + [StringLength(3, 3)] + [DataElement("4", typeof(X12_AN))] + [Pos(4)] + public string AirCarrierCode_04 { + get; + set; + } + /// + /// Airport Code + /// + [DataMember] + [Required] + [StringLength(3, 5)] + [DataElement("5", typeof(X12_AN))] + [Pos(5)] + public string AirportCode_05 { + get; + set; + } + /// + /// Air Carrier Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("4", typeof(X12_AN))] + [Pos(6)] + public string AirCarrierCode_06 { + get; + set; + } + /// + /// Airport Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("5", typeof(X12_AN))] + [Pos(7)] + public string AirportCode_07 { + get; + set; + } + /// + /// Air Carrier Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("4", typeof(X12_AN))] + [Pos(8)] + public string AirCarrierCode_08 { + get; + set; + } + /// + /// Airport Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("5", typeof(X12_AN))] + [Pos(9)] + public string AirportCode_09 { + get; + set; + } + /// + /// Air Carrier Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("4", typeof(X12_AN))] + [Pos(10)] + public string AirCarrierCode_10 { + get; + set; + } + /// + /// Airport Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("5", typeof(X12_AN))] + [Pos(11)] + public string AirportCode_11 { + get; + set; + } + /// + /// Air Carrier Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("4", typeof(X12_AN))] + [Pos(12)] + public string AirCarrierCode_12 { + get; + set; + } + /// + /// Airport Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("5", typeof(X12_AN))] + [Pos(13)] + public string AirportCode_13 { + get; + set; + } + } + + /// + /// Route Information + /// + [Serializable()] + [DataContract()] + [Segment("R2")] + public class R2 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Routing Sequence Code + /// + [DataMember] + [Required] + [DataElement("133", typeof(X12_ID_133))] + [Pos(2)] + public string RoutingSequenceCode_02 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(3)] + public string CityName_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + /// + /// Intermodal Service Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("177", typeof(X12_AN))] + [Pos(5)] + public string IntermodalServiceCode_05 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(6)] + public string TransportationMethodTypeCode_06 { + get; + set; + } + /// + /// Intermediate Switch Carrier + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("296", typeof(X12_AN))] + [Pos(7)] + public string IntermediateSwitchCarrier_07 { + get; + set; + } + /// + /// Intermediate Switch Carrier + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("296", typeof(X12_AN))] + [Pos(8)] + public string IntermediateSwitchCarrier_08 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(9)] + public string InvoiceNumber_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(11)] + public string FreeformDescription_11 { + get; + set; + } + /// + /// Type of Service Code + /// + [DataMember] + [DataElement("56", typeof(X12_ID_56))] + [Pos(12)] + public string TypeofServiceCode_12 { + get; + set; + } + /// + /// Route Description + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("742", typeof(X12_AN))] + [Pos(13)] + public string RouteDescription_13 { + get; + set; + } + } + + /// + /// Route Information with Preference + /// + [Serializable()] + [DataContract()] + [Segment("R2A")] + public class R2A { + + /// + /// Routing Sequence Code + /// + [DataMember] + [Required] + [DataElement("133", typeof(X12_ID_133))] + [Pos(1)] + public string RoutingSequenceCode_01 { + get; + set; + } + /// + /// Preference + /// + [DataMember] + [Required] + [DataElement("1431", typeof(X12_ID_1431))] + [Pos(2)] + public string Preference_02 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(3)] + public string TransportationMethodTypeCode_03 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(4)] + public string StandardCarrierAlphaCode_04 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(5)] + public string LocationQualifier_05 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(6)] + public string LocationIdentifier_06 { + get; + set; + } + /// + /// Type of Service Code + /// + [DataMember] + [DataElement("56", typeof(X12_ID_56))] + [Pos(7)] + public string TypeofServiceCode_07 { + get; + set; + } + /// + /// Route Code + /// + [DataMember] + [StringLength(1, 13)] + [DataElement("1", typeof(X12_AN))] + [Pos(8)] + public string RouteCode_08 { + get; + set; + } + /// + /// Route Description + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("742", typeof(X12_AN))] + [Pos(9)] + public string RouteDescription_09 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(10)] + public string EntityIdentifierCode_10 { + get; + set; + } + } + + /// + /// Junctions and Proportions + /// + [Serializable()] + [DataContract()] + [Segment("R2B")] + public class R2B { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Rule 260 Junction Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("638", typeof(X12_AN))] + [Pos(2)] + public string RuleJunctionCode_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + } + + /// + /// Division Basis + /// + [Serializable()] + [DataContract()] + [Segment("R2C")] + public class R2C { + + /// + /// Division Type Code + /// + [DataMember] + [Required] + [DataElement("666", typeof(X12_ID_666))] + [Pos(1)] + public string DivisionTypeCode_01 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(2)] + public string RateValueQualifier_02 { + get; + set; + } + /// + /// Factor Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("634", typeof(X12_R))] + [Pos(3)] + public string FactorAmount_03 { + get; + set; + } + } + + /// + /// Miscellaneous Charge + /// + [Serializable()] + [DataContract()] + [Segment("R2D")] + public class R2D { + + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [Required] + [DataElement("150", typeof(X12_ID_150))] + [Pos(1)] + public string SpecialChargeorAllowanceCode_01 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(2)] + public string Amount_02 { + get; + set; + } + } + + /// + /// Route Information - Motor + /// + [Serializable()] + [DataContract()] + [Segment("R3")] + public class R3 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Routing Sequence Code + /// + [DataMember] + [Required] + [DataElement("133", typeof(X12_ID_133))] + [Pos(2)] + public string RoutingSequenceCode_02 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(3)] + public string CityName_03 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(4)] + public string TransportationMethodTypeCode_04 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(5)] + public string StandardPointLocationCode_05 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(6)] + public string InvoiceNumber_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(8)] + public string Amount_08 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(9)] + public string FreeformDescription_09 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(10)] + public string ServiceLevelCode_10 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(11)] + public string ServiceLevelCode_11 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(12)] + public string ServiceLevelCode_12 { + get; + set; + } + } + + /// + /// Port or Terminal + /// + [Serializable()] + [DataContract()] + [Segment("R4")] + public class R4 { + + /// + /// Port or Terminal Function Code + /// + [DataMember] + [Required] + [DataElement("115", typeof(X12_ID_115))] + [Pos(1)] + public string PortorTerminalFunctionCode_01 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(2)] + public string LocationQualifier_02 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(3)] + public string LocationIdentifier_03 { + get; + set; + } + /// + /// Port Name + /// + [DataMember] + [StringLength(2, 24)] + [DataElement("114", typeof(X12_AN))] + [Pos(4)] + public string PorCAame_04 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(5)] + public string CountryCode_05 { + get; + set; + } + /// + /// Terminal Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("174", typeof(X12_AN))] + [Pos(6)] + public string TerminalName_06 { + get; + set; + } + /// + /// Pier Number + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("113", typeof(X12_AN))] + [Pos(7)] + public string PierNumber_07 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(8)] + public string StateorProvinceCode_08 { + get; + set; + } + } + + /// + /// Route Code + /// + [Serializable()] + [DataContract()] + [Segment("R9")] + public class R9 { + + /// + /// Route Code + /// + [DataMember] + [Required] + [StringLength(1, 13)] + [DataElement("1", typeof(X12_AN))] + [Pos(1)] + public string RouteCode_01 { + get; + set; + } + /// + /// Agent/Shipper Routing Code + /// + [DataMember] + [DataElement("192", typeof(X12_ID_192))] + [Pos(2)] + public string AgentShipperRoutingCode_02 { + get; + set; + } + /// + /// Intermodal Service Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("177", typeof(X12_AN))] + [Pos(3)] + public string IntermodalServiceCode_03 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(4)] + public string StandardCarrierAlphaCode_04 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(5)] + public string ActionCode_05 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(6)] + public string StandardCarrierAlphaCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + } + + /// + /// Rate Header + /// + [Serializable()] + [DataContract()] + [Segment("RA")] + public class RA { + + /// + /// Route Code + /// + [DataMember] + [Required] + [StringLength(1, 13)] + [DataElement("1", typeof(X12_AN))] + [Pos(1)] + public string RouteCode_01 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [Required] + [DataElement("122", typeof(X12_ID_122))] + [Pos(2)] + public string RateValueQualifier_02 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(3)] + public string RateValueQualifier_03 { + get; + set; + } + /// + /// Alternation Precedence Code + /// + [DataMember] + [DataElement("629", typeof(X12_ID_629))] + [Pos(4)] + public string AlternationPrecedenceCode_04 { + get; + set; + } + /// + /// Number of Rates + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("631", typeof(X12_N0))] + [Pos(5)] + public string NumberofRates_05 { + get; + set; + } + /// + /// Unit Conversion Factor + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("637", typeof(X12_N4))] + [Pos(6)] + public string UnitConversionFactor_06 { + get; + set; + } + /// + /// Rate Level Qualifier Code + /// + [DataMember] + [DataElement("856", typeof(X12_ID_856))] + [Pos(7)] + public string RateLevelQualifierCode_07 { + get; + set; + } + /// + /// Rate Level + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("500", typeof(X12_AN))] + [Pos(8)] + public string RateLevel_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(10)] + public string Date_10 { + get; + set; + } + } + + /// + /// Rate or Minimum Qualifiers + /// + [Serializable()] + [DataContract()] + [Segment("RAB")] + public class RAB { + + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(1)] + public string RateValueQualifier_01 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(2)] + public string AssignedNumber_02 { + get; + set; + } + /// + /// Alternation Precedence Code + /// + [DataMember] + [DataElement("629", typeof(X12_ID_629))] + [Pos(3)] + public string AlternationPrecedenceCode_03 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(4)] + public string RateValueQualifier_04 { + get; + set; + } + /// + /// Minimum/Weight Logic + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("630", typeof(X12_AN))] + [Pos(5)] + public string MinimumWeightLogic_05 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(6)] + public string LoadingRestriction_06 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(7)] + public string LoadingRestriction_07 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("488", typeof(X12_N0))] + [Pos(8)] + public string Percent_08 { + get; + set; + } + /// + /// Unit Conversion Factor + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("637", typeof(X12_N4))] + [Pos(9)] + public string UnitConversionFactor_09 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(10)] + public string AssignedNumber_10 { + get; + set; + } + } + + /// + /// Requirement, Attribute, and Proficiency + /// + [Serializable()] + [DataContract()] + [Segment("RAP")] + public class RAP { + + /// + /// Educational Test or Requirement Code + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("1155", typeof(X12_AN))] + [Pos(1)] + public string EducationalTestorRequirementCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + /// + /// Usage Indicator + /// + [DataMember] + [DataElement("1413", typeof(X12_ID_1413))] + [Pos(4)] + public string UsageIndicator_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(6)] + public string DateTimePeriodFormatQualifier_06 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(7)] + public string DateTimePeriod_07 { + get; + set; + } + } + + /// + /// Adjustable Rate Description + /// + [Serializable()] + [DataContract()] + [Segment("RAT")] + public class RAT { + + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(1)] + public C001 CompositeUnitofMeasure_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Index Identity Code + /// + [DataMember] + [Required] + [DataElement("1089", typeof(X12_ID_1089))] + [Pos(3)] + public string IndexIdentityCode_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(6)] + public string Percent_06 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(7)] + public C001 CompositeUnitofMeasure_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(9)] + public C001 CompositeUnitofMeasure_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(12)] + public string Percent_12 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(13)] + public string Percent_13 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(14)] + public string Percent_14 { + get; + set; + } + /// + /// Rounding System Code + /// + [DataMember] + [DataElement("1072", typeof(X12_ID_1072))] + [Pos(15)] + public string RoundingSystemCode_15 { + get; + set; + } + /// + /// Rate Life Cap Source Code + /// + [DataMember] + [DataElement("1088", typeof(X12_ID_1088))] + [Pos(16)] + public string RateLifeCapSourceCode_16 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(17)] + public string Percent_17 { + get; + set; + } + } + + /// + /// Rate/Minimum Detail + /// + [Serializable()] + [DataContract()] + [Segment("RB")] + public class RB { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Rate Application Type Code + /// + [DataMember] + [Required] + [DataElement("632", typeof(X12_ID_632))] + [Pos(2)] + public string RateApplicationTypeCode_02 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(3)] + public string FreightRate_03 { + get; + set; + } + /// + /// Minimum/Weight Logic + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("630", typeof(X12_AN))] + [Pos(4)] + public string MinimumWeightLogic_04 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(5)] + public string LoadingRestriction_05 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(6)] + public string LoadingRestriction_06 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("488", typeof(X12_N0))] + [Pos(7)] + public string Percent_07 { + get; + set; + } + /// + /// Change Type Code + /// + [DataMember] + [Required] + [DataElement("259", typeof(X12_ID_259))] + [Pos(8)] + public string ChangeTypeCode_08 { + get; + set; + } + } + + /// + /// Root Cause + /// + [Serializable()] + [DataContract()] + [Segment("RC")] + public class RC { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(4)] + public string AgencyQualifierCode_04 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(5)] + public string SourceSubqualifier_05 { + get; + set; + } + /// + /// Casual Part Condition Code + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1228", typeof(X12_AN))] + [Pos(6)] + public string CasualPartConditionCode_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(8)] + public string FreeFormMessageText_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + } + + /// + /// Receiving Conditions + /// + [Serializable()] + [DataContract()] + [Segment("RCD")] + public class RCD { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Quantity Units Received or Accepted + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("663", typeof(X12_R))] + [Pos(2)] + public string QuantityUnitsReceivedorAccepted_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + /// + /// Quantity Units Returned + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("664", typeof(X12_R))] + [Pos(4)] + public string QuantityUnitsReturned_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + /// + /// Quantity in Question + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("667", typeof(X12_R))] + [Pos(6)] + public string QuantityinQuestion_06 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(7)] + public C001 CompositeUnitofMeasure_07 { + get; + set; + } + /// + /// Receiving Condition Code + /// + [DataMember] + [DataElement("412", typeof(X12_ID_412))] + [Pos(8)] + public string ReceivingConditionCode_08 { + get; + set; + } + /// + /// Quantity in Question + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("667", typeof(X12_R))] + [Pos(9)] + public string QuantityinQuestion_09 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(10)] + public C001 CompositeUnitofMeasure_10 { + get; + set; + } + /// + /// Receiving Condition Code + /// + [DataMember] + [DataElement("412", typeof(X12_ID_412))] + [Pos(11)] + public string ReceivingConditionCode_11 { + get; + set; + } + /// + /// Quantity in Question + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("667", typeof(X12_R))] + [Pos(12)] + public string QuantityinQuestion_12 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(13)] + public C001 CompositeUnitofMeasure_13 { + get; + set; + } + /// + /// Receiving Condition Code + /// + [DataMember] + [DataElement("412", typeof(X12_ID_412))] + [Pos(14)] + public string ReceivingConditionCode_14 { + get; + set; + } + /// + /// Quantity in Question + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("667", typeof(X12_R))] + [Pos(15)] + public string QuantityinQuestion_15 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(16)] + public C001 CompositeUnitofMeasure_16 { + get; + set; + } + /// + /// Receiving Condition Code + /// + [DataMember] + [DataElement("412", typeof(X12_ID_412))] + [Pos(17)] + public string ReceivingConditionCode_17 { + get; + set; + } + /// + /// Quantity in Question + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("667", typeof(X12_R))] + [Pos(18)] + public string QuantityinQuestion_18 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(19)] + public C001 CompositeUnitofMeasure_19 { + get; + set; + } + /// + /// Receiving Condition Code + /// + [DataMember] + [DataElement("412", typeof(X12_ID_412))] + [Pos(20)] + public string ReceivingConditionCode_20 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(21)] + public string Quantity_21 { + get; + set; + } + } + + /// + /// Rate Data + /// + [Serializable()] + [DataContract()] + [Segment("RD")] + public class RD { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Rate Application Type Code + /// + [DataMember] + [Required] + [DataElement("632", typeof(X12_ID_632))] + [Pos(2)] + public string RateApplicationTypeCode_02 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(3)] + public string FreightRate_03 { + get; + set; + } + /// + /// Change Type Code + /// + [DataMember] + [Required] + [DataElement("259", typeof(X12_ID_259))] + [Pos(4)] + public string ChangeTypeCode_04 { + get; + set; + } + } + + /// + /// Route Description Detail + /// + [Serializable()] + [DataContract()] + [Segment("RDD")] + public class RDD { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Rule 260 Junction Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("638", typeof(X12_AN))] + [Pos(2)] + public string RuleJunctionCode_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Rule 260 Junction Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("638", typeof(X12_AN))] + [Pos(4)] + public string RuleJunctionCode_04 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(5)] + public string AssignedNumber_05 { + get; + set; + } + } + + /// + /// Retail Account Demographic Information + /// + [Serializable()] + [DataContract()] + [Segment("RDI")] + public class RDI { + + /// + /// Entity Identifier Code + /// + [DataMember] + [Required] + [DataElement("98", typeof(X12_ID_98))] + [Pos(1)] + public string EntityIdentifierCode_01 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(2)] + public string CountryCode_02 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(3)] + public string AmountQualifierCode_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + } + + /// + /// Remittance Delivery Method + /// + [Serializable()] + [DataContract()] + [Segment("RDM")] + public class RDM { + + /// + /// Report Transmission Code + /// + [DataMember] + [Required] + [DataElement("756", typeof(X12_ID_756))] + [Pos(1)] + public string ReportTransmissionCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Communication Number + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("364", typeof(X12_AN))] + [Pos(3)] + public string CommunicationNumber_03 { + get; + set; + } + /// + /// Reference Identifier + /// + [DataMember] + [Pos(4)] + public C040 ReferenceIdentifier_04 { + get; + set; + } + /// + /// Reference Identifier + /// + [DataMember] + [Pos(5)] + public C040 ReferenceIdentifier_05 { + get; + set; + } + } + + /// + /// Return Disposition Reason + /// + [Serializable()] + [DataContract()] + [Segment("RDR")] + public class RDR { + + /// + /// Returns Disposition Code + /// + [DataMember] + [DataElement("1292", typeof(X12_ID_1292))] + [Pos(1)] + public string ReturnsDispositionCode_01 { + get; + set; + } + /// + /// Return Request Reason Code + /// + [DataMember] + [DataElement("1293", typeof(X12_ID_1293))] + [Pos(2)] + public string ReturnRequestReasonCode_02 { + get; + set; + } + /// + /// Return Response Reason Code + /// + [DataMember] + [DataElement("1294", typeof(X12_ID_1294))] + [Pos(3)] + public string ReturnResponseReasonCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + } + + /// + /// Revision Date/Time + /// + [Serializable()] + [DataContract()] + [Segment("RDT")] + public class RDT { + + /// + /// Revision Level Code + /// + [DataMember] + [DataElement("795", typeof(X12_ID_795))] + [Pos(1)] + public string RevisionLevelCode_01 { + get; + set; + } + /// + /// Revision Value + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("796", typeof(X12_AN))] + [Pos(2)] + public string RevisionValue_02 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(3)] + public string DateTimeQualifier_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(6)] + public string TimeCode_06 { + get; + set; + } + } + + /// + /// Real Estate Property Information + /// + [Serializable()] + [DataContract()] + [Segment("REA")] + public class REA { + + /// + /// Composite Type of Real Estate Asset Code + /// + [DataMember] + [Required] + [Pos(1)] + public C047 CompositeTypeofRealEstateAssetCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Property Ownership Rights Code + /// + [DataMember] + [DataElement("1078", typeof(X12_ID_1078))] + [Pos(4)] + public string PropertyOwnershipRightsCode_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Status of Plans for Real Estate Asset Code + /// + [DataMember] + [DataElement("1075", typeof(X12_ID_1075))] + [Pos(6)] + public string StatusofPlansforRealEstateAssetCode_06 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(7)] + public string DateTimePeriodFormatQualifier_07 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(8)] + public string DateTimePeriod_08 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(9)] + public C001 CompositeUnitofMeasure_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(11)] + public string LocationQualifier_11 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(12)] + public string ReferenceIdentification_12 { + get; + set; + } + /// + /// Type of Residence Code + /// + [DataMember] + [DataElement("1070", typeof(X12_ID_1070))] + [Pos(13)] + public string TypeofResidenceCode_13 { + get; + set; + } + } + + /// + /// Real Estate Condition + /// + [Serializable()] + [DataContract()] + [Segment("REC")] + public class REC { + + /// + /// Occupancy Code + /// + [DataMember] + [Required] + [DataElement("689", typeof(X12_ID_689))] + [Pos(1)] + public string OccupancyCode_01 { + get; + set; + } + /// + /// Real Estate Property Condition Code + /// + [DataMember] + [DataElement("726", typeof(X12_ID_726))] + [Pos(2)] + public string RealEstatePropertyConditionCode_02 { + get; + set; + } + /// + /// Property Damage Code + /// + [DataMember] + [DataElement("448", typeof(X12_ID_448))] + [Pos(3)] + public string PropertyDamageCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Property Inspection Qualifier + /// + [DataMember] + [DataElement("815", typeof(X12_ID_815))] + [Pos(6)] + public string PropertyInspectionQualifier_06 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(7)] + public string ActionCode_07 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(8)] + public string QuantityQualifier_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(10)] + public C001 CompositeUnitofMeasure_10 { + get; + set; + } + /// + /// Occupancy Verification Code + /// + [DataMember] + [DataElement("816", typeof(X12_ID_816))] + [Pos(11)] + public string OccupancyVerificationCode_11 { + get; + set; + } + /// + /// Note Reference Code + /// + [DataMember] + [DataElement("363", typeof(X12_ID_363))] + [Pos(12)] + public string NoteReferenceCode_12 { + get; + set; + } + /// + /// Free Form Message + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("3", typeof(X12_AN))] + [Pos(13)] + public string FreeFormMessage_13 { + get; + set; + } + } + + /// + /// Related Data + /// + [Serializable()] + [DataContract()] + [Segment("RED")] + public class RED { + + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(1)] + public string Description_01 { + get; + set; + } + /// + /// Related Data Identification Code + /// + [DataMember] + [DataElement("1609", typeof(X12_ID_1609))] + [Pos(2)] + public string RelatedDataIdentificationCode_02 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(3)] + public string AgencyQualifierCode_03 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(4)] + public string SourceSubqualifier_04 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(5)] + public string CodeListQualifierCode_05 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(6)] + public string IndustryCode_06 { + get; + set; + } + } + + /// + /// Reference Identification + /// + [Serializable()] + [DataContract()] + [Segment("REF")] + public class REF { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Reference Identifier + /// + [DataMember] + [Pos(4)] + public C040 ReferenceIdentifier_04 { + get; + set; + } + } + + /// + /// Relationship + /// + [Serializable()] + [DataContract()] + [Segment("REL")] + public class REL { + + /// + /// Individual Relationship Code + /// + [DataMember] + [Required] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(1)] + public string IndividualRelationshipCode_01 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(2)] + public string Number_02 { + get; + set; + } + } + + /// + /// Rate Request Information + /// + [Serializable()] + [DataContract()] + [Segment("REN")] + public class REN { + + /// + /// Rate Request/Response Code + /// + [DataMember] + [Required] + [DataElement("635", typeof(X12_ID_635))] + [Pos(1)] + public string RateRequestResponseCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(4)] + public string StandardCarrierAlphaCode_04 { + get; + set; + } + /// + /// Rate Request/Response Code + /// + [DataMember] + [DataElement("635", typeof(X12_ID_635))] + [Pos(5)] + public string RateRequestResponseCode_05 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(6)] + public string StandardCarrierAlphaCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + } + + /// + /// Repair Action + /// + [Serializable()] + [DataContract()] + [Segment("REP")] + public class REP { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(2)] + public string ProductServiceIDQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(4)] + public string ProductServiceIDQualifier_04 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(5)] + public string ProductServiceID_05 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(6)] + public string AgencyQualifierCode_06 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(7)] + public string SourceSubqualifier_07 { + get; + set; + } + /// + /// Repair Action Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1226", typeof(X12_AN))] + [Pos(8)] + public string RepairActionCode_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(10)] + public string AgencyQualifierCode_10 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(11)] + public string SourceSubqualifier_11 { + get; + set; + } + /// + /// Repair Complexity Code + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1227", typeof(X12_AN))] + [Pos(12)] + public string RepairComplexityCode_12 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(13)] + public string ProductServiceIDQualifier_13 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(14)] + public string ProductServiceID_14 { + get; + set; + } + /// + /// Repair Action Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1226", typeof(X12_AN))] + [Pos(15)] + public string RepairActionCode_15 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(16)] + public string Description_16 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(17)] + public string AgencyQualifierCode_17 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(18)] + public string SourceSubqualifier_18 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(19)] + public string ReferenceIdentification_19 { + get; + set; + } + /// + /// Authorization Identification + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("553", typeof(X12_AN))] + [Pos(20)] + public string AuthorizationIdentification_20 { + get; + set; + } + } + + /// + /// Request Information + /// + [Serializable()] + [DataContract()] + [Segment("REQ")] + public class REQ { + + /// + /// Inquiry Response Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1397", typeof(X12_AN))] + [Pos(1)] + public string InquiryResponseCode_01 { + get; + set; + } + /// + /// Inquiry Selection Code + /// + [DataMember] + [DataElement("1398", typeof(X12_ID_1398))] + [Pos(2)] + public string InquirySelectionCode_02 { + get; + set; + } + } + + /// + /// Real Estate Transaction + /// + [Serializable()] + [DataContract()] + [Segment("RET")] + public class RET { + + /// + /// Information Status Code + /// + [DataMember] + [DataElement("1201", typeof(X12_ID_1201))] + [Pos(1)] + public string InformationStatusCode_01 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(2)] + public string TransactionTypeCode_02 { + get; + set; + } + /// + /// Status Code + /// + [DataMember] + [DataElement("546", typeof(X12_ID_546))] + [Pos(3)] + public string StatusCode_03 { + get; + set; + } + /// + /// Status of Plans for Real Estate Asset Code + /// + [DataMember] + [DataElement("1075", typeof(X12_ID_1075))] + [Pos(4)] + public string StatusofPlansforRealEstateAssetCode_04 { + get; + set; + } + /// + /// Contract Type Code + /// + [DataMember] + [DataElement("1166", typeof(X12_ID_1166))] + [Pos(5)] + public string ContractTypeCode_05 { + get; + set; + } + } + + /// + /// Personal Property Rate + /// + [Serializable()] + [DataContract()] + [Segment("RH")] + public class RH { + + /// + /// Tariff Service Code + /// + [DataMember] + [DataElement("375", typeof(X12_ID_375))] + [Pos(1)] + public string TariffServiceCode_01 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(2)] + public string RateValueQualifier_02 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(3)] + public string FreightRate_03 { + get; + set; + } + } + + /// + /// Financial Return + /// + [Serializable()] + [DataContract()] + [Segment("RIC")] + public class RIC { + + /// + /// Application Error Condition Code + /// + [DataMember] + [Required] + [DataElement("647", typeof(X12_ID_647))] + [Pos(1)] + public string ApplicationErrorConditionCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Credit/Debit Flag Code + /// + [DataMember] + [Required] + [DataElement("478", typeof(X12_ID_478))] + [Pos(3)] + public string CreditDebitFlagCode_03 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(4)] + public string AccounCAumber_04 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(5)] + public string AccounCAumberQualifier_05 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [DataElement("506", typeof(X12_ID_506))] + [Pos(6)] + public string DFIIDNumberQualifier_06 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(7)] + public string DFIIdentificationNumber_07 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(8)] + public string AccounCAumber_08 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(9)] + public string AccounCAumberQualifier_09 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [DataElement("506", typeof(X12_ID_506))] + [Pos(10)] + public string DFIIDNumberQualifier_10 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(11)] + public string DFIIdentificationNumber_11 { + get; + set; + } + /// + /// Account Number + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(12)] + public string AccounCAumber_12 { + get; + set; + } + /// + /// Account Number Qualifier + /// + [DataMember] + [DataElement("569", typeof(X12_ID_569))] + [Pos(13)] + public string AccounCAumberQualifier_13 { + get; + set; + } + /// + /// (DFI) ID Number Qualifier + /// + [DataMember] + [DataElement("506", typeof(X12_ID_506))] + [Pos(14)] + public string DFIIDNumberQualifier_14 { + get; + set; + } + /// + /// (DFI) Identification Number + /// + [DataMember] + [StringLength(3, 12)] + [DataElement("507", typeof(X12_AN))] + [Pos(15)] + public string DFIIdentificationNumber_15 { + get; + set; + } + } + + /// + /// Down Payment Data + /// + [Serializable()] + [DataContract()] + [Segment("RLD")] + public class RLD { + + /// + /// Type of Downpayment Code + /// + [DataMember] + [DataElement("1083", typeof(X12_ID_1083))] + [Pos(1)] + public string TypeofDownpaymentCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(4)] + public string AmountQualifierCode_04 { + get; + set; + } + } + + /// + /// Real Estate Loan Type + /// + [Serializable()] + [DataContract()] + [Segment("RLT")] + public class RLT { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Real Estate Loan Type Code + /// + [DataMember] + [DataElement("1093", typeof(X12_ID_1093))] + [Pos(5)] + public string RealEstateLoanTypeCode_05 { + get; + set; + } + /// + /// Loan Payment Type Code + /// + [DataMember] + [DataElement("1085", typeof(X12_ID_1085))] + [Pos(6)] + public string LoanPaymentTypeCode_06 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(7)] + public string QuantityQualifier_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(9)] + public C001 CompositeUnitofMeasure_09 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(10)] + public string ReferenceIdentificationQualifier_10 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(11)] + public string ReferenceIdentification_11 { + get; + set; + } + /// + /// Program Type Code + /// + [DataMember] + [DataElement("1193", typeof(X12_ID_1193))] + [Pos(12)] + public string ProgramTypeCode_12 { + get; + set; + } + } + + /// + /// Remittance Advice Accounts Receivable Open Item Reference + /// + [Serializable()] + [DataContract()] + [Segment("RMR")] + public class RMR { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Payment Action Code + /// + [DataMember] + [DataElement("482", typeof(X12_ID_482))] + [Pos(3)] + public string PaymentActionCode_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Adjustment Reason Code + /// + [DataMember] + [DataElement("426", typeof(X12_ID_426))] + [Pos(7)] + public string AdjustmentReasonCode_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + } + + /// + /// Remittance Advice + /// + [Serializable()] + [DataContract()] + [Segment("RMT")] + public class RMT { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Adjustment Reason Code + /// + [DataMember] + [DataElement("426", typeof(X12_ID_426))] + [Pos(9)] + public string AdjustmentReasonCode_09 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(10)] + public string Description_10 { + get; + set; + } + } + + /// + /// Public Record or Obligation + /// + [Serializable()] + [DataContract()] + [Segment("RO")] + public class RO { + + /// + /// Public Record or Obligation Code + /// + [DataMember] + [Required] + [DataElement("1185", typeof(X12_ID_1185))] + [Pos(1)] + public string PublicRecordorObligationCode_01 { + get; + set; + } + /// + /// Disposition Code + /// + [DataMember] + [DataElement("611", typeof(X12_ID_611))] + [Pos(2)] + public string DispositionCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(4)] + public string AmountQualifierCode_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(6)] + public string RateValueQualifier_06 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(7)] + public string ReferenceIdentificationQualifier_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Type of Account Code + /// + [DataMember] + [DataElement("1187", typeof(X12_ID_1187))] + [Pos(9)] + public string TypeofAccountCode_09 { + get; + set; + } + } + + /// + /// Retirement Product + /// + [Serializable()] + [DataContract()] + [Segment("RP")] + public class RP { + + /// + /// Maintenance Type Code + /// + [DataMember] + [Required] + [DataElement("875", typeof(X12_ID_875))] + [Pos(1)] + public string MaintenanceTypeCode_01 { + get; + set; + } + /// + /// Insurance Line Code + /// + [DataMember] + [DataElement("1205", typeof(X12_ID_1205))] + [Pos(2)] + public string InsuranceLineCode_02 { + get; + set; + } + /// + /// Maintenance Reason Code + /// + [DataMember] + [DataElement("1203", typeof(X12_ID_1203))] + [Pos(3)] + public string MaintenanceReasonCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Participant Status Code + /// + [DataMember] + [DataElement("1295", typeof(X12_ID_1295))] + [Pos(5)] + public string ParticipantStatusCode_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + /// + /// Special Processing Type + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1296", typeof(X12_AN))] + [Pos(7)] + public string SpecialProcessingType_07 { + get; + set; + } + /// + /// Authority + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("151", typeof(X12_AN))] + [Pos(8)] + public string Authority_08 { + get; + set; + } + /// + /// Plan Coverage Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("1204", typeof(X12_AN))] + [Pos(9)] + public string PlanCoverageDescription_09 { + get; + set; + } + } + + /// + /// Rate Amounts or Percents + /// + [Serializable()] + [DataContract()] + [Segment("RPA")] + public class RPA { + + /// + /// Rate or Value Type Code + /// + [DataMember] + [Required] + [DataElement("562", typeof(X12_ID_562))] + [Pos(1)] + public string RateorValueTypeCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(3)] + public string Rate_03 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(4)] + public C001 CompositeUnitofMeasure_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + } + + /// + /// Request for Information + /// + [Serializable()] + [DataContract()] + [Segment("RQS")] + public class RQS { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + } + + /// + /// Required Response + /// + [Serializable()] + [DataContract()] + [Segment("RRA")] + public class RRA { + + /// + /// Information Type + /// + [DataMember] + [Required] + [DataElement("701", typeof(X12_ID_701))] + [Pos(1)] + public string InformationType_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + } + + /// + /// Rate Subset + /// + [Serializable()] + [DataContract()] + [Segment("RS")] + public class RS { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(2)] + public string Number_02 { + get; + set; + } + /// + /// Rate Level Qualifier Code + /// + [DataMember] + [DataElement("856", typeof(X12_ID_856))] + [Pos(3)] + public string RateLevelQualifierCode_03 { + get; + set; + } + /// + /// Rate Level + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("500", typeof(X12_AN))] + [Pos(4)] + public string RateLevel_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + } + + /// + /// Resource + /// + [Serializable()] + [DataContract()] + [Segment("RSC")] + public class RSC { + + /// + /// Resource Code (or Identifier) + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("1180", typeof(X12_AN))] + [Pos(1)] + public string ResourceCodeorIdentifier_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Resource Type + /// + [DataMember] + [DataElement("1181", typeof(X12_ID_1181))] + [Pos(3)] + public string ResourceType_03 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(4)] + public string ActionCode_04 { + get; + set; + } + } + + /// + /// Residency Information + /// + [Serializable()] + [DataContract()] + [Segment("RSD")] + public class RSD { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Individual Relationship Code + /// + [DataMember] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(3)] + public string IndividualRelationshipCode_03 { + get; + set; + } + } + + /// + /// Carrier Restriction + /// + [Serializable()] + [DataContract()] + [Segment("RST")] + public class RST { + + /// + /// Carrier Restriction Code + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("281", typeof(X12_AN))] + [Pos(1)] + public string CarrierRestrictionCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + } + + /// + /// Rate Destination + /// + [Serializable()] + [DataContract()] + [Segment("RT")] + public class RT { + + /// + /// Rate/Value Qualifier + /// + [DataMember] + [Required] + [DataElement("122", typeof(X12_ID_122))] + [Pos(1)] + public string RateValueQualifier_01 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(2)] + public string StandardPointLocationCode_02 { + get; + set; + } + /// + /// Dealer Code + /// + [DataMember] + [StringLength(2, 9)] + [DataElement("838", typeof(X12_AN))] + [Pos(3)] + public string DealerCode_03 { + get; + set; + } + /// + /// Vehicle Service Code + /// + [DataMember] + [DataElement("1062", typeof(X12_ID_1062))] + [Pos(4)] + public string VehicleServiceCode_04 { + get; + set; + } + /// + /// Distance Qualifier + /// + [DataMember] + [DataElement("295", typeof(X12_ID_295))] + [Pos(5)] + public string DistanceQualifier_05 { + get; + set; + } + /// + /// Tariff Distance + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("294", typeof(X12_N0))] + [Pos(6)] + public string TariffDistance_06 { + get; + set; + } + /// + /// National Motor Freight Transportation Association Location Name + /// + [DataMember] + [StringLength(2, 27)] + [DataElement("1244", typeof(X12_AN))] + [Pos(7)] + public string NationalMotorFreightTransportationAssociationLocationName_07 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(8)] + public string StateorProvinceCode_08 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(9)] + public string Name_09 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(10)] + public string AddressInformation_10 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(11)] + public string IdentificationCode_11 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(12)] + public string IdentificationCodeQualifier_12 { + get; + set; + } + } + + /// + /// Rate Detail + /// + [Serializable()] + [DataContract()] + [Segment("RT1")] + public class RT1 { + + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(1)] + public string TransportationMethodTypeCode_01 { + get; + set; + } + /// + /// Vehicle Type Code + /// + [DataMember] + [Required] + [DataElement("837", typeof(X12_ID_837))] + [Pos(2)] + public string VehicleTypeCode_02 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(3)] + public string FreightRate_03 { + get; + set; + } + /// + /// Rounding Rule Code + /// + [DataMember] + [DataElement("377", typeof(X12_ID_377))] + [Pos(4)] + public string RoundingRuleCode_04 { + get; + set; + } + /// + /// Vehicle Identification Number (VIN) Plant Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1245", typeof(X12_AN))] + [Pos(5)] + public string VehicleIdentificationNumberVINPlantCode_05 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(6)] + public string EquipmentDescriptionCode_06 { + get; + set; + } + /// + /// Tariff Item Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("169", typeof(X12_AN))] + [Pos(7)] + public string TariffItemNumber_07 { + get; + set; + } + /// + /// Special Rate Code + /// + [DataMember] + [DataElement("1246", typeof(X12_ID_1246))] + [Pos(8)] + public string SpecialRateCode_08 { + get; + set; + } + } + + /// + /// Rate Information + /// + [Serializable()] + [DataContract()] + [Segment("RTE")] + public class RTE { + + /// + /// Rate Qualifier + /// + [DataMember] + [Required] + [DataElement("1387", typeof(X12_ID_1387))] + [Pos(1)] + public string RateQualifier_01 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(2)] + public string InterestRate_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(4)] + public string Number_04 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(5)] + public string Number_05 { + get; + set; + } + } + + /// + /// Tariff Rates + /// + [Serializable()] + [DataContract()] + [Segment("RTS")] + public class RTS { + + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(1)] + public string FreightRate_01 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(2)] + public string FreightRate_02 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(3)] + public string FreightRate_03 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(4)] + public string FreightRate_04 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(5)] + public string FreightRate_05 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(6)] + public string FreightRate_06 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(7)] + public string FreightRate_07 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(8)] + public string FreightRate_08 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(9)] + public string FreightRate_09 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(10)] + public string FreightRate_10 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(11)] + public string FreightRate_11 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(12)] + public string FreightRate_12 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(13)] + public string FreightRate_13 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(14)] + public string FreightRate_14 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(15)] + public string FreightRate_15 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(16)] + public string FreightRate_16 { + get; + set; + } + } + + /// + /// Freight Rate + /// + [Serializable()] + [DataContract()] + [Segment("RTT")] + public class RTT { + + /// + /// Rate/Value Qualifier + /// + [DataMember] + [Required] + [DataElement("122", typeof(X12_ID_122))] + [Pos(1)] + public string RateValueQualifier_01 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(2)] + public string FreightRate_02 { + get; + set; + } + } + + /// + /// Retirement Board Detail + /// + [Serializable()] + [DataContract()] + [Segment("RU1")] + public class RU1 { + + /// + /// Rail Retirement Activity Code + /// + [DataMember] + [Required] + [DataElement("535", typeof(X12_ID_535))] + [Pos(1)] + public string RailRetirementActivityCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(3)] + public string Name_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Employment Code + /// + [DataMember] + [DataElement("537", typeof(X12_ID_537))] + [Pos(6)] + public string EmploymentCode_06 { + get; + set; + } + /// + /// Unemployed Reason Code + /// + [DataMember] + [DataElement("545", typeof(X12_ID_545))] + [Pos(7)] + public string UnemployedReasonCode_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Claim Profile + /// + [DataMember] + [StringLength(14, 14)] + [DataElement("574", typeof(X12_AN))] + [Pos(9)] + public string ClaimProfile_09 { + get; + set; + } + } + + /// + /// Employing Carrier Response + /// + [Serializable()] + [DataContract()] + [Segment("RU2")] + public class RU2 { + + /// + /// Rail Retirement Activity Code + /// + [DataMember] + [Required] + [DataElement("535", typeof(X12_ID_535))] + [Pos(1)] + public string RailRetirementActivityCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Employment Status Code + /// + [DataMember] + [DataElement("584", typeof(X12_ID_584))] + [Pos(4)] + public string EmploymentStatusCode_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(6)] + public string FrequencyCode_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + } + + /// + /// Employing Carrier Claim Profile + /// + [Serializable()] + [DataContract()] + [Segment("RU3")] + public class RU3 { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(2)] + public string PayrollStatusCode_02 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(3)] + public string WagesPaidCode_03 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(4)] + public string PayrollStatusCode_04 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(5)] + public string WagesPaidCode_05 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(6)] + public string PayrollStatusCode_06 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(7)] + public string WagesPaidCode_07 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(8)] + public string PayrollStatusCode_08 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(9)] + public string WagesPaidCode_09 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(10)] + public string PayrollStatusCode_10 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(11)] + public string WagesPaidCode_11 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(12)] + public string PayrollStatusCode_12 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(13)] + public string WagesPaidCode_13 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(14)] + public string PayrollStatusCode_14 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(15)] + public string WagesPaidCode_15 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(16)] + public string PayrollStatusCode_16 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(17)] + public string WagesPaidCode_17 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(18)] + public string PayrollStatusCode_18 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(19)] + public string WagesPaidCode_19 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(20)] + public string PayrollStatusCode_20 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(21)] + public string WagesPaidCode_21 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(22)] + public string PayrollStatusCode_22 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(23)] + public string WagesPaidCode_23 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(24)] + public string PayrollStatusCode_24 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(25)] + public string WagesPaidCode_25 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(26)] + public string PayrollStatusCode_26 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(27)] + public string WagesPaidCode_27 { + get; + set; + } + /// + /// Payroll Status Code + /// + [DataMember] + [DataElement("585", typeof(X12_ID_585))] + [Pos(28)] + public string PayrollStatusCode_28 { + get; + set; + } + /// + /// Wages Paid Code + /// + [DataMember] + [DataElement("590", typeof(X12_ID_590))] + [Pos(29)] + public string WagesPaidCode_29 { + get; + set; + } + } + + /// + /// Royalty Payment + /// + [Serializable()] + [DataContract()] + [Segment("RYL")] + public class RYL { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Name Last or Organization Name + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1035", typeof(X12_AN))] + [Pos(2)] + public string NameLastorOrganizationName_02 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(3)] + public string IdentificationCodeQualifier_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + } + + /// + /// Stop-off Name + /// + [Serializable()] + [DataContract()] + [Segment("S1")] + public class S1 { + + /// + /// Stop Sequence Number + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("165", typeof(X12_N0))] + [Pos(1)] + public string StopSequenceNumber_01 { + get; + set; + } + /// + /// Name (30 Character Format) + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("459", typeof(X12_AN))] + [Pos(2)] + public string NameCharacterFormat_02 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(3)] + public string IdentificationCodeQualifier_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Accomplish Code + /// + [DataMember] + [Required] + [DataElement("190", typeof(X12_ID_190))] + [Pos(6)] + public string AccomplishCode_06 { + get; + set; + } + } + + /// + /// Stop-off Address + /// + [Serializable()] + [DataContract()] + [Segment("S2")] + public class S2 { + + /// + /// Stop Sequence Number + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("165", typeof(X12_N0))] + [Pos(1)] + public string StopSequenceNumber_01 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [Required] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(2)] + public string AddressInformation_02 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(3)] + public string AddressInformation_03 { + get; + set; + } + } + + /// + /// Stop Off Details + /// + [Serializable()] + [DataContract()] + [Segment("S5")] + public class S5 { + + /// + /// Stop Sequence Number + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("165", typeof(X12_N0))] + [Pos(1)] + public string StopSequenceNumber_01 { + get; + set; + } + /// + /// Stop Reason Code + /// + [DataMember] + [Required] + [DataElement("163", typeof(X12_ID_163))] + [Pos(2)] + public string StopReasonCode_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(4)] + public string WeightUnitCode_04 { + get; + set; + } + /// + /// Number of Units Shipped + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(5)] + public string NumberofUnitsShipped_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(7)] + public string Volume_07 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(8)] + public string VolumeUnitQualifier_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(10)] + public string StandardPointLocationCode_10 { + get; + set; + } + /// + /// Accomplish Code + /// + [DataMember] + [DataElement("190", typeof(X12_ID_190))] + [Pos(11)] + public string AccomplishCode_11 { + get; + set; + } + } + + /// + /// Stop-off Station + /// + [Serializable()] + [DataContract()] + [Segment("S9")] + public class S9 { + + /// + /// Stop Sequence Number + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("165", typeof(X12_N0))] + [Pos(1)] + public string StopSequenceNumber_01 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(2)] + public string StandardPointLocationCode_02 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(3)] + public string CityName_03 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(4)] + public string StateorProvinceCode_04 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(5)] + public string CountryCode_05 { + get; + set; + } + /// + /// Stop Reason Code + /// + [DataMember] + [Required] + [DataElement("163", typeof(X12_ID_163))] + [Pos(6)] + public string StopReasonCode_06 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(7)] + public string LocationQualifier_07 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(8)] + public string LocationIdentifier_08 { + get; + set; + } + } + + /// + /// Status Action + /// + [Serializable()] + [DataContract()] + [Segment("SA")] + public class SA { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(2)] + public string ActionCode_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Name (30 Character Format) + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("459", typeof(X12_AN))] + [Pos(4)] + public string NameCharacterFormat_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + } + + /// + /// Service, Promotion, Allowance, or Charge Information + /// + [Serializable()] + [DataContract()] + [Segment("SAC")] + public class SAC { + + /// + /// Allowance or Charge Indicator + /// + [DataMember] + [Required] + [DataElement("248", typeof(X12_ID_248))] + [Pos(1)] + public string AllowanceorChargeIndicator_01 { + get; + set; + } + /// + /// Service, Promotion, Allowance, or Charge Code + /// + [DataMember] + [DataElement("1300", typeof(X12_ID_1300))] + [Pos(2)] + public string ServicePromotionAllowanceorChargeCode_02 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(3)] + public string AgencyQualifierCode_03 { + get; + set; + } + /// + /// Agency Service, Promotion, Allowance, or Charge Code + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("1301", typeof(X12_AN))] + [Pos(4)] + public string AgencyServicePromotionAllowanceorChargeCode_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + /// + /// Allowance/Charge Percent Qualifier + /// + [DataMember] + [DataElement("378", typeof(X12_ID_378))] + [Pos(6)] + public string AllowanceChargePercentQualifier_06 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("332", typeof(X12_R))] + [Pos(7)] + public string Percent_07 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(8)] + public string Rate_08 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(9)] + public string UnitorBasisforMeasurementCode_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(11)] + public string Quantity_11 { + get; + set; + } + /// + /// Allowance or Charge Method of Handling Code + /// + [DataMember] + [DataElement("331", typeof(X12_ID_331))] + [Pos(12)] + public string AllowanceorChargeMethodofHandlingCode_12 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(13)] + public string ReferenceIdentification_13 { + get; + set; + } + /// + /// Option Number + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("770", typeof(X12_AN))] + [Pos(14)] + public string OptionNumber_14 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(15)] + public string Description_15 { + get; + set; + } + /// + /// Language Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("819", typeof(X12_AN))] + [Pos(16)] + public string LanguageCode_16 { + get; + set; + } + } + + /// + /// Salary Information + /// + [Serializable()] + [DataContract()] + [Segment("SAL")] + public class SAL { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(2)] + public string Amount_02 { + get; + set; + } + /// + /// Labor Rate + /// + [DataMember] + [StringLength(3, 6)] + [DataElement("543", typeof(X12_N2))] + [Pos(3)] + public string LaborRate_03 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(4)] + public string NumberofPeriods_04 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(5)] + public string UnitofTimePeriodorInterval_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + } + + /// + /// Docket Level + /// + [Serializable()] + [DataContract()] + [Segment("SB")] + public class SB { + + /// + /// Level + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("496", typeof(X12_N0))] + [Pos(1)] + public string Level_01 { + get; + set; + } + } + + /// + /// Subscriber Information + /// + [Serializable()] + [DataContract()] + [Segment("SBR")] + public class SBR { + + /// + /// Payer Responsibility Sequence Number Code + /// + [DataMember] + [Required] + [DataElement("1138", typeof(X12_ID_1138))] + [Pos(1)] + public string PayerResponsibilitySequenceNumberCode_01 { + get; + set; + } + /// + /// Individual Relationship Code + /// + [DataMember] + [DataElement("1069", typeof(X12_ID_1069))] + [Pos(2)] + public string IndividualRelationshipCode_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(4)] + public string Name_04 { + get; + set; + } + /// + /// Insurance Type Code + /// + [DataMember] + [DataElement("1336", typeof(X12_ID_1336))] + [Pos(5)] + public string InsuranceTypeCode_05 { + get; + set; + } + /// + /// Coordination of Benefits Code + /// + [DataMember] + [DataElement("1143", typeof(X12_ID_1143))] + [Pos(6)] + public string CoordinationofBenefitsCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Employment Status Code + /// + [DataMember] + [DataElement("584", typeof(X12_ID_584))] + [Pos(8)] + public string EmploymentStatusCode_08 { + get; + set; + } + /// + /// Claim Filing Indicator Code + /// + [DataMember] + [DataElement("1032", typeof(X12_ID_1032))] + [Pos(9)] + public string ClaimFilingIndicatorCode_09 { + get; + set; + } + } + + /// + /// Subtest + /// + [Serializable()] + [DataContract()] + [Segment("SBT")] + public class SBT { + + /// + /// Subtest Code + /// + [DataMember] + [Required] + [StringLength(5, 5)] + [DataElement("1158", typeof(X12_AN))] + [Pos(1)] + public string SubtestCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Test Score Interpretation Code + /// + [DataMember] + [DataElement("1159", typeof(X12_ID_1159))] + [Pos(3)] + public string TestScoreInterpretationCode_03 { + get; + set; + } + } + + /// + /// Docket Sub-level + /// + [Serializable()] + [DataContract()] + [Segment("SC")] + public class SC { + + /// + /// Level + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("496", typeof(X12_N0))] + [Pos(1)] + public string Level_01 { + get; + set; + } + /// + /// Sub Level + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("497", typeof(X12_AN))] + [Pos(2)] + public string SubLevel_02 { + get; + set; + } + } + + /// + /// Statistical Category Analysis + /// + [Serializable()] + [DataContract()] + [Segment("SCA")] + public class SCA { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Statistic Code + /// + [DataMember] + [DataElement("950", typeof(X12_ID_950))] + [Pos(3)] + public string StatisticCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(6)] + public string RangeMinimum_06 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(7)] + public string RangeMaximum_07 { + get; + set; + } + } + + /// + /// Sales Commission Employee Detail + /// + [Serializable()] + [DataContract()] + [Segment("SCD")] + public class SCD { + + /// + /// Employment Status Code + /// + [DataMember] + [Required] + [DataElement("584", typeof(X12_ID_584))] + [Pos(1)] + public string EmploymentStatusCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Employment Status Code + /// + [DataMember] + [DataElement("584", typeof(X12_ID_584))] + [Pos(3)] + public string EmploymentStatusCode_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(5)] + public string AgencyQualifierCode_05 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(6)] + public string IndustryCode_06 { + get; + set; + } + /// + /// Gender Code + /// + [DataMember] + [DataElement("1068", typeof(X12_ID_1068))] + [Pos(7)] + public string GenderCode_07 { + get; + set; + } + } + + /// + /// Line Item Schedule + /// + [Serializable()] + [DataContract()] + [Segment("SCH")] + public class SCH { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(3)] + public string EntityIdentifierCode_03 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(4)] + public string Name_04 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [Required] + [DataElement("374", typeof(X12_ID_374))] + [Pos(5)] + public string DateTimeQualifier_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(7)] + public string Time_07 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(8)] + public string DateTimeQualifier_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(10)] + public string Time_10 { + get; + set; + } + /// + /// Request Reference Number + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("326", typeof(X12_AN))] + [Pos(11)] + public string RequestReferenceNumber_11 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(12)] + public string AssignedIdentification_12 { + get; + set; + } + } + + /// + /// Rate Basis/Scales + /// + [Serializable()] + [DataContract()] + [Segment("SCL")] + public class SCL { + + /// + /// Rate Basis Qualifier + /// + [DataMember] + [Required] + [DataElement("969", typeof(X12_ID_969))] + [Pos(1)] + public string RateBasisQualifier_01 { + get; + set; + } + /// + /// Rate Basis Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("119", typeof(X12_AN))] + [Pos(2)] + public string RateBasisNumber_02 { + get; + set; + } + /// + /// Rate Basis Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("119", typeof(X12_AN))] + [Pos(3)] + public string RateBasisNumber_03 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(4)] + public string LocationQualifier_04 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(5)] + public string LocationIdentifier_05 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(6)] + public string LocationIdentifier_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Tariff Add-On Factor + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("970", typeof(X12_N))] + [Pos(8)] + public string TariffAddOnFactor_08 { + get; + set; + } + /// + /// Tariff Class Adjustment Reference + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("972", typeof(X12_AN))] + [Pos(9)] + public string TariffClassAdjustmentReference_09 { + get; + set; + } + /// + /// Tariff Class Adjustment Reference + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("972", typeof(X12_AN))] + [Pos(10)] + public string TariffClassAdjustmentReference_10 { + get; + set; + } + } + + /// + /// Credit Score Model + /// + [Serializable()] + [DataContract()] + [Segment("SCM")] + public class SCM { + + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(1)] + public string ProductServiceID_01 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(2)] + public string Number_02 { + get; + set; + } + /// + /// Evaluation Rating Code + /// + [DataMember] + [DataElement("484", typeof(X12_ID_484))] + [Pos(3)] + public string EvaluationRatingCode_03 { + get; + set; + } + /// + /// Free Form Message + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("3", typeof(X12_AN))] + [Pos(4)] + public string FreeFormMessage_04 { + get; + set; + } + } + + /// + /// Beginning Segment for Cartage Work Assignment + /// + [Serializable()] + [DataContract()] + [Segment("SCN")] + public class SCN { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(3)] + public string TransactionSetPurposeCode_03 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(4)] + public string ShipmentMethodofPayment_04 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(5)] + public string Amount_05 { + get; + set; + } + } + + /// + /// Shipper's Car Ordered + /// + [Serializable()] + [DataContract()] + [Segment("SCO")] + public class SCO { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [Required] + [DataElement("23", typeof(X12_ID_23))] + [Pos(2)] + public string CommodityCodeQualifier_02 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(3)] + public string CommodityCode_03 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(4)] + public string CarTypeCode_04 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(5)] + public string EquipmentDescriptionCode_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Equipment Length + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("567", typeof(X12_N0))] + [Pos(7)] + public string EquipmentLength_07 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(8)] + public string Height_08 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(9)] + public string Width_09 { + get; + set; + } + /// + /// Weight Capacity + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("233", typeof(X12_N0))] + [Pos(10)] + public string WeightCapacity_10 { + get; + set; + } + /// + /// Cubic Capacity + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("203", typeof(X12_N0))] + [Pos(11)] + public string CubicCapacity_11 { + get; + set; + } + /// + /// Protective Service Code + /// + [DataMember] + [DataElement("241", typeof(X12_ID_241))] + [Pos(12)] + public string ProtectiveServiceCode_12 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(13)] + public string Temperature_13 { + get; + set; + } + /// + /// Floor Type Code + /// + [DataMember] + [DataElement("1140", typeof(X12_ID_1140))] + [Pos(14)] + public string FloorTypeCode_14 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(15)] + public string Height_15 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(16)] + public string Width_16 { + get; + set; + } + /// + /// Door Type Code + /// + [DataMember] + [DataElement("1168", typeof(X12_ID_1168))] + [Pos(17)] + public string DoorTypeCode_17 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(18)] + public string CarTypeCode_18 { + get; + set; + } + } + + /// + /// Beginning Segment for a Cartage Work Assignment Response + /// + [Serializable()] + [DataContract()] + [Segment("SCP")] + public class SCP { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reservation Action Code + /// + [DataMember] + [Required] + [DataElement("558", typeof(X12_ID_558))] + [Pos(3)] + public string ReservationActionCode_03 { + get; + set; + } + /// + /// Shipment or Work Assignment Decline Reason Code + /// + [DataMember] + [DataElement("1658", typeof(X12_ID_1658))] + [Pos(4)] + public string ShipmentorWorkAssignmentDeclineReasonCode_04 { + get; + set; + } + } + + /// + /// Credit Score + /// + [Serializable()] + [DataContract()] + [Segment("SCS")] + public class SCS { + + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(2)] + public string FreeFormMessageText_02 { + get; + set; + } + } + + /// + /// School Type + /// + [Serializable()] + [DataContract()] + [Segment("SCT")] + public class SCT { + + /// + /// Academic Credit Type Code + /// + [DataMember] + [DataElement("1141", typeof(X12_ID_1141))] + [Pos(1)] + public string AcademicCreditTypeCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Session Code + /// + [DataMember] + [DataElement("1139", typeof(X12_ID_1139))] + [Pos(3)] + public string SessionCode_03 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(4)] + public string DateTimePeriodFormatQualifier_04 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(5)] + public string DateTimePeriod_05 { + get; + set; + } + } + + /// + /// Safety Data + /// + [Serializable()] + [DataContract()] + [Segment("SD1")] + public class SD1 { + + /// + /// Item Description Type + /// + [DataMember] + [Required] + [DataElement("349", typeof(X12_ID_349))] + [Pos(1)] + public string ItemDescriptionType_01 { + get; + set; + } + /// + /// Safety Characteristic/Hazard Code + /// + [DataMember] + [Required] + [DataElement("821", typeof(X12_ID_821))] + [Pos(2)] + public string SafetyCharacteristicHazardCode_02 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(3)] + public string AgencyQualifierCode_03 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(4)] + public string SourceSubqualifier_04 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(5)] + public string ProductDescriptionCode_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(8)] + public string CountryCode_08 { + get; + set; + } + } + + /// + /// Ship/Delivery Pattern + /// + [Serializable()] + [DataContract()] + [Segment("SDP")] + public class SDP { + + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [Required] + [DataElement("678", typeof(X12_ID_678))] + [Pos(1)] + public string ShipDeliveryorCalendarPatternCode_01 { + get; + set; + } + /// + /// Ship/Delivery Pattern Time Code + /// + [DataMember] + [Required] + [DataElement("679", typeof(X12_ID_679))] + [Pos(2)] + public string ShipDeliveryPatternTimeCode_02 { + get; + set; + } + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [DataElement("678", typeof(X12_ID_678))] + [Pos(3)] + public string ShipDeliveryorCalendarPatternCode_03 { + get; + set; + } + /// + /// Ship/Delivery Pattern Time Code + /// + [DataMember] + [DataElement("679", typeof(X12_ID_679))] + [Pos(4)] + public string ShipDeliveryPatternTimeCode_04 { + get; + set; + } + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [DataElement("678", typeof(X12_ID_678))] + [Pos(5)] + public string ShipDeliveryorCalendarPatternCode_05 { + get; + set; + } + /// + /// Ship/Delivery Pattern Time Code + /// + [DataMember] + [DataElement("679", typeof(X12_ID_679))] + [Pos(6)] + public string ShipDeliveryPatternTimeCode_06 { + get; + set; + } + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [DataElement("678", typeof(X12_ID_678))] + [Pos(7)] + public string ShipDeliveryorCalendarPatternCode_07 { + get; + set; + } + /// + /// Ship/Delivery Pattern Time Code + /// + [DataMember] + [DataElement("679", typeof(X12_ID_679))] + [Pos(8)] + public string ShipDeliveryPatternTimeCode_08 { + get; + set; + } + } + + /// + /// Destination Quantity + /// + [Serializable()] + [DataContract()] + [Segment("SDQ")] + public class SDQ { + + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(1)] + public string UnitorBasisforMeasurementCode_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(7)] + public string IdentificationCode_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(9)] + public string IdentificationCode_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(11)] + public string IdentificationCode_11 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(12)] + public string Quantity_12 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(13)] + public string IdentificationCode_13 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(14)] + public string Quantity_14 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(15)] + public string IdentificationCode_15 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(16)] + public string Quantity_16 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(17)] + public string IdentificationCode_17 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(18)] + public string Quantity_18 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(19)] + public string IdentificationCode_19 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(20)] + public string Quantity_20 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(21)] + public string IdentificationCode_21 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(22)] + public string Quantity_22 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(23)] + public string LocationIdentifier_23 { + get; + set; + } + } + + /// + /// Service Charges + /// + [Serializable()] + [DataContract()] + [Segment("SER")] + public class SER { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(5)] + public string UnitPrice_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Price Identifier Code + /// + [DataMember] + [DataElement("236", typeof(X12_ID_236))] + [Pos(8)] + public string PriceIdentifierCode_08 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("107", typeof(X12_ID_107))] + [Pos(9)] + public string PaymentMethodCode_09 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(10)] + public string ReferenceIdentificationQualifier_10 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(11)] + public string ReferenceIdentification_11 { + get; + set; + } + } + + /// + /// Academic Session Header + /// + [Serializable()] + [DataContract()] + [Segment("SES")] + public class SES { + + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(1)] + public string DateTimePeriod_01 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(2)] + public string Count_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Session Code + /// + [DataMember] + [DataElement("1139", typeof(X12_ID_1139))] + [Pos(4)] + public string SessionCode_04 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(5)] + public string Name_05 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(6)] + public string DateTimePeriodFormatQualifier_06 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(7)] + public string DateTimePeriod_07 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(8)] + public string DateTimePeriodFormatQualifier_08 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(9)] + public string DateTimePeriod_09 { + get; + set; + } + /// + /// Level of Individual, Test, or Course Code + /// + [DataMember] + [DataElement("1131", typeof(X12_ID_1131))] + [Pos(10)] + public string LevelofIndividualTestorCourseCode_10 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(11)] + public string IdentificationCodeQualifier_11 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(12)] + public string IdentificationCode_12 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(13)] + public string Name_13 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(14)] + public string StatusReasonCode_14 { + get; + set; + } + } + + /// + /// Storage Facility Characteristics + /// + [Serializable()] + [DataContract()] + [Segment("SFC")] + public class SFC { + + /// + /// Facility Characteristic Code Qualifier + /// + [DataMember] + [Required] + [DataElement("1241", typeof(X12_ID_1241))] + [Pos(1)] + public string FacilityCharacteristicCodeQualifier_01 { + get; + set; + } + /// + /// Facility Characteristic Code + /// + [DataMember] + [Required] + [DataElement("1240", typeof(X12_ID_1240))] + [Pos(2)] + public string FacilityCharacteristicCode_02 { + get; + set; + } + } + + /// + /// Shipment Status + /// + [Serializable()] + [DataContract()] + [Segment("SG")] + public class SG { + + /// + /// Shipment Status Code + /// + [DataMember] + [DataElement("157", typeof(X12_ID_157))] + [Pos(1)] + public string ShipmentStatusCode_01 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(2)] + public string StatusReasonCode_02 { + get; + set; + } + /// + /// Disposition Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("35", typeof(X12_AN))] + [Pos(3)] + public string DispositionCode_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(6)] + public string TimeCode_06 { + get; + set; + } + } + + /// + /// Shipment Detail + /// + [Serializable()] + [DataContract()] + [Segment("SHD")] + public class SHD { + + /// + /// Number of Units Shipped + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(1)] + public string NumberofUnitsShipped_01 { + get; + set; + } + /// + /// Quantity Received + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("413", typeof(X12_R))] + [Pos(2)] + public string QuantityReceived_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(6)] + public string Volume_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Order Sizing Factor + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("398", typeof(X12_R))] + [Pos(8)] + public string OrderSizingFactor_08 { + get; + set; + } + /// + /// Price Bracket Identifier + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("417", typeof(X12_AN))] + [Pos(9)] + public string PriceBracketIdentifier_09 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(10)] + public string TransportationMethodTypeCode_10 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(11)] + public string StandardCarrierAlphaCode_11 { + get; + set; + } + /// + /// Shipment/Order Status Code + /// + [DataMember] + [DataElement("368", typeof(X12_ID_368))] + [Pos(12)] + public string ShipmentOrderStatusCode_12 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(13)] + public string ReferenceIdentificationQualifier_13 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(14)] + public string ReferenceIdentification_14 { + get; + set; + } + } + + /// + /// Shipped/Received Information + /// + [Serializable()] + [DataContract()] + [Segment("SHP")] + public class SHP { + + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(1)] + public string QuantityQualifier_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(3)] + public string DateTimeQualifier_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(5)] + public string Time_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(7)] + public string Time_07 { + get; + set; + } + } + + /// + /// Railroad Interline Service Special Handling Restrictions + /// + [Serializable()] + [DataContract()] + [Segment("SHR")] + public class SHR { + + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(1)] + public string YesNoConditionorResponseCode_01 { + get; + set; + } + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(2)] + public string SpecialHandlingCode_02 { + get; + set; + } + } + + /// + /// Service Characteristic Identification + /// + [Serializable()] + [DataContract()] + [Segment("SI")] + public class SI { + + /// + /// Agency Qualifier Code + /// + [DataMember] + [Required] + [DataElement("559", typeof(X12_ID_559))] + [Pos(1)] + public string AgencyQualifierCode_01 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(2)] + public string ServiceCharacteristicsQualifier_02 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(3)] + public string ProductServiceID_03 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(4)] + public string ServiceCharacteristicsQualifier_04 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(5)] + public string ProductServiceID_05 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(6)] + public string ServiceCharacteristicsQualifier_06 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(7)] + public string ProductServiceID_07 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(8)] + public string ServiceCharacteristicsQualifier_08 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(9)] + public string ProductServiceID_09 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(10)] + public string ServiceCharacteristicsQualifier_10 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(11)] + public string ProductServiceID_11 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(12)] + public string ServiceCharacteristicsQualifier_12 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(13)] + public string ProductServiceID_13 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(14)] + public string ServiceCharacteristicsQualifier_14 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(15)] + public string ProductServiceID_15 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(16)] + public string ServiceCharacteristicsQualifier_16 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(17)] + public string ProductServiceID_17 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(18)] + public string ServiceCharacteristicsQualifier_18 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(19)] + public string ProductServiceID_19 { + get; + set; + } + /// + /// Service Characteristics Qualifier + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1000", typeof(X12_AN))] + [Pos(20)] + public string ServiceCharacteristicsQualifier_20 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(21)] + public string ProductServiceID_21 { + get; + set; + } + } + + /// + /// Standard Transportation Commodity Code Identification + /// + [Serializable()] + [DataContract()] + [Segment("SID")] + public class SID { + + /// + /// Commodity Code Qualifier + /// + [DataMember] + [Required] + [DataElement("23", typeof(X12_ID_23))] + [Pos(1)] + public string CommodityCodeQualifier_01 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(2)] + public string CommodityCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Rating Summary Value Code + /// + [DataMember] + [DataElement("708", typeof(X12_ID_708))] + [Pos(5)] + public string RatingSummaryValueCode_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + } + + /// + /// Sales Item Information + /// + [Serializable()] + [DataContract()] + [Segment("SII")] + public class SII { + + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [Required] + [DataElement("235", typeof(X12_ID_235))] + [Pos(1)] + public string ProductServiceIDQualifier_01 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [Required] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(2)] + public string ProductServiceID_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(4)] + public C001 CompositeUnitofMeasure_04 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(5)] + public string UnitPrice_05 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(6)] + public string UnitPrice_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + } + + /// + /// Substance Use + /// + [Serializable()] + [DataContract()] + [Segment("SIN")] + public class SIN { + + /// + /// Information Status Code + /// + [DataMember] + [Required] + [DataElement("1201", typeof(X12_ID_1201))] + [Pos(1)] + public string InformationStatusCode_01 { + get; + set; + } + /// + /// Controlled Substance Type Code + /// + [DataMember] + [DataElement("1594", typeof(X12_ID_1594))] + [Pos(2)] + public string ControlledSubstanceTypeCode_02 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(3)] + public string FreeFormMessageText_03 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(4)] + public string FrequencyCode_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(6)] + public C001 CompositeUnitofMeasure_06 { + get; + set; + } + } + + /// + /// Tariff Reference + /// + [Serializable()] + [DataContract()] + [Segment("SL1")] + public class SL1 { + + /// + /// Service Level Code + /// + [DataMember] + [Required] + [DataElement("284", typeof(X12_ID_284))] + [Pos(1)] + public string ServiceLevelCode_01 { + get; + set; + } + /// + /// Tariff Number + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("171", typeof(X12_AN))] + [Pos(2)] + public string TariffNumber_02 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(3)] + public string CommodityCode_03 { + get; + set; + } + /// + /// Scale + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("320", typeof(X12_AN))] + [Pos(4)] + public string Scale_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(6)] + public string ServiceLevelCode_06 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [DataElement("146", typeof(X12_ID_146))] + [Pos(7)] + public string ShipmentMethodofPayment_07 { + get; + set; + } + /// + /// Data Source Code + /// + [DataMember] + [DataElement("982", typeof(X12_ID_982))] + [Pos(8)] + public string DataSourceCode_08 { + get; + set; + } + /// + /// International/Domestic Code + /// + [DataMember] + [DataElement("210", typeof(X12_ID_210))] + [Pos(9)] + public string InternationalDomesticCode_09 { + get; + set; + } + } + + /// + /// Specific Loan Information + /// + [Serializable()] + [DataContract()] + [Segment("SLI")] + public class SLI { + + /// + /// Loan Type Code + /// + [DataMember] + [Required] + [DataElement("1262", typeof(X12_ID_1262))] + [Pos(1)] + public string LoanTypeCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Interest Rate + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("953", typeof(X12_R))] + [Pos(4)] + public string InterestRate_04 { + get; + set; + } + /// + /// Loan Rate Type Code + /// + [DataMember] + [Required] + [DataElement("1086", typeof(X12_ID_1086))] + [Pos(5)] + public string LoanRateTypeCode_05 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(6)] + public string DateTimePeriodFormatQualifier_06 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(7)] + public string DateTimePeriod_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(10)] + public string DateTimePeriodFormatQualifier_10 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(11)] + public string DateTimePeriod_11 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(12)] + public string DateTimePeriodFormatQualifier_12 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(13)] + public string DateTimePeriod_13 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(14)] + public string MonetaryAmount_14 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(15)] + public string Quantity_15 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(16)] + public string Quantity_16 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(17)] + public string Quantity_17 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(18)] + public string YesNoConditionorResponseCode_18 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(19)] + public string YesNoConditionorResponseCode_19 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(20)] + public string DateTimePeriodFormatQualifier_20 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(21)] + public string DateTimePeriod_21 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("107", typeof(X12_ID_107))] + [Pos(22)] + public string PaymentMethodCode_22 { + get; + set; + } + } + + /// + /// Subline Item Detail + /// + [Serializable()] + [DataContract()] + [Segment("SLN")] + public class SLN { + + /// + /// Assigned Identification + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(2)] + public string AssignedIdentification_02 { + get; + set; + } + /// + /// Relationship Code + /// + [DataMember] + [Required] + [DataElement("662", typeof(X12_ID_662))] + [Pos(3)] + public string RelationshipCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(6)] + public string UnitPrice_06 { + get; + set; + } + /// + /// Basis of Unit Price Code + /// + [DataMember] + [DataElement("639", typeof(X12_ID_639))] + [Pos(7)] + public string BasisofUnitPriceCode_07 { + get; + set; + } + /// + /// Relationship Code + /// + [DataMember] + [DataElement("662", typeof(X12_ID_662))] + [Pos(8)] + public string RelationshipCode_08 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(9)] + public string ProductServiceIDQualifier_09 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(10)] + public string ProductServiceID_10 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(11)] + public string ProductServiceIDQualifier_11 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(12)] + public string ProductServiceID_12 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(13)] + public string ProductServiceIDQualifier_13 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(14)] + public string ProductServiceID_14 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(15)] + public string ProductServiceIDQualifier_15 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(16)] + public string ProductServiceID_16 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(17)] + public string ProductServiceIDQualifier_17 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(18)] + public string ProductServiceID_18 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(19)] + public string ProductServiceIDQualifier_19 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(20)] + public string ProductServiceID_20 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(21)] + public string ProductServiceIDQualifier_21 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(22)] + public string ProductServiceID_22 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(23)] + public string ProductServiceIDQualifier_23 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(24)] + public string ProductServiceID_24 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(25)] + public string ProductServiceIDQualifier_25 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(26)] + public string ProductServiceID_26 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(27)] + public string ProductServiceIDQualifier_27 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(28)] + public string ProductServiceID_28 { + get; + set; + } + } + + /// + /// Station Address + /// + [Serializable()] + [DataContract()] + [Segment("SMA")] + public class SMA { + + /// + /// Address Type Code + /// + [DataMember] + [Required] + [DataElement("852", typeof(X12_ID_852))] + [Pos(1)] + public string AddressTypeCode_01 { + get; + set; + } + /// + /// Address Information + /// + [DataMember] + [Required] + [StringLength(1, 55)] + [DataElement("166", typeof(X12_AN))] + [Pos(2)] + public string AddressInformation_02 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [Required] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(3)] + public string CityName_03 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(4)] + public string StateorProvinceCode_04 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [Required] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(5)] + public string PostalCode_05 { + get; + set; + } + } + + /// + /// Beginning Segment for Railroad Station Master File + /// + [Serializable()] + [DataContract()] + [Segment("SMB")] + public class SMB { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Station Type Code + /// + [DataMember] + [Required] + [DataElement("813", typeof(X12_ID_813))] + [Pos(2)] + public string StationTypeCode_02 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(3)] + public string StandardPointLocationCode_03 { + get; + set; + } + /// + /// Station Type Code + /// + [DataMember] + [DataElement("813", typeof(X12_ID_813))] + [Pos(4)] + public string StationTypeCode_04 { + get; + set; + } + /// + /// Station Type Code + /// + [DataMember] + [DataElement("813", typeof(X12_ID_813))] + [Pos(5)] + public string StationTypeCode_05 { + get; + set; + } + /// + /// Station Type Code + /// + [DataMember] + [DataElement("813", typeof(X12_ID_813))] + [Pos(6)] + public string StationTypeCode_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Rule 260 Junction Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("638", typeof(X12_AN))] + [Pos(8)] + public string RuleJunctionCode_08 { + get; + set; + } + /// + /// Station Type Code + /// + [DataMember] + [DataElement("813", typeof(X12_ID_813))] + [Pos(9)] + public string StationTypeCode_09 { + get; + set; + } + } + + /// + /// Consolidated Shipment Manifest Data + /// + [Serializable()] + [DataContract()] + [Segment("SMD")] + public class SMD { + + /// + /// Service Level Code + /// + [DataMember] + [Required] + [DataElement("284", typeof(X12_ID_284))] + [Pos(1)] + public string ServiceLevelCode_01 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(2)] + public string ShipmentMethodofPayment_02 { + get; + set; + } + /// + /// Pick-up or Delivery Code + /// + [DataMember] + [DataElement("108", typeof(X12_ID_108))] + [Pos(3)] + public string PickuporDeliveryCode_03 { + get; + set; + } + } + + /// + /// Operational Services + /// + [Serializable()] + [DataContract()] + [Segment("SMO")] + public class SMO { + + /// + /// Automobile Ramp Facility Code + /// + [DataMember] + [DataElement("253", typeof(X12_ID_253))] + [Pos(1)] + public string AutomobileRampFacilityCode_01 { + get; + set; + } + /// + /// Intermodal Facility Code + /// + [DataMember] + [DataElement("321", typeof(X12_ID_321))] + [Pos(2)] + public string IntermodalFacilityCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(5)] + public string Weight_05 { + get; + set; + } + /// + /// Rail Car Plate Size Code + /// + [DataMember] + [DataElement("511", typeof(X12_ID_511))] + [Pos(6)] + public string RailCarPlateSizeCode_06 { + get; + set; + } + /// + /// Import/Export Code + /// + [DataMember] + [DataElement("512", typeof(X12_ID_512))] + [Pos(7)] + public string ImportExportCode_07 { + get; + set; + } + } + + /// + /// Cross Reference + /// + [Serializable()] + [DataContract()] + [Segment("SMR")] + public class SMR { + + /// + /// Location Qualifier + /// + [DataMember] + [Required] + [DataElement("309", typeof(X12_ID_309))] + [Pos(1)] + public string LocationQualifier_01 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(2)] + public string StandardPointLocationCode_02 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(3)] + public string CityName_03 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(4)] + public string StateorProvinceCode_04 { + get; + set; + } + } + + /// + /// Station Codes Segment + /// + [Serializable()] + [DataContract()] + [Segment("SMS")] + public class SMS { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [Required] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(2)] + public string FreightStationAccountingCode_02 { + get; + set; + } + /// + /// Rule 260 Junction Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("638", typeof(X12_AN))] + [Pos(3)] + public string RuleJunctionCode_03 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(4)] + public string PostalCode_04 { + get; + set; + } + /// + /// Reciprocal Switch Code + /// + [DataMember] + [DataElement("674", typeof(X12_ID_674))] + [Pos(5)] + public string ReciprocalSwitchCode_05 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(6)] + public string TimeCode_06 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(7)] + public string LocationIdentifier_07 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(8)] + public string LocationIdentifier_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(10)] + public string IdentificationCode_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + } + + /// + /// Item Detail (Shipment) + /// + [Serializable()] + [DataContract()] + [Segment("SN1")] + public class SN1 { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Number of Units Shipped + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(2)] + public string NumberofUnitsShipped_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Quantity Shipped to Date + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("646", typeof(X12_R))] + [Pos(4)] + public string QuantityShippedtoDate_04 { + get; + set; + } + /// + /// Quantity Ordered + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(5)] + public string QuantityOrdered_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Returnable Container Load Make-Up Code + /// + [DataMember] + [DataElement("728", typeof(X12_ID_728))] + [Pos(7)] + public string ReturnableContainerLoadMakeUpCode_07 { + get; + set; + } + /// + /// Line Item Status Code + /// + [DataMember] + [DataElement("668", typeof(X12_ID_668))] + [Pos(8)] + public string LineItemStatusCode_08 { + get; + set; + } + } + + /// + /// Source of Income + /// + [Serializable()] + [DataContract()] + [Segment("SOI")] + public class SOI { + + /// + /// Type of Income Code + /// + [DataMember] + [Required] + [DataElement("1186", typeof(X12_ID_1186))] + [Pos(1)] + public string TypeofIncomeCode_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(4)] + public string Number_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + } + + /// + /// Status of Mortgage + /// + [Serializable()] + [DataContract()] + [Segment("SOM")] + public class SOM { + + /// + /// Loan Status Code + /// + [DataMember] + [Required] + [DataElement("1307", typeof(X12_ID_1307))] + [Pos(1)] + public string LoanStatusCode_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Type of Bankruptcy Code + /// + [DataMember] + [DataElement("104", typeof(X12_ID_104))] + [Pos(5)] + public string TypeofBankruptcyCode_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + /// + /// Loan Status Code + /// + [DataMember] + [DataElement("1307", typeof(X12_ID_1307))] + [Pos(8)] + public string LoanStatusCode_08 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(9)] + public string DateTimePeriodFormatQualifier_09 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(10)] + public string DateTimePeriod_10 { + get; + set; + } + /// + /// Loan Status Code + /// + [DataMember] + [DataElement("1307", typeof(X12_ID_1307))] + [Pos(11)] + public string LoanStatusCode_11 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(12)] + public string DateTimePeriodFormatQualifier_12 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(13)] + public string DateTimePeriod_13 { + get; + set; + } + } + + /// + /// Special Program + /// + [Serializable()] + [DataContract()] + [Segment("SP")] + public class SP { + + /// + /// Special Program Category Code + /// + [DataMember] + [DataElement("1257", typeof(X12_ID_1257))] + [Pos(1)] + public string SpecialProgramCategoryCode_01 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(2)] + public string Percent_02 { + get; + set; + } + /// + /// Program Participation and Services Code + /// + [DataMember] + [DataElement("1133", typeof(X12_ID_1133))] + [Pos(3)] + public string ProgramParticipationandServicesCode_03 { + get; + set; + } + /// + /// Program and Services Funding Source Code + /// + [DataMember] + [DataElement("1134", typeof(X12_ID_1134))] + [Pos(4)] + public string ProgramandServicesFundingSourceCode_04 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(5)] + public string Name_05 { + get; + set; + } + } + + /// + /// Status of Product or Activity + /// + [Serializable()] + [DataContract()] + [Segment("SPA")] + public class SPA { + + /// + /// Status Code + /// + [DataMember] + [Required] + [DataElement("546", typeof(X12_ID_546))] + [Pos(1)] + public string StatusCode_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(4)] + public string AmountQualifierCode_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(6)] + public string StatusReasonCode_06 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(7)] + public string StatusReasonCode_07 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(8)] + public string StatusReasonCode_08 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(9)] + public string AgencyQualifierCode_09 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(10)] + public string ProductDescriptionCode_10 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(11)] + public string SourceSubqualifier_11 { + get; + set; + } + } + + /// + /// Specification Identifier + /// + [Serializable()] + [DataContract()] + [Segment("SPI")] + public class SPI { + + /// + /// Security Level Code + /// + [DataMember] + [Required] + [DataElement("786", typeof(X12_ID_786))] + [Pos(1)] + public string SecurityLevelCode_01 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(2)] + public string ReferenceIdentificationQualifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Entity Title + /// + [DataMember] + [StringLength(1, 132)] + [DataElement("790", typeof(X12_AN))] + [Pos(4)] + public string EntityTitle_04 { + get; + set; + } + /// + /// Entity Purpose + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("791", typeof(X12_AN))] + [Pos(5)] + public string EntityPurpose_05 { + get; + set; + } + /// + /// Entity Status Code + /// + [DataMember] + [DataElement("792", typeof(X12_ID_792))] + [Pos(6)] + public string EntityStatusCode_06 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(7)] + public string TransactionSetPurposeCode_07 { + get; + set; + } + /// + /// Report Type Code + /// + [DataMember] + [DataElement("755", typeof(X12_ID_755))] + [Pos(8)] + public string ReportTypeCode_08 { + get; + set; + } + /// + /// Security Level Code + /// + [DataMember] + [DataElement("786", typeof(X12_ID_786))] + [Pos(9)] + public string SecurityLevelCode_09 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(10)] + public string AgencyQualifierCode_10 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(11)] + public string SourceSubqualifier_11 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(12)] + public string AssignedNumber_12 { + get; + set; + } + /// + /// Certification Type Code + /// + [DataMember] + [DataElement("1322", typeof(X12_ID_1322))] + [Pos(13)] + public string CertificationTypeCode_13 { + get; + set; + } + /// + /// Proposal Data Detail Identifier Code + /// + [DataMember] + [DataElement("1401", typeof(X12_ID_1401))] + [Pos(14)] + public string ProposalDataDetailIdentifierCode_14 { + get; + set; + } + /// + /// Hierarchical Structure Code + /// + [DataMember] + [DataElement("1005", typeof(X12_ID_1005))] + [Pos(15)] + public string HierarchicalStructureCode_15 { + get; + set; + } + } + + /// + /// Specimen Kit Information + /// + [Serializable()] + [DataContract()] + [Segment("SPK")] + public class SPK { + + /// + /// Specimen Kit Type Code + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("1415", typeof(X12_AN))] + [Pos(1)] + public string SpecimenKitTypeCode_01 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(2)] + public string TransportationMethodTypeCode_02 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(3)] + public string Temperature_03 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(4)] + public string IdentificationCodeQualifier_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + } + + /// + /// Shipment Purchase Order Detail + /// + [Serializable()] + [DataContract()] + [Segment("SPO")] + public class SPO { + + /// + /// Purchase Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(1)] + public string PurchaseOrderNumber_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(5)] + public string WeightUnitCode_05 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(6)] + public string Weight_06 { + get; + set; + } + /// + /// Application Error Condition Code + /// + [DataMember] + [DataElement("647", typeof(X12_ID_647))] + [Pos(7)] + public string ApplicationErrorConditionCode_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + } + + /// + /// Supplier Rating + /// + [Serializable()] + [DataContract()] + [Segment("SPR")] + public class SPR { + + /// + /// Rating Category Code + /// + [DataMember] + [DataElement("707", typeof(X12_ID_707))] + [Pos(1)] + public string RatingCategoryCode_01 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(2)] + public string MeasurementValue_02 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(3)] + public string RangeMinimum_03 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(4)] + public string RangeMaximum_04 { + get; + set; + } + /// + /// Rating Summary Value Code + /// + [DataMember] + [DataElement("708", typeof(X12_ID_708))] + [Pos(5)] + public string RatingSummaryValueCode_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(7)] + public string MeasurementValue_07 { + get; + set; + } + } + + /// + /// Sampling Parameters for Summary Statistics + /// + [Serializable()] + [DataContract()] + [Segment("SPS")] + public class SPS { + + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(1)] + public string Count_01 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(2)] + public string Count_02 { + get; + set; + } + /// + /// Count + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("609", typeof(X12_N0))] + [Pos(3)] + public string Count_03 { + get; + set; + } + /// + /// Confidence Limit + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("949", typeof(X12_R))] + [Pos(4)] + public string ConfidenceLimit_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + /// + /// Sample Frequency Value per Unit of Measurement Code + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("942", typeof(X12_N0))] + [Pos(6)] + public string SampleFrequencyValueperUnitofMeasurementCode_06 { + get; + set; + } + } + + /// + /// Scope of Power of Attorney + /// + [Serializable()] + [DataContract()] + [Segment("SPY")] + public class SPY { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Scope of Power of Attorney Identification Code + /// + [DataMember] + [DataElement("999", typeof(X12_ID_999))] + [Pos(2)] + public string ScopeofPowerofAttorneyIdentificationCode_02 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(3)] + public string Description_03 { + get; + set; + } + } + + /// + /// Requested Service Schedule + /// + [Serializable()] + [DataContract()] + [Segment("SR")] + public class SR { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Day Rotation + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("1430", typeof(X12_AN))] + [Pos(2)] + public string DayRotation_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// Free Form Message + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("3", typeof(X12_AN))] + [Pos(5)] + public string FreeFormMessage_05 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(6)] + public string UnitPrice_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(10)] + public string ProductServiceID_10 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(11)] + public string ProductServiceID_11 { + get; + set; + } + } + + /// + /// Traffic Evaluation Factors + /// + [Serializable()] + [DataContract()] + [Segment("SRA")] + public class SRA { + + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(1)] + public string UnitorBasisforMeasurementCode_01 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(2)] + public string MeasurementValue_02 { + get; + set; + } + } + + /// + /// Scale Rate Detail + /// + [Serializable()] + [DataContract()] + [Segment("SRD")] + public class SRD { + + /// + /// Distance Qualifier + /// + [DataMember] + [Required] + [DataElement("295", typeof(X12_ID_295))] + [Pos(1)] + public string DistanceQualifier_01 { + get; + set; + } + /// + /// Rate Basis Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("119", typeof(X12_AN))] + [Pos(2)] + public string RateBasisNumber_02 { + get; + set; + } + /// + /// Distance Qualifier + /// + [DataMember] + [DataElement("295", typeof(X12_ID_295))] + [Pos(3)] + public string DistanceQualifier_03 { + get; + set; + } + /// + /// Rate Basis Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("119", typeof(X12_AN))] + [Pos(4)] + public string RateBasisNumber_04 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(5)] + public string FreightRate_05 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(6)] + public string FreightRate_06 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(7)] + public string FreightRate_07 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(8)] + public string FreightRate_08 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(9)] + public string FreightRate_09 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(10)] + public string FreightRate_10 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(11)] + public string FreightRate_11 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(12)] + public string FreightRate_12 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(13)] + public string FreightRate_13 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(14)] + public string FreightRate_14 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(15)] + public string FreightRate_15 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(16)] + public string FreightRate_16 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(17)] + public string FreightRate_17 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(18)] + public string FreightRate_18 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(19)] + public string FreightRate_19 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(20)] + public string FreightRate_20 { + get; + set; + } + } + + /// + /// Test Scores + /// + [Serializable()] + [DataContract()] + [Segment("SRE")] + public class SRE { + + /// + /// Test Score Qualifier Code + /// + [DataMember] + [Required] + [DataElement("1160", typeof(X12_ID_1160))] + [Pos(1)] + public string TestScoreQualifierCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + } + + /// + /// Scale Rates + /// + [Serializable()] + [DataContract()] + [Segment("SRM")] + public class SRM { + + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(1)] + public string FreightRate_01 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(2)] + public string FreightRate_02 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(3)] + public string FreightRate_03 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(4)] + public string FreightRate_04 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(5)] + public string FreightRate_05 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(6)] + public string FreightRate_06 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(7)] + public string FreightRate_07 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(8)] + public string FreightRate_08 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(9)] + public string FreightRate_09 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(10)] + public string FreightRate_10 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(11)] + public string FreightRate_11 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(12)] + public string FreightRate_12 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(13)] + public string FreightRate_13 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(14)] + public string FreightRate_14 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(15)] + public string FreightRate_15 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(16)] + public string FreightRate_16 { + get; + set; + } + } + + /// + /// Scale Rate Header + /// + [Serializable()] + [DataContract()] + [Segment("SRT")] + public class SRT { + + /// + /// Change Type Code + /// + [DataMember] + [Required] + [DataElement("259", typeof(X12_ID_259))] + [Pos(1)] + public string ChangeTypeCode_01 { + get; + set; + } + /// + /// Route Code + /// + [DataMember] + [StringLength(1, 13)] + [DataElement("1", typeof(X12_AN))] + [Pos(2)] + public string RouteCode_02 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [Required] + [DataElement("122", typeof(X12_ID_122))] + [Pos(3)] + public string RateValueQualifier_03 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(4)] + public string RateValueQualifier_04 { + get; + set; + } + /// + /// Rate Application Type Code + /// + [DataMember] + [DataElement("632", typeof(X12_ID_632))] + [Pos(5)] + public string RateApplicationTypeCode_05 { + get; + set; + } + /// + /// Scale + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("320", typeof(X12_AN))] + [Pos(6)] + public string Scale_06 { + get; + set; + } + /// + /// Scale + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("320", typeof(X12_AN))] + [Pos(7)] + public string Scale_07 { + get; + set; + } + /// + /// Minimum/Weight Logic + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("630", typeof(X12_AN))] + [Pos(8)] + public string MinimumWeightLogic_08 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(9)] + public string LoadingRestriction_09 { + get; + set; + } + /// + /// Loading Restriction + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("633", typeof(X12_N1))] + [Pos(10)] + public string LoadingRestriction_10 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("488", typeof(X12_N0))] + [Pos(11)] + public string Percent_11 { + get; + set; + } + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [DataElement("150", typeof(X12_ID_150))] + [Pos(12)] + public string SpecialChargeorAllowanceCode_12 { + get; + set; + } + /// + /// Special Charge Description + /// + [DataMember] + [StringLength(2, 25)] + [DataElement("276", typeof(X12_AN))] + [Pos(13)] + public string SpecialChargeDescription_13 { + get; + set; + } + } + + /// + /// Docket Control Status + /// + [Serializable()] + [DataContract()] + [Segment("SS")] + public class SS { + + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Rate Level + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("500", typeof(X12_AN))] + [Pos(2)] + public string RateLevel_02 { + get; + set; + } + /// + /// Rate Distribution Code + /// + [DataMember] + [Required] + [DataElement("698", typeof(X12_ID_698))] + [Pos(3)] + public string RateDistributionCode_03 { + get; + set; + } + /// + /// Independence Code + /// + [DataMember] + [DataElement("695", typeof(X12_ID_695))] + [Pos(4)] + public string IndependenceCode_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Number of Periods + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("616", typeof(X12_N0))] + [Pos(7)] + public string NumberofPeriods_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Rate Maintenance Authority Code + /// + [DataMember] + [DataElement("437", typeof(X12_ID_437))] + [Pos(9)] + public string RateMaintenanceAuthorityCode_09 { + get; + set; + } + } + + /// + /// Beginning Segment for Service Commitment Advice + /// + [Serializable()] + [DataContract()] + [Segment("SSC")] + public class SSC { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [Required] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + /// + /// Service Commitment Type Code + /// + [DataMember] + [Required] + [DataElement("1485", typeof(X12_ID_1485))] + [Pos(6)] + public string ServiceCommitmentTypeCode_06 { + get; + set; + } + /// + /// Load/Empty Status Code + /// + [DataMember] + [Required] + [DataElement("322", typeof(X12_ID_322))] + [Pos(7)] + public string LoadEmptyStatusCode_07 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("488", typeof(X12_N0))] + [Pos(8)] + public string Percent_08 { + get; + set; + } + } + + /// + /// Shipment Sort Segregate Data + /// + [Serializable()] + [DataContract()] + [Segment("SSD")] + public class SSD { + + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(3)] + public string PurchaseOrderNumber_03 { + get; + set; + } + /// + /// Application Error Condition Code + /// + [DataMember] + [DataElement("647", typeof(X12_ID_647))] + [Pos(4)] + public string ApplicationErrorConditionCode_04 { + get; + set; + } + } + + /// + /// Entry and Exit Information + /// + [Serializable()] + [DataContract()] + [Segment("SSE")] + public class SSE { + + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(3)] + public string StatusReasonCode_03 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(4)] + public string Number_04 { + get; + set; + } + } + + /// + /// Special Services + /// + [Serializable()] + [DataContract()] + [Segment("SSS")] + public class SSS { + + /// + /// Allowance or Charge Indicator + /// + [DataMember] + [Required] + [DataElement("248", typeof(X12_ID_248))] + [Pos(1)] + public string AllowanceorChargeIndicator_01 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [Required] + [DataElement("559", typeof(X12_ID_559))] + [Pos(2)] + public string AgencyQualifierCode_02 { + get; + set; + } + /// + /// Special Services Code + /// + [DataMember] + [Required] + [DataElement("560", typeof(X12_ID_560))] + [Pos(3)] + public string SpecialServicesCode_03 { + get; + set; + } + /// + /// Service Marks and Numbers + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("561", typeof(X12_AN))] + [Pos(4)] + public string ServiceMarksandNumbers_04 { + get; + set; + } + /// + /// Allowance or Charge Rate + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("359", typeof(X12_R))] + [Pos(5)] + public string AllowanceorChargeRate_05 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(6)] + public string Amount_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(8)] + public string Quantity_08 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(9)] + public string SourceSubqualifier_09 { + get; + set; + } + } + + /// + /// Student Academic Status + /// + [Serializable()] + [DataContract()] + [Segment("SST")] + public class SST { + + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(1)] + public string StatusReasonCode_01 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(2)] + public string DateTimePeriodFormatQualifier_02 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(3)] + public string DateTimePeriod_03 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(4)] + public string StatusReasonCode_04 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(5)] + public string DateTimePeriodFormatQualifier_05 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(6)] + public string DateTimePeriod_06 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(7)] + public string StatusReasonCode_07 { + get; + set; + } + /// + /// Level of Individual, Test, or Course Code + /// + [DataMember] + [DataElement("1131", typeof(X12_ID_1131))] + [Pos(8)] + public string LevelofIndividualTestorCourseCode_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + } + + /// + /// Statistics + /// + [Serializable()] + [DataContract()] + [Segment("STA")] + public class STA { + + /// + /// Statistic Code + /// + [DataMember] + [Required] + [DataElement("950", typeof(X12_ID_950))] + [Pos(1)] + public string StatisticCode_01 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(2)] + public string MeasurementValue_02 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(3)] + public C001 CompositeUnitofMeasure_03 { + get; + set; + } + /// + /// Measurement Qualifier + /// + [DataMember] + [DataElement("738", typeof(X12_ID_738))] + [Pos(4)] + public string MeasurementQualifier_04 { + get; + set; + } + /// + /// Measurement Reference ID Code + /// + [DataMember] + [DataElement("737", typeof(X12_ID_737))] + [Pos(5)] + public string MeasurementReferenceIDCode_05 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(6)] + public string RangeMinimum_06 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(7)] + public string RangeMaximum_07 { + get; + set; + } + /// + /// Measurement Significance Code + /// + [DataMember] + [DataElement("935", typeof(X12_ID_935))] + [Pos(8)] + public string MeasurementSignificanceCode_08 { + get; + set; + } + } + + /// + /// Status Information + /// + [Serializable()] + [DataContract()] + [Segment("STC")] + public class STC { + + /// + /// Health Care Claim Status + /// + [DataMember] + [Required] + [Pos(1)] + public C043 HealthCareClaimStatus_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(3)] + public string ActionCode_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Payment Method Code + /// + [DataMember] + [DataElement("591", typeof(X12_ID_591))] + [Pos(7)] + public string PaymentMethodCode_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Check Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("429", typeof(X12_AN))] + [Pos(9)] + public string CheckNumber_09 { + get; + set; + } + /// + /// Health Care Claim Status + /// + [DataMember] + [Pos(10)] + public C043 HealthCareClaimStatus_10 { + get; + set; + } + /// + /// Health Care Claim Status + /// + [DataMember] + [Pos(11)] + public C043 HealthCareClaimStatus_11 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(12)] + public string FreeFormMessageText_12 { + get; + set; + } + } + + /// + /// Study Parameters + /// + [Serializable()] + [DataContract()] + [Segment("STP")] + public class STP { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Entity Title + /// + [DataMember] + [Required] + [StringLength(1, 132)] + [DataElement("790", typeof(X12_AN))] + [Pos(2)] + public string EntityTitle_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(5)] + public string Number_05 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(6)] + public string Number_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(8)] + public string Number_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + } + + /// + /// Interchange Status Segment + /// + [Serializable()] + [DataContract()] + [Segment("STS")] + public class STS { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("I40", typeof(X12_ID_I40))] + [Pos(1)] + public string ActionCodeI_01 { + get; + set; + } + /// + /// Action Date + /// + [DataMember] + [Required] + [StringLength(6, 6)] + [DataElement("I41", typeof(X12_DT))] + [Pos(2)] + public string ActionDateI_02 { + get; + set; + } + /// + /// Action Time + /// + [DataMember] + [Required] + [StringLength(4, 6)] + [DataElement("I42", typeof(X12_TM))] + [Pos(3)] + public string ActionTimeI_03 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(4)] + public string TimeCode_04 { + get; + set; + } + /// + /// Error Reason Code + /// + [DataMember] + [DataElement("I43", typeof(X12_ID_I43))] + [Pos(5)] + public string ErrorReasonCodeI_05 { + get; + set; + } + } + + /// + /// Academic Summary + /// + [Serializable()] + [DataContract()] + [Segment("SUM")] + public class SUM { + + /// + /// Academic Credit Type Code + /// + [DataMember] + [DataElement("1141", typeof(X12_ID_1141))] + [Pos(1)] + public string AcademicCreditTypeCode_01 { + get; + set; + } + /// + /// Academic Grade or Course Level Code + /// + [DataMember] + [DataElement("1142", typeof(X12_ID_1142))] + [Pos(2)] + public string AcademicGradeorCourseLevelCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(7)] + public string RangeMinimum_07 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(8)] + public string RangeMaximum_08 { + get; + set; + } + /// + /// Academic Grade Point Average + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1144", typeof(X12_R))] + [Pos(9)] + public string AcademicGradePointAverage_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + /// + /// Class Rank + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("1145", typeof(X12_N0))] + [Pos(11)] + public string ClassRank_11 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(12)] + public string Quantity_12 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(13)] + public string DateTimePeriodFormatQualifier_13 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(14)] + public string DateTimePeriod_14 { + get; + set; + } + /// + /// Number of Days + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("607", typeof(X12_N0))] + [Pos(15)] + public string NumberofDays_15 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(16)] + public string Quantity_16 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(17)] + public string Quantity_17 { + get; + set; + } + /// + /// Academic Summary Source + /// + [DataMember] + [DataElement("1558", typeof(X12_ID_1558))] + [Pos(18)] + public string AcademicSummarySource_18 { + get; + set; + } + } + + /// + /// Supplementary Information + /// + [Serializable()] + [DataContract()] + [Segment("SUP")] + public class SUP { + + /// + /// Supplementary Information Qualifier + /// + [DataMember] + [Required] + [DataElement("749", typeof(X12_ID_749))] + [Pos(1)] + public string SupplementaryInformationQualifier_01 { + get; + set; + } + /// + /// Certification/Clause Code + /// + [DataMember] + [DataElement("246", typeof(X12_ID_246))] + [Pos(2)] + public string CertificationClauseCode_02 { + get; + set; + } + /// + /// Free Form Message + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("3", typeof(X12_AN))] + [Pos(3)] + public string FreeFormMessage_03 { + get; + set; + } + /// + /// Print Option Code + /// + [DataMember] + [DataElement("744", typeof(X12_ID_744))] + [Pos(4)] + public string PrintOptionCode_04 { + get; + set; + } + } + + /// + /// Service Description + /// + [Serializable()] + [DataContract()] + [Segment("SV")] + public class SV { + + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(1)] + public string UnitofTimePeriodorInterval_01 { + get; + set; + } + /// + /// Service Standard + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("34", typeof(X12_N1))] + [Pos(2)] + public string ServiceStandard_02 { + get; + set; + } + /// + /// Service Standard + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("34", typeof(X12_N1))] + [Pos(3)] + public string ServiceStandard_03 { + get; + set; + } + /// + /// Type of Service Offered Code + /// + [DataMember] + [DataElement("72", typeof(X12_ID_72))] + [Pos(4)] + public string TypeofServiceOfferedCode_04 { + get; + set; + } + } + + /// + /// Professional Service + /// + [Serializable()] + [DataContract()] + [Segment("SV1")] + public class SV1 { + + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Required] + [Pos(1)] + public C003 CompositeMedicalProcedureIdentifier_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Facility Code Value + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1331", typeof(X12_AN))] + [Pos(5)] + public string FacilityCodeValue_05 { + get; + set; + } + /// + /// Service Type Code + /// + [DataMember] + [DataElement("1365", typeof(X12_ID_1365))] + [Pos(6)] + public string ServiceTypeCode_06 { + get; + set; + } + /// + /// Composite Diagnosis Code Pointer + /// + [DataMember] + [Pos(7)] + public C004 CompositeDiagnosisCodePointer_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Multiple Procedure Code + /// + [DataMember] + [DataElement("1340", typeof(X12_ID_1340))] + [Pos(10)] + public string MultipleProcedureCode_10 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(11)] + public string YesNoConditionorResponseCode_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + /// + /// Review Code + /// + [DataMember] + [DataElement("1364", typeof(X12_ID_1364))] + [Pos(13)] + public string ReviewCode_13 { + get; + set; + } + /// + /// National or Local Assigned Review Value + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1341", typeof(X12_AN))] + [Pos(14)] + public string NationalorLocalAssignedReviewValue_14 { + get; + set; + } + /// + /// Copay Status Code + /// + [DataMember] + [DataElement("1327", typeof(X12_ID_1327))] + [Pos(15)] + public string CopayStatusCode_15 { + get; + set; + } + /// + /// Health Care Professional Shortage Area Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1334", typeof(X12_AN))] + [Pos(16)] + public string HealthCareProfessionalShortageAreaCode_16 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(17)] + public string ReferenceIdentification_17 { + get; + set; + } + /// + /// Postal Code + /// + [DataMember] + [StringLength(3, 15)] + [DataElement("116", typeof(X12_AN))] + [Pos(18)] + public string PostalCode_18 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(19)] + public string MonetaryAmount_19 { + get; + set; + } + /// + /// Level of Care Code + /// + [DataMember] + [DataElement("1337", typeof(X12_ID_1337))] + [Pos(20)] + public string LevelofCareCode_20 { + get; + set; + } + /// + /// Provider Agreement Code + /// + [DataMember] + [DataElement("1360", typeof(X12_ID_1360))] + [Pos(21)] + public string ProviderAgreementCode_21 { + get; + set; + } + } + + /// + /// Institutional Service + /// + [Serializable()] + [DataContract()] + [Segment("SV2")] + public class SV2 { + + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(1)] + public string ProductServiceID_01 { + get; + set; + } + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Pos(2)] + public C003 CompositeMedicalProcedureIdentifier_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(4)] + public string UnitorBasisforMeasurementCode_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Unit Rate + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("1371", typeof(X12_R))] + [Pos(6)] + public string UnitRate_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + /// + /// Nursing Home Residential Status Code + /// + [DataMember] + [DataElement("1345", typeof(X12_ID_1345))] + [Pos(9)] + public string NursingHomeResidentialStatusCode_09 { + get; + set; + } + /// + /// Level of Care Code + /// + [DataMember] + [DataElement("1337", typeof(X12_ID_1337))] + [Pos(10)] + public string LevelofCareCode_10 { + get; + set; + } + } + + /// + /// Dental Service + /// + [Serializable()] + [DataContract()] + [Segment("SV3")] + public class SV3 { + + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Required] + [Pos(1)] + public C003 CompositeMedicalProcedureIdentifier_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Facility Code Value + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1331", typeof(X12_AN))] + [Pos(3)] + public string FacilityCodeValue_03 { + get; + set; + } + /// + /// Oral Cavity Designation + /// + [DataMember] + [Pos(4)] + public C006 OralCavityDesignation_04 { + get; + set; + } + /// + /// Prosthesis, Crown or Inlay Code + /// + [DataMember] + [DataElement("1358", typeof(X12_ID_1358))] + [Pos(5)] + public string ProsthesisCrownorInlayCode_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + /// + /// Copay Status Code + /// + [DataMember] + [DataElement("1327", typeof(X12_ID_1327))] + [Pos(8)] + public string CopayStatusCode_08 { + get; + set; + } + /// + /// Provider Agreement Code + /// + [DataMember] + [DataElement("1360", typeof(X12_ID_1360))] + [Pos(9)] + public string ProviderAgreementCode_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + /// + /// Composite Diagnosis Code Pointer + /// + [DataMember] + [Pos(11)] + public C004 CompositeDiagnosisCodePointer_11 { + get; + set; + } + } + + /// + /// Drug Service + /// + [Serializable()] + [DataContract()] + [Segment("SV4")] + public class SV4 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Pos(2)] + public C003 CompositeMedicalProcedureIdentifier_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Dispense as Written Code + /// + [DataMember] + [DataElement("1329", typeof(X12_ID_1329))] + [Pos(5)] + public string DispenseasWrittenCode_05 { + get; + set; + } + /// + /// Level of Service Code + /// + [DataMember] + [DataElement("1338", typeof(X12_ID_1338))] + [Pos(6)] + public string LevelofServiceCode_06 { + get; + set; + } + /// + /// Prescription Origin Code + /// + [DataMember] + [DataElement("1356", typeof(X12_ID_1356))] + [Pos(7)] + public string PrescriptionOriginCode_07 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(8)] + public string Description_08 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(9)] + public string YesNoConditionorResponseCode_09 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(10)] + public string YesNoConditionorResponseCode_10 { + get; + set; + } + /// + /// Unit Dose Code + /// + [DataMember] + [DataElement("1370", typeof(X12_ID_1370))] + [Pos(11)] + public string UnitDoseCode_11 { + get; + set; + } + /// + /// Basis of Cost Determination Code + /// + [DataMember] + [DataElement("1319", typeof(X12_ID_1319))] + [Pos(12)] + public string BasisofCostDeterminationCode_12 { + get; + set; + } + /// + /// Basis of Days Supply Determination Code + /// + [DataMember] + [DataElement("1320", typeof(X12_ID_1320))] + [Pos(13)] + public string BasisofDaysSupplyDeterminationCode_13 { + get; + set; + } + /// + /// Dosage Form Code + /// + [DataMember] + [DataElement("1330", typeof(X12_ID_1330))] + [Pos(14)] + public string DosageFormCode_14 { + get; + set; + } + /// + /// Copay Status Code + /// + [DataMember] + [DataElement("1327", typeof(X12_ID_1327))] + [Pos(15)] + public string CopayStatusCode_15 { + get; + set; + } + /// + /// Patient Location Code + /// + [DataMember] + [DataElement("1384", typeof(X12_ID_1384))] + [Pos(16)] + public string PatientLocationCode_16 { + get; + set; + } + /// + /// Level of Care Code + /// + [DataMember] + [DataElement("1337", typeof(X12_ID_1337))] + [Pos(17)] + public string LevelofCareCode_17 { + get; + set; + } + /// + /// Prior Authorization Type Code + /// + [DataMember] + [DataElement("1357", typeof(X12_ID_1357))] + [Pos(18)] + public string PriorAuthorizationTypeCode_18 { + get; + set; + } + } + + /// + /// Durable Medical Equipment Service + /// + [Serializable()] + [DataContract()] + [Segment("SV5")] + public class SV5 { + + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Required] + [Pos(1)] + public C003 CompositeMedicalProcedureIdentifier_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Frequency Code + /// + [DataMember] + [DataElement("594", typeof(X12_ID_594))] + [Pos(6)] + public string FrequencyCode_06 { + get; + set; + } + /// + /// Prognosis Code + /// + [DataMember] + [DataElement("923", typeof(X12_ID_923))] + [Pos(7)] + public string PrognosisCode_07 { + get; + set; + } + } + + /// + /// Anesthesia Service + /// + [Serializable()] + [DataContract()] + [Segment("SV6")] + public class SV6 { + + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Required] + [Pos(1)] + public C003 CompositeMedicalProcedureIdentifier_01 { + get; + set; + } + /// + /// Facility Code Qualifier + /// + [DataMember] + [DataElement("1332", typeof(X12_ID_1332))] + [Pos(2)] + public string FacilityCodeQualifier_02 { + get; + set; + } + /// + /// Facility Code Value + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("1331", typeof(X12_AN))] + [Pos(3)] + public string FacilityCodeValue_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Composite Diagnosis Code Pointer + /// + [DataMember] + [Pos(5)] + public C004 CompositeDiagnosisCodePointer_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(7)] + public string YesNoConditionorResponseCode_07 { + get; + set; + } + } + + /// + /// Drug Adjudication + /// + [Serializable()] + [DataContract()] + [Segment("SV7")] + public class SV7 { + + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Prescription Denial Override Code + /// + [DataMember] + [DataElement("1355", typeof(X12_ID_1355))] + [Pos(3)] + public string PrescriptionDenialOverrideCode_03 { + get; + set; + } + /// + /// Coverage Level Code + /// + [DataMember] + [Required] + [DataElement("1207", typeof(X12_ID_1207))] + [Pos(4)] + public string CoverageLevelCode_04 { + get; + set; + } + /// + /// Product/Process Characteristic Code + /// + [DataMember] + [Required] + [DataElement("750", typeof(X12_ID_750))] + [Pos(5)] + public string ProductProcessCharacteristicCode_05 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(6)] + public string YesNoConditionorResponseCode_06 { + get; + set; + } + } + + /// + /// Service Information + /// + [Serializable()] + [DataContract()] + [Segment("SVC")] + public class SVC { + + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Required] + [Pos(1)] + public C003 CompositeMedicalProcedureIdentifier_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(4)] + public string ProductServiceID_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Pos(6)] + public C003 CompositeMedicalProcedureIdentifier_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + } + + /// + /// Service Line Adjudication + /// + [Serializable()] + [DataContract()] + [Segment("SVD")] + public class SVD { + + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(1)] + public string IdentificationCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Composite Medical Procedure Identifier + /// + [DataMember] + [Pos(3)] + public C003 CompositeMedicalProcedureIdentifier_03 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(4)] + public string ProductServiceID_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(6)] + public string AssignedNumber_06 { + get; + set; + } + } + + /// + /// Switching Charges + /// + [Serializable()] + [DataContract()] + [Segment("SW")] + public class SW { + + /// + /// Tariff Application Code + /// + [DataMember] + [Required] + [DataElement("257", typeof(X12_ID_257))] + [Pos(1)] + public string TariffApplicationCode_01 { + get; + set; + } + /// + /// Condition Segment Logical Connector + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("495", typeof(X12_AN))] + [Pos(2)] + public string ConditionSegmentLogicalConnector_02 { + get; + set; + } + /// + /// Condition Code + /// + [DataMember] + [Required] + [StringLength(4, 4)] + [DataElement("498", typeof(X12_AN))] + [Pos(3)] + public string ConditionCode_03 { + get; + set; + } + /// + /// Condition Value + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("499", typeof(X12_AN))] + [Pos(4)] + public string ConditionValue_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(6)] + public string RateValueQualifier_06 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(7)] + public string Rate_07 { + get; + set; + } + /// + /// Rule 260 Junction Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("638", typeof(X12_AN))] + [Pos(8)] + public string RuleJunctionCode_08 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(9)] + public string AssignedNumber_09 { + get; + set; + } + } + + /// + /// Transit Inbound Origin + /// + [Serializable()] + [DataContract()] + [Segment("T1")] + public class T1 { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Waybill Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(2)] + public string WaybillNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(4)] + public string StandardCarrierAlphaCode_04 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(5)] + public string CityName_05 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(6)] + public string StateorProvinceCode_06 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(7)] + public string StandardPointLocationCode_07 { + get; + set; + } + /// + /// Transit Registration Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("229", typeof(X12_AN))] + [Pos(8)] + public string TransitRegistrationNumber_08 { + get; + set; + } + /// + /// Transit Level Code + /// + [DataMember] + [DataElement("461", typeof(X12_ID_461))] + [Pos(9)] + public string TransitLevelCode_09 { + get; + set; + } + } + + /// + /// Transit Inbound Lading + /// + [Serializable()] + [DataContract()] + [Segment("T2")] + public class T2 { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Lading Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("79", typeof(X12_AN))] + [Pos(2)] + public string LadingDescription_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(4)] + public string WeightQualifier_04 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(5)] + public string FreightRate_05 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(6)] + public string RateValueQualifier_06 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(7)] + public string FreightRate_07 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(8)] + public string RateValueQualifier_08 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(9)] + public string CityName_09 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(10)] + public string CityName_10 { + get; + set; + } + /// + /// Through Surcharge Percent + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("462", typeof(X12_N2))] + [Pos(11)] + public string ThroughSurchargePercent_11 { + get; + set; + } + /// + /// Paid-In Surcharge Percent + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("463", typeof(X12_N2))] + [Pos(12)] + public string PaidInSurchargePercent_12 { + get; + set; + } + } + + /// + /// Transit Inbound Route + /// + [Serializable()] + [DataContract()] + [Segment("T3")] + public class T3 { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Routing Sequence Code + /// + [DataMember] + [DataElement("133", typeof(X12_ID_133))] + [Pos(3)] + public string RoutingSequenceCode_03 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(4)] + public string CityName_04 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(5)] + public string StandardPointLocationCode_05 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(6)] + public string EquipmentInitial_06 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(7)] + public string EquipmenCAumber_07 { + get; + set; + } + } + + /// + /// Transit Inbound Rates + /// + [Serializable()] + [DataContract()] + [Segment("T6")] + public class T6 { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(2)] + public string FreightRate_02 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(3)] + public string RateValueQualifier_03 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(4)] + public string CityName_04 { + get; + set; + } + /// + /// Freight Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(5)] + public string FreightRate_05 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(6)] + public string RateValueQualifier_06 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(7)] + public string CityName_07 { + get; + set; + } + } + + /// + /// Free-form Transit Data + /// + [Serializable()] + [DataContract()] + [Segment("T8")] + public class T8 { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Free-form Transit Data + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("299", typeof(X12_AN))] + [Pos(2)] + public string FreeformTransitData_02 { + get; + set; + } + } + + /// + /// Tax Reference + /// + [Serializable()] + [DataContract()] + [Segment("TAX")] + public class TAX { + + /// + /// Tax Identification Number + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("325", typeof(X12_AN))] + [Pos(1)] + public string TaxIdentificationNumber_01 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(2)] + public string LocationQualifier_02 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(3)] + public string LocationIdentifier_03 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(4)] + public string LocationQualifier_04 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(5)] + public string LocationIdentifier_05 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(6)] + public string LocationQualifier_06 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(7)] + public string LocationIdentifier_07 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(8)] + public string LocationQualifier_08 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(9)] + public string LocationIdentifier_09 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(10)] + public string LocationQualifier_10 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(11)] + public string LocationIdentifier_11 { + get; + set; + } + /// + /// Tax Exempt Code + /// + [DataMember] + [DataElement("441", typeof(X12_ID_441))] + [Pos(12)] + public string TaxExemptCode_12 { + get; + set; + } + /// + /// Customs Entry Type Group Code + /// + [DataMember] + [DataElement("1179", typeof(X12_ID_1179))] + [Pos(13)] + public string CustomsEntryTypeGroupCode_13 { + get; + set; + } + } + + /// + /// Temporary Buydown Adjustment + /// + [Serializable()] + [DataContract()] + [Segment("TBA")] + public class TBA { + + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(1)] + public C001 CompositeUnitofMeasure_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(3)] + public string Percent_03 { + get; + set; + } + } + + /// + /// Trade Line Bureau Identifier + /// + [Serializable()] + [DataContract()] + [Segment("TBI")] + public class TBI { + + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(1)] + public string IdentificationCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + } + + /// + /// Commodity + /// + [Serializable()] + [DataContract()] + [Segment("TC2")] + public class TC2 { + + /// + /// Commodity Code Qualifier + /// + [DataMember] + [Required] + [DataElement("23", typeof(X12_ID_23))] + [Pos(1)] + public string CommodityCodeQualifier_01 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(2)] + public string CommodityCode_02 { + get; + set; + } + } + + /// + /// Itemized Call Detail + /// + [Serializable()] + [DataContract()] + [Segment("TCD")] + public class TCD { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(4)] + public string LocationQualifier_04 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(5)] + public string LocationIdentifier_05 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(6)] + public string StateorProvinceCode_06 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(7)] + public string LocationQualifier_07 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(8)] + public string LocationIdentifier_08 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(9)] + public string StateorProvinceCode_09 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(10)] + public string MeasurementValue_10 { + get; + set; + } + /// + /// Measurement Value + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("739", typeof(X12_R))] + [Pos(11)] + public string MeasurementValue_11 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(12)] + public string MonetaryAmount_12 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(13)] + public string MonetaryAmount_13 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(14)] + public string MonetaryAmount_14 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(15)] + public string MonetaryAmount_15 { + get; + set; + } + /// + /// Relationship Code + /// + [DataMember] + [DataElement("662", typeof(X12_ID_662))] + [Pos(16)] + public string RelationshipCode_16 { + get; + set; + } + } + + /// + /// Carrier Details (Quantity and Weight) + /// + [Serializable()] + [DataContract()] + [Segment("TD1")] + public class TD1 { + + /// + /// Packaging Code + /// + [DataMember] + [StringLength(3, 5)] + [DataElement("103", typeof(X12_AN))] + [Pos(1)] + public string PackagingCode_01 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(2)] + public string LadingQuantity_02 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [DataElement("23", typeof(X12_ID_23))] + [Pos(3)] + public string CommodityCodeQualifier_03 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(4)] + public string CommodityCode_04 { + get; + set; + } + /// + /// Lading Description + /// + [DataMember] + [StringLength(1, 50)] + [DataElement("79", typeof(X12_AN))] + [Pos(5)] + public string LadingDescription_05 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(6)] + public string WeightQualifier_06 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(7)] + public string Weight_07 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(8)] + public string UnitorBasisforMeasurementCode_08 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(9)] + public string Volume_09 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(10)] + public string UnitorBasisforMeasurementCode_10 { + get; + set; + } + } + + /// + /// Carrier Details (Equipment) + /// + [Serializable()] + [DataContract()] + [Segment("TD3")] + public class TD3 { + + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(1)] + public string EquipmentDescriptionCode_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(4)] + public string WeightQualifier_04 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(5)] + public string Weight_05 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(6)] + public string UnitorBasisforMeasurementCode_06 { + get; + set; + } + /// + /// Ownership Code + /// + [DataMember] + [DataElement("102", typeof(X12_ID_102))] + [Pos(7)] + public string OwnershipCode_07 { + get; + set; + } + /// + /// Seal Status Code + /// + [DataMember] + [DataElement("407", typeof(X12_ID_407))] + [Pos(8)] + public string SealStatusCode_08 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(9)] + public string SealNumber_09 { + get; + set; + } + /// + /// Equipment Type + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("24", typeof(X12_AN))] + [Pos(10)] + public string EquipmentType_10 { + get; + set; + } + } + + /// + /// Carrier Details (Special Handling, or Hazardous Materials, or Both) + /// + [Serializable()] + [DataContract()] + [Segment("TD4")] + public class TD4 { + + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(1)] + public string SpecialHandlingCode_01 { + get; + set; + } + /// + /// Hazardous Material Code Qualifier + /// + [DataMember] + [DataElement("208", typeof(X12_ID_208))] + [Pos(2)] + public string HazardousMaterialCodeQualifier_02 { + get; + set; + } + /// + /// Hazardous Material Class Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("209", typeof(X12_AN))] + [Pos(3)] + public string HazardousMaterialClassCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(5)] + public string YesNoConditionorResponseCode_05 { + get; + set; + } + } + + /// + /// Carrier Details (Routing Sequence/Transit Time) + /// + [Serializable()] + [DataContract()] + [Segment("TD5")] + public class TD5 { + + /// + /// Routing Sequence Code + /// + [DataMember] + [DataElement("133", typeof(X12_ID_133))] + [Pos(1)] + public string RoutingSequenceCode_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(4)] + public string TransportationMethodTypeCode_04 { + get; + set; + } + /// + /// Routing + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("387", typeof(X12_AN))] + [Pos(5)] + public string Routing_05 { + get; + set; + } + /// + /// Shipment/Order Status Code + /// + [DataMember] + [DataElement("368", typeof(X12_ID_368))] + [Pos(6)] + public string ShipmentOrderStatusCode_06 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(7)] + public string LocationQualifier_07 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(8)] + public string LocationIdentifier_08 { + get; + set; + } + /// + /// Transit Direction Code + /// + [DataMember] + [DataElement("731", typeof(X12_ID_731))] + [Pos(9)] + public string TransitDirectionCode_09 { + get; + set; + } + /// + /// Transit Time Direction Qualifier + /// + [DataMember] + [DataElement("732", typeof(X12_ID_732))] + [Pos(10)] + public string TransitTimeDirectionQualifier_10 { + get; + set; + } + /// + /// Transit Time + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("733", typeof(X12_R))] + [Pos(11)] + public string TransitTime_11 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(12)] + public string ServiceLevelCode_12 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(13)] + public string ServiceLevelCode_13 { + get; + set; + } + /// + /// Service Level Code + /// + [DataMember] + [DataElement("284", typeof(X12_ID_284))] + [Pos(14)] + public string ServiceLevelCode_14 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(15)] + public string CountryCode_15 { + get; + set; + } + } + + /// + /// Total Monetary Value Summary + /// + [Serializable()] + [DataContract()] + [Segment("TDS")] + public class TDS { + + /// + /// Amount + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(1)] + public string Amount_01 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(2)] + public string Amount_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + } + + /// + /// Technical Error Description + /// + [Serializable()] + [DataContract()] + [Segment("TED")] + public class TED { + + /// + /// Application Error Condition Code + /// + [DataMember] + [Required] + [DataElement("647", typeof(X12_ID_647))] + [Pos(1)] + public string ApplicationErrorConditionCode_01 { + get; + set; + } + /// + /// Free Form Message + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("3", typeof(X12_AN))] + [Pos(2)] + public string FreeFormMessage_02 { + get; + set; + } + /// + /// Segment ID Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("721", typeof(X12_AN))] + [Pos(3)] + public string SegmentIDCode_03 { + get; + set; + } + /// + /// Segment Position in Transaction Set + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("719", typeof(X12_N0))] + [Pos(4)] + public string SegmentPositioninTransactionSet_04 { + get; + set; + } + /// + /// Element Position in Segment + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("722", typeof(X12_N0))] + [Pos(5)] + public string ElementPositioninSegment_05 { + get; + set; + } + /// + /// Data Element Reference Number + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("725", typeof(X12_N0))] + [Pos(6)] + public string DataElementReferenceNumber_06 { + get; + set; + } + /// + /// Copy of Bad Data Element + /// + [DataMember] + [StringLength(1, 99)] + [DataElement("724", typeof(X12_AN))] + [Pos(7)] + public string CopyofBadDataElement_07 { + get; + set; + } + /// + /// Data Element New Content + /// + [DataMember] + [StringLength(1, 99)] + [DataElement("961", typeof(X12_AN))] + [Pos(8)] + public string DataElemenCAewContent_08 { + get; + set; + } + } + + /// + /// Pick-up Totals + /// + [Serializable()] + [DataContract()] + [Segment("TEM")] + public class TEM { + + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(3)] + public string WeightUnitCode_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + } + + /// + /// Territory + /// + [Serializable()] + [DataContract()] + [Segment("TER")] + public class TER { + + /// + /// Class of Trade Code + /// + [DataMember] + [Required] + [DataElement("687", typeof(X12_ID_687))] + [Pos(1)] + public string ClassofTradeCode_01 { + get; + set; + } + /// + /// General Territory Code + /// + [DataMember] + [DataElement("1632", typeof(X12_ID_1632))] + [Pos(2)] + public string GeneralTerritoryCode_02 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(3)] + public string FreeFormMessageText_03 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(4)] + public string CountryCode_04 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(5)] + public string Percent_05 { + get; + set; + } + } + + /// + /// Tariff Information + /// + [Serializable()] + [DataContract()] + [Segment("TF")] + public class TF { + + /// + /// Tariff Agency Code + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("168", typeof(X12_AN))] + [Pos(1)] + public string TariffAgencyCode_01 { + get; + set; + } + /// + /// Tariff Number + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("171", typeof(X12_AN))] + [Pos(2)] + public string TariffNumber_02 { + get; + set; + } + /// + /// Tariff Number Suffix + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("493", typeof(X12_AN))] + [Pos(3)] + public string TariffNumberSuffix_03 { + get; + set; + } + /// + /// Tariff Supplement Identifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("173", typeof(X12_AN))] + [Pos(4)] + public string TariffSupplementIdentifier_04 { + get; + set; + } + } + + /// + /// Tariff Adjustments + /// + [Serializable()] + [DataContract()] + [Segment("TFA")] + public class TFA { + + /// + /// Rate/Value Qualifier + /// + [DataMember] + [Required] + [DataElement("122", typeof(X12_ID_122))] + [Pos(1)] + public string RateValueQualifier_01 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(2)] + public string TariffAdjustmentValueAmount_02 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(3)] + public string TariffAdjustmentValueAmount_03 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(4)] + public string TariffAdjustmentValueAmount_04 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(5)] + public string TariffAdjustmentValueAmount_05 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(6)] + public string TariffAdjustmentValueAmount_06 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(7)] + public string TariffAdjustmentValueAmount_07 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(8)] + public string TariffAdjustmentValueAmount_08 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(9)] + public string TariffAdjustmentValueAmount_09 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(10)] + public string TariffAdjustmentValueAmount_10 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(11)] + public string TariffAdjustmentValueAmount_11 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(12)] + public string TariffAdjustmentValueAmount_12 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(13)] + public string TariffAdjustmentValueAmount_13 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(14)] + public string TariffAdjustmentValueAmount_14 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(15)] + public string TariffAdjustmentValueAmount_15 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(16)] + public string TariffAdjustmentValueAmount_16 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(17)] + public string TariffAdjustmentValueAmount_17 { + get; + set; + } + } + + /// + /// Tariff Adjustments Minimum Charge + /// + [Serializable()] + [DataContract()] + [Segment("TFD")] + public class TFD { + + /// + /// Rate/Value Qualifier + /// + [DataMember] + [Required] + [DataElement("122", typeof(X12_ID_122))] + [Pos(1)] + public string RateValueQualifier_01 { + get; + set; + } + /// + /// Tariff Adjustment Value/Amount + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("971", typeof(X12_R))] + [Pos(2)] + public string TariffAdjustmentValueAmount_02 { + get; + set; + } + } + + /// + /// Tariff Minimum Rates + /// + [Serializable()] + [DataContract()] + [Segment("TFM")] + public class TFM { + + /// + /// Freight Rate + /// + [DataMember] + [Required] + [StringLength(1, 9)] + [DataElement("60", typeof(X12_R))] + [Pos(1)] + public string FreightRate_01 { + get; + set; + } + } + + /// + /// Tariff Restrictions + /// + [Serializable()] + [DataContract()] + [Segment("TFR")] + public class TFR { + + /// + /// Tariff Restriction ID Code + /// + [DataMember] + [Required] + [DataElement("976", typeof(X12_ID_976))] + [Pos(1)] + public string TariffRestrictionIDCode_01 { + get; + set; + } + /// + /// Tariff Restriction Description + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("975", typeof(X12_AN))] + [Pos(2)] + public string TariffRestrictionDescription_02 { + get; + set; + } + /// + /// Tariff Restriction Value + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("977", typeof(X12_R))] + [Pos(3)] + public string TariffRestrictionValue_03 { + get; + set; + } + /// + /// Tariff Restriction Value + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("977", typeof(X12_R))] + [Pos(4)] + public string TariffRestrictionValue_04 { + get; + set; + } + } + + /// + /// Tax Form + /// + [Serializable()] + [DataContract()] + [Segment("TFS")] + public class TFS { + + /// + /// Reference Identification Qualifier + /// + [DataMember] + [Required] + [DataElement("128", typeof(X12_ID_128))] + [Pos(1)] + public string ReferenceIdentificationQualifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(3)] + public string ReferenceIdentificationQualifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(5)] + public string IdentificationCodeQualifier_05 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(6)] + public string IdentificationCode_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Name Control Identifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("818", typeof(X12_AN))] + [Pos(8)] + public string NameControlIdentifier_08 { + get; + set; + } + } + + /// + /// Screen Theater Identification + /// + [Serializable()] + [DataContract()] + [Segment("THE")] + public class THE { + + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(1)] + public string IdentificationCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [Required] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + } + + /// + /// Transport Information + /// + [Serializable()] + [DataContract()] + [Segment("TI")] + public class TI { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(3)] + public string EquipmentInitial_03 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(4)] + public string EquipmenCAumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Seal Status Code + /// + [DataMember] + [DataElement("407", typeof(X12_ID_407))] + [Pos(6)] + public string SealStatusCode_06 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(7)] + public string CarTypeCode_07 { + get; + set; + } + } + + /// + /// Tax Information and Amount + /// + [Serializable()] + [DataContract()] + [Segment("TIA")] + public class TIA { + + /// + /// Tax Field Identification + /// + [DataMember] + [Required] + [Pos(1)] + public C037 TaxFieldIdentification_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Fixed Format Information + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("449", typeof(X12_AN))] + [Pos(3)] + public string FixedFormatInformation_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(6)] + public string Percent_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + } + + /// + /// Task Identification + /// + [Serializable()] + [DataContract()] + [Segment("TID")] + public class TID { + + /// + /// Task ID Qualifier + /// + [DataMember] + [Required] + [DataElement("1173", typeof(X12_ID_1173))] + [Pos(1)] + public string TaskIDQualifier_01 { + get; + set; + } + /// + /// Task Identifier + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("1174", typeof(X12_AN))] + [Pos(2)] + public string TaskIdentifier_02 { + get; + set; + } + /// + /// Relationship Task Identifier + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("1175", typeof(X12_AN))] + [Pos(3)] + public string RelationshipTaskIdentifier_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Work Status Code + /// + [DataMember] + [DataElement("1297", typeof(X12_ID_1297))] + [Pos(5)] + public string WorkStatusCode_05 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(6)] + public string ActionCode_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Level + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("1178", typeof(X12_AN))] + [Pos(9)] + public string Level_09 { + get; + set; + } + } + + /// + /// Title Insurance Services + /// + [Serializable()] + [DataContract()] + [Segment("TIS")] + public class TIS { + + /// + /// Title Insurance Services Code + /// + [DataMember] + [Required] + [DataElement("1420", typeof(X12_ID_1420))] + [Pos(1)] + public string TitleInsuranceServicesCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(3)] + public string ProductServiceIDQualifier_03 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(4)] + public string ProductServiceID_04 { + get; + set; + } + } + + /// + /// Tradeline + /// + [Serializable()] + [DataContract()] + [Segment("TLN")] + public class TLN { + + /// + /// Account Number + /// + [DataMember] + [Required] + [StringLength(1, 35)] + [DataElement("508", typeof(X12_AN))] + [Pos(1)] + public string AccounCAumber_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(3)] + public string YesNoConditionorResponseCode_03 { + get; + set; + } + /// + /// Type of Account Code + /// + [DataMember] + [DataElement("1187", typeof(X12_ID_1187))] + [Pos(4)] + public string TypeofAccountCode_04 { + get; + set; + } + /// + /// Type of Account Code + /// + [DataMember] + [DataElement("1187", typeof(X12_ID_1187))] + [Pos(5)] + public string TypeofAccountCode_05 { + get; + set; + } + /// + /// Type of Credit Account Code + /// + [DataMember] + [DataElement("1189", typeof(X12_ID_1189))] + [Pos(6)] + public string TypeofCreditAccountCode_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + /// + /// Loan Type Code + /// + [DataMember] + [DataElement("1262", typeof(X12_ID_1262))] + [Pos(8)] + public string LoanTypeCode_08 { + get; + set; + } + /// + /// Rating Code + /// + [DataMember] + [DataElement("263", typeof(X12_ID_263))] + [Pos(9)] + public string RatingCode_09 { + get; + set; + } + /// + /// Rating Remarks Code + /// + [DataMember] + [DataElement("650", typeof(X12_ID_650))] + [Pos(10)] + public string RatingRemarksCode_10 { + get; + set; + } + /// + /// Source of Disclosure Code + /// + [DataMember] + [DataElement("261", typeof(X12_ID_261))] + [Pos(11)] + public string SourceofDisclosureCode_11 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(12)] + public string DateTimePeriodFormatQualifier_12 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(13)] + public string DateTimePeriod_13 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(14)] + public string MonetaryAmount_14 { + get; + set; + } + /// + /// Rating Code + /// + [DataMember] + [DataElement("263", typeof(X12_ID_263))] + [Pos(15)] + public string RatingCode_15 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(16)] + public string DateTimePeriodFormatQualifier_16 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(17)] + public string DateTimePeriod_17 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(18)] + public string MonetaryAmount_18 { + get; + set; + } + /// + /// Rating Code + /// + [DataMember] + [DataElement("263", typeof(X12_ID_263))] + [Pos(19)] + public string RatingCode_19 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(20)] + public string YesNoConditionorResponseCode_20 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(21)] + public string Number_21 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(22)] + public string Description_22 { + get; + set; + } + } + + /// + /// Test Method + /// + [Serializable()] + [DataContract()] + [Segment("TMD")] + public class TMD { + + /// + /// Product/Process Characteristic Code + /// + [DataMember] + [DataElement("750", typeof(X12_ID_750))] + [Pos(1)] + public string ProductProcessCharacteristicCode_01 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(2)] + public string AgencyQualifierCode_02 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(3)] + public string ProductDescriptionCode_03 { + get; + set; + } + /// + /// Test Administration Method Code + /// + [DataMember] + [DataElement("937", typeof(X12_ID_937))] + [Pos(4)] + public string TestAdministrationMethodCode_04 { + get; + set; + } + /// + /// Test Medium Code + /// + [DataMember] + [DataElement("938", typeof(X12_ID_938))] + [Pos(5)] + public string TestMediumCode_05 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(6)] + public string Description_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(8)] + public string ReferenceIdentification_08 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(9)] + public string SourceSubqualifier_09 { + get; + set; + } + } + + /// + /// Type of Activity + /// + [Serializable()] + [DataContract()] + [Segment("TOA")] + public class TOA { + + /// + /// Type of Activity Code + /// + [DataMember] + [Required] + [DataElement("1591", typeof(X12_ID_1591))] + [Pos(1)] + public string TypeofActivityCode_01 { + get; + set; + } + /// + /// License Type Code + /// + [DataMember] + [DataElement("1553", typeof(X12_ID_1553))] + [Pos(2)] + public string LicenseTypeCode_02 { + get; + set; + } + /// + /// Status Code + /// + [DataMember] + [DataElement("546", typeof(X12_ID_546))] + [Pos(3)] + public string StatusCode_03 { + get; + set; + } + /// + /// Type of Rating Code + /// + [DataMember] + [DataElement("1592", typeof(X12_ID_1592))] + [Pos(4)] + public string TypeofRatingCode_04 { + get; + set; + } + /// + /// Type of Rating Code + /// + [DataMember] + [DataElement("1592", typeof(X12_ID_1592))] + [Pos(5)] + public string TypeofRatingCode_05 { + get; + set; + } + } + + /// + /// Tooth Identification + /// + [Serializable()] + [DataContract()] + [Segment("TOO")] + public class TOO { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Tooth Surface + /// + [DataMember] + [Pos(3)] + public C005 ToothSurface_03 { + get; + set; + } + } + + /// + /// Vehicle Use Information + /// + [Serializable()] + [DataContract()] + [Segment("TOV")] + public class TOV { + + /// + /// Hazardous Vehicle Type Code + /// + [DataMember] + [Required] + [DataElement("1599", typeof(X12_ID_1599))] + [Pos(1)] + public string HazardousVehicleTypeCode_01 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(2)] + public string DateTimeQualifier_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(5)] + public string QuantityQualifier_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + } + + /// + /// Business Professional Title + /// + [Serializable()] + [DataContract()] + [Segment("TPB")] + public class TPB { + + /// + /// Business Professional Title Code + /// + [DataMember] + [DataElement("1634", typeof(X12_ID_1634))] + [Pos(1)] + public string BusinessProfessionalTitleCode_01 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(2)] + public string FreeFormMessageText_02 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(3)] + public string AgencyQualifierCode_03 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(4)] + public string SourceSubqualifier_04 { + get; + set; + } + } + + /// + /// Trading ParCAer Detail + /// + [Serializable()] + [DataContract()] + [Segment("TPD")] + public class TPD { + + /// + /// Item Description Type + /// + [DataMember] + [Required] + [DataElement("349", typeof(X12_ID_349))] + [Pos(1)] + public string ItemDescriptionType_01 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [DataElement("23", typeof(X12_ID_23))] + [Pos(2)] + public string CommodityCodeQualifier_02 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(3)] + public string CommodityCode_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + } + + /// + /// Rating Factors + /// + [Serializable()] + [DataContract()] + [Segment("TRF")] + public class TRF { + + /// + /// Quantity Qualifier + /// + [DataMember] + [Required] + [DataElement("673", typeof(X12_ID_673))] + [Pos(1)] + public string QuantityQualifier_01 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(2)] + public C001 CompositeUnitofMeasure_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(4)] + public C001 CompositeUnitofMeasure_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + } + + /// + /// Trace + /// + [Serializable()] + [DataContract()] + [Segment("TRN")] + public class TRN { + + /// + /// Trace Type Code + /// + [DataMember] + [Required] + [DataElement("481", typeof(X12_ID_481))] + [Pos(1)] + public string TraceTypeCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Originating Company Identifier + /// + [DataMember] + [StringLength(10, 10)] + [DataElement("509", typeof(X12_AN))] + [Pos(3)] + public string OriginatingCompanyIdentifier_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + } + + /// + /// Tax Rate + /// + [Serializable()] + [DataContract()] + [Segment("TRS")] + public class TRS { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Free-form Description + /// + [DataMember] + [StringLength(1, 45)] + [DataElement("369", typeof(X12_AN))] + [Pos(2)] + public string FreeformDescription_02 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(3)] + public string Percent_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + /// + /// Rate Application Code + /// + [DataMember] + [DataElement("1499", typeof(X12_ID_1499))] + [Pos(5)] + public string RateApplicationCode_05 { + get; + set; + } + } + + /// + /// Tariff Section + /// + [Serializable()] + [DataContract()] + [Segment("TS")] + public class TS { + + /// + /// Tariff Section + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("978", typeof(X12_AN))] + [Pos(1)] + public string TariffSection_01 { + get; + set; + } + /// + /// Tariff Item Number + /// + [DataMember] + [StringLength(1, 16)] + [DataElement("169", typeof(X12_AN))] + [Pos(2)] + public string TariffItemNumber_02 { + get; + set; + } + /// + /// Tariff Item Suffix + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("973", typeof(X12_AN))] + [Pos(3)] + public string TariffItemSuffix_03 { + get; + set; + } + /// + /// Tariff Section ID Code + /// + [DataMember] + [DataElement("980", typeof(X12_ID_980))] + [Pos(4)] + public string TariffSectionIDCode_04 { + get; + set; + } + /// + /// Rate/Value Qualifier + /// + [DataMember] + [DataElement("122", typeof(X12_ID_122))] + [Pos(5)] + public string RateValueQualifier_05 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(6)] + public string EquipmentDescriptionCode_06 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(7)] + public string Description_07 { + get; + set; + } + } + + /// + /// Transaction Supplemental Statistics + /// + [Serializable()] + [DataContract()] + [Segment("TS2")] + public class TS2 { + + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(1)] + public string MonetaryAmount_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(4)] + public string MonetaryAmount_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(9)] + public string MonetaryAmount_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(11)] + public string Quantity_11 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(12)] + public string Quantity_12 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(13)] + public string Quantity_13 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(14)] + public string Quantity_14 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(15)] + public string MonetaryAmount_15 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(16)] + public string Quantity_16 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(17)] + public string MonetaryAmount_17 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(18)] + public string MonetaryAmount_18 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(19)] + public string MonetaryAmount_19 { + get; + set; + } + } + + /// + /// Transaction Statistics + /// + [Serializable()] + [DataContract()] + [Segment("TS3")] + public class TS3 { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Facility Code Value + /// + [DataMember] + [Required] + [StringLength(1, 2)] + [DataElement("1331", typeof(X12_AN))] + [Pos(2)] + public string FacilityCodeValue_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(7)] + public string MonetaryAmount_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(9)] + public string MonetaryAmount_09 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(10)] + public string MonetaryAmount_10 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(11)] + public string MonetaryAmount_11 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(12)] + public string MonetaryAmount_12 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(13)] + public string MonetaryAmount_13 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(14)] + public string MonetaryAmount_14 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(15)] + public string MonetaryAmount_15 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(16)] + public string MonetaryAmount_16 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(17)] + public string MonetaryAmount_17 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(18)] + public string MonetaryAmount_18 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(19)] + public string MonetaryAmount_19 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(20)] + public string MonetaryAmount_20 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(21)] + public string MonetaryAmount_21 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(22)] + public string MonetaryAmount_22 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(23)] + public string Quantity_23 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(24)] + public string MonetaryAmount_24 { + get; + set; + } + } + + /// + /// Trailer Shipment Details + /// + [Serializable()] + [DataContract()] + [Segment("TSD")] + public class TSD { + + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(1)] + public string AssignedIdentification_01 { + get; + set; + } + /// + /// Position + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("219", typeof(X12_AN))] + [Pos(2)] + public string Position_02 { + get; + set; + } + } + + /// + /// Automatic Equipment Tag Status Information + /// + [Serializable()] + [DataContract()] + [Segment("TSI")] + public class TSI { + + /// + /// Tag Status Code + /// + [DataMember] + [DataElement("1554", typeof(X12_ID_1554))] + [Pos(1)] + public string TagStatusCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + } + + /// + /// Test Period or Interval + /// + [Serializable()] + [DataContract()] + [Segment("TSP")] + public class TSP { + + /// + /// Test Period or Interval Qualifier + /// + [DataMember] + [Required] + [DataElement("1312", typeof(X12_ID_1312))] + [Pos(1)] + public string TestPeriodorIntervalQualifier_01 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(2)] + public string AssignedIdentification_02 { + get; + set; + } + /// + /// Test Period or Interval Value + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1313", typeof(X12_N0))] + [Pos(3)] + public string TestPeriodorIntervalValue_03 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(4)] + public string UnitofTimePeriodorInterval_04 { + get; + set; + } + } + + /// + /// Test Score Record + /// + [Serializable()] + [DataContract()] + [Segment("TST")] + public class TST { + + /// + /// Educational Test or Requirement Code + /// + [DataMember] + [Required] + [StringLength(1, 3)] + [DataElement("1155", typeof(X12_AN))] + [Pos(1)] + public string EducationalTestorRequirementCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(5)] + public string ReferenceIdentification_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Level of Individual, Test, or Course Code + /// + [DataMember] + [DataElement("1131", typeof(X12_ID_1131))] + [Pos(7)] + public string LevelofIndividualTestorCourseCode_07 { + get; + set; + } + /// + /// Level of Individual, Test, or Course Code + /// + [DataMember] + [DataElement("1131", typeof(X12_ID_1131))] + [Pos(8)] + public string LevelofIndividualTestorCourseCode_08 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(9)] + public string DateTimePeriod_09 { + get; + set; + } + /// + /// Test Norm Type Code + /// + [DataMember] + [DataElement("1156", typeof(X12_ID_1156))] + [Pos(10)] + public string TesCAormTypeCode_10 { + get; + set; + } + /// + /// Test Norming Period Code + /// + [DataMember] + [DataElement("1157", typeof(X12_ID_1157))] + [Pos(11)] + public string TesCAormingPeriodCode_11 { + get; + set; + } + /// + /// Language Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("819", typeof(X12_AN))] + [Pos(12)] + public string LanguageCode_12 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(13)] + public string DateTimePeriod_13 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(14)] + public string YesNoConditionorResponseCode_14 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(15)] + public string YesNoConditionorResponseCode_15 { + get; + set; + } + } + + /// + /// Transaction Summary + /// + [Serializable()] + [DataContract()] + [Segment("TSU")] + public class TSU { + + /// + /// Code List Qualifier Code + /// + [DataMember] + [Required] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(1)] + public string CodeListQualifierCode_01 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(2)] + public string IndustryCode_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [Required] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(5)] + public string Quantity_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(7)] + public string Time_07 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(8)] + public string TimeCode_08 { + get; + set; + } + } + + /// + /// Term Text + /// + [Serializable()] + [DataContract()] + [Segment("TT")] + public class TT { + + /// + /// Assigned Number + /// + [DataMember] + [Required] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Fixed Format Information + /// + [DataMember] + [Required] + [StringLength(1, 80)] + [DataElement("449", typeof(X12_AN))] + [Pos(2)] + public string FixedFormatInformation_02 { + get; + set; + } + } + + /// + /// Trade Union Data + /// + [Serializable()] + [DataContract()] + [Segment("TUD")] + public class TUD { + + /// + /// Trade Union Code + /// + [DataMember] + [Required] + [DataElement("705", typeof(X12_ID_705))] + [Pos(1)] + public string TradeUnionCode_01 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(2)] + public string IdentificationCodeQualifier_02 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(3)] + public string IdentificationCode_03 { + get; + set; + } + } + + /// + /// Tax Information + /// + [Serializable()] + [DataContract()] + [Segment("TXI")] + public class TXI { + + /// + /// Tax Type Code + /// + [DataMember] + [Required] + [DataElement("963", typeof(X12_ID_963))] + [Pos(1)] + public string TaxTypeCode_01 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(2)] + public string MonetaryAmount_02 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(3)] + public string Percent_03 { + get; + set; + } + /// + /// Tax Jurisdiction Code Qualifier + /// + [DataMember] + [DataElement("955", typeof(X12_ID_955))] + [Pos(4)] + public string TaxJurisdictionCodeQualifier_04 { + get; + set; + } + /// + /// Tax Jurisdiction Code + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("956", typeof(X12_AN))] + [Pos(5)] + public string TaxJurisdictionCode_05 { + get; + set; + } + /// + /// Tax Exempt Code + /// + [DataMember] + [DataElement("441", typeof(X12_ID_441))] + [Pos(6)] + public string TaxExemptCode_06 { + get; + set; + } + /// + /// Relationship Code + /// + [DataMember] + [DataElement("662", typeof(X12_ID_662))] + [Pos(7)] + public string RelationshipCode_07 { + get; + set; + } + /// + /// Dollar Basis For Percent + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("828", typeof(X12_R))] + [Pos(8)] + public string DollarBasisForPercent_08 { + get; + set; + } + /// + /// Tax Identification Number + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("325", typeof(X12_AN))] + [Pos(9)] + public string TaxIdentificationNumber_09 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(10)] + public string AssignedIdentification_10 { + get; + set; + } + } + + /// + /// Transaction Capabilities + /// + [Serializable()] + [DataContract()] + [Segment("TXN")] + public class TXN { + + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(1)] + public string ActionCode_01 { + get; + set; + } + /// + /// Responsible Agency Code + /// + [DataMember] + [Required] + [DataElement("455", typeof(X12_ID_455))] + [Pos(2)] + public string ResponsibleAgencyCode_02 { + get; + set; + } + /// + /// Transaction Set Identifier Code + /// + [DataMember] + [Required] + [DataElement("143", typeof(X12_ID_143))] + [Pos(3)] + public string TransactionSetIdentifierCode_03 { + get; + set; + } + /// + /// Version / Release / Industry Identifier Code + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("480", typeof(X12_AN))] + [Pos(4)] + public string VersionReleaseIndustryIdentifierCode_04 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [Required] + [DataElement("306", typeof(X12_ID_306))] + [Pos(5)] + public string ActionCode_05 { + get; + set; + } + /// + /// Application Receiver's Code + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("124", typeof(X12_AN))] + [Pos(6)] + public string ApplicationReceiversCode_06 { + get; + set; + } + /// + /// Application Sender's Code + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("142", typeof(X12_AN))] + [Pos(7)] + public string ApplicationSendersCode_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(9)] + public string Time_09 { + get; + set; + } + } + + /// + /// Tax Payment + /// + [Serializable()] + [DataContract()] + [Segment("TXP")] + public class TXP { + + /// + /// Tax Identification Number + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("325", typeof(X12_AN))] + [Pos(1)] + public string TaxIdentificationNumber_01 { + get; + set; + } + /// + /// Tax Payment Type Code + /// + [DataMember] + [Required] + [StringLength(1, 5)] + [DataElement("1049", typeof(X12_AN))] + [Pos(2)] + public string TaxPaymentTypeCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Tax Information Identification Number + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("817", typeof(X12_AN))] + [Pos(4)] + public string TaxInformationIdentificationNumber_04 { + get; + set; + } + /// + /// Tax Amount + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("1051", typeof(X12_N2))] + [Pos(5)] + public string TaxAmount_05 { + get; + set; + } + /// + /// Tax Information Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("817", typeof(X12_AN))] + [Pos(6)] + public string TaxInformationIdentificationNumber_06 { + get; + set; + } + /// + /// Tax Amount + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("1051", typeof(X12_N2))] + [Pos(7)] + public string TaxAmount_07 { + get; + set; + } + /// + /// Tax Information Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("817", typeof(X12_AN))] + [Pos(8)] + public string TaxInformationIdentificationNumber_08 { + get; + set; + } + /// + /// Tax Amount + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("1051", typeof(X12_N2))] + [Pos(9)] + public string TaxAmount_09 { + get; + set; + } + /// + /// Taxpayer Verification + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1050", typeof(X12_AN))] + [Pos(10)] + public string TaxpayerVerification_10 { + get; + set; + } + } + + /// + /// Underwriting Category + /// + [Serializable()] + [DataContract()] + [Segment("UC")] + public class UC { + + /// + /// Code Category + /// + [DataMember] + [Required] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(3)] + public string ReferenceIdentification_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + } + + /// + /// Underwriting Considerations + /// + [Serializable()] + [DataContract()] + [Segment("UCS")] + public class UCS { + + /// + /// Code Category + /// + [DataMember] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Item Description Type + /// + [DataMember] + [DataElement("349", typeof(X12_ID_349))] + [Pos(3)] + public string ItemDescriptionType_03 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(4)] + public string Description_04 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(5)] + public string ProductServiceIDQualifier_05 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(6)] + public string ProductServiceID_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(8)] + public C001 CompositeUnitofMeasure_08 { + get; + set; + } + } + + /// + /// Underwriting Status + /// + [Serializable()] + [DataContract()] + [Segment("UD")] + public class UD { + + /// + /// Status Code + /// + [DataMember] + [Required] + [DataElement("546", typeof(X12_ID_546))] + [Pos(1)] + public string StatusCode_01 { + get; + set; + } + /// + /// Status Code + /// + [DataMember] + [DataElement("546", typeof(X12_ID_546))] + [Pos(2)] + public string StatusCode_02 { + get; + set; + } + /// + /// Underwriting Decision Code + /// + [DataMember] + [DataElement("1209", typeof(X12_ID_1209))] + [Pos(3)] + public string UnderwritingDecisionCode_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(5)] + public string Description_05 { + get; + set; + } + /// + /// Offer Basis Code + /// + [DataMember] + [DataElement("1123", typeof(X12_ID_1123))] + [Pos(6)] + public string OfferBasisCode_06 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(7)] + public string AssignedNumber_07 { + get; + set; + } + /// + /// Offer Basis Code + /// + [DataMember] + [DataElement("1123", typeof(X12_ID_1123))] + [Pos(8)] + public string OfferBasisCode_08 { + get; + set; + } + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(9)] + public string AssignedNumber_09 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(10)] + public string Description_10 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(11)] + public string Percent_11 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(12)] + public string Amount_12 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(13)] + public string Number_13 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(14)] + public string StateorProvinceCode_14 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(15)] + public string CountryCode_15 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(16)] + public string StateorProvinceCode_16 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(17)] + public string CountryCode_17 { + get; + set; + } + } + + /// + /// Underwriting Condition + /// + [Serializable()] + [DataContract()] + [Segment("UDA")] + public class UDA { + + /// + /// Offer Basis Code + /// + [DataMember] + [Required] + [DataElement("1123", typeof(X12_ID_1123))] + [Pos(1)] + public string OfferBasisCode_01 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(2)] + public string Description_02 { + get; + set; + } + /// + /// Quantity Qualifier + /// + [DataMember] + [DataElement("673", typeof(X12_ID_673))] + [Pos(3)] + public string QuantityQualifier_03 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(4)] + public string Quantity_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(6)] + public string Amount_06 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(7)] + public string Percent_07 { + get; + set; + } + } + + /// + /// Unit Detail + /// + [Serializable()] + [DataContract()] + [Segment("UIT")] + public class UIT { + + /// + /// Composite Unit of Measure + /// + [DataMember] + [Required] + [Pos(1)] + public C001 CompositeUnitofMeasure_01 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(2)] + public string UnitPrice_02 { + get; + set; + } + /// + /// Basis of Unit Price Code + /// + [DataMember] + [DataElement("639", typeof(X12_ID_639))] + [Pos(3)] + public string BasisofUnitPriceCode_03 { + get; + set; + } + } + + /// + /// Health Care Services Review Information + /// + [Serializable()] + [DataContract()] + [Segment("UM")] + public class UM { + + /// + /// Request Category Code + /// + [DataMember] + [Required] + [DataElement("1525", typeof(X12_ID_1525))] + [Pos(1)] + public string RequestCategoryCode_01 { + get; + set; + } + /// + /// Certification Type Code + /// + [DataMember] + [DataElement("1322", typeof(X12_ID_1322))] + [Pos(2)] + public string CertificationTypeCode_02 { + get; + set; + } + /// + /// Service Type Code + /// + [DataMember] + [DataElement("1365", typeof(X12_ID_1365))] + [Pos(3)] + public string ServiceTypeCode_03 { + get; + set; + } + /// + /// Health Care Service Location Information + /// + [DataMember] + [Pos(4)] + public C023 HealthCareServiceLocationInformation_04 { + get; + set; + } + /// + /// Related Causes Information + /// + [DataMember] + [Pos(5)] + public C024 RelatedCausesInformation_05 { + get; + set; + } + /// + /// Level of Service Code + /// + [DataMember] + [DataElement("1338", typeof(X12_ID_1338))] + [Pos(6)] + public string LevelofServiceCode_06 { + get; + set; + } + /// + /// Current Health Condition Code + /// + [DataMember] + [DataElement("1213", typeof(X12_ID_1213))] + [Pos(7)] + public string CurrentHealthConditionCode_07 { + get; + set; + } + /// + /// Prognosis Code + /// + [DataMember] + [DataElement("923", typeof(X12_ID_923))] + [Pos(8)] + public string PrognosisCode_08 { + get; + set; + } + /// + /// Release of Information Code + /// + [DataMember] + [DataElement("1363", typeof(X12_ID_1363))] + [Pos(9)] + public string ReleaseofInformationCode_09 { + get; + set; + } + /// + /// Delay Reason Code + /// + [DataMember] + [DataElement("1514", typeof(X12_ID_1514))] + [Pos(10)] + public string DelayReasonCode_10 { + get; + set; + } + } + + /// + /// Underwriting Question + /// + [Serializable()] + [DataContract()] + [Segment("UQS")] + public class UQS { + + /// + /// Reference Identification + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(1)] + public string ReferenceIdentification_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(3)] + public string FreeFormMessageText_03 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(4)] + public string YesNoConditionorResponseCode_04 { + get; + set; + } + } + + /// + /// Peer Review Organization or Utilization Review + /// + [Serializable()] + [DataContract()] + [Segment("UR")] + public class UR { + + /// + /// Approval Code + /// + [DataMember] + [Required] + [StringLength(1, 1)] + [DataElement("1318", typeof(X12_AN))] + [Pos(1)] + public string ApprovalCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + } + + /// + /// Usage-Sensitive Detail + /// + [Serializable()] + [DataContract()] + [Segment("USD")] + public class USD { + + /// + /// Relationship Code + /// + [DataMember] + [Required] + [DataElement("662", typeof(X12_ID_662))] + [Pos(1)] + public string RelationshipCode_01 { + get; + set; + } + /// + /// Assigned Identification + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("350", typeof(X12_AN))] + [Pos(2)] + public string AssignedIdentification_02 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(3)] + public string Rate_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(5)] + public C001 CompositeUnitofMeasure_05 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(6)] + public string Quantity_06 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(7)] + public string Quantity_07 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(8)] + public string MonetaryAmount_08 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(9)] + public string Amount_09 { + get; + set; + } + /// + /// Composite Unit of Measure + /// + [DataMember] + [Pos(10)] + public C001 CompositeUnitofMeasure_10 { + get; + set; + } + /// + /// Range Minimum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("740", typeof(X12_R))] + [Pos(11)] + public string RangeMinimum_11 { + get; + set; + } + /// + /// Range Maximum + /// + [DataMember] + [StringLength(1, 20)] + [DataElement("741", typeof(X12_R))] + [Pos(12)] + public string RangeMaximum_12 { + get; + set; + } + } + + /// + /// Underwriting Information + /// + [Serializable()] + [DataContract()] + [Segment("UWI")] + public class UWI { + + /// + /// Underwriting Method Code + /// + [DataMember] + [Required] + [DataElement("1627", typeof(X12_ID_1627))] + [Pos(1)] + public string UnderwritingMethodCode_01 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(2)] + public string Name_02 { + get; + set; + } + /// + /// Disposition Code + /// + [DataMember] + [DataElement("611", typeof(X12_ID_611))] + [Pos(3)] + public string DispositionCode_03 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(4)] + public string ReferenceIdentification_04 { + get; + set; + } + } + + /// + /// Vessel Identification + /// + [Serializable()] + [DataContract()] + [Segment("V1")] + public class V1 { + + /// + /// Vessel Code + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("597", typeof(X12_AN))] + [Pos(1)] + public string VesselCode_01 { + get; + set; + } + /// + /// Vessel Name + /// + [DataMember] + [StringLength(2, 28)] + [DataElement("182", typeof(X12_AN))] + [Pos(2)] + public string VesselName_02 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(3)] + public string CountryCode_03 { + get; + set; + } + /// + /// Flight/Voyage Number + /// + [DataMember] + [StringLength(2, 10)] + [DataElement("55", typeof(X12_AN))] + [Pos(4)] + public string FlightVoyageNumber_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// Vessel Requirement Code + /// + [DataMember] + [DataElement("249", typeof(X12_ID_249))] + [Pos(6)] + public string VesselRequirementCode_06 { + get; + set; + } + /// + /// Vessel Type Code + /// + [DataMember] + [DataElement("854", typeof(X12_ID_854))] + [Pos(7)] + public string VesselTypeCode_07 { + get; + set; + } + /// + /// Vessel Code Qualifier + /// + [DataMember] + [DataElement("897", typeof(X12_ID_897))] + [Pos(8)] + public string VesselCodeQualifier_08 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(9)] + public string TransportationMethodTypeCode_09 { + get; + set; + } + } + + /// + /// Vessel Information + /// + [Serializable()] + [DataContract()] + [Segment("V2")] + public class V2 { + + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(1)] + public string LocationIdentifier_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(4)] + public string WeightUnitCode_04 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(5)] + public string Weight_05 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(6)] + public string WeightUnitCode_06 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(7)] + public string Weight_07 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(8)] + public string WeightUnitCode_08 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(9)] + public string Weight_09 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(10)] + public string WeightUnitCode_10 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(11)] + public string Weight_11 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(12)] + public string WeightUnitCode_12 { + get; + set; + } + /// + /// Name + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("93", typeof(X12_AN))] + [Pos(13)] + public string Name_13 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(14)] + public string Length_14 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(15)] + public string UnitorBasisforMeasurementCode_15 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(16)] + public string Quantity_16 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(17)] + public string Quantity_17 { + get; + set; + } + } + + /// + /// Vessel Schedule + /// + [Serializable()] + [DataContract()] + [Segment("V3")] + public class V3 { + + /// + /// Current Port of Loading + /// + [DataMember] + [Required] + [StringLength(2, 24)] + [DataElement("318", typeof(X12_AN))] + [Pos(1)] + public string CurrentPortofLoading_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Next Port of Discharge + /// + [DataMember] + [StringLength(2, 24)] + [DataElement("316", typeof(X12_AN))] + [Pos(3)] + public string NextPortofDischarge_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + } + + /// + /// Cargo Location Reference + /// + [Serializable()] + [DataContract()] + [Segment("V4")] + public class V4 { + + /// + /// Vessel Stowage Location + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("877", typeof(X12_AN))] + [Pos(1)] + public string VesselStowageLocation_01 { + get; + set; + } + } + + /// + /// Vessel Code + /// + [Serializable()] + [DataContract()] + [Segment("V5")] + public class V5 { + + /// + /// Vessel Code Qualifier + /// + [DataMember] + [Required] + [DataElement("897", typeof(X12_ID_897))] + [Pos(1)] + public string VesselCodeQualifier_01 { + get; + set; + } + /// + /// Vessel Code + /// + [DataMember] + [Required] + [StringLength(1, 8)] + [DataElement("597", typeof(X12_AN))] + [Pos(2)] + public string VesselCode_02 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [Required] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(3)] + public string CountryCode_03 { + get; + set; + } + } + + /// + /// Event Detail + /// + [Serializable()] + [DataContract()] + [Segment("V9")] + public class V9 { + + /// + /// Event Code + /// + [DataMember] + [Required] + [DataElement("304", typeof(X12_ID_304))] + [Pos(1)] + public string EventCode_01 { + get; + set; + } + /// + /// Event + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("106", typeof(X12_AN))] + [Pos(2)] + public string Event_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(4)] + public string Time_04 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(5)] + public string CityName_05 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(6)] + public string StateorProvinceCode_06 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(7)] + public string CountryCode_07 { + get; + set; + } + /// + /// Status Reason Code + /// + [DataMember] + [DataElement("641", typeof(X12_ID_641))] + [Pos(8)] + public string StatusReasonCode_08 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(9)] + public string StandardPointLocationCode_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Train Delay Reason Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("1274", typeof(X12_AN))] + [Pos(11)] + public string TrainDelayReasonCode_11 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(12)] + public string FreeFormMessage_12 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(13)] + public string TimeCode_13 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(14)] + public string Quantity_14 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(15)] + public string StandardPointLocationCode_15 { + get; + set; + } + /// + /// Total Equipment + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("86", typeof(X12_N0))] + [Pos(16)] + public string TotalEquipment_16 { + get; + set; + } + /// + /// Total Equipment + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("86", typeof(X12_N0))] + [Pos(17)] + public string TotalEquipment_17 { + get; + set; + } + /// + /// Total Equipment + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("86", typeof(X12_N0))] + [Pos(18)] + public string TotalEquipment_18 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(19)] + public string Weight_19 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(20)] + public string Length_20 { + get; + set; + } + } + + /// + /// Vehicle Advice Detail + /// + [Serializable()] + [DataContract()] + [Segment("VAD")] + public class VAD { + + /// + /// Vehicle Identification Number + /// + [DataMember] + [Required] + [StringLength(1, 25)] + [DataElement("539", typeof(X12_AN))] + [Pos(1)] + public string VehicleIdentificationNumber_01 { + get; + set; + } + /// + /// Invoice Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("76", typeof(X12_AN))] + [Pos(2)] + public string InvoiceNumber_02 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(3)] + public string MonetaryAmount_03 { + get; + set; + } + /// + /// Rate + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("118", typeof(X12_R))] + [Pos(4)] + public string Rate_04 { + get; + set; + } + /// + /// Dealer Code + /// + [DataMember] + [StringLength(2, 9)] + [DataElement("838", typeof(X12_AN))] + [Pos(5)] + public string DealerCode_05 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(6)] + public string ReferenceIdentification_06 { + get; + set; + } + /// + /// Application Error Condition Code + /// + [DataMember] + [DataElement("647", typeof(X12_ID_647))] + [Pos(7)] + public string ApplicationErrorConditionCode_07 { + get; + set; + } + /// + /// Application Error Condition Code + /// + [DataMember] + [DataElement("647", typeof(X12_ID_647))] + [Pos(8)] + public string ApplicationErrorConditionCode_08 { + get; + set; + } + /// + /// Application Error Condition Code + /// + [DataMember] + [DataElement("647", typeof(X12_ID_647))] + [Pos(9)] + public string ApplicationErrorConditionCode_09 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(10)] + public string DateTimeQualifier_10 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(11)] + public string Date_11 { + get; + set; + } + } + + /// + /// Credit File Variation + /// + [Serializable()] + [DataContract()] + [Segment("VAR")] + public class VAR { + + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(1)] + public string IdentificationCode_01 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(2)] + public string ReferenceIdentification_02 { + get; + set; + } + /// + /// Credit File Variation Code + /// + [DataMember] + [DataElement("608", typeof(X12_ID_608))] + [Pos(3)] + public string CreditFileVariationCode_03 { + get; + set; + } + /// + /// Credit File Variation Code + /// + [DataMember] + [DataElement("608", typeof(X12_ID_608))] + [Pos(4)] + public string CreditFileVariationCode_04 { + get; + set; + } + /// + /// Credit File Variation Code + /// + [DataMember] + [DataElement("608", typeof(X12_ID_608))] + [Pos(5)] + public string CreditFileVariationCode_05 { + get; + set; + } + /// + /// Credit File Variation Code + /// + [DataMember] + [DataElement("608", typeof(X12_ID_608))] + [Pos(6)] + public string CreditFileVariationCode_06 { + get; + set; + } + /// + /// Credit File Variation Code + /// + [DataMember] + [DataElement("608", typeof(X12_ID_608))] + [Pos(7)] + public string CreditFileVariationCode_07 { + get; + set; + } + } + + /// + /// Vehicle Attribute + /// + [Serializable()] + [DataContract()] + [Segment("VAT")] + public class VAT { + + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(1)] + public string IndustryCode_01 { + get; + set; + } + /// + /// Amount Qualifier Code + /// + [DataMember] + [DataElement("522", typeof(X12_ID_522))] + [Pos(2)] + public string AmountQualifierCode_02 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(3)] + public string Amount_03 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(4)] + public string CurrencyCode_04 { + get; + set; + } + /// + /// Product/Process Characteristic Code + /// + [DataMember] + [DataElement("750", typeof(X12_ID_750))] + [Pos(5)] + public string ProductProcessCharacteristicCode_05 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(6)] + public string AgencyQualifierCode_06 { + get; + set; + } + /// + /// Source Subqualifier + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("822", typeof(X12_AN))] + [Pos(7)] + public string SourceSubqualifier_07 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(8)] + public string IndustryCode_08 { + get; + set; + } + /// + /// Description + /// + [DataMember] + [StringLength(1, 80)] + [DataElement("352", typeof(X12_AN))] + [Pos(9)] + public string Description_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(11)] + public string UnitorBasisforMeasurementCode_11 { + get; + set; + } + } + + /// + /// Motor Vehicle Control + /// + [Serializable()] + [DataContract()] + [Segment("VC")] + public class VC { + + /// + /// Vehicle Identification Number + /// + [DataMember] + [Required] + [StringLength(1, 25)] + [DataElement("539", typeof(X12_AN))] + [Pos(1)] + public string VehicleIdentificationNumber_01 { + get; + set; + } + /// + /// Vehicle Deck Position Code + /// + [DataMember] + [DataElement("836", typeof(X12_ID_836))] + [Pos(2)] + public string VehicleDeckPositionCode_02 { + get; + set; + } + /// + /// Vehicle Type Code + /// + [DataMember] + [DataElement("837", typeof(X12_ID_837))] + [Pos(3)] + public string VehicleTypeCode_03 { + get; + set; + } + /// + /// Dealer Code + /// + [DataMember] + [StringLength(2, 9)] + [DataElement("838", typeof(X12_AN))] + [Pos(4)] + public string DealerCode_04 { + get; + set; + } + /// + /// Route Code + /// + [DataMember] + [StringLength(1, 13)] + [DataElement("1", typeof(X12_AN))] + [Pos(5)] + public string RouteCode_05 { + get; + set; + } + /// + /// Bay Location + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("839", typeof(X12_AN))] + [Pos(6)] + public string BayLocation_06 { + get; + set; + } + /// + /// Automotive Manufacturers Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("833", typeof(X12_AN))] + [Pos(7)] + public string AutomotiveManufacturersCode_07 { + get; + set; + } + /// + /// Damage Exception Indicator + /// + [DataMember] + [DataElement("308", typeof(X12_ID_308))] + [Pos(8)] + public string DamageExceptionIndicator_08 { + get; + set; + } + /// + /// Supplemental Inspection Code + /// + [DataMember] + [DataElement("835", typeof(X12_ID_835))] + [Pos(9)] + public string SupplementalInspectionCode_09 { + get; + set; + } + /// + /// Factory Car Order Number + /// + [DataMember] + [StringLength(6, 10)] + [DataElement("583", typeof(X12_AN))] + [Pos(10)] + public string FactoryCarOrderNumber_10 { + get; + set; + } + /// + /// Vessel Stowage Location + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("877", typeof(X12_AN))] + [Pos(11)] + public string VesselStowageLocation_11 { + get; + set; + } + } + + /// + /// Vehicle Detail + /// + [Serializable()] + [DataContract()] + [Segment("VC1")] + public class VC1 { + + /// + /// Color + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("397", typeof(X12_AN))] + [Pos(1)] + public string Color_01 { + get; + set; + } + /// + /// Color + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("397", typeof(X12_AN))] + [Pos(2)] + public string Color_02 { + get; + set; + } + /// + /// Vehicle Dimension + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("1110", typeof(X12_AN))] + [Pos(3)] + public string VehicleDimension_03 { + get; + set; + } + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(4)] + public string SpecialHandlingCode_04 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(5)] + public string CurrencyCode_05 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(6)] + public string MonetaryAmount_06 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(7)] + public string WeightUnitCode_07 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(8)] + public string Weight_08 { + get; + set; + } + /// + /// Measurement Unit Qualifier + /// + [DataMember] + [DataElement("90", typeof(X12_ID_90))] + [Pos(9)] + public string MeasurementUnitQualifier_09 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(10)] + public string Height_10 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(11)] + public string Length_11 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(12)] + public string Width_12 { + get; + set; + } + /// + /// Volume Unit Qualifier + /// + [DataMember] + [DataElement("184", typeof(X12_ID_184))] + [Pos(13)] + public string VolumeUnitQualifier_13 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(14)] + public string Volume_14 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(15)] + public string LocationIdentifier_15 { + get; + set; + } + } + + /// + /// Value Description or Information + /// + [Serializable()] + [DataContract()] + [Segment("VDI")] + public class VDI { + + /// + /// Code Category + /// + [DataMember] + [DataElement("1136", typeof(X12_ID_1136))] + [Pos(1)] + public string CodeCategory_01 { + get; + set; + } + /// + /// Composite Qualifier Identifier + /// + [DataMember] + [Pos(2)] + public C046 CompositeQualifierIdentifier_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("954", typeof(X12_R))] + [Pos(4)] + public string Percent_04 { + get; + set; + } + /// + /// Monetary Amount + /// + [DataMember] + [StringLength(1, 18)] + [DataElement("782", typeof(X12_R))] + [Pos(5)] + public string MonetaryAmount_05 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(6)] + public string Number_06 { + get; + set; + } + /// + /// Number + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("1470", typeof(X12_N0))] + [Pos(7)] + public string Number_07 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(8)] + public string DateTimePeriodFormatQualifier_08 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(9)] + public string DateTimePeriod_09 { + get; + set; + } + /// + /// Unit of Time Period or Interval + /// + [DataMember] + [DataElement("344", typeof(X12_ID_344))] + [Pos(10)] + public string UnitofTimePeriodorInterval_10 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(11)] + public string Quantity_11 { + get; + set; + } + /// + /// Multiplier + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("649", typeof(X12_R))] + [Pos(12)] + public string Multiplier_12 { + get; + set; + } + /// + /// Rounding System Code + /// + [DataMember] + [DataElement("1072", typeof(X12_ID_1072))] + [Pos(13)] + public string RoundingSystemCode_13 { + get; + set; + } + /// + /// Loan Payment Type Code + /// + [DataMember] + [DataElement("1085", typeof(X12_ID_1085))] + [Pos(14)] + public string LoanPaymentTypeCode_14 { + get; + set; + } + /// + /// Loan Payment Type Code + /// + [DataMember] + [DataElement("1085", typeof(X12_ID_1085))] + [Pos(15)] + public string LoanPaymentTypeCode_15 { + get; + set; + } + } + + /// + /// Vehicle Information + /// + [Serializable()] + [DataContract()] + [Segment("VEH")] + public class VEH { + + /// + /// Assigned Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("554", typeof(X12_N0))] + [Pos(1)] + public string AssignedNumber_01 { + get; + set; + } + /// + /// Vehicle Identification Number + /// + [DataMember] + [StringLength(1, 25)] + [DataElement("539", typeof(X12_AN))] + [Pos(2)] + public string VehicleIdentificationNumber_02 { + get; + set; + } + /// + /// Year + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("1095", typeof(X12_N0))] + [Pos(3)] + public string Year_03 { + get; + set; + } + /// + /// Agency Qualifier Code + /// + [DataMember] + [DataElement("559", typeof(X12_ID_559))] + [Pos(4)] + public string AgencyQualifierCode_04 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(5)] + public string ProductDescriptionCode_05 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(6)] + public string ProductDescriptionCode_06 { + get; + set; + } + /// + /// Product Description Code + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("751", typeof(X12_AN))] + [Pos(7)] + public string ProductDescriptionCode_07 { + get; + set; + } + /// + /// Length + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("82", typeof(X12_R))] + [Pos(8)] + public string Length_08 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(9)] + public string ReferenceIdentification_09 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(10)] + public string StateorProvinceCode_10 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(11)] + public string LocationIdentifier_11 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(12)] + public string YesNoConditionorResponseCode_12 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(13)] + public string Amount_13 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(14)] + public string YesNoConditionorResponseCode_14 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(15)] + public string Amount_15 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(16)] + public string ActionCode_16 { + get; + set; + } + } + + /// + /// Conveyance Identification + /// + [Serializable()] + [DataContract()] + [Segment("VID")] + public class VID { + + /// + /// Equipment Description Code + /// + [DataMember] + [Required] + [DataElement("40", typeof(X12_ID_40))] + [Pos(1)] + public string EquipmentDescriptionCode_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(4)] + public string SealNumber_04 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(5)] + public string SealNumber_05 { + get; + set; + } + /// + /// Equipment Length + /// + [DataMember] + [StringLength(4, 5)] + [DataElement("567", typeof(X12_N0))] + [Pos(6)] + public string EquipmentLength_06 { + get; + set; + } + /// + /// Height + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("65", typeof(X12_R))] + [Pos(7)] + public string Height_07 { + get; + set; + } + /// + /// Width + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("189", typeof(X12_R))] + [Pos(8)] + public string Width_08 { + get; + set; + } + /// + /// Equipment Type + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("24", typeof(X12_AN))] + [Pos(9)] + public string EquipmentType_09 { + get; + set; + } + /// + /// Load/Empty Status Code + /// + [DataMember] + [DataElement("322", typeof(X12_ID_322))] + [Pos(10)] + public string LoadEmptyStatusCode_10 { + get; + set; + } + /// + /// Type of Service Code + /// + [DataMember] + [DataElement("56", typeof(X12_ID_56))] + [Pos(11)] + public string TypeofServiceCode_11 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(12)] + public string LocationIdentifier_12 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(13)] + public string StandardCarrierAlphaCode_13 { + get; + set; + } + } + + /// + /// Rate Origin + /// + [Serializable()] + [DataContract()] + [Segment("VR")] + public class VR { + + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [Required] + [DataElement("353", typeof(X12_ID_353))] + [Pos(1)] + public string TransactionSetPurposeCode_01 { + get; + set; + } + /// + /// Tariff Number + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("171", typeof(X12_AN))] + [Pos(2)] + public string TariffNumber_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [Required] + [DataElement("66", typeof(X12_ID_66))] + [Pos(4)] + public string IdentificationCodeQualifier_04 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [Required] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(5)] + public string IdentificationCode_05 { + get; + set; + } + /// + /// Currency Code + /// + [DataMember] + [Required] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(6)] + public string CurrencyCode_06 { + get; + set; + } + /// + /// Tariff Agency Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("168", typeof(X12_AN))] + [Pos(7)] + public string TariffAgencyCode_07 { + get; + set; + } + /// + /// Tariff Supplement Identifier + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("173", typeof(X12_AN))] + [Pos(8)] + public string TariffSupplementIdentifier_08 { + get; + set; + } + /// + /// Ex Parte + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("46", typeof(X12_AN))] + [Pos(9)] + public string ExParte_09 { + get; + set; + } + } + + /// + /// Vehicle Recovery + /// + [Serializable()] + [DataContract()] + [Segment("VRC")] + public class VRC { + + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(1)] + public string DateTimePeriodFormatQualifier_01 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(2)] + public string DateTimePeriod_02 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(3)] + public string Quantity_03 { + get; + set; + } + /// + /// Recovery Condition Code + /// + [DataMember] + [DataElement("1426", typeof(X12_ID_1426))] + [Pos(4)] + public string RecoveryConditionCode_04 { + get; + set; + } + /// + /// Recovery Classification Code + /// + [DataMember] + [DataElement("1425", typeof(X12_ID_1425))] + [Pos(5)] + public string RecoveryClassificationCode_05 { + get; + set; + } + } + + /// + /// Line Item Detail - Warehouse + /// + [Serializable()] + [DataContract()] + [Segment("W01")] + public class W01 { + + /// + /// Quantity Ordered + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(1)] + public string QuantityOrdered_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(3)] + public string UPCCaseCode_03 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(4)] + public string ProductServiceIDQualifier_04 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(5)] + public string ProductServiceID_05 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(6)] + public string ProductServiceIDQualifier_06 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(7)] + public string ProductServiceID_07 { + get; + set; + } + /// + /// Freight Class Code + /// + [DataMember] + [StringLength(2, 5)] + [DataElement("59", typeof(X12_AN))] + [Pos(8)] + public string FreightClassCode_08 { + get; + set; + } + /// + /// Rate Class Code + /// + [DataMember] + [DataElement("121", typeof(X12_ID_121))] + [Pos(9)] + public string RateClassCode_09 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [DataElement("23", typeof(X12_ID_23))] + [Pos(10)] + public string CommodityCodeQualifier_10 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(11)] + public string CommodityCode_11 { + get; + set; + } + /// + /// Pallet Block and Tiers + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("416", typeof(X12_N0))] + [Pos(12)] + public string PalletBlockandTiers_12 { + get; + set; + } + /// + /// Warehouse Lot Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("451", typeof(X12_AN))] + [Pos(13)] + public string WarehouseLoCAumber_13 { + get; + set; + } + /// + /// Product/Service Condition Code + /// + [DataMember] + [DataElement("286", typeof(X12_ID_286))] + [Pos(14)] + public string ProductServiceConditionCode_14 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(15)] + public string ProductServiceIDQualifier_15 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(16)] + public string ProductServiceID_16 { + get; + set; + } + } + + /// + /// Total Shipment Information + /// + [Serializable()] + [DataContract()] + [Segment("W03")] + public class W03 { + + /// + /// Number of Units Shipped + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(1)] + public string NumberofUnitsShipped_01 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(2)] + public string Weight_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(4)] + public string Volume_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(6)] + public string LadingQuantity_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + } + + /// + /// Item Detail Total + /// + [Serializable()] + [DataContract()] + [Segment("W04")] + public class W04 { + + /// + /// Number of Units Shipped + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(1)] + public string NumberofUnitsShipped_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(3)] + public string UPCCaseCode_03 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(4)] + public string ProductServiceIDQualifier_04 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(5)] + public string ProductServiceID_05 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(6)] + public string ProductServiceIDQualifier_06 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(7)] + public string ProductServiceID_07 { + get; + set; + } + /// + /// Freight Class Code + /// + [DataMember] + [StringLength(2, 5)] + [DataElement("59", typeof(X12_AN))] + [Pos(8)] + public string FreightClassCode_08 { + get; + set; + } + /// + /// Rate Class Code + /// + [DataMember] + [DataElement("121", typeof(X12_ID_121))] + [Pos(9)] + public string RateClassCode_09 { + get; + set; + } + /// + /// Commodity Code Qualifier + /// + [DataMember] + [DataElement("23", typeof(X12_ID_23))] + [Pos(10)] + public string CommodityCodeQualifier_10 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(11)] + public string CommodityCode_11 { + get; + set; + } + /// + /// Pallet Block and Tiers + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("416", typeof(X12_N0))] + [Pos(12)] + public string PalletBlockandTiers_12 { + get; + set; + } + /// + /// Inbound Condition Hold Code + /// + [DataMember] + [DataElement("844", typeof(X12_ID_844))] + [Pos(13)] + public string InboundConditionHoldCode_13 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(14)] + public string ProductServiceIDQualifier_14 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(15)] + public string ProductServiceID_15 { + get; + set; + } + } + + /// + /// Shipping Order Identification + /// + [Serializable()] + [DataContract()] + [Segment("W05")] + public class W05 { + + /// + /// Order Status Code + /// + [DataMember] + [Required] + [DataElement("473", typeof(X12_ID_473))] + [Pos(1)] + public string OrderStatusCode_01 { + get; + set; + } + /// + /// Depositor Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("285", typeof(X12_AN))] + [Pos(2)] + public string DepositorOrderNumber_02 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(3)] + public string PurchaseOrderNumber_03 { + get; + set; + } + /// + /// Link Sequence Number + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("472", typeof(X12_N0))] + [Pos(4)] + public string LinkSequenceNumber_04 { + get; + set; + } + /// + /// Master Reference (Link) Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("474", typeof(X12_AN))] + [Pos(5)] + public string MasterReferenceLinkNumber_05 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(6)] + public string TransactionTypeCode_06 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(7)] + public string ActionCode_07 { + get; + set; + } + } + + /// + /// Warehouse Shipment Identification + /// + [Serializable()] + [DataContract()] + [Segment("W06")] + public class W06 { + + /// + /// Reporting Code + /// + [DataMember] + [Required] + [DataElement("514", typeof(X12_ID_514))] + [Pos(1)] + public string ReportingCode_01 { + get; + set; + } + /// + /// Depositor Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("285", typeof(X12_AN))] + [Pos(2)] + public string DepositorOrderNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(4)] + public string ShipmentIdentificationNumber_04 { + get; + set; + } + /// + /// Agent Shipment ID Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("531", typeof(X12_AN))] + [Pos(5)] + public string AgentShipmentIDNumber_05 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(6)] + public string PurchaseOrderNumber_06 { + get; + set; + } + /// + /// Master Reference (Link) Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("474", typeof(X12_AN))] + [Pos(7)] + public string MasterReferenceLinkNumber_07 { + get; + set; + } + /// + /// Link Sequence Number + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("472", typeof(X12_N0))] + [Pos(8)] + public string LinkSequenceNumber_08 { + get; + set; + } + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(9)] + public string SpecialHandlingCode_09 { + get; + set; + } + /// + /// Shipping Date Change Reason Code + /// + [DataMember] + [DataElement("891", typeof(X12_ID_891))] + [Pos(10)] + public string ShippingDateChangeReasonCode_10 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(11)] + public string TransactionTypeCode_11 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(12)] + public string ActionCode_12 { + get; + set; + } + } + + /// + /// Item Detail For Stock Receipt + /// + [Serializable()] + [DataContract()] + [Segment("W07")] + public class W07 { + + /// + /// Quantity Received + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("413", typeof(X12_R))] + [Pos(1)] + public string QuantityReceived_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(3)] + public string UPCCaseCode_03 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(4)] + public string ProductServiceIDQualifier_04 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(5)] + public string ProductServiceID_05 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(6)] + public string ProductServiceIDQualifier_06 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(7)] + public string ProductServiceID_07 { + get; + set; + } + /// + /// Warehouse Lot Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("451", typeof(X12_AN))] + [Pos(8)] + public string WarehouseLoCAumber_08 { + get; + set; + } + /// + /// Warehouse Detail Adjustment Identifier + /// + [DataMember] + [DataElement("893", typeof(X12_ID_893))] + [Pos(9)] + public string WarehouseDetailAdjustmentIdentifier_09 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(10)] + public string ProductServiceIDQualifier_10 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(11)] + public string ProductServiceID_11 { + get; + set; + } + } + + /// + /// Receipt Carrier Information + /// + [Serializable()] + [DataContract()] + [Segment("W08")] + public class W08 { + + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(1)] + public string TransportationMethodTypeCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Routing + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("387", typeof(X12_AN))] + [Pos(3)] + public string Routing_03 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(4)] + public string EquipmentInitial_04 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(5)] + public string EquipmenCAumber_05 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(6)] + public string SealNumber_06 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(7)] + public string SealNumber_07 { + get; + set; + } + /// + /// Seal Status Code + /// + [DataMember] + [DataElement("407", typeof(X12_ID_407))] + [Pos(8)] + public string SealStatusCode_08 { + get; + set; + } + /// + /// Unit Load Option Code + /// + [DataMember] + [DataElement("400", typeof(X12_ID_400))] + [Pos(9)] + public string UnitLoadOptionCode_09 { + get; + set; + } + } + + /// + /// Equipment and Temperature + /// + [Serializable()] + [DataContract()] + [Segment("W09")] + public class W09 { + + /// + /// Equipment Description Code + /// + [DataMember] + [Required] + [DataElement("40", typeof(X12_ID_40))] + [Pos(1)] + public string EquipmentDescriptionCode_01 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(2)] + public string Temperature_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(4)] + public string Temperature_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Free Form Message + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("3", typeof(X12_AN))] + [Pos(6)] + public string FreeFormMessage_06 { + get; + set; + } + /// + /// Vent Setting Code + /// + [DataMember] + [DataElement("1122", typeof(X12_ID_1122))] + [Pos(7)] + public string VentSettingCode_07 { + get; + set; + } + /// + /// Percent + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("488", typeof(X12_N0))] + [Pos(8)] + public string Percent_08 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(9)] + public string Quantity_09 { + get; + set; + } + } + + /// + /// Block Identification + /// + [Serializable()] + [DataContract()] + [Segment("W1")] + public class W1 { + + /// + /// Block Identification + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("42", typeof(X12_AN))] + [Pos(1)] + public string BlockIdentification_01 { + get; + set; + } + } + + /// + /// Warehouse Additional Carrier Information + /// + [Serializable()] + [DataContract()] + [Segment("W10")] + public class W10 { + + /// + /// Unit Load Option Code + /// + [DataMember] + [DataElement("400", typeof(X12_ID_400))] + [Pos(1)] + public string UnitLoadOptionCode_01 { + get; + set; + } + /// + /// Quantity of Pallets Shipped + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("406", typeof(X12_N0))] + [Pos(2)] + public string QuantityofPalletsShipped_02 { + get; + set; + } + /// + /// Pallet Exchange Code + /// + [DataMember] + [DataElement("399", typeof(X12_ID_399))] + [Pos(3)] + public string PalletExchangeCode_03 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(4)] + public string SealNumber_04 { + get; + set; + } + /// + /// Seal Number + /// + [DataMember] + [StringLength(2, 15)] + [DataElement("225", typeof(X12_AN))] + [Pos(5)] + public string SealNumber_05 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(6)] + public string Temperature_06 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(7)] + public string UnitorBasisforMeasurementCode_07 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(8)] + public string Temperature_08 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(9)] + public string UnitorBasisforMeasurementCode_09 { + get; + set; + } + } + + /// + /// Warehouse Item Detail + /// + [Serializable()] + [DataContract()] + [Segment("W12")] + public class W12 { + + /// + /// Shipment/Order Status Code + /// + [DataMember] + [Required] + [DataElement("368", typeof(X12_ID_368))] + [Pos(1)] + public string ShipmentOrderStatusCode_01 { + get; + set; + } + /// + /// Quantity Ordered + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(2)] + public string QuantityOrdered_02 { + get; + set; + } + /// + /// Number of Units Shipped + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(3)] + public string NumberofUnitsShipped_03 { + get; + set; + } + /// + /// Quantity Difference + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("383", typeof(X12_R))] + [Pos(4)] + public string QuantityDifference_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(6)] + public string UPCCaseCode_06 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(7)] + public string ProductServiceIDQualifier_07 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(8)] + public string ProductServiceID_08 { + get; + set; + } + /// + /// Warehouse Lot Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("451", typeof(X12_AN))] + [Pos(9)] + public string WarehouseLoCAumber_09 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(10)] + public string Weight_10 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(11)] + public string WeightQualifier_11 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(12)] + public string WeightUnitCode_12 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(13)] + public string Weight_13 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(14)] + public string WeightQualifier_14 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(15)] + public string WeightUnitCode_15 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(16)] + public string UPCCaseCode_16 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(17)] + public string ProductServiceIDQualifier_17 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(18)] + public string ProductServiceID_18 { + get; + set; + } + /// + /// Line Item Change Reason Code + /// + [DataMember] + [DataElement("892", typeof(X12_ID_892))] + [Pos(19)] + public string LineItemChangeReasonCode_19 { + get; + set; + } + /// + /// Warehouse Detail Adjustment Identifier + /// + [DataMember] + [DataElement("893", typeof(X12_ID_893))] + [Pos(20)] + public string WarehouseDetailAdjustmentIdentifier_20 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(21)] + public string ProductServiceIDQualifier_21 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(22)] + public string ProductServiceID_22 { + get; + set; + } + } + + /// + /// Item Detail Exception + /// + [Serializable()] + [DataContract()] + [Segment("W13")] + public class W13 { + + /// + /// Quantity + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(1)] + public string Quantity_01 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(2)] + public string UnitorBasisforMeasurementCode_02 { + get; + set; + } + /// + /// Receiving Condition Code + /// + [DataMember] + [Required] + [DataElement("412", typeof(X12_ID_412))] + [Pos(3)] + public string ReceivingConditionCode_03 { + get; + set; + } + /// + /// Warehouse Lot Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("451", typeof(X12_AN))] + [Pos(4)] + public string WarehouseLoCAumber_04 { + get; + set; + } + /// + /// Damage Reason Code + /// + [DataMember] + [DataElement("853", typeof(X12_ID_853))] + [Pos(5)] + public string DamageReasonCode_05 { + get; + set; + } + } + + /// + /// Total Receipt Information + /// + [Serializable()] + [DataContract()] + [Segment("W14")] + public class W14 { + + /// + /// Quantity Received + /// + [DataMember] + [Required] + [StringLength(1, 7)] + [DataElement("413", typeof(X12_R))] + [Pos(1)] + public string QuantityReceived_01 { + get; + set; + } + /// + /// Number of Units Shipped + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("382", typeof(X12_R))] + [Pos(2)] + public string NumberofUnitsShipped_02 { + get; + set; + } + /// + /// Quantity Damaged/On Hold + /// + [DataMember] + [StringLength(1, 9)] + [DataElement("452", typeof(X12_R))] + [Pos(3)] + public string QuantityDamagedOnHold_03 { + get; + set; + } + /// + /// Lading Quantity Received + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("414", typeof(X12_N0))] + [Pos(4)] + public string LadingQuantityReceived_04 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(5)] + public string LadingQuantity_05 { + get; + set; + } + } + + /// + /// Warehouse Adjustment Identification + /// + [Serializable()] + [DataContract()] + [Segment("W15")] + public class W15 { + + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(1)] + public string Date_01 { + get; + set; + } + /// + /// Adjustment Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("31", typeof(X12_AN))] + [Pos(2)] + public string AdjustmenCAumber_02 { + get; + set; + } + /// + /// Adjustment Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("31", typeof(X12_AN))] + [Pos(3)] + public string AdjustmenCAumber_03 { + get; + set; + } + /// + /// Transaction Set Purpose Code + /// + [DataMember] + [DataElement("353", typeof(X12_ID_353))] + [Pos(4)] + public string TransactionSetPurposeCode_04 { + get; + set; + } + /// + /// Transaction Type Code + /// + [DataMember] + [DataElement("640", typeof(X12_ID_640))] + [Pos(5)] + public string TransactionTypeCode_05 { + get; + set; + } + /// + /// Action Code + /// + [DataMember] + [DataElement("306", typeof(X12_ID_306))] + [Pos(6)] + public string ActionCode_06 { + get; + set; + } + } + + /// + /// Warehouse Receipt Identification + /// + [Serializable()] + [DataContract()] + [Segment("W17")] + public class W17 { + + /// + /// Reporting Code + /// + [DataMember] + [Required] + [DataElement("514", typeof(X12_ID_514))] + [Pos(1)] + public string ReportingCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Warehouse Receipt Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("394", typeof(X12_AN))] + [Pos(3)] + public string WarehouseReceipCAumber_03 { + get; + set; + } + /// + /// Depositor Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("285", typeof(X12_AN))] + [Pos(4)] + public string DepositorOrderNumber_04 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(5)] + public string ShipmentIdentificationNumber_05 { + get; + set; + } + /// + /// Time Qualifier + /// + [DataMember] + [DataElement("176", typeof(X12_ID_176))] + [Pos(6)] + public string TimeQualifier_06 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(7)] + public string Time_07 { + get; + set; + } + /// + /// Master Reference (Link) Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("474", typeof(X12_AN))] + [Pos(8)] + public string MasterReferenceLinkNumber_08 { + get; + set; + } + /// + /// Link Sequence Number + /// + [DataMember] + [StringLength(6, 6)] + [DataElement("472", typeof(X12_N0))] + [Pos(9)] + public string LinkSequenceNumber_09 { + get; + set; + } + } + + /// + /// Probe Temperatures + /// + [Serializable()] + [DataContract()] + [Segment("W18")] + public class W18 { + + /// + /// Temperature Probe Location Code + /// + [DataMember] + [Required] + [DataElement("456", typeof(X12_ID_456))] + [Pos(1)] + public string TemperatureProbeLocationCode_01 { + get; + set; + } + /// + /// Temperature + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("408", typeof(X12_R))] + [Pos(2)] + public string Temperature_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + } + + /// + /// Warehouse Adjustment Item Detail + /// + [Serializable()] + [DataContract()] + [Segment("W19")] + public class W19 { + + /// + /// Quantity or Status Adjustment Reason Code + /// + [DataMember] + [Required] + [DataElement("181", typeof(X12_ID_181))] + [Pos(1)] + public string QuantityorStatusAdjustmentReasonCode_01 { + get; + set; + } + /// + /// Credit/Debit Quantity + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("477", typeof(X12_R))] + [Pos(2)] + public string CreditDebitQuantity_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [Required] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// U.P.C. Case Code + /// + [DataMember] + [StringLength(12, 12)] + [DataElement("438", typeof(X12_AN))] + [Pos(4)] + public string UPCCaseCode_04 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(5)] + public string ProductServiceIDQualifier_05 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(6)] + public string ProductServiceID_06 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(7)] + public string ProductServiceIDQualifier_07 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(8)] + public string ProductServiceID_08 { + get; + set; + } + /// + /// Warehouse Lot Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("451", typeof(X12_AN))] + [Pos(9)] + public string WarehouseLoCAumber_09 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(10)] + public string Weight_10 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(11)] + public string WeightQualifier_11 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(12)] + public string WeightUnitCode_12 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(13)] + public string Weight_13 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(14)] + public string WeightQualifier_14 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(15)] + public string WeightUnitCode_15 { + get; + set; + } + /// + /// Inventory Transaction Type Code + /// + [DataMember] + [DataElement("529", typeof(X12_ID_529))] + [Pos(16)] + public string InventoryTransactionTypeCode_16 { + get; + set; + } + /// + /// Product/Service ID Qualifier + /// + [DataMember] + [DataElement("235", typeof(X12_ID_235))] + [Pos(17)] + public string ProductServiceIDQualifier_17 { + get; + set; + } + /// + /// Product/Service ID + /// + [DataMember] + [StringLength(1, 48)] + [DataElement("234", typeof(X12_AN))] + [Pos(18)] + public string ProductServiceID_18 { + get; + set; + } + } + + /// + /// Equipment Identification + /// + [Serializable()] + [DataContract()] + [Segment("W2")] + public class W2 { + + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(1)] + public string EquipmentInitial_01 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(2)] + public string EquipmenCAumber_02 { + get; + set; + } + /// + /// Commodity Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("22", typeof(X12_AN))] + [Pos(3)] + public string CommodityCode_03 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [Required] + [DataElement("40", typeof(X12_ID_40))] + [Pos(4)] + public string EquipmentDescriptionCode_04 { + get; + set; + } + /// + /// Equipment Status Code + /// + [DataMember] + [Required] + [DataElement("578", typeof(X12_ID_578))] + [Pos(5)] + public string EquipmentStatusCode_05 { + get; + set; + } + /// + /// Net Tons + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("577", typeof(X12_N0))] + [Pos(6)] + public string NetTons_06 { + get; + set; + } + /// + /// Intermodal Service Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("177", typeof(X12_AN))] + [Pos(7)] + public string IntermodalServiceCode_07 { + get; + set; + } + /// + /// Car Service Order Code + /// + [DataMember] + [DataElement("240", typeof(X12_ID_240))] + [Pos(8)] + public string CarServiceOrderCode_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Type of Locomotive Maintenance Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("502", typeof(X12_AN))] + [Pos(10)] + public string TypeofLocomotiveMaintenanceCode_10 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(11)] + public string EquipmentInitial_11 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(12)] + public string EquipmenCAumber_12 { + get; + set; + } + /// + /// Equipment Number Check Digit + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("761", typeof(X12_N0))] + [Pos(13)] + public string EquipmenCAumberCheckDigit_13 { + get; + set; + } + /// + /// Position + /// + [DataMember] + [StringLength(1, 3)] + [DataElement("219", typeof(X12_AN))] + [Pos(14)] + public string Position_14 { + get; + set; + } + /// + /// Car Type Code + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("301", typeof(X12_AN))] + [Pos(15)] + public string CarTypeCode_15 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(16)] + public string YesNoConditionorResponseCode_16 { + get; + set; + } + } + + /// + /// Line-Item Detail - Miscellaneous + /// + [Serializable()] + [DataContract()] + [Segment("W20")] + public class W20 { + + /// + /// Pack + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("356", typeof(X12_N0))] + [Pos(1)] + public string Pack_01 { + get; + set; + } + /// + /// Size + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("357", typeof(X12_R))] + [Pos(2)] + public string Size_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(5)] + public string WeightQualifier_05 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(6)] + public string WeightUnitCode_06 { + get; + set; + } + /// + /// Unit Weight + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("395", typeof(X12_R))] + [Pos(7)] + public string UnitWeight_07 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(8)] + public string Volume_08 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(9)] + public string UnitorBasisforMeasurementCode_09 { + get; + set; + } + /// + /// Color + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("397", typeof(X12_AN))] + [Pos(10)] + public string Color_10 { + get; + set; + } + } + + /// + /// Carrier Detail + /// + [Serializable()] + [DataContract()] + [Segment("W27")] + public class W27 { + + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(1)] + public string TransportationMethodTypeCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Routing + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("387", typeof(X12_AN))] + [Pos(3)] + public string Routing_03 { + get; + set; + } + /// + /// Shipment Method of Payment + /// + [DataMember] + [DataElement("146", typeof(X12_ID_146))] + [Pos(4)] + public string ShipmentMethodofPayment_04 { + get; + set; + } + /// + /// Equipment Description Code + /// + [DataMember] + [DataElement("40", typeof(X12_ID_40))] + [Pos(5)] + public string EquipmentDescriptionCode_05 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(6)] + public string EquipmentInitial_06 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(7)] + public string EquipmenCAumber_07 { + get; + set; + } + /// + /// Shipment/Order Status Code + /// + [DataMember] + [DataElement("368", typeof(X12_ID_368))] + [Pos(8)] + public string ShipmentOrderStatusCode_08 { + get; + set; + } + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(9)] + public string SpecialHandlingCode_09 { + get; + set; + } + /// + /// Carrier/Route Change Reason Code + /// + [DataMember] + [DataElement("890", typeof(X12_ID_890))] + [Pos(10)] + public string CarrierRouteChangeReasonCode_10 { + get; + set; + } + } + + /// + /// Consolidation Information + /// + [Serializable()] + [DataContract()] + [Segment("W28")] + public class W28 { + + /// + /// Consolidation Code + /// + [DataMember] + [Required] + [DataElement("604", typeof(X12_ID_604))] + [Pos(1)] + public string ConsolidationCode_01 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(2)] + public string Weight_02 { + get; + set; + } + /// + /// Weight Qualifier + /// + [DataMember] + [DataElement("187", typeof(X12_ID_187))] + [Pos(3)] + public string WeightQualifier_03 { + get; + set; + } + /// + /// Weight Unit Code + /// + [DataMember] + [DataElement("188", typeof(X12_ID_188))] + [Pos(4)] + public string WeightUnitCode_04 { + get; + set; + } + /// + /// Total Stopoffs + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("466", typeof(X12_N0))] + [Pos(5)] + public string TotalStopoffs_05 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(6)] + public string LocationIdentifier_06 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(7)] + public string LocationQualifier_07 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(8)] + public string BillofLadingWaybillNumber_08 { + get; + set; + } + } + + /// + /// Consignee Information + /// + [Serializable()] + [DataContract()] + [Segment("W3")] + public class W3 { + + /// + /// Waybill Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(1)] + public string WaybillNumber_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Abbreviated Customer Name + /// + [DataMember] + [StringLength(2, 12)] + [DataElement("576", typeof(X12_AN))] + [Pos(3)] + public string AbbreviatedCustomerName_03 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(4)] + public string CityName_04 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(5)] + public string StateorProvinceCode_05 { + get; + set; + } + /// + /// City Name Qualifier Code + /// + [DataMember] + [DataElement("575", typeof(X12_ID_575))] + [Pos(6)] + public string CityNameQualifierCode_06 { + get; + set; + } + } + + /// + /// Consignor Information + /// + [Serializable()] + [DataContract()] + [Segment("W4")] + public class W4 { + + /// + /// Abbreviated Customer Name + /// + [DataMember] + [StringLength(2, 12)] + [DataElement("576", typeof(X12_AN))] + [Pos(1)] + public string AbbreviatedCustomerName_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Freight Station Accounting Code + /// + [DataMember] + [StringLength(1, 5)] + [DataElement("573", typeof(X12_AN))] + [Pos(3)] + public string FreightStationAccountingCode_03 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(4)] + public string CityName_04 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(5)] + public string StateorProvinceCode_05 { + get; + set; + } + } + + /// + /// Route Information + /// + [Serializable()] + [DataContract()] + [Segment("W5")] + public class W5 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(2)] + public string CityName_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(4)] + public string CityName_04 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(5)] + public string StandardCarrierAlphaCode_05 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(6)] + public string CityName_06 { + get; + set; + } + } + + /// + /// Special Handling Information + /// + [Serializable()] + [DataContract()] + [Segment("W6")] + public class W6 { + + /// + /// Special Handling Code + /// + [DataMember] + [Required] + [DataElement("152", typeof(X12_ID_152))] + [Pos(1)] + public string SpecialHandlingCode_01 { + get; + set; + } + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(2)] + public string SpecialHandlingCode_02 { + get; + set; + } + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(3)] + public string SpecialHandlingCode_03 { + get; + set; + } + /// + /// Special Handling Code + /// + [DataMember] + [DataElement("152", typeof(X12_ID_152))] + [Pos(4)] + public string SpecialHandlingCode_04 { + get; + set; + } + } + + /// + /// Warehouse Carrier Information + /// + [Serializable()] + [DataContract()] + [Segment("W66")] + public class W66 { + + /// + /// Shipment Method of Payment + /// + [DataMember] + [Required] + [DataElement("146", typeof(X12_ID_146))] + [Pos(1)] + public string ShipmentMethodofPayment_01 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(2)] + public string TransportationMethodTypeCode_02 { + get; + set; + } + /// + /// Pallet Exchange Code + /// + [DataMember] + [DataElement("399", typeof(X12_ID_399))] + [Pos(3)] + public string PalletExchangeCode_03 { + get; + set; + } + /// + /// Unit Load Option Code + /// + [DataMember] + [DataElement("400", typeof(X12_ID_400))] + [Pos(4)] + public string UnitLoadOptionCode_04 { + get; + set; + } + /// + /// Routing + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("387", typeof(X12_AN))] + [Pos(5)] + public string Routing_05 { + get; + set; + } + /// + /// F.O.B. Point Code + /// + [DataMember] + [DataElement("433", typeof(X12_ID_433))] + [Pos(6)] + public string FOBPointCode_06 { + get; + set; + } + /// + /// F.O.B. Point + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("434", typeof(X12_AN))] + [Pos(7)] + public string FOBPoint_07 { + get; + set; + } + /// + /// COD Method of Payment Code + /// + [DataMember] + [DataElement("625", typeof(X12_ID_625))] + [Pos(8)] + public string CODMethodofPaymentCode_08 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(9)] + public string Amount_09 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(10)] + public string StandardCarrierAlphaCode_10 { + get; + set; + } + } + + /// + /// Total Shipping Order + /// + [Serializable()] + [DataContract()] + [Segment("W76")] + public class W76 { + + /// + /// Quantity Ordered + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("330", typeof(X12_R))] + [Pos(1)] + public string QuantityOrdered_01 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(2)] + public string Weight_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Volume + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("183", typeof(X12_R))] + [Pos(4)] + public string Volume_04 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(5)] + public string UnitorBasisforMeasurementCode_05 { + get; + set; + } + /// + /// Order Sizing Factor + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("398", typeof(X12_R))] + [Pos(6)] + public string OrderSizingFactor_06 { + get; + set; + } + } + + /// + /// Tariff Weight Group + /// + [Serializable()] + [DataContract()] + [Segment("WGP")] + public class WGP { + + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(1)] + public string Weight_01 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(2)] + public string Weight_02 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(3)] + public string Weight_03 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(4)] + public string Weight_04 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(5)] + public string Weight_05 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(6)] + public string Weight_06 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(7)] + public string Weight_07 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(8)] + public string Weight_08 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(9)] + public string Weight_09 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(10)] + public string Weight_10 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(11)] + public string Weight_11 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(12)] + public string Weight_12 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(13)] + public string Weight_13 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(14)] + public string Weight_14 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(15)] + public string Weight_15 { + get; + set; + } + /// + /// Weight + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("81", typeof(X12_R))] + [Pos(16)] + public string Weight_16 { + get; + set; + } + } + + /// + /// Work Schedule + /// + [Serializable()] + [DataContract()] + [Segment("WS")] + public class WS { + + /// + /// Ship/Delivery or Calendar Pattern Code + /// + [DataMember] + [Required] + [DataElement("678", typeof(X12_ID_678))] + [Pos(1)] + public string ShipDeliveryorCalendarPatternCode_01 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(2)] + public string Time_02 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(3)] + public string Time_03 { + get; + set; + } + } + + /// + /// Automated Manifest Archive Status Details + /// + [Serializable()] + [DataContract()] + [Segment("X01")] + public class X01 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [Required] + [DataElement("309", typeof(X12_ID_309))] + [Pos(2)] + public string LocationQualifier_02 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(3)] + public string LocationIdentifier_03 { + get; + set; + } + /// + /// Vessel Code Qualifier + /// + [DataMember] + [DataElement("897", typeof(X12_ID_897))] + [Pos(4)] + public string VesselCodeQualifier_04 { + get; + set; + } + /// + /// Vessel Code + /// + [DataMember] + [StringLength(1, 8)] + [DataElement("597", typeof(X12_AN))] + [Pos(5)] + public string VesselCode_05 { + get; + set; + } + /// + /// Vessel Name + /// + [DataMember] + [StringLength(2, 28)] + [DataElement("182", typeof(X12_AN))] + [Pos(6)] + public string VesselName_06 { + get; + set; + } + /// + /// Flight/Voyage Number + /// + [DataMember] + [StringLength(2, 10)] + [DataElement("55", typeof(X12_AN))] + [Pos(7)] + public string FlightVoyageNumber_07 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(8)] + public string DateTimeQualifier_08 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(9)] + public string Date_09 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(10)] + public string Quantity_10 { + get; + set; + } + } + + /// + /// Automated Manifest Bills Eligible/Overdue Archive Details + /// + [Serializable()] + [DataContract()] + [Segment("X02")] + public class X02 { + + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(1)] + public string StandardCarrierAlphaCode_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [Required] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(3)] + public string BillofLadingWaybillNumber_03 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(4)] + public string StandardCarrierAlphaCode_04 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(5)] + public string BillofLadingWaybillNumber_05 { + get; + set; + } + } + + /// + /// Export License + /// + [Serializable()] + [DataContract()] + [Segment("X1")] + public class X1 { + + /// + /// Licensing Agency Code + /// + [DataMember] + [DataElement("83", typeof(X12_ID_83))] + [Pos(1)] + public string LicensingAgencyCode_01 { + get; + set; + } + /// + /// Export License Number + /// + [DataMember] + [StringLength(6, 12)] + [DataElement("50", typeof(X12_AN))] + [Pos(2)] + public string ExportLicenseNumber_02 { + get; + set; + } + /// + /// Export License Status Code + /// + [DataMember] + [DataElement("51", typeof(X12_ID_51))] + [Pos(3)] + public string ExportLicenseStatusCode_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Export License Symbol Code + /// + [DataMember] + [DataElement("52", typeof(X12_ID_52))] + [Pos(5)] + public string ExportLicenseSymbolCode_05 { + get; + set; + } + /// + /// Export License Control Code + /// + [DataMember] + [DataElement("48", typeof(X12_ID_48))] + [Pos(6)] + public string ExportLicenseControlCode_06 { + get; + set; + } + /// + /// Country Code + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("26", typeof(X12_AN))] + [Pos(7)] + public string CountryCode_07 { + get; + set; + } + /// + /// Schedule B Code + /// + [DataMember] + [StringLength(7, 10)] + [DataElement("141", typeof(X12_AN))] + [Pos(8)] + public string ScheduleBCode_08 { + get; + set; + } + /// + /// International/Domestic Code + /// + [DataMember] + [DataElement("210", typeof(X12_ID_210))] + [Pos(9)] + public string InternationalDomesticCode_09 { + get; + set; + } + /// + /// Lading Quantity + /// + [DataMember] + [StringLength(1, 7)] + [DataElement("80", typeof(X12_N0))] + [Pos(10)] + public string LadingQuantity_10 { + get; + set; + } + /// + /// Lading Value + /// + [DataMember] + [StringLength(2, 9)] + [DataElement("148", typeof(X12_R))] + [Pos(11)] + public string LadingValue_11 { + get; + set; + } + /// + /// Export Filing Key Code + /// + [DataMember] + [DataElement("47", typeof(X12_ID_47))] + [Pos(12)] + public string ExportFilingKeyCode_12 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(13)] + public string UnitorBasisforMeasurementCode_13 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(14)] + public string UnitPrice_14 { + get; + set; + } + /// + /// U.S. Government License Type + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("1306", typeof(X12_AN))] + [Pos(15)] + public string USGovernmentLicenseType_15 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(16)] + public string IdentificationCode_16 { + get; + set; + } + } + + /// + /// Import License + /// + [Serializable()] + [DataContract()] + [Segment("X2")] + public class X2 { + + /// + /// Import License Number + /// + [DataMember] + [Required] + [StringLength(6, 30)] + [DataElement("70", typeof(X12_AN))] + [Pos(1)] + public string ImportLicenseNumber_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Import License Number + /// + [DataMember] + [StringLength(6, 30)] + [DataElement("70", typeof(X12_AN))] + [Pos(4)] + public string ImportLicenseNumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(6)] + public string Date_06 { + get; + set; + } + } + + /// + /// Customs Release Information + /// + [Serializable()] + [DataContract()] + [Segment("X4")] + public class X4 { + + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(1)] + public string BillofLadingWaybillNumber_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Customs Entry Type Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("581", typeof(X12_AN))] + [Pos(3)] + public string CustomsEntryTypeCode_03 { + get; + set; + } + /// + /// Customs Entry Number + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("601", typeof(X12_AN))] + [Pos(4)] + public string CustomsEntryNumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(6)] + public string Time_06 { + get; + set; + } + /// + /// Disposition Code + /// + [DataMember] + [Required] + [StringLength(2, 2)] + [DataElement("35", typeof(X12_AN))] + [Pos(7)] + public string DispositionCode_07 { + get; + set; + } + /// + /// Bill of Lading/Waybill Number + /// + [DataMember] + [StringLength(1, 12)] + [DataElement("598", typeof(X12_AN))] + [Pos(8)] + public string BillofLadingWaybillNumber_08 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(9)] + public string StandardCarrierAlphaCode_09 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(10)] + public string StandardCarrierAlphaCode_10 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(11)] + public string EquipmentInitial_11 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(12)] + public string EquipmenCAumber_12 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(13)] + public string LocationIdentifier_13 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(14)] + public string LocationIdentifier_14 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(15)] + public string ReferenceIdentificationQualifier_15 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(16)] + public string ReferenceIdentification_16 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(17)] + public string TimeCode_17 { + get; + set; + } + } + + /// + /// Customs Information + /// + [Serializable()] + [DataContract()] + [Segment("X7")] + public class X7 { + + /// + /// Free-Form Message + /// + [DataMember] + [Required] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(1)] + public string FreeFormMessage_01 { + get; + set; + } + /// + /// Free-Form Message + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("61", typeof(X12_AN))] + [Pos(2)] + public string FreeFormMessage_02 { + get; + set; + } + } + + /// + /// Placement/Pull Data + /// + [Serializable()] + [DataContract()] + [Segment("XD")] + public class XD { + + /// + /// Switch Type Code + /// + [DataMember] + [Required] + [DataElement("617", typeof(X12_ID_617))] + [Pos(1)] + public string SwitchTypeCode_01 { + get; + set; + } + /// + /// Zone + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("619", typeof(X12_AN))] + [Pos(2)] + public string Zone_02 { + get; + set; + } + /// + /// Track + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("620", typeof(X12_AN))] + [Pos(3)] + public string Track_03 { + get; + set; + } + /// + /// Spot + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("621", typeof(X12_AN))] + [Pos(4)] + public string Spot_04 { + get; + set; + } + /// + /// Spot + /// + [DataMember] + [StringLength(2, 3)] + [DataElement("621", typeof(X12_AN))] + [Pos(5)] + public string Spot_05 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(6)] + public string StandardCarrierAlphaCode_06 { + get; + set; + } + /// + /// Load/Empty Status Code + /// + [DataMember] + [DataElement("322", typeof(X12_ID_322))] + [Pos(7)] + public string LoadEmptyStatusCode_07 { + get; + set; + } + /// + /// Reject Reason Code + /// + [DataMember] + [DataElement("901", typeof(X12_ID_901))] + [Pos(8)] + public string RejectReasonCode_08 { + get; + set; + } + } + + /// + /// Pro Forma - B13 Information + /// + [Serializable()] + [DataContract()] + [Segment("XH")] + public class XH { + + /// + /// Currency Code + /// + [DataMember] + [Required] + [StringLength(3, 3)] + [DataElement("100", typeof(X12_AN))] + [Pos(1)] + public string CurrencyCode_01 { + get; + set; + } + /// + /// Related Company Indication Code + /// + [DataMember] + [DataElement("645", typeof(X12_ID_645))] + [Pos(2)] + public string RelatedCompanyIndicationCode_02 { + get; + set; + } + /// + /// Special Charge or Allowance Code + /// + [DataMember] + [DataElement("150", typeof(X12_ID_150))] + [Pos(3)] + public string SpecialChargeorAllowanceCode_03 { + get; + set; + } + /// + /// Amount + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("610", typeof(X12_N2))] + [Pos(4)] + public string Amount_04 { + get; + set; + } + /// + /// Block 20 Code + /// + [DataMember] + [DataElement("503", typeof(X12_ID_503))] + [Pos(5)] + public string BlockCode_05 { + get; + set; + } + /// + /// Chemical Analysis Percentage + /// + [DataMember] + [StringLength(2, 9)] + [DataElement("504", typeof(X12_N2))] + [Pos(6)] + public string ChemicalAnalysisPercentage_06 { + get; + set; + } + /// + /// Unit Price + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("212", typeof(X12_R))] + [Pos(7)] + public string UnitPrice_07 { + get; + set; + } + } + + /// + /// Preassigned Purchase Order Numbers + /// + [Serializable()] + [DataContract()] + [Segment("XPO")] + public class XPO { + + /// + /// Purchase Order Number + /// + [DataMember] + [Required] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(1)] + public string PurchaseOrderNumber_01 { + get; + set; + } + /// + /// Purchase Order Number + /// + [DataMember] + [StringLength(1, 22)] + [DataElement("324", typeof(X12_AN))] + [Pos(2)] + public string PurchaseOrderNumber_02 { + get; + set; + } + /// + /// Identification Code Qualifier + /// + [DataMember] + [DataElement("66", typeof(X12_ID_66))] + [Pos(3)] + public string IdentificationCodeQualifier_03 { + get; + set; + } + /// + /// Identification Code + /// + [DataMember] + [StringLength(2, 80)] + [DataElement("67", typeof(X12_AN))] + [Pos(4)] + public string IdentificationCode_04 { + get; + set; + } + } + + /// + /// Reporting Date/Action + /// + [Serializable()] + [DataContract()] + [Segment("XQ")] + public class XQ { + + /// + /// Transaction Handling Code + /// + [DataMember] + [Required] + [DataElement("305", typeof(X12_ID_305))] + [Pos(1)] + public string TransactionHandlingCode_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + } + + /// + /// Space Reservation Request + /// + [Serializable()] + [DataContract()] + [Segment("Y1")] + public class Y1 { + + /// + /// Sailing/Flight Date Estimated + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("135", typeof(X12_DT))] + [Pos(1)] + public string SailingFlightDateEstimated_01 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(2)] + public string Date_02 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(3)] + public string StandardCarrierAlphaCode_03 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(4)] + public string TransportationMethodTypeCode_04 { + get; + set; + } + /// + /// Entity Identifier Code + /// + [DataMember] + [DataElement("98", typeof(X12_ID_98))] + [Pos(5)] + public string EntityIdentifierCode_05 { + get; + set; + } + /// + /// City Name + /// + [DataMember] + [StringLength(2, 30)] + [DataElement("19", typeof(X12_AN))] + [Pos(6)] + public string CityName_06 { + get; + set; + } + /// + /// State or Province Code + /// + [DataMember] + [StringLength(2, 2)] + [DataElement("156", typeof(X12_AN))] + [Pos(7)] + public string StateorProvinceCode_07 { + get; + set; + } + /// + /// Tariff Service Code + /// + [DataMember] + [DataElement("375", typeof(X12_ID_375))] + [Pos(8)] + public string TariffServiceCode_08 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(9)] + public string DateTimeQualifier_09 { + get; + set; + } + } + + /// + /// Container Details + /// + [Serializable()] + [DataContract()] + [Segment("Y2")] + public class Y2 { + + /// + /// Number of Containers + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("95", typeof(X12_N0))] + [Pos(1)] + public string NumberofContainers_01 { + get; + set; + } + /// + /// Container Type Request Code + /// + [DataMember] + [DataElement("78", typeof(X12_ID_78))] + [Pos(2)] + public string ContainerTypeRequestCode_02 { + get; + set; + } + /// + /// Type of Service Code + /// + [DataMember] + [DataElement("56", typeof(X12_ID_56))] + [Pos(3)] + public string TypeofServiceCode_03 { + get; + set; + } + /// + /// Equipment Type + /// + [DataMember] + [Required] + [StringLength(4, 4)] + [DataElement("24", typeof(X12_AN))] + [Pos(4)] + public string EquipmentType_04 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(5)] + public string TransportationMethodTypeCode_05 { + get; + set; + } + /// + /// Intermodal Service Code + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("177", typeof(X12_AN))] + [Pos(6)] + public string IntermodalServiceCode_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Container Terms Code + /// + [DataMember] + [StringLength(3, 3)] + [DataElement("464", typeof(X12_AN))] + [Pos(8)] + public string ContainerTermsCode_08 { + get; + set; + } + /// + /// Container Terms Code Qualifier + /// + [DataMember] + [DataElement("465", typeof(X12_ID_465))] + [Pos(9)] + public string ContainerTermsCodeQualifier_09 { + get; + set; + } + /// + /// Total Stopoffs + /// + [DataMember] + [StringLength(1, 2)] + [DataElement("466", typeof(X12_N0))] + [Pos(10)] + public string TotalStopoffs_10 { + get; + set; + } + } + + /// + /// Space Confirmation + /// + [Serializable()] + [DataContract()] + [Segment("Y3")] + public class Y3 { + + /// + /// Booking Number + /// + [DataMember] + [Required] + [StringLength(1, 17)] + [DataElement("13", typeof(X12_AN))] + [Pos(1)] + public string BookingNumber_01 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(2)] + public string StandardCarrierAlphaCode_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(4)] + public string Date_04 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(5)] + public string StandardPointLocationCode_05 { + get; + set; + } + /// + /// Pier Name + /// + [DataMember] + [StringLength(2, 14)] + [DataElement("112", typeof(X12_AN))] + [Pos(6)] + public string PierName_06 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(7)] + public string Date_07 { + get; + set; + } + /// + /// Time + /// + [DataMember] + [StringLength(4, 8)] + [DataElement("337", typeof(X12_TM))] + [Pos(8)] + public string Time_08 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [DataElement("91", typeof(X12_ID_91))] + [Pos(9)] + public string TransportationMethodTypeCode_09 { + get; + set; + } + /// + /// Tariff Service Code + /// + [DataMember] + [DataElement("375", typeof(X12_ID_375))] + [Pos(10)] + public string TariffServiceCode_10 { + get; + set; + } + /// + /// Time Code + /// + [DataMember] + [DataElement("623", typeof(X12_ID_623))] + [Pos(11)] + public string TimeCode_11 { + get; + set; + } + } + + /// + /// Container Release + /// + [Serializable()] + [DataContract()] + [Segment("Y4")] + public class Y4 { + + /// + /// Booking Number + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("13", typeof(X12_AN))] + [Pos(1)] + public string BookingNumber_01 { + get; + set; + } + /// + /// Booking Number + /// + [DataMember] + [StringLength(1, 17)] + [DataElement("13", typeof(X12_AN))] + [Pos(2)] + public string BookingNumber_02 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(3)] + public string Date_03 { + get; + set; + } + /// + /// Standard Point Location Code + /// + [DataMember] + [StringLength(6, 9)] + [DataElement("154", typeof(X12_AN))] + [Pos(4)] + public string StandardPointLocationCode_04 { + get; + set; + } + /// + /// Number of Containers + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("95", typeof(X12_N0))] + [Pos(5)] + public string NumberofContainers_05 { + get; + set; + } + /// + /// Equipment Type + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("24", typeof(X12_AN))] + [Pos(6)] + public string EquipmentType_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Location Qualifier + /// + [DataMember] + [DataElement("309", typeof(X12_ID_309))] + [Pos(8)] + public string LocationQualifier_08 { + get; + set; + } + /// + /// Location Identifier + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("310", typeof(X12_AN))] + [Pos(9)] + public string LocationIdentifier_09 { + get; + set; + } + /// + /// Type of Service Code + /// + [DataMember] + [DataElement("56", typeof(X12_ID_56))] + [Pos(10)] + public string TypeofServiceCode_10 { + get; + set; + } + } + + /// + /// Space Booking Cancellation + /// + [Serializable()] + [DataContract()] + [Segment("Y5")] + public class Y5 { + + /// + /// Booking Number + /// + [DataMember] + [Required] + [StringLength(1, 17)] + [DataElement("13", typeof(X12_AN))] + [Pos(1)] + public string BookingNumber_01 { + get; + set; + } + } + + /// + /// Authentication + /// + [Serializable()] + [DataContract()] + [Segment("Y6")] + public class Y6 { + + /// + /// Authority Identifier Code + /// + [DataMember] + [DataElement("313", typeof(X12_ID_313))] + [Pos(1)] + public string AuthorityIdentifierCode_01 { + get; + set; + } + /// + /// Authority + /// + [DataMember] + [Required] + [StringLength(1, 20)] + [DataElement("151", typeof(X12_AN))] + [Pos(2)] + public string Authority_02 { + get; + set; + } + /// + /// Authorization Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("275", typeof(X12_DT))] + [Pos(3)] + public string AuthorizationDate_03 { + get; + set; + } + } + + /// + /// Priority + /// + [Serializable()] + [DataContract()] + [Segment("Y7")] + public class Y7 { + + /// + /// Priority + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("467", typeof(X12_N0))] + [Pos(1)] + public string Priority_01 { + get; + set; + } + /// + /// Priority Code + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("470", typeof(X12_N0))] + [Pos(2)] + public string PriorityCode_02 { + get; + set; + } + /// + /// Priority Code Qualifier + /// + [DataMember] + [StringLength(1, 1)] + [DataElement("471", typeof(X12_AN))] + [Pos(3)] + public string PriorityCodeQualifier_03 { + get; + set; + } + /// + /// Port Call File Number + /// + [DataMember] + [StringLength(4, 4)] + [DataElement("468", typeof(X12_N0))] + [Pos(4)] + public string PortCallFileNumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + } + + /// + /// Yes/No Question + /// + [Serializable()] + [DataContract()] + [Segment("YNQ")] + public class YNQ { + + /// + /// Condition Indicator + /// + [DataMember] + [DataElement("1321", typeof(X12_ID_1321))] + [Pos(1)] + public string ConditionIndicator_01 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [Required] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(2)] + public string YesNoConditionorResponseCode_02 { + get; + set; + } + /// + /// Date Time Period Format Qualifier + /// + [DataMember] + [DataElement("1250", typeof(X12_ID_1250))] + [Pos(3)] + public string DateTimePeriodFormatQualifier_03 { + get; + set; + } + /// + /// Date Time Period + /// + [DataMember] + [StringLength(1, 35)] + [DataElement("1251", typeof(X12_AN))] + [Pos(4)] + public string DateTimePeriod_04 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(5)] + public string FreeFormMessageText_05 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(6)] + public string FreeFormMessageText_06 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(7)] + public string FreeFormMessageText_07 { + get; + set; + } + /// + /// Code List Qualifier Code + /// + [DataMember] + [DataElement("1270", typeof(X12_ID_1270))] + [Pos(8)] + public string CodeListQualifierCode_08 { + get; + set; + } + /// + /// Industry Code + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("1271", typeof(X12_AN))] + [Pos(9)] + public string IndustryCode_09 { + get; + set; + } + /// + /// Free-Form Message Text + /// + [DataMember] + [StringLength(1, 264)] + [DataElement("933", typeof(X12_AN))] + [Pos(10)] + public string FreeFormMessageText_10 { + get; + set; + } + } + + /// + /// Product Activity Reporting + /// + [Serializable()] + [DataContract()] + [Segment("ZA")] + public class ZA { + + /// + /// Activity Code + /// + [DataMember] + [Required] + [DataElement("859", typeof(X12_ID_859))] + [Pos(1)] + public string ActivityCode_01 { + get; + set; + } + /// + /// Quantity + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("380", typeof(X12_R))] + [Pos(2)] + public string Quantity_02 { + get; + set; + } + /// + /// Unit or Basis for Measurement Code + /// + [DataMember] + [DataElement("355", typeof(X12_ID_355))] + [Pos(3)] + public string UnitorBasisforMeasurementCode_03 { + get; + set; + } + /// + /// Date/Time Qualifier + /// + [DataMember] + [DataElement("374", typeof(X12_ID_374))] + [Pos(4)] + public string DateTimeQualifier_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Reference Identification Qualifier + /// + [DataMember] + [DataElement("128", typeof(X12_ID_128))] + [Pos(6)] + public string ReferenceIdentificationQualifier_06 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(7)] + public string ReferenceIdentification_07 { + get; + set; + } + /// + /// Yes/No Condition or Response Code + /// + [DataMember] + [DataElement("1073", typeof(X12_ID_1073))] + [Pos(8)] + public string YesNoConditionorResponseCode_08 { + get; + set; + } + } + + /// + /// Beginning Segment For Data Correction Or Change + /// + [Serializable()] + [DataContract()] + [Segment("ZC1")] + public class ZC1 { + + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(1)] + public string ShipmentIdentificationNumber_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Transaction Reference Number + /// + [DataMember] + [Required] + [StringLength(1, 15)] + [DataElement("244", typeof(X12_AN))] + [Pos(4)] + public string TransactionReferenceNumber_04 { + get; + set; + } + /// + /// Transaction Reference Date + /// + [DataMember] + [Required] + [StringLength(8, 8)] + [DataElement("243", typeof(X12_DT))] + [Pos(5)] + public string TransactionReferenceDate_05 { + get; + set; + } + /// + /// Correction Indicator + /// + [DataMember] + [Required] + [DataElement("202", typeof(X12_ID_202))] + [Pos(6)] + public string CorrectionIndicator_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [Required] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Transportation Method/Type Code + /// + [DataMember] + [Required] + [DataElement("91", typeof(X12_ID_91))] + [Pos(8)] + public string TransportationMethodTypeCode_08 { + get; + set; + } + } + + /// + /// Transaction Set Deletion - ID, Reason, and Source + /// + [Serializable()] + [DataContract()] + [Segment("ZD")] + public class ZD { + + /// + /// Transaction Set Identifier Code + /// + [DataMember] + [Required] + [DataElement("143", typeof(X12_ID_143))] + [Pos(1)] + public string TransactionSetIdentifierCode_01 { + get; + set; + } + /// + /// Shipment Identification Number + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("145", typeof(X12_AN))] + [Pos(2)] + public string ShipmentIdentificationNumber_02 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(3)] + public string EquipmentInitial_03 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(4)] + public string EquipmenCAumber_04 { + get; + set; + } + /// + /// Transaction Reference Number + /// + [DataMember] + [StringLength(1, 15)] + [DataElement("244", typeof(X12_AN))] + [Pos(5)] + public string TransactionReferenceNumber_05 { + get; + set; + } + /// + /// Transaction Reference Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("243", typeof(X12_DT))] + [Pos(6)] + public string TransactionReferenceDate_06 { + get; + set; + } + /// + /// Correction Indicator + /// + [DataMember] + [Required] + [DataElement("202", typeof(X12_ID_202))] + [Pos(7)] + public string CorrectionIndicator_07 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(8)] + public string StandardCarrierAlphaCode_08 { + get; + set; + } + } + + /// + /// Waybill Reference Identification + /// + [Serializable()] + [DataContract()] + [Segment("ZR")] + public class ZR { + + /// + /// Waybill Response Code + /// + [DataMember] + [Required] + [DataElement("762", typeof(X12_ID_762))] + [Pos(1)] + public string WaybillResponseCode_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Waybill Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(4)] + public string WaybillNumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + /// + /// Free Form Message + /// + [DataMember] + [StringLength(1, 60)] + [DataElement("3", typeof(X12_AN))] + [Pos(6)] + public string FreeFormMessage_06 { + get; + set; + } + /// + /// Standard Carrier Alpha Code + /// + [DataMember] + [StringLength(2, 4)] + [DataElement("140", typeof(X12_AN))] + [Pos(7)] + public string StandardCarrierAlphaCode_07 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(8)] + public string Date_08 { + get; + set; + } + /// + /// Interline Settlement System Status Action or Dispute Code + /// + [DataMember] + [DataElement("1127", typeof(X12_ID_1127))] + [Pos(9)] + public string InterlineSettlementSystemStatusActionorDisputeCode_09 { + get; + set; + } + /// + /// Interline Settlement System Status Action or Dispute Code + /// + [DataMember] + [DataElement("1127", typeof(X12_ID_1127))] + [Pos(10)] + public string InterlineSettlementSystemStatusActionorDisputeCode_10 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(11)] + public string ReferenceIdentification_11 { + get; + set; + } + /// + /// Reference Identification + /// + [DataMember] + [StringLength(1, 30)] + [DataElement("127", typeof(X12_AN))] + [Pos(12)] + public string ReferenceIdentification_12 { + get; + set; + } + /// + /// Correction Indicator + /// + [DataMember] + [DataElement("202", typeof(X12_ID_202))] + [Pos(13)] + public string CorrectionIndicator_13 { + get; + set; + } + } + + /// + /// Waybill Request Information + /// + [Serializable()] + [DataContract()] + [Segment("ZT")] + public class ZT { + + /// + /// Waybill Request Code + /// + [DataMember] + [Required] + [DataElement("214", typeof(X12_ID_214))] + [Pos(1)] + public string WaybillRequestCode_01 { + get; + set; + } + /// + /// Equipment Initial + /// + [DataMember] + [Required] + [StringLength(1, 4)] + [DataElement("206", typeof(X12_AN))] + [Pos(2)] + public string EquipmentInitial_02 { + get; + set; + } + /// + /// Equipment Number + /// + [DataMember] + [Required] + [StringLength(1, 10)] + [DataElement("207", typeof(X12_AN))] + [Pos(3)] + public string EquipmenCAumber_03 { + get; + set; + } + /// + /// Waybill Number + /// + [DataMember] + [StringLength(1, 6)] + [DataElement("186", typeof(X12_N0))] + [Pos(4)] + public string WaybillNumber_04 { + get; + set; + } + /// + /// Date + /// + [DataMember] + [StringLength(8, 8)] + [DataElement("373", typeof(X12_DT))] + [Pos(5)] + public string Date_05 { + get; + set; + } + } +}