Namespace fpml5.confirmation0.1.0

Compatible with Concerto versions . Has 1701 declarations.

Concerto JSON AST UML JSON Schema XML Schema GraphQL TypeScript CSharp Java Go OData

Declared Types

      
      import fpml5.confirmation.AccrualReferenceAmountTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccrualReferenceAmountTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AmountAdjustmentEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AmountAdjustmentEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AveragingInOutEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AveragingInOutEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AveragingMethodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AveragingMethodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BreakageCalculatedByEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BreakageCalculatedByEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BullionTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BullionTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessDayConventionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessDayConventionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BuySellEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BuySellEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationAgentPartyEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationAgentPartyEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalendarSourceEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalendarSourceEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CallingPartyEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CallingPartyEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CollateralValueAllocationEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CollateralValueAllocationEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommissionDenominationEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommissionDenominationEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBullionSettlementDisruptionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBullionSettlementDisruptionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDayTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDayTypeEnumMember1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDayTypeEnumMember1Object from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityKnockEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityKnockEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPayRelativeToEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPayRelativeToEnumMember1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPayRelativeToEnumMember1Object from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityReturnCalculationFormulaEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityReturnCalculationFormulaEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CompoundingMethodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CompoundingMethodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConditionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConditionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConditionsPrecedentMetEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConditionsPrecedentMetEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CorrelationValue from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DayOfWeekEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DayOfWeekEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DayOfWeekExtEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DayOfWeekExtEnumMember1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DayOfWeekExtEnumMember1Object from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DayTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DayTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DealtCurrencyEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DealtCurrencyEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeliveryDatesEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeliveryDatesEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeliveryNearbyTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeliveryNearbyTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeliveryTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeliveryTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DifferenceSeverityEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DifferenceSeverityEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DifferenceTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DifferenceTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DiscountingTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DiscountingTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DisruptionFallbacksEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DisruptionFallbacksEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendAmountTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendAmountTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendCompositionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendCompositionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendDateReferenceEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendDateReferenceEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendEntitlementEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendEntitlementEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendPeriodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendPeriodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DualCurrencyStrikeQuoteBasisEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DualCurrencyStrikeQuoteBasisEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EarlyTerminationDateEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EarlyTerminationDateEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityProductTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityProductTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EnvironmentalAbandonmentOfSchemeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EnvironmentalAbandonmentOfSchemeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EnvironmentalProductTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EnvironmentalProductTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityOptionTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityOptionTypeEnumMember1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityOptionTypeEnumMember1Object from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseActionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseActionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseSideEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseSideEnumMember1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseSideEnumMember1Object from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseStyleEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseStyleEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseTimingEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseTimingEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FeeElectionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FeeElectionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FlatRateEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FlatRateEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FpmlVersionType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FPVFinalPriceElectionFallbackEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FPVFinalPriceElectionFallbackEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FraDiscountingEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FraDiscountingEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualKnockoutBarrierRetentionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualKnockoutBarrierRetentionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAveragingMethodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAveragingMethodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierDirectionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierDirectionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierScopeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierScopeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierStyleEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierStyleEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierTypeSimpleEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierTypeSimpleEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxOffsetConventionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxOffsetConventionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRegionLowerBoundDirectionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRegionLowerBoundDirectionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRegionUpperBoundDirectionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRegionUpperBoundDirectionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSettlementAdjustmentMethodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSettlementAdjustmentMethodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxStraddleTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxStraddleTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetStyleEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetStyleEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTenorPeriodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTenorPeriodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GasProductTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GasProductTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.HourMinuteTime from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndexEventConsequenceEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndexEventConsequenceEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Initial from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestCalculationMethodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestCalculationMethodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestShortfallCapEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestShortfallCapEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterpolationPeriodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterpolationPeriodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcAutoAdjustEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcAutoAdjustEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LengthUnitEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LengthUnitEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LimitModelEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LimitModelEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoadTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoadTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingAccrualSettlementEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingAccrualSettlementEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingAccruingFeeTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingAccruingFeeTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingAssocEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingAssocEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingDocTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingDocTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingFormOfPurchaseEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingFormOfPurchaseEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingNonRecurringFeeTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingNonRecurringFeeTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingSettlementTaskStatusEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingSettlementTaskStatusEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingVotingRightsEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingVotingRightsEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTransferFeePaidByEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTransferFeePaidByEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MarginTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MarginTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MarketDisruptionEventsEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MarketDisruptionEventsEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MetalTitleEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MetalTitleEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MethodOfAdjustmentEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MethodOfAdjustmentEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NationalisationOrInsolvencyOrDelistingEventEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NationalisationOrInsolvencyOrDelistingEventEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NegativeInterestRateTreatmentEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NegativeInterestRateTreatmentEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonCashDividendTreatmentEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonCashDividendTreatmentEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonEmptyLongScheme from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonEmptyScheme from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonEmptyURI from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonNegativeDecimal from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NormalizedString from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotionalAdjustmentEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotionalAdjustmentEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotionalChangeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotionalChangeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ObligationCategoryEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ObligationCategoryEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionTypeEnumMember1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionTypeEnumMember1Object from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PayerReceiverEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PayerReceiverEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PayoutEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PayoutEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PayRelativeToEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PayRelativeToEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodExtendedEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodExtendedEnumMember1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodExtendedEnumMember1Object from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodTimeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodTimeEnumMember1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodTimeEnumMember1Object from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PointValue from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PositiveDecimal from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PremiumQuoteBasisEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PremiumQuoteBasisEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PremiumTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PremiumTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PriceExpressionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PriceExpressionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PutCallEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PutCallEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuotationRateTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuotationRateTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuotationSideEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuotationSideEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuotationStyleEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuotationStyleEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuoteBasisEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuoteBasisEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RateTreatmentEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RateTreatmentEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RealisedVarianceMethodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RealisedVarianceMethodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RepoDurationEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RepoDurationEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResetRelativeToEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResetRelativeToEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RestrictedPercentage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RollConventionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RollConventionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RoundingDirectionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RoundingDirectionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Scheme from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriodDurationEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriodDurationEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ShareExtraordinaryEventEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ShareExtraordinaryEventEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SpecifiedPriceEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SpecifiedPriceEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StandardSettlementStyleEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StandardSettlementStyleEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StepRelativeToEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StepRelativeToEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StrikeQuoteBasisEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StrikeQuoteBasisEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.String from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StubPeriodTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StubPeriodTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TelephoneTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TelephoneTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TimeTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TimeTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Token from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Token60 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TouchConditionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TouchConditionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TriggerConditionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TriggerConditionEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TriggerTimeTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TriggerTimeTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TriggerTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TriggerTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationMethodEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationMethodEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationTypeEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationTypeEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherSettlementLevelEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherSettlementLevelEnumObject from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeeklyRollConventionEnum from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeeklyRollConventionEnumMember1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeeklyRollConventionEnumMember1Object from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbsoluteTolerance from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractApplicablePartyProfileObjects from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractContractNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractEventRequireId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractFacility from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractFacilityContractEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractFacilityEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractFacilityNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLcEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanAllocationEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanAllocationPaymentNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanAllocationSettlementEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanAllocationSummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanContractEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanPartyProfileNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanServicingEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanStatement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanTask from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanTrade from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanTradeEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanTradePaymentNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanTradeSummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractLoanTradingNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractPartyProfile from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractPartyProfileId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractServicingNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AbstractTradingAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Account from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccountId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccountName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccountReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccountType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccrualOptionBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccrualOptionChangeNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccrualPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccrualTypeId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingFeeChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingFeeChangeNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingFeeExpiry from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingFeeOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingFeePaymentNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingFeeType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingPikOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingPikOptionChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingPikPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AccruingPikPaymentNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Acknowledgement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ActionOnExpiration from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ActionType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ActualPrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdditionalData from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdditionalDisruptionEvents from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdditionalEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdditionalFixedPayments from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdditionalPaymentAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdditionalTerm from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Address from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableDate2 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableDateOrRelativeDateSequence from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableDatesOrRelativeDateOffset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableOffset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableOrAdjustedDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableOrRelativeDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableOrRelativeDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableRelativeOrPeriodicDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustableRelativeOrPeriodicDates2 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustedPaymentDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdjustedRelativeDateOffset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Adjustment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AdmissionToTrading from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AffectedTransactions from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Algorithm from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AlgorithmRole from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Allocation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AllocationApproved from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AllocationRefused from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AllocationReportingStatus from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Allocations from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AmendmentFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AmericanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AmountRef from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AmountReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AmountSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AnyAssetReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ApplicableAssets from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ApplicableCommunicationDetails from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ApplicablePurpose from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ApplicableSettlementInstructionDetails from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ApplicableTransactionType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Approval from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ApprovalId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Approvals from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ApprovalStatusNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ApprovalType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Asian from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AAsset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AssetClass from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AssetMeasureType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AssetOrTermPointOrPricingStructureReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AssetPool from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AssetReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AssetValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AssociationToAssetId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AssociationToAssetIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AutomaticExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AverageDailyTradingVolumeLimit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AveragePriceLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AveragingObservationList from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AveragingPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.AveragingSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BankruptcyEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Barrier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BasicAssetValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BasicQuotation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Basket from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BasketChangeEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BasketConstituent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BasketId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BasketName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BasketReferenceInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Beneficiary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BermudaExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Bond from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BondOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BondOptionStrike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BondReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Borrowing from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BoundedCorrelation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BoundedVariance from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BreakageFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BrokerConfirmation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BrokerConfirmationType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BrokerEquityOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BulletPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BullionDeliveryLocation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BullionPhysicalLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessCenter from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessCenters from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessCentersReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessCenterTime from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessDateRange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessDayAdjustments from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessDayAdjustmentsReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessEventIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessProcess from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessUnit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessUnitReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BusinessUnitRole from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.BuyerSellerAmounts from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculatedAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Calculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationAgent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationFromObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationPeriodAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationPeriodDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationPeriodDatesReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationPeriodFrequency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationPeriodsDatesReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationPeriodsReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalculationPeriodsScheduleReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CalendarSpread from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CancelableProvision from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CancelableProvisionAdjustedDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CancellationEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CapFloor from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Cash from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CashflowId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CashflowNotional from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Cashflows from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CashflowType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CashPayable from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CashPriceMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CashSettlement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CashSettlementPaymentDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CashSettlementReferenceBanks from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CashSettlementTerms from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ChangeEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClassifiablePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearanceSystem from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Clearing from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearingConfirmed from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearingEligibility from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearingExceptionReason from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearingInstructions from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearingRefused from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearingRequirements from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearingStatus from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearingStatusItem from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ClearingStatusValue from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalAttributeDecimal from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalAttributePercentage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalDelivery from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalDeliveryPoint from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalPhysicalLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalProduct from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalProductSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalProductSpecifications from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalProductType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalQualityAdjustments from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalStandardQuality from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalStandardQualitySchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CoalTransportationEquipment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Collateral from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CollateralAllocationAccepted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CollateralizationType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CollateralProfile from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CollateralType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CollateralValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CollateralValueAllocation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Commission from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommitmentAdjustment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommitmentChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommitmentSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Commodity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityAmericanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBarrier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBasket from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBasketBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBasketByNotional from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBasketByPercentage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBasketOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBasketUnderlyingBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBasketUnderlyingByNotional from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBasketUnderlyingByPercentage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityBusinessCalendar from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityCalculationPeriodsSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDeliveryPeriods from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDeliveryPoint from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDeliveryRisk from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDetails from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDigital from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDigitalExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityDigitalOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityEuropeanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityExerciseBasket from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityExercisePeriods from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityExpireRelativeToEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityFixedInterestCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityFixedPriceSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityForward from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityForwardLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityFrequencyType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityFx from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityFxType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityHub from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityHubCode from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityInformationProvider from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityInformationSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityInterestLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityMarketDisruption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityMetalBrand from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityMetalBrandManager from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityMetalBrandName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityMetalGrade from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityMetalProducer from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityMetalShape from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityMultipleExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityNotionalAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityNotionalAmountReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityNotionalQuantity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityNotionalQuantitySchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPayRelativeToEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPerformanceSwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPerformanceSwapBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPerformanceSwapEarlyTermination from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPerformanceSwapLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPhysicalAmericanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPhysicalEuropeanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPhysicalExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPhysicalQuantity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPhysicalQuantityBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPhysicalQuantitySchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPipeline from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPipelineCycle from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPremium from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityPricingDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityProductGrade from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityQuantityFrequency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityRelativeExpirationDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityRelativePaymentDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityReturnCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityReturnLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommoditySettlementPeriodsNotionalQuantity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommoditySettlementPeriodsNotionalQuantitySchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommoditySettlementPeriodsPriceSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommoditySpread from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommoditySpreadSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityStartingDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityStrikeSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommoditySwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommoditySwapLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommoditySwaption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommoditySwaptionUnderlying from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityTrigger from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityValuationDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityVarianceCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CommodityVarianceLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Composite from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Compounding from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CompoundingFrequency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CompoundingRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CompressionActivity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CompressionType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConfirmationAgreed from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConfirmationDisputed from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConfirmationMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConfirmationRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConfirmationStatus from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConsentGranted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConsentRefused from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConstituentWeight from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ContactInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ContractId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ContractIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ContractualDefinitions from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ContractualMatrix from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ContractualSupplement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ContractualTermsSupplement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ConvertibleBond from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CorporateActionEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CorporateActionType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CorrectableRequestMessage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Correlation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CorrelationAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CorrelationId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CorrelationLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CorrelationSwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CorrespondentInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CountryCode from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CouponType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditCurve from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditCurveValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditDefaultSwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditDefaultSwapOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditDerivativesNotices from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditDocument from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditEventNotice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditEventNoticeDocument from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditEventNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditEventNotificationRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditEvents from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditEventsReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditLimit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditLimitBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditLimitInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditLimitUtilization from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditLimitUtilizationPosition from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditOptionStrike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditRating from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditSeniority from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditSupportAgreement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditSupportAgreementIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CreditSupportAgreementType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CrossCurrencyMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CrossRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Currency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CurrencyPairClassification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CurrentContractsType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.CutName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DataDocument from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DataProvider from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DateList from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DateOffset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DateRange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DateReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DateRelativeToCalculationPeriodDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DateRelativeToPaymentDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DateTimeList from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DayCountFraction from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Deal from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DealIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DealStatement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DealSummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeClear from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeclearReason from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DefaultProbabilityCurve from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DefaultRateChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DefaultRateExpiry from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DelayedDraw from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeliverableObligations from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeliveryMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeliveryNearby from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DenominatorTerm from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Deposit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DerivativeCalculationMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DerivativeCalculationProcedure from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DerivativeFormula from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeterminationMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DeterminationMethodReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DirectionalLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DirectionalLegUnderlyer from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DirectionalLegUnderlyerValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Discounting from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DisruptionFallback from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendAdjustment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendConditions from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendPaymentDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendPayout from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendPeriodDividend from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendPeriodPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendSwapOptionTransactionSupplement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DividendSwapTransactionSupplement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Document from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Documentation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DualCurrencyFeature from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.DualCurrencyStrikePrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EarlyTerminationEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EarlyTerminationProvision from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EEPParameters from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EEPRiskPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityDelivery from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityDeliveryFirm from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityDeliveryPoint from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityDeliverySystemFirm from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityDeliveryType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityDeliveryUnitFirm from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityPhysicalDeliveryQuantity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityPhysicalDeliveryQuantitySchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityPhysicalLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityPhysicalQuantity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityProduct from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityTransmissionContingency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ElectricityTransmissionContingencyType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Empty from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EndUserExceptionDeclaration from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EntityClassification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EntityId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EntityName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EntityType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EnvironmentalPhysicalLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EnvironmentalProduct from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EnvironmentalProductApplicableLaw from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EnvironmentalProductComplaincePeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EnvironmentalTrackingSystem from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityAmericanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityAsset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityBermudaExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityCorporateEvents from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityDerivativeBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityDerivativeLongFormBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityDerivativeShortFormBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityEuropeanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityExerciseValuationSettlement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityForward from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityMultipleExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityOptionTransactionSupplement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityPremium from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityStrike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquitySwapTransactionSupplement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EquityValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EuropeanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventInstructionOverride from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventProposedMatch from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventRequestAcknowledgement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventsChoice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventStatus from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventStatusItem from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EventStatusResponse from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.EvergreenOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Exception from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExceptionMessageHeader from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExchangeId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExchangeRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExchangeTraded from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExchangeTradedCalculatedPrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExchangeTradedContract from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExchangeTradedContractUnderlyer from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExchangeTradedFund from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExchangeTradedOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExecutionAdvice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExecutionAdviceRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExecutionDateTime from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExecutionNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExecutionRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExecutionType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExecutionVenueType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Exercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseFee from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseFeeSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseNotice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExercisePeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseProcedure from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExerciseProcedureOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExtendibleProvision from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExtendibleProvisionAdjustedDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExtensionEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ExtraordinaryEvents from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityCommitment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityContractIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityExecutionExceptionDeclaration from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityExtensionFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityFeature from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityOutstandingsPosition from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityOutstandingsPositionStatement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityPosition from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityPositionStatement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityRateChangeEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityRateChangeNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityStatement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilitySummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityTermination from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FacilityType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FailureToPay from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FailureToPayEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FallbackReferencePrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FeaturePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FeeLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FeeRateOptionBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FinalCalculationPeriodDateAdjustment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FinancialSwapLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FirstPeriodStartDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedAmountCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedPaymentAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedPaymentLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedPrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedPriceLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedRateAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedRateOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedRateOptionBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedRateOptionChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FixedRateReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingAmountCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingAmountEvents from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingAmountProvisions from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingLegCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingPriceLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRateAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRateCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRateCalculationReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRateDefinition from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRateIndex from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRateIndexLoan from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRateOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRateOptionBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingRateOptionChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FloatingStrikePrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ForecastRateIndex from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Formula from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FormulaComponent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FormulaTerm from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ForwardRateCurve from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FpML from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Fra from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Frequency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FundingFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Future from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FutureId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FutureValueAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualAverageStrikeReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualBarrier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualDigitalOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualForward from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualLeverage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualLinearPayoffRegion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualPayoffRegion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualPayoffRegionReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualRegion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualRegionLowerBound from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualRegionUpperBound from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualSettlementPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualSettlementPeriodPayoff from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualSettlementPeriodSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualStrike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualStrikeReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualTrigger from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAccrualTriggerReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAdjustedDateAndDateAdjustments from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAmericanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAsianFeature from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAverageRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAverageRateObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAverageRateObservationSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAverageStrike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxAveragingProcess from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBarrierFeature from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxBusinessCenterDateTime from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxCashSettlement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxCashSettlementSimple from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxComplexBarrierBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxComplexBarrierBaseReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxConversion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxCounterCurrencyAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxCrossRateObservable from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxCurve from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxCurveValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxDateOffset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxDigitalAmericanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxDigitalOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxDisruption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxDisruptionEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxDisruptionEvents from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxDisruptionFallback from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxDisruptionFallbacks from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxDisruptionProvisions from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxEuropeanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxExchangedCurrency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxExpiryDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxExpirySchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFallbackReferencePrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFeature from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFixing from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFixingDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFixingObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFixingSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFixingScheduleSimple from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFlexibleForward from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFlexibleForwardExecutionPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxFlexibleForwardRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxForwardStrikePrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxForwardVolatilityAgreement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxInformationSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxKnockoutCount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxKnockoutLevel from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxLevel from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxLevelReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxLinkedNotionalAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxLinkedNotionalSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxMultipleExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxOptionFeatures from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxOptionPayout from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxOptionPremium from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxOptionStrikePrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxOutstandingGain from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxPayoffCap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxPerformanceFixedLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxPerformanceFloatingLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxPerformanceLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxPerformanceSwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxPivot from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxPivotReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRangeAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRateAsset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRateObservable from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRateObservableReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRateSet from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxRateSourceFixing from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxScheduleReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSettlementPeriodBarrier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSettlementRateSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSettlementSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSingleLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSpotRateSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxStraddle from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxStraddlePremium from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxStrike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxStrikePrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxStrikeReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxSwapLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTarget from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetAccumulationRegion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetBarrier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetConstantPayoff from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetConstantPayoffRegion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetKnockoutForward from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetLeverage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetLinearPayoffRegion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetPayoffRegion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetPayoffRegionReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetPhysicalSettlement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetRebate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetRegionLowerBound from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetRegionUpperBound from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetSettlementPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetSettlementPeriodPayoff from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTargetSettlementPeriodSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTemplateTerms from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTerms from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTouch from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTrigger from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxTriggerBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxValuationDateOffset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.FxWeightedFixingSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GasDelivery from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GasDeliveryPeriods from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GasDeliveryPoint from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GasPhysicalLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GasPhysicalQuantity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GasProduct from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GasQuality from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GeneralTerms from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericCommodityDeliveryPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericCommodityGrade from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericDimension from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericExerciseStyle from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericFrequency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericOptionStrike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericProduct from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericProductExchangeRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericProductFeature from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericProductQuotedCurrencyPair from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GenericResetFrequency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GoverningLaw from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GracePeriodExtension from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.GrossCashflow from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IdentifiedAsset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IdentifiedCurrency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IdentifiedCurrencyReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IdentifiedDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IdentifiedPayerReceiver from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IdentifiedRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ImplementationSpecification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ImplementationSpecificationVersion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndependentAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Index from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndexAdjustmentEvents from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndexAnnexSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndexChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndexId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndexName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndexReferenceInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IndustryClassification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InflationRateCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InformationProvider from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InformationSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InitialMargin from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InitialMarginCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InitialPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InstrumentId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InstrumentSet from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InstrumentTradeDetails from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InstrumentTradePricing from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InstrumentTradePrincipal from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InstrumentTradeQuantity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterconnectionPoint from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestAccrualsCompoundingMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestAccrualsMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestCapitalization from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestLegCalculationPeriodDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestLegCalculationPeriodDatesReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestLegResetDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestRateStream from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestRateStreamReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterestShortFall from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IntermediaryInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.InterpolationMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IssuerId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.IssuerTradeId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Knock from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.KnockOutRateObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Lag from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LagReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Language from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcAdjustment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcFxRevaluation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcIssuance from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcIssuanceFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcOptionChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcPurpose from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcRateChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcRenewal from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcTermination from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LcType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Leg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LegalEntity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LegalEntityReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LegAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LegId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LegIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LenderClassification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LetterOfCredit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LetterOfCreditFacility from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LetterOfCreditReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LetterOfCreditSummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Lien from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LimitApplicable from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LimitId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LimitType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LinkId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Loan from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAcknowledgement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationConfirmationNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationNoSettlePeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationNoSettlePeriodType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationSettlementDateAvailabilityNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationSettlementDateFinalizationNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationSettlementEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationSettlementNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationSettlementTask from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationSettlementTaskNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationSettlementTaskType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationTransferFeeDueEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationTransferFeeDueNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationTransferFeeOwedEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanAllocationTransferFeeOwedNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanBulkServicingNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanContract from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanContractAdjustment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanContractBaseRateSet from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanContractMaturityChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanContractNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanContractReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanContractSummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanInterestPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanNotificationAcknowledgement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanNotificationException from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanNotificationRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanParticipation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanPartyEventInstructionOverrideNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanPartyProfileNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanPartyTradingInstructionOverrideNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanSettlementDateAvailabilityEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanSettlementDateFinalizationEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTrade from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeConfirmationNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeSettlementTask from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeSettlementTaskNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeSettlementTaskType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeSummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeTransferFeeDueEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeTransferFeeDueNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeTransferFeeOwedEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradeTransferFeeOwedNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingAccruingFeeAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingCostOfCarry from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingCostOfCarryAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingCounterpartySettlementFundingFactors from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingDelayedCompensation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingEconomicBenefit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingLetterOfCreditAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingNonRecurringFee from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingOutstandingsAccrual from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingPartyRole from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTradingSettlementTaskDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTransfer from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTransferFee from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTransferNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTransferSettlementEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.LoanTransferSettlementNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MainPublication from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MakeWholeAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MakeWholeProvisions from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MandatoryCostRateChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MandatoryCostRateExpiry from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MandatoryEarlyTermination from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MandatoryEarlyTerminationAdjustedDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ManualExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Market from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MarketDisruption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MarketDisruptionEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MarketReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MasterAgreement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MasterAgreementId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MasterAgreementType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MasterAgreementVersion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MasterConfirmation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MasterConfirmationAnnexType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MasterConfirmationType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MatchId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Material from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Math from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MatrixSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MatrixTerm from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MatrixType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MaturingContractsType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MaturityNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Message from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MessageAddress from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MessageHeader from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MessageId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Metal from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MetalDelivery from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MetalPhysicalLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MimeType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MiscFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Money from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MoneyBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MoneyRef from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MoneyWithParticipantShare from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Mortgage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MortgageSector from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MultiCurrency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MultiDimensionalPricingData from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MultipleExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MultipleValuationDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.MutualFund from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NetAndGross from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NettedSwapBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonCorrectableRequestMessage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonDeliverableSettlement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonDeliverableSubstitute from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonNegativeAmountSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonNegativeMoney from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonNegativePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonNegativeSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonNegativeStep from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonPeriodicFixedPriceLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonRecurringFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonRecurringFeePaymentNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NonRecurringMiscFeeType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotDomesticCurrency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotificationMessage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotificationMessageHeader from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotifyingParty from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Notional from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotionalAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotionalAmountReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotionalReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotionalReportingType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NotionalStepRule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NoTouchLowerBarrierObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NoTouchRateObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NoTouchUpperBarrierObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NumberOfOptionsReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.NumberOfUnitsReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ObligationAccelerationEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ObligationDefaultEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Obligations from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ObservationFrequency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ObservedPrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ObservedRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Offset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OffsetPrevailingTime from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OilDelivery from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OilPhysicalLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OilPipelineDelivery from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OilProduct from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OilProductType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OilTransferDelivery from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OnBehalfOf from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Option from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionalEarlyTermination from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionalEarlyTerminationAdjustedDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionBaseExtended from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionExerciseAmounts from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionExpiry from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionExpiryBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionFeature from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionFeatures from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionNumericStrike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionStrike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OptionType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OrderId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OrderIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OrganizationCharacteristic from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OrganizationType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OriginalMessageType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OriginatingEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OtcClassification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OtherAgreement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OtherAgreementId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OtherAgreementType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OtherAgreementVersion from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OutstandingContractsStatement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OutstandingsPosition from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OverrideId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.OverrideIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PackageHeader from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PackageInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PackageSummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PackageType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ParametricAdjustment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ParametricAdjustmentPoint from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartialExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Party from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyEntityClassification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyGroupType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyMessageInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyNoticePeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyPortfolioName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyProfile from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyProfileDocumentation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyProfileId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyProfileIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyRelationshipType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyRole from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyRoleType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyTradeIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyTradeIdentifierReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyTradeIdentifiers from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PartyTradeInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PassThrough from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PassThroughItem from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Payment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentBaseExtended from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentCalculationPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentDatesReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentDetail from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentDetails from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentProjection from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentRule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PaymentType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PCDeliverableObligationCharac from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PenaltyRateChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PenaltyRateExpiry from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PendingPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PercentageRule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PercentageTolerance from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Period from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodicDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodicPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PeriodRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Person from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PersonId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PersonReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PersonRole from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PerturbationType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PhysicalForwardLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PhysicalSettlement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PhysicalSettlementPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PhysicalSettlementTerms from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PhysicalSwapLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Portfolio from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PortfolioConstituentReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PortfolioName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PortfolioReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PortfolioReferenceBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PositiveMoney from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Postponement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Premium from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PremiumQuote from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Prepayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PrePayment1 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PrepaymentNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PrevailingTime from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Price from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PriceMateriality from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PriceQuoteUnits from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PriceSourceDisruption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingContext from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingDataPointCoordinate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingDataPointCoordinateReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingInputReplacement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingInputType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingModel from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingParameterDerivative from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingParameterDerivativeReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingParameterShift from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingStructure from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingStructurePoint from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingStructureReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PricingStructureValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PrincipalExchange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PrincipalExchangeAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PrincipalExchangeDescriptions from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PrincipalExchangeFeatures from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PrincipalExchanges from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProblemLocation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Product from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProductComponentIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProductId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProductReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProductSummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProductType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProposedCollateralAllocation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProRataFacilities from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProtectionTerms from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ProtectionTermsReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.PubliclyAvailableInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuantityReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuantityUnit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Quanto from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Quotation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuotationCharacteristics from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuotedAssetSet from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuotedCurrencyPair from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.QuoteTiming from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Rate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RateIndex from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RateLimits from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RateObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RateReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RateSourcePage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Reason from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReasonCode from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Reference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferenceAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferenceBank from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferenceBankId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferenceInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferenceLevel from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferenceLevelUnit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferenceObligation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferencePair from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferencePool from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferencePoolItem from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReferenceSwapCurve from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Region from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RegulatorId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RelatedBusinessUnit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RelatedParty from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RelatedPerson from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RelativeDateOffset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RelativeDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RelativeDateSequence from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RelativePrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RelevantUnderlyingDateReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Repayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Repo from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RepoFarLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RepoLegBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RepoNearLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportingBoolean from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportingCurrencyType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportingLevel from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportingPurpose from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportingRegime from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportingRegimeIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportingRegimeName from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportingRole from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReportSectionIdentification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Representations from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RepudiationMoratoriumEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestAllocation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestAllocationRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestClearing from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestClearingEligibility from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestClearingRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestCollateralAllocation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestConfirmation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestConsent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestConsentRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestedAction from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestedClearingAction from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestedCollateralAllocationAction from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestedWithdrawalAction from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestEventStatus from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestExecution from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestExecutionRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestMessage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestMessageHeader from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestRetransmission from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestTradeReferenceInformationUpdate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequestTradeReferenceInformationUpdateRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RequiredIdentifierDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResetDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResetDatesReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResetFrequency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Resource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResourceId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResourceLength from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResourceType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResponseMessage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ResponseMessageHeader from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Restructuring from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RestructuringEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RestructuringType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Return from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnLegValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnLegValuationPrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnSwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnSwapAdditionalPayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnSwapAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnSwapBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnSwapEarlyTermination from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnSwapLegUnderlyer from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnSwapNotional from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnSwapNotionalAmountReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ReturnSwapPaymentDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Revolver from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Rollover from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RolloverNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Rounding from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Routing from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RoutingExplicitDetails from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RoutingId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RoutingIds from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.RoutingIdsAndExplicitDetails from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Schedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ScheduleReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Sensitivity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SensitivityDefinition from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SensitivitySet from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SensitivitySetDefinition from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SensitivitySetDefinitionReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SequencedDisruptionFallback from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ServiceAdvisory from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ServiceAdvisoryCategory from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ServiceNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ServiceProcessingCycle from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ServiceProcessingEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ServiceProcessingStatus from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ServiceProcessingStep from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ServiceStatus from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettledEntityMatrix from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementDetails from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementInstruction from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementInstructionId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriodFixingDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriodLeverage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriods from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriodsFixedPrice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriodsReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriodsSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPeriodsStep from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPriceDefaultElection from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementPriceSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementProvision from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementRateOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementRateSource from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementTerms from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SettlementTermsReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SharedAmericanExercise from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ShortSale from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SimpleCreditDefaultSwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SimpleFra from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SimpleIRSwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SimplePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SinglePartyOption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SinglePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SingleUnderlyer from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SingleValuationDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SpecifiedCurrency from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SplitSettlement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SpreadSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SpreadScheduleReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SpreadScheduleType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StandardProduct from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StartingDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Step from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StepBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Strategy from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StrategyComponentIdentification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StrategyFeature from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StreetAddress from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Strike from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StrikePriceBasketReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StrikePriceUnderlyingReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StrikeSchedule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StrikeSpread from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Stub from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StubCalculationPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StubCalculationPeriodAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StubFloatingRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.StubValue from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SupervisorRegistration from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SupervisoryBody from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Swap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SwapAdditionalTerms from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SwapCurveValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Swaption from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SwaptionAdjustedDates from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.SwaptionPhysicalSettlement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TaskId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TaskIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TaxForm from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TaxFormType from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TaxWithholding from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TelephoneNumber from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TermCurve from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TermDeposit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TermDepositFeatures from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TerminatingEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TermLoan from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TermPoint from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TimeDimension from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TimestampTypeScheme from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TimezoneLocation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TouchRateObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Trade from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeAmendmentContent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeCategory from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeChangeAdvice from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeChangeAdviceRetracted from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeChangeBase from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeChangeContent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeDifference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeHeader from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeIdentifier from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeIdentifierExtended from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeLegPriceChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeLegSizeChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeMaturity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeNotionalChange from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeNovationContent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradePackage from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeProcessingTimestamps from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Trader from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeReferenceInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeSummary from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeTimestamp from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeUnderlyer2 from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradeWrapper from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradingInstructionOverride from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TradingWaiver from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Tranche from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TransactionCharacteristic from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TransferFeeDefinition from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TransferFeeRule from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Trigger from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TriggerEvent from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TriggerRateObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.TriParty from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Underlyer from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UnderlyerInterestLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UnderlyerLoanRate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UnderlyerReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UnderlyingAsset from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UnderlyingAssetTranche from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Unit from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UnitQuantity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UnitQuantityRef from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UnprocessedElementWrapper from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UpfrontFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UtilizationAmounts from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.UtilizationPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Validation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Valuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationDate from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationDatesReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationDocument from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationPostponement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationScenario from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationScenarioReference from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationSet from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ValuationSetDetail from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Variance from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VarianceAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VarianceLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VarianceOptionTransactionSupplement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VarianceSwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VarianceSwapTransactionSupplement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Velocity from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VerificationMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VerificationStatus from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VerificationStatusNotification from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VersionedContractId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VersionedTradeId from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Volatility from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VolatilityAmount from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VolatilityCap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VolatilityLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VolatilityMatrix from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VolatilityRepresentation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VolatilitySwap from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.VolatilitySwapTransactionSupplement from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WaiverFeePayment from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherCalculationPeriod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherCalculationPeriods from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherIndex from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherIndexData from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherLeg from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherLegCalculation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherStation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherStationAirport from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherStationWBAN from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeatherStationWMO from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeightedAveragingObservation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WeightedPartialDerivative from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.Withdrawal from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WithdrawalPartyTradeInformation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WithdrawalReason from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.WithholdingTaxReason from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.YieldCurve from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.YieldCurveMethod from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.YieldCurveValuation from https://models.accordproject.org/fpml5/confirmation.cto
      import fpml5.confirmation.ZeroRateCurve from https://models.accordproject.org/fpml5/confirmation.cto
      
      

Dependencies

  • None

Source

    /*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace fpml5.confirmation

/**
 * The type of automatic adjustment that a Letter of Credit can exhibit.
 */
enum AccrualReferenceAmountTypeEnum {
o Commitment
o Funded
o Other
o Unfunded
o Unutilized
o Utilized}

/**
 * 
 */
enum AccrualReferenceAmountTypeEnumObject {
}

/**
 * The type of adjustment applied to any amount.
 */
enum AmountAdjustmentEnum {
o Decrease
o Increase}

/**
 * 
 */
enum AmountAdjustmentEnumObject {
}

/**
 * The type of averaging used in an Asian option.
 */
enum AveragingInOutEnum {
o In
o Out
o Both}

/**
 * 
 */
enum AveragingInOutEnumObject {
}

/**
 * The method of calculation to be used when averaging rates. Per ISDA 2000 Definitions, Section 6.2. Certain Definitions Relating to Floating Amounts.
 */
enum AveragingMethodEnum {
o Unweighted
o Weighted}

/**
 * 
 */
enum AveragingMethodEnumObject {
}

/**
 * When breakage cost is applicable, this defines who is calculating it.
 */
enum BreakageCalculatedByEnum {
o AgentBank
o Lender}

/**
 * 
 */
enum BreakageCalculatedByEnumObject {
}

/**
 * Defines which type of bullion is applicable for a Bullion Transaction.
 */
enum BullionTypeEnum {
o Gold
o Palladium
o Platinum
o Silver
o Rhodium
o RhodiumSponge
o Iridium
o Ruthenium
o Osmium}

/**
 * 
 */
enum BullionTypeEnumObject {
}

/**
 * The convention for adjusting any relevant date if it would otherwise fall on a day that is not a valid business day. Note that FRN is included here as a type of business day convention although it does not strictly fall within ISDA's definition of a Business Day Convention and does not conform to the simple definition given above.
 */
enum BusinessDayConventionEnum {
o FOLLOWING
o FRN
o MODFOLLOWING
o PRECEDING
o MODPRECEDING
o NEAREST
o NONE
o NotApplicable}

/**
 * 
 */
enum BusinessDayConventionEnumObject {
}

/**
 * 
 */
enum BuySellEnum {
o Buyer
o Seller}

/**
 * 
 */
enum BuySellEnumObject {
}

/**
 * The specification of how a calculation agent will be determined.
 */
enum CalculationAgentPartyEnum {
o ExercisingParty
o NonExercisingParty
o AsSpecifiedInMasterAgreement
o AsSpecifiedInStandardTermsSupplement
o Both}

/**
 * 
 */
enum CalculationAgentPartyEnumObject {
}

/**
 * Describes the date source calendar for a contract whereby the prices are from the underlying commodity price source (e.g. exchange traded futures contract), but the dates are based off another calendar (e.g. the listed option on the futures contract).
 */
enum CalendarSourceEnum {
o ListedOption
o Future}

/**
 * 
 */
enum CalendarSourceEnumObject {
}

/**
 * Identifies a party to the on-demand repo transaction that has a right to demand for termination of the repo transaction.
 */
enum CallingPartyEnum {
o InitialBuyer
o InitialSeller
o Either
o AsDefinedInMasterAgreement}

/**
 * 
 */
enum CallingPartyEnumObject {
}

/**
 * Denotes the method of collateral value allocation
 */
enum CollateralValueAllocationEnum {
o Buffer
o Full
o ExcessOverMargin
o Margin}

/**
 * 
 */
enum CollateralValueAllocationEnumObject {
}

/**
 * The unit in which a commission is denominated.
 */
enum CommissionDenominationEnum {
o BPS
o Percentage
o CentsPerShare
o FixedAmount}

/**
 * 
 */
enum CommissionDenominationEnumObject {
}

/**
 * The consequences of Bullion Settlement Disruption Events.
 */
enum CommodityBullionSettlementDisruptionEnum {
o Negotiation
o CancellationAndPayment}

/**
 * 
 */
enum CommodityBullionSettlementDisruptionEnumObject {
}

/**
 * A day type classification used in counting the number of days between two dates for a commodity transaction.
 */
enum CommodityDayTypeEnum {
}

/**
 * 
 */
enum CommodityDayTypeEnumMember1 {
o GasFlow
o NearbyContractDay}

/**
 * 
 */
enum CommodityDayTypeEnumMember1Object {
}

/**
 * Barrier Knock In or Out.
 */
enum CommodityKnockEnum {
o In
o Out}

/**
 * 
 */
enum CommodityKnockEnumObject {
}

/**
 * The Commodity specification of whether payments occur relative e.g. to the Trade Date, or the end of the month, etc.
 */
enum CommodityPayRelativeToEnum {
}

/**
 * 
 */
enum CommodityPayRelativeToEnumMember1 {
o CalculationDate
o CalculationPeriodMonthEnd
o CalculationPeriodMonthStart
o EffectiveDate
o PricingPeriodMonthEnd
o TerminationOrExpirationDate
o TradeDate
o PricingPeriodEndOfWeek
o FirstPricingDate}

/**
 * 
 */
enum CommodityPayRelativeToEnumMember1Object {
}

/**
 * Defines the value of the commodity return calculation formula as simple or compound. The simple return formula is: [ [P sub t - P sub (t-1)] / [P sub (t-1)] ] - 1 where: P sub t is the price or index level at time period t and P sub t-1 is the price or index level in time period t-1. The compound return formula is the geometric average return for the period: PI from d=1 to d=n [ [ [ [P sub t - P sub (t-1)] / [P sub (t-1)] ] + 1] sup (1 / n) ] - 1 where: PI is the product operator, p sub t is the price or index level at time period t, p sub t -1 is the price or index level at time period t-1
 */
enum CommodityReturnCalculationFormulaEnum {
o SimpleFormula
o CompoundFormula}

/**
 * 
 */
enum CommodityReturnCalculationFormulaEnumObject {
}

/**
 * The compounding calculation method
 */
enum CompoundingMethodEnum {
o Flat
o None
o Straight
o SpreadExclusive}

/**
 * 
 */
enum CompoundingMethodEnumObject {
}

/**
 * Defines a condition when an event applies.
 */
enum ConditionEnum {
o AtOrAbove
o AtOrBelow
o Above
o Below}

/**
 * 
 */
enum ConditionEnumObject {
}

/**
 * Defines whether conditions precedent have been met in a given syndicated loan deal.
 */
enum ConditionsPrecedentMetEnum {
o No
o Waived
o Yes}

/**
 * 
 */
enum ConditionsPrecedentMetEnumObject {
}

/**
 * A type defining a number specified as a decimal between -1 and 1 inclusive.
 */
enum CorrelationValue {
}

/**
 * A day of the seven-day week.
 */
enum DayOfWeekEnum {
o MON
o TUE
o WED
o THU
o FRI
o SAT
o SUN}

/**
 * 
 */
enum DayOfWeekEnumObject {
}

/**
 * A day of the seven-day week, plus codes for weekends and weekdays.
 */
enum DayOfWeekExtEnum {
}

/**
 * 
 */
enum DayOfWeekExtEnumMember1 {
o WD
o WN}

/**
 * 
 */
enum DayOfWeekExtEnumMember1Object {
}

/**
 * A day type classification used in counting the number of days between two dates.
 */
enum DayTypeEnum {
o Business
o Calendar
o CommodityBusiness
o CurrencyBusiness
o ExchangeBusiness
o ScheduledTradingDay}

/**
 * 
 */
enum DayTypeEnumObject {
}

/**
 * 
 */
enum DealtCurrencyEnum {
o ExchangedCurrency1
o ExchangedCurrency2}

/**
 * 
 */
enum DealtCurrencyEnumObject {
}

/**
 * Deprecated: In respect of a Transaction and a Commodity Reference Price, the relevant date or month for delivery of the underlying Commodity.
 */
enum DeliveryDatesEnum {
o CalculationPeriod
o FirstNearby
o SecondNearby
o ThirdNearby
o FourthNearby
o FifthNearby
o SixthNearby
o SeventhNearby
o EighthNearby
o NinthNearby
o TenthNearby
o EleventhNearby
o TwelfthNearby
o ThirteenthNearby
o FourteenthNearby
o FifteenthNearby
o SixteenthNearby
o SeventeenthNearby
o EighteenthNearby
o NineteenthNearby
o TwentiethNearby
o TwentyFirstNearby
o TwentySecondNearby
o TwentyThirdNearby
o TwentyFourthNearby
o TwentyFifthNearby
o TwentySixthNearby
o TwentySeventhNearby
o TwentyEighthNearby
o TwentyNinthNearby
o ThirtiethNearby
o ThirtyFirstNearby
o ThirtySecondNearby
o ThirtyThirdNearby
o ThirtyFourthNearby
o ThirtyFifthNearby
o ThirtySixthNearby
o ThirtySeventhNearby
o ThirtyEighthNearby
o ThirtyNinthNearby
o FortiethNearby
o FortyFirstNearby
o FortySecondNearby
o FortyThirdNearby
o FortyFourthNearby
o FortyFifthNearby
o FortySixthNearby
o FortySeventhNearby
o FortyEighthNearby
o FortyNinthNearby
o FiftiethNearby
o FiftyFirstNearby
o FiftySecondNearby
o FiftyThirdNearby
o FiftyFourthNearby
o FiftyFifthNearby
o FiftySixthNearby
o FiftySeventhNearby
o FiftyEighthNearby
o FiftyNinthNearby
o Spot
o FirstNearbyWeek
o SecondNearbyWeek
o ThirdNearbyWeek
o FourthNearbyWeek
o FifthNearbyWeek
o SixthNearbyWeek
o SeventhNearbyWeek
o EighthNearbyWeek
o NinthNearbyWeek
o TenthNearbyWeek
o EleventhNearbyWeek
o TwelfthNearbyWeek
o ThirteenthNearbyWeek
o FourteenthNearbyWeek
o FifteenthNearbyWeek
o SixteenthNearbyWeek
o SeventeenthNearbyWeek
o EighteenthNearbyWeek
o NineteenthNearbyWeek
o TwentiethNearbyWeek
o TwentyFirstNearbyWeek
o TwentySecondNearbyWeek
o TwentyThirdNearbyWeek
o TwentyFourthearbyWeek
o TwentyFifthNearbyWeek
o TwentySixthNearbyWeek
o TwentySeventhNearbyWeek
o TwentyEighthNearbyWeek
o TwentyNinthNearbyWeek
o ThirtiethNearbyWeek
o ThirtyFirstNearbyWeek
o ThirtySecondNearbyWeek
o ThirtyThirdNearbyWeek
o ThirtyFourthNearbyWeek
o ThirtyFifthNearbyWeek
o ThirtySixthNearbyWeek
o ThirtySeventhNearbyWeek
o ThirtyEighthNearbyWeek
o ThirtyNinthNearbyWeek
o FortiethNearbyWeek
o FortyFirstNearbyWeek
o FortySecondNearbyWeek
o FortyThirdNearbyWeek
o FortyFourthNearbyWeek
o FortyFifthNearbyWeek
o FortySixthNearbyWeek
o FortySeventhNearbyWeek
o FortyEighthNearbyWeek
o FortyNinthNearbyWeek
o FiftiethNearbyWeek
o FiftyFirstNearbyWeek
o FiftySecondNearbyWeek}

/**
 * 
 */
enum DeliveryDatesEnumObject {
}

/**
 * The type of nearby qualifier, expect to be used in conjunction with a nearby count.
 */
enum DeliveryNearbyTypeEnum {
o CalculationPeriod
o NearbyMonth
o NearbyWeek}

/**
 * 
 */
enum DeliveryNearbyTypeEnumObject {
}

/**
 * 
 */
enum DeliveryTypeEnum {
o Firm
o Interruptible}

/**
 * 
 */
enum DeliveryTypeEnumObject {
}

/**
 * The ISDA defined value indicating the severity of a difference.
 */
enum DifferenceSeverityEnum {
o Warning
o Error}

/**
 * 
 */
enum DifferenceSeverityEnumObject {
}

/**
 * The ISDA defined value indicating the nature of a difference.
 */
enum DifferenceTypeEnum {
o Value
o Reference
o Structure
o Scheme}

/**
 * 
 */
enum DifferenceTypeEnumObject {
}

/**
 * The method of calculating discounted payment amounts.
 */
enum DiscountingTypeEnum {
o Standard
o FRA
o FRAYield}

/**
 * 
 */
enum DiscountingTypeEnumObject {
}

/**
 * The specification of how disruption fallbacks will be represented.
 */
enum DisruptionFallbacksEnum {
o AsSpecifiedInMasterAgreement
o AsSpecifiedInConfirmation}

/**
 * 
 */
enum DisruptionFallbacksEnumObject {
}

/**
 * Refers to one on the 3 Amounts
 */
enum DividendAmountTypeEnum {
o RecordAmount
o ExAmount
o PaidAmount
o AsSpecifiedInMasterConfirmation}

/**
 * 
 */
enum DividendAmountTypeEnumObject {
}

/**
 * Defines how the composition of dividends is to be determined.
 */
enum DividendCompositionEnum {
o EquityAmountReceiverElection
o CalculationAgentElection}

/**
 * 
 */
enum DividendCompositionEnumObject {
}

/**
 * The reference to a dividend date.
 */
enum DividendDateReferenceEnum {
o ExDate
o DividendPaymentDate
o DividendValuationDate
o RecordDate
o TerminationDate
o EquityPaymentDate
o FollowingPaymentDate
o AdHocDate
o CumulativeEquityPaid
o CumulativeLiborPaid
o CumulativeEquityExDiv
o CumulativeLiborExDiv
o SharePayment
o CashSettlementPaymentDate
o FloatingAmountPaymentDate
o CashSettlePaymentDateExDiv
o CashSettlePaymentDateIssuerPayment
o ExDividendPaymentDate}

/**
 * 
 */
enum DividendDateReferenceEnumObject {
}

/**
 * The date on which the receiver of the equity return is entitled to the dividend.
 */
enum DividendEntitlementEnum {
o ExDate
o RecordDate}

/**
 * 
 */
enum DividendEntitlementEnumObject {
}

/**
 * Defines the First Period or the Second Period, as specified in the 2002 ISDA Equity Derivatives Definitions.
 */
enum DividendPeriodEnum {
o FirstPeriod
o SecondPeriod}

/**
 * 
 */
enum DividendPeriodEnumObject {
}

/**
 * A type which permits the Dual Currency strike quote basis to be expressed in terms of the deposit and alternate currencies.
 */
enum DualCurrencyStrikeQuoteBasisEnum {
o DepositCurrencyPerAlternateCurrency
o AlternateCurrencyPerDepositCurrency}

/**
 * 
 */
enum DualCurrencyStrikeQuoteBasisEnumObject {
}

/**
 * Symbolic specification of early termination date.
 */
enum EarlyTerminationDateEnum {
o AnyDay
o ValuationDate
o ResetDate
o AfterFirstResetDate
o AsSpecifiedInMCA}

/**
 * 
 */
enum EarlyTerminationDateEnumObject {
}

/**
 * The type of electricity product.
 */
enum ElectricityProductTypeEnum {
o Electricity}

/**
 * 
 */
enum ElectricityProductTypeEnumObject {
}

/**
 * Upon the occurrence of an Abandonment of Scheme, as defined in clause (h)(iv) of the Emissions Annex, one of the following elections, the specific terms of which are set forth in clause (b)(iii) of the Emissions Annex, will govern the parties’ rights and obligations with respect to this Emissions Transaction. If none of the above options is selected, Option A(1) will apply.
 */
enum EnvironmentalAbandonmentOfSchemeEnum {
o OptionA1
o OptionA2
o OptionB
o OptionC}

/**
 * 
 */
enum EnvironmentalAbandonmentOfSchemeEnumObject {
}

/**
 * Environmental Product (e.g. allowance, certificate or unit).
 */
enum EnvironmentalProductTypeEnum {
o EUAllowance
o EUCredit
o AlternativeAllowance
o NOXEmissionsProduct
o RegionalEmissionsProduct
o RGGIEmissionsProduct
o SO2EmissionsProduct
o StateEmissionProduct
o VoluntaryEmissionProduct
o RenewableEnergyCertificate
o AUSCarbonCreditUnit
o AUSCarbonUnit
o AUSEnergySavingCertificate
o AUSLargeScaleGenerationCertificate
o AUSSmallScaleTechnologyCertificate
o AUSVictorianEnergyEfficiencyCertificate
o MXCCFECRTINTLODS
o NZEmissionsUnits
o UKRenewableObligationCertificate}

/**
 * 
 */
enum EnvironmentalProductTypeEnumObject {
}

/**
 * Specifies an additional Forward type.
 */
enum EquityOptionTypeEnum {
}

/**
 * 
 */
enum EquityOptionTypeEnumMember1 {
o Forward}

/**
 * 
 */
enum EquityOptionTypeEnumMember1Object {
}

/**
 * The specification of whether an OTC option will be exercised.
 */
enum ExerciseActionEnum {
o FullExercise
o PartialExercise
o Abandon}

/**
 * 
 */
enum ExerciseActionEnumObject {
}

/**
 * The specification of which of the pay-side or the receive-side should be exercised when a straddle is exercised.
 */
enum ExerciseSideEnum {
}

/**
 * 
 */
enum ExerciseSideEnumMember1 {
o Payer
o Receiver}

/**
 * 
 */
enum ExerciseSideEnumMember1Object {
}

/**
 * 
 */
enum ExerciseStyleEnum {
o American
o Bermuda
o European}

/**
 * 
 */
enum ExerciseStyleEnumObject {
}

/**
 * When a requested option exercise event is desired to be performed.
 */
enum ExerciseTimingEnum {
o Immediate
o OnExpiration}

/**
 * 
 */
enum ExerciseTimingEnumObject {
}

/**
 * Defines the fee type.
 */
enum FeeElectionEnum {
o FlatFee
o AmortizedFee
o FundingFee
o FlatFeeAndFundingFee
o AmortizedFeeAndFundingFee}

/**
 * 
 */
enum FeeElectionEnumObject {
}

/**
 * The method by which the Flat Rate is calculated for a commodity freight transaction.
 */
enum FlatRateEnum {
o Fixed
o Floating}

/**
 * 
 */
enum FlatRateEnumObject {
}

/**
 * 
 */
enum FpmlVersionType {
}

/**
 * Specifies the fallback provisions in respect to the applicable Futures Price Valuation.
 */
enum FPVFinalPriceElectionFallbackEnum {
o FPVClose
o FPVHedgeExecution}

/**
 * 
 */
enum FPVFinalPriceElectionFallbackEnumObject {
}

/**
 * The method of FRA discounting, if any, that will apply.
 */
enum FraDiscountingEnum {
o ISDA
o AFMA
o NONE
o ISDAYield}

/**
 * 
 */
enum FraDiscountingEnumObject {
}

/**
 * The type of a knockout barrier used in an accrual product (e.g. American or European)
 */
enum FxAccrualKnockoutBarrierRetentionEnum {
o Keep
o Lose}

/**
 * 
 */
enum FxAccrualKnockoutBarrierRetentionEnumObject {
}

/**
 * Average calculation method e.g. Arithmetic, Harmonic)
 */
enum FxAveragingMethodEnum {
o Arithmetic
o Harmonic}

/**
 * 
 */
enum FxAveragingMethodEnumObject {
}

/**
 * The specification of whether the direction of a barrier within an FX OTC option is Down or Up.
 */
enum FxBarrierDirectionEnum {
o Down
o Up}

/**
 * 
 */
enum FxBarrierDirectionEnumObject {
}

/**
 * The specification of whether a barrier has effect for the current expiry period, or globally to the whole product.
 */
enum FxBarrierScopeEnum {
o Global
o PerExpiry}

/**
 * 
 */
enum FxBarrierScopeEnumObject {
}

/**
 * Defines the barrier observation style i.e. continuous (American) or discrete (Euriopean).
 */
enum FxBarrierStyleEnum {
o American
o European}

/**
 * 
 */
enum FxBarrierStyleEnumObject {
}

/**
 * The specification of whether a barrier within an FX OTC option is a knockin or knockout.
 */
enum FxBarrierTypeEnum {
o Knockin
o Knockout
o ReverseKnockin
o ReverseKnockout}

/**
 * 
 */
enum FxBarrierTypeEnumObject {
}

/**
 * Defines the outcome in the event that the barrier is triggered i.e. whether the product becomes active (Knockin) or is extinguished (Knockout). Omitting superseded values ReverseKnock[in|out].
 */
enum FxBarrierTypeSimpleEnum {
o Knockin
o Knockout}

/**
 * 
 */
enum FxBarrierTypeSimpleEnumObject {
}

/**
 * Standard FX Spot and Forward offset conventions.
 */
enum FxOffsetConventionEnum {
o FxSpot
o FxForward}

/**
 * 
 */
enum FxOffsetConventionEnumObject {
}

/**
 * The Lower Bound Direction. It only contains the AtOrAbove and Above values.
 */
enum FxRegionLowerBoundDirectionEnum {
o AtOrAbove
o Above}

/**
 * 
 */
enum FxRegionLowerBoundDirectionEnumObject {
}

/**
 * The Upper Bound Direction. It only contains the AtOrBelow and Below values.
 */
enum FxRegionUpperBoundDirectionEnum {
o AtOrBelow
o Below}

/**
 * 
 */
enum FxRegionUpperBoundDirectionEnumObject {
}

/**
 * Target specific settlement adjustment method.
 */
enum FxSettlementAdjustmentMethodEnum {
o VariedStrike
o VariedNotional}

/**
 * 
 */
enum FxSettlementAdjustmentMethodEnumObject {
}

/**
 * Forward Volatility Agreement Straddle Type.
 */
enum FxStraddleTypeEnum {
o AtTheMoneyForward
o DeltaNeutral}

/**
 * 
 */
enum FxStraddleTypeEnumObject {
}

/**
 * Defines the method for calculating the gain in the period where the Target Knock-Out event occurs (Exact, Exclusive, Inclusive).
 */
enum FxTargetStyleEnum {
o Exact
o Exclusive
o Inclusive}

/**
 * 
 */
enum FxTargetStyleEnumObject {
}

/**
 * The specification of a time period containing values such as Today, Tomorrow etc.
 */
enum FxTenorPeriodEnum {
o Broken
o Today
o Tomorrow
o TomorrowNext
o Spot
o SpotNext}

/**
 * 
 */
enum FxTenorPeriodEnumObject {
}

/**
 * The type of gas product.
 */
enum GasProductTypeEnum {
o Butane
o CarbonDioxide
o EPMix
o Ethane
o Gasoline
o Helium
o HydrogenSulfide
o Isobutane
o Methane
o Naphtha
o NaturalGas
o Nitrogen
o Pentane
o Propane
o Propylene
o Water}

/**
 * 
 */
enum GasProductTypeEnumObject {
}

/**
 * A type defining a time specified in hh:mm:ss format where the second component must be '00', e.g. 11am would be represented as 11:00:00.
 */
enum HourMinuteTime {
}

/**
 * The specification of the consequences of Index Events.
 */
enum IndexEventConsequenceEnum {
o CalculationAgentAdjustment
o NegotiatedCloseOut
o CancellationAndPayment
o RelatedExchange}

/**
 * 
 */
enum IndexEventConsequenceEnumObject {
}

/**
 * 
 */
enum Initial {
}

/**
 * Defines whether the agent bank is making an interest payment based on the lender pro-rata share at the end of the period (snapshot) or based on the lender position throughout the period.
 */
enum InterestCalculationMethodEnum {
o ContractPositionThruPeriod
o ProRataShareSnapshot}

/**
 * 
 */
enum InterestCalculationMethodEnumObject {
}

/**
 * The specification of the interest shortfall cap, applicable to mortgage derivatives.
 */
enum InterestShortfallCapEnum {
o Fixed
o Variable}

/**
 * 
 */
enum InterestShortfallCapEnumObject {
}

/**
 * Defines applicable periods for interpolation.
 */
enum InterpolationPeriodEnum {
o Initial
o InitialAndFinal
o Final
o AnyPeriod}

/**
 * 
 */
enum InterpolationPeriodEnumObject {
}

/**
 * The type of automatic adjustment that a Letter of Credit can exhibit.
 */
enum LcAutoAdjustEnum {
o AutoDecrease
o AutoIncrease
o AutoIncreaseOrDecrease}

/**
 * 
 */
enum LcAutoAdjustEnumObject {
}

/**
 * Used for indicating the length unit in the Resource type.
 */
enum LengthUnitEnum {
o Pages
o TimeUnit}

/**
 * 
 */
enum LengthUnitEnumObject {
}

/**
 * The type of credit approval request.
 */
enum LimitModelEnum {
o Ping
o Plus1ToStop
o Plus1ToPing
o PushToPing
o PushToStop}

/**
 * 
 */
enum LimitModelEnumObject {
}

/**
 * LoadType is a summary of the full description of the settlement periods with respect to the region. Used for describing Electricity delivery schedules.
 */
enum LoadTypeEnum {
o Base
o Peak
o OffPeak
o BlockHours
o Custom}

/**
 * 
 */
enum LoadTypeEnumObject {
}

/**
 * A list that defines how the interest accrued during the settlement period is calculated and paid.
 */
enum LoanTradingAccrualSettlementEnum {
o Flat
o SettledWithAccrued
o SettledWithoutAccrued}

/**
 * 
 */
enum LoanTradingAccrualSettlementEnumObject {
}

/**
 * A list of accruing fee types associated with a facility.
 */
enum LoanTradingAccruingFeeTypeEnum {
o Commitment
o Facility
o LetterOfCreditIssuance
o Ticking
o Utilization}

/**
 * 
 */
enum LoanTradingAccruingFeeTypeEnumObject {
}

/**
 * A list that defines the loan trading association responsible for defining the standardized legal framework that governs the trade.
 */
enum LoanTradingAssocEnum {
o LMA
o LSTA}

/**
 * 
 */
enum LoanTradingAssocEnumObject {
}

/**
 * A list describing the type of documentation used to settle a secondary market syndicated loan trade.
 */
enum LoanTradingDocTypeEnum {
o Distressed
o Par}

/**
 * 
 */
enum LoanTradingDocTypeEnumObject {
}

/**
 * A list describing forms of purchase.
 */
enum LoanTradingFormOfPurchaseEnum {
o Assignment
o AssignmentOnly
o Other
o LMAFundedParticipation
o LMAFundedRiskParticipation
o LMARiskParticipation
o LMARiskToFundedParticipation
o LMATransferAgreement
o LMATransferCertificate
o Participation}

/**
 * 
 */
enum LoanTradingFormOfPurchaseEnumObject {
}

/**
 * A list of accruing fee types associated with a facility.
 */
enum LoanTradingNonRecurringFeeTypeEnum {
o Amendment
o Consent
o Facility
o FacilityExension
o Upfront
o Waiver}

/**
 * 
 */
enum LoanTradingNonRecurringFeeTypeEnumObject {
}

/**
 * A list that defines the status of a settlement task.
 */
enum LoanTradingSettlementTaskStatusEnum {
o Active
o Cleared
o Cancelled}

/**
 * 
 */
enum LoanTradingSettlementTaskStatusEnumObject {
}

/**
 * A list that specifies whether a trade was executed during the syndication period or in the post-syndication market.
 */
enum LoanTradingTypeEnum {
o Primary
o Secondary}

/**
 * 
 */
enum LoanTradingTypeEnumObject {
}

/**
 * A list that specifies type of voting rights process, i.e. whether voting rights are passed along to buyer or retained by seller.
 */
enum LoanTradingVotingRightsEnum {
o PassedOnToBuyer
o RetainedBySeller}

/**
 * 
 */
enum LoanTradingVotingRightsEnumObject {
}

/**
 * A list of standard market rules for the treatment of split of assignment fees between counterparties.
 */
enum LoanTransferFeePaidByEnum {
o BuyerSplitOneHalf
o OneFeePaidByBuyer
o OneFeePaidBySeller
o PaidByBuyer
o PaidBySeller
o SellerSplitOneHalf
o SplitFull}

/**
 * 
 */
enum LoanTransferFeePaidByEnumObject {
}

/**
 * This indicator defines which type of assets (cash or securities) is specified to apply as margin to the repo transaction.
 */
enum MarginTypeEnum {
o Cash
o Instrument}

/**
 * 
 */
enum MarginTypeEnumObject {
}

/**
 * The specification of how market disruption events will be represented.
 */
enum MarketDisruptionEventsEnum {
o Applicable
o NotApplicable
o AsSpecifiedInMasterAgreement
o AsSpecifiedInConfirmation}

/**
 * 
 */
enum MarketDisruptionEventsEnumObject {
}

/**
 * Describes how and when title to the commodity transfers.
 */
enum MetalTitleEnum {
o TransfersWithRiskOfLoss
o DoesNotTransferWithRiskOfLoss}

/**
 * 
 */
enum MetalTitleEnumObject {
}

/**
 * Defines how adjustments will be made to the contract should one or more of the extraordinary events occur.
 */
enum MethodOfAdjustmentEnum {
o CalculationAgent
o OptionsExchange}

/**
 * 
 */
enum MethodOfAdjustmentEnumObject {
}

/**
 * Defines the consequences of nationalisation, insolvency and delisting events relating to the underlying.
 */
enum NationalisationOrInsolvencyOrDelistingEventEnum {
o NegotiatedCloseout
o CancellationAndPayment}

/**
 * 
 */
enum NationalisationOrInsolvencyOrDelistingEventEnumObject {
}

/**
 * The method of calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).
 */
enum NegativeInterestRateTreatmentEnum {
o NegativeInterestRateMethod
o ZeroInterestRateMethod}

/**
 * 
 */
enum NegativeInterestRateTreatmentEnumObject {
}

/**
 * Defines treatment of non-cash dividends.
 */
enum NonCashDividendTreatmentEnum {
o PotentialAdjustmentEvent
o CashEquivalent}

/**
 * 
 */
enum NonCashDividendTreatmentEnumObject {
}

/**
 * The base class for all types which define coding schemes that must be populated.
 */
enum NonEmptyLongScheme {
}

/**
 * The base class for all types which define coding schemes that must be populated.
 */
enum NonEmptyScheme {
}

/**
 * A URI that cannot be empty.
 */
enum NonEmptyURI {
}

/**
 * A type defining a number specified as non negative decimal greater than 0 inclusive.
 */
enum NonNegativeDecimal {
}

/**
 * A normalized string
 */
enum NormalizedString {
}

/**
 * The conditions that govern the adjustment to the number of units of the equity swap.
 */
enum NotionalAdjustmentEnum {
o Execution
o PortfolioRebalancing
o Standard}

/**
 * 
 */
enum NotionalAdjustmentEnumObject {
}

/**
 * Indicator as to the type of transaction in accordance with Articles 20(3)(a) and 21(5)(a) of Regulation (EU) 600/2014.
 */
enum NotionalChangeEnum {
o Increase
o Decrease}

/**
 * 
 */
enum NotionalChangeEnumObject {
}

/**
 * Used in both the obligations and deliverable obligations of the credit default swap to represent a class or type of securities which apply.
 */
enum ObligationCategoryEnum {
o Payment
o BorrowedMoney
o ReferenceObligationsOnly
o Bond
o Loan
o BondOrLoan}

/**
 * 
 */
enum ObligationCategoryEnumObject {
}

/**
 * Specifies the type of the option.
 */
enum OptionTypeEnum {
}

/**
 * 
 */
enum OptionTypeEnumMember1 {
o Payer
o Receiver
o Straddle}

/**
 * 
 */
enum OptionTypeEnumMember1Object {
}

/**
 * The specification of an interest rate stream payer or receiver party.
 */
enum PayerReceiverEnum {
o Payer
o Receiver}

/**
 * 
 */
enum PayerReceiverEnumObject {
}

/**
 * The specification of how an FX OTC option with a trigger payout will be paid if the trigger condition is met. The contract will specify whether the payout will occur immediately or on the original value date of the option.
 */
enum PayoutEnum {
o Deferred
o Immediate}

/**
 * 
 */
enum PayoutEnumObject {
}

/**
 * The specification of whether payments occur relative to the calculation period start or end date, or the reset date.
 */
enum PayRelativeToEnum {
o CalculationPeriodStartDate
o CalculationPeriodEndDate
o LastPricingDate
o ResetDate
o ValuationDate}

/**
 * 
 */
enum PayRelativeToEnumObject {
}

/**
 * The specification of a time period
 */
enum PeriodEnum {
o D
o W
o M
o Y}

/**
 * 
 */
enum PeriodEnumObject {
}

/**
 * The specification of a time period containing additional values such as Term.
 */
enum PeriodExtendedEnum {
}

/**
 * 
 */
enum PeriodExtendedEnumMember1 {
o T}

/**
 * 
 */
enum PeriodExtendedEnumMember1Object {
}

/**
 * The specification of a time period containing additional values such as Term.
 */
enum PeriodTimeEnum {
}

/**
 * 
 */
enum PeriodTimeEnumMember1 {
o Hour
o Minute
o Second}

/**
 * 
 */
enum PeriodTimeEnumMember1Object {
}

/**
 * Constrains the forward point tick/pip factor to 1, 0.1, 0.01, 0.001, etc.
 */
enum PointValue {
}

/**
 * A type defining a number specified as positive decimal greater than 0 exclusive.
 */
enum PositiveDecimal {
}

/**
 * The specification of how the premium for an FX OTC option is quoted.
 */
enum PremiumQuoteBasisEnum {
o PercentageOfCallCurrencyAmount
o PercentageOfPutCurrencyAmount
o CallCurrencyPerPutCurrency
o PutCurrencyPerCallCurrency
o Explicit}

/**
 * 
 */
enum PremiumQuoteBasisEnumObject {
}

/**
 * Premium Type for Forward Start Equity Option
 */
enum PremiumTypeEnum {
o PrePaid
o PostPaid
o Variable
o Fixed}

/**
 * 
 */
enum PremiumTypeEnumObject {
}

/**
 * The mode of expression of a price.
 */
enum PriceExpressionEnum {
o AbsoluteTerms
o PercentageOfNotional}

/**
 * 
 */
enum PriceExpressionEnumObject {
}

/**
 * Specifies whether the option is a call or a put.
 */
enum PutCallEnum {
o Put
o Call}

/**
 * 
 */
enum PutCallEnumObject {
}

/**
 * The specification of the type of quotation rate to be obtained from each cash settlement reference bank.
 */
enum QuotationRateTypeEnum {
o Bid
o Ask
o Mid
o ExercisingPartyPays}

/**
 * 
 */
enum QuotationRateTypeEnumObject {
}

/**
 * The side from which perspective a value is quoted.
 */
enum QuotationSideEnum {
o Bid
o Ask
o Mid}

/**
 * 
 */
enum QuotationSideEnumObject {
}

/**
 * Indicates the actual quotation style of of PointsUpFront or TradedSpread that was used to quote this trade.
 */
enum QuotationStyleEnum {
o PointsUpFront
o TradedSpread
o Price}

/**
 * 
 */
enum QuotationStyleEnumObject {
}

/**
 * How an exchange rate is quoted.
 */
enum QuoteBasisEnum {
o Currency1PerCurrency2
o Currency2PerCurrency1}

/**
 * 
 */
enum QuoteBasisEnumObject {
}

/**
 * The specification of methods for converting rates from one basis to another.
 */
enum RateTreatmentEnum {
o BondEquivalentYield
o MoneyMarketYield}

/**
 * 
 */
enum RateTreatmentEnumObject {
}

/**
 * The contract specifies whether which price must satisfy the boundary condition.
 */
enum RealisedVarianceMethodEnum {
o Previous
o Last
o Both}

/**
 * 
 */
enum RealisedVarianceMethodEnumObject {
}

/**
 * A duration code for a Repo (or Securities Lending) transaction. There are many business and market rules that are derived from the duration of the transaction.
 */
enum RepoDurationEnum {
o Overnight
o Term}

/**
 * 
 */
enum RepoDurationEnumObject {
}

/**
 * The specification of whether resets occur relative to the first or last day of a calculation period.
 */
enum ResetRelativeToEnum {
o CalculationPeriodStartDate
o CalculationPeriodEndDate}

/**
 * 
 */
enum ResetRelativeToEnumObject {
}

/**
 * A type defining a percentage specified as decimal from 0 to 1. A percentage of 5% would be represented as 0.05.
 */
enum RestrictedPercentage {
}

/**
 * The type of return associated with the equity swap.
 */
enum ReturnTypeEnum {
o Dividend
o Price
o Total}

/**
 * 
 */
enum ReturnTypeEnumObject {
}

/**
 * The convention for determining the sequence of calculation period end dates. It is used in conjunction with a specified frequency and the regular period start date of a calculation period, e.g. semi-annual IMM roll dates.
 */
enum RollConventionEnum {
o EOM
o FRN
o IMM
o IMMCAD
o IMMAUD
o IMMNZD
o SFE
o NONE
o TBILL
o _1
o _2
o _3
o _4
o _5
o _6
o _7
o _8
o _9
o _10
o _11
o _12
o _13
o _14
o _15
o _16
o _17
o _18
o _19
o _20
o _21
o _22
o _23
o _24
o _25
o _26
o _27
o _28
o _29
o _30
o MON
o TUE
o WED
o THU
o FRI
o SAT
o SUN}

/**
 * 
 */
enum RollConventionEnumObject {
}

/**
 * The method of rounding a fractional number.
 */
enum RoundingDirectionEnum {
o Up
o Down
o Nearest}

/**
 * 
 */
enum RoundingDirectionEnumObject {
}

/**
 * The base class for all types which define coding schemes that are allowed to be empty.
 */
enum Scheme {
}

/**
 * Defines the Settlement Period Duration for an Electricity Transaction.
 */
enum SettlementPeriodDurationEnum {
o _2Hours
o _1Hour
o _30Minutes
o _15Minutes}

/**
 * 
 */
enum SettlementPeriodDurationEnumObject {
}

/**
 * Shows how the transaction is to be settled when it is exercised.
 */
enum SettlementTypeEnum {
o Cash
o Physical
o Election
o CashOrPhysical}

/**
 * 
 */
enum SettlementTypeEnumObject {
}

/**
 * Defines the consequences of extraordinary events relating to the underlying.
 */
enum ShareExtraordinaryEventEnum {
o AlternativeObligation
o CancellationAndPayment
o OptionsExchange
o CalculationAgent
o ModifiedCalculationAgent
o PartialCancellationAndPayment
o Component}

/**
 * 
 */
enum ShareExtraordinaryEventEnumObject {
}

/**
 * The Specified Price in respect of a Transaction and a Commodity Reference Price.
 */
enum SpecifiedPriceEnum {
o Afternoon
o Ask
o Bid
o Closing
o High
o Index
o MeanOfBidAndAsk
o LocationalMarginal
o Low
o MarginalHourly
o MarketClearing
o MeanOfHighAndLow
o Morning
o Official
o Opening
o OSP
o Settlement
o Spot
o Midpoint
o NationalSingle
o WeightedAverage
o UnWeightedAverage}

/**
 * 
 */
enum SpecifiedPriceEnumObject {
}

/**
 * The code specification of whether a trade is settling using standard settlement instructions as well as whether it is a candidate for settlement netting.
 */
enum StandardSettlementStyleEnum {
o Standard
o Net
o StandardAndNet}

/**
 * 
 */
enum StandardSettlementStyleEnumObject {
}

/**
 * The specification of whether a percentage rate change, used to calculate a change in notional outstanding, is expressed as a percentage of the initial notional amount or the previously outstanding notional amount.
 */
enum StepRelativeToEnum {
o Initial
o Previous}

/**
 * 
 */
enum StepRelativeToEnumObject {
}

/**
 * The specification of how an FX OTC option strike price is quoted.
 */
enum StrikeQuoteBasisEnum {
o PutCurrencyPerCallCurrency
o CallCurrencyPerPutCurrency}

/**
 * 
 */
enum StrikeQuoteBasisEnumObject {
}

/**
 * A string. FpML may define lenght restrictions in some views.
 */
enum String {
}

/**
 * Element to define how to deal with a none standard calculation period within a swap stream.
 */
enum StubPeriodTypeEnum {
o ShortInitial
o ShortFinal
o LongInitial
o LongFinal}

/**
 * 
 */
enum StubPeriodTypeEnumObject {
}

/**
 * The type of telephone number used to reach a contact.
 */
enum TelephoneTypeEnum {
o Work
o Mobile
o Fax
o Personal}

/**
 * 
 */
enum TelephoneTypeEnumObject {
}

/**
 * Defines points in the day when equity option exercise and valuation can occur.
 */
enum TimeTypeEnum {
o Close
o Open
o OSP
o SpecificTime
o XETRA
o DerivativesClose
o AsSpecifiedInMasterConfirmation}

/**
 * 
 */
enum TimeTypeEnumObject {
}

/**
 * A token. FpML redefines this type so that in some views it can enforce that it may not be empty
 */
enum Token {
}

/**
 * A type defining a token of length between 1 and 60 characters inclusive.
 */
enum Token60 {
}

/**
 * The specification of, for American-style digitals, whether the trigger level must be touched or not touched.
 */
enum TouchConditionEnum {
o Touch
o Notouch}

/**
 * 
 */
enum TouchConditionEnumObject {
}

/**
 * The specification of whether a payout will occur on an option depending upon whether the spot rate is at or above or at or below the trigger rate.
 */
enum TriggerConditionEnum {
o AtOrAbove
o AtOrBelow
o Above
o Below}

/**
 * 
 */
enum TriggerConditionEnumObject {
}

/**
 * The time of day which would be considered for valuing the knock event.
 */
enum TriggerTimeTypeEnum {
o Closing
o Anytime}

/**
 * 
 */
enum TriggerTimeTypeEnumObject {
}

/**
 * The specification of whether an option will trigger or expire depending upon whether the spot rate is above or below the barrier rate.
 */
enum TriggerTypeEnum {
o EqualOrLess
o EqualOrGreater
o Equal
o Less
o Greater}

/**
 * 
 */
enum TriggerTypeEnumObject {
}

/**
 * The ISDA defined methodology for determining the final price of the reference obligation for purposes of cash settlement.
 */
enum ValuationMethodEnum {
o Market
o Highest
o AverageMarket
o AverageHighest
o BlendedMarket
o BlendedHighest
o AverageBlendedMarket
o AverageBlendedHighest}

/**
 * 
 */
enum ValuationMethodEnumObject {
}

/**
 * How a valuation for a trade was determined
 */
enum ValuationTypeEnum {
o Model
o Market}

/**
 * 
 */
enum ValuationTypeEnumObject {
}

/**
 * 
 */
enum WeatherSettlementLevelEnum {
o Cumulative
o Average
o Mximum
o Minimum}

/**
 * 
 */
enum WeatherSettlementLevelEnumObject {
}

/**
 * The specification of a weekly roll day.
 */
enum WeeklyRollConventionEnum {
}

/**
 * 
 */
enum WeeklyRollConventionEnumMember1 {
o TBILL}

/**
 * 
 */
enum WeeklyRollConventionEnumMember1Object {
}

/**
 * The acceptable tolerance in the delivered quantity of a physical commodity product in terms of a number of units of that product.
 */
concept AbsoluteTolerance  {
o Double
 positive 
o Double
 negative 
}

/**
 * An abstract base type that combines objects applicable to the description of a party profile (e.g. applicable assets and cash evets to specific contacts or settlement instructions).
 */
abstract concept AbstractApplicablePartyProfileObjects  {

}

/**
 * An extension of the AbstractServicingNotification which includes a reference to the facility and the loan contract to which embedded loan events apply. This abtract type should be used to 'wrap' contract-level business events.
 */
abstract concept AbstractContractNotification  extends AbstractServicingNotification {

}

/**
 * Abstract base type for all events.
 */
abstract concept AbstractEvent  {

}

/**
 * An abstract base type for all loan business events.
 */
abstract concept AbstractEventRequireId  {

}

/**
 * An abstract type defining a facility baseline structure.
 */
abstract concept AbstractFacility  extends FacilitySummary {
o String
[] group optional
}

/**
 * An abstract base type for all facility and/or contract-level business events.
 */
abstract concept AbstractFacilityContractEvent  extends AbstractLoanServicingEvent {

}

/**
 * An abstract base type for all facility-level business events.
 */
abstract concept AbstractFacilityEvent  extends AbstractLoanServicingEvent {

}

/**
 * An extension of the AbstractServicingNotification which includes a reference to the facility to which embedded loan events apply. This abtract type should be used to 'wrap' facility-level business events.
 */
abstract concept AbstractFacilityNotification  extends AbstractServicingNotification {

}

/**
 * An abstract base type for all LC-level business events.
 */
abstract concept AbstractLcEvent  extends AbstractLoanServicingEvent {

}

/**
 * An abstract structure defining fundamental allocation event information.
 */
abstract concept AbstractLoanAllocationEvent  extends AbstractLoanEvent {

}

/**
 * An underlying abstract structure for all syndicated loan servicing notifications; the wrapper for loan events which occur through the life-cycle of a deal.
 */
abstract concept AbstractLoanAllocationPaymentNotification  extends AbstractLoanTradingNotification {

}

/**
 * An abstract structure defining fundamental settlement event information.
 */
abstract concept AbstractLoanAllocationSettlementEvent  extends AbstractLoanEvent {
o DateTime
 settlementDate 
}

/**
 * An underlying structure defining fundamental allocation event information.
 */
abstract concept AbstractLoanAllocationSummary  {
o String
 comment optional
}

/**
 * An abstract base type for all loan contract-level business events.
 */
abstract concept AbstractLoanContractEvent  extends AbstractLoanServicingEvent {

}

/**
 * An abstract base type defining common features of a syndicated loan business event.
 */
abstract concept AbstractLoanEvent  extends AbstractEventRequireId {
o String
 comment optional
}

/**
 * An abstract base type for all supplementary communication to paying entities and/or servicing platforms.
 */
abstract concept AbstractLoanPartyProfileNotification  extends CorrectableRequestMessage {
o String
 comments optional
}

/**
 * An abstract base type defining common features of a syndicated loan servicing business event. Such events are originated by the borrower and are required to be communicated to the lender syndicate by agents.
 */
abstract concept AbstractLoanServicingEvent  extends AbstractLoanEvent {
o DateTime
 effectiveDate 
}

/**
 * An abstract base type for all syndicated loan statement notifications; the wrapper for deal/facility/contract definitions and facility/contract positions at a particular point in time (snapshot).
 */
abstract concept AbstractLoanStatement  extends CorrectableRequestMessage {
o DateTime
 statementDate 
o String
 comments optional
}

/**
 * An underlying abstract structure that defines the responsible party for tasks that must be completed.
 */
abstract concept AbstractLoanTask  {
o LoanTradingSettlementTaskStatusEnum status 
o String
 comment optional
}

/**
 * An underlying structure defining fundamental master loan trade event information.
 */
abstract concept AbstractLoanTrade  extends AbstractLoanTradeSummary {
o DateTime
 tradeDate 
o LoanTradingTypeEnum type 
o Boolean
 whenIssuedFlag 
o LoanTradingAssocEnum tradingAssociation 
o LoanTradingFormOfPurchaseEnum formOfPurchase 
}

/**
 * An abstract structure defining fundamental master loan trade event information.
 */
abstract concept AbstractLoanTradeEvent  extends AbstractLoanEvent {

}

/**
 * An underlying abstract structure for all syndicated loan servicing notifications; the wrapper for payment events which occur through the life-cycle of a loan trade.
 */
abstract concept AbstractLoanTradePaymentNotification  extends AbstractLoanTradingNotification {

}

/**
 * An underlying structure defining all loan trade information i.e. this structure contains the main (e.g. fund manager/main counterparty) trade details.
 */
abstract concept AbstractLoanTradeSummary  {
o String
 comment optional
}

/**
 * An underlying abstract structure for all syndicated loan servicing notifications; the wrapper for events which occur through the life-cycle of a loan trade.
 */
abstract concept AbstractLoanTradingNotification  extends CorrectableRequestMessage {
o DateTime
 noticeDate 
}

/**
 * An abstract base type that describes a party profile.
 */
abstract concept AbstractPartyProfile  extends AbstractPartyProfileId {
o DateTime
 effectiveDate 
}

/**
 * An abstract base type that identifies a party profile.
 */
abstract concept AbstractPartyProfileId  {

}

/**
 * An abstract base type for all syndicated loan servicing notifications; the wrapper for loan events which occur through the life-cycle of a deal.
 */
abstract concept AbstractServicingNotification  extends CorrectableRequestMessage {
o DateTime
 noticeDate 
o Boolean
 isGlobalOnly 
}

/**
 * An underlying structure that details the elements that affect the calculation of a trade-related accrual.
 */
abstract concept AbstractTradingAccrual  {

}

/**
 * A generic account that represents any party's account at another party. Parties may be identified by the account at another party.
 */
concept Account  {
o String
 id 
}

/**
 * The data type used for account identifiers.
 */
concept AccountId  {
o String
 value optional
o String
 accountIdScheme optional
}

/**
 * The data type used for the name of the account.
 */
concept AccountName  {
o String
 value optional
o String
 accountNameScheme optional
}

/**
 * Reference to an account.
 */
concept AccountReference  extends Reference {

}

/**
 * The data type used for account type.
 */
concept AccountType  {
o String
 value optional
o String
 accountTypeScheme optional
}

/**
 * An abstract type used for defining accrual structures within loan instruments.
 */
abstract concept AccrualOptionBase  {

}

/**
 * A loan servicing notification used to update an accrual option within a single facility. Embedded business events simply re-state the given accrual option.
 */
concept AccrualOptionChangeNotification  extends AbstractContractNotification {
o String
[] loanContractDetailsModel optional
o String
[] letterOfCreditDetailsModel optional
}

/**
 * A structure that describes the details of the underlying elements that explain the calculation of an accrual against a reference balance.
 */
concept AccrualPeriod  {
o DateTime
 startDate 
o DateTime
 endDate 
o Double
 numberOfDays 
o AccrualReferenceAmountTypeEnum referenceAmountType optional
o Double
 rate 
}

/**
 * A structure used to uniquely identify a single accrual type within a syndicated loan structure.
 */
concept AccrualTypeId  {
o String
 value optional
o String
 accrualTypeIdScheme 
}

/**
 * An event describing a future change an accruing fee associated with a specific facility.
 */
concept AccruingFeeChange  extends AbstractFacilityEvent {

}

/**
 * A loan servicing notification used to communicate a change in an accruing fee option. These options define the rates/calculations associated with facility-level accruing fees.
 */
concept AccruingFeeChangeNotification  extends AbstractFacilityNotification {
o String
 accruingFeeChangeGroupGroup 
}

/**
 * An event describing a future expiry of one of the accruing fees associated with a specific facility.
 */
concept AccruingFeeExpiry  extends AbstractFacilityEvent {

}

/**
 * A structure that represents the accruing fee option associated within a facility.
 */
concept AccruingFeeOption  extends FeeRateOptionBase {
o DateTime
 startDate 
o DateTime
 endDate optional
o String
 calculationDefinition optional
}

/**
 * An event describing an accruing fee payment made at the facility level.
 */
concept AccruingFeePayment  extends AbstractFacilityEvent {
o DateTime
 startDate 
o DateTime
 endDate 
}

/**
 * A loan servicing notification used to communicate an accruing fee payment made by the borrower.
 */
concept AccruingFeePaymentNotification  extends AbstractFacilityNotification {

}

/**
 * A list of all eligible accruing facility-level fee types.
 */
concept AccruingFeeType  {
o String
 value optional
o String
 accruingFeeTypeScheme optional
}

/**
 * A structure that represents the accruing PIK option associated within a facility.
 */
concept AccruingPikOption  extends FeeRateOptionBase {
o DateTime
 startDate 
o DateTime
 endDate 
}

/**
 * An event representing a change in a PIK accrual option. In real terms - an example of this would be a margin rate change.
 */
concept AccruingPikOptionChange  extends AbstractFacilityEvent {

}

/**
 * An event representing a payment to facilitate capitalization of interest on all outstanding contracts against a particular facility.
 */
concept AccruingPikPayment  extends AbstractFacilityEvent {
o DateTime
 startDate 
o DateTime
 endDate 
}

/**
 * A loan servicing notification used to communicate an accruing PIK rate being capitalized by the borrower.
 */
concept AccruingPikPaymentNotification  extends AbstractFacilityNotification {

}

/**
 * 
 */
concept Acknowledgement  extends ResponseMessage {

}

/**
 * 
 */
concept ActionOnExpiration  {
o ExerciseActionEnum exerciseAction optional
o Boolean
 expiry optional
o Boolean
 fullExercise optional
o Double
 exerciseInNumberOfOptions optional
o Double
 outstandingNumberOfOptions optional
o Double
 exerciseInNumberOfUnits optional
o Double
 outstandingNumberOfUnits optional
}

/**
 * The data type used for ESMA action type.
 */
concept ActionType  {
o String
 value optional
o String
 actionTypeScheme optional
}

/**
 * 
 */
concept ActualPrice  {
o Double
 amount 
o PriceExpressionEnum priceExpression 
o String
 id optional
}

/**
 * Provides extra information not represented in the model that may be useful in processing the message i.e. diagnosing the reason for failure.
 */
concept AdditionalData  {
o String
 string optional
o String
 hexadecimalBinary optional
o String
 base64Binary optional
}

/**
 * A type for defining ISDA 2002 Equity Derivative Additional Disruption Events.
 */
concept AdditionalDisruptionEvents  {
o Boolean
 changeInLaw optional
o Boolean
 failureToDeliver optional
o Boolean
 insolvencyFiling optional
o Boolean
 hedgingDisruption optional
o Boolean
 lossOfStockBorrow optional
o Double
 maximumStockLoanRate optional
o Boolean
 increasedCostOfStockBorrow optional
o Double
 initialStockLoanRate optional
o Boolean
 increasedCostOfHedging optional
o Boolean
 foreignOwnershipEvent optional
}

/**
 * Abstract base type for an extension/substitution point to customize FpML and add additional events.
 */
abstract concept AdditionalEvent  extends AbstractEvent {

}

/**
 * 
 */
concept AdditionalFixedPayments  {
o Boolean
 interestShortfallReimbursement optional
o Boolean
 principalShortfallReimbursement optional
o Boolean
 writedownReimbursement optional
}

/**
 * Specifies the amount of the fee along with, when applicable, the formula that supports its determination.
 */
concept AdditionalPaymentAmount  {

}

/**
 * 
 */
concept AdditionalTerm  {
o String
 value optional
o String
 additionalTermScheme optional
}

/**
 * A type that represents a physical postal address.
 */
concept Address  {
o String
 city optional
o String
 state optional
o String
 postalCode optional
}

/**
 * A type for defining a date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.
 */
concept AdjustableDate  {
o String
 id optional
}

/**
 * A type that is different from AdjustableDate in two regards. First, date adjustments can be specified with either a dateAdjustments element or a reference to an existing dateAdjustments element. Second, it does not require the specification of date adjustments.
 */
concept AdjustableDate2  {
o String
 id optional
}

/**
 * A type describing a date defined as subject to adjustment or defined in reference to another date through one or several date offsets.
 */
concept AdjustableDateOrRelativeDateSequence  {
o String
 id optional
}

/**
 * A type for defining a series of dates that shall be subject to adjustment if they would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the dates.
 */
concept AdjustableDates  {
o String
 id optional
}

/**
 * A type for defining a series of dates, either as a list of adjustable dates, or a as a repeating sequence from a base date
 */
concept AdjustableDatesOrRelativeDateOffset  {

}

/**
 * An adjustable offset can be used to specify a number of days, business or calendar, for example in a notice period.
 */
concept AdjustableOffset  extends Offset {

}

/**
 * A type for defining a date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.
 */
concept AdjustableOrAdjustedDate  {
o String
 id optional
}

/**
 * A type giving the choice between defining a date as an explicit date together with applicable adjustments or as relative to some other (anchor) date.
 */
concept AdjustableOrRelativeDate  {
o String
 id optional
}

/**
 * A type giving the choice between defining a series of dates as an explicit list of dates together with applicable adjustments or as relative to some other series of (anchor) dates.
 */
concept AdjustableOrRelativeDates  {
o String
 id optional
}

/**
 * 
 */
concept AdjustableRelativeOrPeriodicDates  {
o String
 id optional
}

/**
 * A type giving the choice between defining a series of dates as an explicit list of dates together with applicable adjustments, or as relative to some other series of (anchor) dates, or as a set of factors to specify periodic occurences.
 */
concept AdjustableRelativeOrPeriodicDates2  {
o String
 id optional
}

/**
 * 
 */
concept AdjustedPaymentDates  {
o DateTime
 adjustedPaymentDate 
}

/**
 * A type defining a date (referred to as the derived date) as a relative offset from another date (referred to as the anchor date) plus optional date adjustments.
 */
concept AdjustedRelativeDateOffset  extends RelativeDateOffset {

}

/**
 * A structure used to describe an adjustment.
 */
concept Adjustment  {
o AmountAdjustmentEnum adjustmentType 
}

/**
 * Information about whether and when a product was admitted to trading on a facility.
 */
concept AdmissionToTrading  {
o Boolean
 requested 
o DateTime
 requestDate optional
o DateTime
 approvalDate optional
o DateTime
 admissionDate optional
o DateTime
 terminationDate optional
}

/**
 * 
 */
concept AffectedTransactions  {
o String
[] tradeOrTradeReferenceModel optional
}

/**
 * 
 */
concept Algorithm  {
o String
 name 
}

/**
 * A type describing a role played by an algorithm in one or more transactions. Examples include roles such as TradingDecision, RoutingDecision. This can be extended to provide custom roles.
 */
concept AlgorithmRole  {
o String
 value optional
o String
 algorithmRoleScheme optional
}

/**
 * 
 */
concept Allocation  {
o Double
 allocatedFraction optional
o DateTime
 masterConfirmationDate optional
}

/**
 * A message indicating that a request to allocate a trade has been approved by the sender.
 */
concept AllocationApproved  extends ResponseMessage {

}

/**
 * A message indicating that a request to allocate a trade has been refused by the sender.
 */
concept AllocationRefused  extends ResponseMessage {

}

/**
 * Code that describes what type of allocation applies to the trade. Options include Unallocated, PreAllocation, PostAllocation.
 */
concept AllocationReportingStatus  {
o String
 value optional
o String
 allocationReportingStatusScheme optional
}

/**
 * The allocations for a single side of a trade.
 */
concept Allocations  {

}

/**
 * A fee charged to the borrower for an amendment being made to the originally agreed credit agreement. The fee is based on a rate (as stated in the agreement) applied to the current commitment level. Calculated as a percentage of the unutilized portion of the facility.
 */
concept AmendmentFeePayment  extends NonRecurringFeePayment {

}

/**
 * A type defining the exercise period for an American style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.
 */
concept AmericanExercise  extends Exercise {

}

/**
 * A type defining a nominal amount with a reference.
 */
concept AmountRef  {
o Double
 amount 
}

/**
 * Specifies a reference to a monetary amount.
 */
concept AmountReference  extends Reference {
o String
 href 
}

/**
 * A type defining a currency amount or a currency amount schedule.
 */
concept AmountSchedule  extends Schedule {

}

/**
 * A reference to an asset, e.g. a portfolio, trade, or reference instrument..
 */
concept AnyAssetReference  extends Reference {
o String
 href 
}

/**
 * A structure that defines the assets (or type of assets) that a particular payment profile may be associated with.
 */
concept ApplicableAssets  {

}

/**
 * A structure that defines the assets (or type of assets) that a particular set of communication details may be associated with.
 */
concept ApplicableCommunicationDetails  extends AbstractApplicablePartyProfileObjects {

}

/**
 * A scheme that describes the purpose of a contact in relation to an asset or assets.
 */
concept ApplicablePurpose  {
o String
 value optional
o String
 applicablePurposeScheme optional
}

/**
 * A structure that defines the assets (or type of assets) that a particular set of settlement instrution details may be associated with.
 */
concept ApplicableSettlementInstructionDetails  extends AbstractApplicablePartyProfileObjects {

}

/**
 * A scheme that describes transaction types.
 */
concept ApplicableTransactionType  {
o String
 value optional
o String
 applicableTransactionTypeScheme optional
}

/**
 * A specific approval state in the workflow.
 */
concept Approval  {
o String
 status 
}

/**
 * An approval identifier allocated by a party. FpML does not define the domain values associated with this element.
 */
concept ApprovalId  {
o String
 value optional
o String
 approvalIdScheme optional
o String
 id optional
}

/**
 * 
 */
concept Approvals  {

}

/**
 * A message describing the approvals currently applied to the trade and their status (e.g. pending, approved, refused).
 */
concept ApprovalStatusNotification  extends NotificationMessage {

}

/**
 * A type that qualifies the type of approval.
 */
concept ApprovalType  {
o String
 value optional
o String
 approvalTypeScheme optional
}

/**
 * As per ISDA 2002 Definitions.
 */
concept Asian  {
o AveragingInOutEnum averagingInOut 
o Double
 strikeFactor optional
}

/**
 * Abstract base class for all underlying assets.
 */
abstract concept AAsset  {
o String
 id optional
}

/**
 * 
 */
concept AssetClass  {
o String
 value optional
o String
 assetClassScheme optional
}

/**
 * A scheme identifying the types of measures that can be used to describe an asset.
 */
concept AssetMeasureType  {
o String
 value optional
o String
 assetMeasureScheme optional
}

/**
 * Reference to an underlying asset, term point or pricing structure (yield curve).
 */
concept AssetOrTermPointOrPricingStructureReference  extends Reference {
o String
 href 
}

/**
 * Characterise the asset pool behind an asset backed bond.
 */
concept AssetPool  {
o Integer
 version optional
o Double
 initialFactor 
o Double
 currentFactor optional
}

/**
 * Reference to an underlying asset.
 */
concept AssetReference  extends Reference {

}

/**
 * A structure that holds a set of measures about an asset, including possibly their sensitivities.
 */
concept AssetValuation  extends Valuation {

}

/**
 * A structure that defines an association identifier based on a qualifying scheme.
 */
concept AssociationToAssetId  {
o String
 value optional
o String
 associationToAssetIdScheme 
}

/**
 * A type defining an association between party or settlement information with an asset or assets
 */
concept AssociationToAssetIdentifier  {
o String
 id optional
}

/**
 * A type to define automatic exercise of a swaption. With automatic exercise the option is deemed to have exercised if it is in the money by more than the threshold amount on the exercise date.
 */
concept AutomaticExercise  {
o Double
 thresholdRate 
}

/**
 * To indicate the limitation percentage and limitation period.
 */
concept AverageDailyTradingVolumeLimit  {
o Double
 limitationPercentage 
o Integer
 limitationPeriod 
}

/**
 * The average price leg of an average price commodity bullion or non-precious metal forward transaction.
 */
concept AveragePriceLeg  extends CommoditySwapLeg {
o Boolean
 masterAgreementPaymentDates optional
}

/**
 * An un ordered list of weighted averaging observations.
 */
concept AveragingObservationList  {

}

/**
 * Period over which an average value is taken.
 */
concept AveragingPeriod  {

}

/**
 * Method of generating a series of dates.
 */
concept AveragingSchedule  {
o DateTime
 startDate 
o DateTime
 endDate 
}

/**
 * 
 */
concept BankruptcyEvent  extends CreditEvent {

}

/**
 * As per ISDA 2002 Definitions.
 */
concept Barrier  {

}

/**
 * A structure that holds a set of measures about an asset.
 */
concept BasicAssetValuation  extends Valuation {

}

/**
 * Some kind of numerical measure about an asset, eg. its NPV, together with characteristics of that measure.
 */
concept BasicQuotation  {
o Double
 value optional
o QuotationSideEnum side optional
o DateTime
 time optional
o DateTime
 valuationDate optional
o DateTime
 expiryTime optional
o String
 id optional
}

/**
 * A type describing the underlyer features of a basket swap. Each of the basket constituents are described through an embedded component, the basketConstituentsType.
 */
concept Basket  extends AAsset {
o Double
 openUnits optional
o Double
 basketDivisor optional
o Integer
 basketVersion optional
}

/**
 * A structure indicating that the basket underlyer of the trade has changed due to client trading activity
 */
concept BasketChangeEvent  extends ChangeEvent {

}

/**
 * A type describing each of the constituents of a basket.
 */
concept BasketConstituent  {
o String
 underlyingAssetGroup 
o String
 id optional
}

/**
 * 
 */
concept BasketId  {
o String
 value optional
o String
 basketIdScheme optional
}

/**
 * 
 */
concept BasketName  {
o String
 value optional
o String
 basketNameScheme optional
}

/**
 * CDS Basket Reference Information
 */
concept BasketReferenceInformation  {
o Integer
 nthToDefault optional
o Integer
 mthToDefault optional
}

/**
 * A type defining the beneficiary of the funds.
 */
concept Beneficiary  {

}

/**
 * A type defining the Bermuda option exercise dates and the expiration date together with any rules govenerning the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fee.
 */
concept BermudaExercise  extends Exercise {

}

/**
 * An exchange traded bond.
 */
concept Bond  extends UnderlyingAsset {
o String
 issuerName optional
o Double
 couponRate optional
o DateTime
 maturity optional
o Double
 parValue optional
o Double
 faceAmount optional
}

/**
 * A Bond Option
 */
concept BondOption  extends OptionBaseExtended {

}

/**
 * A complex type to specify the strike of a bond or convertible bond option.
 */
concept BondOptionStrike  {

}

/**
 * A type including a reference to a bond to support the representation of an asset swap or Condition Precedent Bond.
 */
concept BondReference  {
o Boolean
 conditionPrecedentBond 
o Boolean
 discrepancyClause optional
}

/**
 * An event representing the fact that a new loan contract (funded borrowing) has been requested by the borrower.
 */
concept Borrowing  extends AbstractLoanContractEvent {
o ConditionsPrecedentMetEnum conditionsPrecedentMet optional
}

/**
 * A type describing correlation bounds, which form a cap and a floor on the realized correlation.
 */
concept BoundedCorrelation  {
o Double
 minimumBoundaryPercent optional
o Double
 maximumBoundaryPercent optional
}

/**
 * A type describing variance bounds, which are used to exclude money price values outside of the specified range In a Up Conditional Swap Underlyer price must be equal to or higher than Lower Barrier In a Down Conditional Swap Underlyer price must be equal to or lower than Upper Barrier In a Corridor Conditional Swap Underlyer price must be equal to or higher than Lower Barrier and must be equal to or lower than Upper Barrier.
 */
concept BoundedVariance  {
o RealisedVarianceMethodEnum realisedVarianceMethod 
o Boolean
 daysInRangeAdjustment 
o Double
 upperBarrier optional
o Double
 lowerBarrier optional
}

/**
 * A fee calculated as the cost of breaking financing against a loan contract which is repaid early.
 */
concept BreakageFeePayment  extends NonRecurringFeePayment {
o DateTime
 breakageFeeClaimDate optional
o BreakageCalculatedByEnum breakageFeeCalculatedBy optional
}

/**
 * Identifies the market sector in which the trade has been arranged.
 */
concept BrokerConfirmation  {

}

/**
 * Identifies the market sector in which the trade has been arranged.
 */
concept BrokerConfirmationType  {
o String
 value optional
o String
 brokerConfirmationTypeScheme optional
}

/**
 * A type for defining the broker equity options.
 */
concept BrokerEquityOption  extends EquityDerivativeShortFormBase {
o Boolean
 deltaCrossed 
o String
 brokerNotes 
}

/**
 * A product to represent a single cashflow.
 */
concept BulletPayment  extends Product {

}

/**
 * A scheme defining where bullion is to be delivered for a Bullion Transaction.
 */
concept BullionDeliveryLocation  {
o String
 value optional
o String
 bullionDeliveryLocationScheme optional
}

/**
 * Physically settled leg of a physically settled Bullion Transaction.
 */
concept BullionPhysicalLeg  extends PhysicalForwardLeg {
o BullionTypeEnum bullionType 
}

/**
 * A code identifying a business day calendar location. A business day calendar location is drawn from the list identified by the business day calendar location scheme.
 */
concept BusinessCenter  {
o String
 value optional
o String
 businessCenterScheme optional
o String
 id optional
}

/**
 * A type for defining business day calendar used in determining whether a day is a business day or not. A list of business day calendar locations may be ordered in the document alphabetically based on business day calendar location code. An FpML document containing an unordered business day calendar location list is still regarded as a conformant document.
 */
concept BusinessCenters  {
o String
 id optional
}

/**
 * A pointer style reference to a set of business day calendar defined elsewhere in the document.
 */
concept BusinessCentersReference  extends Reference {

}

/**
 * A type for defining a time with respect to a business day calendar location. For example, 11:00am London time.
 */
concept BusinessCenterTime  {
o HourMinuteTime hourMinuteTime 
}

/**
 * A type defining a range of contiguous business days by defining an unadjusted first date, an unadjusted last date and a business day convention and business centers for adjusting the first and last dates if they would otherwise fall on a non business day in the specified business centers. The days between the first and last date must also be good business days in the specified centers to be counted in the range.
 */
concept BusinessDateRange  extends DateRange {
o BusinessDayConventionEnum businessDayConvention 
}

/**
 * A type defining the business day convention and financial business centers used for adjusting any relevant date if it would otherwise fall on a day that is not a business day in the specified business centers.
 */
concept BusinessDayAdjustments  {
o BusinessDayConventionEnum businessDayConvention 
o String
 id optional
}

/**
 * Reference to a business day adjustments structure.
 */
concept BusinessDayAdjustmentsReference  extends Reference {

}

/**
 * A type defining an event identifier issued by the indicated party.
 */
concept BusinessEventIdentifier  {
o String
 id optional
}

/**
 * A type that can be used to identify the type of business process in a request. Examples include Allocation, Clearing, Confirmation, etc.
 */
concept BusinessProcess  {
o String
 value optional
o String
 businessProcessScheme optional
}

/**
 * A type that represents information about a unit within an organization.
 */
concept BusinessUnit  {
o String
 name optional
o String
 id optional
}

/**
 * Reference to an organizational unit.
 */
concept BusinessUnitReference  extends Reference {

}

/**
 * A type describing a role played by a unit in one or more transactions. Examples include roles such as Trader, Collateral, Confirmation, Settlement, etc. This can be extended to provide custom roles.
 */
concept BusinessUnitRole  {
o String
 value optional
o String
 unitRoleScheme optional
}

/**
 * A structure that defines the buyer and seller amounts of a payable.
 */
concept BuyerSellerAmounts  {

}

/**
 * An abstract base class for all calculated money amounts, which are in the currency of the cash multiplier of the calculation.
 */
abstract concept CalculatedAmount  {
o Boolean
 optionsExchangeDividends optional
o Boolean
 additionalDividends optional
o Boolean
 allDividends optional
}

/**
 * A type definining the parameters used in the calculation of fixed or floating calculation period amounts.
 */
concept Calculation  {
o String
 rateCalculationGroup optional
o CompoundingMethodEnum compoundingMethod optional
}

/**
 * A type defining the ISDA calculation agent responsible for performing duties as defined in the applicable product definitions.
 */
concept CalculationAgent  {
o CalculationAgentPartyEnum calculationAgentParty optional
}

/**
 * 
 */
concept CalculationAmount  extends Money {

}

/**
 * Abstract base class for all calculation from observed values.
 */
abstract concept CalculationFromObservation  {
o Double
 initialLevel optional
o Boolean
 closingLevel optional
o Boolean
 expiringLevel optional
o Integer
 expectedN optional
}

/**
 * A type defining the parameters used in the calculation of a fixed or floating rate calculation period amount. This type forms part of cashflows representation of a swap stream.
 */
concept CalculationPeriod  {
o DateTime
 unadjustedStartDate optional
o DateTime
 unadjustedEndDate optional
o DateTime
 adjustedStartDate optional
o DateTime
 adjustedEndDate optional
o Integer
 calculationPeriodNumberOfDays optional
o Double
 notionalAmount optional
o Double
 fixedRate optional
o Double
 dayCountYearFraction optional
o Double
 forecastRate optional
o String
 id optional
}

/**
 * A type defining the parameters used in the calculation of fixed or floating rate calculation period amounts or for specifying a known calculation period amount or known amount schedule.
 */
concept CalculationPeriodAmount  {

}

/**
 * A type defining the parameters used to generate the calculation period dates schedule, including the specification of any initial or final stub calculation periods. A calculation perod schedule consists of an optional initial stub calculation period, one or more regular calculation periods and an optional final stub calculation period. In the absence of any initial or final stub calculation periods, the regular part of the calculation period schedule is assumed to be between the effective date and the termination date. No implicit stubs are allowed, i.e. stubs must be explicitly specified using an appropriate combination of firstPeriodStateDate, firstRegularPeriodStartDate and lastRegularPeriodEndDate.
 */
concept CalculationPeriodDates  {
o DateTime
 firstRegularPeriodStartDate optional
o DateTime
 firstCompoundingPeriodEndDate optional
o DateTime
 lastRegularPeriodEndDate optional
o StubPeriodTypeEnum stubPeriodType optional
o String
 id 
}

/**
 * Reference to a calculation period dates component.
 */
concept CalculationPeriodDatesReference  extends Reference {

}

/**
 * A type defining the frequency at which calculation period end dates occur within the regular part of the calculation period schedule and thier roll date convention. In case the calculation frequency is of value T (term), the period is defined by the swap\swapStream\calculationPerioDates\effectiveDate and the swap\swapStream\calculationPerioDates\terminationDate.
 */
concept CalculationPeriodFrequency  extends Frequency {
o RollConventionEnum rollConvention 
}

/**
 * A pointer style reference to single-day-duration calculation periods defined elsewhere - note that this schedule consists of a parameterised schedule in a calculationPeriodsSchedule container.
 */
concept CalculationPeriodsDatesReference  extends Reference {

}

/**
 * A pointer style reference to a calculation periods schedule defined elsewhere - note that this schedule consists of a series of actual dates in a calculationPeriods container.
 */
concept CalculationPeriodsReference  extends Reference {

}

/**
 * A pointer style reference to a calculation periods schedule defined elsewhere - note that this schedule consists of a parameterised schedule in a calculationPeriodsSchedule container.
 */
concept CalculationPeriodsScheduleReference  extends Reference {

}

/**
 * A type for defining a calendar spread feature.
 */
concept CalendarSpread  {

}

/**
 * A type defining the right of a party to cancel a swap transaction on the specified exercise dates. The provision is for 'walkaway' cancellation (i.e. the fair value of the swap is not paid). A fee payable on exercise can be specified.
 */
concept CancelableProvision  {
o String
 exerciseGroup 
o Boolean
 followUpConfirmation 
}

/**
 * A type to define the adjusted dates for a cancelable provision on a swap transaction.
 */
concept CancelableProvisionAdjustedDates  {

}

/**
 * The adjusted dates for a specific cancellation date, including the adjusted exercise date and adjusted termination date.
 */
concept CancellationEvent  {
o DateTime
 adjustedExerciseDate 
o DateTime
 adjustedEarlyTerminationDate 
o String
 id optional
}

/**
 * A type defining an interest rate cap, floor, or cap/floor strategy (e.g. collar) product.
 */
concept CapFloor  extends Product {

}

/**
 * 
 */
concept Cash  extends AAsset {
o String
 description optional
}

/**
 * An identifier used to identify a single component cashflow.
 */
concept CashflowId  {
o String
 value optional
o String
 cashflowIdScheme optional
}

/**
 * The notional/principal value/quantity/volume used to compute the cashflow.
 */
concept CashflowNotional  {
o String
 units optional
o Double
 amount 
o String
 id optional
}

/**
 * A type defining the cashflow representation of a swap trade.
 */
concept Cashflows  {
o Boolean
 cashflowsMatchParameters 
}

/**
 * A coding scheme used to describe the type or purpose of a cash flow or cash flow component.
 */
concept CashflowType  {
o String
 value optional
o String
 cashflowTypeScheme optional
}

/**
 * A structure taht represents payable cash, together with reference to any withholding tax being applied. This is used as a generic cash flow container across all loan business events (within the event header).
 */
concept CashPayable  {

}

/**
 * A type defining the parameters necessary for each of the ISDA cash price methods for cash settlement.
 */
concept CashPriceMethod  {
o QuotationRateTypeEnum quotationRateType 
}

/**
 * A type to define the cash settlement terms for a product where cash settlement is applicable.
 */
concept CashSettlement  {
o String
 id optional
}

/**
 * A type defining the cash settlement payment date(s) as either a set of explicit dates, together with applicable adjustments, or as a date relative to some other (anchor) date, or as any date in a range of contiguous business days.
 */
concept CashSettlementPaymentDate  {
o String
 id optional
}

/**
 * A type defining the list of reference institutions polled for relevant rates or prices when determining the cash settlement amount for a product where cash settlement is applicable.
 */
concept CashSettlementReferenceBanks  {
o String
 id optional
}

/**
 * 
 */
concept CashSettlementTerms  extends SettlementTerms {
o QuotationRateTypeEnum quotationMethod optional
o String
[] dealer optional
o Integer
 cashSettlementBusinessDays optional
o Double
 recoveryFactor optional
o Boolean
 fixedSettlement optional
o Boolean
 accruedInterest optional
o ValuationMethodEnum valuationMethod optional
}

/**
 * Abstract base type for non-negotiated trade change descriptions
 */
abstract concept ChangeEvent  extends AbstractEvent {

}

/**
 * A classified non negative payment.
 */
concept ClassifiablePayment  extends NonNegativePayment {

}

/**
 * Unless otherwise specified, the principal clearance system customarily used for settling trades in the relevant underlying.
 */
concept ClearanceSystem  {
o String
 value optional
o String
 clearanceSystemScheme optional
}

/**
 * A structure describing a trade registration event that is part of a clearing process.
 */
concept Clearing  {

}

/**
 * A message indicating that a clearing request has been acted on and as a result a trade has been cleared.
 */
concept ClearingConfirmed  extends NotificationMessage {
o String
 additionalEventGroup optional
}

/**
 * 
 */
concept ClearingEligibility  extends ResponseMessage {
o String
 additionalEventGroup optional
o Boolean
 eligibleForClearing 
}

/**
 * The reason a trade is exempted from a clearing mandate.
 */
concept ClearingExceptionReason  {
o String
 value optional
o String
 clearingExceptionReasonScheme optional
}

/**
 * 
 */
concept ClearingInstructions  {

}

/**
 * A message indicating that a clearing request has not been acted on due to a business decision and therefore no trade has been cleared.
 */
concept ClearingRefused  extends NotificationMessage {
o String
 additionalEventGroup optional
}

/**
 * 
 */
concept ClearingRequirements  {
o Boolean
 mandatorilyClearable 
}

/**
 * A message providing the current status of a clearing request.
 */
concept ClearingStatus  extends NotificationMessage {

}

/**
 * A component of a clearing status report. This provides the clearing status for a single trade.
 */
concept ClearingStatusItem  {
o DateTime
 updatedDateTime optional
}

/**
 * The current status value of a clearing request.
 */
concept ClearingStatusValue  {
o String
 value optional
o String
 clearingStatusScheme optional
}

/**
 * The different options for specifying the attributes of a coal quality measure as a decimal value.
 */
concept CoalAttributeDecimal  {
o Double
 standardContent optional
o Double
 rejectionLimit optional
o Double
 rejectionLimit1 optional
}

/**
 * The different options for specifying the attributes of a coal quality measure as a percentage of the measured value.
 */
concept CoalAttributePercentage  {
o Double
 standardContent optional
o Double
 rejectionLimit optional
o Double
 rejectionLimit1 optional
}

/**
 * The physical delivery conditions for coal.
 */
concept CoalDelivery  {
o Boolean
 deliveryAtSource optional
o Boolean
 quantityVariationAdjustment optional
}

/**
 * A scheme identifying the types of the Delivery Point for a physically settled coal trade.
 */
concept CoalDeliveryPoint  {
o String
 value optional
o String
 deliveryPointScheme optional
}

/**
 * Physically settled leg of a physically settled coal transaction.
 */
concept CoalPhysicalLeg  extends PhysicalSwapLeg {

}

/**
 * A type defining the characteristics of the coal being traded in a physically settled gas transaction.
 */
concept CoalProduct  {
o Boolean
 sCoTASpecifications optional
}

/**
 * A scheme identifying the sources of coal for a physically settled coal trade.
 */
concept CoalProductSource  {
o String
 value optional
o String
 commodityCoalProductSourceScheme optional
}

/**
 * The different options for specifying the quality attributes of the coal to be delivered.
 */
concept CoalProductSpecifications  {

}

/**
 * A scheme identifying the types of coal for a physically settled coal trade.
 */
concept CoalProductType  {
o String
 value optional
o String
 commodityCoalProductTypeScheme optional
}

/**
 * A scheme identifying the quality adjustment formulae for a physically settled coal trade.
 */
concept CoalQualityAdjustments  {
o String
 value optional
o String
 commodityCoalQualityAdjustmentsScheme optional
}

/**
 * The quality attributes of the coal to be delivered.
 */
concept CoalStandardQuality  {

}

/**
 * The quality attributes of the coal to be delivered, specified on a periodic basis.
 */
concept CoalStandardQualitySchedule  {

}

/**
 * A scheme identifying the methods by which coal may be transported.
 */
concept CoalTransportationEquipment  {
o String
 value optional
o String
 commodityCoalTransportationEquipmentScheme optional
}

/**
 * A type for defining the obligations of the counterparty subject to credit support requirements.
 */
concept Collateral  {

}

/**
 * 
 */
concept CollateralAllocationAccepted  extends ResponseMessage {

}

/**
 * Code that describes what type of collateral is posted by a party to a transaction. Options include Uncollateralized, Partial, Full, One-Way.
 */
concept CollateralizationType  {
o String
 value optional
o String
 collateralTypeScheme optional
}

/**
 * 
 */
concept CollateralProfile  {
o String
 value optional
o String
 collateralProfileScheme optional
}

/**
 * 
 */
concept CollateralType  {
o String
 value optional
o String
 collateralTypeScheme optional
}

/**
 * This type is used in Repo trades, to specify the valuation of a specific piece of collateral in the transaction.
 */
concept CollateralValuation  {
o Double
 cleanPrice optional
o Double
 accruals optional
o Double
 dirtyPrice optional
o Double
 dirtyPrice1 optional
o Double
 yieldToMaturity optional
o Double
 inflationFactor optional
o Double
 allInPrice optional
o Double
 numberOfUnits optional
}

/**
 * 
 */
concept CollateralValueAllocation  {
o CollateralValueAllocationEnum type 
}

/**
 * A type describing the commission that will be charged for each of the hedge transactions.
 */
concept Commission  {
o CommissionDenominationEnum commissionDenomination 
o Double
 commissionAmount 
o Double
 commissionPerTrade optional
}

/**
 * An event defining a future change in facility commitment.
 */
concept CommitmentAdjustment  extends AbstractFacilityEvent {
o Boolean
 refusalAllowed 
o Boolean
 scheduled 
o Boolean
 pik 
}

/**
 * A structure which specifies the commitment changes occurring throughout the life of a facility.
 */
concept CommitmentChange  {
o DateTime
 date 
}

/**
 * A structure that represents a complete amortization schedule through the life of a facility.
 */
concept CommitmentSchedule  {

}

/**
 * A type describing a commodity underlying asset.
 */
concept Commodity  extends IdentifiedAsset {
o SpecifiedPriceEnum specifiedPrice 
o DeliveryDatesEnum deliveryDates optional
o DateTime
 deliveryDateYearMonth optional
o Double
 multiplier optional
}

/**
 * A type for defining exercise procedures associated with an American style exercise of a commodity option.
 */
concept CommodityAmericanExercise  extends Exercise {

}

/**
 * The specification of how a barrier option will trigger (that is, knock-in or knock-out) or expire based on the position of the spot rate relative to trigger level.
 */
concept CommodityBarrier  {
o CommodityKnockEnum knock 
}

/**
 * 
 */
concept CommodityBase  {
o String
 value optional
o String
 commodityBaseScheme optional
}

/**
 * Describes the swap's underlyer when it has multiple asset components.
 */
concept CommodityBasket  {

}

/**
 * Abstract base class for all underlying assets.
 */
abstract concept CommodityBasketBase  {
o String
 id optional
}

/**
 * 
 */
concept CommodityBasketByNotional  extends CommodityBasketBase {

}

/**
 * 
 */
concept CommodityBasketByPercentage  extends CommodityBasketBase {

}

/**
 * 
 */
concept CommodityBasketOption  extends Option {
o PutCallEnum optionType 
o Boolean
 commonPricing optional
o CommodityBullionSettlementDisruptionEnum settlementDisruption optional
}

/**
 * 
 */
concept CommodityBasketUnderlyingBase  {
o PayerReceiverEnum direction 
o AveragingMethodEnum averagingMethod optional
o String
 id optional
}

/**
 * 
 */
concept CommodityBasketUnderlyingByNotional  extends CommodityBasketUnderlyingBase {
o Double
 conversionFactor optional
o Double
 totalNotionalQuantity optional
}

/**
 * 
 */
concept CommodityBasketUnderlyingByPercentage  extends CommodityBasketUnderlyingBase {
o Double
 constituentWeight optional
}

/**
 * Defines a commodity business day calendar.
 */
concept CommodityBusinessCalendar  {
o String
 value optional
o String
 commodityBusinessCalendarScheme optional
}

/**
 * A parametric representation of the Calculation Periods for on Asian option or a leg of a swap. In case the calculation frequency is of value T (term), the period is defined by the commoditySwap\effectiveDate and the commoditySwap\terminationDate.
 */
concept CommodityCalculationPeriodsSchedule  extends Frequency {
o Boolean
 balanceOfFirstPeriod 
}

/**
 * The different options for specifying the Delivery Periods of a physical leg.
 */
concept CommodityDeliveryPeriods  {
o String
 id optional
}

/**
 * A scheme identifying the types of the Delivery Point for a physically settled commodity trade.
 */
concept CommodityDeliveryPoint  {
o String
 value optional
o String
 deliveryPointScheme optional
}

/**
 * A scheme identifying how the parties to the trade aportion responsibility for the delivery of the commodity product (for example Free On Board, Cost, Insurance, Freight)
 */
concept CommodityDeliveryRisk  {
o String
 value optional
o String
 deliveryRiskScheme optional
}

/**
 * 
 */
concept CommodityDetails  {
o String
 value optional
o String
 commodityDetailsScheme optional
}

/**
 * Defined the conditions under which the digital option can triggers and, if triggered, what payment results.
 */
concept CommodityDigital  {

}

/**
 * The parameters for defining how the commodity digital option can be exercised. It differs from the CommodityExercise type in that it lacks a specification of Settlement Currency. The Settlement Currency is specified in the 'featurePayment' element.
 */
concept CommodityDigitalExercise  {
o Boolean
 automaticExercise optional
o Boolean
 writtenConfirmation optional
o Boolean
 masterAgreementPaymentDates optional
}

/**
 * Defines the digital commodity option product type. Digital options exercise when a barrier is breached and are financially settled. The 'commodityDigitalOption' type is an extension of the 'commodityOption' product.
 */
concept CommodityDigitalOption  extends Option {
o PutCallEnum optionType 
o AveragingMethodEnum averagingMethod optional
o Double
 totalNotionalQuantity optional
o Boolean
 commonPricing optional
o CommodityBullionSettlementDisruptionEnum settlementDisruption optional
}

/**
 * A type for defining exercise procedures associated with a European style exercise of a commodity option.
 */
concept CommodityEuropeanExercise  extends Exercise {

}

/**
 * The parameters for defining how the commodity option can be exercised, how it is priced and how it is settled.
 */
concept CommodityExercise  {
o Boolean
 automaticExercise optional
o Boolean
 writtenConfirmation optional
o Double
 conversionFactor optional
o Boolean
 masterAgreementPaymentDates optional
}

/**
 * The parameters for defining how the commodity option can be exercised, how it is priced and how it is settled.
 */
concept CommodityExerciseBasket  {
o Boolean
 automaticExercise optional
o Boolean
 writtenConfirmation optional
o Boolean
 masterAgreementPaymentDates optional
}

/**
 * 
 */
concept CommodityExercisePeriods  {

}

/**
 * A scheme identifying the physical event relative to which option expiration occurs.
 */
concept CommodityExpireRelativeToEvent  {
o String
 value optional
o String
 commodityExpireRelativeToEventScheme optional
}

/**
 * 
 */
concept CommodityFixedInterestCalculation  {

}

/**
 * The Fixed Price for a given Calculation Period during the life of the trade. There must be a Fixed Price step specified for each Calculation Period, regardless of whether the Fixed Price changes or remains the same between periods.
 */
concept CommodityFixedPriceSchedule  {
o Double
[] worldscaleRateStep optional
}

/**
 * Commodity Forward
 */
concept CommodityForward  extends Product {
o String
 commodityForwardLegGroup 
o Boolean
 commonPricing optional
o CommodityBullionSettlementDisruptionEnum settlementDisruption optional
}

/**
 * Abstract base class for all commodity forward legs.
 */
abstract concept CommodityForwardLeg  extends Leg {

}

/**
 * Frequency Type for use in Pricing Date specifications.
 */
concept CommodityFrequencyType  {
o String
 value optional
o String
 commodityFrequencyTypeScheme optional
}

/**
 * A type defining the FX observations to be used to convert the observed Commodity Reference Price to the Settlement Currency. The rate source must be specified. Additionally, a time for the spot price to be observed on that source may be specified, or else an averaging schedule for trades priced using an average FX rate.
 */
concept CommodityFx  {
o AveragingMethodEnum averagingMethod optional
o CommodityDayTypeEnum dayType optional
o Integer
 dayCount optional
o DayOfWeekEnum[] dayOfWeek optional
o Integer
 dayNumber optional
o BusinessDayConventionEnum businessDayConvention optional
}

/**
 * Identifes how the FX rate will be applied. This is intended to differentiate between the various methods for applying FX to the floating price such as a daily calculation, or averaging the FX and applying the average at the end of each CalculationPeriod.
 */
concept CommodityFxType  {
o String
 value optional
o String
 commodityFxTypeScheme optional
}

/**
 * A type defining a hub or other reference for a physically settled commodity trade.
 */
concept CommodityHub  {

}

/**
 * A scheme identifying the code for a hub or other reference for a physically settled commodity trade.
 */
concept CommodityHubCode  {
o String
 value optional
o String
 hubCodeScheme 
}

/**
 * The publication in which the rate, price, index or factor is to be found. (e.g Gas Daily, Platts Bloomberg.)
 */
concept CommodityInformationProvider  {
o String
 value optional
o String
 informationProviderScheme optional
}

/**
 * A type defining the source of a commodity rate, price or index or of a market rate or of a conversion factor (e.g. a fx conversion factor).
 */
concept CommodityInformationSource  {
o String
 rateSourcePageHeading optional
}

/**
 * A type describing the interest rate leg (a.k.a fee leg) of the commodity performance swap.
 */
concept CommodityInterestLeg  extends CommodityPerformanceSwapLeg {
o Boolean
 masterAgreementPaymentDates optional
}

/**
 * ISDA 1993 or 2005 commodity market disruption elements.
 */
concept CommodityMarketDisruption  {
o MarketDisruptionEventsEnum marketDisruptionEvents optional
o DisruptionFallbacksEnum disruptionFallbacks optional
o Integer
 maximumNumberOfDaysOfDisruption optional
o Double
 priceMaterialityPercentage optional
o Integer
 minimumFuturesContracts optional
}

/**
 * 
 */
concept CommodityMetalBrand  {

}

/**
 * 
 */
concept CommodityMetalBrandManager  {
o String
 value optional
o String
 commodityMetalBrandManagerScheme optional
}

/**
 * The name of the entity that issues the brand
 */
concept CommodityMetalBrandName  {
o String
 value optional
o String
 commodityMetalBrandNameScheme optional
}

/**
 * 
 */
concept CommodityMetalGrade  {
o String
 value optional
o String
 commodityMetalGradeScheme optional
}

/**
 * 
 */
concept CommodityMetalProducer  {
o String
 value optional
o String
 commodityMetalProducerScheme optional
}

/**
 * 
 */
concept CommodityMetalShape  {
o String
 value optional
o String
 commodityMetalShapeScheme optional
}

/**
 * A type for defining the multiple exercise provisions of an American style commodity option.
 */
concept CommodityMultipleExercise  {

}

/**
 * A complex type to specify the notional amount.
 */
concept CommodityNotionalAmount  extends NonNegativeMoney {
o Boolean
 reinvestmentFeature 
}

/**
 * A reference to the return swap notional amount.
 */
concept CommodityNotionalAmountReference  extends Reference {

}

/**
 * Commodity Notional.
 */
concept CommodityNotionalQuantity  {
o Double
 quantity 
o String
 id optional
}

/**
 * The Notional Quantity per Calculation Period. There must be a Notional Quantity step specified for each Calculation Period, regardless of whether the Notional Quantity changes or remains the same between periods.
 */
concept CommodityNotionalQuantitySchedule  {
o String
 id optional
}

/**
 * Defines a commodity option product type. The product support for financially-settled exercises or exercise into physical forward contracts written on precious and non-precious metals. options in FpML is based on the creation of a 'commodityOption' product. The product references the 'commodity' underlyer in order to support the underlying asset of the option.
 */
concept CommodityOption  extends Product {
o PutCallEnum optionType 
o AveragingMethodEnum averagingMethod optional
o Double
 totalNotionalQuantity optional
o Boolean
 commonPricing optional
o CommodityBullionSettlementDisruptionEnum settlementDisruption optional
}

/**
 * A scheme identifying the physical event relative to which payment occurs.
 */
concept CommodityPayRelativeToEvent  {
o String
 value optional
o String
 commodityPayRelativeToEventScheme optional
}

/**
 * A type describing a commodity performance swap in which one leg pays out based on the return on a reference commodity index or commodity reference price.
 */
concept CommodityPerformanceSwap  extends CommodityPerformanceSwapBase {

}

/**
 * A product with which to represent return swaps, total return swaps and excess return swaps.
 */
abstract concept CommodityPerformanceSwapBase  extends Product {
o String
[] commodityPerformanceSwapLegGroup 
o Boolean
 commonPricing optional
o CommodityBullionSettlementDisruptionEnum settlementDisruption optional
}

/**
 * 
 */
concept CommodityPerformanceSwapEarlyTermination  {

}

/**
 * Abstract base class for all commodity performance swap legs.
 */
abstract concept CommodityPerformanceSwapLeg  extends Leg {

}

/**
 * The parameters for defining the expiration date(s) and time(s) for an American style option.
 */
concept CommodityPhysicalAmericanExercise  extends Exercise {

}

/**
 * The parameters for defining the expiration date(s) and time(s) for a European style option.
 */
concept CommodityPhysicalEuropeanExercise  extends Exercise {

}

/**
 * The parameters for defining how the physically-settled commodity option can be exercised and how it is settled.
 */
concept CommodityPhysicalExercise  {
o Boolean
 automaticExercise optional
o Boolean
 writtenConfirmation optional
}

/**
 * A type defining the physical quantity of the commodity to be delivered.
 */
concept CommodityPhysicalQuantity  extends CommodityPhysicalQuantityBase {

}

/**
 * An abstract base class for physical quantity types.
 */
abstract concept CommodityPhysicalQuantityBase  {
o String
 id optional
}

/**
 * The Quantity per Delivery Period. There must be a Quantity step specified for each Delivery Period, regardless of whether the Quantity changes or remains the same between periods.
 */
concept CommodityPhysicalQuantitySchedule  {
o String
 id optional
}

/**
 * The pipeline through which the physical commodity will be delivered.
 */
concept CommodityPipeline  {
o String
 value optional
o String
 pipelineScheme optional
}

/**
 * The pipeline cycle during which the physical commodity will be delivered.
 */
concept CommodityPipelineCycle  {
o String
 value optional
o String
 pipelineCycleScheme 
}

/**
 * The commodity option premium payable by the buyer to the seller.
 */
concept CommodityPremium  extends NonNegativePayment {

}

/**
 * The dates on which prices are observed for the underlyer.
 */
concept CommodityPricingDates  {
o CommodityDayTypeEnum dayType optional
o Integer
 dayCount optional
o DayOfWeekEnum[] dayOfWeek optional
o Integer
 dayNumber optional
o BusinessDayConventionEnum businessDayConvention optional
o CalendarSourceEnum calendarSource optional
o String
 id optional
}

/**
 * A scheme identifying the grade of physical commodity product to be delivered.
 */
concept CommodityProductGrade  {
o String
 value optional
o String
 productGradeScheme optional
}

/**
 * A type for defining the frequency at which the Notional Quantity is deemed to apply for purposes of calculating the Total Notional Quantity.
 */
concept CommodityQuantityFrequency  {
o String
 value optional
o String
 quantityFrequencyScheme optional
}

/**
 * The Expiration Dates of the trade relative to the Calculation Periods.
 */
concept CommodityRelativeExpirationDates  {
o String
 id optional
}

/**
 * The Payment Dates of the trade relative to the Calculation Periods.
 */
concept CommodityRelativePaymentDates  {
o CommodityPayRelativeToEnum payRelativeTo optional
o String
 id optional
}

/**
 * 
 */
concept CommodityReturnCalculation  {
o CommodityReturnCalculationFormulaEnum formula 
o Double
 initialPrice optional
}

/**
 * A type describing the return leg of a commodity return swap.
 */
concept CommodityReturnLeg  extends CommodityPerformanceSwapLeg {
o Boolean
 masterAgreementPaymentDates optional
}

/**
 * The notional quantity of electricity that applies to one or more groups of Settlement Periods.
 */
concept CommoditySettlementPeriodsNotionalQuantity  extends CommodityNotionalQuantity {

}

/**
 * The notional quantity schedule of electricity that applies to one or more groups of Settlement Periods.
 */
concept CommoditySettlementPeriodsNotionalQuantitySchedule  {

}

/**
 * The fixed price schedule for electricity that applies to one or more groups of Settlement Periods.
 */
concept CommoditySettlementPeriodsPriceSchedule  {

}

/**
 * 
 */
concept CommoditySpread  extends Money {
o Double
 spreadConversionFactor optional
}

/**
 * The Spread per Calculation Period. There must be a Spread specified for each Calculation Period, regardless of whether the Spread changes or remains the same between periods.
 */
concept CommoditySpreadSchedule  {

}

/**
 * A type specifying the date from which the early termination clause can be exercised.
 */
concept CommodityStartingDate  {

}

/**
 * The Strike Price per Unit per Calculation Period. There must be a Strike Price per Unit step specified for each Calculation Period, regardless of whether the Strike changes or remains the same between periods.
 */
concept CommodityStrikeSchedule  {

}

/**
 * The commodity swap product model is designed to support fixed-float swaps, float-float swaps, fixed vs. physical swaps, float vs. physical swaps as well as, weather specific swaps. Its design is fully compatible with other FpML products and the product reuses standard common types.
 */
concept CommoditySwap  extends Product {
o String
[] commoditySwapLegGroup optional
o Boolean
 commonPricing optional
o CommodityBullionSettlementDisruptionEnum settlementDisruption optional
}

/**
 * Abstract base class for all commodity swap legs
 */
abstract concept CommoditySwapLeg  extends Leg {

}

/**
 * Commodity Swaption.
 */
concept CommoditySwaption  extends Product {
o PutCallEnum optionType 
o Boolean
 commonPricing optional
o CommodityBullionSettlementDisruptionEnum settlementDisruption optional
}

/**
 * 
 */
concept CommoditySwaptionUnderlying  {
o String
[] commoditySwapLegGroup optional
o Boolean
 commonPricing optional
o CommodityBullionSettlementDisruptionEnum settlementDisruption optional
}

/**
 * The barrier which, when breached, triggers the knock-in or knock-out of the barrier option.
 */
concept CommodityTrigger  {
o Double
 levelQuantity optional
o Double
 levelPercentage optional
o TriggerTypeEnum triggerType 
}

/**
 * The dates on which prices are observed for the underlyer.
 */
concept CommodityValuationDates  {
o CommodityDayTypeEnum dayType optional
o Integer
 dayCount optional
o DayOfWeekEnum[] dayOfWeek optional
o Integer
 dayNumber optional
o BusinessDayConventionEnum businessDayConvention optional
o CalendarSourceEnum calendarSource optional
o String
 id optional
}

/**
 * 
 */
concept CommodityVarianceCalculation  {
o Double
 annualizationFactor 
o Boolean
 nAdjustment 
}

/**
 * A type describing the variance leg of a commodity variance swap.
 */
concept CommodityVarianceLeg  extends CommodityPerformanceSwapLeg {
o Boolean
 masterAgreementPaymentDates optional
o Double
 varianceStrikePrice optional
o Double
 volatilityStrikePrice optional
}

/**
 * Specifies the conditions to be applied for converting into a reference currency when the actual currency rate is not determined upfront.
 */
concept Composite  {

}

/**
 * Specifies the compounding method and the compounding rate.
 */
concept Compounding  {
o CompoundingMethodEnum compoundingMethod optional
o Double
 compoundingSpread optional
}

/**
 * The frequency at which a rate is compounded.
 */
concept CompoundingFrequency  {
o String
 value optional
o String
 compoundingFrequencyScheme optional
}

/**
 * A type defining a compounding rate. The compounding interest can either point back to the floating rate calculation of interest calculation node on the Interest Leg, or be defined specifically.
 */
concept CompoundingRate  {

}

/**
 * A type that shows how multiple trades have been combined into a result.
 */
concept CompressionActivity  {

}

/**
 * A type that identifies the type of trade amalgamation, for example netting or portfolio compression.
 */
concept CompressionType  {
o String
 value optional
o String
 compressionTypeScheme optional
}

/**
 * A message indicating that a confirmation has been agreed by a counterparty.
 */
concept ConfirmationAgreed  extends ResponseMessage {
o String
 additionalEventGroup optional
}

/**
 * A message indicating that a confirmation has not been agreed by a counterparty.
 */
concept ConfirmationDisputed  extends ResponseMessage {
o String
 additionalEventGroup optional
}

/**
 * A type used to represent the type of mechanism that can be used to confirm a trade.
 */
concept ConfirmationMethod  {
o String
 value optional
o String
 confirmationMethodScheme optional
}

/**
 * A message indicating that a confirmation request has been withdrawn by the submitter.
 */
concept ConfirmationRetracted  extends NonCorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * Message for sending matching results. Response message that returns the status of an event that have been submitted for matching.
 */
concept ConfirmationStatus  extends ResponseMessage {

}

/**
 * A message indicating that the sender grants consent for the recipient to perform the requested action.
 */
concept ConsentGranted  extends ResponseMessage {
o String
 additionalEventGroup optional
}

/**
 * A message indicating that the sender does not grant consent for the recipient to perform the requested action.
 */
concept ConsentRefused  extends ResponseMessage {
o String
 additionalEventGroup optional
}

/**
 * A type describing the weight of each of the underlyer constituent within the basket, either in absolute or relative terms.
 */
concept ConstituentWeight  {
o Double
 openUnits optional
o Double
 basketPercentage optional
}

/**
 * A type that represents how to contact an individual or organization.
 */
concept ContactInformation  {
o String
[] email optional
}

/**
 * A contact id identifier allocated by a party. FpML does not define the domain values associated with this element.
 */
concept ContractId  {
o String
 value optional
o String
 contractIdScheme 
o String
 id optional
}

/**
 * A type defining a contract identifier issued by the indicated party.
 */
concept ContractIdentifier  {
o String
 id optional
}

/**
 * The definitions, such as those published by ISDA, that will define the terms of the trade.
 */
concept ContractualDefinitions  {
o String
 value optional
o String
 contractualDefinitionsScheme optional
}

/**
 * 
 */
concept ContractualMatrix  {
o DateTime
 publicationDate optional
}

/**
 * A contractual supplement (such as those published by ISDA) that will apply to the trade.
 */
concept ContractualSupplement  {
o String
 value optional
o String
 contractualSupplementScheme optional
}

/**
 * A contractual supplement (such as those published by ISDA) and its publication date that will apply to the trade.
 */
concept ContractualTermsSupplement  {
o DateTime
 publicationDate optional
}

/**
 * 
 */
concept ConvertibleBond  extends Bond {
o DateTime
 redemptionDate optional
}

/**
 * A structure indicating that a trade has changed due to a corporate action
 */
concept CorporateActionEvent  extends ChangeEvent {

}

/**
 * A type that describes what type of corporate action occurred.
 */
concept CorporateActionType  {
o String
 value optional
o String
 corporateActionScheme optional
}

/**
 * A type defining the content model for a request message that can be subsequently corrected or retracted.
 */
concept CorrectableRequestMessage  extends RequestMessage {
o Boolean
 isCorrection 
o Integer
 sequenceNumber optional
}

/**
 * A type describing the correlation amount of a correlation swap.
 */
concept Correlation  extends CalculationFromObservation {
o CorrelationValue correlationStrikePrice 
o Integer
 numberOfDataSeries optional
}

/**
 * Correlation Amount.
 */
concept CorrelationAmount  extends CalculatedAmount {

}

/**
 * A type defining a correlation identifier and qualifying scheme
 */
concept CorrelationId  {
o String
 value optional
o String
 correlationIdScheme 
}

/**
 * A type describing return which is driven by a Correlation calculation.
 */
concept CorrelationLeg  extends DirectionalLegUnderlyerValuation {

}

/**
 * A Correlation Swap modelled using a single netted leg.
 */
concept CorrelationSwap  extends NettedSwapBase {

}

/**
 * A type that describes the information to identify a correspondent bank that will make delivery of the funds on the paying bank's behalf in the country where the payment is to be made.
 */
concept CorrespondentInformation  {

}

/**
 * The code representation of a country or an area of special sovereignty. By default it is a valid 2 character country code as defined by the ISO standard 3166-1 alpha-2 - Codes for representation of countries http://www.niso.org/standards/resources/3166.html.
 */
concept CountryCode  {
o String
 value optional
o String
 countryScheme optional
}

/**
 * Defines a scheme of values for specifiying if the bond has a variable coupon, step-up/down coupon or a zero-coupon.
 */
concept CouponType  {
o String
 value optional
o String
 couponTypeScheme optional
}

/**
 * A generic credit curve definition.
 */
concept CreditCurve  extends PricingStructure {
o Boolean
 secured optional
}

/**
 * A set of credit curve values, which can include pricing inputs (which are typically credit spreads), default probabilities, and recovery rates.
 */
concept CreditCurveValuation  extends PricingStructureValuation {
o Double
 recoveryRate optional
}

/**
 * 
 */
concept CreditDefaultSwap  extends Product {
o String
[] group optional
}

/**
 * A complex type to support the credit default swap option.
 */
concept CreditDefaultSwapOption  extends OptionBaseExtended {

}

/**
 * 
 */
concept CreditDerivativesNotices  {
o Boolean
 creditEvent 
o Boolean
 publiclyAvailableInformation 
o Boolean
 physicalSettlement 
}

/**
 * A credit arrangement used in support of swaps trading.
 */
concept CreditDocument  {
o String
 value optional
o String
 creditDocumentScheme optional
}

/**
 * 
 */
concept CreditEvent  {

}

/**
 * 
 */
concept CreditEventNotice  {

}

/**
 * An event type that records the occurrence of a credit event notice.
 */
concept CreditEventNoticeDocument  {
o String
 creditEventGroup 
o DateTime
 creditEventNoticeDate 
o DateTime
 creditEventDate 
}

/**
 * A message type defining the ISDA defined Credit Event Notice. ISDA defines it as an irrevocable notice from a Notifying Party to the other party that describes a Credit Event that occurred. A Credit Event Notice must contain detail of the facts relevant to the determination that a Credit Event has occurred.
 */
concept CreditEventNotification  extends CorrectableRequestMessage {

}

/**
 * A message type retracting a previous credit event notification.
 */
concept CreditEventNotificationRetracted  extends NonCorrectableRequestMessage {

}

/**
 * 
 */
concept CreditEvents  {
o Boolean
 bankruptcy optional
o Boolean
 failureToPayPrincipal optional
o Boolean
 failureToPayInterest optional
o Boolean
 obligationDefault optional
o Boolean
 obligationAcceleration optional
o Boolean
 repudiationMoratorium optional
o Boolean
 governmentalIntervention optional
o Boolean
 distressedRatingsDowngrade optional
o Boolean
 maturityExtension optional
o Boolean
 writedown optional
o Boolean
 impliedWritedown optional
o String
 id optional
}

/**
 * Reference to credit events.
 */
concept CreditEventsReference  extends Reference {

}

/**
 * A structure describing a credit limit with applicability constraints.
 */
concept CreditLimit  extends CreditLimitBase {
o DateTime
 expirationDate optional
}

/**
 * A structure describing a basic credit limit.
 */
concept CreditLimitBase  {

}

/**
 * 
 */
concept CreditLimitInformation  {
o LimitModelEnum limitModel 
}

/**
 * 
 */
concept CreditLimitUtilization  {

}

/**
 * 
 */
concept CreditLimitUtilizationPosition  {
o Double
 short optional
o Double
 long optional
o Double
 global optional
o Double
 global1 optional
}

/**
 * A complex type to specify the strike of a credit swaption or a credit default swap option.
 */
concept CreditOptionStrike  {
o Double
 spread optional
o Double
 price optional
}

/**
 * A party's credit rating.
 */
concept CreditRating  {
o String
 value optional
o String
 creditRatingScheme optional
}

/**
 * The repayment precedence of a debt instrument.
 */
concept CreditSeniority  {
o String
 value optional
o String
 creditSeniorityScheme optional
}

/**
 * The agreement executed between the parties and intended to govern collateral arrangement for all OTC derivatives transactions between those parties.
 */
concept CreditSupportAgreement  {
o DateTime
 date 
}

/**
 * 
 */
concept CreditSupportAgreementIdentifier  {
o String
 value optional
o String
 creditSupportAgreementIdScheme optional
}

/**
 * 
 */
concept CreditSupportAgreementType  {
o String
 value optional
o String
 creditSupportAgreementTypeScheme optional
}

/**
 * 
 */
concept CrossCurrencyMethod  {
o QuotationRateTypeEnum quotationRateType 
}

/**
 * A type that is used for including the currency exchange rates used to cross between the traded currencies for non-base currency FX contracts.
 */
concept CrossRate  extends QuotedCurrencyPair {
o Double
 rate 
o Double
 spotRate optional
o Double
 forwardPoints optional
}

/**
 * The code representation of a currency or fund. By default it is a valid currency code as defined by the ISO standard 4217 - Codes for representation of currencies and funds http://www.iso.org/iso/en/prods-services/popstds/currencycodeslist.html.
 */
concept Currency  {
o String
 value optional
o String
 currencyScheme optional
}

/**
 * A type containing a code representing the risk classification of a currency pair, as specified by a regulator.
 */
concept CurrencyPairClassification  {
o String
 value optional
o String
 currencyPairClassificationScheme optional
o String
 id optional
}

/**
 * 
 */
concept CurrentContractsType  {

}

/**
 * Allows for an option expiry cut time to be described by name, as per established market convention. Note: the FX Working Group has resolved not to extend the cutNameScheme coding scheme. The expiryTime element should be used in preference to cutName as the formal definition of FX option expiry time.
 */
concept CutName  {
o String
 value optional
o String
 cutNameScheme optional
}

/**
 * A type defining a content model that is backwards compatible with older FpML releases and which can be used to contain sets of data without expressing any processing intention.
 */
concept DataDocument  extends Document {

}

/**
 * Specify as applicable. Parties may wish to refer to the state meteorological authority in a particular location or to an exchange or other third party data provider. Parties may find the definitions in the Commodity Definitions useful as a means of identifying potential Data Providers.
 */
concept DataProvider  {
o String
 value optional
o String
 id optional
o String
 weatherDataProviderScheme optional
}

/**
 * List of Dates
 */
concept DateList  {
o DateTime
[] date 
}

/**
 * A type defining an offset used in calculating a date when this date is defined in reference to another date through a date offset. The type includes the convention for adjusting the date and an optional sequence element to indicate the order in a sequence of multiple date offsets.
 */
concept DateOffset  extends Offset {
o BusinessDayConventionEnum businessDayConvention 
}

/**
 * A type defining a contiguous series of calendar dates. The date range is defined as all the dates between and including the first and the last date. The first date must fall before the last date.
 */
concept DateRange  {
o DateTime
 unadjustedFirstDate 
o DateTime
 unadjustedLastDate 
}

/**
 * Reference to an identified date or a complex date structure.
 */
concept DateReference  extends Reference {
o String
 href 
}

/**
 * A type to provide the ability to point to multiple payment nodes in the document through the unbounded paymentDatesReference.
 */
concept DateRelativeToCalculationPeriodDates  {

}

/**
 * A type to provide the ability to point to multiple payment nodes in the document through the unbounded paymentDatesReference.
 */
concept DateRelativeToPaymentDates  {

}

/**
 * List of DateTimes
 */
concept DateTimeList  {
o DateTime
[] dateTime 
}

/**
 * The specification for how the number of days between two dates is calculated for purposes of calculation of a fixed or floating payment amount and the basis for how many days are assumed to be in a year. Day Count Fraction is an ISDA term. The equivalent AFB (Association Francaise de Banques) term is Calculation Basis.
 */
concept DayCountFraction  {
o String
 value optional
o String
 dayCountFractionScheme optional
}

/**
 * A syndicated bank loan deal (credit agreement) definition.
 */
concept Deal  extends DealSummary {
o String
[] facilityGroupGroup 
}

/**
 * A unique reference to a syndicated bank loan deal (credit agreement).
 */
concept DealIdentifier  extends IdentifiedAsset {

}

/**
 * A full set of deal and facility definitions valid as of a specific date.
 */
concept DealStatement  extends AbstractLoanStatement {

}

/**
 * A short form of a deal.
 */
concept DealSummary  extends DealIdentifier {
o DateTime
 creditAgreementDate 
}

/**
 * A structure describing a declear event. The deClear event allows a firm to request that a trade be removed from clearing, or a clearing service to request consent for this, or to report that is has been done.
 */
concept DeClear  {
o DateTime
 effectiveDate 
}

/**
 * A type that describes why a trade was removed from clearing.
 */
concept DeclearReason  {
o String
 value optional
o String
 declearReasonScheme optional
}

/**
 * A set of default probabilities.
 */
concept DefaultProbabilityCurve  extends PricingStructureValuation {

}

/**
 * An event representing a change in the default rate, applicable to outstanding loans in the event that the borrower is declared to be in default.
 */
concept DefaultRateChange  extends FacilityRateChangeEvent {

}

/**
 * An event representing expiration of the default rate applicable to borrowers in default.
 */
concept DefaultRateExpiry  extends AbstractFacilityContractEvent {

}

/**
 * A facility which can be drawn at any point during a pre-defined period after the initial deal closing date,
 */
concept DelayedDraw  extends AbstractFacility {
o Boolean
 delayedDraw 
o DateTime
 mustDrawByDate optional
}

/**
 * 
 */
concept DeliverableObligations  {
o Boolean
 accruedInterest optional
o ObligationCategoryEnum category optional
o Boolean
 notSubordinated optional
o Boolean
 notSovereignLender optional
o Boolean
 notDomesticLaw optional
o Boolean
 listed optional
o Boolean
 notContingent optional
o Boolean
 notDomesticIssuance optional
o Boolean
 transferable optional
o Boolean
 acceleratedOrMatured optional
o Boolean
 notBearer optional
o Boolean
 fullFaithAndCreditObLiability optional
o Boolean
 generalFundObligationLiability optional
o Boolean
 revenueObligationLiability optional
o String
 excluded optional
o String
 othReferenceEntityObligations optional
}

/**
 * Specifies delivery methods for securities transactions. This coding-scheme defines the possible delivery methods for securities.
 */
concept DeliveryMethod  {
o String
 value optional
o String
 deliveryMethodScheme optional
}

/**
 * A type defines nearest Delivery Date of the underlying Commodity of expiration of the futures contract.
 */
concept DeliveryNearby  {
o Integer
 deliveryNearbyMultiplier 
o DeliveryNearbyTypeEnum deliveryNearbyType 
o String
 id optional
}

/**
 * The type defining a denominator term of the formula. Its value is (sum of weighted partials) ^ power.
 */
concept DenominatorTerm  {
o Integer
 power 
}

/**
 * 
 */
concept Deposit  extends UnderlyingAsset {

}

/**
 * The method by which a derivative is computed.
 */
concept DerivativeCalculationMethod  {
o String
 value optional
o String
 derivativeCalculationMethodScheme optional
}

/**
 * A description of how a numerical derivative is computed.
 */
concept DerivativeCalculationProcedure  {
o Double
 perturbationAmount optional
o Boolean
 averaged optional
o String
 derivativeFormula optional
}

/**
 * A formula for computing a complex derivative from partial derivatives. Its value is the sum of the terms divided by the product of the denominator terms.
 */
concept DerivativeFormula  {

}

/**
 * Coding scheme that specifies the method according to which an amount or a date is determined.
 */
concept DeterminationMethod  {
o String
 value optional
o String
 determinationMethodScheme optional
o String
 id optional
}

/**
 * A reference to the return swap notional determination method.
 */
concept DeterminationMethodReference  extends Reference {

}

/**
 * An abstract base class for all directional leg types with effective date, termination date, where a payer makes a stream of payments of greater than zero value to a receiver.
 */
abstract concept DirectionalLeg  extends Leg {

}

/**
 * An abstract base class for all directional leg types with effective date, termination date, and underlyer where a payer makes a stream of payments of greater than zero value to a receiver.
 */
abstract concept DirectionalLegUnderlyer  extends DirectionalLeg {
o SettlementTypeEnum settlementType optional
}

/**
 * An abstract base class for all directional leg types with effective date, termination date, and underlyer, where a payer makes a stream of payments of greater than zero value to a receiver.
 */
abstract concept DirectionalLegUnderlyerValuation  extends DirectionalLegUnderlyer {

}

/**
 * A type defining discounting information. The 2000 ISDA definitions, section 8.4. discounting (related to the calculation of a discounted fixed amount or floating amount) apply. This type must only be included if discounting applies.
 */
concept Discounting  {
o DiscountingTypeEnum discountingType 
o Double
 discountRate optional
}

/**
 * A Disruption Fallback.
 */
concept DisruptionFallback  {
o String
 value optional
o String
 commodityMarketDisruptionFallbackScheme optional
}

/**
 * Container for Dividend Adjustment Periods, which are used to calculate the Deviation between Expected Dividend and Actual Dividend in that Period.
 */
concept DividendAdjustment  {

}

/**
 * A type describing the conditions governing the payment of dividends to the receiver of the equity return. With the exception of the dividend payout ratio, which is defined for each of the underlying components.
 */
concept DividendConditions  {
o Boolean
 dividendReinvestment optional
o DividendEntitlementEnum dividendEntitlement optional
o DividendAmountTypeEnum dividendAmount optional
o DividendPeriodEnum dividendPeriod optional
o DividendAmountTypeEnum excessDividendAmount optional
o Double
 numberOfIndexUnits optional
o Double
 declaredCashDividendPercentage optional
o Double
 declaredCashEquivalentDividendPercentage optional
o NonCashDividendTreatmentEnum nonCashDividendTreatment optional
o DividendCompositionEnum dividendComposition optional
o Boolean
 specialDividends optional
}

/**
 * Floating Payment Leg of a Dividend Swap.
 */
concept DividendLeg  extends DirectionalLegUnderlyer {
o Double
 declaredCashDividendPercentage optional
o Double
 declaredCashEquivalentDividendPercentage optional
o Boolean
 specialDividends optional
o Boolean
 materialDividend optional
}

/**
 * A type describing the date on which the dividend will be paid/received. This type is also used to specify the date on which the FX rate will be determined, when applicable.
 */
concept DividendPaymentDate  {
o DividendDateReferenceEnum dividendDateReference optional
}

/**
 * A type describing the dividend payout ratio associated with an equity underlyer. In certain cases the actual ratio is not known on trade inception, and only general conditions are then specified.
 */
concept DividendPayout  {
o Double
 dividendPayoutRatio optional
o Double
 dividendPayoutRatioCash optional
o Double
 dividendPayoutRatioNonCash optional
o String
 dividendPayoutConditions optional
}

/**
 * Abstract base class of all time bounded dividend period types.
 */
abstract concept DividendPeriod  {
o String
 id optional
}

/**
 * A time bounded dividend period, with an expected dividend for each period.
 */
concept DividendPeriodDividend  extends DividendPeriod {
o Double
 multiplier 
}

/**
 * A time bounded dividend period, with fixed strike and a dividend payment date per period.
 */
concept DividendPeriodPayment  extends DividendPeriod {
o Double
 fixedStrike 
}

/**
 * 
 */
concept DividendSwapOptionTransactionSupplement  extends OptionBase {
o Boolean
 exchangeLookAlike optional
o MethodOfAdjustmentEnum methodOfAdjustment optional
o Double
 optionEntitlement optional
o Double
 multiplier optional
}

/**
 * A Dividend Swap Transaction Supplement.
 */
concept DividendSwapTransactionSupplement  extends Product {
o Boolean
 multipleExchangeIndexAnnexFallback optional
o Boolean
 componentSecurityIndexAnnexFallback optional
}

/**
 * The abstract base type from which all FpML compliant messages and documents must be derived.
 */
abstract concept Document  {
o Integer
 actualBuild optional
o Integer
 expectedBuild optional
o String
 fpmlVersion 
}

/**
 * An entity for defining the definitions that govern the document and should include the year and type of definitions referenced, along with any relevant documentation (such as master agreement) and the date it was signed.
 */
concept Documentation  {

}

/**
 * Describes the parameters for a dual currency option transaction.
 */
concept DualCurrencyFeature  {
o DateTime
 fixingDate 
o Double
 spotRate optional
o Boolean
 interestAtRisk 
}

/**
 * A type that describes the rate of exchange at which the embedded option in a Dual Currency Deposit has been struck.
 */
concept DualCurrencyStrikePrice  {
o Double
 rate 
o DualCurrencyStrikeQuoteBasisEnum strikeQuoteBasis 
}

/**
 * A type to define the adjusted dates associated with an early termination provision.
 */
concept EarlyTerminationEvent  {
o DateTime
 adjustedExerciseDate 
o DateTime
 adjustedEarlyTerminationDate 
o DateTime
 adjustedCashSettlementValuationDate 
o DateTime
 adjustedCashSettlementPaymentDate 
o DateTime
 adjustedExerciseFeePaymentDate optional
o String
 id optional
}

/**
 * A type defining an early termination provision for a swap. This early termination is at fair value, i.e. on termination the fair value of the product must be settled between the parties.
 */
concept EarlyTerminationProvision  {
o String
 id optional
}

/**
 * Excess Emission Penalty related parameters.
 */
concept EEPParameters  {
o Boolean
 eEPApplicable 
o Boolean
 equivalentApplicable 
o Boolean
 penaltyApplicable 
}

/**
 * TBD.
 */
concept EEPRiskPeriod  {
o DateTime
 startDate 
o DateTime
 endDate 
}

/**
 * The physical delivery conditions for electricity.
 */
concept ElectricityDelivery  {

}

/**
 * The physical delivery obligation options specific to a firm transaction.
 */
concept ElectricityDeliveryFirm  {
o Boolean
 forceMajeure 
}

/**
 * A scheme identifying the types of the Delivery Point for a physically settled electricity trade.
 */
concept ElectricityDeliveryPoint  {
o String
 value optional
o String
 deliveryPointScheme optional
}

/**
 * The physical delivery obligation options specific to a system firm transaction.
 */
concept ElectricityDeliverySystemFirm  {
o Boolean
 applicable 
}

/**
 * 
 */
concept ElectricityDeliveryType  {
o Boolean
 nonFirm optional
}

/**
 * The physical delivery obligation options specific to a unit firm transaction.
 */
concept ElectricityDeliveryUnitFirm  {
o Boolean
 applicable 
}

/**
 * A type defining the physical quantity of the electricity to be delivered.
 */
concept ElectricityPhysicalDeliveryQuantity  extends CommodityNotionalQuantity {

}

/**
 * Allows the documentation of a shaped quantity trade where the quantity changes over the life of the transaction.
 */
concept ElectricityPhysicalDeliveryQuantitySchedule  extends CommodityPhysicalQuantitySchedule {

}

/**
 * Physically settled leg of a physically settled electricity transaction.
 */
concept ElectricityPhysicalLeg  extends PhysicalSwapLeg {
o LoadTypeEnum loadType optional
}

/**
 * The quantity of gas to be delivered.
 */
concept ElectricityPhysicalQuantity  extends CommodityPhysicalQuantityBase {

}

/**
 * The specification of the electricity to be delivered.
 */
concept ElectricityProduct  {
o ElectricityProductTypeEnum type 
o Double
 voltage optional
}

/**
 * A structure to specify the tranmission contingency and the party that bears the obligation.
 */
concept ElectricityTransmissionContingency  {

}

/**
 * The type of transmission contingency, i.e. what portion of the transmission the delivery obligations are applicable.
 */
concept ElectricityTransmissionContingencyType  {
o String
 value optional
o String
 electricityTransmissionContingencyScheme optional
}

/**
 * A special type meant to be used for elements with no content and no attributes.
 */
concept Empty  {

}

/**
 * Records supporting information justifying an end user exception under 17 CFR part 39.
 */
concept EndUserExceptionDeclaration  {

}

/**
 * A type describing the entity of a party, for example Financial, NonFinancial etc.
 */
concept EntityClassification  {
o String
 value optional
o String
 entityClassificationScheme optional
}

/**
 * A legal entity identifier (e.g. RED entity code).
 */
concept EntityId  {
o String
 value optional
o String
 entityIdScheme optional
}

/**
 * The name of the reference entity. A free format string. FpML does not define usage rules for this element.
 */
concept EntityName  {
o String
 value optional
o String
 entityNameScheme optional
}

/**
 * Defines a coding scheme of the entity types defined in the ISDA First to Default documentation.
 */
concept EntityType  {
o String
 value optional
o String
 entityTypeScheme optional
}

/**
 * The environmental physical leg describes the nature of the physical underlying, quantities and delivery conditions relating to environmental allowances and certificates such as EU emissions allowances, water pollution credits and the like.
 */
concept EnvironmentalPhysicalLeg  extends PhysicalSwapLeg {
o EnvironmentalAbandonmentOfSchemeEnum abandonmentOfScheme optional
o Boolean
 failureToDeliverApplicable optional
}

/**
 * A type defining the characteristics of the environmental allowance or credit being traded. Settlement of environmental transactions is classified as physical because settlement is accomplished through the exchange of one or more certificates (despite the fact that this exchange is almost always executed through electronic book entry transfer between the parties allowance accounts).
 */
concept EnvironmentalProduct  {
o EnvironmentalProductTypeEnum productType 
o DateTime
[] vintage optional
}

/**
 * TBD.
 */
concept EnvironmentalProductApplicableLaw  {
o String
 value optional
o String
 environmentalProductApplicableLawScheme optional
}

/**
 * 
 */
concept EnvironmentalProductComplaincePeriod  {
o DateTime
 startYear 
o DateTime
 endYear 
}

/**
 * For US Emissions Allowance Transactions. A system where all electronic certificates are stored and emissions are tracked.
 */
concept EnvironmentalTrackingSystem  {
o String
 value optional
o String
 commodityEnvironmentalTrackingSystemScheme optional
}

/**
 * A type for defining exercise procedures associated with an American style exercise of an equity option. This entity inherits from the type SharedAmericanExercise.
 */
concept EquityAmericanExercise  extends SharedAmericanExercise {
o TimeTypeEnum latestExerciseTimeType optional
o TimeTypeEnum equityExpirationTimeType optional
}

/**
 * An exchange traded equity asset.
 */
concept EquityAsset  extends ExchangeTraded {

}

/**
 * A type for defining exercise procedures associated with a Bermuda style exercise of an equity option. The term Bermuda is adopted in FpML for consistency with the ISDA Definitions.
 */
concept EquityBermudaExercise  extends SharedAmericanExercise {
o TimeTypeEnum latestExerciseTimeType optional
o TimeTypeEnum equityExpirationTimeType optional
}

/**
 * A type for defining the merger events and their treatment.
 */
concept EquityCorporateEvents  {
o ShareExtraordinaryEventEnum shareForShare 
o ShareExtraordinaryEventEnum shareForOther 
o ShareExtraordinaryEventEnum shareForCombined 
}

/**
 * A type for defining the common features of equity derivatives.
 */
abstract concept EquityDerivativeBase  extends Product {
o EquityOptionTypeEnum optionType 
o DateTime
 equityEffectiveDate optional
}

/**
 * type for defining the common features of equity derivatives.
 */
abstract concept EquityDerivativeLongFormBase  extends EquityDerivativeBase {
o MethodOfAdjustmentEnum methodOfAdjustment 
}

/**
 * A type for defining short form equity option basic features.
 */
abstract concept EquityDerivativeShortFormBase  extends EquityDerivativeBase {
o Double
 spotPrice optional
o Double
 numberOfOptions 
}

/**
 * A type for defining exercise procedures associated with a European style exercise of an equity option.
 */
concept EquityEuropeanExercise  extends Exercise {
o TimeTypeEnum equityExpirationTimeType optional
}

/**
 * A type for defining exercise procedures for equity options.
 */
concept EquityExerciseValuationSettlement  {
o Boolean
 automaticExercise optional
o SettlementTypeEnum settlementType 
}

/**
 * A type for defining equity forwards.
 */
concept EquityForward  extends EquityDerivativeLongFormBase {

}

/**
 * A type for defining the multiple exercise provisions of an American or Bermuda style equity option.
 */
concept EquityMultipleExercise  {
o Double
 integralMultipleExercise optional
o Double
 minimumNumberOfOptions 
o Double
 maximumNumberOfOptions 
}

/**
 * A type for defining equity options.
 */
concept EquityOption  extends EquityDerivativeLongFormBase {
o Double
 spotPrice optional
o Double
 numberOfOptions optional
o Double
 optionEntitlement 
}

/**
 * A type for defining equity option transaction supplements.
 */
concept EquityOptionTransactionSupplement  extends EquityDerivativeShortFormBase {
o Boolean
 exchangeLookAlike optional
o Boolean
 exchangeTradedContractNearest optional
o Boolean
 multipleExchangeIndexAnnexFallback optional
o Boolean
 componentSecurityIndexAnnexFallback optional
o MethodOfAdjustmentEnum methodOfAdjustment optional
o Double
 optionEntitlement optional
o Double
 multiplier optional
}

/**
 * A type used to describe the amount paid for an equity option.
 */
concept EquityPremium  extends PaymentBase {
o PremiumTypeEnum premiumType optional
o Boolean
 swapPremium optional
o Double
 percentageOfNotional optional
}

/**
 * A type for defining the strike price for an equity option. The strike price is either: (i) in respect of an index option transaction, the level of the relevant index specified or otherwise determined in the transaction; or (ii) in respect of a share option transaction, the price per share specified or otherwise determined in the transaction. This can be expressed either as a percentage of notional amount or as an absolute value.
 */
concept EquityStrike  {
o Double
 strikePrice optional
o Double
 strikePercentage optional
}

/**
 * A type for defining Equity Swap Transaction Supplement
 */
concept EquitySwapTransactionSupplement  extends ReturnSwapBase {
o Boolean
 mutualEarlyTermination optional
o Boolean
 optionalEarlyTermination optional
o EarlyTerminationDateEnum optionalEarlyTerminationDate optional
o Boolean
 breakFundingRecovery optional
o FeeElectionEnum breakFeeElection optional
o Double
 breakFeeRate optional
o Boolean
 multipleExchangeIndexAnnexFallback optional
o Boolean
 componentSecurityIndexAnnexFallback optional
}

/**
 * A type for defining how and when an equity option is to be valued.
 */
concept EquityValuation  {
o TimeTypeEnum valuationTimeType optional
o Boolean
 futuresPriceValuation optional
o Boolean
 optionsPriceValuation optional
o Integer
 numberOfValuationDates optional
o FPVFinalPriceElectionFallbackEnum fPVFinalPriceElectionFallback optional
o String
 id optional
}

/**
 * A type defining the exercise period for a European style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.
 */
concept EuropeanExercise  extends Exercise {

}

/**
 * A post-trade event reference identifier allocated by a party. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.
 */
concept EventId  {
o String
 value optional
o String
 eventIdScheme optional
o String
 id optional
}

/**
 * Identification of a business event, for example through its correlation id or a business identifier.
 */
concept EventIdentifier  {
o Integer
 sequenceNumber optional
}

/**
 * A type that identifies a party profile record.
 */
concept EventInstructionOverride  {

}

/**
 * A structure that represents the prepayment structure associated within a facility.
 */
concept EventPayment  extends Payment {
o String
[] group optional
}

/**
 * A structure that describes a proposed match between trades or post-trade event reports.
 */
concept EventProposedMatch  {
o String
 additionalEventGroup optional
o Double
 matchScore optional
}

/**
 * Defines the structure for a message acknowledging an event request.
 */
concept EventRequestAcknowledgement  extends ResponseMessage {

}

/**
 * 
 */
concept EventsChoice  {
o String
 additionalEventGroup optional
}

/**
 * A coding scheme used to describe the matching/confirmation status of a trade, post-trade event, position, or cash flows.
 */
concept EventStatus  {
o String
 value optional
o String
 eventStatusScheme optional
}

/**
 * A type used in event status enquiry messages which relates an event identifier to its current status value.
 */
concept EventStatusItem  {

}

/**
 * A type defining the content model for a message normally generated in response to a requestEventStatus request.
 */
concept EventStatusResponse  extends ResponseMessage {

}

/**
 * A struture that represents an evergreen option that is available within a letter of credit instrument.
 */
concept EvergreenOption  {

}

/**
 * A type defining the basic content for a message sent to inform another system that some exception has been detected.
 */
concept Exception  extends Message {
o Integer
 sequenceNumber optional
}

/**
 * A type defining the content model for an exception message header.
 */
concept ExceptionMessageHeader  extends MessageHeader {
o DateTime
 creationTimestamp 
o DateTime
 expiryTimestamp optional
}

/**
 * A short form unique identifier for an exchange. If the element is not present then the exchange shall be the primary exchange on which the underlying is listed. The term "Exchange" is assumed to have the meaning as defined in the ISDA 2002 Equity Derivatives Definitions.
 */
concept ExchangeId  {
o String
 value optional
o String
 exchangeIdScheme optional
}

/**
 * A type that is used for describing the exchange rate for a particular transaction.
 */
concept ExchangeRate  {
o Double
 rate 
o Double
 spotRate optional
o Double
 forwardPoints optional
o PointValue pointValue optional
}

/**
 * An abstract base class for all exchange traded financial products.
 */
abstract concept ExchangeTraded  extends UnderlyingAsset {

}

/**
 * Abstract base class for all exchange traded financial products with a price which is calculated from exchange traded constituents.
 */
abstract concept ExchangeTradedCalculatedPrice  extends ExchangeTraded {

}

/**
 * An exchange traded derivative contract.
 */
concept ExchangeTradedContract  extends ExchangeTraded {
o Double
 multiplier optional
o String
 contractReference optional
}

/**
 * A type describing a single underlyer
 */
concept ExchangeTradedContractUnderlyer  {
o String
[] underlyingAssetGroup optional
}

/**
 * An exchange traded fund whose price depends on exchange traded constituents.
 */
concept ExchangeTradedFund  extends ExchangeTradedCalculatedPrice {
o String
 fundManager optional
}

/**
 * An exchange traded option.
 */
concept ExchangeTradedOption  extends ExchangeTradedContract {
o Double
 strike optional
o PutCallEnum optionType optional
o ExerciseStyleEnum exerciseStyle optional
o SettlementTypeEnum settlementType optional
}

/**
 * A message advising a third party that a trade execution has occurred.
 */
concept ExecutionAdvice  extends CorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * A message that withdraws an advice to a third party that a trade execution has occurred.
 */
concept ExecutionAdviceRetracted  extends NonCorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * A type defining the trade execution date time and the source of it. For use inside containing types which already have a Reference to a Party that has assigned this trade execution date time.
 */
concept ExecutionDateTime  {
o DateTime
 value optional
o String
 executionDateTimeScheme optional
}

/**
 * A message notifying a party that a trade execution has occurred. (Typically this is sent by an execution platform to a participant.)
 */
concept ExecutionNotification  extends CorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * A message retracting a notification to a party that a trade execution has occurred. (Typically this is sent by an execution platform to a participant.)
 */
concept ExecutionRetracted  extends NonCorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * A type used to represent the type of market where a trade can be executed.
 */
concept ExecutionType  {
o String
 value optional
o String
 executionTypeScheme optional
}

/**
 * A type used to represent the type of market where a trade can be executed.
 */
concept ExecutionVenueType  {
o String
 value optional
o String
 executionVenueTypeScheme optional
}

/**
 * The abstract base class for all types which define way in which options may be exercised.
 */
concept Exercise  {
o String
 id optional
}

/**
 * A type defining the adjusted dates associated with a particular exercise event.
 */
concept ExerciseEvent  {
o DateTime
 adjustedExerciseDate 
o DateTime
 adjustedRelevantSwapEffectiveDate 
o DateTime
 adjustedCashSettlementValuationDate optional
o DateTime
 adjustedCashSettlementPaymentDate optional
o DateTime
 adjustedExerciseFeePaymentDate optional
o String
 id optional
}

/**
 * A type defining the fee payable on exercise of an option. This fee may be defined as an amount or a percentage of the notional exercised.
 */
concept ExerciseFee  {
o Double
 feeAmount optional
o Double
 feeRate optional
}

/**
 * A type to define a fee or schedule of fees to be payable on the exercise of an option. This fee may be defined as an amount or a percentage of the notional exercised.
 */
concept ExerciseFeeSchedule  {

}

/**
 * A type defining to whom and where notice of execution should be given. The partyReference refers to one of the principal parties of the trade. If present the exerciseNoticePartyReference refers to a party, other than the principal party, to whome notice should be given.
 */
concept ExerciseNotice  {

}

/**
 * This defines the time interval to the start of the exercise period, i.e. the earliest exercise date, and the frequency of subsequent exercise dates (if any).
 */
concept ExercisePeriod  {
o String
 id optional
}

/**
 * A type describing how notice of exercise should be given. This can be either manual or automatic.
 */
concept ExerciseProcedure  {
o Boolean
 followUpConfirmation 
o Boolean
 limitedRightToConfirm optional
o Boolean
 splitTicket optional
}

/**
 * A type describing how notice of exercise should be given. This can be either manual or automatic.
 */
concept ExerciseProcedureOption  {

}

/**
 * A type defining an option to extend an existing swap transaction on the specified exercise dates for a term ending on the specified new termination date.
 */
concept ExtendibleProvision  {
o String
 exerciseGroup 
o Boolean
 followUpConfirmation 
}

/**
 * A type defining the adjusted dates associated with a provision to extend a swap.
 */
concept ExtendibleProvisionAdjustedDates  {

}

/**
 * A type to define the adjusted dates associated with an individual extension event.
 */
concept ExtensionEvent  {
o DateTime
 adjustedExerciseDate 
o DateTime
 adjustedExtendedTerminationDate 
o String
 id optional
}

/**
 * Where the underlying is shares, defines market events affecting the issuer of those shares that may require the terms of the transaction to be adjusted.
 */
concept ExtraordinaryEvents  {
o Boolean
 tenderOffer optional
o Boolean
 compositionOfCombinedConsideration optional
o Boolean
 failureToDeliver optional
o NationalisationOrInsolvencyOrDelistingEventEnum nationalisationOrInsolvency optional
o NationalisationOrInsolvencyOrDelistingEventEnum delisting optional
}

/**
 * A structure that represents the commitment amount against a facility or facility portion. Also shows the utilization levels against the total commitment amount (in facility currency).
 */
concept FacilityCommitment  {

}

/**
 * A unique identifier for outstanding contracts.
 */
concept FacilityContractIdentifier  extends ContractIdentifier {

}

/**
 * Provides supporting evidence when a party invoked exception to not execute the trade on facility such as SEF and DCM even though the particular product is mandated to execute on a SEF.
 */
concept FacilityExecutionExceptionDeclaration  {
o String
[] reason optional
}

/**
 * This fee represents any fee paid by the borrower to the syndicate lenders for extending an existing facility.
 */
concept FacilityExtensionFeePayment  extends NonRecurringFeePayment {

}

/**
 * A list of facility features.
 */
concept FacilityFeature  {
o String
 value optional
o String
 facilityFeatureScheme optional
}

/**
 * A unique identifier to a facility.
 */
concept FacilityIdentifier  extends IdentifiedAsset {

}

/**
 * A loan servicing notification which can be used to communicate any facility-level business event.
 */
concept FacilityNotification  extends AbstractFacilityNotification {
o String
 facilityEventGroupGroup 
}

/**
 * A structure that represents current/prior facility commitment and outstanding amounts on both the global and lender position levels.
 */
concept FacilityOutstandingsPosition  extends FacilityPosition {

}

/**
 * A structure that represents position details (including outstandings) for a single facility. Positions can be stated at the global and (optionally) at the lender-specific level.
 */
concept FacilityOutstandingsPositionStatement  extends AbstractLoanStatement {
o String
[] loanContractDetailsModel optional
}

/**
 * A structure that represents current/prior facility commitment amounts on both the global and lender position levels.
 */
concept FacilityPosition  {

}

/**
 * A statement containing the commitment amounts for a single facility at the global and (optionally) the lender postion levels, on a specific date.
 */
concept FacilityPositionStatement  extends AbstractLoanStatement {

}

/**
 * An event describing changes in a facility-level rate.
 */
abstract concept FacilityRateChangeEvent  extends AbstractFacilityContractEvent {

}

/**
 * A loan servicing notification used to communicate changes in facility-level rates (e.g. penalty rate, default rate etc.).
 */
concept FacilityRateChangeNotification  extends AbstractFacilityNotification {
o String
 facilityRateChangeGroupGroup 
o String
[] loanContractDetailsModel optional
}

/**
 * A reference to a facility.
 */
concept FacilityReference  extends Reference {
o String
 href 
}

/**
 * A single facility definition stated as of a certain date.
 */
concept FacilityStatement  extends AbstractLoanStatement {
o String
 facilityGroupGroup 
}

/**
 * A short form of a facility.
 */
concept FacilitySummary  extends FacilityIdentifier {
o DateTime
 startDate 
o DateTime
 expiryDate optional
o DateTime
 maturityDate optional
}

/**
 * An event describing the early termination of a facility.
 */
concept FacilityTermination  extends AbstractFacilityEvent {

}

/**
 * A type describing the type of loan facility.
 */
concept FacilityType  {
o String
 value optional
o String
 facilityTypeScheme optional
}

/**
 * 
 */
concept FailureToPay  {
o Boolean
 applicable 
}

/**
 * 
 */
concept FailureToPayEvent  extends CreditEvent {

}

/**
 * The method, prioritzed by the order it is listed in this element, to get a replacement rate for the disrupted settlement rate option.
 */
concept FallbackReferencePrice  {

}

/**
 * Payment made following trigger occurence.
 */
concept FeaturePayment  extends PaymentBase {
o Double
 levelPercentage optional
o Double
 amount optional
o TimeTypeEnum time optional
}

/**
 * 
 */
concept FeeLeg  extends Leg {
o Double
 marketFixedRate optional
o Boolean
 paymentDelay optional
o Double
 initialPoints optional
o Double
 marketPrice optional
o QuotationStyleEnum quotationStyle optional
}

/**
 * An abstract type that specifies an underlying fixed rate cash accrual option.
 */
abstract concept FeeRateOptionBase  extends AccrualOptionBase {
o Double
 rate 
}

/**
 * A type to define business date convention adjustment to final payment period per leg.
 */
concept FinalCalculationPeriodDateAdjustment  {
o BusinessDayConventionEnum businessDayConvention 
}

/**
 * The common components of a financially settled leg of a Commodity Swap. This is an abstract type and should be extended by commodity-specific types.
 */
abstract concept FinancialSwapLeg  extends CommoditySwapLeg {

}

/**
 * 
 */
concept FirstPeriodStartDate  {
o DateTime
 value optional
}

/**
 * 
 */
concept FixedAmountCalculation  {

}

/**
 * Fixed payment amount within a Dividend Swap.
 */
concept FixedPaymentAmount  extends PaymentBase {

}

/**
 * Fixed Payment Leg of a Dividend Swap.
 */
concept FixedPaymentLeg  extends DirectionalLeg {

}

/**
 * A type defining the Fixed Price.
 */
concept FixedPrice  {
o Double
 price 
o String
 id optional
}

/**
 * Fixed Price Leg of a Commodity Swap. It defines schedule of fixed payments associated with a commodity swap.
 */
concept FixedPriceLeg  extends FinancialSwapLeg {
o Double
 worldscaleRate optional
o Double
 totalNotionalQuantity optional
o Boolean
 masterAgreementPaymentDates optional
o FlatRateEnum flatRate optional
}

/**
 * The calculation period fixed rate. A per annum rate, expressed as a decimal. A fixed rate of 5% would be represented as 0.05.
 */
concept FixedRate  {
o Double
 value optional
o String
 id optional
}

/**
 * A full definition of the fixed rate accrual characteristics of a loan contract. This structure defines both the underlying base rate as well as any additional margins and costs associated with the loan contract.
 */
concept FixedRateAccrual  extends FixedRateOptionBase {
o DateTime
 startDate 
o DateTime
 endDate 
o Double
 numberOfDays 
o Double
 penaltySpread optional
o Double
 defaultSpread optional
o Double
 mandatoryCostRate optional
o Double
 allInRate optional
}

/**
 * A structure that represents the accruing fixed rate option associated within a facility.
 */
concept FixedRateOption  extends FixedRateOptionBase {
o DateTime
 startDate 
o DateTime
 endDate 
o Integer
 drawdownNoticeDays optional
o Integer
 fxRateSetNoticeDays optional
o Integer
 rateSetNoticeDays optional
}

/**
 * An abstract type that specifies an underlying fixed rate cash accrual option.
 */
abstract concept FixedRateOptionBase  extends AccrualOptionBase {
o Double
 rate 
o Double
 pikSpread optional
}

/**
 * An event representing a change in a fixed rate accrual option. In real terms - an example of this would be a margin rate change.
 */
concept FixedRateOptionChange  extends AbstractFacilityEvent {

}

/**
 * 
 */
concept FixedRateReference  extends Reference {

}

/**
 * 
 */
concept FloatingAmountCalculation  {
o DateTime
 initialFixingDate optional
}

/**
 * 
 */
concept FloatingAmountEvents  {
o Boolean
 failureToPayPrincipal optional
o Boolean
 writedown optional
o Boolean
 impliedWritedown optional
}

/**
 * 
 */
concept FloatingAmountProvisions  {
o Boolean
 wACCapInterestProvision optional
o Boolean
 stepUpProvision optional
}

/**
 * A type to capture details relevant to the calculation of the floating price.
 */
concept FloatingLegCalculation  {
o AveragingMethodEnum averagingMethod optional
o Double
 conversionFactor optional
o Double
 spreadPercentage optional
}

/**
 * Floating Price Leg of a Commodity Swap. Each 'floatingLeg' defines a series of financial payments for a commodity the value of which is derived from a floating price such as an exchange or an index publication.
 */
concept FloatingPriceLeg  extends FinancialSwapLeg {
o Double
 totalNotionalQuantity optional
o Boolean
 masterAgreementPaymentDates optional
o FlatRateEnum flatRate optional
}

/**
 * A type defining a floating rate.
 */
concept FloatingRate  extends Rate {
o RateTreatmentEnum rateTreatment optional
}

/**
 * A full definition of the accrual characteristics of a loan contract. This structure defines both the underlying base rate as well as any additional margins and costs associated with the loan contract.
 */
concept FloatingRateAccrual  extends FloatingRateOptionBase {
o DateTime
 startDate 
o DateTime
 endDate 
o Double
 numberOfDays 
o DateTime
 rateFixingDate optional
o Double
 baseRate optional
o Double
 penaltySpread optional
o Double
 defaultSpread optional
o Double
 mandatoryCostRate optional
o Double
 allInRate optional
}

/**
 * A type defining the floating rate and definitions relating to the calculation of floating rate amounts.
 */
concept FloatingRateCalculation  extends FloatingRate {
o Double
 initialRate optional
o AveragingMethodEnum averagingMethod optional
o NegativeInterestRateTreatmentEnum negativeInterestRateTreatment optional
}

/**
 * Reference to a floating rate calculation of interest calculation component.
 */
concept FloatingRateCalculationReference  extends Reference {

}

/**
 * A type defining parameters associated with a floating rate reset. This type forms part of the cashflows representation of a stream.
 */
concept FloatingRateDefinition  {
o Double
 calculatedRate optional
o Double
 floatingRateMultiplier optional
o Double
 spread optional
}

/**
 * The ISDA Floating Rate Option, i.e. the floating rate index.
 */
concept FloatingRateIndex  {
o String
 value optional
o String
 floatingRateIndexScheme optional
}

/**
 * A subset of the ISDA Floating Rate Option scheme, i.e. the floating rate index. These indexes are the ones used by the syndicated loan market.
 */
concept FloatingRateIndexLoan  {
o String
 value optional
o String
 floatingRateIndexScheme optional
}

/**
 * A structure that represents the accruing floating rate option associated within a facility.
 */
concept FloatingRateOption  extends FloatingRateOptionBase {
o DateTime
 startDate 
o DateTime
 endDate 
o Integer
 drawdownNoticeDays optional
o Integer
 fxRateSetNoticeDays optional
o Integer
 rateSetNoticeDays optional
}

/**
 * An abstract type that specifies an underlying floating rate cash accrual option.
 */
abstract concept FloatingRateOptionBase  extends AccrualOptionBase {
o Double
 spread 
o Double
 pikSpread optional
}

/**
 * An event describing a change in a floating rate accrual option. In real terms - an example of this would be a margin rate change associated with the 3-Month LIBOR accrual option.
 */
concept FloatingRateOptionChange  extends AbstractFacilityEvent {

}

/**
 * 
 */
concept FloatingStrikePrice  extends FloatingLegCalculation {

}

/**
 * A type defining a rate index.
 */
concept ForecastRateIndex  {

}

/**
 * A type describing a financial formula, with its description and components.
 */
concept Formula  {
o String
 formulaDescription optional
}

/**
 * Elements describing the components of the formula. The name attribute points to a value used in the math element. The href attribute points to a numeric value defined elsewhere in the document that is used by the formula component.
 */
concept FormulaComponent  {
o String
 componentDescription 
o String
 name optional
}

/**
 * A type defining a term of the formula. Its value is the product of the its coefficient and the referenced partial derivatives.
 */
concept FormulaTerm  {
o Double
 coefficient 
}

/**
 * A curve used to model a set of forward interest rates. Used for forecasting interest rates as part of a pricing calculation.
 */
concept ForwardRateCurve  {

}

/**
 * 
 */
concept FpML  {
o String
[] mixed optional
}

/**
 * A type defining a Forward Rate Agreement (FRA) product.
 */
concept Fra  extends Product {
o DateTime
 adjustedTerminationDate 
o Integer
 calculationPeriodNumberOfDays 
o FraDiscountingEnum fraDiscounting 
}

/**
 * A type defining a time frequency, e.g. one day, three months. Used for specifying payment or calculation frequencies at which the value T (Term) is applicable.
 */
concept Frequency  {
o Integer
 periodMultiplier 
o PeriodExtendedEnum period 
o String
 id optional
}

/**
 * A fee associated with the funding requirements for given facility.
 */
concept FundingFeePayment  extends NonRecurringFeePayment {

}

/**
 * An exchange traded future contract.
 */
concept Future  extends ExchangeTraded {
o Double
 multiplier optional
o String
 futureContractReference optional
o DateTime
 maturity optional
o DateTime
 contractYearMonth optional
o SettlementTypeEnum settlementType optional
}

/**
 * A type defining a short form unique identifier for a future contract.
 */
concept FutureId  {
o String
 value optional
o String
 futureIdScheme optional
}

/**
 * A type defining a currency amount as at a future value date.
 */
concept FutureValueAmount  extends NonNegativeMoney {
o Integer
 calculationPeriodNumberOfDays 
o DateTime
 valueDate 
}

/**
 * Accrual calculation process.
 */
concept FxAccrual  {
o String
 id optional
}

/**
 * Reference to an average rate structure in FxAccrualForward or FxAccrualOption products.
 */
concept FxAccrualAverageStrikeReference  extends Reference {

}

/**
 * 
 */
concept FxAccrualBarrier  extends FxComplexBarrierBase {
o FxAccrualKnockoutBarrierRetentionEnum accrualRetention optional
}

/**
 * An FX Accrual Digital Option product The product defines a list of fixing (or observation) dates. There are m total fixings. At the expiry date of the product, the buyer of the option has the right to an FX settlement with n/m * Notional. Payout can be cash or physical.
 */
concept FxAccrualDigitalOption  extends Option {

}

/**
 * The product defines a schedule of expiry and delivery dates which specify settlement periods. The product further defines a schedule of fixing (or observation) dates and defines regions of spot where the product settlement amounts will accrue. There are n total fixings. One accumulates a fixed proportion of Notional (1/n) for every observation date that spot fixes within the pre-defined limits of the accrual regions. If spot breaks the limits, the Notional stops accumulating during the fixings outside the limits, but continues accruing once spot comes back to the accruing region. At expiry, one buys the accrued Notional at the pre-agreed hedge rate. Payout can be cash or physical. The variation of this product include: Accrual Forward (European and American), Double Accrual Forward (DAF), Boosted Accrual Forward, Fading Forward, Leveraged Accrual Forward, Accrual Forward with Collars, etc.
 */
concept FxAccrualForward  extends Product {
o Double
 spotRate optional
}

/**
 * 
 */
concept FxAccrualLeverage  {
o ConditionEnum condition 
o QuoteBasisEnum quoteBasis optional
o String
 id optional
}

/**
 * A fixing region in which the payoff varies linearly with the fixing value.
 */
concept FxAccrualLinearPayoffRegion  extends FxAccrualPayoffRegion {

}

/**
 * An FX Accrual Option product The product defines a list of fixing (or observation) dates. There are m total fixings. At the expiry date of the product, the buyer of the option has the right to an FX settlement with n/m * Notional. Payout can be cash or physical.
 */
concept FxAccrualOption  extends Option {
o Double
 spotRate optional
}

/**
 * 
 */
abstract concept FxAccrualPayoffRegion  {
o String
 id optional
}

/**
 * Reference to a FX Accrual Payoff Region.
 */
concept FxAccrualPayoffRegionReference  extends Reference {

}

/**
 * Defines a region of spot rate where the notional for the settlement period accrues by the accrued amount per fixing each time the spot rate fixes within the region.
 */
concept FxAccrualRegion  {
o DateTime
 startDate optional
o DateTime
 endDate optional
o DateTime
 endDate1 optional
}

/**
 * 
 */
concept FxAccrualRegionLowerBound  {
o FxRegionLowerBoundDirectionEnum condition 
o QuoteBasisEnum quoteBasis optional
}

/**
 * 
 */
concept FxAccrualRegionUpperBound  {
o FxRegionUpperBoundDirectionEnum condition 
o QuoteBasisEnum quoteBasis optional
}

/**
 * 
 */
concept FxAccrualSettlementPeriod  extends SettlementPeriod {
o Double
 accrualFactor optional
}

/**
 * Payoff region
 */
concept FxAccrualSettlementPeriodPayoff  {
o Double
 strike optional
o Double
 counterCurrencyAmount optional
o Double
 lowerBound optional
o Double
 upperBound optional
o Double
 payoffCap optional
}

/**
 * 
 */
concept FxAccrualSettlementPeriodSchedule  {

}

/**
 * A shared type between accrual forwards and options where the FX accrual strike reference can point to.
 */
concept FxAccrualStrike  extends Schedule {

}

/**
 * Reference to a strike structure in FxAccrualForward or FxAccrualOption products.
 */
concept FxAccrualStrikeReference  extends Reference {

}

/**
 * Describes a european trigger applied to an FX digtal option.
 */
concept FxAccrualTrigger  extends FxTriggerBase {
o String
 id optional
}

/**
 * Reference to a trigger structure in FxAccrualDigitalOption product.
 */
concept FxAccrualTriggerReference  extends Reference {

}

/**
 * Defines the expiry/observation schedule of the target.
 */
concept FxAdjustedDateAndDateAdjustments  {
o DateTime
 adjustedDate 
}

/**
 * Describes the characteristics for american exercise of FX products.
 */
concept FxAmericanExercise  extends FxDigitalAmericanExercise {

}

/**
 * Descibes the averaging period properties for an asian option.
 */
concept FxAsianFeature  {
o StrikeQuoteBasisEnum rateObservationQuoteBasis optional
o StrikeQuoteBasisEnum rateObservationQuoteBasis1 optional
o String
 payoutFormula optional
o Integer
 precision optional
}

/**
 * 
 */
concept FxAverageRate  extends FxAveragingProcess {

}

/**
 * A type that, for average rate options, is used to describe each specific observation date, as opposed to a parametric frequency of rate observations.
 */
concept FxAverageRateObservation  {
o DateTime
 date 
o Double
 averageRateWeightingFactor 
o Double
 rate optional
}

/**
 * A type that describes average rate options rate observations. This is used to describe a parametric frequency of rate observations against a particular rate. Typical frequencies might include daily, every Friday, etc.
 */
concept FxAverageRateObservationSchedule  {
o DateTime
 startDate 
o DateTime
 endDate 
}

/**
 * 
 */
concept FxAverageStrike  extends FxAveragingProcess {
o Double
 strikeAdjustment optional
}

/**
 * Accrual calculation process.
 */
concept FxAveragingProcess  extends FxRateObservable {
o FxAveragingMethodEnum averagingMethod 
o Integer
 precision optional
}

/**
 * Describes the properties of an FX barrier.
 */
concept FxBarrierFeature  {
o FxBarrierTypeEnum barrierType 
o FxBarrierDirectionEnum direction optional
o Double
 triggerRate 
o DateTime
 observationStartDate optional
o DateTime
 observationEndDate optional
}

/**
 * 
 */
concept FxBusinessCenterDateTime  {
o DateTime
 date 
}

/**
 * A type that is used for describing cash settlement of an option / non deliverable forward. It includes the currency to settle into together with the fixings required to calculate the currency amount.
 */
concept FxCashSettlement  {

}

/**
 * A type that is used for describing cash settlement of a variance or volatility swap option. It includes the settlement currency together with the spot currency exchange required to calculate the settlement currency amount.
 */
concept FxCashSettlementSimple  {

}

/**
 * 
 */
concept FxComplexBarrierBase  {
o FxBarrierTypeSimpleEnum barrierType 
o FxBarrierStyleEnum style 
o FxBarrierScopeEnum scope 
o ConditionEnum condition 
o DateTime
 observationStartDate optional
o DateTime
 observationEndDate optional
o String
 id optional
}

/**
 * Reference to a barrier structure defined within the parametric representation.
 */
concept FxComplexBarrierBaseReference  extends Reference {

}

/**
 * 
 */
concept FxConversion  {

}

/**
 * 
 */
concept FxCounterCurrencyAmount  extends NonNegativeAmountSchedule {

}

/**
 * A type that is used for including the currency exchange rates information used to cross between the traded currencies for non-base currency FX contracts.
 */
concept FxCrossRateObservable  {

}

/**
 * An fx curve object., which includes pricing inputs and term structures for fx forwards.
 */
concept FxCurve  extends PricingStructure {

}

/**
 * A valuation of an FX curve object., which includes pricing inputs and term structures for fx forwards.
 */
concept FxCurveValuation  extends PricingStructureValuation {

}

/**
 * The representation of the schedule as an offset relative to another schedule. For example, the settlement schedule may be relative to the expiry schedule by an FxForward offset.
 */
concept FxDateOffset  {
o FxOffsetConventionEnum convention 
}

/**
 * Descrines the characteristics for American exercise in FX digital options.
 */
concept FxDigitalAmericanExercise  extends Exercise {
o DateTime
 expiryDate 
o DateTime
 latestValueDate 
}

/**
 * Describes an option having a triggerable fixed payout.
 */
concept FxDigitalOption  extends Option {

}

/**
 * A structure describing how disruption for a specified currency pair should be handled
 */
concept FxDisruption  {

}

/**
 * The base class for all disruption events
 */
concept FxDisruptionEvent  {

}

/**
 * A container for the disruption event set
 */
concept FxDisruptionEvents  {
o String
[] fxDisruptionEventGroup 
}

/**
 * The base class for all disruption fallbacks
 */
concept FxDisruptionFallback  {

}

/**
 * A container for the disruption fallback set
 */
concept FxDisruptionFallbacks  {
o String
[] fxDisruptionFallbackGroup 
}

/**
 * Describes a set of disruption events and the fallbacks they will invoke
 */
concept FxDisruptionProvisions  {

}

/**
 * Describes the characteristics for European exercise of FX products.
 */
concept FxEuropeanExercise  extends Exercise {
o DateTime
 expiryDate 
o DateTime
 valueDate 
}

/**
 * Indicates the direction who pays and receives a specific currency without specifying the amount.
 */
concept FxExchangedCurrency  {

}

/**
 * Defines the expiry date of the accrual. The date is adjusted, date adjustments may be provided, and also the expiry time.
 */
concept FxExpiryDate  extends FxAdjustedDateAndDateAdjustments {

}

/**
 * Defines the expiry/observation schedule of the target.
 */
concept FxExpirySchedule  extends FxSchedule {
o DateTime
 finalExpiryDate optional
}

/**
 * Describes an alternative set of price sources
 */
concept FxFallbackReferencePrice  extends FxDisruptionFallback {

}

/**
 * A type for defining Fx Features.
 */
concept FxFeature  {

}

/**
 * A type that specifies the source for and timing of a fixing of an exchange rate. This is used in the agreement of non-deliverable forward trades as well as various types of FX OTC options that require observations against a particular rate.
 */
concept FxFixing  {
o DateTime
 fixingDate optional
}

/**
 * A type that is extending the Offset structure for providing the ability to specify an FX fixing date as an offset to dates specified somewhere else in the document.
 */
concept FxFixingDate  extends Offset {
o BusinessDayConventionEnum businessDayConvention 
}

/**
 * 
 */
concept FxFixingObservation  {
o DateTime
 date 
o Double
 weight optional
}

/**
 * Describes a schedule of fixing dates as a parametric description, an explicit list of dates or both.
 */
concept FxFixingSchedule  {
o DateTime
[] fixingDate optional
o DateTime
 startDate optional
o DateTime
 endDate optional
o DateTime
 endDate1 optional
o DayTypeEnum dayType optional
o Integer
 numberOfFixings optional
o DateTime
[] fixingDate1 optional
}

/**
 * Describes the FX fixing schedule, a single continuous observation period which follows the applicable business day schedule for the quoted rate source.
 */
concept FxFixingScheduleSimple  {
o DateTime
 startDate optional
o DateTime
 endDate optional
o DateTime
 endDate1 optional
o DayTypeEnum dayType optional
o DateTime
[] fixingDate optional
}

/**
 * Product model for a flexible-term fx forward (also known as callable forward, window forward). This is a term forward transaction over a specific period, allowing the client full flexibility on the timing of the transactional flow(s). The product allows for (full or partial) execution at a predetermined forward rate, at any time between the start date and the expiry date. Although, the product is an outright, it has some option-like characteristics, leading to the use of option components in the model: (i) the BuyerSeller model expresses the roles of the parties in the overall transaction - the client "buys" the product (ii) the PutCallCurrency model expresses the buyer's perspective on the exchanged currencies i.e. the client may buy (call) or sell (put) the notional currency for the alternative currency.
 */
concept FxFlexibleForward  extends Product {
o DateTime
 finalSettlementDate optional
}

/**
 * 
 */
concept FxFlexibleForwardExecutionPeriod  {
o DateTime
 startDate 
o DateTime
 expiryDate 
o String
 id 
}

/**
 * 
 */
concept FxFlexibleForwardRate  extends QuotedCurrencyPair {
o Double
 rate 
o Double
 spotRate optional
}

/**
 * A type that describes the rate of exchange between the two currencies of the leg of a deal.
 */
concept FxForwardStrikePrice  extends FxAccrualStrike {
o QuoteBasisEnum quoteBasis 
}

/**
 * Describes a contract on future levels of implied volatility. The main characteristic of this product is that the underlying is a straddle (underlying options) with a specific tenor starting from the fixing (effective or pricing) date, and are priced on that fixing date using a level of volatility that is agreed at the time of execution of the volatility agreement.
 */
concept FxForwardVolatilityAgreement  extends Product {
o DateTime
 fixingDate 
o Double
 forwardVolatilityStrikePrice 
}

/**
 * 
 */
concept FxInformationSource  extends InformationSource {

}

/**
 * 
 */
concept FxKnockoutCount  {
o Integer
 conditionalFixings 
o Boolean
 settlementAtKnockout 
}

/**
 * Defines the Target level of gain.
 */
concept FxKnockoutLevel  {
o Double
 intrinsicValue optional
o FxTargetStyleEnum targetStyle 
o FxSettlementAdjustmentMethodEnum settlementAdjustmentStyle optional
}

/**
 * Level is expressed as Schedule, with an initial value and optional steps.
 */
concept FxLevel  extends Schedule {

}

/**
 * Reference to a level structure.
 */
concept FxLevelReference  extends Reference {

}

/**
 * A type to describe the cashflow representation for fx linked notionals.
 */
concept FxLinkedNotionalAmount  {
o DateTime
 resetDate optional
o DateTime
 adjustedFxSpotFixingDate optional
o Double
 observedFxSpotRate optional
o Double
 notionalAmount optional
}

/**
 * A type to describe a notional schedule where each notional that applies to a calculation period is calculated with reference to a notional amount or notional amount schedule in a different currency by means of a spot currency exchange rate which is normally observed at the beginning of each period.
 */
concept FxLinkedNotionalSchedule  {
o Double
 initialValue optional
}

/**
 * Describes the limits on the size of notional when multiple exercise is allowed.
 */
concept FxMultipleExercise  {

}

/**
 * Describes an FX option with optional asian and barrier features.
 */
concept FxOption  extends Option {
o PutCallEnum soldAs optional
o Double
 spotRate optional
}

/**
 * A type describing the features that may be present in an FX option.
 */
concept FxOptionFeatures  {

}

/**
 * A type that contains full details of a predefined fixed payout which may occur (or not) in a Barrier Option or Digital Option when a trigger event occurs (or not).
 */
concept FxOptionPayout  extends NonNegativeMoney {
o PayoutEnum payoutStyle 
}

/**
 * A type that specifies the premium exchanged for a single option trade or option strategy.
 */
concept FxOptionPremium  extends NonNegativePayment {

}

/**
 * A type that describes the rate of exchange at which the option has been struck.
 */
concept FxOptionStrikePrice  extends FxAccrualStrike {
o StrikeQuoteBasisEnum strikeQuoteBasis 
}

/**
 * 
 */
concept FxOutstandingGain  {
o FxSettlementAdjustmentMethodEnum settlementAdjustmentStyle optional
}

/**
 * The amount of gain on the client upside or firm upside is limited. If spot settles above the cap, or below the floor, the payout is adjusted to limit the gain. The adjustment may be made by varying the strike, or by maintaining the strike, but varying the payout notionals.
 */
concept FxPayoffCap  {
o ConditionEnum condition 
o FxSettlementAdjustmentMethodEnum settlementAdjustmentStyle 
}

/**
 * FX Performance Fixed Leg describes Fixed FX Rate Payer and Fixed Rate.
 */
concept FxPerformanceFixedLeg  extends FxPerformanceLeg {
o Double
 fixedRate 
}

/**
 * Fx Performance Floating Leg describes Floating FX Rate Payer.
 */
concept FxPerformanceFloatingLeg  extends FxPerformanceLeg {

}

/**
 * Floating FX Rate describes Fixed FX Rate Payer and Fixed Rate
 */
abstract concept FxPerformanceLeg  {

}

/**
 * Describes an FX volatility and variance swap.
 */
concept FxPerformanceSwap  extends Product {
o DateTime
 valuationDate optional
o Double
 annualizationFactor 
o Boolean
 meanAdjustment 
o Integer
 numberOfReturns optional
}

/**
 * Pivot is expressed as Schedule, with an initial value and optional steps.
 */
concept FxPivot  extends Schedule {

}

/**
 * Reference to a pivot structure.
 */
concept FxPivotReference  extends Reference {

}

/**
 * An FX Range Accrual product. A strip of Digital Options product The product defines a list of fixing (or observation) dates. There are m total fixings. On the relevant Settlement Date, the Option Seller shall pay to the Option Buyer an amount, in the Settlement Currency, calculated according to the following formula: Accrual Currency and Notional Amount x (the total number of Accrual Days / Total Number of Calendar Days in the Accrual Period). Payout can be cash.
 */
concept FxRangeAccrual  extends Product {

}

/**
 * A type describing the rate of a currency conversion: pair of currency, quotation mode and exchange rate.
 */
concept FxRate  {
o Double
 rate 
}

/**
 * 
 */
concept FxRateAsset  extends UnderlyingAsset {

}

/**
 * 
 */
concept FxRateObservable  {
o String
 id optional
}

/**
 * Reference to an "FxRateObservable" structure.
 */
concept FxRateObservableReference  extends Reference {

}

/**
 * A collection of spot FX rates used in pricing.
 */
concept FxRateSet  extends QuotedAssetSet {

}

/**
 * Describes a rate source to be fixed and the date the fixing occurs
 */
concept FxRateSourceFixing  {

}

/**
 * The FxSchedule may be expressed as explicit adjusted dates, or a parametric representation plus optional adjusted dates, or as an offset plus optional adusted dates.
 */
concept FxSchedule  {
o DateTime
[] adjustedDate optional
o DateTime
 startDate optional
o DateTime
 endDate optional
o DateTime
 endDate1 optional
o DayTypeEnum dayType optional
o DateTime
[] adjustedDate1 optional
o String
 id optional
}

/**
 * Reference to a FX Schedule structure.
 */
concept FxScheduleReference  extends Reference {

}

/**
 * 
 */
concept FxSettlementPeriodBarrier  {
o Double
 triggerRate 
}

/**
 * 
 */
concept FxSettlementRateSource  {

}

/**
 * 
 */
concept FxSettlementSchedule  extends FxSchedule {
o DateTime
 finalSettlementDate optional
}

/**
 * A type defining either a spot or forward FX transactions.
 */
concept FxSingleLeg  extends Product {
o DealtCurrencyEnum dealtCurrency optional
o FxTenorPeriodEnum tenorName optional
o DateTime
 valueDate optional
o DateTime
 currency1ValueDate optional
o DateTime
 currency2ValueDate optional
}

/**
 * A type defining the rate source and fixing time for an fx rate.
 */
concept FxSpotRateSource  {

}

/**
 * Straddle details. Straddle is composed of two options: a call and a put involving the quotedCurrencyPair.
 */
concept FxStraddle  {
o FxStraddleTypeEnum straddleType 
}

/**
 * The Currency and Amount to be paid by the Buyer to the Seller. The straddle premium is calculated on the Fixing Date using the Forward Volatility Agreement parameters.
 */
concept FxStraddlePremium  extends PaymentBaseExtended {

}

/**
 * Strike is expressed as Schedule, with an initial value and optional steps.
 */
concept FxStrike  extends Schedule {

}

/**
 * A type that describes the rate of exchange at which the option has been struck.
 */
concept FxStrikePrice  {
o Double
 rate 
o StrikeQuoteBasisEnum strikeQuoteBasis 
}

/**
 * Reference to a strike structure.
 */
concept FxStrikeReference  extends Reference {

}

/**
 * A type defining either a spot/forward or forward/forward FX swap transaction.
 */
concept FxSwap  extends Product {

}

/**
 * A type defining the details for one of the transactions in an FX swap.
 */
concept FxSwapLeg  extends Leg {
o DealtCurrencyEnum dealtCurrency optional
o FxTenorPeriodEnum tenorName optional
o DateTime
 valueDate optional
o DateTime
 currency1ValueDate optional
o DateTime
 currency2ValueDate optional
}

/**
 * 
 */
concept FxTarget  {
o String
 id optional
}

/**
 * 
 */
concept FxTargetAccumulationRegion  {
o Double
 multiplier optional
}

/**
 * 
 */
concept FxTargetBarrier  extends FxComplexBarrierBase {

}

/**
 * 
 */
concept FxTargetConstantPayoff  {
o Double
 fixingAdjustment optional
}

/**
 * A fixing region in which the payoff is a constant value (a binary|digital payoff, or zero).
 */
concept FxTargetConstantPayoffRegion  extends FxTargetPayoffRegion {

}

/**
 * A structured forward product which consists of a strip of forwards. Each forward may be settled as an exchange of currencies or cash settled. At each settlement, the amount of gain that one party achieves is measured. The product has a target level of gain. Once the accumulated gain exceeds the target level, the product terminates and there are no further settlements.
 */
concept FxTargetKnockoutForward  extends Product {
o Double
 spotRate optional
o String
[] group optional
}

/**
 * 
 */
concept FxTargetLeverage  {
o ConditionEnum condition 
o String
 id optional
}

/**
 * A fixing region in which the payoff varies linearly with the fixing value.
 */
concept FxTargetLinearPayoffRegion  extends FxTargetPayoffRegion {

}

/**
 * 
 */
abstract concept FxTargetPayoffRegion  {
o String
 id optional
}

/**
 * Reference to a FX Target Payoff Region.
 */
concept FxTargetPayoffRegionReference  extends Reference {

}

/**
 * 
 */
concept FxTargetPhysicalSettlement  {
o FxSettlementAdjustmentMethodEnum settlementAdjustmentStyle 
}

/**
 * A rebate can be expressed as a payment amount or as amount of outstanding gain.
 */
concept FxTargetRebate  {

}

/**
 * Reference to a target structure.
 */
concept FxTargetReference  extends Reference {

}

/**
 * 
 */
concept FxTargetRegionLowerBound  {
o FxRegionLowerBoundDirectionEnum condition 
}

/**
 * 
 */
concept FxTargetRegionUpperBound  {
o FxRegionUpperBoundDirectionEnum condition 
}

/**
 * 
 */
concept FxTargetSettlementPeriod  extends SettlementPeriod {
o Double
 pivot optional
}

/**
 * Payoff region
 */
concept FxTargetSettlementPeriodPayoff  {
o Double
 strike 
o Double
 counterCurrencyAmount optional
o Double
 lowerBound optional
o Double
 upperBound optional
o Double
 payoffCap optional
}

/**
 * 
 */
concept FxTargetSettlementPeriodSchedule  {

}

/**
 * Reference a code defining the origin of the trade template terms
 */
concept FxTemplateTerms  {
o String
 value optional
o String
 fxTemplateTermsScheme optional
}

/**
 * A structure which specifies FX conversion terms.
 */
concept FxTerms  extends FxFixing {
o Double
 rate 
}

/**
 * Describes an american or discrete touch or no-touch trigger applied to an FX binary or digital option.
 */
concept FxTouch  {
o TouchConditionEnum touchCondition 
o TriggerConditionEnum direction optional
o Double
 triggerRate 
o Double
 spotRate optional
o DateTime
 observationStartDate optional
o DateTime
 observationEndDate optional
}

/**
 * Describes a european trigger applied to an FX digtal option.
 */
concept FxTrigger  extends FxTriggerBase {

}

/**
 * Describes a european trigger applied to an FX digtal option.
 */
concept FxTriggerBase  {
o TriggerConditionEnum triggerCondition 
o Double
 triggerRate 
o Double
 spotRate optional
}

/**
 * Valuation date offset is used in FX Variance Swap and Volatility Swap to always relate the Final Observation Date and can be: [Final Observation Date][The first Business Day following the Final Observation Date]
 */
concept FxValuationDateOffset  extends Offset {

}

/**
 * Describes a schedule of fixing dates as a parametric description, an explicit list of dates or both.
 */
concept FxWeightedFixingSchedule  {
o DateTime
 startDate optional
o DateTime
 endDate optional
o DateTime
 endDate1 optional
o DayTypeEnum dayType optional
o Integer
 numberOfFixings optional
}

/**
 * The specification of the gas to be delivered.
 */
concept GasDelivery  {
o DeliveryTypeEnum deliveryType 
}

/**
 * The different options for specifying the Delivery Periods for a physically settled gas trade.
 */
concept GasDeliveryPeriods  extends CommodityDeliveryPeriods {

}

/**
 * A scheme identifying the types of the Delivery Point for a physically settled gas trade.
 */
concept GasDeliveryPoint  {
o String
 value optional
o String
 deliveryPointScheme optional
}

/**
 * Physically settled leg of a physically settled gas transaction.
 */
concept GasPhysicalLeg  extends PhysicalSwapLeg {

}

/**
 * The quantity of gas to be delivered.
 */
concept GasPhysicalQuantity  extends CommodityPhysicalQuantityBase {

}

/**
 * A type defining the characteristics of the gas being traded in a physically settled gas transaction.
 */
concept GasProduct  {
o GasProductTypeEnum type 
o Double
 calorificValue optional
}

/**
 * The quantity of gas to be delivered.
 */
concept GasQuality  {
o String
 value optional
o String
 gasQualityScheme optional
}

/**
 * 
 */
concept GeneralTerms  {
o Boolean
 substitution optional
o Boolean
 modifiedEquityDelivery optional
}

/**
 * 
 */
concept GenericCommodityDeliveryPeriod  {
o DayOfWeekExtEnum[] applicableDay 
}

/**
 * A flexible description of the type or characteristics of a commodity grade
 */
concept GenericCommodityGrade  {
o String
 value optional
o String
 commodityGradeScheme optional
}

/**
 * A generic (user defined) dimension, e.g. for use in a correlation surface. e.g. a currency, stock, etc. This would take values like USD, GBP, JPY, or IBM, MSFT, etc.
 */
concept GenericDimension  {
o String
 value optional
o String
 name 
}

/**
 * The data type used to hold the exercise style description of an option in a generic product (e.g. American, European, Bermudan).
 */
concept GenericExerciseStyle  {
o String
 value optional
o String
 exerciseStyleScheme optional
}

/**
 * 
 */
concept GenericFrequency  extends Frequency {

}

/**
 * 
 */
concept GenericOptionStrike  extends EquityStrike {
o String
 units 
}

/**
 * Simple product representation providing key information about a variety of different products. Generic products - for use in Transparency reporting to define a product that represents an OTC derivative transaction whose economics are not fully described using an FpML schema. In other views, generic products are present for convenience to support internal messaging and workflows that are cross-product. Generic products are not full trade representations as such they are not intended to be used for confirming trades.
 */
concept GenericProduct  extends Product {
o Boolean
 multiLeg optional
o LoadTypeEnum loadType optional
o Double
 quantity optional
o Double
 optionEntitlement optional
o Double
 numberOfOptions optional
o SettlementTypeEnum settlementType optional
}

/**
 * A type that is used for describing the exchange rate for a particular transaction.
 */
concept GenericProductExchangeRate  {
o Double
 rate 
o Double
 spotRate optional
o Double
 forwardPoints optional
o PointValue pointValue optional
}

/**
 * A flexible description a special feature or characteristic of a complex product not otherwise modeled, such as digital payout.
 */
concept GenericProductFeature  {
o String
 value optional
o String
 featureScheme optional
}

/**
 * A type that describes the composition of a rate that has been quoted or is to be quoted. This includes the two currencies and the quotation relationship between the two currencies and is used as a building block throughout the FX specification.
 */
concept GenericProductQuotedCurrencyPair  {
o QuoteBasisEnum quoteBasis 
}

/**
 * 
 */
concept GenericResetFrequency  extends Frequency {

}

/**
 * Identification of the law governing the transaction.
 */
concept GoverningLaw  {
o String
 value optional
o String
 governingLawScheme optional
}

/**
 * 
 */
concept GracePeriodExtension  {
o Boolean
 applicable 
}

/**
 * A payment component owed from one party to the other for the cash flow date. This payment component should by of only a single type, e.g. a fee or a cashflow from a cashflow stream.
 */
concept GrossCashflow  {

}

/**
 * A generic type describing an identified asset.
 */
abstract concept IdentifiedAsset  extends AAsset {
o String
 description optional
}

/**
 * Specifies Currency with ID attribute.
 */
concept IdentifiedCurrency  extends Currency {
o String
 id optional
}

/**
 * Reference to a currency with ID attribute
 */
concept IdentifiedCurrencyReference  extends Reference {

}

/**
 * A date which can be referenced elsewhere.
 */
concept IdentifiedDate  {
o DateTime
 value optional
o String
 id optional
}

/**
 * A type extending the PayerReceiverEnum type wih an id attribute.
 */
concept IdentifiedPayerReceiver  {
o PayerReceiverEnum value optional
o String
 id optional
}

/**
 * A rate which can be referenced elsewhere.
 */
concept IdentifiedRate  {
o Double
 value optional
o String
 id optional
}

/**
 * A version of a specification document used by the message generator to format the document.
 */
concept ImplementationSpecification  {
o String
 name optional
o DateTime
 date optional
}

/**
 * 
 */
concept ImplementationSpecificationVersion  {
o String
 value optional
o String
 implementationSpecificationVersionScheme optional
}

/**
 * 
 */
concept IndependentAmount  {

}

/**
 * A published index whose price depends on exchange traded constituents.
 */
concept Index  extends ExchangeTradedCalculatedPrice {

}

/**
 * Defines the specification of the consequences of Index Events as defined by the 2002 ISDA Equity Derivatives Definitions.
 */
concept IndexAdjustmentEvents  {
o IndexEventConsequenceEnum indexModification 
o IndexEventConsequenceEnum indexCancellation 
o IndexEventConsequenceEnum indexDisruption 
}

/**
 * 
 */
concept IndexAnnexSource  {
o String
 value optional
o String
 indexAnnexSourceScheme optional
}

/**
 * A structure describing the effect of a change to an index.
 */
concept IndexChange  extends ChangeEvent {
o Double
 indexFactor 
}

/**
 * 
 */
concept IndexId  {
o String
 value optional
o String
 indexIdScheme optional
}

/**
 * 
 */
concept IndexName  {
o String
 value optional
o String
 indexNameScheme optional
}

/**
 * A type defining a Credit Default Swap Index.
 */
concept IndexReferenceInformation  {
o Integer
 indexSeries optional
o Integer
 indexAnnexVersion optional
o DateTime
 indexAnnexDate optional
o Double
 indexFactor optional
o String
 id optional
}

/**
 * A party's industry sector classification.
 */
concept IndustryClassification  {
o String
 value optional
o String
 industryClassificationScheme optional
}

/**
 * A type defining the components specifiying an Inflation Rate Calculation
 */
concept InflationRateCalculation  extends FloatingRateCalculation {
o Double
 initialIndexLevel optional
o Boolean
 fallbackBondApplicable 
}

/**
 * 
 */
concept InformationProvider  {
o String
 value optional
o String
 informationProviderScheme optional
}

/**
 * A type defining the source for a piece of information (e.g. a rate refix or an fx fixing).
 */
concept InformationSource  {
o String
 rateSourcePageHeading optional
}

/**
 * Defines initial margin applied to a repo transaction. Initial margin is an agreed premium to the Purchase Price of a repo to determine the required Market Value of the collateral to be delivered on the Purchase Date. It reflects quality of the collateral. Its aim is to calculate the risk-adjusted or liquidation value of collateral.
 */
concept InitialMargin  {
o MarginTypeEnum marginType 
}

/**
 * Defines the initial margin calculation applicable to a single piece of collateral.
 */
concept InitialMarginCalculation  {
o Double
 marginRatio optional
o Double
[] marginRatioThreshold optional
o Double
 haircut optional
o Double
[] haircutThreshold optional
}

/**
 * 
 */
concept InitialPayment  extends PaymentBase {
o DateTime
 adjustablePaymentDate optional
o DateTime
 adjustedPaymentDate optional
}

/**
 * A short form unique identifier for a security.
 */
concept InstrumentId  {
o String
 value optional
o String
 instrumentIdScheme 
}

/**
 * A collection of instruments usable for quotation purposes. In future releases, quotable derivative assets may be added after the underlying asset.
 */
concept InstrumentSet  {
o String
[] group optional
o String
[] underlyingAssetGroup optional
o String
[] curveInstrumentGroup optional
}

/**
 * The economics of a trade of a multiply traded instrument.
 */
concept InstrumentTradeDetails  extends Product {
o String
 underlyingAssetGroup 
}

/**
 * A structure describing the price paid for the instrument.
 */
concept InstrumentTradePricing  {
o DateTime
 couponStartDate optional
o DateTime
 exDividendDate optional
o Boolean
 tradedFlatOfAccrued optional
}

/**
 * A structure describing the value in "native" currency of an instrument that was traded.
 */
concept InstrumentTradePrincipal  {

}

/**
 * A structure describing the amount of an instrument that was traded.
 */
concept InstrumentTradeQuantity  {
o Double
 number optional
}

/**
 * Identification of the border(s) or border point(s) of a transportation contract. Use the list of EIC codes for timelines for electricity (T Codes) or the list of EIC codes for measurement points for gas (Z Codes).
 */
concept InterconnectionPoint  {
o String
 value optional
o String
 interconnectionPointScheme optional
}

/**
 * A type defining the way in which interests are accrued: the applicable rate (fixed or floating reference) and the compounding method.
 */
concept InterestAccrualsCompoundingMethod  extends InterestAccrualsMethod {
o CompoundingMethodEnum compoundingMethod optional
}

/**
 * A type describing the method for accruing interests on dividends. Can be either a fixed rate reference or a floating rate reference.
 */
concept InterestAccrualsMethod  {
o Double
 fixedRate optional
}

/**
 * Specifies the calculation method of the interest rate leg of the return swap. Includes the floating or fixed rate calculation definitions, along with the determination of the day count fraction.
 */
concept InterestCalculation  extends InterestAccrualsMethod {
o InterpolationPeriodEnum interpolationPeriod optional
o String
 id optional
}

/**
 * An event representing the lender-specific capitalization of interest amounts for a given accrual period against a single loan contract.
 */
concept InterestCapitalization  extends AbstractLoanContractEvent {
o DateTime
 startDate 
o DateTime
 endDate 
o InterestCalculationMethodEnum calculationMethod 
}

/**
 * A type describing the fixed income leg of the equity swap.
 */
concept InterestLeg  extends DirectionalLeg {

}

/**
 * Component that holds the various dates used to specify the interest leg of the return swap. It is used to define the InterestPeriodDates identifyer.
 */
concept InterestLegCalculationPeriodDates  {
o String
 id 
}

/**
 * Reference to the calculation period dates of the interest leg.
 */
concept InterestLegCalculationPeriodDatesReference  extends Reference {

}

/**
 * 
 */
concept InterestLegResetDates  {
o ResetRelativeToEnum resetRelativeTo optional
}

/**
 * A type defining the components specifiying an interest rate stream, including both a parametric and cashflow representation for the stream of payments.
 */
concept InterestRateStream  extends Leg {

}

/**
 * Reference to an InterestRateStream component.
 */
concept InterestRateStreamReference  extends Reference {

}

/**
 * 
 */
concept InterestShortFall  {
o InterestShortfallCapEnum interestShortfallCap 
o Boolean
 compounding 
}

/**
 * A type that describes the information to identify an intermediary through which payment will be made by the correspondent bank to the ultimate beneficiary of the funds.
 */
concept IntermediaryInformation  {
o Integer
 intermediarySequenceNumber 
}

/**
 * The type of interpolation used.
 */
concept InterpolationMethod  {
o String
 value optional
o String
 interpolationMethodScheme optional
}

/**
 * The data type used for issuer identifiers.
 */
concept IssuerId  {
o String
 value optional
o String
 issuerIdScheme optional
}

/**
 * A complex type for a two part identifier such as a USI.
 */
concept IssuerTradeId  {

}

/**
 * Knock In means option to exercise comes into existence. Knock Out means option to exercise goes out of existence.
 */
concept Knock  {

}

/**
 * Describes an observation that caused a barrier knock out to trigger
 */
concept KnockOutRateObservation  extends TriggerRateObservation {

}

/**
 * An observation period that is offset from a Calculation Period.
 */
concept Lag  {
o String
 id optional
}

/**
 * Allows a lag to reference one already defined elsewhere in the trade.
 */
concept LagReference  extends Reference {

}

/**
 * The data type used for indicating the language of the resource, described using the ISO 639-2/T Code.
 */
concept Language  {
o String
 value optional
o String
 languageScheme optional
}

/**
 * A full definition of the accrual characteristics of a letter of credit. This structure defines both the underlying letter of credit issuance fee rate as well as any FX rates applied.
 */
concept LcAccrual  extends FeeRateOptionBase {

}

/**
 * An event representing a change in the notional amount associated with an outstanding letter of credit.
 */
concept LcAdjustment  extends AbstractLcEvent {
o Boolean
 relatedBorrowing 
}

/**
 * An event representing a change in either the [L/C -> Facility] or [Accrual -> L/C] FX rates (or both) on an outstanding letter of credit.
 */
concept LcFxRevaluation  extends AbstractLcEvent {

}

/**
 * An event representing the issuance of a new letter of credit under an existing facility.
 */
concept LcIssuance  extends AbstractLcEvent {

}

/**
 * An event representing a letter of credit issuance fee payment.
 */
concept LcIssuanceFeePayment  extends AbstractLcEvent {
o DateTime
 startDate 
o DateTime
 endDate 
}

/**
 * A loan servicing notification used to communicate various letter of credit business events.
 */
concept LcNotification  extends AbstractContractNotification {
o String
 lcEventGroupGroup 
}

/**
 * A structure that represents the accruing L/C rate option associated within a facility.
 */
concept LcOption  extends FeeRateOptionBase {
o DateTime
 startDate 
o DateTime
 endDate 
}

/**
 * An event representing a change in an L/C accrual option. In real terms - an example of this would be an L/C margin rate change.
 */
concept LcOptionChange  extends AbstractFacilityEvent {

}

/**
 * A list of L/C purposes.
 */
concept LcPurpose  {
o String
 value optional
o String
 lcPurposeScheme optional
}

/**
 * An event representing a change in the rate on an outstanding letter of credit.
 */
concept LcRateChange  extends AbstractLcEvent {
o Double
 rate 
}

/**
 * An event representing a change in the maturity date on an outstanding letter of credit.
 */
concept LcRenewal  extends AbstractLcEvent {
o DateTime
 finalExpiryDate 
o DateTime
 maturityDate optional
}

/**
 * An event representing either the expiry or cancellation of a letter of credit
 */
concept LcTermination  extends AbstractLcEvent {
o Boolean
 expiry 
}

/**
 * A list of L/C types.
 */
concept LcType  {
o String
 value optional
o String
 lcTypeScheme optional
}

/**
 * A supertype of leg. All swap legs extend this type.
 */
abstract concept Leg  {
o String
 id optional
}

/**
 * A type defining a legal entity.
 */
concept LegalEntity  {
o String
 id optional
}

/**
 * References a credit entity defined elsewhere in the document.
 */
concept LegalEntityReference  extends Reference {

}

/**
 * A type describing the amount that will paid or received on each of the payment dates. This type is used to define both the Equity Amount and the Interest Amount.
 */
concept LegAmount  {
o String
 encodedDescription optional
}

/**
 * Leg identity.
 */
concept LegId  {
o String
 value optional
o String
 legIdScheme 
}

/**
 * Version aware identification of a leg.
 */
concept LegIdentifier  {
o Integer
 version optional
}

/**
 * A list of lender clasifications. These are used to derive other rules associated with specific lender types.
 */
concept LenderClassification  {
o String
 value optional
o String
 lenderClassificationScheme optional
}

/**
 * A definition of an unfunded borrowing (guarantee) instrument known as a Letter of Credit.
 */
concept LetterOfCredit  extends LetterOfCreditSummary {
o DateTime
 expiryDate 
o DateTime
 finalExpiryDate optional
o LcAutoAdjustEnum lcAutoAdjust optional
}

/**
 * A facility designed to issue letter of credit products.
 */
concept LetterOfCreditFacility  extends AbstractFacility {

}

/**
 * A reference to a letter of credit.
 */
concept LetterOfCreditReference  extends Reference {
o String
 href 
}

/**
 * A short form definition of a letter of credit.
 */
concept LetterOfCreditSummary  {
o DateTime
 effectiveDate 
}

/**
 * A type describing the liens associated with a loan facility.
 */
concept Lien  {
o String
 value optional
o String
 lienScheme optional
}

/**
 * 
 */
concept LimitApplicable  {
o Integer
 clipSize 
o Integer
 amountUtilized optional
o Integer
 amountRemaining optional
}

/**
 * 
 */
concept LimitId  {
o String
 value optional
o String
 creditLimitIdScheme optional
}

/**
 * 
 */
concept LimitType  {
o String
 value optional
o String
 creditLimitTypeScheme optional
}

/**
 * The data type used for link identifiers.
 */
concept LinkId  {
o String
 value optional
o String
 id optional
o String
 linkIdScheme 
}

/**
 * A type describing a loan underlying asset.
 */
concept Loan  extends UnderlyingAsset {
o String
[] group optional
o DateTime
 maturity optional
o DateTime
 creditAgreementDate optional
}

/**
 * A base type to extend the FpML basic 'message' type, similar in function to the 'response' message, but specific to the needs loan asset class.
 */
concept LoanAcknowledgement  extends Message {
o Integer
 sequenceNumber optional
}

/**
 * An event structure defining information related to a loan trade allocation.
 */
concept LoanAllocation  extends AbstractLoanAllocationSummary {

}

/**
 * A loan servicing notification used to communicate confirmation of trade allocation details, from counterparty to counterparty, or admin agent to counterparty.
 */
concept LoanAllocationConfirmationNotification  extends AbstractLoanTradingNotification {

}

/**
 * An event structure defining information related to a loan trade allocation.
 */
concept LoanAllocationEvent  extends AbstractLoanAllocationEvent {

}

/**
 * A structure that contains sender-specific and optional shared loan allocation identifiers.
 */
concept LoanAllocationIdentifier  extends TradeIdentifier {

}

/**
 * A structure that describes a period during which settlement cannot occur.
 */
concept LoanAllocationNoSettlePeriod  {
o DateTime
 startDate 
o DateTime
 endDate 
}

/**
 * A structure that defines no-settle period types based on a qualifying scheme.
 */
concept LoanAllocationNoSettlePeriodType  {
o String
 value optional
o String
 noSettlePeriodTypeScheme optional
}

/**
 * A loan servicing notification used to communicate trade allocation details, from counterparty to counterparty, or counterparty to admin agent.
 */
concept LoanAllocationNotification  extends AbstractLoanTradingNotification {

}

/**
 * A structure that represents a payment related to a loan trade.
 */
concept LoanAllocationPayment  extends Payment {
o String
[] group optional
}

/**
 * A reference to a loan trade allocation.
 */
concept LoanAllocationReference  extends Reference {
o String
 href 
}

/**
 * A loan servicing notification used to communicate trade settlement date coordination (i.e. availability) details, between admin agent and counterparties.
 */
concept LoanAllocationSettlementDateAvailabilityNotification  extends AbstractLoanTradingNotification {
o String
[] loanTradeAllocationDetailsModel optional
o String
[] facilityDetailsModel optional
}

/**
 * A loan servicing notification used to communicate finalized trade settlement date details, from admin agent to counterparties.
 */
concept LoanAllocationSettlementDateFinalizationNotification  extends AbstractLoanTradingNotification {
o String
[] loanTradeAllocationDetailsModel optional
o String
[] facilityDetailsModel optional
}

/**
 * An event structure defining the counterparty-to-counterparty trade settlement details.
 */
concept LoanAllocationSettlementEvent  extends AbstractLoanAllocationSettlementEvent {

}

/**
 * A loan servicing notification used to communicate trade settlement details (including funding economics), from counterparty to counterparty.
 */
concept LoanAllocationSettlementNotification  extends AbstractLoanAllocationPaymentNotification {
o String
[] loanTradeAllocationDetailsModel optional
o String
[] facilityLoanContractDetailsModel optional
}

/**
 * A structure that details tasks and their statuses, the completion of which are prerequisites to the settlement of a trade or allocation.
 */
concept LoanAllocationSettlementTask  extends AbstractLoanTask {

}

/**
 * A loan servicing notification used to communicate allocation-level tasks and their statuses, the completion of which are deemed by the sender of the notification to be prerequisites to the settlement of a trade or allocation.
 */
concept LoanAllocationSettlementTaskNotification  extends AbstractLoanTradingNotification {
o String
[] loanTradeAllocationDetailsModel optional
o String
[] facilityDetailsModel optional
}

/**
 * A structure used to uniquely identify a settlement task type within a syndicated loan structure.
 */
concept LoanAllocationSettlementTaskType  {
o String
 value optional
o String
 allocationSettlementTaskTypeScheme optional
}

/**
 * A structure that defines details related to the admin agent's determination of transfer fee(s) owed on an allocation.
 */
concept LoanAllocationTransferFeeDueEvent  extends AbstractLoanAllocationEvent {
o DateTime
 dueDate 
}

/**
 * A loan servicing notification used to communicate transfer fee details, from admin agent to counterparty.
 */
concept LoanAllocationTransferFeeDueNotification  extends AbstractLoanAllocationPaymentNotification {
o String
[] loanTradeAllocationDetailsModel optional
o String
[] facilityDetailsModel optional
}

/**
 * A structure that defines details related to the admin agent's determination of transfer fee(s) owed on an allocation.
 */
concept LoanAllocationTransferFeeOwedEvent  extends AbstractLoanAllocationEvent {
o Boolean
 waivedFlag 
}

/**
 * A loan servicing notification used to communicate transfer fee details, from admin agent to counterparty.
 */
concept LoanAllocationTransferFeeOwedNotification  extends AbstractLoanTradingNotification {
o String
[] loanTradeAllocationDetailsModel optional
o String
[] facilityDetailsModel optional
}

/**
 * A loan servicing notification used to communicate multiple business events, within a single notification.
 */
concept LoanBulkServicingNotification  extends AbstractContractNotification {
o String
[] group optional
o String
[] facilityFeePaymentGroupGroup optional
o String
[] facilityEventGroupGroup optional
o String
[] loanContractEventGroupGroup optional
o String
[] lcEventGroupGroup optional
o String
[] group1 optional
}

/**
 * A funded borrowing instrument which utilizes a portion of an available under a single facility (line of credit) within a bank deal (credit agreement).
 */
concept LoanContract  extends LoanContractSummary {
o DateTime
 repricingDate optional
o DateTime
 maturityDate optional
}

/**
 * An event representing adjustment in the notional amount of a loan contract that has no cash flow effect. E.g. an amount adjustment due to a defaulted loan.
 */
concept LoanContractAdjustment  extends AbstractLoanContractEvent {

}

/**
 * An event representing the initial setting of the rate on a single (new) loan contract.
 */
concept LoanContractBaseRateSet  extends AbstractLoanContractEvent {
o DateTime
 fixingDate 
o Double
 rate 
}

/**
 * An event representing a change of maturity date on a one or more outstanding loan contracts.
 */
concept LoanContractMaturityChange  extends AbstractLoanContractEvent {
o DateTime
 currentMaturityDate 
o DateTime
 priorMaturityDate optional
}

/**
 * A loan servicing notification used to communicate various loan contract business events.
 */
concept LoanContractNotification  extends AbstractContractNotification {
o String
 loanContractEventGroupGroup 
}

/**
 * A reference to a loan contract.
 */
concept LoanContractReference  extends Reference {
o String
 href 
}

/**
 * A short form of a loan contract.
 */
concept LoanContractSummary  {
o DateTime
 effectiveDate 
}

/**
 * An event representing the lender-specific payment of interest amounts for a given accrual period against a single loan contract.
 */
concept LoanInterestPayment  extends AbstractLoanContractEvent {
o DateTime
 startDate 
o DateTime
 endDate 
o InterestCalculationMethodEnum calculationMethod 
}

/**
 * A message used to acknowledge a loan notification.
 */
concept LoanNotificationAcknowledgement  extends LoanAcknowledgement {

}

/**
 * A message used to indicate an exception issue with a loan notification.
 */
concept LoanNotificationException  extends Exception {

}

/**
 * A message used to indicate a retraction of a loan notification.
 */
concept LoanNotificationRetracted  extends NonCorrectableRequestMessage {

}

/**
 * 
 */
concept LoanParticipation  extends PCDeliverableObligationCharac {
o String
 qualifyingParticipationSeller optional
}

/**
 * A set of instructions communicated by parties to override standard payment details for a specific to a set of (any) loan events.
 */
concept LoanPartyEventInstructionOverrideNotification  extends AbstractLoanPartyProfileNotification {

}

/**
 * A profile generated and communicated by parties containing their relevant contact and payment details. This is communicated by parties to anyone who wishes to initiate payments and/or communicate with them.
 */
concept LoanPartyProfileNotification  extends AbstractLoanPartyProfileNotification {

}

/**
 * A set of instructions communicated by parties to override standard payment details for a specific trade or allocation settlement only.
 */
concept LoanPartyTradingInstructionOverrideNotification  extends AbstractLoanPartyProfileNotification {

}

/**
 * An event structure defining information related to trade settlement date coordination.
 */
concept LoanSettlementDateAvailabilityEvent  extends AbstractLoanAllocationEvent {
o DateTime
 startDate optional
o DateTime
 endDate optional
o DateTime
 onOrAfterDate optional
o Integer
 leadDays optional
o DateTime
 cutOffTime optional
}

/**
 * An event structure defining the trade settlement date.
 */
concept LoanSettlementDateFinalizationEvent  extends AbstractLoanAllocationEvent {
o DateTime
 settlementDate 
}

/**
 * A structure that defines counterparty-to-counterparty loan trade information. This structure contains the main (e.g. fund manager/main counterparty) trade details.
 */
concept LoanTrade  extends AbstractLoanTrade {
o Double
 price 
o LoanTradingDocTypeEnum documentationType 
o LoanTradingAccrualSettlementEnum accrualSettlementType 
o Boolean
 delayedCompensationFlag 
o BuySellEnum nonRecurringFeesBenefactor 
o Boolean
 collateralRequiredFlag optional
o LoanTradingVotingRightsEnum votingRights optional
}

/**
 * A loan servicing notification used to communicate confirmation of master trade details, from counterparty to counterparty.
 */
concept LoanTradeConfirmationNotification  extends AbstractLoanTradingNotification {

}

/**
 * An event structure defining counterparty-to-counterparty loan trade information. This structure contains the main (e.g. fund manager/main counterparty) trade details.
 */
concept LoanTradeEvent  extends AbstractLoanTradeEvent {

}

/**
 * A loan servicing notification used to communicate details to establish a master trade, from counterparty to counterparty.
 */
concept LoanTradeNotification  extends AbstractLoanTradingNotification {

}

/**
 * A structure that represents a payment related to a loan trade.
 */
concept LoanTradePayment  extends Payment {

}

/**
 * A reference to a loan trade.
 */
concept LoanTradeReference  extends Reference {
o String
 href 
}

/**
 * A structure that details tasks and their statuses, the completion of which are prerequisites to the settlement of a trade or allocation.
 */
concept LoanTradeSettlementTask  extends AbstractLoanTask {

}

/**
 * A loan servicing notification used to communicate master trade-level tasks and their statuses, the completion of which are deemed by the sender of the notification to be prerequisites to the settlement of a trade or allocation.
 */
concept LoanTradeSettlementTaskNotification  extends AbstractLoanTradingNotification {
o String
[] facilityDetailsModel optional
}

/**
 * A structure that uniquely identifies a settlement task type within a syndicated loan structure.
 */
concept LoanTradeSettlementTaskType  {
o String
 value optional
o String
 tradeSettlementTaskTypeScheme optional
}

/**
 * A structure that defines all loan trade information i.e. this structure contains the main (e.g. fund manager/main counterparty) trade details.
 */
concept LoanTradeSummary  extends AbstractLoanTradeSummary {

}

/**
 * A structure that defines details related to the admin agent's determination of transfer fee(s) owed on a trade.
 */
concept LoanTradeTransferFeeDueEvent  extends AbstractLoanTradeEvent {
o DateTime
 dueDate 
}

/**
 * A loan servicing notification used to communicate transfer fee details, from admin agent to counterparty.
 */
concept LoanTradeTransferFeeDueNotification  extends AbstractLoanTradePaymentNotification {
o String
[] facilityDetailsModel optional
}

/**
 * A structure that defines details related to the admin agent's determination of transfer fee(s) owed on an allocation.
 */
concept LoanTradeTransferFeeOwedEvent  extends AbstractLoanTradeEvent {
o Boolean
 waivedFlag 
}

/**
 * A loan servicing notification used to communicate transfer fee details, from admin agent to counterparty.
 */
concept LoanTradeTransferFeeOwedNotification  extends AbstractLoanTradingNotification {

}

/**
 * A structure that details the underlying elements that affect the calculation of a fee accrual.
 */
concept LoanTradingAccruingFeeAccrual  extends AbstractTradingAccrual {
o LoanTradingAccruingFeeTypeEnum type optional
}

/**
 * A structure that incorporates elements of an accrual calculation, for the purpose of defining cost-of-carry.
 */
concept LoanTradingCostOfCarry  {

}

/**
 * A schedule that incorporates all sub-periods of an accrual calculation for the purposes of determining the cost of carry in the case of a trade with delayed settlement.
 */
concept LoanTradingCostOfCarryAccrual  {

}

/**
 * A structure that defines the factors that impact settlement cashflows.
 */
concept LoanTradingCounterpartySettlementFundingFactors  {

}

/**
 * A structure that incorporates elements of interest and fee accruals, for the purpose of defining delayed compensation.
 */
concept LoanTradingDelayedCompensation  {

}

/**
 * A structure that combines a simple (money) amount with an optional event, for the purpose of defining economic benefit at settlement.
 */
concept LoanTradingEconomicBenefit  {

}

/**
 * A structure that incorporates sub-periods of an accrual calculation for a traded letter of credit.
 */
concept LoanTradingLetterOfCreditAccrual  extends AbstractTradingAccrual {

}

/**
 * A structure that details the underlying elements that affect the calculation of a fee accrual.
 */
concept LoanTradingNonRecurringFee  {
o LoanTradingNonRecurringFeeTypeEnum feeType optional
}

/**
 * A structure that incorporates sub-periods of an accrual calculation for a traded outstanding contract.
 */
concept LoanTradingOutstandingsAccrual  extends AbstractTradingAccrual {

}

/**
 * A type that describes a role played by a party in a trading transaction. Examples include roles such as guarantor, custodian, confirmation service provider, etc. This can be extended to provide custom roles.
 */
concept LoanTradingPartyRole  {
o String
 value optional
o String
 tradingPartyRoleScheme optional
}

/**
 * A structure that details key dates related to a task that is a prerequisite to trade settlement.
 */
concept LoanTradingSettlementTaskDates  {
o DateTime
 raisedDate 
o DateTime
 expectedDate optional
o DateTime
 clearedDate optional
}

/**
 * An event structure defining counterparty-to-admin agent loan trade information.
 */
concept LoanTransfer  extends AbstractLoanTrade {
o BuySellEnum transferFeeRemittedBy 
}

/**
 * A structure that represents countparty shares or alternatively the total amount of the assignment fee owed to the admin agent.
 */
concept LoanTransferFee  {
o BuySellEnum remittedBy 
o LoanTransferFeePaidByEnum paidBy optional
}

/**
 * A loan servicing notification used to communicate details to establish a master trade, from counterparty to admin agent.
 */
concept LoanTransferNotification  extends AbstractLoanTradingNotification {

}

/**
 * An event structure defining the agent-to-counterparty trade settlement details.
 */
concept LoanTransferSettlementEvent  extends AbstractLoanAllocationSettlementEvent {

}

/**
 * A loan servicing notification used to communicate trade settlement position and outstandings details, from admin agent to counterparty.
 */
concept LoanTransferSettlementNotification  extends AbstractLoanTradingNotification {
o String
[] loanTradeAllocationDetailsModel optional
o String
[] facilityLoanContractDetailsModel optional
}

/**
 * A type to define the main publication source.
 */
concept MainPublication  {
o String
 value optional
o String
 mainPublicationScheme optional
}

/**
 * A complex type to specify the amount to be paid by the buyer of the option if the option is exercised prior to the Early Call Date (Typically applicable to the convertible bond options).
 */
concept MakeWholeAmount  extends SwapCurveValuation {

}

/**
 * A type to hold early exercise provisions.
 */
concept MakeWholeProvisions  {
o DateTime
 makeWholeDate 
o Double
 recallSpread 
}

/**
 * An event representing a change in the mandatory cost rate, applicable to certain outstanding loans in the UK market.
 */
concept MandatoryCostRateChange  extends FacilityRateChangeEvent {

}

/**
 * An event representing expiration of the mandatory cost rate applicable in the UK market.
 */
concept MandatoryCostRateExpiry  extends AbstractFacilityContractEvent {

}

/**
 * A type to define an early termination provision for which exercise is mandatory.
 */
concept MandatoryEarlyTermination  {
o String
 id optional
}

/**
 * A type defining the adjusted dates associated with a mandatory early termination provision.
 */
concept MandatoryEarlyTerminationAdjustedDates  {
o DateTime
 adjustedEarlyTerminationDate 
o DateTime
 adjustedCashSettlementValuationDate 
o DateTime
 adjustedCashSettlementPaymentDate 
}

/**
 * A type defining manual exercise, i.e. that the option buyer counterparty must give notice to the option seller of exercise.
 */
concept ManualExercise  {
o Boolean
 fallbackExercise optional
}

/**
 * A collection of pricing inputs.
 */
concept Market  {
o String
 name optional
o String
[] pricingStructureGroup optional
o String
[] pricingStructureValuationGroup optional
o String
 id optional
}

/**
 * Defines the handling of an averaging date market disruption for an equity derivative transaction.
 */
concept MarketDisruption  {
o String
 value optional
o String
 marketDisruptionScheme optional
}

/**
 * A Market Disruption Event.
 */
concept MarketDisruptionEvent  {
o String
 value optional
o String
 commodityMarketDisruptionScheme optional
}

/**
 * Reference to a market structure.
 */
concept MarketReference  extends Reference {

}

/**
 * An entity for defining the agreement executed between the parties and intended to govern all OTC derivatives transactions between those parties.
 */
concept MasterAgreement  {
o DateTime
 masterAgreementDate optional
}

/**
 * A master agreement identifier allocated by a party. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.
 */
concept MasterAgreementId  {
o String
 value optional
o String
 masterAgreementIdScheme optional
}

/**
 * 
 */
concept MasterAgreementType  {
o String
 value optional
o String
 masterAgreementTypeScheme optional
}

/**
 * 
 */
concept MasterAgreementVersion  {
o String
 value optional
o String
 masterAgreementVersionScheme optional
}

/**
 * An entity for defining the master confirmation agreement executed between the parties.
 */
concept MasterConfirmation  {
o DateTime
 masterConfirmationDate 
o DateTime
 masterConfirmationAnnexDate optional
}

/**
 * 
 */
concept MasterConfirmationAnnexType  {
o String
 value optional
o String
 masterConfirmationAnnexTypeScheme optional
}

/**
 * 
 */
concept MasterConfirmationType  {
o String
 value optional
o String
 masterConfirmationTypeScheme optional
}

/**
 * An identifier used to identify matched cashflows.
 */
concept MatchId  {
o String
 value optional
o String
 matchIdScheme optional
}

/**
 * A scheme identifying the types of metal product for a physically settled metal trade.
 */
concept Material  {
o String
 value optional
o String
 commodityMetalProductTypeScheme optional
}

/**
 * A type defining a mathematical expression.
 */
concept Math  {
o String
[] mixed optional
o String
[] any 
}

/**
 * 
 */
concept MatrixSource  {
o String
 value optional
o String
 settledEntityMatrixSourceScheme optional
}

/**
 * 
 */
concept MatrixTerm  {
o String
 value optional
o String
 matrixTermScheme optional
}

/**
 * 
 */
concept MatrixType  {
o String
 value optional
o String
 matrixTypeScheme optional
}

/**
 * 
 */
concept MaturingContractsType  {
o String
[] loanContractDetailsModel optional
}

/**
 * A message used to notify another party that a trade has matured. This can be used to report, for example, that a swap has passed its final payment and can be removed, or that an option has expired without being executed.
 */
concept MaturityNotification  extends CorrectableRequestMessage {

}

/**
 * A type defining the basic structure of all FpML messages which is refined by its derived types.
 */
abstract concept Message  extends Document {

}

/**
 * The data type used for identifying a message address.
 */
concept MessageAddress  {
o String
 value optional
o String
 messageAddressScheme optional
}

/**
 * A type defining the content model for a generic message header that is refined by its derived classes.
 */
abstract concept MessageHeader  {

}

/**
 * The data type use for message identifiers.
 */
concept MessageId  {
o String
 value optional
o String
 messageIdScheme 
}

/**
 * A type defining the characteristics of the metal product being traded in a physically settled metal transaction.
 */
concept Metal  {

}

/**
 * The physical delivery conditions for the transaction.
 */
concept MetalDelivery  {
o Double
 totalQuantityTolerance 
o Double
 periodQuantityTolerance 
o MetalTitleEnum title 
}

/**
 * Physically settled leg of a physically settled Metal transaction.
 */
concept MetalPhysicalLeg  extends PhysicalForwardLeg {
o Double
 conversionFactor optional
}

/**
 * The type that indicates the type of media used to store the content. MimeType is used to determine the software product(s) that can read the content. MIME types are described in RFC 2046.
 */
concept MimeType  {
o String
 value optional
o String
 mimeTypeScheme optional
}

/**
 * An event describing a non-recurring fee being paid at either the loan contract or facility level.
 */
concept MiscFeePayment  extends NonRecurringFeePayment {

}

/**
 * A type defining a currency amount.
 */
concept Money  extends MoneyBase {
o Double
 amount 
}

/**
 * Abstract base class for all money types.
 */
abstract concept MoneyBase  {
o String
 id optional
}

/**
 * A type defining a currency amount with a reference.
 */
concept MoneyRef  extends PositiveMoney {

}

/**
 * An extension of the money type with the ability to specify a lender share amount in addition to the global amount (represented by 'amount').
 */
concept MoneyWithParticipantShare  extends Money {
o Double
 shareAmount optional
}

/**
 * A type describing a mortgage asset.
 */
concept Mortgage  extends UnderlyingAsset {
o String
 issuerName optional
o Double
 couponRate optional
o DateTime
 maturity optional
o Double
 originalPrincipalAmount optional
o String
 tranche optional
}

/**
 * A type describing the typology of mortgage obligations.
 */
concept MortgageSector  {
o String
 value optional
o String
 mortgageSectorScheme optional
}

/**
 * A struture that defines all the currencies in which funds can be drawn against a facility.
 */
concept MultiCurrency  {

}

/**
 * A pricing data set that contains a series of points with coordinates. It is a sparse matrix representation of a multi-dimensional matrix.
 */
concept MultiDimensionalPricingData  {
o QuotationSideEnum side optional
o DateTime
 time optional
o DateTime
 valuationDate optional
o DateTime
 expiryTime optional
}

/**
 * A type defining multiple exercises. As defining in the 2000 ISDA Definitions, Section 12.4. Multiple Exercise, the buyer of the option has the right to exercise all or less than all the unexercised notional amount of the underlying swap on one or more days in the exercise period, but on any such day may not exercise less than the minimum notional amount or more than the maximum notional amount, and if an integral multiple amount is specified, the notional exercised must be equal to or, be an integral multiple of, the integral multiple amount.
 */
concept MultipleExercise  {
o Double
 integralMultipleAmount optional
o Double
 minimumNotionalAmount optional
o Integer
 minimumNumberOfOptions optional
o Double
 maximumNotionalAmount optional
o Double
 maximumNumberOfOptions optional
}

/**
 * 
 */
concept MultipleValuationDates  extends SingleValuationDate {
o Integer
 businessDaysThereafter optional
o Integer
 numberValuationDates optional
}

/**
 * 
 */
concept MutualFund  extends UnderlyingAsset {
o Boolean
 openEndedFund optional
o String
 fundManager optional
}

/**
 * A structure including a net and/or a gross amount and possibly fees and commissions.
 */
concept NetAndGross  {
o Double
 net optional
o Double
 gross optional
o Double
 net1 optional
}

/**
 * An abstract base class for all swap types which have a single netted leg, such as Variance Swaps, and Correlation Swaps.
 */
abstract concept NettedSwapBase  extends Product {

}

/**
 * A type defining the content model for a request message that cannot be subsequently corrected or retracted.
 */
concept NonCorrectableRequestMessage  extends RequestMessage {
o Integer
 sequenceNumber optional
}

/**
 * A type defining the parameters used when the reference currency of the swapStream is non-deliverable.
 */
concept NonDeliverableSettlement  {

}

/**
 * Describes a currency which may be delivered instead
 */
concept NonDeliverableSubstitute  extends FxDisruptionFallback {

}

/**
 * A type defining a currency amount or a currency amount schedule.
 */
concept NonNegativeAmountSchedule  extends NonNegativeSchedule {

}

/**
 * A type defining a non negative money amount.
 */
concept NonNegativeMoney  extends MoneyBase {
o Double
 amount 
}

/**
 * A complex type to specify non negative payments.
 */
concept NonNegativePayment  extends PaymentBaseExtended {

}

/**
 * A type defining a schedule of non-negative rates or amounts in terms of an initial value and then a series of step date and value pairs. On each step date the rate or amount changes to the new step value. The series of step date and value pairs are optional. If not specified, this implies that the initial value remains unchanged over time.
 */
concept NonNegativeSchedule  {
o Double
 initialValue 
o String
 id optional
}

/**
 * A type defining a step date and non-negative step value pair. This step definitions are used to define varying rate or amount schedules, e.g. a notional amortization or a step-up coupon schedule.
 */
concept NonNegativeStep  extends StepBase {
o Double
 stepValue 
}

/**
 * The details of a fixed payment. Can be used for a forward transaction or as the base for a more complex fixed leg component such as the fixed leg of a swap.
 */
concept NonPeriodicFixedPriceLeg  extends CommoditySwapLeg {
o Boolean
 masterAgreementPaymentDates optional
}

/**
 * An event describing a non-recurring fee being paid at either the loan contract or facility level.
 */
abstract concept NonRecurringFeePayment  extends AbstractFacilityContractEvent {

}

/**
 * A loan servicing notification used to communicate a non-recurring fee payment made by the borrower.
 */
concept NonRecurringFeePaymentNotification  extends AbstractContractNotification {
o String
 facilityFeePaymentGroupGroup 
o String
[] loanContractDetailsModel optional
}

/**
 * A list of all non-recurring (one-off) fee types.
 */
concept NonRecurringMiscFeeType  {
o String
 value optional
o String
 nonRecurringMiscFeeTypeScheme optional
}

/**
 * 
 */
concept NotDomesticCurrency  {
o Boolean
 applicable 
}

/**
 * A type defining the basic content for a message sent to inform another system that some 'business event' has occured. Notifications are not expected to be replied to.
 */
abstract concept NotificationMessage  extends Message {
o Integer
 sequenceNumber optional
}

/**
 * A type that refines the generic message header to match the requirements of a NotificationMessage.
 */
concept NotificationMessageHeader  extends MessageHeader {
o DateTime
 creationTimestamp 
o DateTime
 expiryTimestamp optional
}

/**
 * 
 */
concept NotifyingParty  {

}

/**
 * An type defining the notional amount or notional amount schedule associated with a swap stream. The notional schedule will be captured explicitly, specifying the dates that the notional changes and the outstanding notional amount that applies from that date. A parametric representation of the rules defining the notional step schedule can optionally be included.
 */
concept Notional  {
o String
 id optional
}

/**
 * A complex type to specify the notional amount.
 */
concept NotionalAmount  extends NonNegativeMoney {

}

/**
 * A reference to the notional amount.
 */
concept NotionalAmountReference  extends Reference {
o String
 href 
}

/**
 * A reference to the notional amount.
 */
concept NotionalReference  extends Reference {

}

/**
 * How a notional is to be reported for this reporting regime. E.g. for ESMA EMIR, it would be Nominal or Monetary Amount
 */
concept NotionalReportingType  {
o String
 value optional
o String
 notionalTypeScheme optional
}

/**
 * A type defining a parametric representation of the notional step schedule, i.e. parameters used to generate the notional balance on each step date. The step change in notional can be expressed in terms of either a fixed amount or as a percentage of either the initial notional or previous notional amount. This parametric representation is intended to cover the more common amortizing/accreting.
 */
concept NotionalStepRule  {
o DateTime
 firstNotionalStepDate 
o DateTime
 lastNotionalStepDate 
o Double
 notionalStepAmount optional
o Double
 notionalStepRate optional
o StepRelativeToEnum stepRelativeTo optional
}

/**
 * 
 */
concept NoTouchLowerBarrierObservation  {
o Double
 triggerRate optional
}

/**
 * 
 */
concept NoTouchRateObservation  {
o DateTime
 observationStartDate 
o DateTime
 observationEndDate 
o ExerciseSideEnum exerciseSide optional
o SettlementTypeEnum settlementType optional
o Boolean
 isExercisable optional
}

/**
 * 
 */
concept NoTouchUpperBarrierObservation  {
o Double
 triggerRate optional
}

/**
 * A reference to the number of options.
 */
concept NumberOfOptionsReference  extends Reference {

}

/**
 * A reference to the number of units.
 */
concept NumberOfUnitsReference  extends Reference {

}

/**
 * 
 */
concept ObligationAccelerationEvent  extends CreditEvent {

}

/**
 * 
 */
concept ObligationDefaultEvent  extends CreditEvent {

}

/**
 * 
 */
concept Obligations  {
o ObligationCategoryEnum category 
o Boolean
 notSubordinated optional
o Boolean
 notSovereignLender optional
o Boolean
 notDomesticLaw optional
o Boolean
 listed optional
o Boolean
 notDomesticIssuance optional
o Boolean
 fullFaithAndCreditObLiability optional
o Boolean
 generalFundObligationLiability optional
o Boolean
 revenueObligationLiability optional
o Boolean
 notContingent optional
o String
 excluded optional
o String
 othReferenceEntityObligations optional
o Boolean
 cashSettlementOnly optional
o Boolean
 deliveryOfCommitments optional
o Boolean
 continuity optional
}

/**
 * A type defining the frequency at which calculation period end dates occur within the regular part of the calculation period schedule and thier roll date convention. In case the calculation frequency is of value T (term), the period is defined by the swap\swapStream\calculationPerioDates\effectiveDate and the swap\swapStream\calculationPerioDates\terminationDate.
 */
concept ObservationFrequency  extends Period {
o RollConventionEnum periodConvention optional
}

/**
 * 
 */
concept ObservedPrice  {
o DateTime
 date optional
o DateTime
 time optional
}

/**
 * 
 */
concept ObservedRate  {
o Double
 rate 
o DateTime
 date optional
o DateTime
 time optional
}

/**
 * A type defining an offset used in calculating a new date relative to a reference date. E.g. calendar days, business days, Commodity Business days, etc..
 */
concept Offset  extends Period {
o DayTypeEnum dayType optional
}

/**
 * Allows the specification of a time that may be on a day prior or subsequent to the day in question. This type is intended for use with a day of the week (i.e. where no actual date is specified) as part of, for example, a period that runs from 23:00-07:00 on a series of days and where holidays on the actual days would affect the entire time period.
 */
concept OffsetPrevailingTime  {

}

/**
 * The physical delivery conditions for an oil product.
 */
concept OilDelivery  {

}

/**
 * Physically settled leg of a physically settled oil product transaction.
 */
concept OilPhysicalLeg  extends PhysicalSwapLeg {

}

/**
 * The physical delivery conditions specific to an oil product delivered by pipeline.
 */
concept OilPipelineDelivery  {
o Boolean
 deliverableByBarge 
}

/**
 * The specification of the oil product to be delivered.
 */
concept OilProduct  {

}

/**
 * The type of physical commodity product to be delivered.
 */
concept OilProductType  {
o String
 value optional
o String
 commodityOilProductTypeScheme optional
}

/**
 * The physical delivery conditions specific to an oil product delivered by title transfer.
 */
concept OilTransferDelivery  {
o Boolean
 applicable 
}

/**
 * 
 */
concept OnBehalfOf  {

}

/**
 * A type for defining the common features of options. Buyer/seller information is not normally used in Transparency view but is optional in case the information is needed for administrative purposes such as Reporting Party determination.
 */
abstract concept Option  extends Product {

}

/**
 * A type defining an early termination provision where either or both parties have the right to exercise.
 */
concept OptionalEarlyTermination  {
o String
 exerciseGroup 
o Boolean
 followUpConfirmation optional
}

/**
 * A type defining the adjusted dates associated with an optional early termination provision.
 */
concept OptionalEarlyTerminationAdjustedDates  {

}

/**
 * A type for defining the common features of options.
 */
abstract concept OptionBase  extends Option {
o OptionTypeEnum optionType 
}

/**
 * Base type for options starting with the 4-3 release, until we refactor the schema as part of the 5-0 release series.
 */
abstract concept OptionBaseExtended  extends OptionBase {
o String
 exerciseGroup 
o Double
 optionEntitlement optional
o Double
 numberOfOptions optional
o SettlementTypeEnum settlementType optional
}

/**
 * 
 */
concept OptionEvent  extends AbstractEvent {

}

/**
 * A structure describing an option exercise. The OptionExercise type supports partial exercise (specify the number of options or amount to exercise), full exercise (use fullExercise flag), as well as the option to request options not to be exercised.
 */
concept OptionExercise  extends AbstractEvent {
o DateTime
 exerciseDate optional
o DateTime
 exerciseTime optional
o ExerciseTimingEnum exerciseTiming optional
o ExerciseActionEnum exerciseAction optional
o Boolean
 expiry optional
o Boolean
 fullExercise optional
o Double
 exerciseInNumberOfOptions optional
o Double
 outstandingNumberOfOptions optional
o Double
 exerciseInNumberOfUnits optional
o Double
 outstandingNumberOfUnits optional
o ExerciseSideEnum exerciseSide optional
o SettlementTypeEnum settlementType optional
}

/**
 * 
 */
concept OptionExerciseAmounts  {
o Double
 exerciseInNumberOfOptions optional
o Double
 outstandingNumberOfOptions optional
o Double
 exerciseInNumberOfUnits optional
o Double
 outstandingNumberOfUnits optional
}

/**
 * A structure describing an option expiring (i.e. passing its last exercise time and becoming worthless.)
 */
concept OptionExpiry  extends AbstractEvent {
o DateTime
 date 
o DateTime
 time 
}

/**
 * A structure describing an option expiring.
 */
concept OptionExpiryBase  {
o DateTime
 date 
o DateTime
 time 
}

/**
 * A type for defining option features.
 */
concept OptionFeature  {

}

/**
 * A type for defining option features.
 */
concept OptionFeatures  {

}

/**
 * A type for defining the strike price for an option as a numeric value without currency.
 */
concept OptionNumericStrike  {
o Double
 strikePrice optional
o Double
 strikePercentage optional
}

/**
 * A type for defining the strike price for an equity option. The strike price is either: (i) in respect of an index option transaction, the level of the relevant index specified or otherwise determined in the transaction; or (ii) in respect of a share option transaction, the price per share specified or otherwise determined in the transaction. This can be expressed either as a percentage of notional amount or as an absolute value.
 */
concept OptionStrike  extends OptionNumericStrike {

}

/**
 * The type of option transaction (e.g. Call, Put); specifies whether the option allows the holder to buy or sell the underlying asset, or pay or receive a payment related to the price of underlying asset, in the event of exercise.
 */
concept OptionType  {
o String
 value optional
o String
 optionTypeScheme optional
}

/**
 * A type that an identifier for an order.
 */
concept OrderId  {
o String
 value optional
o String
 orderIdScheme optional
}

/**
 * A type that an order's identifier(s).
 */
concept OrderIdentifier  {

}

/**
 * A characteristic of an organization used in declaring an end-user exception.
 */
concept OrganizationCharacteristic  {
o String
 value optional
o String
 organizationCharacteristicScheme optional
}

/**
 * A code that describes what type of role an organization plays, for example a SwapsDealer, a Major Swaps Participant, or Other
 */
concept OrganizationType  {
o String
 value optional
o String
 organizationTypeScheme optional
}

/**
 * 
 */
concept OriginalMessageType  {
o String
 any 
}

/**
 * 
 */
concept OriginatingEvent  {
o String
 value optional
o String
 originatingEventScheme optional
}

/**
 * Indicator as to the type of transaction in accordance with Articles 20(3)(a) and 21(5)(a) of Regulation (EU) 600/2014.
 */
concept OtcClassification  {
o String
 value optional
o String
 otcClassificationScheme optional
}

/**
 * An entity for defining the an agreement executed between parties.
 */
concept OtherAgreement  {
o DateTime
 date optional
}

/**
 * A agreement identifier allocated by a party. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.
 */
concept OtherAgreementId  {
o String
 value optional
o String
 agreementIdScheme optional
}

/**
 * 
 */
concept OtherAgreementType  {
o String
 value optional
o String
 agreementTypeScheme optional
}

/**
 * 
 */
concept OtherAgreementVersion  {
o String
 value optional
o String
 agreementVersionScheme optional
}

/**
 * A collection of outstanding loan contract and/or letter of credit structures belonging to a single facility.
 */
concept OutstandingContractsStatement  extends AbstractLoanStatement {
o String
[] group optional
}

/**
 * A structure that represents outstanding loan contracts or outstanding letter of credit position. Both the global and lender position (current and prior) levels can be represented.
 */
concept OutstandingsPosition  {

}

/**
 * A structure that defines an override identifier based on a qualifying scheme.
 */
concept OverrideId  {
o String
 value optional
o String
 overrideIdScheme 
}

/**
 * A type that identifies an override record.
 */
concept OverrideIdentifier  {
o String
 id optional
}

/**
 * Identifying information for a tradePackage (a bundle of trades).
 */
concept PackageHeader  {
o Double
 size optional
}

/**
 * A type defining additional information that may be recorded against a package of trades.
 */
concept PackageInformation  {
o Boolean
 intentToAllocate optional
o Boolean
 intentToClear optional
}

/**
 * Summary information about a trade package.
 */
concept PackageSummary  {
o Double
 size optional
o Double
 sequenceNumber optional
}

/**
 * A type that describes what thpe of package this is, e.g. Butterfly.
 */
concept PackageType  {
o String
 value optional
o String
 packageTypeScheme optional
}

/**
 * An adjustment used to accommodate a parameter of the input trade, e.g. the strike.
 */
concept ParametricAdjustment  {
o String
 name 
}

/**
 * A value of the adjustment point, consisting of the x value and the corresponding y value.
 */
concept ParametricAdjustmentPoint  {
o Double
 parameterValue 
o Double
 adjustmentValue 
}

/**
 * A type defining partial exercise. As defined in the 2000 ISDA Definitions, Section 12.3 Partial Exercise, the buyer of the option may exercise all or less than all the notional amount of the underlying swap but may not be less than the minimum notional amount (if specified) and must be an integral multiple of the integral multiple amount if specified.
 */
concept PartialExercise  {
o Double
 integralMultipleAmount optional
o Double
 minimumNotionalAmount optional
o Integer
 minimumNumberOfOptions optional
}

/**
 * A type defining a legal entity or a subdivision of a legal entity.
Parties can perform multiple roles in a trade lifecycle. For example, the principal parties obligated to make payments from time to time during the term of the trade, but may include other parties involved in, or incidental to, the trade, such as parties acting in the role of novation transferor/transferee, broker, calculation agent, etc. In FpML roles are defined in multiple places within a document.
 */
concept Party  {
o String
 id 
}

/**
 * A type that specifies the classification of a party.
 */
concept PartyEntityClassification  {

}

/**
 * The data type used for party group classification.
 */
concept PartyGroupType  {
o String
 value optional
o String
 partyGroupTypeScheme optional
}

/**
 * The data type used for party identifiers.
 */
concept PartyId  {
o String
 value optional
o String
 partyIdScheme 
}

/**
 * A type defining additional information that may be recorded against a message.
 */
concept PartyMessageInformation  {

}

/**
 * The data type used for the legal name of an organization.
 */
concept PartyName  {
o String
 value optional
o String
 partyNameScheme optional
}

/**
 * A type to represent agreed period of notice to be given in advance before exercise of the open repo trade by a party requesting such exercise and reference to that party.
 */
concept PartyNoticePeriod  {

}

/**
 * A type to represent a portfolio name for a particular party.
 */
concept PartyPortfolioName  {
o String
 id optional
}

/**
 * A type that describes a party profile record.
 */
concept PartyProfile  extends AbstractPartyProfile {
o String
[] group optional
}

/**
 * A structure that defines documentation related to a party profile.
 */
concept PartyProfileDocumentation  {

}

/**
 * A structure that defines a party profile identifier based on a qualifying scheme.
 */
concept PartyProfileId  {
o String
 value optional
o String
 partyProfileIdScheme 
}

/**
 * A type that identifies a party profile record.
 */
concept PartyProfileIdentifier  {
o String
 id optional
}

/**
 * Reference to a party.
 */
concept PartyReference  extends Reference {

}

/**
 * A type containing a code representing how two parties are related, e.g. Affiliated, Intragroup, None.
 */
concept PartyRelationshipType  {
o String
 value optional
o String
 id optional
o String
 partyRelationshipTypeScheme optional
}

/**
 * A type describing a role played by a party in one or more transactions. Examples include roles such as guarantor, custodian, confirmation service provider, etc. This can be extended to provide custom roles.
 */
concept PartyRole  {
o String
 value optional
o String
 partyRoleScheme optional
}

/**
 * A type refining the role a role played by a party in one or more transactions. Examples include "AllPositions" and "SomePositions" for Guarantor. This can be extended to provide custom types.
 */
concept PartyRoleType  {
o String
 value optional
o String
 partyRoleTypeScheme optional
}

/**
 * A type defining one or more trade identifiers allocated to the trade by a party. A link identifier allows the trade to be associated with other related trades, e.g. trades forming part of a larger structured transaction. It is expected that for external communication of trade there will be only one tradeId sent in the document per party.
 */
concept PartyTradeIdentifier  extends TradeIdentifier {

}

/**
 * A reference to a partyTradeIdentifier object.
 */
concept PartyTradeIdentifierReference  extends Reference {

}

/**
 * A type containing multiple partyTradeIdentifier.
 */
concept PartyTradeIdentifiers  {

}

/**
 * A type defining party-specific additional information that may be recorded against a trade.
 */
concept PartyTradeInformation  {
o Boolean
 isAccountingHedge optional
o Boolean
 intentToAllocate optional
o Boolean
 intentToClear optional
o Boolean
 endUserException optional
o Boolean
 nonStandardTerms optional
o Boolean
 offMarketPrice optional
o Boolean
 largeSizeTrade optional
o Boolean
 compressedTrade optional
o Boolean
 isSecuritiesFinancing optional
o Boolean
 isCommodityHedge optional
o Boolean
 isDisputed optional
}

/**
 * Type which contains pass through payments.
 */
concept PassThrough  {

}

/**
 * Type to represent a single pass through payment.
 */
concept PassThroughItem  {
o Double
 passThroughPercentage 
}

/**
 * A type for defining payments. In Transparency view, normally the payer and receiver party references are not used; however they may be provided if necessary for administrative activities such as Reporting Party Determination in FX.
 */
concept Payment  extends PaymentBase {
o Double
 discountFactor optional
}

/**
 * An abstract base class for payment types.
 */
abstract concept PaymentBase  {
o String
 id optional
}

/**
 * Base type for payments.
 */
abstract concept PaymentBaseExtended  extends PaymentBase {

}

/**
 * A type defining the adjusted payment date and associated calculation period parameters required to calculate the actual or projected payment amount. This type forms part of the cashflow representation of a swap stream.
 */
concept PaymentCalculationPeriod  {
o DateTime
 unadjustedPaymentDate optional
o DateTime
 adjustedPaymentDate optional
o Double
 fixedPaymentAmount optional
o Double
 discountFactor optional
o String
 id optional
}

/**
 * A type defining parameters used to generate the payment dates schedule, including the specification of early or delayed payments. Payment dates are determined relative to the calculation period dates or the reset dates.
 */
concept PaymentDates  {
o DateTime
 firstPaymentDate optional
o DateTime
 lastRegularPaymentDate optional
o PayRelativeToEnum payRelativeTo 
o String
 id optional
}

/**
 * Reference to a payment dates structure.
 */
concept PaymentDatesReference  extends Reference {

}

/**
 * 
 */
concept PaymentDetail  extends PaymentBase {

}

/**
 * Details on the referenced payment. e.g. Its cashflow components, settlement details.
 */
concept PaymentDetails  {

}

/**
 * A structure that represents interest payment projections.
 */
concept PaymentProjection  {
o DateTime
 nextPaymentDate 
}

/**
 * Reference to a payment.
 */
concept PaymentReference  extends Reference {

}

/**
 * The abstract base type from which all calculation rules of the independent amount must be derived.
 */
abstract concept PaymentRule  {

}

/**
 * 
 */
concept PaymentType  {
o String
 value optional
o String
 paymentTypeScheme optional
}

/**
 * 
 */
concept PCDeliverableObligationCharac  {
o Boolean
 applicable 
o Boolean
 partialCashSettlement optional
}

/**
 * An event representing a change in the penalty rate applicable to outstanding loans.
 */
concept PenaltyRateChange  extends FacilityRateChangeEvent {

}

/**
 * An event representing expiration of the penalty rate.
 */
concept PenaltyRateExpiry  extends AbstractFacilityContractEvent {

}

/**
 * A structure representing a pending dividend or coupon payment.
 */
concept PendingPayment  extends PaymentBase {
o DateTime
 paymentDate 
}

/**
 * A type defining a content model for a calculation rule defined as percentage of the notional amount.
 */
concept PercentageRule  extends PaymentRule {
o Double
 paymentPercent 
}

/**
 * The acceptable tolerance in the delivered quantity of a physical commodity product in terms of a percentage of the agreed delivery quantity.
 */
concept PercentageTolerance  {
o Double
 postitive 
o Double
 negative 
}

/**
 * A type to define recurring periods or time offsets.
 */
concept Period  {
o Integer
 periodMultiplier 
o PeriodEnum period 
o String
 id optional
}

/**
 * 
 */
concept PeriodicDates  {

}

/**
 * 
 */
concept PeriodicPayment  extends PaymentBase {
o DateTime
 firstPeriodStartDate optional
o DateTime
 firstPaymentDate optional
o DateTime
 lastRegularPaymentDate optional
o RollConventionEnum rollConvention optional
}

/**
 * A structure that represents a rate applicable against a well-defined or open-ended period.
 */
concept PeriodRate  {
o DateTime
 startDate 
o DateTime
 endDate optional
o Double
 rate 
}

/**
 * A type that represents information about a person connected with a trade or business process.
 */
concept Person  {
o String
 honorific optional
o String
 firstName optional
o String
[] middleName optional
o String
[] initial optional
o String
 surname optional
o String
 suffix optional
o DateTime
 dateOfBirth optional
o String
 id optional
}

/**
 * An identifier used to identify an individual person.
 */
concept PersonId  {
o String
 value optional
o String
 personIdScheme optional
}

/**
 * Reference to an individual.
 */
concept PersonReference  extends Reference {

}

/**
 * A type describing a role played by a person in one or more transactions. Examples include roles such as Trader, Broker, MiddleOffice, Legal, etc. This can be extended to provide custom roles.
 */
concept PersonRole  {
o String
 value optional
o String
 personRoleScheme optional
}

/**
 * The type of perturbation applied to compute a derivative perturbatively.
 */
concept PerturbationType  {
o String
 value optional
o String
 perturbationTypeScheme optional
}

/**
 * The common components of a physically settled leg of a Commodity Forward. This is an abstract type and should be extended by commodity-specific types.
 */
abstract concept PhysicalForwardLeg  extends CommodityForwardLeg {

}

/**
 * A structure that describes how an option settles into a physical trade.
 */
concept PhysicalSettlement  {
o String
 productGroup optional
}

/**
 * 
 */
concept PhysicalSettlementPeriod  {
o Boolean
 businessDaysNotSpecified optional
o Integer
 businessDays optional
o Integer
 maximumBusinessDays optional
}

/**
 * 
 */
concept PhysicalSettlementTerms  extends SettlementTerms {
o Boolean
 escrow optional
o Boolean
 sixtyBusinessDaySettlementCap optional
}

/**
 * The common components of a physically settled leg of a Commodity Swap. This is an abstract type and should be extended by commodity-specific types.
 */
abstract concept PhysicalSwapLeg  extends CommoditySwapLeg {

}

/**
 * A type representing an arbitary grouping of trade references.
 */
concept Portfolio  {
o String
 id optional
}

/**
 * A structure used to group together individual messages that can be acted on at a group level.
 */
concept PortfolioConstituentReference  extends PortfolioReferenceBase {
o Integer
 sequenceNumber 
}

/**
 * The data type used for portfolio names.
 */
concept PortfolioName  {
o String
 value optional
o String
 id optional
o String
 portfolioNameScheme optional
}

/**
 * A structure used to group together individual messages that can be acted on at a group level.
 */
concept PortfolioReference  extends PortfolioReferenceBase {
o Integer
 sequenceNumber 
o Boolean
 submissionsComplete optional
}

/**
 * A structure used to identify a portfolio in a message.
 */
concept PortfolioReferenceBase  {

}

/**
 * A type defining a positive money amount
 */
concept PositiveMoney  extends MoneyBase {
o Double
 amount 
}

/**
 * Describes a postponement
 */
concept Postponement  extends FxDisruptionFallback {
o Integer
 maximumNumberOfDays optional
}

/**
 * A type for defining a premium.
 */
concept Premium  extends SimplePayment {
o PremiumTypeEnum premiumType optional
o Double
 percentageOfNotional optional
o Double
 discountFactor optional
}

/**
 * A type that describes the option premium as quoted.
 */
concept PremiumQuote  {
o Double
 value 
o PremiumQuoteBasisEnum quoteBasis 
}

/**
 * A structure that represents the prepayment structure associated within a facility.
 */
concept Prepayment  extends AbstractFacilityEvent {

}

/**
 * A type for defining PrePayment.
 */
concept PrePayment1  extends PaymentBase {
o Boolean
 prePayment 
}

/**
 * A loan servicing notification designed to communicate the specific business events associated with a pre-payment made by the borrower.
 */
concept PrepaymentNotification  extends AbstractContractNotification {

}

/**
 * A type for defining a time with respect to a geographic location, for example 11:00 Phoenix, USA. This type should be used where a wider range of locations than those available as business centres is required.
 */
concept PrevailingTime  {
o HourMinuteTime hourMinuteTime 
}

/**
 * A type describing the strike price.
 */
concept Price  {
o Double
 accruedInterestPrice optional
o Double
 accruedInterestPrice1 optional
o Double
 cleanNetPrice optional
}

/**
 * A structure describing the criteria for price materiality.
 */
concept PriceMateriality  extends FxDisruptionEvent {
o Double
 percentage 
}

/**
 * The units in which a price is quoted.
 */
concept PriceQuoteUnits  {
o String
 value optional
o String
 priceQuoteUnitsScheme optional
}

/**
 * A type defining the parameters used to get a price quote to replace the settlement rate option that is disrupted.
 */
concept PriceSourceDisruption  {

}

/**
 * The reason a trade's price does not reflect the current market price.
 */
concept PricingContext  {
o String
 value optional
o String
 pricingContextScheme optional
}

/**
 * A set of index values that identify a pricing data point. For example: (strike = 17%, expiration = 6M, term = 1Y.
 */
concept PricingDataPointCoordinate  {
o String
[] pricingStructureIndexModel optional
o Double
[] strike optional
o String
 id optional
}

/**
 * Reference to a Pricing Data Point Coordinate.
 */
concept PricingDataPointCoordinateReference  extends Reference {

}

/**
 * The substitution of a pricing input (e.g. curve) for another, used in generating prices and risks for valuation scenarios.
 */
concept PricingInputReplacement  {

}

/**
 * The type of pricing structure represented.
 */
concept PricingInputType  {
o String
 value optional
o String
 pricingInputTypeScheme optional
}

/**
 * For an asset (e.g. a reference/benchmark asset), the pricing structure used to price it. Used, for example, to specify that the rateIndex "USD-LIBOR-Telerate" with term = 6M is priced using the "USD-LIBOR-Close" curve.
 */
concept PricingMethod  {

}

/**
 * A scheme identifying the types of pricing model used to evaluate the price of an asset. Examples include Intrinsic, ClosedForm, MonteCarlo, BackwardInduction.
 */
concept PricingModel  {
o String
 value optional
o String
 pricingModelScheme optional
}

/**
 * A definition of the mathematical derivative with respect to a specific pricing parameter.
 */
concept PricingParameterDerivative  {
o String
 description optional
o String
 id optional
}

/**
 * Reference to a partial derivative.
 */
concept PricingParameterDerivativeReference  extends Reference {

}

/**
 * A definition of a shift with respect to a specific pricing parameter.
 */
concept PricingParameterShift  {
o Double
 shift 
o String
 id optional
}

/**
 * An abstract pricing structure base type. Used as a base for structures such as yield curves and volatility matrices.
 */
abstract concept PricingStructure  {
o String
 name optional
o String
 id optional
}

/**
 * A single valued point with a set of coordinates that define an arbitrary number of indentifying indexes (0 or more). Note that the collection of coordinates/coordinate references for a PricingStructurePoint must not define a given dimension (other than "generic") more than once. This is to avoid ambiguity.
 */
concept PricingStructurePoint  {
o String
[] pricingCoordinateOrReferenceModel optional
o String
 underlyingAssetGroup optional
o Double
 value optional
o QuotationSideEnum side optional
o DateTime
 time optional
o DateTime
 valuationDate optional
o DateTime
 expiryTime optional
o String
 id optional
}

/**
 * Reference to a pricing structure or any derived components (i.e. yield curve).
 */
concept PricingStructureReference  extends Reference {

}

/**
 * An abstract pricing structure valuation base type. Used as a base for values of pricing structures such as yield curves and volatility matrices. Derived from the "Valuation" type.
 */
concept PricingStructureValuation  extends Valuation {
o DateTime
 buildDateTime optional
}

/**
 * A type defining a principal exchange amount and adjusted exchange date. The type forms part of the cashflow representation of a swap stream.
 */
concept PrincipalExchange  {
o DateTime
 unadjustedPrincipalExchangeDate optional
o DateTime
 adjustedPrincipalExchangeDate optional
o Double
 principalExchangeAmount optional
o Double
 discountFactor optional
o String
 id optional
}

/**
 * Specifies the principal exchange amount, either by explicitly defining it, or by point to an amount defined somewhere else in the swap document.
 */
concept PrincipalExchangeAmount  {

}

/**
 * Specifies each of the characteristics of the principal exchange cashflows, in terms of paying/receiving counterparties, amounts and dates.
 */
concept PrincipalExchangeDescriptions  {

}

/**
 * A type describing the principal exchange features of the return swap.
 */
concept PrincipalExchangeFeatures  {

}

/**
 * A type defining which principal exchanges occur for the stream.
 */
concept PrincipalExchanges  {
o Boolean
 initialExchange 
o Boolean
 finalExchange 
o Boolean
 intermediateExchange 
o String
 id optional
}

/**
 * Provides a lexical location (i.e. a line number and character for bad XML) or an XPath location (i.e. place to identify the bad location for valid XML).
 */
concept ProblemLocation  {
o String
 value optional
o String
 locationType optional
}

/**
 * The base type which all FpML products extend.
 */
abstract concept Product  {
o String
 id optional
}

/**
 * Deprecated: A type defining a USI for the a subproduct component of a strategy.
 */
concept ProductComponentIdentifier  {

}

/**
 * 
 */
concept ProductId  {
o String
 value optional
o String
 productIdScheme optional
}

/**
 * Reference to a full FpML product.
 */
concept ProductReference  extends Reference {

}

/**
 * Summary information about the product that was traded. This is intended primarily for trade reporting by TRs.
 */
concept ProductSummary  {
o DateTime
 finalSettlementDate optional
o SettlementTypeEnum settlementType optional
o Double
 indexFactor optional
}

/**
 * 
 */
concept ProductType  {
o String
 value optional
o String
 productTypeScheme optional
}

/**
 * The proposed collateral allocation.
 */
concept ProposedCollateralAllocation  {
o String
[] group optional
}

/**
 * A structure that defines a restriction pertaining to which facilities must be traded on a pro-rata basis.
 */
concept ProRataFacilities  {

}

/**
 * 
 */
concept ProtectionTerms  {
o String
 id optional
}

/**
 * Reference to protectionTerms component.
 */
concept ProtectionTermsReference  extends Reference {

}

/**
 * 
 */
concept PubliclyAvailableInformation  {
o Boolean
 standardPublicSources optional
o String
[] publicSource optional
o Integer
 specifiedNumber optional
}

/**
 * A pointer tyle reference to a Quantity defined elsewhere.
 */
concept QuantityReference  extends Reference {

}

/**
 * 
 */
concept QuantityUnit  {
o String
 value optional
o String
 quantityUnitScheme optional
}

/**
 * Determines the currency rate that the seller of the equity amounts will apply at each valuation date for converting the respective amounts into a currency that is different from the currency denomination of the underlyer.
 */
concept Quanto  {

}

/**
 * Some kind of numerical measure about an asset, eg. its NPV, together with characteristics of that measure, together with optional sensitivities.
 */
concept Quotation  {
o Double
 value optional
o QuotationSideEnum side optional
o DateTime
 time optional
o DateTime
 valuationDate optional
o DateTime
 expiryTime optional
}

/**
 * A type representing a set of characteristics that describe a quotation.
 */
concept QuotationCharacteristics  {
o QuotationSideEnum side optional
o DateTime
 time optional
o DateTime
 valuationDate optional
o DateTime
 expiryTime optional
}

/**
 * A collection of quoted assets.
 */
concept QuotedAssetSet  {

}

/**
 * A type that describes the composition of a rate that has been quoted or is to be quoted. This includes the two currencies and the quotation relationship between the two currencies and is used as a building block throughout the FX specification.
 */
concept QuotedCurrencyPair  {
o QuoteBasisEnum quoteBasis 
}

/**
 * The type of the time of the quote.
 */
concept QuoteTiming  {
o String
 value optional
o String
 quoteTimingScheme optional
}

/**
 * The abstract base class for all types which define interest rate streams.
 */
abstract concept Rate  {
o String
 id optional
}

/**
 * 
 */
concept RateIndex  extends UnderlyingAsset {

}

/**
 * A structure that defines the limits associated with rates that can be applied to a loan instrument.
 */
concept RateLimits  {

}

/**
 * A type defining parameters associated with an individual observation or fixing. This type forms part of the cashflow representation of a stream.
 */
concept RateObservation  {
o DateTime
 resetDate optional
o DateTime
 adjustedFixingDate optional
o Double
 observedRate optional
o Double
 treatedRate optional
o Integer
 observationWeight 
o Double
 forecastRate optional
o Double
 treatedForecastRate optional
o String
 id optional
}

/**
 * Reference to any rate (floating, inflation) derived from the abstract Rate component.
 */
concept RateReference  {

}

/**
 * 
 */
concept RateSourcePage  {
o String
 value optional
o String
 rateSourcePageScheme optional
}

/**
 * A type defining a content model for describing the nature and possible location of a error within a previous message.
 */
concept Reason  {
o String
 description optional
}

/**
 * Defines a list of machine interpretable error codes.
 */
concept ReasonCode  {
o String
 value optional
o String
 reasonCodeScheme optional
}

/**
 * The abstract base class for all types which define intra-document pointers.
 */
abstract concept Reference  {

}

/**
 * Specifies the reference amount using a scheme.
 */
concept ReferenceAmount  {
o String
 value optional
o String
 referenceAmountScheme optional
}

/**
 * A type to describe an institution (party) identified by means of a coding scheme and an optional name.
 */
concept ReferenceBank  {
o String
 referenceBankName optional
}

/**
 * 
 */
concept ReferenceBankId  {
o String
 value optional
o String
 referenceBankIdScheme optional
}

/**
 * 
 */
concept ReferenceInformation  {
o Boolean
 noReferenceObligation optional
o Boolean
 unknownReferenceObligation optional
o Boolean
 allGuarantees optional
o Double
 referencePrice optional
o Boolean
 referencePolicy optional
o Boolean
 securedList optional
}

/**
 * 
 */
concept ReferenceLevel  {
o Double
 amount 
}

/**
 * CPD Reference Level: millimeters or inches of daily precipitation HDD Reference Level: degree-days CDD Reference Level: degree-days.
 */
concept ReferenceLevelUnit  {
o String
 value optional
o String
 weatherIndexReferenceLevelScheme optional
}

/**
 * 
 */
concept ReferenceObligation  {
o String
[] group optional
o Boolean
 standardReferenceObligation optional
}

/**
 * 
 */
concept ReferencePair  {
o Boolean
 noReferenceObligation optional
}

/**
 * This type contains all the reference pool items to define the reference entity and reference obligation(s) in the basket.
 */
concept ReferencePool  {

}

/**
 * This type contains all the constituent weight and reference information.
 */
concept ReferencePoolItem  {

}

/**
 * A complex type used to specify the option and convertible bond option strike when expressed in reference to a swap curve.
 */
concept ReferenceSwapCurve  {

}

/**
 * A code that describes the world region of a counterparty. For example, NorthAmerica, Europe, Asia.
 */
concept Region  {
o String
 value optional
o String
 regionScheme optional
}

/**
 * An ID assigned by a regulator to an organization registered with it. (NOTE: should this just by represented by an alternate party ID?)
 */
concept RegulatorId  {
o String
 value optional
o String
 regulatorIdScheme optional
}

/**
 * 
 */
concept RelatedBusinessUnit  {

}

/**
 * 
 */
concept RelatedParty  {

}

/**
 * 
 */
concept RelatedPerson  {

}

/**
 * A type defining a date (referred to as the derived date) as a relative offset from another date (referred to as the anchor date). If the anchor date is itself an adjustable date then the offset is assumed to be calculated from the adjusted anchor date. A number of different scenarios can be supported, namely; 1) the derived date may simply be a number of calendar periods (days, weeks, months or years) preceding or following the anchor date; 2) the unadjusted derived date may be a number of calendar periods (days, weeks, months or years) preceding or following the anchor date with the resulting unadjusted derived date subject to adjustment in accordance with a specified business day convention, i.e. the derived date must fall on a good business day; 3) the derived date may be a number of business days preceding or following the anchor date. Note that the businessDayConvention specifies any required adjustment to the unadjusted derived date. A negative or positive value in the periodMultiplier indicates whether the unadjusted derived precedes or follows the anchor date. The businessDayConvention should contain a value NONE if the day type element contains a value of Business (since specifying a negative or positive business days offset would already guarantee that the derived date would fall on a good business day in the specified business centers).
 */
concept RelativeDateOffset  extends Offset {
o BusinessDayConventionEnum businessDayConvention 
}

/**
 * A type describing a set of dates defined as relative to another set of dates.
 */
concept RelativeDates  extends RelativeDateOffset {
o Integer
 periodSkip optional
}

/**
 * A type describing a date when this date is defined in reference to another date through one or several date offsets.
 */
concept RelativeDateSequence  {

}

/**
 * A type which represents Pricing relative to a Benchmark.
 */
concept RelativePrice  {
o Double
 spread 
o String
[] bondEquityModel optional
}

/**
 * Reference to relevant underlying date.
 */
concept RelevantUnderlyingDateReference  extends Reference {
o String
 href 
}

/**
 * An event representing a principal repayment being made by the borrower.
 */
concept Repayment  extends AbstractLoanContractEvent {
o Double
 price optional
o Boolean
 refusalAllowed 
o Boolean
 borrowerMandatory optional
o Boolean
 scheduledRepayment optional
}

/**
 * A Repo, modeled as an FpML:Product. Note: this Repo model is a candidate model for further industry input.
 */
concept Repo  extends Product {
o RepoDurationEnum duration optional
o CallingPartyEnum callingParty optional
o String
[] bondEquityModel optional
}

/**
 * A transaction leg for a repo is equivalent to a single cash transaction. It is augmented here to carry some values that are of interest for the repo. Also note that the BuyerSeller model in this transaction must be the exact opposite of the one found in the near leg.
 */
concept RepoFarLeg  extends RepoLegBase {
o Double
 repoInterest optional
}

/**
 * A transaction leg for a repo is equivalent to a single cash transaction. It is augmented here to carry some values that are of interest for the repo. Also note that the BuyerSeller model in this transaction must be the exact opposite of the one found in the near leg.
 */
concept RepoLegBase  extends Leg {

}

/**
 * A transaction leg for a repo is equivalent to a single cash transaction.
 */
concept RepoNearLeg  extends RepoLegBase {

}

/**
 * A type that can be used to hold an identifier for a report instance.
 */
concept ReportId  {
o String
 value optional
o String
 reportIdScheme optional
}

/**
 * How a Boolean value is to be reported for this regulator. Typically "true" or "false", but for ESMA "X" is also allowed, to indicate not supplied.
 */
concept ReportingBoolean  {
o String
 value optional
o String
 reportingBooleanScheme optional
}

/**
 * A scheme identifying the type of currency that was used to report the value of an asset. For example, this could contain values like SettlementCurrency, QuoteCurrency, UnitCurrency, etc.
 */
concept ReportingCurrencyType  {
o String
 value optional
o String
 reportingCurrencyTypeScheme optional
}

/**
 * A type containing a code representing the level at which this is reported (e.g. Trade or Position)
 */
concept ReportingLevel  {
o String
 value optional
o String
 id optional
o String
 reportingLevelScheme optional
}

/**
 * A value that explains the reason or purpose that information is being reported. Examples might include RealTimePublic reporting, PrimaryEconomicTerms reporting, Confirmation reporting, or Snapshot reporting.
 */
concept ReportingPurpose  {
o String
 value optional
o String
 reportingPurposeScheme optional
}

/**
 * Provides information about how the information in this message is applicable to a regulatory reporting process.
 */
concept ReportingRegime  {
o Boolean
 mandatoryFacilityExecution optional
o Boolean
 mandatoryFacilityExecutionException optional
o Boolean
 exceedsClearingThreshold optional
o Boolean
 preEnactmentTrade optional
o Boolean
 transmissionOfOrder optional
}

/**
 * A type that provides identification for reporting regimes.
 */
concept ReportingRegimeIdentifier  {

}

/**
 * An identifier of an reporting regime or format used for regulatory reporting, for example DoddFrankAct, MiFID, HongKongOTCDRepository, etc.
 */
concept ReportingRegimeName  {
o String
 value optional
o String
 reportingRegimeNameScheme optional
}

/**
 * A type containing a code representing the role of a party in a report, e.g. the originator, the recipient, the counterparty, etc. This is used to clarify which participant's information is being reported.
 */
concept ReportingRole  {
o String
 value optional
o String
 id optional
o String
 reportingRoleScheme optional
}

/**
 * A type that allows the specific report and section to be identified.
 */
concept ReportSectionIdentification  {
o Integer
 sectionNumber optional
}

/**
 * A type for defining ISDA 2002 Equity Derivative Representations.
 */
concept Representations  {
o Boolean
 nonReliance 
o Boolean
 agreementsRegardingHedging 
o Boolean
 indexDisclaimer optional
o Boolean
 additionalAcknowledgements 
}

/**
 * 
 */
concept RepudiationMoratoriumEvent  extends CreditEvent {

}

/**
 * A message requesting that a trade be split among several accounts.
 */
concept RequestAllocation  extends CorrectableRequestMessage {

}

/**
 * A message withdrawing a request that a trade be split among several accounts.
 */
concept RequestAllocationRetracted  extends NonCorrectableRequestMessage {

}

/**
 * A message requesting that a trade be cleared by a clearing service.
 */
concept RequestClearing  extends CorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * 
 */
concept RequestClearingEligibility  extends CorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * A message withdrawing a request that a trade be cleared by a clearing service.
 */
concept RequestClearingRetracted  extends NonCorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * 
 */
concept RequestCollateralAllocation  extends CorrectableRequestMessage {
o String
 serviceName optional
}

/**
 * A message type defining the start of the confirmation process. The message may be used to request the confirmation of a new trade or any other event supported by FpML such as novation, terminations, amendments, etc.
 */
concept RequestConfirmation  extends CorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * A message requesting that the sender be authorized by the recipient to peform an action.
 */
concept RequestConsent  extends CorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * A message withdrawing a request that the sender be authorized by the recipient to peform an action.
 */
concept RequestConsentRetracted  extends NonCorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * 
 */
concept RequestedAction  {
o String
 value optional
o String
 requestedActionScheme optional
}

/**
 * A type that describes whether a trade is to be cleared.
 */
concept RequestedClearingAction  {
o String
 value optional
o String
 requestedClearingActionScheme optional
}

/**
 * A type that describes the type of collateral allocation action that is requested. The purpose is to allow FCMs to specify how the allocations are to be processed.
 */
concept RequestedCollateralAllocationAction  {
o String
 value optional
o String
 requestedCollateralAllocationActionScheme optional
}

/**
 * A type that describes what the requester would like to see done to implement the withdrawal, e.g. ExpungeRecords, RetainRecords.
 */
concept RequestedWithdrawalAction  {
o String
 value optional
o String
 requestedWithdrawalActionScheme optional
}

/**
 * A type defining the content model for a message allowing one party to query the status of one event (trade or post-trade event) previously sent to another party.
 */
concept RequestEventStatus  extends NonCorrectableRequestMessage {

}

/**
 * A message requesting that an order be executed.
 */
concept RequestExecution  extends CorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * A message withdrawing a request that an order be executed.
 */
concept RequestExecutionRetracted  extends NonCorrectableRequestMessage {
o String
 additionalEventGroup optional
}

/**
 * A type defining the basic content of a message that requests the receiver to perform some business operation determined by the message type and its content.
 */
abstract concept RequestMessage  extends Message {

}

/**
 * A type refining the generic message header content to make it specific to request messages.
 */
concept RequestMessageHeader  extends MessageHeader {
o DateTime
 creationTimestamp 
o DateTime
 expiryTimestamp optional
}

/**
 * A message to request that a message be retransmitted. The original message will typically be a component of a group of messages, such as a portfolio or a report in multiple parts.
 */
concept RequestRetransmission  extends NonCorrectableRequestMessage {

}

/**
 * Defines the structure for a message requesting information updates to a trade. The trade reference information should contain at least one trade identifier that the recipient is aware of.
 */
concept RequestTradeReferenceInformationUpdate  extends CorrectableRequestMessage {

}

/**
 * Defines the structure for a message retracting a request to updated information about trade.
 */
concept RequestTradeReferenceInformationUpdateRetracted  extends NonCorrectableRequestMessage {

}

/**
 * A date with a required identifier which can be referenced elsewhere.
 */
concept RequiredIdentifierDate  {
o DateTime
 value optional
o String
 id 
}

/**
 * A type defining the parameters used to generate the reset dates schedule and associated fixing dates. The reset dates are determined relative to the calculation periods schedules dates.
 */
concept ResetDates  {
o ResetRelativeToEnum resetRelativeTo optional
o String
 id 
}

/**
 * Reference to a reset dates component.
 */
concept ResetDatesReference  extends Reference {

}

/**
 * A type defining the reset frequency. In the case of a weekly reset, also specifies the day of the week that the reset occurs. If the reset frequency is greater than the calculation period frequency the this implies that more or more reset dates is established for each calculation period and some form of rate averaginhg is applicable. The specific averaging method of calculation is specified in FloatingRateCalculation. In case the reset frequency is of value T (term), the period is defined by the swap\swapStream\calculationPerioDates\effectiveDate and the swap\swapStream\calculationPerioDates\terminationDate.
 */
concept ResetFrequency  extends Frequency {
o WeeklyRollConventionEnum weeklyRollConvention optional
}

/**
 * Describes the resource that contains the media representation of a business event (i.e used for stating the Publicly Available Information). For example, can describe a file or a URL that represents the event. This type is an extended version of a type defined by RIXML (www.rixml.org).
 */
concept Resource  {
o Double
 sizeInBytes optional
o String
 name optional
o String
 comments optional
o String
 string optional
o String
 hexadecimalBinary optional
o String
 base64Binary optional
o String
 url optional
}

/**
 * The data type used for resource identifiers.
 */
concept ResourceId  {
o String
 value optional
o String
 resourceIdScheme optional
}

/**
 * The type that indicates the length of the resource.
 */
concept ResourceLength  {
o LengthUnitEnum lengthUnit 
o Double
 lengthValue 
}

/**
 * The data type used for describing the type or purpose of a resource, e.g. "Confirmation".
 */
concept ResourceType  {
o String
 value optional
o String
 resourceTypeScheme optional
}

/**
 * A type refining the generic message content model to make it specific to response messages.
 */
abstract concept ResponseMessage  extends Message {
o Integer
 sequenceNumber optional
}

/**
 * A type refining the generic message header to make it specific to response messages.
 */
concept ResponseMessageHeader  extends MessageHeader {
o DateTime
 creationTimestamp 
o DateTime
 expiryTimestamp optional
}

/**
 * 
 */
concept Restructuring  {
o Boolean
 applicable 
o Boolean
 multipleHolderObligation optional
o Boolean
 multipleCreditEventNotices optional
}

/**
 * 
 */
concept RestructuringEvent  extends CreditEvent {

}

/**
 * 
 */
concept RestructuringType  {
o String
 value optional
o String
 restructuringScheme optional
}

/**
 * A type describing the dividend return conditions applicable to the swap.
 */
concept Return  {
o ReturnTypeEnum returnType 
}

/**
 * A type describing the return leg of a return type swap.
 */
concept ReturnLeg  extends ReturnSwapLegUnderlyer {
o NotionalAdjustmentEnum notionalAdjustments 
}

/**
 * A type describing the initial and final valuation of the underlyer.
 */
concept ReturnLegValuation  {
o Boolean
 notionalReset optional
}

/**
 * 
 */
concept ReturnLegValuationPrice  extends Price {

}

/**
 * A type describing return swaps including return swaps (long form), total return swaps, and variance swaps.
 */
concept ReturnSwap  extends ReturnSwapBase {

}

/**
 * A type describing the additional payment(s) between the principal parties to the trade. This component extends some of the features of the additionalPayment component previously developed in FpML. Appropriate discussions will determine whether it would be appropriate to extend the shared component in order to meet the further requirements of equity swaps.
 */
concept ReturnSwapAdditionalPayment  extends PaymentBase {

}

/**
 * Specifies, in relation to each Payment Date, the amount to which the Payment Date relates. For Equity Swaps this element is equivalent to the Equity Amount term as defined in the ISDA 2002 Equity Derivatives Definitions.
 */
concept ReturnSwapAmount  extends LegAmount {
o Boolean
 cashSettlement 
o Boolean
 optionsExchangeDividends optional
o Boolean
 additionalDividends optional
o Boolean
 allDividends optional
}

/**
 * A type describing the components that are common for return type swaps, including short and long form return swaps representations.
 */
abstract concept ReturnSwapBase  extends Product {
o String
[] returnSwapLegGroup 
}

/**
 * A type describing the date from which each of the party may be allowed to terminate the trade.
 */
concept ReturnSwapEarlyTermination  {

}

/**
 * A base class for all return leg types with an underlyer.
 */
abstract concept ReturnSwapLegUnderlyer  extends DirectionalLeg {
o SettlementTypeEnum settlementType optional
}

/**
 * Specifies the notional of return type swap. When used in the equity leg, the definition will typically combine the actual amount (using the notional component defined by the FpML industry group) and the determination method. When used in the interest leg, the definition will typically point to the definition of the equity leg.
 */
concept ReturnSwapNotional  {
o String
 id optional
}

/**
 * A reference to the return swap notional amount.
 */
concept ReturnSwapNotionalAmountReference  extends Reference {

}

/**
 * A type describing the return payment dates of the swap.
 */
concept ReturnSwapPaymentDates  {
o String
 id optional
}

/**
 * A facility which allows a flexible line of credit which can be drawn and repaid multiple times over the life of the facility.
 */
concept Revolver  extends AbstractFacility {

}

/**
 * An event representing the prepayment structure associated within a facility.
 */
concept Rollover  extends AbstractFacilityEvent {
o String
[] group optional
}

/**
 * A loan servicing notification designed to communicate the combination of business events associated with a rollover transaction.
 */
concept RolloverNotification  extends AbstractContractNotification {

}

/**
 * A type defining a rounding direction and precision to be used in the rounding of a rate.
 */
concept Rounding  {
o RoundingDirectionEnum roundingDirection 
o Integer
 precision 
}

/**
 * A type that provides three alternative ways of identifying a party involved in the routing of a payment. The identification may use payment system identifiers only; actual name, address and other reference information; or a combination of both.
 */
concept Routing  {

}

/**
 * A type that models name, address and supplementary textual information for the purposes of identifying a party involved in the routing of a payment.
 */
concept RoutingExplicitDetails  {
o String
 routingName 
o String
 routingAccountNumber optional
o String
[] routingReferenceText optional
}

/**
 * 
 */
concept RoutingId  {
o String
 value optional
o String
 routingIdCodeScheme optional
}

/**
 * A type that provides for identifying a party involved in the routing of a payment by means of one or more standard identification codes. For example, both a SWIFT BIC code and a national bank identifier may be required.
 */
concept RoutingIds  {

}

/**
 * A type that provides a combination of payment system identification codes with physical postal address details, for the purposes of identifying a party involved in the routing of a payment.
 */
concept RoutingIdsAndExplicitDetails  {
o String
 routingName 
o String
 routingAccountNumber optional
o String
[] routingReferenceText optional
}

/**
 * A type defining a schedule of rates or amounts in terms of an initial value and then a series of step date and value pairs. On each step date the rate or amount changes to the new step value. The series of step date and value pairs are optional. If not specified, this implies that the initial value remains unchanged over time.
 */
concept Schedule  {
o Double
 initialValue 
o String
 id optional
}

/**
 * Reference to a schedule of rates or amounts.
 */
concept ScheduleReference  extends Reference {

}

/**
 * The sensitivity of a value to a defined change in input parameters.
 */
concept Sensitivity  {
o Double
 value optional
o String
 definitionRef optional
o String
 name optional
}

/**
 * A set of characteristics describing a sensitivity.
 */
concept SensitivityDefinition  {
o String
 name optional
o String
[] pricingCoordinateOrReferenceModel optional
o String
 id optional
}

/**
 * A collection of sensitivities. References a definition that explains the meaning/type of the sensitivities.
 */
concept SensitivitySet  {
o String
 name optional
o String
 id optional
}

/**
 * A sensitivity report definition, consisting of a collection of sensitivity definitions.
 */
concept SensitivitySetDefinition  {
o String
 name optional
o Double
 scale 
o String
 id optional
}

/**
 * A reference to a sensitivity set definition.
 */
concept SensitivitySetDefinitionReference  extends Reference {

}

/**
 * A Disruption Fallback with the sequence in which it should be applied relative to other Disruption Fallbacks.
 */
concept SequencedDisruptionFallback  {
o Integer
 sequence 
}

/**
 * A type defining the content model for a human-readable notification to the users of a service.
 */
concept ServiceAdvisory  {
o String
 description 
o DateTime
 effectiveFrom optional
o DateTime
 effectiveTo optional
}

/**
 * A type that can be used to describe the category of an advisory message, e.g.. Availability, Rules, Products, etc., etc..
 */
concept ServiceAdvisoryCategory  {
o String
 value optional
o String
 serviceAdvisoryCategoryScheme optional
}

/**
 * A type defining the content model for a message that allows a service to send a notification message to a user of the service.
 */
concept ServiceNotification  extends NotificationMessage {
o String
 serviceName optional
}

/**
 * A type that can be used to describe the processing phase of a service. For example, EndOfDay, Intraday.
 */
concept ServiceProcessingCycle  {
o String
 value optional
o String
 serviceProcessingCycleScheme optional
}

/**
 * A type that can be used to describe a stage or step in processing provided by a service, for example processing completed.
 */
concept ServiceProcessingEvent  {
o String
 value optional
o String
 serviceProcessingEventScheme optional
}

/**
 * A type defining the content model for report on the status of the processing by a service. In the future we may wish to provide some kind of scope or other qualification for the event, e.g. the currencies, products, or books to which it applies.
 */
concept ServiceProcessingStatus  {

}

/**
 * A type that can be used to describe what stage of processing a service is in. For example, Netting or Valuation.
 */
concept ServiceProcessingStep  {
o String
 value optional
o String
 serviceProcessingStep optional
}

/**
 * A type that can be used to describe the availability or other state of a service, e.g. Available, Unavaialble.
 */
concept ServiceStatus  {
o String
 value optional
o String
 serviceStatusScheme optional
}

/**
 * 
 */
concept SettledEntityMatrix  {
o DateTime
 publicationDate optional
}

/**
 * A set of currency-specific settlement instructions.
 */
concept SettlementDetails  {

}

/**
 * A type that represents the choice of methods for settling a potential currency payment resulting from a trade: by means of a standard settlement instruction, by netting it out with other payments, or with an explicit settlement instruction.
 */
concept SettlementInformation  {
o StandardSettlementStyleEnum standardSettlementStyle optional
}

/**
 * A type that models a complete instruction for settling a currency payment, including the settlement method to be used, the correspondent bank, any intermediary banks and the ultimate beneficary.
 */
concept SettlementInstruction  {

}

/**
 * A type defining a cash settlement details identifier and qualifying scheme
 */
concept SettlementInstructionId  {
o String
 value optional
o String
 settlementInstructionIdScheme 
}

/**
 * 
 */
concept SettlementMethod  {
o String
 value optional
o String
 settlementMethodScheme optional
}

/**
 * 
 */
abstract concept SettlementPeriod  {
o DateTime
 expiryDate 
o DateTime
 settlementDate 
o Double
 notionalAmount 
}

/**
 * 
 */
concept SettlementPeriodFixingDates  {
o DateTime
[] fixingDate optional
o DateTime
 startDate optional
o DateTime
 endDate optional
o Integer
 numberOfFixings optional
}

/**
 * 
 */
concept SettlementPeriodLeverage  {
o Double
 ratio optional
o Double
 notionalAmount optional
o Double
 counterCurrencyAmount optional
}

/**
 * Specifies a set of Settlement Periods associated with an Electricity Transaction for delivery on an Applicable Day or for a series of Applicable Days.
 */
concept SettlementPeriods  {
o SettlementPeriodDurationEnum duration 
o DayOfWeekExtEnum[] applicableDay optional
o DateTime
 timeDuration optional
o String
 id optional
}

/**
 * A type defining the Fixed Price applicable to a range or ranges of Settlement Periods.
 */
concept SettlementPeriodsFixedPrice  extends FixedPrice {

}

/**
 * Allows a set of Settlement Periods to reference one already defined elsewhere in the trade.
 */
concept SettlementPeriodsReference  extends Reference {

}

/**
 * The specification of the Settlement Periods in which the electricity will be delivered for a "shaped" trade i.e. where different Settlement Period ranges will apply to different periods of the trade.
 */
concept SettlementPeriodsSchedule  {

}

/**
 * A reference to the range of Settlement Periods that applies to a given period of a transaction.
 */
concept SettlementPeriodsStep  {

}

/**
 * Coding scheme that specifies the settlement price default election.
 */
concept SettlementPriceDefaultElection  {
o String
 value optional
o String
 settlementPriceDefaultElectionScheme optional
}

/**
 * The source from which the settlement price is to be obtained, e.g. a Reuters page, Prezzo di Riferimento, etc.
 */
concept SettlementPriceSource  {
o String
 value optional
o String
 settlementPriceSourceScheme optional
}

/**
 * A type defining the specification of settlement terms, occuring when the settlement currency is different to the notional currency of the trade.
 */
concept SettlementProvision  {

}

/**
 * A type defining the settlement rate options through a scheme reflecting the terms of the Annex A to the 1998 FX and Currency Option Definitions.
 */
concept SettlementRateOption  {
o String
 value optional
o String
 settlementRateOptionScheme optional
}

/**
 * A type describing the method for obtaining a settlement rate.
 */
concept SettlementRateSource  {

}

/**
 * 
 */
concept SettlementTerms  {
o String
 id optional
}

/**
 * Reference to a settlement terms derived construct (cashSettlementTerms or physicalSettlementTerms).
 */
concept SettlementTermsReference  extends Reference {

}

/**
 * TBA
 */
concept SharedAmericanExercise  extends Exercise {

}

/**
 * A short sale concluded by an investment firm on its own behalf or on behalf of a client, as described in Article 11.
 */
concept ShortSale  {
o String
 value optional
o String
 shortSaleScheme optional
}

/**
 * 
 */
concept SimpleCreditDefaultSwap  extends UnderlyingAsset {

}

/**
 * 
 */
concept SimpleFra  extends UnderlyingAsset {

}

/**
 * 
 */
concept SimpleIRSwap  extends UnderlyingAsset {

}

/**
 * A complex type to specified payments in a simpler fashion than the Payment type. This construct should be used from the version 4.3 onwards.
 */
concept SimplePayment  extends PaymentBase {

}

/**
 * A type describing the buyer and seller of an option.
 */
concept SinglePartyOption  {

}

/**
 * 
 */
concept SinglePayment  extends PaymentBase {
o DateTime
 adjustablePaymentDate 
o DateTime
 adjustedPaymentDate optional
}

/**
 * A type describing a single underlyer
 */
concept SingleUnderlyer  {
o String
 underlyingAssetGroup 
o Double
 openUnits optional
o Boolean
 depositoryReceipt optional
}

/**
 * 
 */
concept SingleValuationDate  {
o Integer
 businessDays optional
}

/**
 * 
 */
concept SpecifiedCurrency  {
o Boolean
 applicable 
}

/**
 * A type that supports the division of a gross settlement amount into a number of split settlements, each requiring its own settlement instruction.
 */
concept SplitSettlement  {

}

/**
 * Adds an optional spread type element to the Schedule to identify a long or short spread value.
 */
concept SpreadSchedule  extends Schedule {

}

/**
 * Provides a reference to a spread schedule.
 */
concept SpreadScheduleReference  extends Reference {

}

/**
 * Defines a Spread Type Scheme to identify a long or short spread value.
 */
concept SpreadScheduleType  {
o String
 value optional
o String
 spreadScheduleTypeScheme optional
}

/**
 * Simple product representation providing key information about a variety of different products. Standard products - for use in Transparency reporting to define a product that represents a standardized OTC derivative transaction whose economics do not need to be fully described using an FpML schema because they are implied by the product ID. In other views, standard products are present for convenience to support internal messaging and workflows that are cross-product. Standard products are not full trade representations as such they are not intended to be used for confirming trades.
 */
concept StandardProduct  extends Product {

}

/**
 * A type specifying the date from which the early termination clause can be exercised.
 */
concept StartingDate  {

}

/**
 * A type defining a step date and step value pair. This step definitions are used to define varying rate or amount schedules, e.g. a notional amortization or a step-up coupon schedule.
 */
concept Step  extends StepBase {
o Double
 stepValue 
}

/**
 * A type defining a step date and step value pair. This step definitions are used to define varying rate or amount schedules, e.g. a notional amortization or a step-up coupon schedule.
 */
abstract concept StepBase  {
o DateTime
 stepDate 
o String
 id optional
}

/**
 * A type defining a group of products making up a single trade.
 */
concept Strategy  extends Product {
o String
[] productGroup 
}

/**
 * Associates trade identifiers with components of a strategy.
 */
concept StrategyComponentIdentification  {

}

/**
 * A type for definining equity option simple strike or calendar spread strategy features.
 */
concept StrategyFeature  {

}

/**
 * A type that describes the set of street and building number information that identifies a postal address within a city.
 */
concept StreetAddress  {
o String
[] streetLine 
}

/**
 * A type describing a single cap or floor rate.
 */
concept Strike  {
o Double
 strikeRate 
o String
 id optional
}

/**
 * A pointer style reference to a basket in the document
 */
concept StrikePriceBasketReference  extends Reference {

}

/**
 * A pointer style reference to a product leg in the document
 */
concept StrikePriceUnderlyingReference  extends Reference {

}

/**
 * A type describing a schedule of cap or floor rates.
 */
concept StrikeSchedule  extends Schedule {

}

/**
 * A type for defining a strike spread feature.
 */
concept StrikeSpread  {
o Double
 upperStrikeNumberOfOptions 
}

/**
 * A type defining how a stub calculation period amount is calculated and the start and end date of the stub. A single floating rate tenor different to that used for the regular part of the calculation periods schedule may be specified, or two floating rate tenors many be specified. If two floating rate tenors are specified then Linear Interpolation (in accordance with the 2000 ISDA Definitions, Section 8.3 Interpolation) is assumed to apply. Alternatively, an actual known stub rate or stub amount may be specified.
 */
concept Stub  extends StubValue {

}

/**
 * A type describing the Stub Calculation Period.
 */
concept StubCalculationPeriod  {

}

/**
 * A type defining how the initial or final stub calculation period amounts is calculated. For example, the rate to be applied to the initial or final stub calculation period may be the linear interpolation of two different tenors for the floating rate index specified in the calculation period amount component, e.g. A two month stub period may used the linear interpolation of a one month and three month floating rate. The different rate tenors would be specified in this component. Note that a maximum of two rate tenors can be specified. If a stub period uses a single index tenor and this is the same as that specified in the calculation period amount component then the initial stub or final stub component, as the case may be, must not be included.
 */
concept StubCalculationPeriodAmount  {

}

/**
 * A type defining a floating rate.
 */
concept StubFloatingRate  extends Rate {
o RateTreatmentEnum rateTreatment optional
}

/**
 * A type defining how a stub calculation period amount is calculated. A single floating rate tenor different to that used for the regular part of the calculation periods schedule may be specified, or two floating rate tenors many be specified. If two floating rate tenors are specified then Linear Interpolation (in accordance with the 2000 ISDA Definitions, Section 8.3 Interpolation) is assumed to apply. Alternatively, an actual known stub rate or stub amount may be specified.
 */
concept StubValue  {
o Double
 stubRate optional
}

/**
 * Provides information about a regulator or other supervisory body that an organization is registered with.
 */
concept SupervisorRegistration  {

}

/**
 * An identifier of an organization that supervises or regulates trading activity, e.g. CFTC, SEC, FSA, ODRF, etc.
 */
concept SupervisoryBody  {
o String
 value optional
o String
 supervisoryBodyScheme optional
}

/**
 * A type defining swap streams and additional payments between the principal parties involved in the swap.
 */
concept Swap  extends Product {

}

/**
 * Additional terms to a swap contract.
 */
concept SwapAdditionalTerms  {

}

/**
 * A complex type to specify a valuation swap curve, which is used as part of the strike construct for the bond and convertible bond options.
 */
concept SwapCurveValuation  {
o Double
 spread 
o QuotationSideEnum side optional
}

/**
 * A type to define an option on a swap.
 */
concept Swaption  extends Product {
o String
 exerciseGroup 
o Boolean
 swaptionStraddle 
}

/**
 * A type describing the adjusted dates associated with swaption exercise and settlement.
 */
concept SwaptionAdjustedDates  {

}

/**
 * 
 */
concept SwaptionPhysicalSettlement  {
o Boolean
 clearedPhysicalSettlement 
}

/**
 * A structure that defines a task identifier based on a qualifying scheme.
 */
concept TaskId  {
o String
 value optional
o String
 taskIdScheme 
}

/**
 * A type defining a task identifier issued by the indicated party.
 */
concept TaskIdentifier  {
o String
 id optional
}

/**
 * A structure that defines a tax form registration.
 */
concept TaxForm  {
o DateTime
 taxFormExpiryDate optional
}

/**
 * A scheme that describes tax form types.
 */
concept TaxFormType  {
o String
 value optional
o String
 taxFormTypeScheme optional
}

/**
 * A structure that represents the withholding tax being applied to a particular cash flow.
 */
concept TaxWithholding  {
o Double
 taxRate optional
}

/**
 * A type that represents a telephonic contact.
 */
concept TelephoneNumber  {
o TelephoneTypeEnum type optional
o String
 number 
}

/**
 * A curve consisting only of values over a term. This is a restricted form of One Dimensional Structure.
 */
concept TermCurve  {
o Boolean
 extrapolationPermitted optional
}

/**
 * A class defining the content model for a term deposit product.
 */
concept TermDeposit  extends Product {
o DateTime
 startDate 
o DateTime
 maturityDate 
o FxTenorPeriodEnum tenorName optional
o Double
 fixedRate 
}

/**
 * 
 */
concept TermDepositFeatures  {

}

/**
 * A type that describes why a trade terminated.
 */
concept TerminatingEvent  {
o String
 value optional
o String
 terminatingEventScheme optional
}

/**
 * A facility which is fully funded (utilized) at deal closing.
 */
concept TermLoan  extends AbstractFacility {

}

/**
 * A value point that can have a time dimension. Allows bid, mid, ask, and spread values to be represented.
 */
concept TermPoint  {
o Double
 bid optional
o Double
 mid optional
o Double
 ask optional
o Double
 spreadValue optional
o String
 id optional
}

/**
 * The time dimensions of a term-structure. The user must supply either a tenor or a date or both.
 */
concept TimeDimension  {
o DateTime
 date optional
}

/**
 * The type or meaning of a timestamp.
 */
concept TimestampTypeScheme  {
o String
 value optional
o String
 timestampScheme optional
}

/**
 * A geophraphic location for the purposes of defining a prevailing time according to the tz database.
 */
concept TimezoneLocation  {
o String
 value optional
o String
 timezoneLocationScheme optional
}

/**
 * 
 */
concept TouchRateObservation  extends TriggerRateObservation {
o ExerciseSideEnum exerciseSide optional
o SettlementTypeEnum settlementType optional
o Boolean
 isExercisable optional
}

/**
 * A type defining an FpML trade.
 */
concept Trade  {
o String
 productGroup 
o String
 id optional
}

/**
 * A structure describing a negotiated amendment.
 */
concept TradeAmendmentContent  extends AbstractEvent {
o DateTime
 agreementDate 
o DateTime
 effectiveDate 
o NotionalChangeEnum notionalChange optional
}

/**
 * A scheme used to categorize positions.
 */
concept TradeCategory  {
o String
 value optional
o String
 categoryScheme optional
}

/**
 * Defines the structure for a message indicating that a trade is being changed due to a non-negotiated event.
 */
concept TradeChangeAdvice  extends CorrectableRequestMessage {

}

/**
 * Defines the structure for a message retracting a prior change advice.
 */
concept TradeChangeAdviceRetracted  extends NonCorrectableRequestMessage {

}

/**
 * A structure describing a trade change.
 */
concept TradeChangeBase  extends AbstractEvent {
o DateTime
 agreementDate 
o DateTime
 effectiveDate 
}

/**
 * A structure describing a non-negotiated trade resulting from a market event.
 */
concept TradeChangeContent  {
o DateTime
 effectiveDate 
o String
 changeEventGroup 
}

/**
 * A type used to record the details of a difference between two business objects/
 */
concept TradeDifference  {
o DifferenceTypeEnum differenceType 
o DifferenceSeverityEnum differenceSeverity 
o String
 element 
o String
 basePath optional
o String
 baseValue optional
o String
 otherPath optional
o String
 otherValue optional
o String
[] missingElement optional
o String
[] extraElement optional
o String
 message 
}

/**
 * A type defining trade related information which is not product specific.
 */
concept TradeHeader  {

}

/**
 * A trade reference identifier allocated by a party. FpML does not define the domain values associated with this element. Note that the domain values for this element are not strictly an enumerated list.
 */
concept TradeId  {
o String
 value optional
o String
 id optional
o String
 tradeIdScheme 
}

/**
 * A type defining a trade identifier issued by the indicated party.
 */
concept TradeIdentifier  {
o String
[] group optional
o String
 id optional
}

/**
 * A type defining a trade identifier with a reference to the party that this trade is associated with.
 */
concept TradeIdentifierExtended  extends TradeIdentifier {

}

/**
 * A structure describing a change to the size of a single leg or stream of a trade.
 */
concept TradeLegPriceChange  {
o Double
 priceChangeAmount 
o Double
 newPrice 
}

/**
 * A structure describing a change to the size of a single leg or stream of a trade.
 */
concept TradeLegSizeChange  {
o Double
 changeInNumberOfOptions optional
o Double
 outstandingNumberOfOptions optional
o Double
 changeInNumberOfUnits optional
o Double
 outstandingNumberOfUnits optional
}

/**
 * A structure describing a trade maturing.
 */
concept TradeMaturity  {
o DateTime
 date 
}

/**
 * A structure describing a change to the size of a trade.
 */
concept TradeNotionalChange  extends TradeChangeBase {
o Double
 changeInNumberOfOptions optional
o Double
 outstandingNumberOfOptions optional
o Double
 changeInNumberOfUnits optional
o Double
 outstandingNumberOfUnits optional
}

/**
 * A structure describing a novation.
 */
concept TradeNovationContent  extends AbstractEvent {
o DateTime
 novationDate 
o DateTime
 novationTradeDate optional
o Double
 novatedNumberOfOptions optional
o Double
 remainingNumberOfOptions optional
o Double
 novatedNumberOfUnits optional
o Double
 remainingNumberOfUnits optional
o Boolean
 fullFirstCalculationPeriod optional
}

/**
 * A bundle of trades collected together into a single unit for reporting.
 */
concept TradePackage  {
o String
[] tradeReferenceInformationModel optional
}

/**
 * Allows timing information about when a trade was processed and reported to be recorded.
 */
concept TradeProcessingTimestamps  {
o DateTime
 orderEntered optional
o DateTime
 orderSubmitted optional
o DateTime
 publiclyReported optional
o DateTime
 publicReportAccepted optional
o DateTime
 publicReportUpdated optional
o DateTime
 nonpubliclyReported optional
o DateTime
 nonpublicReportAccepted optional
o DateTime
 nonpublicReportUpdated optional
o DateTime
 submittedForConfirmation optional
o DateTime
 updatedForConfirmation optional
o DateTime
 confirmed optional
o DateTime
 submittedForClearing optional
o DateTime
 updatedForClearing optional
o DateTime
 cleared optional
o DateTime
 allocationsSubmitted optional
o DateTime
 allocationsUpdated optional
o DateTime
 allocationsCompleted optional
}

/**
 * 
 */
concept Trader  {
o String
 value optional
o String
 traderScheme optional
}

/**
 * Defines a type that allows trade identifiers and/or trade information to be represented for a trade.
 */
concept TradeReferenceInformation  {

}

/**
 * Summary information about the trade.
 */
concept TradeSummary  {
o Boolean
 isPackageTrade optional
o Boolean
 isPrimeBrokerTrade optional
}

/**
 * A generic trade timestamp
 */
concept TradeTimestamp  {
o DateTime
 value 
}

/**
 * The underlying asset/index/reference price etc. whose rate/price may be observed to compute the value of the cashflow. It can be an index, fixed rate, listed security, quoted currency pair, or a reference entity (for credit derivatives). For use with Generic products in Transparency reporting. Generic products define a product that represents an OTC derivative transaction whose economics are not fully described using an FpML schema. In other views, generic products are present for convenience to support internal messaging and workflows that are cross-product. Generic products are not full trade representations as such they are not intended to be used for confirming trades.
 */
concept TradeUnderlyer2  {
o String
 underlyingAssetGroup optional
o AveragingMethodEnum averagingMethod optional
o String
 id optional
}

/**
 * A structure that contains a business event.
 */
concept TradeWrapper  {

}

/**
 * A structure that identifies settlement instructions to override default settlement instructions, for a particular trade/allocation.
 */
concept TradingInstructionOverride  {

}

/**
 * Indication as to whether the transaction was executed under a pre-trade waiver in accordance with Articles 4 and 9 of Regulation (EU) 600/2014.
 */
concept TradingWaiver  {
o String
 value optional
o String
 tradingWaiverScheme optional
}

/**
 * This type represents a CDS Tranche.
 */
concept Tranche  {
o Double
 attachmentPoint 
o Double
 exhaustionPoint 
o Boolean
 incurredRecoveryApplicable optional
}

/**
 * A characteristic of a transaction used in declaring an end-user exception.
 */
concept TransactionCharacteristic  {
o String
 value optional
o String
 transactionCharacteristicScheme optional
}

/**
 * A structure that represents the rules for payment of transfer fees to the agent.
 */
concept TransferFeeDefinition  {

}

/**
 * A list of rules associated with the way in which transfer fees should be paid.
 */
concept TransferFeeRule  {
o String
 value optional
o String
 transferFeeRuleScheme optional
}

/**
 * Trigger point at which feature is effective.
 */
concept Trigger  {
o Double
 level optional
o Double
 levelPercentage optional
o TriggerTypeEnum triggerType optional
o TriggerTimeTypeEnum triggerTimeType optional
}

/**
 * Observation point for trigger.
 */
concept TriggerEvent  {

}

/**
 * 
 */
concept TriggerRateObservation  {
o DateTime
 observationDate 
o Double
 triggerRate optional
o Double
 observedRate optional
o TriggerConditionEnum triggerCondition 
}

/**
 * The tri-party terms.
 */
concept TriParty  {

}

/**
 * A type describing the whole set of possible underlyers: single underlyers or multiple underlyers, each of these having either security or index components.
 */
concept Underlyer  {

}

/**
 * A type describing interest payments associated with and underlyer, such as financing
 */
concept UnderlyerInterestLeg  extends DirectionalLeg {
o Double
 fixedRate optional
}

/**
 * Defines stock loan information where this is required per underlyer. You must not duplicate infromation within dividend conditions at transaction level
 */
concept UnderlyerLoanRate  {
o Boolean
 lossOfStockBorrow optional
o Double
 maximumStockLoanRate optional
o Boolean
 increasedCostOfStockBorrow optional
o Double
 initialStockLoanRate optional
}

/**
 * Reference to an underlyer
 */
concept UnderlyerReference  extends Reference {
o String
 href optional
}

/**
 * Abstract base class for all underlying assets.
 */
abstract concept UnderlyingAsset  extends IdentifiedAsset {

}

/**
 * 
 */
concept UnderlyingAssetTranche  {
o String
 value optional
o String
 loanTrancheScheme optional
}

/**
 * A type used to record information about a unit, subdivision, desk, or other similar business entity.
 */
concept Unit  {
o String
 value optional
o String
 unitScheme optional
}

/**
 * A quantity and associated unit.
 */
concept UnitQuantity  {
o Double
 quantity 
o String
 id optional
}

/**
 * A type defining a quantity and unit with a reference.
 */
concept UnitQuantityRef  extends UnitQuantity {

}

/**
 * A type holding a structure that is unvalidated
 */
concept UnprocessedElementWrapper  {
o String
 any 
}

/**
 * A structure that represents a fee, also known as Participation Fee, Arrangement Fee etc. This fee represents compensation to the members of the lending syndicate (and sometimes to institutional investors as well) in return for their commitment of capital.
 */
concept UpfrontFeePayment  extends NonRecurringFeePayment {

}

/**
 * A structure which defines the total utilization and available credit levels for a given facility.
 */
concept UtilizationAmounts  {
o Double
 fundedAmount 
o Double
 unfundedAmount 
}

/**
 * A schedule that incorporates all sub-periods of an interest accrual calculation.
 */
concept UtilizationPeriod  {
o DateTime
 startDate 
o DateTime
 endDate 
o Double
 numberOfDays 
}

/**
 * A reference identifying a rule within a validation scheme.
 */
concept Validation  {
o String
 value optional
o String
 validationScheme optional
}

/**
 * A valuation of an valuable object - an asset or a pricing input. This is an abstract type, used as a base for values of pricing structures such as yield curves as well as asset values.
 */
concept Valuation  {
o String
 id optional
}

/**
 * 
 */
concept ValuationDate  {

}

/**
 * Reference to a Valuation dates node.
 */
concept ValuationDatesReference  extends Reference {

}

/**
 * A type defining a content model that includes valuation (pricing and risk) data without expressing any processing intention.
 */
concept ValuationDocument  extends DataDocument {

}

/**
 * Specifies how long to wait to get a quote from a settlement rate option upon a price source disruption.
 */
concept ValuationPostponement  {
o Integer
 maximumDaysOfPostponement 
}

/**
 * Reference to a Valuation or any derived structure such as PricingStructureValuation.
 */
concept ValuationReference  extends Reference {

}

/**
 * A set of rules for generating a valuation.
 */
concept ValuationScenario  {
o String
 name optional
o String
 id optional
}

/**
 * Reference to a valuation scenario.
 */
concept ValuationScenarioReference  extends Reference {

}

/**
 * A set of valuation inputs and results. This structure can be used for requesting valuations, or for reporting them. In general, the request fills in fewer elements.
 */
concept ValuationSet  {
o String
 name optional
o String
 id optional
}

/**
 * The amount of detail provided in the valuation set, e.g. is market environment data provided, are risk definitions provided, etc.
 */
concept ValuationSetDetail  {
o String
 value optional
o String
 valuationSetDetailScheme optional
}

/**
 * A type describing the variance amount of a variance swap.
 */
concept Variance  extends CalculationFromObservation {
o Double
 volatilityStrikePrice optional
o Double
 varianceStrikePrice optional
o Boolean
 varianceCap optional
o Double
 unadjustedVarianceCap optional
o Double
 vegaNotionalAmount optional
}

/**
 * Calculation of a Variance Amount.
 */
concept VarianceAmount  extends CalculatedAmount {

}

/**
 * A type describing return which is driven by a Variance Calculation.
 */
concept VarianceLeg  extends DirectionalLegUnderlyerValuation {

}

/**
 * 
 */
concept VarianceOptionTransactionSupplement  extends OptionBase {
o Boolean
 exchangeLookAlike optional
o MethodOfAdjustmentEnum methodOfAdjustment optional
o Double
 optionEntitlement optional
o Double
 multiplier optional
}

/**
 * A Variance Swap.
 */
concept VarianceSwap  extends NettedSwapBase {

}

/**
 * A Variance Swap Transaction Supplement.
 */
concept VarianceSwapTransactionSupplement  extends Product {
o Boolean
 multipleExchangeIndexAnnexFallback optional
o Boolean
 componentSecurityIndexAnnexFallback optional
}

/**
 * 
 */
concept Velocity  {
o Integer
 periodMultiplier 
o PeriodTimeEnum period 
}

/**
 * A type used to represent the type of mechanism that can be used to verify a trade.
 */
concept VerificationMethod  {
o String
 value optional
o String
 verificationMethodScheme optional
}

/**
 * The verification status of the position as reported by the sender (Verified, Disputed).
 */
concept VerificationStatus  {
o String
 value optional
o String
 verificationStatusScheme optional
}

/**
 * 
 */
concept VerificationStatusNotification  extends NonCorrectableRequestMessage {

}

/**
 * Contract Id with Version Support
 */
concept VersionedContractId  {
o Integer
 version 
}

/**
 * Trade Id with Version Support
 */
concept VersionedTradeId  {
o Integer
 version 
}

/**
 * Under 2002 Definitions, When entering into the Transaction, the parties should specify whether, for purposes of determining the initial Share price, they are agreeing to (a) a specific initial price (in which case, the initialLevel element should be populated with the price) or (b) use the price of a Share at the close of the regular trading session on the Trade Date (in which case the closingLevel element should be populated as true) or (c) in the case of a forward starting transaction only, use the Official Settlement Price of the Expiring Contract on the Observation Start Date (in which case expiring Level element should be populated as true). Under 2011 definitions, When entering into the Transaction, the parties should specify whether, for purposes of determining the OPSD Pricing Election, they are agreeing to (a) an agreed price (in which case, the initialLevel element should be populated with the price) or (b) use the Index Close Pricing (Official), (in which case closingLevel element should be populated as true) or (c) use OSP Pricing (in which case the initialLevelSource element should be populated with “OSPPrice”).
 */
concept Volatility  extends CalculationFromObservation {
o Double
 volatilityStrikePrice 
o Double
 vegaNotionalAmount 
}

/**
 * 
 */
concept VolatilityAmount  extends CalculatedAmount {

}

/**
 * 
 */
concept VolatilityCap  {
o Boolean
 applicable 
o Double
 totalVolatilityCap optional
o Double
 volatilityCapFactor optional
o Double
 totalVolatilityCap1 optional
}

/**
 * 
 */
concept VolatilityLeg  extends DirectionalLegUnderlyerValuation {

}

/**
 * A matrix of volatilities with dimension 0-3.
 */
concept VolatilityMatrix  extends PricingStructureValuation {

}

/**
 * A representation of volatilities of an asset. This is a generic structure whose values can be supplied in a specific volatility matrix.
 */
concept VolatilityRepresentation  extends PricingStructure {

}

/**
 * A Volatility Swap.
 */
concept VolatilitySwap  extends NettedSwapBase {

}

/**
 * 
 */
concept VolatilitySwapTransactionSupplement  extends Product {
o Boolean
 multipleExchangeIndexAnnexFallback optional
o Boolean
 componentSecurityIndexAnnexFallback optional
}

/**
 * A fee structure that represents a payment made by the borrower to the syndicate lenders for processing and accepting a waiver request. The request is sent by the borrower to obtain approval from the syndicate lenders formally requesting waivers around particular terms of the credit agreement.
 */
concept WaiverFeePayment  extends NonRecurringFeePayment {

}

/**
 * The schedule of Calculation Period First Days and Lasts Days. If there is only one First Day - Last Day pair then the First is equal to the Effective Date and the Last Day is equal to the Termination Date.
 */
concept WeatherCalculationPeriod  {

}

/**
 * The schedule of Calculation Period First Days and Lasts Days. If there is only one First Day - Last Day pair then the First is equal to the Effective Date and the Last Day is equal to the Termination Date.
 */
concept WeatherCalculationPeriods  {
o String
 id optional
}

/**
 * A type defining the Weather Index Level or Weather Index Strike Level.
 */
concept WeatherIndex  {
o Double
 quantity 
o String
 id optional
}

/**
 * 
 */
concept WeatherIndexData  {
o Boolean
 finalEditedData 
o Boolean
 alternativeDataProvider 
o Boolean
 synopticDataFallback 
o Boolean
 adjustmentToFallbackWeatherStation optional
}

/**
 * A weather leg of a Commodity Swap defines Weather Index Swap transactions. Weather Index Swap transactions are OTC derivative transactions which settle financially based on an index calculated from observations of temperature, precipitation and other weather-related measurements at weather stations throughout the world. Sub-Annex C of the 2005 ISDA Commodity Definitions provides definitions and terms for a number of types of weather indices. These indices include: HDD (heating degree days), CDD (cooling degree days), CPD (critical precipitation days). Weather Index Swap transactions result in a cash flow to one of the two counterparties each Calculation Period depending on the relationship between the Settlement Level and the Weather Index Level. A Weather Index swap transaction always consists of a commodity swap element as a parent to two weatherLeg elements.
 */
concept WeatherLeg  extends FinancialSwapLeg {

}

/**
 * A type to capture details of the calculation of the Payment Amount on a Weather Index Transaction.
 */
concept WeatherLegCalculation  {
o WeatherSettlementLevelEnum settlementLevel 
o Boolean
 referenceLevelEqualsZero 
o Boolean
 dataCorrection 
}

/**
 * Weather Station.
 */
concept WeatherStation  {

}

/**
 * A code identifying a Weather Station Airport (based on the the IATA standard).
 */
concept WeatherStationAirport  {
o String
 value optional
o String
 id optional
o String
 weatherStationAirportScheme optional
}

/**
 * A code identifying a Weather Station WBAN.
 */
concept WeatherStationWBAN  {
o String
 value optional
o String
 id optional
o String
 weatherStationWBANScheme optional
}

/**
 * A code identifying a Weather Index WMO.
 */
concept WeatherStationWMO  {
o String
 value optional
o String
 id optional
o String
 weatherStationWMOScheme optional
}

/**
 * A single weighted averaging observation.
 */
concept WeightedAveragingObservation  {
o DateTime
 dateTime optional
o Integer
 observationNumber optional
o Double
 weight 
}

/**
 * A partial derivative multiplied by a weighting factor.
 */
concept WeightedPartialDerivative  {
o Double
 weight 
}

/**
 * A structure describing the removal of a trade from a service, such as a reporting service.
 */
concept Withdrawal  {
o DateTime
 effectiveDate 
}

/**
 * A type defining party-specific additional information that may be recorded against a trade, for withdrawal purposes.
 */
concept WithdrawalPartyTradeInformation  {

}

/**
 * A type that describes why a trade was withdrawn.
 */
concept WithdrawalReason  {
o String
 value optional
o String
 withdrawalReasonScheme optional
}

/**
 * A list of reasons for withholding tax being applied to a cash flow.
 */
concept WithholdingTaxReason  {
o String
 value optional
o String
 withholdingTaxReasonScheme optional
}

/**
 * A generic yield curve object, which can be valued in a variety of ways.
 */
concept YieldCurve  extends PricingStructure {
o String
 algorithm optional
}

/**
 * A type defining the parameters required for each of the ISDA defined yield curve methods for cash settlement.
 */
concept YieldCurveMethod  {
o QuotationRateTypeEnum quotationRateType 
}

/**
 * The values of a yield curve, including possibly inputs and outputs (dfs, forwards, zero rates).
 */
concept YieldCurveValuation  extends PricingStructureValuation {

}

/**
 * A curve used to model a set of zero-coupon interest rates.
 */
concept ZeroRateCurve  {

}